Commit e662e1bee5195dacf38ecd4643208830c591e262
1 parent
d6385255
refactor(order): 优化项目基础信息和申请流程
- 移除 OrderProfitAnalysisDO 中未使用的字段 - 将 ProjectApplyDO 中的 projectId 改为 projectNoPrefix - 更新 ProjectBaseInfoServiceImpl 中的项目查询逻辑 -调整 ProjectFieldLockRecord 中的 projectId 为 projectNoPrefix
Showing
4 changed files
with
26 additions
and
40 deletions
src/main/java/com/order/erp/domain/dto/order/OrderProfitAnalysisDO.java
... | ... | @@ -99,19 +99,5 @@ public class OrderProfitAnalysisDO extends BaseDO implements Serializable { |
99 | 99 | */ |
100 | 100 | private int profitType; |
101 | 101 | |
102 | - /** | |
103 | - * 生产科预算金额 | |
104 | - */ | |
105 | - private BigDecimal productionDepartmentPredictPrice; | |
106 | - | |
107 | - /** | |
108 | - * 实际发生费用 | |
109 | - */ | |
110 | - private BigDecimal productionActualPrice; | |
111 | - | |
112 | - /** | |
113 | - * 包装费用实际金额 | |
114 | - */ | |
115 | - private BigDecimal packetActualRmbTotalPrice; | |
116 | 102 | |
117 | 103 | } | ... | ... |
src/main/java/com/order/erp/domain/model/ProjectApplyDO.java
... | ... | @@ -38,8 +38,8 @@ public class ProjectApplyDO extends BaseDO implements Serializable { |
38 | 38 | @TableId(value = "id", type = IdType.AUTO) |
39 | 39 | private Long id; |
40 | 40 | |
41 | - @ApiModelProperty(value = "项目id") | |
42 | - private Long projectId; | |
41 | + @ApiModelProperty(value = "项目号") | |
42 | + private String projectNoPrefix; | |
43 | 43 | |
44 | 44 | |
45 | 45 | @ApiModelProperty(value = "申请用户id") | ... | ... |
src/main/java/com/order/erp/domain/model/ProjectFieldLockRecord.java
... | ... | @@ -40,8 +40,9 @@ public class ProjectFieldLockRecord extends BaseDO implements Serializable { |
40 | 40 | @TableId(value = "id", type = IdType.AUTO) |
41 | 41 | private Long id; |
42 | 42 | |
43 | - @ApiModelProperty(value = "项目id") | |
44 | - private Long projectId; | |
43 | + | |
44 | + @ApiModelProperty(value = "项目号") | |
45 | + private String projectNoPrefix; | |
45 | 46 | |
46 | 47 | @ApiModelProperty(value = "用户id") |
47 | 48 | private Long userId; | ... | ... |
src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java
... | ... | @@ -77,29 +77,34 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
77 | 77 | |
78 | 78 | @Override |
79 | 79 | public ServerResult edit(ProjectBaseInfoVO vo) { |
80 | - Long id = vo.getId(); | |
81 | - ProjectBaseInfoDO byId = this.getById(id); | |
82 | - if (Objects.isNull(byId)) { | |
83 | - byId = BeanUtil.copyProperties(vo, ProjectBaseInfoDO.class); | |
80 | + String projectNoPrefix = vo.getProjectNoPrefix(); | |
81 | + Optional<ProjectBaseInfoDO> projectBaseInfoDOOpt = this.lambdaQuery() | |
82 | + .eq(ProjectBaseInfoDO::getProjectNoPrefix, projectNoPrefix) | |
83 | + .last(" limit 1 ") | |
84 | + .oneOpt(); | |
85 | + ProjectBaseInfoDO projectBaseInfoDO = null; | |
86 | + if (projectBaseInfoDOOpt.isPresent()) { | |
87 | + projectBaseInfoDO = projectBaseInfoDOOpt.get(); | |
88 | + BeanUtil.copyProperties(vo, projectBaseInfoDO,"id"); | |
84 | 89 | }else { |
85 | - BeanUtil.copyProperties(vo, byId); | |
90 | + projectBaseInfoDO = BeanUtil.copyProperties(vo, ProjectBaseInfoDO.class); | |
86 | 91 | } |
87 | - return ServerResult.success(this.saveOrUpdate(byId)); | |
92 | + return ServerResult.success(this.saveOrUpdate(projectBaseInfoDO)); | |
88 | 93 | } |
89 | 94 | @Override |
90 | 95 | public ServerResult applyEditFileds(ProjectBaseInfoLockFieldVO vo) { |
91 | 96 | List<ProjectApplyDO> applyDOS = projectFieldLockApplyService.list(new LambdaQueryWrapper<ProjectApplyDO>() |
92 | 97 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
93 | - .eq(ProjectApplyDO::getProjectId, vo.getProjectId()) | |
98 | + .eq(ProjectApplyDO::getProjectNoPrefix, vo.getProjectNoPrefix()) | |
94 | 99 | .eq(ProjectApplyDO::getApplyUserId, dataScope.getLoginUserId()) |
95 | 100 | .eq(ProjectApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus())); |
96 | 101 | if (CollectionUtils.isNotEmpty(applyDOS)) { |
97 | 102 | throw new BusinessException(ServerResultCode.APPLY_UNLOCK_FIELD_EXIST); |
98 | 103 | } |
99 | - Long projectId = vo.getProjectId(); | |
100 | - vo.setProjectId(null); | |
104 | + String projectNoPrefix = vo.getProjectNoPrefix(); | |
105 | + vo.setProjectNoPrefix(null); | |
101 | 106 | ProjectApplyDO build = ProjectApplyDO.builder() |
102 | - .projectId(projectId) | |
107 | + .projectNoPrefix(projectNoPrefix) | |
103 | 108 | .applyUserId(dataScope.getLoginUserId()) |
104 | 109 | .fields(JSONObject.toJSONString(vo)) |
105 | 110 | .type(ProjectApplyTypeEnum.FIELD_EDIT_APPLY) |
... | ... | @@ -124,12 +129,8 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
124 | 129 | if(CollectionUtils.isEmpty(records)){ |
125 | 130 | return buildPageResult(page, Collections.emptyList()); |
126 | 131 | } |
127 | - List<Long> projectIds = records.stream().map(ProjectApplyDO::getProjectId).collect(Collectors.toList()); | |
128 | - List<ProjectBaseInfoDO> projectBaseInfoDOS = this.listByIds(projectIds); | |
129 | - Map<Long,String> projectId2ProjectNoPrefixMap = projectBaseInfoDOS.stream().collect(Collectors.toMap(ProjectBaseInfoDO::getId, ProjectBaseInfoDO::getProjectNoPrefix)); | |
130 | 132 | List<ProjectApplyVO> collect = records.stream().map(e -> { |
131 | 133 | ProjectApplyVO projectApplyVO = BeanUtil.copyProperties(e, ProjectApplyVO.class); |
132 | - projectApplyVO.setProjectNoPrefix(projectId2ProjectNoPrefixMap.get(e.getProjectId())); | |
133 | 134 | return projectApplyVO; |
134 | 135 | }).collect(Collectors.toList()); |
135 | 136 | return ServerResult.success(buildPageResult(page, collect)); |
... | ... | @@ -144,13 +145,13 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
144 | 145 | applyDO.setStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); |
145 | 146 | ProjectFieldLockRecord recordDO = projectionFieldLockRecordService.getOne(new LambdaQueryWrapper<ProjectFieldLockRecord>() |
146 | 147 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
147 | - .eq(ProjectFieldLockRecord::getProjectId, applyDO.getProjectId()) | |
148 | + .eq(ProjectFieldLockRecord::getProjectNoPrefix, applyDO.getProjectNoPrefix()) | |
148 | 149 | .eq(ProjectFieldLockRecord::getUserId, applyDO.getApplyUserId()) |
149 | 150 | .orderByDesc(ProjectFieldLockRecord::getId) |
150 | 151 | .last("limit 1")); |
151 | 152 | if (Objects.isNull(recordDO)) { |
152 | 153 | recordDO = ProjectFieldLockRecord.builder() |
153 | - .projectId(applyDO.getProjectId()) | |
154 | + .projectNoPrefix(applyDO.getProjectNoPrefix()) | |
154 | 155 | .userId(applyDO.getApplyUserId()) |
155 | 156 | .build(); |
156 | 157 | } |
... | ... | @@ -410,7 +411,6 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
410 | 411 | }) |
411 | 412 | .list(); |
412 | 413 | Map<String, ProjectBaseInfoDO> noPrefix2ProjectProfitAnalysisDOMap = list.stream().collect(Collectors.toMap(ProjectBaseInfoDO::getProjectNoPrefix, Function.identity())); |
413 | - Map<Long,String> projectId2ProjectNoPrefixMap = list.stream().collect(Collectors.toMap(ProjectBaseInfoDO::getId, ProjectBaseInfoDO::getProjectNoPrefix)); | |
414 | 414 | Set<String> collect = orderInfoResultVOS.stream() |
415 | 415 | .map(OrderBaseInfoVO::getCustomerCode) |
416 | 416 | .collect(Collectors.toSet()); |
... | ... | @@ -426,9 +426,9 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
426 | 426 | List<ProjectFieldLockRecord> lockRecords = projectionFieldLockRecordService |
427 | 427 | .lambdaQuery() |
428 | 428 | .func(query -> { |
429 | - Set<Long> projectIds = list.stream().map(ProjectBaseInfoDO::getId).collect(Collectors.toSet()); | |
430 | - if(CollUtil.isNotEmpty(projectIds)){ | |
431 | - query.in(ProjectFieldLockRecord::getProjectId,projectIds); | |
429 | + Set<String> projectNoPrefixs = list.stream().map(ProjectBaseInfoDO::getProjectNoPrefix).collect(Collectors.toSet()); | |
430 | + if(CollUtil.isNotEmpty(projectNoPrefixs)){ | |
431 | + query.in(ProjectFieldLockRecord::getProjectNoPrefix,projectNoPrefixs); | |
432 | 432 | |
433 | 433 | }else { |
434 | 434 | query.apply("1!=1"); |
... | ... | @@ -436,8 +436,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe |
436 | 436 | }) |
437 | 437 | .list(); |
438 | 438 | Map<String,ProjectBaseInfoLockFieldVO> prjectNo2LockRecordMap = lockRecords.stream() |
439 | - .filter(record -> projectId2ProjectNoPrefixMap.containsKey(record.getProjectId())) | |
440 | - .collect(Collectors.toMap(record -> projectId2ProjectNoPrefixMap.get(record.getProjectId()), record -> { | |
439 | + .collect(Collectors.toMap(ProjectFieldLockRecord::getProjectNoPrefix, record -> { | |
441 | 440 | try { |
442 | 441 | return objectMapper.readValue(record.getFields(), ProjectBaseInfoLockFieldVO.class); |
443 | 442 | } catch (JsonProcessingException e) { | ... | ... |