Commit 09c2f2fac1de00cf6d80e15873650edc1eda7616
1 parent
6811acb2
经销库存、外贸库存正式合同:办事处内勤审核过程中可修改合同、驳回业务员可修改,办事处内勤审核通过生成订货单,后续节点驳回后只能修改规范性文件,其它不可再修改;经…
…销未锁规、外贸未锁规标准合同:办事处内勤审核过程中可修改合同、驳回业务员可修改,办事处内勤审核通过生成订货单,后续节点驳回后只能修改规范性文件
Showing
2 changed files
with
106 additions
and
24 deletions
| @@ -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(); |