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,19 +99,5 @@ public class OrderProfitAnalysisDO extends BaseDO implements Serializable { | ||
99 | */ | 99 | */ |
100 | private int profitType; | 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,8 +38,8 @@ public class ProjectApplyDO extends BaseDO implements Serializable { | ||
38 | @TableId(value = "id", type = IdType.AUTO) | 38 | @TableId(value = "id", type = IdType.AUTO) |
39 | private Long id; | 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 | @ApiModelProperty(value = "申请用户id") | 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,8 +40,9 @@ public class ProjectFieldLockRecord extends BaseDO implements Serializable { | ||
40 | @TableId(value = "id", type = IdType.AUTO) | 40 | @TableId(value = "id", type = IdType.AUTO) |
41 | private Long id; | 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 | @ApiModelProperty(value = "用户id") | 47 | @ApiModelProperty(value = "用户id") |
47 | private Long userId; | 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,29 +77,34 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
77 | 77 | ||
78 | @Override | 78 | @Override |
79 | public ServerResult edit(ProjectBaseInfoVO vo) { | 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 | }else { | 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 | @Override | 94 | @Override |
90 | public ServerResult applyEditFileds(ProjectBaseInfoLockFieldVO vo) { | 95 | public ServerResult applyEditFileds(ProjectBaseInfoLockFieldVO vo) { |
91 | List<ProjectApplyDO> applyDOS = projectFieldLockApplyService.list(new LambdaQueryWrapper<ProjectApplyDO>() | 96 | List<ProjectApplyDO> applyDOS = projectFieldLockApplyService.list(new LambdaQueryWrapper<ProjectApplyDO>() |
92 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 97 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
93 | - .eq(ProjectApplyDO::getProjectId, vo.getProjectId()) | 98 | + .eq(ProjectApplyDO::getProjectNoPrefix, vo.getProjectNoPrefix()) |
94 | .eq(ProjectApplyDO::getApplyUserId, dataScope.getLoginUserId()) | 99 | .eq(ProjectApplyDO::getApplyUserId, dataScope.getLoginUserId()) |
95 | .eq(ProjectApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus())); | 100 | .eq(ProjectApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus())); |
96 | if (CollectionUtils.isNotEmpty(applyDOS)) { | 101 | if (CollectionUtils.isNotEmpty(applyDOS)) { |
97 | throw new BusinessException(ServerResultCode.APPLY_UNLOCK_FIELD_EXIST); | 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 | ProjectApplyDO build = ProjectApplyDO.builder() | 106 | ProjectApplyDO build = ProjectApplyDO.builder() |
102 | - .projectId(projectId) | 107 | + .projectNoPrefix(projectNoPrefix) |
103 | .applyUserId(dataScope.getLoginUserId()) | 108 | .applyUserId(dataScope.getLoginUserId()) |
104 | .fields(JSONObject.toJSONString(vo)) | 109 | .fields(JSONObject.toJSONString(vo)) |
105 | .type(ProjectApplyTypeEnum.FIELD_EDIT_APPLY) | 110 | .type(ProjectApplyTypeEnum.FIELD_EDIT_APPLY) |
@@ -124,12 +129,8 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | @@ -124,12 +129,8 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
124 | if(CollectionUtils.isEmpty(records)){ | 129 | if(CollectionUtils.isEmpty(records)){ |
125 | return buildPageResult(page, Collections.emptyList()); | 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 | List<ProjectApplyVO> collect = records.stream().map(e -> { | 132 | List<ProjectApplyVO> collect = records.stream().map(e -> { |
131 | ProjectApplyVO projectApplyVO = BeanUtil.copyProperties(e, ProjectApplyVO.class); | 133 | ProjectApplyVO projectApplyVO = BeanUtil.copyProperties(e, ProjectApplyVO.class); |
132 | - projectApplyVO.setProjectNoPrefix(projectId2ProjectNoPrefixMap.get(e.getProjectId())); | ||
133 | return projectApplyVO; | 134 | return projectApplyVO; |
134 | }).collect(Collectors.toList()); | 135 | }).collect(Collectors.toList()); |
135 | return ServerResult.success(buildPageResult(page, collect)); | 136 | return ServerResult.success(buildPageResult(page, collect)); |
@@ -144,13 +145,13 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | @@ -144,13 +145,13 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
144 | applyDO.setStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); | 145 | applyDO.setStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); |
145 | ProjectFieldLockRecord recordDO = projectionFieldLockRecordService.getOne(new LambdaQueryWrapper<ProjectFieldLockRecord>() | 146 | ProjectFieldLockRecord recordDO = projectionFieldLockRecordService.getOne(new LambdaQueryWrapper<ProjectFieldLockRecord>() |
146 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 147 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
147 | - .eq(ProjectFieldLockRecord::getProjectId, applyDO.getProjectId()) | 148 | + .eq(ProjectFieldLockRecord::getProjectNoPrefix, applyDO.getProjectNoPrefix()) |
148 | .eq(ProjectFieldLockRecord::getUserId, applyDO.getApplyUserId()) | 149 | .eq(ProjectFieldLockRecord::getUserId, applyDO.getApplyUserId()) |
149 | .orderByDesc(ProjectFieldLockRecord::getId) | 150 | .orderByDesc(ProjectFieldLockRecord::getId) |
150 | .last("limit 1")); | 151 | .last("limit 1")); |
151 | if (Objects.isNull(recordDO)) { | 152 | if (Objects.isNull(recordDO)) { |
152 | recordDO = ProjectFieldLockRecord.builder() | 153 | recordDO = ProjectFieldLockRecord.builder() |
153 | - .projectId(applyDO.getProjectId()) | 154 | + .projectNoPrefix(applyDO.getProjectNoPrefix()) |
154 | .userId(applyDO.getApplyUserId()) | 155 | .userId(applyDO.getApplyUserId()) |
155 | .build(); | 156 | .build(); |
156 | } | 157 | } |
@@ -410,7 +411,6 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | @@ -410,7 +411,6 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
410 | }) | 411 | }) |
411 | .list(); | 412 | .list(); |
412 | Map<String, ProjectBaseInfoDO> noPrefix2ProjectProfitAnalysisDOMap = list.stream().collect(Collectors.toMap(ProjectBaseInfoDO::getProjectNoPrefix, Function.identity())); | 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 | Set<String> collect = orderInfoResultVOS.stream() | 414 | Set<String> collect = orderInfoResultVOS.stream() |
415 | .map(OrderBaseInfoVO::getCustomerCode) | 415 | .map(OrderBaseInfoVO::getCustomerCode) |
416 | .collect(Collectors.toSet()); | 416 | .collect(Collectors.toSet()); |
@@ -426,9 +426,9 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | @@ -426,9 +426,9 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
426 | List<ProjectFieldLockRecord> lockRecords = projectionFieldLockRecordService | 426 | List<ProjectFieldLockRecord> lockRecords = projectionFieldLockRecordService |
427 | .lambdaQuery() | 427 | .lambdaQuery() |
428 | .func(query -> { | 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 | }else { | 433 | }else { |
434 | query.apply("1!=1"); | 434 | query.apply("1!=1"); |
@@ -436,8 +436,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | @@ -436,8 +436,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe | ||
436 | }) | 436 | }) |
437 | .list(); | 437 | .list(); |
438 | Map<String,ProjectBaseInfoLockFieldVO> prjectNo2LockRecordMap = lockRecords.stream() | 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 | try { | 440 | try { |
442 | return objectMapper.readValue(record.getFields(), ProjectBaseInfoLockFieldVO.class); | 441 | return objectMapper.readValue(record.getFields(), ProjectBaseInfoLockFieldVO.class); |
443 | } catch (JsonProcessingException e) { | 442 | } catch (JsonProcessingException e) { |