Commit 9d73d4da20f44066d90b30bcbbf650c1f74661fa

Authored by 谢茂盛
1 parent bf6639aa

feat: 问题修复项

1、利润分析表提交的审核内容,管理员通过审核OK,系统放开后可以编辑,但是不能保存更改
src/main/java/com/order/erp/common/utils/OrderFieldUtils.java
@@ -13,6 +13,7 @@ import java.util.Objects; @@ -13,6 +13,7 @@ import java.util.Objects;
13 */ 13 */
14 public class OrderFieldUtils { 14 public class OrderFieldUtils {
15 15
  16 +
16 /** 17 /**
17 * @param lockFieldEnum 18 * @param lockFieldEnum
18 * @return 19 * @return
src/main/java/com/order/erp/domain/vo/order/OrderInfoResultVO.java
@@ -45,6 +45,11 @@ public class OrderInfoResultVO extends OrderBaseInfoVO implements Serializable { @@ -45,6 +45,11 @@ public class OrderInfoResultVO extends OrderBaseInfoVO implements Serializable {
45 private OrderLockFieldVO lockFields; 45 private OrderLockFieldVO lockFields;
46 46
47 /** 47 /**
  48 + * 修改未审核信息
  49 + */
  50 + private OrderLockFieldVO orderUpdateInfoVO;
  51 +
  52 + /**
48 * 进度条 53 * 进度条
49 */ 54 */
50 private Double schedule; 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,6 +179,8 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
179 if (locked) { 179 if (locked) {
180 // 填充字段锁定信息 180 // 填充字段锁定信息
181 fillLockFields(resultVOList); 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,7 +817,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
815 } 817 }
816 if (StringUtils.isBlank(inspectionStageInfo.getEndCheckResult())) { 818 if (StringUtils.isBlank(inspectionStageInfo.getEndCheckResult())) {
817 return false; 819 return false;
818 - } else if ("FAIL".equals(inspectionStageInfo.getEndCheckResult())) { 820 + } else if ("FAIL" .equals(inspectionStageInfo.getEndCheckResult())) {
819 return false; 821 return false;
820 } 822 }
821 return true; 823 return true;
@@ -1004,6 +1006,37 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O @@ -1004,6 +1006,37 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
1004 /** 1006 /**
1005 * @param orderInfoResultVOList 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 private void fillLockFields(List<OrderInfoResultVO> orderInfoResultVOList) { 1040 private void fillLockFields(List<OrderInfoResultVO> orderInfoResultVOList) {
1008 if (CollectionUtils.isEmpty(orderInfoResultVOList)) { 1041 if (CollectionUtils.isEmpty(orderInfoResultVOList)) {
1009 return; 1042 return;