Commit 0551ead7b968ba1e79a22212c1e89aad8b300201
1 parent
22a2341b
feat: 问题修复项
1、基础信息审批放给业务员
Showing
5 changed files
with
330 additions
and
7 deletions
sql/dml_20240314.sql
0 → 100644
src/main/java/com/order/erp/common/utils/OrderFieldUtils.java
1 | package com.order.erp.common.utils; | 1 | package com.order.erp.common.utils; |
2 | 2 | ||
3 | +import com.alibaba.fastjson.JSONObject; | ||
4 | +import com.order.erp.domain.ApplyStatusEnum; | ||
5 | +import com.order.erp.domain.ApplyTypeEnum; | ||
3 | import com.order.erp.domain.OrderLockFieldEnum; | 6 | import com.order.erp.domain.OrderLockFieldEnum; |
7 | +import com.order.erp.domain.RoleEnum; | ||
8 | +import com.order.erp.domain.dto.order.OrderFieldLockApplyDO; | ||
4 | import com.order.erp.domain.vo.order.*; | 9 | import com.order.erp.domain.vo.order.*; |
10 | +import org.springframework.beans.BeanUtils; | ||
5 | 11 | ||
12 | +import java.util.ArrayList; | ||
13 | +import java.util.List; | ||
6 | import java.util.Objects; | 14 | import java.util.Objects; |
7 | 15 | ||
8 | /** | 16 | /** |
@@ -13,6 +21,296 @@ import java.util.Objects; | @@ -13,6 +21,296 @@ import java.util.Objects; | ||
13 | */ | 21 | */ |
14 | public class OrderFieldUtils { | 22 | public class OrderFieldUtils { |
15 | 23 | ||
24 | + /** | ||
25 | + * | ||
26 | + * @param fieldJson | ||
27 | + * @return | ||
28 | + */ | ||
29 | + public static OrderLockFieldVO string2orderField(String fieldJson) { | ||
30 | + return JSONObject.parseObject(fieldJson, OrderLockFieldVO.class); | ||
31 | + } | ||
32 | + | ||
33 | + | ||
34 | + /** | ||
35 | + * @param baseFields | ||
36 | + * @param userId | ||
37 | + * @param orderId | ||
38 | + * @return | ||
39 | + */ | ||
40 | + public static OrderFieldLockApplyDO generatorBaseInfoFieldLockApplyDO(OrderBaseFieldVO baseFields, Long userId, Long orderId) { | ||
41 | + OrderLockFieldVO lockFieldVO = new OrderLockFieldVO(); | ||
42 | + lockFieldVO.setBaseFields(baseFields); | ||
43 | + OrderFieldLockApplyDO applyDO = OrderFieldLockApplyDO.builder() | ||
44 | + .applyUserId(userId) | ||
45 | + .auditUserId(null) | ||
46 | + .orderId(orderId) | ||
47 | + .type(ApplyTypeEnum.FIELD_EDIT_APPLY.getType()) | ||
48 | + .remark(ApplyTypeEnum.FIELD_EDIT_APPLY.getDesc()) | ||
49 | + .status(ApplyStatusEnum.WAIT_AUDIT.getStatus()) | ||
50 | + .build(); | ||
51 | + if (Objects.nonNull(baseFields) && checkOrderBaseField4apply(baseFields)) { | ||
52 | + lockFieldVO.setInspectionStageFields(initInspectionStageField(OrderLockFieldEnum.LOCKED)); | ||
53 | + lockFieldVO.setProfitAnalysisFields(initProfitAnalysisField(OrderLockFieldEnum.LOCKED)); | ||
54 | + lockFieldVO.setReportFields(initReportField(OrderLockFieldEnum.LOCKED)); | ||
55 | + lockFieldVO.setTrackStageFields(initTrackStageField(OrderLockFieldEnum.LOCKED)); | ||
56 | + applyDO.setFields(JSONObject.toJSONString(lockFieldVO)); | ||
57 | + applyDO.setAuditRoleCodes(RoleEnum.BUSINESS_USER.getCode()); | ||
58 | + return applyDO; | ||
59 | + } else { | ||
60 | + return null; | ||
61 | + } | ||
62 | + } | ||
63 | + | ||
64 | + /** | ||
65 | + * @param fieldVO | ||
66 | + * @param userId | ||
67 | + * @return | ||
68 | + */ | ||
69 | + public static OrderFieldLockApplyDO generatorOtherInfoFieldLockApplyDO(OrderUnlockFieldApplyVO fieldVO, Long userId) { | ||
70 | + if (checkInspectionStageField4apply(fieldVO.getInspectionStageFields()) && | ||
71 | + checkProfitAnalysisField4apply(fieldVO.getProfitAnalysisFields()) && | ||
72 | + checkReportField4apply(fieldVO.getReportFields()) && | ||
73 | + checkTrackStageField4apply(fieldVO.getTrackStageFields())) { | ||
74 | + OrderLockFieldVO lockFieldVO = new OrderLockFieldVO(); | ||
75 | + fieldVO.setBaseFields(initOrderBaseField(OrderLockFieldEnum.LOCKED)); | ||
76 | + BeanUtils.copyProperties(fieldVO, lockFieldVO); | ||
77 | + return OrderFieldLockApplyDO.builder() | ||
78 | + .applyUserId(userId) | ||
79 | + .auditUserId(null) | ||
80 | + .fields(JSONObject.toJSONString(lockFieldVO)) | ||
81 | + .auditRoleCodes(RoleEnum.ADMIN.getCode()) | ||
82 | + .orderId(fieldVO.getOrderId()) | ||
83 | + .type(ApplyTypeEnum.FIELD_EDIT_APPLY.getType()) | ||
84 | + .remark(ApplyTypeEnum.FIELD_EDIT_APPLY.getDesc()) | ||
85 | + .status(ApplyStatusEnum.WAIT_AUDIT.getStatus()) | ||
86 | + .build(); | ||
87 | + } else { | ||
88 | + return null; | ||
89 | + } | ||
90 | + } | ||
91 | + | ||
92 | + /** | ||
93 | + * @param fieldVO | ||
94 | + * @param userId | ||
95 | + * @return | ||
96 | + */ | ||
97 | + public static List<OrderFieldLockApplyDO> initOrderFieldLockApplyDOS(OrderUnlockFieldApplyVO fieldVO, Long userId) { | ||
98 | + List<OrderFieldLockApplyDO> resultList = new ArrayList<>(); | ||
99 | + OrderFieldLockApplyDO baseLockApply = generatorBaseInfoFieldLockApplyDO(fieldVO.getBaseFields(), userId, fieldVO.getOrderId()); | ||
100 | + if (Objects.nonNull(baseLockApply)) { | ||
101 | + resultList.add(baseLockApply); | ||
102 | + } | ||
103 | + OrderFieldLockApplyDO otherLockApply = generatorOtherInfoFieldLockApplyDO(fieldVO, userId); | ||
104 | + if (Objects.nonNull(otherLockApply)) { | ||
105 | + resultList.add(otherLockApply); | ||
106 | + } | ||
107 | + return resultList; | ||
108 | + } | ||
109 | + | ||
110 | + /** | ||
111 | + * @param inspectionStageField | ||
112 | + * @return | ||
113 | + */ | ||
114 | + public static boolean checkInspectionStageField4apply(OrderInspectionStageFieldVO inspectionStageField) { | ||
115 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getMidCheckApplyTime())) { | ||
116 | + return true; | ||
117 | + } | ||
118 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getMidCheckComment())) { | ||
119 | + return true; | ||
120 | + } | ||
121 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getMidCheckResult())) { | ||
122 | + return true; | ||
123 | + } | ||
124 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getEndCheckApplyTime())) { | ||
125 | + return true; | ||
126 | + } | ||
127 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getSpecification())) { | ||
128 | + return true; | ||
129 | + } | ||
130 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getFunctionality())) { | ||
131 | + return true; | ||
132 | + } | ||
133 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getElectroplate())) { | ||
134 | + return true; | ||
135 | + } | ||
136 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getValue1())) { | ||
137 | + return true; | ||
138 | + } | ||
139 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getValue2())) { | ||
140 | + return true; | ||
141 | + } | ||
142 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getValue3())) { | ||
143 | + return true; | ||
144 | + } | ||
145 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getBoxPacket())) { | ||
146 | + return true; | ||
147 | + } | ||
148 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(inspectionStageField.getEndCheckResult())) { | ||
149 | + return true; | ||
150 | + } | ||
151 | + return false; | ||
152 | + } | ||
153 | + | ||
154 | + /** | ||
155 | + * @param stageFieldVO | ||
156 | + * @return | ||
157 | + */ | ||
158 | + public static boolean checkTrackStageField4apply(OrderTrackStageFieldVO stageFieldVO) { | ||
159 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getPpTime())) { | ||
160 | + return true; | ||
161 | + } | ||
162 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getPpConfirmResult())) { | ||
163 | + return true; | ||
164 | + } | ||
165 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getEsoSampleSendTime())) { | ||
166 | + return true; | ||
167 | + } | ||
168 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getShippmentSampleSendTime())) { | ||
169 | + return true; | ||
170 | + } | ||
171 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getShippmentSampleConfirmResult())) { | ||
172 | + return true; | ||
173 | + } | ||
174 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getSelfTestPassTime())) { | ||
175 | + return true; | ||
176 | + } | ||
177 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getAitexTestSendTime())) { | ||
178 | + return true; | ||
179 | + } | ||
180 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getAitexTestFinishResult())) { | ||
181 | + return true; | ||
182 | + } | ||
183 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getSgsTestSendTime())) { | ||
184 | + return true; | ||
185 | + } | ||
186 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getSgsTestFinishResult())) { | ||
187 | + return true; | ||
188 | + } | ||
189 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getBarcodeStickerArrivalTime())) { | ||
190 | + return true; | ||
191 | + } | ||
192 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getLatestBkTime())) { | ||
193 | + return true; | ||
194 | + } | ||
195 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(stageFieldVO.getLatestArrivalTime())) { | ||
196 | + return true; | ||
197 | + } | ||
198 | + return false; | ||
199 | + } | ||
200 | + | ||
201 | + /** | ||
202 | + * @param reportField | ||
203 | + * @return | ||
204 | + */ | ||
205 | + public static boolean checkReportField4apply(OrderCompletionReportFieldVO reportField) { | ||
206 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getIdeaSource())) { | ||
207 | + return true; | ||
208 | + } | ||
209 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getIdeaSourceRate())) { | ||
210 | + return true; | ||
211 | + } | ||
212 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getManualPreform1())) { | ||
213 | + return true; | ||
214 | + } | ||
215 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getManualPreform1Rate())) { | ||
216 | + return true; | ||
217 | + } | ||
218 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getManualPreform2())) { | ||
219 | + return true; | ||
220 | + } | ||
221 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(reportField.getManualPreform2Rate())) { | ||
222 | + return true; | ||
223 | + } | ||
224 | + return false; | ||
225 | + } | ||
226 | + | ||
227 | + /** | ||
228 | + * @param profitAnalysisField | ||
229 | + * @return | ||
230 | + */ | ||
231 | + public static boolean checkProfitAnalysisField4apply(OrderProfitAnalysisFieldVO profitAnalysisField) { | ||
232 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(profitAnalysisField.getCustomerRmbPrice())) { | ||
233 | + return true; | ||
234 | + } | ||
235 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(profitAnalysisField.getCustomerPrice())) { | ||
236 | + return true; | ||
237 | + } | ||
238 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(profitAnalysisField.getPacketPrice())) { | ||
239 | + return true; | ||
240 | + } | ||
241 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(profitAnalysisField.getProductionDepartmentPrice())) { | ||
242 | + return true; | ||
243 | + } | ||
244 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(profitAnalysisField.getProfitType())) { | ||
245 | + return true; | ||
246 | + } | ||
247 | + return false; | ||
248 | + } | ||
249 | + | ||
250 | + public static boolean checkOrderBaseField4apply(OrderBaseFieldVO baseFields) { | ||
251 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getCustomerCode())) { | ||
252 | + return true; | ||
253 | + } | ||
254 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getProjectNo())) { | ||
255 | + return true; | ||
256 | + } | ||
257 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getProductionDepartment())) { | ||
258 | + return true; | ||
259 | + } | ||
260 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getInnerNo())) { | ||
261 | + return true; | ||
262 | + } | ||
263 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getCustomerPo())) { | ||
264 | + return true; | ||
265 | + } | ||
266 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getCustomerStyle())) { | ||
267 | + return true; | ||
268 | + } | ||
269 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getModeleLo())) { | ||
270 | + return true; | ||
271 | + } | ||
272 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getCollection())) { | ||
273 | + return true; | ||
274 | + } | ||
275 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getPoColor())) { | ||
276 | + return true; | ||
277 | + } | ||
278 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getCnColor())) { | ||
279 | + return true; | ||
280 | + } | ||
281 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getPicUrl())) { | ||
282 | + return true; | ||
283 | + } | ||
284 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getProductionComment())) { | ||
285 | + return true; | ||
286 | + } | ||
287 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getOrderCount())) { | ||
288 | + return true; | ||
289 | + } | ||
290 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getOrderComposition())) { | ||
291 | + return true; | ||
292 | + } | ||
293 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getProductStyle())) { | ||
294 | + return true; | ||
295 | + } | ||
296 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getProductionDepartmentConsignTime())) { | ||
297 | + return true; | ||
298 | + } | ||
299 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getOrderHodTime())) { | ||
300 | + return true; | ||
301 | + } | ||
302 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getOutboundType())) { | ||
303 | + return true; | ||
304 | + } | ||
305 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getPacketType())) { | ||
306 | + return true; | ||
307 | + } | ||
308 | + if (OrderLockFieldEnum.UN_LOCKED.getStatus().equals(baseFields.getBusinessPerson())) { | ||
309 | + return true; | ||
310 | + } | ||
311 | + | ||
312 | + return false; | ||
313 | + } | ||
16 | 314 | ||
17 | /** | 315 | /** |
18 | * @param lockFieldEnum | 316 | * @param lockFieldEnum |
src/main/java/com/order/erp/domain/dto/order/OrderFieldLockApplyDO.java
@@ -36,6 +36,10 @@ public class OrderFieldLockApplyDO extends BaseDO implements Serializable { | @@ -36,6 +36,10 @@ public class OrderFieldLockApplyDO extends BaseDO implements Serializable { | ||
36 | */ | 36 | */ |
37 | private Long auditUserId; | 37 | private Long auditUserId; |
38 | /** | 38 | /** |
39 | + * 审批角色code集合,分割 | ||
40 | + */ | ||
41 | + private String auditRoleCodes; | ||
42 | + /** | ||
39 | * 锁定字段 json字符串 | 43 | * 锁定字段 json字符串 |
40 | */ | 44 | */ |
41 | private String fields; | 45 | private String fields; |
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -634,8 +634,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -634,8 +634,11 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
634 | checkApply(fieldVO, userId); | 634 | checkApply(fieldVO, userId); |
635 | 635 | ||
636 | OrderFieldLockApplyDO applyDO = initOrderFieldLockApplyDO(fieldVO, userId); | 636 | OrderFieldLockApplyDO applyDO = initOrderFieldLockApplyDO(fieldVO, userId); |
637 | + List<OrderFieldLockApplyDO> applyDOList = OrderFieldUtils.initOrderFieldLockApplyDOS(fieldVO, userId); | ||
638 | + if (CollectionUtils.isNotEmpty(applyDOList)) { | ||
639 | + orderFieldLockApplyService.saveBatch(applyDOList); | ||
640 | + } | ||
637 | 641 | ||
638 | - orderFieldLockApplyService.save(applyDO); | ||
639 | orderOptLogService.save(buildOrderOptLogDo(fieldVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_FIELD_UNLOCK_APPLY.getDesc(), applyDO.getFields())); | 642 | orderOptLogService.save(buildOrderOptLogDo(fieldVO.getOrderId(), userId, OrderOptTypeEnum.ORDER_FIELD_UNLOCK_APPLY.getDesc(), applyDO.getFields())); |
640 | return ServerResult.success(); | 643 | return ServerResult.success(); |
641 | } | 644 | } |
@@ -704,6 +707,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -704,6 +707,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
704 | .applyUserId(userId) | 707 | .applyUserId(userId) |
705 | .auditUserId(null) | 708 | .auditUserId(null) |
706 | .fields(JSONObject.toJSONString(reportFieldVO)) | 709 | .fields(JSONObject.toJSONString(reportFieldVO)) |
710 | + .auditRoleCodes(RoleEnum.ADMIN.getCode()) | ||
707 | .orderId(reportFieldVO.getOrderId()) | 711 | .orderId(reportFieldVO.getOrderId()) |
708 | .type(ApplyTypeEnum.ORDER_REPORT_APPLY.getType()) | 712 | .type(ApplyTypeEnum.ORDER_REPORT_APPLY.getType()) |
709 | .remark(ApplyTypeEnum.ORDER_REPORT_APPLY.getDesc()) | 713 | .remark(ApplyTypeEnum.ORDER_REPORT_APPLY.getDesc()) |
@@ -738,6 +742,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | @@ -738,6 +742,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O | ||
738 | .applyUserId(userId) | 742 | .applyUserId(userId) |
739 | .auditUserId(null) | 743 | .auditUserId(null) |
740 | .fields(JSONObject.toJSONString(profitAnalysisFieldVO)) | 744 | .fields(JSONObject.toJSONString(profitAnalysisFieldVO)) |
745 | + .auditRoleCodes(RoleEnum.ADMIN.getCode()) | ||
741 | .orderId(profitAnalysisFieldVO.getOrderId()) | 746 | .orderId(profitAnalysisFieldVO.getOrderId()) |
742 | .type(ApplyTypeEnum.ORDER_PROFIT_APPLY.getType()) | 747 | .type(ApplyTypeEnum.ORDER_PROFIT_APPLY.getType()) |
743 | .remark(ApplyTypeEnum.ORDER_PROFIT_APPLY.getDesc()) | 748 | .remark(ApplyTypeEnum.ORDER_PROFIT_APPLY.getDesc()) |
src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java
@@ -14,13 +14,14 @@ import com.order.erp.common.constant.Constant; | @@ -14,13 +14,14 @@ import com.order.erp.common.constant.Constant; | ||
14 | import com.order.erp.common.constant.ServerResult; | 14 | import com.order.erp.common.constant.ServerResult; |
15 | import com.order.erp.common.constant.ServerResultCode; | 15 | import com.order.erp.common.constant.ServerResultCode; |
16 | import com.order.erp.common.exception.BusinessException; | 16 | import com.order.erp.common.exception.BusinessException; |
17 | +import com.order.erp.common.utils.OrderFieldUtils; | ||
17 | import com.order.erp.config.DataScope; | 18 | import com.order.erp.config.DataScope; |
18 | import com.order.erp.domain.ApplyStatusEnum; | 19 | import com.order.erp.domain.ApplyStatusEnum; |
19 | import com.order.erp.domain.ApplyTypeEnum; | 20 | import com.order.erp.domain.ApplyTypeEnum; |
20 | import com.order.erp.domain.OrderStatusEnum; | 21 | import com.order.erp.domain.OrderStatusEnum; |
22 | +import com.order.erp.domain.RoleEnum; | ||
21 | import com.order.erp.domain.dto.BaseDO; | 23 | import com.order.erp.domain.dto.BaseDO; |
22 | import com.order.erp.domain.dto.order.*; | 24 | import com.order.erp.domain.dto.order.*; |
23 | -import com.order.erp.domain.vo.admin.AdminResultVO; | ||
24 | import com.order.erp.domain.vo.order.*; | 25 | import com.order.erp.domain.vo.order.*; |
25 | import com.order.erp.mapper.order.OrderFieldLockApplyMapper; | 26 | import com.order.erp.mapper.order.OrderFieldLockApplyMapper; |
26 | import com.order.erp.service.order.*; | 27 | import com.order.erp.service.order.*; |
@@ -297,10 +298,7 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | @@ -297,10 +298,7 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | ||
297 | * @return | 298 | * @return |
298 | */ | 299 | */ |
299 | private LambdaQueryWrapper<OrderFieldLockApplyDO> buildQueryByParam(OrderFieldLockApplyQueryVO queryVO) { | 300 | private LambdaQueryWrapper<OrderFieldLockApplyDO> buildQueryByParam(OrderFieldLockApplyQueryVO queryVO) { |
300 | - AdminResultVO resultVO = dataScope.isAdmin(); | ||
301 | - if (!resultVO.getIsAdmin()) { | ||
302 | - queryVO.setApplyUserId(Objects.nonNull(resultVO.getUserVO()) ? resultVO.getUserVO().getId() : -1); | ||
303 | - } | 301 | + RoleEnum roleEnum = dataScope.getRole(); |
304 | Set<Long> orderIds = new HashSet<>(); | 302 | Set<Long> orderIds = new HashSet<>(); |
305 | if (CollectionUtils.isNotEmpty(queryVO.getCustomerCode()) || CollectionUtils.isNotEmpty(queryVO.getInnerNo()) | 303 | if (CollectionUtils.isNotEmpty(queryVO.getCustomerCode()) || CollectionUtils.isNotEmpty(queryVO.getInnerNo()) |
306 | || CollectionUtils.isNotEmpty(queryVO.getProductionDepartment()) || CollectionUtils.isNotEmpty(queryVO.getProjectNo())) { | 304 | || CollectionUtils.isNotEmpty(queryVO.getProductionDepartment()) || CollectionUtils.isNotEmpty(queryVO.getProjectNo())) { |
@@ -319,6 +317,7 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | @@ -319,6 +317,7 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | ||
319 | return new LambdaQueryWrapper<OrderFieldLockApplyDO>() | 317 | return new LambdaQueryWrapper<OrderFieldLockApplyDO>() |
320 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | 318 | .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) |
321 | .eq(Objects.nonNull(queryVO.getApplyUserId()), OrderFieldLockApplyDO::getApplyUserId, queryVO.getApplyUserId()) | 319 | .eq(Objects.nonNull(queryVO.getApplyUserId()), OrderFieldLockApplyDO::getApplyUserId, queryVO.getApplyUserId()) |
320 | + .like(Objects.nonNull(roleEnum), OrderFieldLockApplyDO::getAuditRoleCodes, roleEnum.getCode()) | ||
322 | .eq(Objects.nonNull(queryVO.getStatus()), OrderFieldLockApplyDO::getStatus, queryVO.getStatus()) | 321 | .eq(Objects.nonNull(queryVO.getStatus()), OrderFieldLockApplyDO::getStatus, queryVO.getStatus()) |
323 | .eq(Objects.nonNull(queryVO.getType()), OrderFieldLockApplyDO::getType, queryVO.getType()) | 322 | .eq(Objects.nonNull(queryVO.getType()), OrderFieldLockApplyDO::getType, queryVO.getType()) |
324 | .in(CollectionUtils.isNotEmpty(queryVO.getStatusList()), OrderFieldLockApplyDO::getStatus, queryVO.getStatusList()) | 323 | .in(CollectionUtils.isNotEmpty(queryVO.getStatusList()), OrderFieldLockApplyDO::getStatus, queryVO.getStatusList()) |
@@ -407,7 +406,23 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | @@ -407,7 +406,23 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp | ||
407 | .userId(applyDO.getApplyUserId()) | 406 | .userId(applyDO.getApplyUserId()) |
408 | .fields(applyDO.getFields()).build(); | 407 | .fields(applyDO.getFields()).build(); |
409 | } | 408 | } |
410 | - recordDO.setFields(applyDO.getFields()); | 409 | + OrderLockFieldVO applyField = OrderFieldUtils.string2orderField(applyDO.getFields()); |
410 | + OrderLockFieldVO recordField = StringUtils.isNotBlank(recordDO.getFields()) ? OrderFieldUtils.string2orderField(recordDO.getFields()) : null; | ||
411 | + if (Objects.nonNull(recordDO)) { | ||
412 | + if (applyDO.getAuditRoleCodes().contains(RoleEnum.BUSINESS_USER.getCode())) { | ||
413 | + recordField.setBaseFields(applyField.getBaseFields()); | ||
414 | + recordDO.setFields(JSONObject.toJSONString(recordField)); | ||
415 | + } else { | ||
416 | + recordField.setTrackStageFields(applyField.getTrackStageFields()); | ||
417 | + recordField.setReportFields(applyField.getReportFields()); | ||
418 | + recordField.setProfitAnalysisFields(applyField.getProfitAnalysisFields()); | ||
419 | + recordField.setInspectionStageFields(applyField.getInspectionStageFields()); | ||
420 | + recordDO.setFields(JSONObject.toJSONString(recordField)); | ||
421 | + } | ||
422 | + }else { | ||
423 | + recordDO.setFields(applyDO.getFields()); | ||
424 | + } | ||
425 | + | ||
411 | 426 | ||
412 | if (Objects.isNull(recordDO.getId())) { | 427 | if (Objects.isNull(recordDO.getId())) { |
413 | fieldLockRecordService.save(recordDO); | 428 | fieldLockRecordService.save(recordDO); |