diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/TableFieldConstants.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/TableFieldConstants.java index 1a520bb..dbb03e3 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/TableFieldConstants.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/enums/TableFieldConstants.java @@ -137,4 +137,10 @@ public class TableFieldConstants { /* 实例条款值表 */ // 关联实例主键 public static final String BSE_TMPL_INSC_ITM_INSC_ID = "INSC_ID"; + + /* 业务关联表 */ + // 上游主键 + public static final String BSE_SYS_REL_UP_ID = "UP_ID"; + // 下游主键 + public static final String BSE_SYS_REL_DOWN_ID = "DOWN_ID"; } 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 3f55ecb..bc35f93 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 @@ -161,4 +161,18 @@ public class ContractController implements BusinessControllerMarker { public CommonResult> getListNotRelation(@RequestParam("id") Long id) { return success(contractService.getListNotRelation(id)); } + + @GetMapping("/get/up-relation") + @Operation(summary = "获得上游关联的合同数据") + @PreAuthorize("@ss.hasPermission('base:contract:get')") + public CommonResult getUpRelation(@RequestParam("id") Long id) { + return success(contractService.getUpRelation(id)); + } + + @GetMapping("/get/down-relation") + @Operation(summary = "获得下游关联的合同数据") + @PreAuthorize("@ss.hasPermission('base:contract:get')") + public CommonResult getDownRelation(@RequestParam("id") Long id) { + return success(contractService.getDownRelation(id)); + } } 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 5cf55d5..8d4aa19 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 @@ -121,4 +121,8 @@ public interface ContractService { ContractRespVO getBySystemContractNumber(String systemContractNumber); List getListNotRelation(Long id); + + ContractRespVO getUpRelation(Long id); + + ContractRespVO getDownRelation(Long id); } 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 1064090..a4ab02d 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 @@ -527,6 +527,48 @@ public class ContractServiceImpl implements ContractService { return result; } + @Override + public ContractRespVO getUpRelation(Long id) { + + // 查询关联表 + SystemRelativityDO systemRelativityDO = systemRelativityMapper.selectOne(TableFieldConstants.BSE_SYS_REL_DOWN_ID, id); + if (systemRelativityDO == null) { + return null; + } + + // 上游合同ID + Long upId = systemRelativityDO.getUpId(); + + // 获取上游合同信息 + ContractMainDO contractMainDO = contractMainMapper.selectById(upId); + if (contractMainDO == null) { + throw exception(CONTRACT_NOT_EXISTS); + } + + return BeanUtils.toBean(contractMainDO, ContractRespVO.class); + } + + @Override + public ContractRespVO getDownRelation(Long id) { + + // 查询关联表 + SystemRelativityDO systemRelativityDO = systemRelativityMapper.selectOne(TableFieldConstants.BSE_SYS_REL_UP_ID, id); + if (systemRelativityDO == null) { + return null; + } + + // 下游合同ID + Long upId = systemRelativityDO.getUpId(); + + // 获取下游合同信息 + ContractMainDO contractMainDO = contractMainMapper.selectById(upId); + if (contractMainDO == null) { + throw exception(CONTRACT_NOT_EXISTS); + } + + return BeanUtils.toBean(contractMainDO, ContractRespVO.class); + } + @Transactional @Override public Boolean update(ContractSaveReqVO reqVO) {