Commit 9d73d4da20f44066d90b30bcbbf650c1f74661fa
1 parent
bf6639aa
feat: 问题修复项
1、利润分析表提交的审核内容,管理员通过审核OK,系统放开后可以编辑,但是不能保存更改
Showing
4 changed files
with
81 additions
and
1 deletions
src/main/java/com/order/erp/common/utils/OrderFieldUtils.java
src/main/java/com/order/erp/domain/vo/order/OrderInfoResultVO.java
... | ... | @@ -45,6 +45,11 @@ public class OrderInfoResultVO extends OrderBaseInfoVO implements Serializable { |
45 | 45 | private OrderLockFieldVO lockFields; |
46 | 46 | |
47 | 47 | /** |
48 | + * 修改未审核信息 | |
49 | + */ | |
50 | + private OrderLockFieldVO orderUpdateInfoVO; | |
51 | + | |
52 | + /** | |
48 | 53 | * 进度条 |
49 | 54 | */ |
50 | 55 | private Double schedule; | ... | ... |
src/main/java/com/order/erp/domain/vo/order/OrderUpdateInfoVO.java
0 → 100644
1 | +package com.order.erp.domain.vo.order; | |
2 | + | |
3 | +import lombok.*; | |
4 | +import lombok.experimental.SuperBuilder; | |
5 | + | |
6 | +import java.io.Serializable; | |
7 | + | |
8 | +/** | |
9 | + * @author makejava | |
10 | + * @since 2023-09-08 15:26:43 | |
11 | + */ | |
12 | +@Data | |
13 | +@AllArgsConstructor | |
14 | +@ToString | |
15 | +@NoArgsConstructor | |
16 | +@EqualsAndHashCode(callSuper = false) | |
17 | +@SuperBuilder | |
18 | +public class OrderUpdateInfoVO implements Serializable { | |
19 | + | |
20 | + | |
21 | + /** | |
22 | + * 利润分析字段 | |
23 | + */ | |
24 | + private OrderProfitAnalysisFieldVO profitAnalysisFields; | |
25 | + | |
26 | + /** | |
27 | + * 项目报告书字段 | |
28 | + */ | |
29 | + private OrderCompletionReportFieldVO reportFields; | |
30 | + | |
31 | + /** | |
32 | + * 跟单字段 | |
33 | + */ | |
34 | + private OrderTrackStageFieldVO trackStageFields; | |
35 | + | |
36 | + /** | |
37 | + * 质检字段 | |
38 | + */ | |
39 | + private OrderInspectionStageFieldVO inspectionStageFields; | |
40 | + | |
41 | +} | ... | ... |
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... | ... | @@ -179,6 +179,8 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
179 | 179 | if (locked) { |
180 | 180 | // 填充字段锁定信息 |
181 | 181 | fillLockFields(resultVOList); |
182 | + // 查询是否编辑未生效字段 | |
183 | + fillOrderUpdateInfos(resultVOList); | |
182 | 184 | } |
183 | 185 | |
184 | 186 | // 填充进度 |
... | ... | @@ -815,7 +817,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
815 | 817 | } |
816 | 818 | if (StringUtils.isBlank(inspectionStageInfo.getEndCheckResult())) { |
817 | 819 | return false; |
818 | - } else if ("FAIL".equals(inspectionStageInfo.getEndCheckResult())) { | |
820 | + } else if ("FAIL" .equals(inspectionStageInfo.getEndCheckResult())) { | |
819 | 821 | return false; |
820 | 822 | } |
821 | 823 | return true; |
... | ... | @@ -1004,6 +1006,37 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O |
1004 | 1006 | /** |
1005 | 1007 | * @param orderInfoResultVOList |
1006 | 1008 | */ |
1009 | + private void fillOrderUpdateInfos(List<OrderInfoResultVO> orderInfoResultVOList) { | |
1010 | + if (CollectionUtils.isEmpty(orderInfoResultVOList)) { | |
1011 | + return; | |
1012 | + } | |
1013 | + | |
1014 | + Set<Long> orderIds = orderInfoResultVOList.stream().map(OrderInfoResultVO::getId).collect(Collectors.toSet()); | |
1015 | + | |
1016 | + List<OrderFieldLockApplyDO> fieldLockApplyDOList = orderFieldLockApplyService.list(new LambdaQueryWrapper<OrderFieldLockApplyDO>() | |
1017 | + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | |
1018 | + .eq(OrderFieldLockApplyDO::getApplyUserId, dataScope.getLoginUserId()) | |
1019 | + .eq(OrderFieldLockApplyDO::getStatus, ApplyStatusEnum.WAIT_AUDIT.getStatus()) | |
1020 | + .in(OrderFieldLockApplyDO::getOrderId, orderIds)); | |
1021 | + | |
1022 | + if (CollectionUtils.isNotEmpty(fieldLockApplyDOList)) { | |
1023 | + Map<Long, OrderFieldLockApplyDO> applyDOMap = fieldLockApplyDOList.stream().collect(Collectors.toMap(OrderFieldLockApplyDO::getOrderId, Function.identity())); | |
1024 | + orderInfoResultVOList.forEach(x -> { | |
1025 | + OrderFieldLockApplyDO applyDO = applyDOMap.get(x.getId()); | |
1026 | + if (!ApplyTypeEnum.FIELD_EDIT_APPLY.getType().equals(applyDO.getType())) { | |
1027 | + String fields = applyDO.getFields(); | |
1028 | + if (StringUtils.isNotBlank(fields)) { | |
1029 | + OrderLockFieldVO fieldVO = JSONObject.parseObject(fields, OrderLockFieldVO.class); | |
1030 | + x.setOrderUpdateInfoVO(fieldVO); | |
1031 | + } | |
1032 | + } | |
1033 | + }); | |
1034 | + } | |
1035 | + } | |
1036 | + | |
1037 | + /** | |
1038 | + * @param orderInfoResultVOList | |
1039 | + */ | |
1007 | 1040 | private void fillLockFields(List<OrderInfoResultVO> orderInfoResultVOList) { |
1008 | 1041 | if (CollectionUtils.isEmpty(orderInfoResultVOList)) { |
1009 | 1042 | return; | ... | ... |