Commit 09c2f2fac1de00cf6d80e15873650edc1eda7616

Authored by 房远帅
1 parent 6811acb2

经销库存、外贸库存正式合同:办事处内勤审核过程中可修改合同、驳回业务员可修改,办事处内勤审核通过生成订货单,后续节点驳回后只能修改规范性文件,其它不可再修改;经…

…销未锁规、外贸未锁规标准合同:办事处内勤审核过程中可修改合同、驳回业务员可修改,办事处内勤审核通过生成订货单,后续节点驳回后只能修改规范性文件
@@ -625,7 +625,7 @@ public class ContractDistributorStandardServiceImpl extends @@ -625,7 +625,7 @@ public class ContractDistributorStandardServiceImpl extends
625 } 625 }
626 } 626 }
627 627
628 - @OpLog(type = OtherOpLogType.class, name = "上传合同附件,ID:{}", params = {"#id"}) 628 + @OpLog(type = OtherOpLogType.class, name = "上传正式合同附件,ID:{}", params = {"#id"})
629 @Transactional(rollbackFor = Exception.class) 629 @Transactional(rollbackFor = Exception.class)
630 @Override 630 @Override
631 public void uploadFormalContract(UpdateContractDistributorStandardVo vo) { 631 public void uploadFormalContract(UpdateContractDistributorStandardVo vo) {
@@ -635,6 +635,39 @@ public class ContractDistributorStandardServiceImpl extends @@ -635,6 +635,39 @@ public class ContractDistributorStandardServiceImpl extends
635 } 635 }
636 636
637 LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class) 637 LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class)
  638 + .set(ContractDistributorStandard::getCode, vo.getCode())
  639 + .set(ContractDistributorStandard::getSupplier, vo.getSupplier())
  640 + .set(ContractDistributorStandard::getBuyer, vo.getBuyer())
  641 + .set(vo.getDeptId() != null, ContractDistributorStandard::getDeptId, vo.getDeptId())
  642 + .set(vo.getRegion() != null, ContractDistributorStandard::getRegion, vo.getRegion())
  643 + .set(vo.getStockUpCompanyId() != null, ContractDistributorStandard::getStockUpCompanyId, vo.getStockUpCompanyId())
  644 + .set(ContractDistributorStandard::getOrderDate, vo.getOrderDate())
  645 + .set(ContractDistributorStandard::getUnit, vo.getUnit())
  646 + .set(ContractDistributorStandard::getWorkshopId, vo.getWorkshopId())
  647 + .set(ContractDistributorStandard::getTotalAmountCapital, vo.getTotalAmountCapital())
  648 + .set(ContractDistributorStandard::getDepositInfo, vo.getDepositInfo())
  649 + .set(ContractDistributorStandard::getPackagingRequirements, vo.getPackagingRequirements())
  650 + .set(ContractDistributorStandard::getPaymentTerms, vo.getPaymentTerms())
  651 + .set(ContractDistributorStandard::getExecutionStandard, vo.getExecutionStandard())
  652 + .set(ContractDistributorStandard::getExecutionStandardRemarks, vo.getExecutionStandardRemarks())
  653 + .set(ContractDistributorStandard::getTransportMode, vo.getTransportMode())
  654 + .set(ContractDistributorStandard::getDestination, vo.getDestination())
  655 + .set(ContractDistributorStandard::getIncludesPackagingFee, vo.getIncludesPackagingFee())
  656 + .set(ContractDistributorStandard::getIncludesTransportFee, vo.getIncludesTransportFee())
  657 + .set(ContractDistributorStandard::getPieceWeightHead, vo.getPieceWeightHead())
  658 + .set(ContractDistributorStandard::getSurface, vo.getSurface())
  659 + .set(ContractDistributorStandard::getTolerance, vo.getTolerance())
  660 + .set(ContractDistributorStandard::getPerformance, vo.getPerformance())
  661 + .set(ContractDistributorStandard::getComponent, vo.getComponent())
  662 + .set(ContractDistributorStandard::getPackaging, vo.getPackaging())
  663 + .set(ContractDistributorStandard::getSpecialTerms, vo.getSpecialTerms())
  664 + .set(ContractDistributorStandard::getDesignatedConsignee, vo.getDesignatedConsignee())
  665 + .set(ContractDistributorStandard::getSpecialInstructions, vo.getSpecialInstructions())
  666 + .set(ContractDistributorStandard::getRemarks, vo.getRemarks())
  667 + .set(ContractDistributorStandard::getTotalAmountExcludingTax, vo.getTotalAmountExcludingTax())
  668 + .set(ContractDistributorStandard::getTotalAmountIncludingTax, vo.getTotalAmountIncludingTax())
  669 + .set(ContractDistributorStandard::getTotalQuantity, vo.getTotalQuantity())
  670 + .set(ContractDistributorStandard::getType, vo.getType())
638 .set(ContractDistributorStandard::getFormalFileId, vo.getFormalFileId()) 671 .set(ContractDistributorStandard::getFormalFileId, vo.getFormalFileId())
639 .set(ContractDistributorStandard::getFormalFileName, vo.getFormalFileName()) 672 .set(ContractDistributorStandard::getFormalFileName, vo.getFormalFileName())
640 .set(ContractDistributorStandard::getFormalStandardized, vo.getFormalStandardized()) 673 .set(ContractDistributorStandard::getFormalStandardized, vo.getFormalStandardized())
@@ -666,11 +699,28 @@ public class ContractDistributorStandardServiceImpl extends @@ -666,11 +699,28 @@ public class ContractDistributorStandardServiceImpl extends
666 data.setFormalFileName(vo.getFormalFileName()); 699 data.setFormalFileName(vo.getFormalFileName());
667 data.setFormalStandardized(vo.getFormalStandardized()); 700 data.setFormalStandardized(vo.getFormalStandardized());
668 701
  702 + //经销库存合同、外贸库存合同可以修改内容
  703 + if ("DIST_STOCK_CONTRACT".equals(data.getType()) || "INTL_INVENTORY_AGMT".equals(data.getType())) {
  704 + dealWithDistributorLine(data, vo);
  705 + //查询更新后数据
  706 + ContractDistributorStandard data1 = getBaseMapper().selectById(vo.getId());
  707 + Wrapper<PurchaseOrderInfo> orderInfoWrapper = Wrappers.lambdaQuery(PurchaseOrderInfo.class)
  708 + .eq(PurchaseOrderInfo::getContractId, data.getId());
  709 + List<PurchaseOrderInfo> purchaseOrderInfoList = purchaseOrderInfoService.list(orderInfoWrapper);
  710 + Boolean canEdit = false;
  711 + if (CollectionUtils.isEmpty(purchaseOrderInfoList)) {
  712 + canEdit = true;
  713 + }
  714 + data1.setCanEdit(canEdit);
  715 + }
  716 +
669 // 开启审核 717 // 开启审核
670 flowInstanceWrapperService.startInstance(FORMAL_FLAG, data.getId(), FORMAL_FLAG, data); 718 flowInstanceWrapperService.startInstance(FORMAL_FLAG, data.getId(), FORMAL_FLAG, data);
671 719
672 - // 创建订货单  
673 - createPurchaseOrderInfo(data, Arrays.asList("DIST_STOCK_CONTRACT", "INTL_INVENTORY_AGMT").contains(data.getType()) ? "PRODUCTION" : "NO_PRODUCTION"); 720 + // 创建订货单(经销未锁规、外贸未锁规上传正式合同附件直接生成订货单(无需生产))
  721 + if ("DRAFT_DIST_AGMT".equals(data.getType()) || "INTL_OPEN_SPEC_AGMT".equals(data.getType())) {
  722 + createPurchaseOrderInfo(data, "NO_PRODUCTION");
  723 + }
674 } 724 }
675 725
676 /** 726 /**
@@ -864,22 +914,24 @@ public class ContractDistributorStandardServiceImpl extends @@ -864,22 +914,24 @@ public class ContractDistributorStandardServiceImpl extends
864 data.setStandardFileId(vo.getStandardFileId()); 914 data.setStandardFileId(vo.getStandardFileId());
865 data.setStandardFileName(vo.getStandardFileName()); 915 data.setStandardFileName(vo.getStandardFileName());
866 data.setStandardStandardized(vo.getStandardStandardized()); 916 data.setStandardStandardized(vo.getStandardStandardized());
867 - if ("PROCESS_STD_AGMT".equals(data.getType())) {  
868 - dealWithStdProcessingLine(data, vo);  
869 - } else {  
870 - dealWithDistributorLine(data, vo);  
871 - }  
872 -  
873 //查询更新后数据 917 //查询更新后数据
874 ContractDistributorStandard data1 = getBaseMapper().selectById(vo.getId()); 918 ContractDistributorStandard data1 = getBaseMapper().selectById(vo.getId());
875 - Wrapper<PurchaseOrderInfo> orderInfoWrapper = Wrappers.lambdaQuery(PurchaseOrderInfo.class)  
876 - .eq(PurchaseOrderInfo::getContractId, data.getId());  
877 - List<PurchaseOrderInfo> purchaseOrderInfoList = purchaseOrderInfoService.list(orderInfoWrapper);  
878 - Boolean canEdit = false;  
879 - if (CollectionUtils.isEmpty(purchaseOrderInfoList)) {  
880 - canEdit = true; 919 + //经销库存合同、外贸库存合同上传标准合同附件时不可以修改内容
  920 + if (!"DIST_STOCK_CONTRACT".equals(data.getType()) && !"INTL_INVENTORY_AGMT".equals(data.getType())) {
  921 + if ("PROCESS_STD_AGMT".equals(data.getType())) {
  922 + dealWithStdProcessingLine(data, vo);
  923 + } else {
  924 + dealWithDistributorLine(data, vo);
  925 + }
  926 + Wrapper<PurchaseOrderInfo> orderInfoWrapper = Wrappers.lambdaQuery(PurchaseOrderInfo.class)
  927 + .eq(PurchaseOrderInfo::getContractId, data.getId());
  928 + List<PurchaseOrderInfo> purchaseOrderInfoList = purchaseOrderInfoService.list(orderInfoWrapper);
  929 + Boolean canEdit = false;
  930 + if (CollectionUtils.isEmpty(purchaseOrderInfoList)) {
  931 + canEdit = true;
  932 + }
  933 + data1.setCanEdit(canEdit);
881 } 934 }
882 - data1.setCanEdit(canEdit);  
883 // 开启审核 935 // 开启审核
884 flowInstanceWrapperService.startInstance(STANDARD_FLAG, data.getId(), STANDARD_FLAG, data1); 936 flowInstanceWrapperService.startInstance(STANDARD_FLAG, data.getId(), STANDARD_FLAG, data1);
885 937
@@ -1254,8 +1306,8 @@ public class ContractDistributorStandardServiceImpl extends @@ -1254,8 +1306,8 @@ public class ContractDistributorStandardServiceImpl extends
1254 OpLogUtil.setVariable("id", vo.getId()); 1306 OpLogUtil.setVariable("id", vo.getId());
1255 OpLogUtil.setExtra(vo); 1307 OpLogUtil.setExtra(vo);
1256 1308
1257 - // 创建订货单  
1258 - createPurchaseOrderInfo(data, "PRODUCTION"); 1309 +// // 创建订货单
  1310 +// createPurchaseOrderInfo(data, "PRODUCTION");
1259 } 1311 }
1260 1312
1261 public List<String> getNoContractSigned(List<String> buyerList) { 1313 public List<String> getNoContractSigned(List<String> buyerList) {
@@ -90,13 +90,43 @@ public class FlowTaskServiceImpl implements FlowTaskService { @@ -90,13 +90,43 @@ public class FlowTaskServiceImpl implements FlowTaskService {
90 //先将 Map 序列化为 JSON 字符串,再反序列化为目标对象 90 //先将 Map 序列化为 JSON 字符串,再反序列化为目标对象
91 String json = objectMapper.writeValueAsString(map); 91 String json = objectMapper.writeValueAsString(map);
92 UpdateContractDistributorStandardVo vo = JsonUtil.parseObject(json, UpdateContractDistributorStandardVo.class); 92 UpdateContractDistributorStandardVo vo = JsonUtil.parseObject(json, UpdateContractDistributorStandardVo.class);
93 - contractDistributorStandardService.update(vo);  
94 - if ("PASS".equals(status) && ("DISTRIB_STD".equals(vo.getType()) 93 + //经销标准合同、外贸标准合同、加工标准合同、经销未锁规合同、外贸未锁规格合同
  94 + if ("DISTRIB_STD".equals(vo.getType())
95 || "INTL_STD_CONTRACT".equals(vo.getType()) 95 || "INTL_STD_CONTRACT".equals(vo.getType())
96 - || "PROCESS_STD_AGMT".equals(vo.getType()))) {  
97 - ContractDistributorStandard data = contractDistributorStandardService.findById(vo.getId());  
98 - // 创建订货单  
99 - contractDistributorStandardService.createPurchaseOrderInfo(data, "PRODUCTION"); 96 + || "PROCESS_STD_AGMT".equals(vo.getType())
  97 + || "DRAFT_DIST_AGMT".equals(vo.getType())
  98 + || "INTL_OPEN_SPEC_AGMT".equals(vo.getType())) {
  99 + contractDistributorStandardService.update(vo);
  100 + if ("PASS".equals(status)) {
  101 + ContractDistributorStandard data = contractDistributorStandardService.findById(vo.getId());
  102 + // 创建订货单
  103 + contractDistributorStandardService.createPurchaseOrderInfo(data, "PRODUCTION");
  104 + }
  105 + }
  106 + } catch (JsonProcessingException e) {
  107 + e.printStackTrace();
  108 + }
  109 + }
  110 +
  111 + @OpLog(type = OtherOpLogType.class, name = "修改正式合同,ID:{}", params = {"#id"})
  112 + @Transactional(rollbackFor = Exception.class)
  113 + @Override
  114 + public void updateFormalContractByMap(Map<String, Object> map, String status) {
  115 + try {
  116 + // 创建 ObjectMapper 实例
  117 + ObjectMapper objectMapper = new ObjectMapper();
  118 + //先将 Map 序列化为 JSON 字符串,再反序列化为目标对象
  119 + String json = objectMapper.writeValueAsString(map);
  120 + UpdateContractDistributorStandardVo vo = JsonUtil.parseObject(json, UpdateContractDistributorStandardVo.class);
  121 + //经销库存合同、外贸库存合同
  122 + if ("DIST_STOCK_CONTRACT".equals(vo.getType())
  123 + || "INTL_INVENTORY_AGMT".equals(vo.getType())) {
  124 + contractDistributorStandardService.update(vo);
  125 + if ("PASS".equals(status)) {
  126 + ContractDistributorStandard data = contractDistributorStandardService.findById(vo.getId());
  127 + // 创建订货单
  128 + contractDistributorStandardService.createPurchaseOrderInfo(data, "PRODUCTION");
  129 + }
100 } 130 }
101 } catch (JsonProcessingException e) { 131 } catch (JsonProcessingException e) {
102 e.printStackTrace(); 132 e.printStackTrace();