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;
+ }
}