From a00dd53d9f8c12eb5b959989d1ea323855978c02 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Wed, 15 Oct 2025 11:18:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=BE=97=E4=B8=8A=E6=B8=B8=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=9A=84=E5=90=88=E5=90=8C=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E8=8E=B7=E5=BE=97=E4=B8=8B=E6=B8=B8=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=9A=84=E5=90=88=E5=90=8C=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/TableFieldConstants.java | 6 +++ .../admin/contract/ContractController.java | 14 +++++++ .../service/contract/ContractService.java | 4 ++ .../service/contract/ContractServiceImpl.java | 42 +++++++++++++++++++ 4 files changed, 66 insertions(+) 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) {