diff --git a/base-server/src/main/resources/application.yml b/base-server/src/main/resources/application.yml
index adccaac..7eb362a 100644
--- a/base-server/src/main/resources/application.yml
+++ b/base-server/src/main/resources/application.yml
@@ -114,8 +114,8 @@ zt:
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
swagger:
- title: 管理后台
- description: 提供管理员管理的所有功能
+ title: Base 模块
+ description: 提供基础管理模块的所有功能
version: ${zt.info.version}
tenant: # 多租户相关配置项
enable: true
diff --git a/pom.xml b/pom.xml
index 705a25b..c92f4b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -211,6 +211,12 @@
liss
+
+ qsj
+
+ qsj
+
+
diff --git a/zt-module-base/zt-module-base-server/pom.xml b/zt-module-base/zt-module-base-server/pom.xml
index 44d9d4e..acd97ea 100644
--- a/zt-module-base/zt-module-base-server/pom.xml
+++ b/zt-module-base/zt-module-base-server/pom.xml
@@ -42,6 +42,12 @@
${revision}
+
+ com.zt.plat
+ zt-module-erp-api
+ ${revision}
+
+
com.zt.plat
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
index d45b7a5..12abb3d 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
@@ -101,4 +101,12 @@ public class MaterialInfomationController {
BeanUtils.toBean(list, MaterialInfomationRespVO.class));
}
+ @GetMapping("/getOneTest")
+ @Operation(summary = "测试获取生产版本")
+ @PreAuthorize("@ss.hasPermission('base:material-infomation:query')")
+ public CommonResult getTest() {
+ String getOneTest = materialInfomationService.getOneTest();
+ return success(getOneTest);
+ }
+
}
\ 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/MaterialInfomationService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationService.java
index cf0cb49..952a06f 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationService.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationService.java
@@ -61,4 +61,5 @@ public interface MaterialInfomationService {
*/
PageResult getMaterialInfomationPage(MaterialInfomationPageReqVO pageReqVO);
+ String getOneTest();
}
\ 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/MaterialInfomationServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java
index 19e88a8..eec1acc 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/base/MaterialInfomationServiceImpl.java
@@ -1,6 +1,7 @@
package com.zt.plat.module.base.service.base;
import cn.hutool.core.collection.CollUtil;
+import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationPageReqVO;
@@ -8,6 +9,8 @@ import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationRespVO
import com.zt.plat.module.base.controller.admin.base.vo.MaterialInfomationSaveReqVO;
import com.zt.plat.module.base.dal.dataobject.base.MaterialInfomationDO;
import com.zt.plat.module.base.dal.mysql.base.MaterialInfomationMapper;
+import com.zt.plat.module.erp.api.ErpExternalApi;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -29,6 +32,10 @@ public class MaterialInfomationServiceImpl implements MaterialInfomationService
@Resource
private MaterialInfomationMapper materialInfomationMapper;
+ @Resource
+ private ErpExternalApi erpExternalApi;
+
+
@Override
public MaterialInfomationRespVO createMaterialInfomation(MaterialInfomationSaveReqVO createReqVO) {
// 插入
@@ -86,4 +93,14 @@ public class MaterialInfomationServiceImpl implements MaterialInfomationService
return materialInfomationMapper.selectPage(pageReqVO);
}
+ @Override
+ public String getOneTest() {
+ ErpProductiveVersionReqDTO reqDTO = new ErpProductiveVersionReqDTO();
+ reqDTO.setFactoryNumber("5020");
+ reqDTO.setMaterialNumber("224814");
+ CommonResult erpProductiveVersion = erpExternalApi.getErpProductiveVersionByFM(reqDTO);
+ return erpProductiveVersion.getData();
+ }
+
+
}
\ 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/api/dto/contract/DeductRespDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/DeductRespDTO.java
index 6184e42..ae49cc4 100644
--- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/DeductRespDTO.java
+++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/contract/DeductRespDTO.java
@@ -32,10 +32,10 @@ public class DeductRespDTO {
private String rangeWay;
@Schema(description = "上限")
- private String up;
+ private BigDecimal up;
@Schema(description = "下限")
- private String down;
+ private BigDecimal down;
@Schema(description = "类型(字典:STLM_COEF)")
private String type;
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 fef3ebe..41ba61e 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
@@ -145,8 +145,8 @@ public class ContractController implements BusinessControllerMarker {
@PostMapping("/submit/erp")
@Operation(summary = "提交ERP")
@PreAuthorize("@ss.hasPermission('base:contract:erp')")
- public CommonResult> submitErp(@RequestBody List ids) {
- return success(contractService.submitErp(ids));
+ public CommonResult submitErp(@RequestParam("id") Long id) {
+ return success(contractService.submitErp(id));
}
@GetMapping("/list/up-not-relation")
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/ContractPageReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractPageReqVO.java
index 294acac..73b4347 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractPageReqVO.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/ContractPageReqVO.java
@@ -38,4 +38,7 @@ public class ContractPageReqVO extends PageParam {
@Schema(description = "本币金额;与ERP(HTBWBZJE)对应")
private BigDecimal basicAmount;
+
+ @Schema(description = "合同分类(字典:SPLY_BSN_TP)")
+ private String businessType;
}
\ No newline at end of file
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/DeductRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductRespVO.java
index c37f024..e544e2b 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductRespVO.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductRespVO.java
@@ -31,10 +31,10 @@ public class DeductRespVO {
private String rangeWay;
@Schema(description = "上限")
- private String up;
+ private BigDecimal up;
@Schema(description = "下限")
- private String down;
+ private BigDecimal down;
@Schema(description = "类型(字典:STLM_COEF)")
private String type;
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/DeductSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductSaveReqVO.java
index 8246ab7..fa796e3 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductSaveReqVO.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/DeductSaveReqVO.java
@@ -31,10 +31,10 @@ public class DeductSaveReqVO {
private String rangeWay;
@Schema(description = "上限")
- private String up;
+ private BigDecimal up;
@Schema(description = "下限")
- private String down;
+ private BigDecimal down;
@Schema(description = "类型(字典:STLM_COEF)")
private String type;
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/RelationRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/vo/contract/RelationRespVO.java
new file mode 100644
index 0000000..9e87427
--- /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/RelationRespVO.java
@@ -0,0 +1,15 @@
+package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "管理后台 - 合同关联 Response VO")
+@Data
+public class RelationRespVO {
+
+ @Schema(description = "上游主键")
+ private Long upId;
+
+ @Schema(description = "下游主键")
+ private Long downId;
+}
diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractDeductDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractDeductDO.java
index f89b3d0..1c9c94c 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractDeductDO.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/contract/ContractDeductDO.java
@@ -63,12 +63,12 @@ public class ContractDeductDO extends BusinessBaseDO {
* 上限
*/
@TableField("UP")
- private String up;
+ private BigDecimal up;
/**
* 下限
*/
@TableField("DOWN")
- private String down;
+ private BigDecimal down;
/**
* 类型(字典:STLM_COEF)
*/
diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java
index bc36ddf..c3705fb 100644
--- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/contract/ContractMainMapper.java
@@ -23,6 +23,7 @@ public interface ContractMainMapper extends BaseMapperX {
.likeIfPresent(ContractMainDO::getPurchaseCompanyName, reqVO.getPurchaseCompanyName())
.eqIfPresent(ContractMainDO::getBasicAmount, reqVO.getBasicAmount())
.eqIfPresent(ContractMainDO::getStatus, reqVO.getStatus())
+ .eqIfPresent(ContractMainDO::getBusinessType, reqVO.getBusinessType())
.orderByDesc(ContractMainDO::getCreateTime));
}
}
\ No newline at end of file
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 d81bf25..6b229bb 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
@@ -102,10 +102,10 @@ public interface ContractService {
/**
* 提交ERP
*
- * @param ids 合同ID集合
- * @return
+ * @param id 合同ID
+ * @return 提交结果
*/
- List submitErp(List ids);
+ JSONObject submitErp(Long id);
/**
* 删除合同
@@ -163,6 +163,14 @@ public interface ContractService {
*/
Boolean relation(RelationReqVo reqVo);
+ /**
+ * 根据合同ID获得关联合同
+ *
+ * @param id 合同ID
+ * @return 上下游合同ID
+ */
+ RelationRespVO getRelation(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 ccc090e..873e7fb 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
@@ -54,6 +54,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayOutputStream;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@@ -171,7 +172,11 @@ public class ContractServiceImpl implements ContractService {
// 合同状态保存为草稿
contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_DRAFT.getCode());
// 生成系统合同编号
- contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getCategory()));
+ contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getBusinessType()));
+ // 原币金额-变更后
+ if (contractMainDO.getChangeCooAmount() == null) contractMainDO.setChangeCooAmount(new BigDecimal(0));
+ // 本币金额-变更后
+ if (contractMainDO.getChangeBasicAmount() == null) contractMainDO.setChangeBasicAmount(new BigDecimal(0));
// 保存合同主信息
contractMainMapper.insert(contractMainDO);
@@ -1312,62 +1317,65 @@ public class ContractServiceImpl implements ContractService {
}
@Override
- public List submitErp(List ids) {
+ public JSONObject submitErp(Long id) {
- List results = new ArrayList<>();
+ JSONObject result = new JSONObject();
- // 遍历合同ID集合
- ids.forEach(id -> {
+ // 查询合同信息
+ ContractMainDO contractMainDO = contractMainMapper.selectById(id);
- // 查询合同信息
- ContractMainDO contractMainDO = contractMainMapper.selectById(id);
+ // 合同数据不存在
+ if (contractMainDO == null) {
+ throw exception(CONTRACT_NOT_EXISTS);
+ }
- if (contractMainDO != null) {
+ // 合同状态校验
+ if (!(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(contractMainDO.getStatus())
+ || DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus())
+ || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus()))) {
- // 合同状态校验
- if (!(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(contractMainDO.getStatus())
- || DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus())
- || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus()))) {
+ throw exception(CONTRACT_STATUS_NOT_SUBMIT_ERP,
+ DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel());
+ }
- throw exception(CONTRACT_STATUS_NOT_SUBMIT_ERP,
- DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel());
- }
+ // 生成ERP合同映射表
+ ErpContractSaveReqVO erpContractVO = getErpContract(contractMainDO);
- // 生成ERP合同映射表
- ErpContractSaveReqVO erpContractVO = getErpContract(contractMainDO);
+ // 调用ERP模块
+ JSONObject erpResult = sendToErp(erpContractVO);
+ log.info("合同提交ERP结果:{}", erpResult);
+ result.putOnce("success", erpResult.getBool("success"));
- // 调用ERP模块
- JSONObject erpResult = sendToErp(erpContractVO);
- log.info("合同提交ERP结果:{}", erpResult);
- String result = id
- +"-"+erpResult.getBool("success")
- +(erpResult.getBool("success") ? "" : "-" + erpResult.getStr("errMsg"));
- results.add(result);
+ // 更新合同状态
+ if (erpResult.getBool("success")) {
+ contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode());
+ contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_FIND.getCode());
+ contractMainMapper.updateById(contractMainDO);
- // 更新合同状态
- if (erpResult.getBool("success")) {
- contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode());
- contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_FIND.getCode());
- contractMainMapper.updateById(contractMainDO);
- } else {
- contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode());
- contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_RLBK.getCode());
- // contractMainDO.setCause(erpResult.getStr("errMsg"));
- contractMainMapper.updateById(contractMainDO);
- }
- } else {
- results.add(id+"-"+"false"+"-"+CONTRACT_NOT_EXISTS);
- }
- });
+ result.putOnce("data", erpResult.getStr("data"));
+ } else {
+ contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode());
+ contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_RLBK.getCode());
+ contractMainDO.setCause(erpResult.getStr("errMsg"));
+ contractMainMapper.updateById(contractMainDO);
- return results;
+ result.putOnce("data", erpResult.getStr("errMsg"));
+ }
+
+ return result;
}
private JSONObject sendToErp(ErpContractSaveReqVO erpContractVO) {
JSONObject erpResult = new JSONObject();
try {
- String result = erpContractService.submitErp(erpContractVO);
- erpResult.putOnce("success", true);
+ HashMap result = erpContractService.submitErp(erpContractVO);
+ if ("E".equals(result.get("flag"))) {
+ erpResult.putOnce("success", false);
+ erpResult.putOnce("errMsg", result.get("resStr")+":"+result.get("E_RESP"));
+ } else {
+ erpResult.putOnce("success", true);
+ erpResult.putOnce("data", result);
+ }
} catch (Exception e) {
erpResult.putOnce("success", false);
erpResult.putOnce("errMsg", e.getMessage());
@@ -1386,6 +1394,32 @@ public class ContractServiceImpl implements ContractService {
return insert > 0;
}
+ @Override
+ public RelationRespVO getRelation(Long id) {
+
+ // 返回结果
+ RelationRespVO resp = new RelationRespVO();
+
+ // 获得上游合同关联
+ SystemRelativityDO upSystemRelativityDO = systemRelativityMapper
+ .selectOne(new LambdaQueryWrapperX()
+ .eq(SystemRelativityDO::getDownId, id)
+ );
+
+ // 获得下游合同关联
+ SystemRelativityDO downSystemRelativityDO = systemRelativityMapper
+ .selectOne(new LambdaQueryWrapperX()
+ .eq(SystemRelativityDO::getUpId, id)
+ );
+
+ // 上游合同ID
+ if (upSystemRelativityDO != null) resp.setUpId(upSystemRelativityDO.getId());
+ // 下游合同ID
+ if (downSystemRelativityDO != null) resp.setDownId(downSystemRelativityDO.getId());
+
+ return resp;
+ }
+
@Override
public ResponseEntity download(List ids) {
try {
@@ -1517,10 +1551,10 @@ public class ContractServiceImpl implements ContractService {
// 更新合同
contractMainMapper.updateById(contractMainDO);
- });
- // 重新提交erp
- submitErp(ids);
+ // 重新提交erp
+ submitErp(id);
+ });
return true;
}
@@ -1548,10 +1582,10 @@ public class ContractServiceImpl implements ContractService {
// 更新合同
contractMainMapper.updateById(contractMainDO);
- });
- // 重新提交erp
- submitErp(ids);
+ // 重新提交erp
+ submitErp(id);
+ });
return true;
}
diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/logback-spring.xml b/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..6641085
--- /dev/null
+++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/resources/logback-spring.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ${PATTERN_DEFAULT}
+
+
+
+
+
+
+
+
+
+ ${PATTERN_DEFAULT}
+
+
+
+ ${LOG_FILE}
+
+
+ ${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}
+
+ ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}
+
+ ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}
+
+ ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}
+
+ ${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30}
+
+
+
+
+
+ 0
+
+ 256
+
+
+
+
+
+
+
+ ${PATTERN_DEFAULT}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java
index e37718b..f8889bd 100644
--- a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java
+++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/ErpExternalApi.java
@@ -1,5 +1,7 @@
package com.zt.plat.module.erp.api;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO;
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
import com.zt.plat.module.erp.enums.ApiConstants;
@@ -28,4 +30,7 @@ public interface ErpExternalApi {
@Operation(summary = "erp数据查询")
HashMap queryDataToErp(@Valid @RequestBody ErpQueryReqDTO reqDTO);
+ @GetMapping(PREFIX + "/queryProductiveVersion")
+ @Operation(summary = "生产版本数据查询")
+ CommonResult getErpProductiveVersionByFM(@Valid @RequestBody ErpProductiveVersionReqDTO reqDTO);
}
diff --git a/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpProductiveVersionReqDTO.java b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpProductiveVersionReqDTO.java
new file mode 100644
index 0000000..cd3253f
--- /dev/null
+++ b/zt-module-erp/zt-module-erp-api/src/main/java/com/zt/plat/module/erp/api/dto/ErpProductiveVersionReqDTO.java
@@ -0,0 +1,20 @@
+package com.zt.plat.module.erp.api.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.util.Map;
+
+@Schema(description = "RPC 服务 - 查询 ERP DTO")
+@Data
+public class ErpProductiveVersionReqDTO {
+
+ @Schema(description = "工厂编码")
+ @NotNull(message = "工厂编码不能为空")
+ private String factoryNumber;
+ @Schema(description = "物料编码")
+ @NotNull(message = "物料编码不能为空")
+ private String materialNumber;
+
+}
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
index bbf5b2e..4532369 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/api/ErpExternalApiImpl.java
@@ -1,15 +1,22 @@
package com.zt.plat.module.erp.api;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO;
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
+import com.zt.plat.module.erp.service.erp.ErpProductiveVersionService;
import com.zt.plat.module.erp.utils.ErpConfig;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
/**
* ERP Api 实现类
*
@@ -22,6 +29,8 @@ public class ErpExternalApiImpl implements ErpExternalApi {
@Resource
private ErpConfig erpConfig;
+ @Resource
+ private ErpProductiveVersionService erpProductiveVersionService;
@Override
public HashMap submitDataToErp(ErpSubmitReqDTO reqDTO) {
@@ -34,4 +43,10 @@ public class ErpExternalApiImpl implements ErpExternalApi {
Map req = new HashMap<>();
return erpConfig.fetchDataFromERP(funcnr, req);
}
+
+ @Override
+ public CommonResult getErpProductiveVersionByFM(ErpProductiveVersionReqDTO reqDTO) {
+ String productiveVersionNumber = erpProductiveVersionService.getErpProductiveVersionByFM(reqDTO);
+ return success(productiveVersionNumber);
+ }
}
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java
index 0ef7d5b..894a89f 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpProductiveVersionController.java
@@ -109,4 +109,11 @@ public class ErpProductiveVersionController {
return success(true);
}
+ @PutMapping("/isEnable")
+ @Operation(summary = "启用ERP生产版本,相同工厂、物料,只能启用一个")
+ @PreAuthorize("@ss.hasPermission('sply:erp-productive-version:update')")
+ public CommonResult enableErpProductiveVersion(@Valid @RequestBody ErpProductiveVersionSaveReqVO updateReqVO) {
+ erpProductiveVersionService.enableErpProductiveVersion(updateReqVO);
+ return success(true);
+ }
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionPageReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionPageReqVO.java
index 56377c5..678515a 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionPageReqVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionPageReqVO.java
@@ -29,4 +29,6 @@ public class ErpProductiveVersionPageReqVO extends PageParam {
@Schema(description = "组计数器", example = "15610")
private Long groupCount;
+ @Schema(description = "是否启用")
+ private String isEnable;
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionRespVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionRespVO.java
index a40b721..39dff3b 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionRespVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionRespVO.java
@@ -42,4 +42,7 @@ public class ErpProductiveVersionRespVO {
@ExcelProperty("组计数器")
private Long groupCount;
+ @Schema(description = "是否启用")
+ private String isEnable;
+
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionSaveReqVO.java
index 8039b33..ae375a6 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionSaveReqVO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpProductiveVersionSaveReqVO.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.erp.controller.admin.erp.vo;
+import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@@ -38,4 +39,7 @@ public class ErpProductiveVersionSaveReqVO {
@NotNull(message = "组计数器不能为空")
private Long groupCount;
+ @Schema(description = "是否启用")
+ private String isEnable;
+
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpProductiveVersionDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpProductiveVersionDO.java
index 35d2098..752eb43 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpProductiveVersionDO.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpProductiveVersionDO.java
@@ -63,4 +63,7 @@ public class ErpProductiveVersionDO {
@TableField("GRP_CNT")
private Long groupCount;
+ @TableField("IS_ENB")
+ private String isEnable;
+
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpProductiveVersionMapper.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpProductiveVersionMapper.java
index 17558ed..26001f0 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpProductiveVersionMapper.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/mysql/erp/ErpProductiveVersionMapper.java
@@ -3,9 +3,11 @@ package com.zt.plat.module.erp.dal.mysql.erp;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpProductiveVersionPageReqVO;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpProductiveVersionDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
/**
* ERP生产版本 Mapper
@@ -27,4 +29,13 @@ public interface ErpProductiveVersionMapper extends BaseMapperX()
+ .eq(ErpProductiveVersionDO::getFactoryNumber, reqDTO.getFactoryNumber())
+ .eq(ErpProductiveVersionDO::getMaterialNumber, reqDTO.getMaterialNumber())
+ .eq(ErpProductiveVersionDO::getIsEnable, 1)
+ .last("LIMIT 1")).getProductiveVersionNumber();
+ };
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
index ca681b4..dfd863a 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractService.java
@@ -7,6 +7,7 @@ import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO;
import jakarta.validation.Valid;
+import java.util.HashMap;
import java.util.List;
/**
@@ -77,5 +78,5 @@ public interface ErpContractService {
* @param erpContractVO ERP合同映射数据
* @return ERP合同映射
*/
- String submitErp(ErpContractSaveReqVO erpContractVO);
+ HashMap submitErp(ErpContractSaveReqVO erpContractVO);
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
index 6583933..21f750c 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpContractServiceImpl.java
@@ -30,7 +30,6 @@ import java.util.Map;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.module.erp.enums.ErrorCodeConstants.ERP_CONTRACT_NOT_EXISTS;
-import static dm.jdbc.util.DriverUtil.log;
/**
* ERP合同映射 Service 实现类
@@ -227,7 +226,7 @@ public class ErpContractServiceImpl implements ErpContractService {
}
@Override
- public String submitErp(ErpContractSaveReqVO erpContractVO) {
+ public HashMap submitErp(ErpContractSaveReqVO erpContractVO) {
// 转换为DO
ErpContractDO erpContract = BeanUtils.toBean(erpContractVO, ErpContractDO.class);
@@ -337,7 +336,7 @@ public class ErpContractServiceImpl implements ErpContractService {
HashMap response = erpExternalApi.submitDataToErp(erpSubmitReqDTO);
- return response.get("resStr");
+ return response;
}
/**
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProcessDetailServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProcessDetailServiceImpl.java
index 414280a..bc87575 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProcessDetailServiceImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProcessDetailServiceImpl.java
@@ -149,11 +149,12 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
new LambdaQueryWrapperX()
.in(ErpProcessDetailDO::getProcessId, result.toInsert.stream().map(ErpProcessDetailDO::getProcessId).distinct().collect(Collectors.toList()))
.in(ErpProcessDetailDO::getProcessingNumber, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingNumber).distinct().collect(Collectors.toList()))
+ .in(ErpProcessDetailDO::getProcessingName, result.toInsert.stream().map(ErpProcessDetailDO::getProcessingName).distinct().collect(Collectors.toList()))
.in(ErpProcessDetailDO::getWorkCenterNumber, result.toInsert.stream().map(ErpProcessDetailDO::getWorkCenterNumber).distinct().collect(Collectors.toList()))
);
Map numberIdMap = insertedRecords.stream()
.collect(Collectors.toMap(
- asset -> asset.getProcessId() + "-" + asset.getProcessingNumber() + "-" + asset.getWorkCenterNumber(),
+ asset -> asset.getProcessId() + "-" + asset.getProcessingNumber() + "-" + asset.getProcessingName() + "-" + asset.getWorkCenterNumber(),
ErpProcessDetailDO::getId, (existing, replacement) -> replacement));
myRedisConfig.addRedisCacheMap(result.key, numberIdMap);
}
@@ -188,7 +189,7 @@ public class ErpProcessDetailServiceImpl implements ErpProcessDetailService {
List assets = erpProcessDetailMapper.selectList(new LambdaQueryWrapperX());
Map existingNumbers = new HashMap<>();
for (ErpProcessDetailDO asset : assets) {
- String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber()+ "-" + asset.getWorkCenterNumber();
+ String mapKey = asset.getProcessId() + "-" + asset.getProcessingNumber()+ "-" + asset.getProcessingName()+ "-" + asset.getWorkCenterNumber();
existingNumbers.put(mapKey, asset.getId());
}
myRedisConfig.addRedisCacheMap(key, existingNumbers);
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionService.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionService.java
index d205e4a..27076a3 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionService.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionService.java
@@ -1,6 +1,7 @@
package com.zt.plat.module.erp.service.erp;
import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpProductiveVersionPageReqVO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpProductiveVersionRespVO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpProductiveVersionSaveReqVO;
@@ -62,4 +63,8 @@ public interface ErpProductiveVersionService {
PageResult getErpProductiveVersionPage(ErpProductiveVersionPageReqVO pageReqVO);
void callErpRfcInterface();
+
+ void enableErpProductiveVersion(ErpProductiveVersionSaveReqVO updateReqVO);
+
+ String getErpProductiveVersionByFM(ErpProductiveVersionReqDTO reqDTO);
}
\ No newline at end of file
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionServiceImpl.java
index 4e6e622..45ba8e4 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionServiceImpl.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpProductiveVersionServiceImpl.java
@@ -7,6 +7,7 @@ import com.xxl.job.core.handler.annotation.XxlJob;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.utils.ErpConfig;
import com.zt.plat.module.erp.utils.MyRedisConfig;
import com.zt.plat.module.erp.enums.OftenEnum;
@@ -104,6 +105,22 @@ public class ErpProductiveVersionServiceImpl implements ErpProductiveVersionServ
return erpProductiveVersionMapper.selectPage(pageReqVO);
}
+ @Override
+ public void enableErpProductiveVersion(ErpProductiveVersionSaveReqVO updateReqVO) {
+
+ validateErpProductiveVersionExists(updateReqVO.getId());
+ erpProductiveVersionMapper.enableErpProductiveVersion(updateReqVO.getFactoryNumber(), updateReqVO.getMaterialNumber());
+ // 更新
+ ErpProductiveVersionDO updateObj = BeanUtils.toBean(updateReqVO, ErpProductiveVersionDO.class);
+ erpProductiveVersionMapper.updateById(updateObj);
+ }
+
+ @Override
+ public String getErpProductiveVersionByFM(ErpProductiveVersionReqDTO reqDTO) {
+ return erpProductiveVersionMapper.getErpProductiveVersionByFM(reqDTO);
+ }
+
+
@Override
@Transactional
@XxlJob("getErpProductiveVersionTask")
diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java
index cdcf879..82d5b65 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java
+++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/utils/ErpConfig.java
@@ -151,6 +151,8 @@ public class ErpConfig {
if (StrUtil.isBlank(E_MSG)) {
E_MSG = jsonResponse.getString("msg");
}
+ String E_RESP = data.getString("E_RESP");
+ resMap.put("E_RESP", E_RESP);
resMap.put("resStr", E_MSG);
resMap.put("flag", flag);
}
diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpProductiveVersionMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpProductiveVersionMapper.xml
index c64aa8e..ae65326 100644
--- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpProductiveVersionMapper.xml
+++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpProductiveVersionMapper.xml
@@ -9,4 +9,10 @@
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
+
+ UPDATE sply_erp_pdtv_ver
+ SET IS_ENB = 1
+ WHERE FACT_NUM = #{factoryNumber}
+ AND MTRL_NUM = #{materialNumber}
+
\ No newline at end of file