Commit af34d179e44d8abcde6a9e2428bfb9045199dfdc
1 parent
5136e8ea
feature(*): 模板文件上传
模板文件上传
Showing
20 changed files
with
387 additions
and
182 deletions
doc/2023-05-18_update.sql
... | ... | @@ -12,6 +12,13 @@ ADD COLUMN `role_names` varchar(2048) NULL COMMENT '授权角色名称' AFTER `r |
12 | 12 | ALTER TABLE `fw_morax`.`eval_indicator_value` |
13 | 13 | MODIFY COLUMN `shop_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '门店名称' AFTER `shop_id`; |
14 | 14 | |
15 | +ALTER TABLE `fw_morax`.`eval_indicator_value` | |
16 | + ADD COLUMN `indicator_name` varchar(255) NULL COMMENT '指标名称' AFTER `indicator_code`; | |
17 | + | |
18 | +-- eval_indicator_import_menu | |
19 | +-- eval_indicator_import_detail_score | |
20 | +-- eval_indicator_import_key_value | |
21 | + | |
15 | 22 | -- 2024年4月3日 |
16 | 23 | ALTER TABLE `fw_morax`.`eval_group_user` |
17 | 24 | ADD COLUMN `staff_status` tinyint(8) NULL COMMENT '当前员工状态:1->试用,2->正式,8->待离职,9->离职' AFTER `data_date`; | ... | ... |
fw-morax-common/src/main/java/cn/fw/morax/common/config/EvalIndicatorCodeVal.java deleted
1 | -package cn.fw.morax.common.config; | |
2 | - | |
3 | -import lombok.Data; | |
4 | -import org.springframework.boot.context.properties.ConfigurationProperties; | |
5 | -import org.springframework.stereotype.Component; | |
6 | - | |
7 | -@Data | |
8 | -@ConfigurationProperties(prefix = "eval-indicator-code") | |
9 | -@Component | |
10 | -public class EvalIndicatorCodeVal { | |
11 | - | |
12 | - /** | |
13 | - * 展厅美化达标 | |
14 | - */ | |
15 | - private String showroomScore; | |
16 | - | |
17 | -} |
fw-morax-dao/src/main/java/cn/fw/morax/dao/TemplateFileDao.java
0 → 100644
1 | +package cn.fw.morax.dao; | |
2 | + | |
3 | +import cn.fw.morax.domain.db.TemplateFile; | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | +import org.springframework.stereotype.Repository; | |
6 | + | |
7 | +/** | |
8 | + * 绩效校验离职记录 | |
9 | + * | |
10 | + * @author : kurisu | |
11 | + * @version : 2.0 | |
12 | + * @className : UserResignExamineDao | |
13 | + * @description : 绩效校验离职记录 | |
14 | + * @date : 2022-12-29 16:58 | |
15 | + */ | |
16 | +@Repository | |
17 | +public interface TemplateFileDao extends BaseMapper<TemplateFile> { | |
18 | +} | ... | ... |
fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalIndicatorImportDetailScoreDao.java
fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalIndicatorImportKeyValueDao.java
fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalIndicatorImportMenuDao.java
0 → 100644
1 | +package cn.fw.morax.dao.eval; | |
2 | + | |
3 | + | |
4 | +import cn.fw.morax.dao.orm.LocalMapper; | |
5 | +import cn.fw.morax.domain.db.eval.EvalIndicatorImportMenu; | |
6 | + | |
7 | +/** | |
8 | + * <p> | |
9 | + * 考评指标导入记录 Mapper 接口 | |
10 | + * </p> | |
11 | + * | |
12 | + * @author jiangchao | |
13 | + * @since 2023-01-30 | |
14 | + */ | |
15 | +public interface EvalIndicatorImportMenuDao extends LocalMapper<EvalIndicatorImportMenu> { | |
16 | + | |
17 | +} | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/TemplateFile.java
0 → 100644
1 | +package cn.fw.morax.domain.db; | |
2 | + | |
3 | +import cn.fw.common.data.entity.BaseAuditableTimeEntity; | |
4 | +import cn.fw.morax.domain.enums.TemplateFileTypeEnum; | |
5 | +import com.baomidou.mybatisplus.annotation.TableLogic; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import lombok.Data; | |
8 | +import lombok.EqualsAndHashCode; | |
9 | +import lombok.experimental.Accessors; | |
10 | + | |
11 | +import java.io.Serializable; | |
12 | +import java.time.LocalDateTime; | |
13 | + | |
14 | +/** | |
15 | + * <p> | |
16 | + * 自定义指标导入菜单 | |
17 | + * </p> | |
18 | + * | |
19 | + * @author jiangchao | |
20 | + * @since 2024-04-16 | |
21 | + */ | |
22 | +@Data | |
23 | +@EqualsAndHashCode(callSuper = false) | |
24 | +@Accessors(chain = true) | |
25 | +@TableName(autoResultMap = true) | |
26 | +public class TemplateFile extends BaseAuditableTimeEntity<TemplateFile, Long> { | |
27 | + | |
28 | + private static final long serialVersionUID = 1L; | |
29 | + | |
30 | + /** | |
31 | + * 模板类型 | |
32 | + */ | |
33 | + private TemplateFileTypeEnum type; | |
34 | + | |
35 | + /** | |
36 | + * tag | |
37 | + */ | |
38 | + private String tag; | |
39 | + | |
40 | + /** | |
41 | + * 文件地址 | |
42 | + */ | |
43 | + private String fid; | |
44 | + | |
45 | + /** | |
46 | + * 集团id | |
47 | + */ | |
48 | + private Long groupId; | |
49 | + | |
50 | + /** | |
51 | + * 逻辑删除 | |
52 | + */ | |
53 | + @TableLogic | |
54 | + private Boolean yn; | |
55 | + | |
56 | + | |
57 | +} | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalIndicatorImportMenu.java
0 → 100644
1 | +package cn.fw.morax.domain.db.eval; | |
2 | + | |
3 | +import cn.fw.common.data.entity.BaseAuditableTimeEntity; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableLogic; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import lombok.Data; | |
8 | +import lombok.EqualsAndHashCode; | |
9 | +import lombok.experimental.Accessors; | |
10 | + | |
11 | +import java.io.Serializable; | |
12 | +import java.time.LocalDateTime; | |
13 | + | |
14 | +/** | |
15 | + * <p> | |
16 | + * 自定义指标导入菜单 | |
17 | + * </p> | |
18 | + * | |
19 | + * @author jiangchao | |
20 | + * @since 2024-04-16 | |
21 | + */ | |
22 | +@Data | |
23 | +@EqualsAndHashCode(callSuper = false) | |
24 | +@Accessors(chain = true) | |
25 | +@TableName(autoResultMap = true) | |
26 | +public class EvalIndicatorImportMenu extends BaseAuditableTimeEntity<EvalIndicatorImportMenu, Long> { | |
27 | + | |
28 | + private static final long serialVersionUID = 1L; | |
29 | + | |
30 | + /** | |
31 | + * id | |
32 | + */ | |
33 | + private Long id; | |
34 | + | |
35 | + /** | |
36 | + * 指标编码 | |
37 | + */ | |
38 | + private String indicatorCode; | |
39 | + | |
40 | + /** | |
41 | + * 指标名称 | |
42 | + */ | |
43 | + private String indicatorName; | |
44 | + | |
45 | + /** | |
46 | + * 菜单名称 | |
47 | + */ | |
48 | + private String menuName; | |
49 | + | |
50 | + /** | |
51 | + * 集团id | |
52 | + */ | |
53 | + private Long groupId; | |
54 | + | |
55 | + /** | |
56 | + * 逻辑删除 | |
57 | + */ | |
58 | + @TableLogic | |
59 | + private Boolean yn; | |
60 | + | |
61 | + | |
62 | +} | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalIndicatorValue.java
... | ... | @@ -61,10 +61,10 @@ public class EvalIndicatorValue extends BaseAuditableTimeEntity<EvalIndicatorVal |
61 | 61 | */ |
62 | 62 | private String indicatorCode; |
63 | 63 | |
64 | -// /** | |
65 | -// * 指标库名称 | |
66 | -// */ | |
67 | -// private String indicatorName; | |
64 | + /** | |
65 | + * 指标库名称 | |
66 | + */ | |
67 | + private String indicatorName; | |
68 | 68 | |
69 | 69 | /** |
70 | 70 | * 指标业务值 | ... | ... |
fw-morax-domain/src/main/java/cn/fw/morax/domain/enums/TemplateFileTypeEnum.java
0 → 100644
1 | +package cn.fw.morax.domain.enums; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.core.enums.IEnum; | |
4 | +import com.fasterxml.jackson.annotation.JsonCreator; | |
5 | +import com.fasterxml.jackson.annotation.JsonValue; | |
6 | +import lombok.Getter; | |
7 | + | |
8 | +/** | |
9 | + * 模板类型 | |
10 | + * | |
11 | + * @author : kurisu | |
12 | + * @version : 1.0 | |
13 | + * @className : TemplateFileTypeEnum | |
14 | + * @description : 模板类型 | |
15 | + * @date : 2022-05-06 18:24 | |
16 | + */ | |
17 | +public enum TemplateFileTypeEnum implements IEnum<Integer> { | |
18 | + /** | |
19 | + * 模板类型;1:考评指标库 | |
20 | + */ | |
21 | + EVAL_INDICATOR(1, "考评指标库"), | |
22 | + ; | |
23 | + | |
24 | + /** | |
25 | + * 值 | |
26 | + */ | |
27 | + private final Integer value; | |
28 | + /** | |
29 | + * 名称 | |
30 | + */ | |
31 | + @Getter | |
32 | + private final String name; | |
33 | + | |
34 | + TemplateFileTypeEnum(final Integer value, final String name) { | |
35 | + this.value = value; | |
36 | + this.name = name; | |
37 | + } | |
38 | + | |
39 | + /** | |
40 | + * 根据枚举值获取枚举对象 | |
41 | + */ | |
42 | + @JsonCreator | |
43 | + public static TemplateFileTypeEnum ofValue(final Integer value) { | |
44 | + for (final TemplateFileTypeEnum _enum : TemplateFileTypeEnum.values()) { | |
45 | + if (_enum.value.equals(value)) { | |
46 | + return _enum; | |
47 | + } | |
48 | + } | |
49 | + return null; | |
50 | + } | |
51 | + | |
52 | + /** | |
53 | + * 获取描述 | |
54 | + * | |
55 | + * @return 值 | |
56 | + */ | |
57 | + @JsonCreator | |
58 | + public static String getNameByVale(final Integer value) { | |
59 | + for (final TemplateFileTypeEnum _enum : TemplateFileTypeEnum.values()) { | |
60 | + if (_enum.value.equals(value)) { | |
61 | + return _enum.getName(); | |
62 | + } | |
63 | + } | |
64 | + return ""; | |
65 | + } | |
66 | + | |
67 | + /** | |
68 | + * 获取值 | |
69 | + * | |
70 | + * @return 值 | |
71 | + */ | |
72 | + @JsonValue | |
73 | + @Override | |
74 | + public Integer getValue() { | |
75 | + return value; | |
76 | + } | |
77 | +} | ... | ... |
fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalIndicatorImportController.java
... | ... | @@ -6,11 +6,7 @@ import cn.fw.common.web.annotation.ControllerMethod; |
6 | 6 | import cn.fw.common.web.auth.LoginAuthBean; |
7 | 7 | import cn.fw.common.web.auth.annotation.CurrentUser; |
8 | 8 | import cn.fw.data.base.domain.common.Message; |
9 | -import cn.fw.morax.common.config.EvalIndicatorCodeVal; | |
10 | 9 | import cn.fw.morax.common.utils.PublicUtil; |
11 | -import cn.fw.morax.domain.db.eval.EvalIndicator; | |
12 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportDetailQueryDTO; | |
13 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportQueryDTO; | |
14 | 10 | import cn.fw.morax.domain.dto.query.EvalIndicatorImportScoreQueryDTO; |
15 | 11 | import cn.fw.morax.domain.dto.query.EvalIndicatorImportSituationQueryDTO; |
16 | 12 | import cn.fw.morax.domain.vo.eval.*; |
... | ... | @@ -21,7 +17,6 @@ import cn.fw.morax.service.biz.eval.EvalIndicatorReportService; |
21 | 17 | import cn.fw.morax.service.biz.eval.EvalIndicatorValueBizService; |
22 | 18 | import cn.fw.security.auth.client.annotation.Authorization; |
23 | 19 | import cn.fw.security.auth.client.annotation.IgnoreAuth; |
24 | -import cn.fw.security.auth.client.annotation.IgnoreUserToken; | |
25 | 20 | import cn.fw.security.auth.client.enums.AuthType; |
26 | 21 | import lombok.RequiredArgsConstructor; |
27 | 22 | import lombok.extern.slf4j.Slf4j; |
... | ... | @@ -52,7 +47,6 @@ public class EvalIndicatorImportController { |
52 | 47 | private final EvalIndicatorValueBizService evalIndicatorValueBizService; |
53 | 48 | private final EvalIndicatorReportService evalIndicatorReportService; |
54 | 49 | private final EvalIndicatorBizService evalIndicatorBizService; |
55 | - private final EvalIndicatorCodeVal evalIndicatorCodeVal; | |
56 | 50 | |
57 | 51 | /** |
58 | 52 | * 数据导入指标列表 |
... | ... | @@ -62,11 +56,25 @@ public class EvalIndicatorImportController { |
62 | 56 | @IgnoreAuth |
63 | 57 | @GetMapping("/indicators") |
64 | 58 | @ControllerMethod("数据导入指标列表") |
65 | - public Message<List<EvalIndicatorVO>> evalIndicators() { | |
66 | - return success(evalIndicatorImportBizService.evalIndicators()); | |
59 | + public Message<List<EvalIndicatorVO>> evalIndicators(@CurrentUser LoginAuthBean user) { | |
60 | + return success(evalIndicatorImportBizService.evalIndicators(user)); | |
67 | 61 | } |
68 | 62 | |
69 | 63 | /** |
64 | + * 数据导入指标列表 | |
65 | + * | |
66 | + * @return | |
67 | + */ | |
68 | + @IgnoreAuth | |
69 | + @GetMapping("/template-file") | |
70 | + @ControllerMethod("数据导入指标列表") | |
71 | + public Message<String> evalIndicatorTemplateFile(@CurrentUser LoginAuthBean user, | |
72 | + @NotNull(message = "指标编码不能为空") @RequestParam("indicatorCode") String indicatorCode) { | |
73 | + return success(evalIndicatorImportBizService.evalIndicatorTemplateFile(user, indicatorCode)); | |
74 | + } | |
75 | + | |
76 | + | |
77 | + /** | |
70 | 78 | * 展厅美化导入记录分页查询 |
71 | 79 | * |
72 | 80 | * @return |
... | ... | @@ -75,7 +83,6 @@ public class EvalIndicatorImportController { |
75 | 83 | @GetMapping("/showroom-page") |
76 | 84 | @ControllerMethod("展厅美化导入记录分页查询") |
77 | 85 | public Message<AppPage<EvalIndicatorImportRecordVO>> showroomImportPage(EvalIndicatorImportScoreQueryDTO dto) { |
78 | - dto.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
79 | 86 | return success(evalIndicatorImportBizService.importPage(dto)); |
80 | 87 | } |
81 | 88 | |
... | ... | @@ -109,11 +116,13 @@ public class EvalIndicatorImportController { |
109 | 116 | @IgnoreAuth |
110 | 117 | @PostMapping("/analysis-file/showroom-shop") |
111 | 118 | @ControllerMethod("上传展厅美化数据") |
112 | - public Message<EvalIndicatorImportVO> analysisStaffExcel(@RequestParam("file") MultipartFile file, @CurrentUser LoginAuthBean user) { | |
119 | + public Message<EvalIndicatorImportVO> analysisStaffExcel(@RequestParam("file") MultipartFile file, | |
120 | + @RequestParam("indicatorCode") String indicatorCode, | |
121 | + @CurrentUser LoginAuthBean user) { | |
113 | 122 | if (file.isEmpty()) { |
114 | 123 | throw new BusinessException("请上传文件"); |
115 | 124 | } |
116 | - return success(evalIndicatorImportBizService.uploadShowroomMonthlyData(null, file, user)); | |
125 | + return success(evalIndicatorImportBizService.uploadShowroomMonthlyData(null, file, indicatorCode, user)); | |
117 | 126 | } |
118 | 127 | |
119 | 128 | /** |
... | ... | @@ -122,11 +131,13 @@ public class EvalIndicatorImportController { |
122 | 131 | @IgnoreAuth |
123 | 132 | @GetMapping("/analysis/showroom-shop") |
124 | 133 | @ControllerMethod("上传展厅美化数据") |
125 | - public Message<EvalIndicatorImportVO> uploadShowroomMonthlyData(@RequestParam("fid") String fid, @CurrentUser LoginAuthBean user) { | |
134 | + public Message<EvalIndicatorImportVO> uploadShowroomMonthlyData(@RequestParam("fid") String fid, | |
135 | + @RequestParam("indicatorCode") String indicatorCode, | |
136 | + @CurrentUser LoginAuthBean user) { | |
126 | 137 | if (PublicUtil.isEmpty(fid)) { |
127 | 138 | throw new BusinessException("请上传文件"); |
128 | 139 | } |
129 | - return success(evalIndicatorImportBizService.uploadShowroomMonthlyData(fid, null, user)); | |
140 | + return success(evalIndicatorImportBizService.uploadShowroomMonthlyData(fid, null, indicatorCode, user)); | |
130 | 141 | } |
131 | 142 | |
132 | 143 | // /** | ... | ... |
fw-morax-server/src/main/resources/application-prd.yml
fw-morax-server/src/main/resources/application-test.yml
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorConvertValueBizService.java deleted
1 | -package cn.fw.morax.service.biz.eval; | |
2 | - | |
3 | -import cn.fw.common.data.mybatis.pagination.PageData; | |
4 | -import cn.fw.common.exception.BusinessException; | |
5 | -import cn.fw.common.page.AppPage; | |
6 | -import cn.fw.common.web.auth.LoginAuthBean; | |
7 | -import cn.fw.morax.common.config.EvalIndicatorCodeVal; | |
8 | -import cn.fw.morax.common.config.EvalIndicatorVal; | |
9 | -import cn.fw.morax.common.config.FileVal; | |
10 | -import cn.fw.morax.common.utils.PublicUtil; | |
11 | -import cn.fw.morax.domain.db.eval.EvalIndicatorImportDetail; | |
12 | -import cn.fw.morax.domain.db.eval.EvalIndicatorImportKeyValue; | |
13 | -import cn.fw.morax.domain.db.eval.EvalIndicatorImportRecord; | |
14 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportDetailQueryDTO; | |
15 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportQueryDTO; | |
16 | -import cn.fw.morax.domain.enums.*; | |
17 | -import cn.fw.morax.domain.vo.eval.EvalIndicatorImportDetailVO; | |
18 | -import cn.fw.morax.domain.vo.eval.EvalIndicatorImportKeyValueVO; | |
19 | -import cn.fw.morax.domain.vo.eval.EvalIndicatorImportRecordVO; | |
20 | -import cn.fw.morax.domain.vo.eval.ShowroomScoreImportValueVO; | |
21 | -import cn.fw.morax.rpc.approval.FlowApproveRpc; | |
22 | -import cn.fw.morax.rpc.ehr.EhrRpcService; | |
23 | -import cn.fw.morax.rpc.file.FileRpcService; | |
24 | -import cn.fw.morax.rpc.oop.OopRpcService; | |
25 | -import cn.fw.morax.rpc.oop.dto.ShopDTO; | |
26 | -import cn.fw.morax.service.biz.ApprovalBizService; | |
27 | -import cn.fw.morax.service.biz.CommonService; | |
28 | -import cn.fw.morax.service.data.ApprovalRecordService; | |
29 | -import cn.fw.morax.service.data.eval.*; | |
30 | -import cn.fw.morax.service.data.salary.SalaryGeneralSettinService; | |
31 | -import com.alibaba.fastjson.JSON; | |
32 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
33 | -import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
34 | -import com.google.common.collect.Lists; | |
35 | -import lombok.RequiredArgsConstructor; | |
36 | -import lombok.extern.slf4j.Slf4j; | |
37 | -import org.springframework.data.redis.core.BoundValueOperations; | |
38 | -import org.springframework.data.redis.core.StringRedisTemplate; | |
39 | -import org.springframework.stereotype.Service; | |
40 | -import org.springframework.transaction.annotation.Transactional; | |
41 | -import org.springframework.web.multipart.MultipartFile; | |
42 | - | |
43 | -import java.math.BigDecimal; | |
44 | -import java.math.RoundingMode; | |
45 | -import java.time.LocalDate; | |
46 | -import java.time.LocalDateTime; | |
47 | -import java.time.LocalTime; | |
48 | -import java.time.temporal.TemporalAdjusters; | |
49 | -import java.util.*; | |
50 | -import java.util.concurrent.TimeUnit; | |
51 | -import java.util.stream.Collectors; | |
52 | - | |
53 | -/** | |
54 | - * @author jiangchao | |
55 | - * @des: | |
56 | - * @date 2024/3/22 17:19 | |
57 | - */ | |
58 | -@Service | |
59 | -@Slf4j | |
60 | -@RequiredArgsConstructor | |
61 | -public class EvalIndicatorConvertValueBizService { | |
62 | - | |
63 | - private final EvalIndicatorImportKeyValueService evalIndicatorImportKeyValueService; | |
64 | - private final EvalIndicatorImportRecordService evalIndicatorImportRecordService; | |
65 | - private final EvalIndicatorImportDetailService evalIndicatorImportDetailService; | |
66 | - private final EvalIndicatorCommonService evalIndicatorCommonService; | |
67 | - private final SalaryGeneralSettinService salaryGeneralSettinService; | |
68 | - private final ApprovalRecordService approvalRecordService; | |
69 | - private final EvalIndicatorCodeVal evalIndicatorCodeVal; | |
70 | - private final EvalIndicatorService evalIndicatorService; | |
71 | - private final StringRedisTemplate stringRedisTemplate; | |
72 | - private final ApprovalBizService approvalBizService; | |
73 | - private final EvalIndicatorVal evalIndicatorVal; | |
74 | - private final FlowApproveRpc flowApproveRpc; | |
75 | - private final FileRpcService fileRpcService; | |
76 | - private final EhrRpcService ehrRpcService; | |
77 | - private final CommonService commonService; | |
78 | - private final OopRpcService oopRpcService; | |
79 | - private final EvalService evalService; | |
80 | - private final FileVal fileVal; | |
81 | - | |
82 | - public void convertShowroomStaffValue(LocalDate dataDate) { | |
83 | - final LocalDate firstMonthDate = dataDate.withDayOfMonth(1); | |
84 | - final LocalDate lastMonthDate = dataDate.with(TemporalAdjusters.lastDayOfMonth()); | |
85 | - List<EvalIndicatorImportDetail> monthlyDetails = evalIndicatorImportDetailService.list(Wrappers.<EvalIndicatorImportDetail>lambdaQuery() | |
86 | - .isNull(EvalIndicatorImportDetail::getErrorType) | |
87 | - .eq(EvalIndicatorImportDetail::getIndicatorCode, evalIndicatorCodeVal.getShowroomScore()) | |
88 | - .ge(EvalIndicatorImportDetail::getDataDate, firstMonthDate) | |
89 | - .le(EvalIndicatorImportDetail::getDataDate, lastMonthDate) | |
90 | - .eq(EvalIndicatorImportDetail::getYn, Boolean.TRUE) | |
91 | - ); | |
92 | - | |
93 | - | |
94 | - } | |
95 | - | |
96 | -} |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalIndicatorImportBizService.java
... | ... | @@ -4,42 +4,31 @@ import cn.fw.common.data.mybatis.pagination.PageData; |
4 | 4 | import cn.fw.common.exception.BusinessException; |
5 | 5 | import cn.fw.common.page.AppPage; |
6 | 6 | import cn.fw.common.web.auth.LoginAuthBean; |
7 | -import cn.fw.morax.common.config.EvalIndicatorCodeVal; | |
7 | +import cn.fw.common.web.auth.annotation.CurrentUser; | |
8 | 8 | import cn.fw.morax.common.config.EvalIndicatorVal; |
9 | -import cn.fw.morax.common.config.FileVal; | |
10 | 9 | import cn.fw.morax.common.utils.MessageFormatUtil; |
11 | 10 | import cn.fw.morax.common.utils.PublicUtil; |
11 | +import cn.fw.morax.domain.db.TemplateFile; | |
12 | 12 | import cn.fw.morax.domain.db.eval.*; |
13 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportDetailQueryDTO; | |
14 | -import cn.fw.morax.domain.dto.query.EvalIndicatorImportQueryDTO; | |
15 | 13 | import cn.fw.morax.domain.dto.query.EvalIndicatorImportScoreQueryDTO; |
16 | 14 | import cn.fw.morax.domain.enums.*; |
17 | 15 | import cn.fw.morax.domain.vo.eval.*; |
18 | -import cn.fw.morax.rpc.approval.FlowApproveRpc; | |
19 | -import cn.fw.morax.rpc.ehr.EhrRpcService; | |
20 | -import cn.fw.morax.rpc.file.FileRpcService; | |
21 | -import cn.fw.morax.rpc.oop.OopRpcService; | |
22 | 16 | import cn.fw.morax.rpc.oop.dto.ShopDTO; |
23 | 17 | import cn.fw.morax.service.biz.ApprovalBizService; |
24 | -import cn.fw.morax.service.biz.CommonService; | |
25 | -import cn.fw.morax.service.data.ApprovalRecordService; | |
18 | +import cn.fw.morax.service.data.TemplateFileService; | |
26 | 19 | import cn.fw.morax.service.data.eval.*; |
27 | -import cn.fw.morax.service.data.salary.SalaryGeneralSettinService; | |
28 | 20 | import com.alibaba.fastjson.JSON; |
29 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
30 | 21 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
31 | -import com.google.common.collect.Lists; | |
32 | 22 | import lombok.RequiredArgsConstructor; |
33 | 23 | import lombok.extern.slf4j.Slf4j; |
34 | 24 | import org.springframework.data.redis.core.BoundValueOperations; |
35 | 25 | import org.springframework.data.redis.core.StringRedisTemplate; |
36 | 26 | import org.springframework.stereotype.Service; |
37 | 27 | import org.springframework.transaction.annotation.Transactional; |
28 | +import org.springframework.web.bind.annotation.RequestParam; | |
38 | 29 | import org.springframework.web.multipart.MultipartFile; |
39 | 30 | |
40 | 31 | import java.time.LocalDate; |
41 | -import java.time.LocalDateTime; | |
42 | -import java.time.LocalTime; | |
43 | 32 | import java.time.YearMonth; |
44 | 33 | import java.util.*; |
45 | 34 | import java.util.concurrent.TimeUnit; |
... | ... | @@ -59,20 +48,24 @@ public class EvalIndicatorImportBizService { |
59 | 48 | |
60 | 49 | private final EvalIndicatorImportDetailScoreService evalIndicatorImportDetailScoreService; |
61 | 50 | private final EvalIndicatorImportRecordService evalIndicatorImportRecordService; |
51 | + private final EvalIndicatorImportMenuService evalIndicatorImportMenuService; | |
62 | 52 | private final EvalIndicatorCommonService evalIndicatorCommonService; |
63 | - private final EvalIndicatorCodeVal evalIndicatorCodeVal; | |
64 | 53 | private final EvalIndicatorService evalIndicatorService; |
65 | 54 | private final StringRedisTemplate stringRedisTemplate; |
55 | + private final TemplateFileService templateFileService; | |
66 | 56 | private final ApprovalBizService approvalBizService; |
67 | 57 | private final EvalIndicatorVal evalIndicatorVal; |
68 | 58 | |
69 | 59 | /** |
70 | 60 | * 数据导入指标列表 |
71 | 61 | */ |
72 | - public List<EvalIndicatorVO> evalIndicators() { | |
73 | - List<String> evalIndicatorCodes = new ArrayList<String>() {{ | |
74 | - add(evalIndicatorCodeVal.getShowroomScore()); | |
75 | - }}; | |
62 | + public List<EvalIndicatorVO> evalIndicators(LoginAuthBean user) { | |
63 | + final Long groupId = user.getGroupId(); | |
64 | + List<EvalIndicatorImportMenu> evalIndicatorMenus = evalIndicatorImportMenuService.list(Wrappers.<EvalIndicatorImportMenu>lambdaQuery() | |
65 | + .eq(EvalIndicatorImportMenu::getGroupId, groupId) | |
66 | + .eq(EvalIndicatorImportMenu::getYn, Boolean.TRUE) | |
67 | + ); | |
68 | + List<String> evalIndicatorCodes = evalIndicatorMenus.stream().map(EvalIndicatorImportMenu::getIndicatorCode).collect(Collectors.toList()); | |
76 | 69 | List<EvalIndicator> evalIndicators = evalIndicatorService.list(Wrappers.<EvalIndicator>lambdaQuery() |
77 | 70 | .in(EvalIndicator::getCode, evalIndicatorCodes) |
78 | 71 | .eq(EvalIndicator::getYn, Boolean.TRUE) |
... | ... | @@ -85,6 +78,24 @@ public class EvalIndicatorImportBizService { |
85 | 78 | } |
86 | 79 | |
87 | 80 | /** |
81 | + * 数据导入指标列表 | |
82 | + */ | |
83 | + public String evalIndicatorTemplateFile(LoginAuthBean user, String indicatorCode) { | |
84 | + final Long groupId = user.getGroupId(); | |
85 | + TemplateFile templateFile = templateFileService.getOne(Wrappers.<TemplateFile>lambdaQuery() | |
86 | + .eq(TemplateFile::getTag, indicatorCode) | |
87 | + .eq(TemplateFile::getType, TemplateFileTypeEnum.EVAL_INDICATOR) | |
88 | + .eq(TemplateFile::getGroupId, groupId) | |
89 | + .eq(TemplateFile::getYn, Boolean.TRUE) | |
90 | + , Boolean.FALSE | |
91 | + ); | |
92 | + if (PublicUtil.isEmpty(templateFile)) { | |
93 | + return null; | |
94 | + } | |
95 | + return templateFile.getFid(); | |
96 | + } | |
97 | + | |
98 | + /** | |
88 | 99 | * 分页查询 |
89 | 100 | * |
90 | 101 | * @param dto |
... | ... | @@ -140,10 +151,10 @@ public class EvalIndicatorImportBizService { |
140 | 151 | } |
141 | 152 | |
142 | 153 | @Transactional(rollbackFor = Exception.class) |
143 | - public EvalIndicatorImportVO uploadShowroomMonthlyData(String fid, MultipartFile file, LoginAuthBean user) { | |
154 | + public EvalIndicatorImportVO uploadShowroomMonthlyData(String fid, MultipartFile file, String indicatorCode, LoginAuthBean user) { | |
144 | 155 | final DataTimeTypeEnum dataTimeType = DataTimeTypeEnum.MONTHLY; |
145 | 156 | final Long groupId = user.getGroupId(); |
146 | - EvalIndicator evalIndicator = evalIndicatorService.queryByCode(evalIndicatorCodeVal.getShowroomScore(), Boolean.FALSE); | |
157 | + EvalIndicator evalIndicator = evalIndicatorService.queryByCode(indicatorCode, Boolean.FALSE); | |
147 | 158 | BV.notNull(evalIndicator, "展厅美化指标不存在,请重试"); |
148 | 159 | List<YearMonth> importValidMonthlies = new ArrayList<YearMonth>() {{ |
149 | 160 | add(YearMonth.now()); |
... | ... | @@ -265,7 +276,7 @@ public class EvalIndicatorImportBizService { |
265 | 276 | importRecord.setDataDate(dataDate); |
266 | 277 | |
267 | 278 | importRecord.setIndicatorName(evalIndicator.getName()); |
268 | - importRecord.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
279 | + importRecord.setIndicatorCode(evalIndicator.getCode()); | |
269 | 280 | return importRecord; |
270 | 281 | } |
271 | 282 | |
... | ... | @@ -295,12 +306,11 @@ public class EvalIndicatorImportBizService { |
295 | 306 | public EvalIndicatorImportDetailScore convertShopPo(ShowroomScoreImportValueVO shopValue, EvalIndicator evalIndicator, Long groupId) { |
296 | 307 | Optional<ShowroomScoreImportValueVO> valueOptional = Optional.ofNullable(shopValue); |
297 | 308 | EvalIndicatorImportDetailScore detail = new EvalIndicatorImportDetailScore(); |
298 | - detail.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
299 | 309 | detail.setShopName(valueOptional.map(ShowroomScoreImportValueVO::getShopName).orElse("")); |
300 | 310 | if (PublicUtil.isNotEmpty(shopValue.getMonthlyDate())) { |
301 | 311 | detail.setDataDate(evalIndicatorCommonService.convertMonthlyDate(shopValue.getMonthlyDate())); |
302 | 312 | } |
303 | - detail.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
313 | + detail.setIndicatorCode(evalIndicator.getCode()); | |
304 | 314 | detail.setIndicatorName(evalIndicator.getName()); |
305 | 315 | detail.setValid(Boolean.FALSE); |
306 | 316 | detail.setGroupId(groupId); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/component/EvalIndicatorScoreSaveObserver.java
1 | 1 | package cn.fw.morax.service.component; |
2 | 2 | |
3 | -import cn.fw.morax.common.config.EvalIndicatorCodeVal; | |
4 | -import cn.fw.morax.common.config.TodoVal; | |
5 | 3 | import cn.fw.morax.common.pojo.event.ImportEvalIndicatorScoreEvent; |
6 | 4 | import cn.fw.morax.common.utils.PublicUtil; |
7 | 5 | import cn.fw.morax.domain.bo.eval.EvalIndicatorScoreBO; |
8 | 6 | import cn.fw.morax.domain.db.eval.*; |
9 | 7 | import cn.fw.morax.domain.enums.DataTypeEnum; |
10 | 8 | import cn.fw.morax.domain.enums.DimensionTypeEnum; |
11 | -import cn.fw.morax.rpc.backlog.TodoRpcService; | |
12 | -import cn.fw.morax.rpc.erp.ErpRpcService; | |
13 | 9 | import cn.fw.morax.rpc.erp.dto.HRoleAuthRangeDayVO; |
14 | 10 | import cn.fw.morax.service.biz.RpcCommonService; |
15 | 11 | import cn.fw.morax.service.biz.eval.EvalIndicatorCommonService; |
... | ... | @@ -35,18 +31,10 @@ import java.util.stream.Collectors; |
35 | 31 | @RequiredArgsConstructor |
36 | 32 | public class EvalIndicatorScoreSaveObserver { |
37 | 33 | |
38 | - private final TodoVal todoVal; | |
39 | - private final TodoRpcService todoRpcService; | |
40 | - private final ErpRpcService erpRpcService; | |
41 | 34 | private final RpcCommonService rpcCommonService; |
42 | - private final EvalIndicatorCodeVal evalIndicatorCodeVal; | |
43 | 35 | private final EvalIndicatorService evalIndicatorService; |
44 | - private final EvalIndicatorValueService evalIndicatorValueService; | |
45 | 36 | private final EvalIndicatorCommonService evalIndicatorCommonService; |
46 | - private final EvalIndicatorImportService evalIndicatorImportService; | |
47 | - private final EvalIndicatorStageValueService evalIndicatorStageValueService; | |
48 | 37 | private final EvalIndicatorImportRecordService evalIndicatorImportRecordService; |
49 | - private final EvalIndicatorImportDetailService evalIndicatorImportDetailService; | |
50 | 38 | private final EvalIndicatorImportDetailScoreService evalIndicatorImportDetailScoreService; |
51 | 39 | |
52 | 40 | /** |
... | ... | @@ -65,6 +53,7 @@ public class EvalIndicatorScoreSaveObserver { |
65 | 53 | } |
66 | 54 | final Long recordId = event.getEvalIndicatorImportRecordId(); |
67 | 55 | EvalIndicatorImportRecord importRecord = evalIndicatorImportRecordService.getById(recordId); |
56 | + final String indicatorCode = importRecord.getIndicatorCode(); | |
68 | 57 | EvalIndicator evalIndicator = evalIndicatorService.queryByCode(importRecord.getIndicatorCode(), Boolean.FALSE); |
69 | 58 | final Long groupId = importRecord.getGroupId(); |
70 | 59 | List<EvalIndicatorImportDetailScore> detailScores = evalIndicatorImportDetailScoreService.list(Wrappers.<EvalIndicatorImportDetailScore>lambdaQuery() |
... | ... | @@ -99,20 +88,20 @@ public class EvalIndicatorScoreSaveObserver { |
99 | 88 | //抽取数据 |
100 | 89 | for (YearMonth monthly : monthlies) { |
101 | 90 | LocalDate dataDate = YearMonth.now().compareTo(monthly) == 0 ? LocalDate.now() : monthly.atEndOfMonth(); |
102 | - List<EvalIndicatorScoreBO> monthlyScoreBos = this.getShopScoreBO(monthly, dataDate, groupId); | |
91 | + List<EvalIndicatorScoreBO> monthlyScoreBos = this.getShopScoreBO(monthly, indicatorCode, dataDate, groupId); | |
103 | 92 | |
104 | - List<EvalIndicatorValue> shopValues = this.extractShopValue(dataDate, groupId, monthlyScoreBos); | |
93 | + List<EvalIndicatorValue> shopValues = this.extractShopValue(evalIndicator, dataDate, groupId, monthlyScoreBos); | |
105 | 94 | List<EvalIndicatorValue> staffValues = this.extractUserValue(evalIndicator, dataDate, groupId, monthlyScoreBos); |
106 | 95 | evalIndicatorCommonService.saveIndicatorValue(shopValues); |
107 | 96 | evalIndicatorCommonService.saveIndicatorValue(staffValues); |
108 | 97 | } |
109 | 98 | } |
110 | 99 | |
111 | - public List<EvalIndicatorScoreBO> getShopScoreBO(YearMonth monthly, LocalDate dataDate, Long groupId) { | |
100 | + public List<EvalIndicatorScoreBO> getShopScoreBO(YearMonth monthly, String indicatorCode, LocalDate dataDate, Long groupId) { | |
112 | 101 | final LocalDate startTime = monthly.atDay(1); |
113 | 102 | final LocalDate endTime = monthly.atEndOfMonth(); |
114 | 103 | List<EvalIndicatorImportDetailScore> showroomScores = evalIndicatorImportDetailScoreService.list(Wrappers.<EvalIndicatorImportDetailScore>lambdaQuery() |
115 | - .eq(EvalIndicatorImportDetailScore::getIndicatorCode, evalIndicatorCodeVal.getShowroomScore()) | |
104 | + .eq(EvalIndicatorImportDetailScore::getIndicatorCode, indicatorCode) | |
116 | 105 | .ge(EvalIndicatorImportDetailScore::getDataDate, startTime) |
117 | 106 | .le(EvalIndicatorImportDetailScore::getDataDate, endTime) |
118 | 107 | .isNull(EvalIndicatorImportDetailScore::getErrorType) |
... | ... | @@ -139,7 +128,7 @@ public class EvalIndicatorScoreSaveObserver { |
139 | 128 | return scoreBOS; |
140 | 129 | } |
141 | 130 | |
142 | - public List<EvalIndicatorValue> extractShopValue(LocalDate dataDate, Long groupId, List<EvalIndicatorScoreBO> scoreBos) { | |
131 | + public List<EvalIndicatorValue> extractShopValue(EvalIndicator evalIndicator, LocalDate dataDate, Long groupId, List<EvalIndicatorScoreBO> scoreBos) { | |
143 | 132 | List<EvalIndicatorValue> evalIndicatorValues = new ArrayList<>(); |
144 | 133 | for (EvalIndicatorScoreBO scoreBO : scoreBos) { |
145 | 134 | final BigDecimal score = scoreBO.getScore(); |
... | ... | @@ -150,7 +139,7 @@ public class EvalIndicatorScoreSaveObserver { |
150 | 139 | indicatorValue.setShopId(scoreBO.getShopId()); |
151 | 140 | indicatorValue.setShopName(scoreBO.getShopName()); |
152 | 141 | indicatorValue.setIndicatorValue(BigDecimal.ZERO); |
153 | - indicatorValue.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
142 | + indicatorValue.setIndicatorCode(evalIndicator.getCode()); | |
154 | 143 | indicatorValue.setDimensionType(DimensionTypeEnum.SHOP); |
155 | 144 | if (PublicUtil.isNotEmpty(score) && PublicUtil.isNotEmpty(totalScore) && (totalScore.compareTo(BigDecimal.ZERO) > 0)) { |
156 | 145 | indicatorValue.setIndicatorValue(score.divide(totalScore, 4, RoundingMode.HALF_UP)); |
... | ... | @@ -212,7 +201,7 @@ public class EvalIndicatorScoreSaveObserver { |
212 | 201 | value.setShopId(-1L); |
213 | 202 | value.setShopName(""); |
214 | 203 | value.setIndicatorValue(BigDecimal.ZERO); |
215 | - value.setIndicatorCode(evalIndicatorCodeVal.getShowroomScore()); | |
204 | + value.setIndicatorCode(evalIndicator.getCode()); | |
216 | 205 | value.setDimensionType(DimensionTypeEnum.STAFF); |
217 | 206 | if (PublicUtil.isNotEmpty(score) && PublicUtil.isNotEmpty(totalScore) && (totalScore.compareTo(BigDecimal.ZERO) > 0)) { |
218 | 207 | value.setIndicatorValue(score.divide(totalScore, 4, RoundingMode.HALF_UP)); | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/TemplateFileService.java
0 → 100644
1 | +package cn.fw.morax.service.data; | |
2 | + | |
3 | +import cn.fw.morax.domain.db.TemplateFile; | |
4 | +import cn.fw.morax.domain.db.UserResignExamine; | |
5 | +import com.baomidou.mybatisplus.extension.service.IService; | |
6 | + | |
7 | +/** | |
8 | + * 绩效考核离职记录 | |
9 | + * | |
10 | + * @author : kurisu | |
11 | + * @version : 2.0 | |
12 | + * @className : UserResignExamineService | |
13 | + * @description : 绩效考核离职记录 | |
14 | + * @date : 2022-12-29 17:05 | |
15 | + */ | |
16 | +public interface TemplateFileService extends IService<TemplateFile> { | |
17 | +} | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalIndicatorImportMenuService.java
0 → 100644
1 | +package cn.fw.morax.service.data.eval; | |
2 | + | |
3 | + | |
4 | +import cn.fw.morax.dao.orm.ILocalService; | |
5 | +import cn.fw.morax.domain.db.eval.EvalIndicatorImportMenu; | |
6 | + | |
7 | +/** | |
8 | + * <p> | |
9 | + * 考评指标导入记录 服务类 | |
10 | + * </p> | |
11 | + * | |
12 | + * @author jiangchao | |
13 | + * @since 2023-01-30 | |
14 | + */ | |
15 | +public interface EvalIndicatorImportMenuService extends ILocalService<EvalIndicatorImportMenu> { | |
16 | + | |
17 | + | |
18 | +} | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalIndicatorImportMenuServiceImpl.java
0 → 100644
1 | +package cn.fw.morax.service.data.eval.impl; | |
2 | + | |
3 | +import cn.fw.morax.dao.eval.EvalIndicatorImportMenuDao; | |
4 | +import cn.fw.morax.domain.db.eval.EvalIndicatorImportMenu; | |
5 | +import cn.fw.morax.service.data.eval.EvalIndicatorImportMenuService; | |
6 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * <p> | |
11 | + * 考评指标导入记录 服务实现类 | |
12 | + * </p> | |
13 | + * | |
14 | + * @author jiangchao | |
15 | + * @since 2023-02-06 | |
16 | + */ | |
17 | +@Service | |
18 | +public class EvalIndicatorImportMenuServiceImpl extends ServiceImpl<EvalIndicatorImportMenuDao, EvalIndicatorImportMenu> | |
19 | + implements EvalIndicatorImportMenuService { | |
20 | + | |
21 | + | |
22 | +} | ... | ... |
fw-morax-service/src/main/java/cn/fw/morax/service/data/impl/TemplateFileServiceImpl.java
0 → 100644
1 | +package cn.fw.morax.service.data.impl; | |
2 | + | |
3 | +import cn.fw.morax.dao.TemplateFileDao; | |
4 | +import cn.fw.morax.domain.db.TemplateFile; | |
5 | +import cn.fw.morax.service.data.TemplateFileService; | |
6 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * 薪资发放记录 | |
11 | + * | |
12 | + * @author : kurisu | |
13 | + * @version : 1.0 | |
14 | + * @className : PayrollRecordServiceImpl | |
15 | + * @description : 薪资发放记录 | |
16 | + * @date : 2022-05-07 10:55 | |
17 | + */ | |
18 | +@Service | |
19 | +public class TemplateFileServiceImpl extends ServiceImpl<TemplateFileDao, TemplateFile> implements TemplateFileService { | |
20 | + | |
21 | +} | ... | ... |