diff --git a/pom.xml b/pom.xml index 3ca9834d..705a25b5 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 3.0.41 + 3.0.42 17 ${java.version} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java index c3d7a400..c5be9735 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/base/CompanyRelativityMapper.java @@ -7,6 +7,7 @@ import com.zt.plat.module.base.controller.admin.base.vo.CompanyRelativityPageReq import com.zt.plat.module.base.dal.dataobject.base.CompanyRelaDeptDO; import com.zt.plat.module.base.dal.dataobject.base.CompanyRelativityDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,4 +28,6 @@ public interface CompanyRelativityMapper extends BaseMapperX getPageByReq(CompanyRelativityPageReqVO pageReqVO); + + void removeByIds(@Param("ids")List ids); } \ No newline at end of file diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/CompanyRelativityServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/CompanyRelativityServiceImpl.java index 25c05d30..95efc20d 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/CompanyRelativityServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/CompanyRelativityServiceImpl.java @@ -64,7 +64,7 @@ public class CompanyRelativityServiceImpl implements CompanyRelativityService { // 校验存在 validateCompanyRelativityExists(ids); // 删除 - companyRelativityMapper.deleteByIds(ids); + companyRelativityMapper.removeByIds(ids); } private void validateCompanyRelativityExists(List ids) { diff --git a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml index 4cea5a3b..b1a1c069 100644 --- a/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml +++ b/zt-module-base/zt-module-base-server/src/main/resources/mapper/base/CompanyRelativityMapper.xml @@ -30,7 +30,6 @@ left join SPLY_ERP_CPN c on r.ERP_NUM = c.NUM where d.DELETED = 0 and d.IS_COMPANY = 1 - and r.DELETED = 0 and d.NAME = #{name} @@ -44,4 +43,11 @@ and d.DEPT_SOURCE = #{departmentSource} + + + delete from SPLY_CPN_REL where ID in + + #{item} + + \ No newline at end of file diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java index 274dc752..d2aa9700 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/contract/DictEnum.java @@ -5,6 +5,9 @@ package com.zt.plat.module.contractorder.enums.contract; */ public enum DictEnum { + /** 业务关联类型 */ + BSE_SYS_REL_TP_ORDER("订单","ORDER",null), + BSE_SYS_REL_TP_CONTRACT("合同","CONTRACT",null), /** 提交ERP合同状态 */ SUBMIT_ERP_CTRT_STS_EF("正在执行","EF","其它所有状态"), SUBMIT_ERP_CTRT_STS_BFZT("部分暂停","BFZT",null), diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java index e34028f8..2509b20d 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java @@ -100,28 +100,28 @@ public class ContractController implements BusinessControllerMarker { // TODO @PostMapping("/download") - @Operation(summary = "下载文件") + @Operation(summary = "下载文件 TODO") @PreAuthorize("@ss.hasPermission('base:contract:download')") public void download() { } // TODO @PostMapping("/preview") - @Operation(summary = "预览文件") + @Operation(summary = "预览文件 TODO") @PreAuthorize("@ss.hasPermission('base:contract:preview')") public void preview() { } // TODO @PostMapping("/complete") - @Operation(summary = "完结") + @Operation(summary = "完结 TODO") @PreAuthorize("@ss.hasPermission('base:contract:complete')") public void complete() { } // TODO @PostMapping("/archive") - @Operation(summary = "归档") + @Operation(summary = "归档 TODO") @PreAuthorize("@ss.hasPermission('base:contract:archive')") public void archive() { } @@ -135,7 +135,7 @@ public class ContractController implements BusinessControllerMarker { // TODO @PostMapping("/approval") - @Operation(summary = "合同审批") + @Operation(summary = "合同审批 TODO") @PreAuthorize("@ss.hasPermission('base:contract:approval')") public CommonResult approval(@Valid @RequestBody ApprovalReqVO reqVO) { return success(contractService.approval(reqVO)); @@ -143,7 +143,7 @@ public class ContractController implements BusinessControllerMarker { // TODO @PostMapping("/view/approval") - @Operation(summary = "查看审批") + @Operation(summary = "查看审批 TODO") @PreAuthorize("@ss.hasPermission('base:contract:approval')") public void viewApproval() { } @@ -157,29 +157,36 @@ public class ContractController implements BusinessControllerMarker { @GetMapping("/list/up-not-relation") @Operation(summary = "获得上游未关联合同列表") - @PreAuthorize("@ss.hasPermission('base:contract:get')") + @PreAuthorize("@ss.hasPermission('base:contract:relation')") public CommonResult> getListUpNotRelation(@RequestParam("id") Long id) { return success(contractService.getListUpNotRelation(id)); } @GetMapping("/list/down-not-relation") @Operation(summary = "获得下游未关联合同列表") - @PreAuthorize("@ss.hasPermission('base:contract:get')") + @PreAuthorize("@ss.hasPermission('base:contract:relation')") public CommonResult> getListDownNotRelation(@RequestParam("id") Long id) { return success(contractService.getListDownNotRelation(id)); } @GetMapping("/get/up-relation") @Operation(summary = "获得上游关联的合同数据") - @PreAuthorize("@ss.hasPermission('base:contract:get')") + @PreAuthorize("@ss.hasPermission('base:contract:relation')") public CommonResult getUpRelation(@RequestParam("id") Long id) { return success(contractService.getUpRelation(id)); } @GetMapping("/get/down-relation") @Operation(summary = "获得下游关联的合同数据") - @PreAuthorize("@ss.hasPermission('base:contract:get')") + @PreAuthorize("@ss.hasPermission('base:contract:relation')") public CommonResult getDownRelation(@RequestParam("id") Long id) { return success(contractService.getDownRelation(id)); } + + @PostMapping("/relation") + @Operation(summary = "关联合同") + @PreAuthorize("@ss.hasPermission('base:contract:relation')") + public CommonResult relation(@RequestBody RelationReqVo reqVo) { + return success(contractService.relation(reqVo)); + } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java index 75f8b088..0555c4be 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractSaveReqVO.java @@ -1,5 +1,6 @@ package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract; +import cn.hutool.json.JSONArray; import com.alibaba.excel.annotation.ExcelProperty; import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; @@ -34,7 +35,7 @@ public class ContractSaveReqVO { private String fileObject; @Schema(description = "其它附件对象存储") - private String fileObjectOther; + private JSONArray fileObjectOther; // 合同基本信息 @Schema(description = "甲方公司编号;如果是采购合同,查询组织机构自动带出,且与ERP(HTQDZTBH)对应,如果是销售合同,手动选择,且与ERP(WLDWBH)对应。", example = "甲方公司编号") diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/RelationReqVo.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/RelationReqVo.java new file mode 100644 index 00000000..27816187 --- /dev/null +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/RelationReqVo.java @@ -0,0 +1,18 @@ +package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +@Schema(description = "管理后台 - 合同关联请求对象 Request VO") +@Data +public class RelationReqVo { + + @Schema(description = "上游主键", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "上游主键不能为空") + private Long upId; + + @Schema(description = "下游主键", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "下游主键不能为空") + private Long downId; +} diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java index 7c43346b..bae6e202 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java @@ -151,4 +151,12 @@ public interface ContractService { * @return 关联的下游合同数据 */ ContractRespVO getDownRelation(Long id); + + /** + * 关联合同 + * + * @param reqVo 上下游合同ID + * @return 关联结果 + */ + Boolean relation(RelationReqVo reqVo); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index 95b61cd3..a363f61b 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -1050,26 +1050,6 @@ public class ContractServiceImpl implements ContractService { return ""; } - /** - * 获取合同ID集合 - * - * @param contractName 合同名称 - * @param contractPaperNumber 合同编号 - * @return 合同ID集合 - */ - private List getContractIds(String contractName, String contractPaperNumber) { - List contractIds = new ArrayList<>(); - List contractMainDOS = contractMainMapper.selectList(new LambdaQueryWrapperX() - .likeIfPresent(ContractMainDO::getContractName, contractName) - .likeIfPresent(ContractMainDO::getContractPaperNumber, contractPaperNumber)); - if (CollectionUtils.isNotEmpty(contractMainDOS)) { - contractIds = contractMainDOS.stream() - .map(contractMainDO -> contractMainDO.getId()) - .collect(Collectors.toList()); - } - return contractIds; - } - @Override public List getNots(NotsQueryReqVO queryReqVO) { // 查合同ID集合 @@ -1252,22 +1232,22 @@ public class ContractServiceImpl implements ContractService { // 客商编号:SPLR_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司编码”,反之为“ERP甲方公司编码” // 客商名称:SPLR_NAME 根据合同主表的收支方向判断,如果为“支出”,值为“ERP乙方公司名称”,反之为“ERP甲方公司名称” if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) { - erpContractVO.setSupplierNumber(contractMainDO.getSalesCompanyNumber()); - erpContractVO.setSupplierName(contractMainDO.getSalesCompanyName()); + erpContractVO.setSupplierNumber(contractMainDO.getErpSalesCompanyNumber()); + erpContractVO.setSupplierName(contractMainDO.getErpSalesCompanyName()); } else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) { - erpContractVO.setSupplierNumber(contractMainDO.getPurchaseCompanyNumber()); - erpContractVO.setSupplierName(contractMainDO.getPurchaseCompanyName()); + erpContractVO.setSupplierNumber(contractMainDO.getErpPurchaseCompanyNumber()); + erpContractVO.setSupplierName(contractMainDO.getErpPurchaseCompanyName()); } // 代理方:AGT erpContractVO.setAgent(contractMainDO.getAgent()); // 合同实施主体编号:CTRT_IMPL_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司编码”,反之为“ERP乙方公司编码” // 合同签订主体编号:CTRT_SGN_NUM 根据合同主表的收支方向判断,如果为“支出”,值为“ERP甲方公司名称”,反之为“ERP乙方公司名称” if (DictEnum.ERP_RCV_DLVY_EXPENSES.getCode().equals(contractMainDO.getDirection())) { - erpContractVO.setContractImplementNumber(contractMainDO.getPurchaseCompanyNumber()); - erpContractVO.setContractSignNumber(contractMainDO.getPurchaseCompanyName()); + erpContractVO.setContractImplementNumber(contractMainDO.getErpPurchaseCompanyNumber()); + erpContractVO.setContractSignNumber(contractMainDO.getErpPurchaseCompanyName()); } else if (DictEnum.ERP_RCV_DLVY_INCOME.getCode().equals(contractMainDO.getDirection())) { - erpContractVO.setContractImplementNumber(contractMainDO.getSalesCompanyNumber()); - erpContractVO.setContractSignNumber(contractMainDO.getSalesCompanyName()); + erpContractVO.setContractImplementNumber(contractMainDO.getErpSalesCompanyNumber()); + erpContractVO.setContractSignNumber(contractMainDO.getErpSalesCompanyName()); } // 合同签订日期:SGN_DT if (contractMainDO.getSignDate() != null) { @@ -1362,6 +1342,16 @@ public class ContractServiceImpl implements ContractService { return result; } + @Override + public Boolean relation(RelationReqVo reqVo) { + SystemRelativityDO saveDO = new SystemRelativityDO(); + saveDO.setStatus(DictEnum.BSE_SYS_REL_TP_CONTRACT.getCode()); + saveDO.setUpId(reqVo.getUpId()); + saveDO.setDownId(reqVo.getDownId()); + int insert = systemRelativityMapper.insert(saveDO); + return insert > 0; + } + /** * 校验合同内容 * @@ -1584,4 +1574,24 @@ public class ContractServiceImpl implements ContractService { } return numPrefix + "-" + num; } + + /** + * 获取合同ID集合 + * + * @param contractName 合同名称 + * @param contractPaperNumber 合同编号 + * @return 合同ID集合 + */ + private List getContractIds(String contractName, String contractPaperNumber) { + List contractIds = new ArrayList<>(); + List contractMainDOS = contractMainMapper.selectList(new LambdaQueryWrapperX() + .likeIfPresent(ContractMainDO::getContractName, contractName) + .likeIfPresent(ContractMainDO::getContractPaperNumber, contractPaperNumber)); + if (CollectionUtils.isNotEmpty(contractMainDOS)) { + contractIds = contractMainDOS.stream() + .map(contractMainDO -> contractMainDO.getId()) + .collect(Collectors.toList()); + } + return contractIds; + } }