diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java index 6d8219b..43dc25b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialPageReqVO.java @@ -55,4 +55,7 @@ public class ErpMaterialPageReqVO extends PageParam { @Schema(description = "物料长描述") private String materialLengthDescription; + @Schema(description = "类型") + private String type; + } \ 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/ErpMaterialRespVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java index dbaaf3f..449525b 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialRespVO.java @@ -68,4 +68,8 @@ public class ErpMaterialRespVO { @ExcelProperty("物料长描述") private String materialLengthDescription; + @Schema(description = "类型") + @ExcelProperty("类型") + private String type; + } \ 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/ErpMaterialSaveReqVO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java index 5089ef8..c118ff3 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/vo/ErpMaterialSaveReqVO.java @@ -1,5 +1,6 @@ package com.zt.plat.module.erp.controller.admin.erp.vo; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; @@ -65,4 +66,7 @@ public class ErpMaterialSaveReqVO { @NotEmpty(message = "物料长描述不能为空") private String materialLengthDescription; + @Schema(description = "类型") + private String type; + } \ 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/ErpMaterialDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java index 8909732..c3f35d7 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpMaterialDO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.erp.dal.dataobject.erp; import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import lombok.*; import java.time.LocalDateTime; @@ -21,10 +22,8 @@ import java.time.LocalDateTime; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -//public class ErpMaterialDO extends BaseDO { -public class ErpMaterialDO { - - +public class ErpMaterialDO extends BusinessBaseDO { +//public class ErpMaterialDO { /** * 主键 @@ -97,7 +96,7 @@ public class ErpMaterialDO { @TableField("MTRL_LEN_DSP") private String materialLengthDescription; - @TableField(exist = false) - private Integer TENANT_ID; + @TableField("TP") + private String type; } \ 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 ff51402..c55748b 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 @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; 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.module.erp.dal.dataobject.erp.ErpProductiveOrderDO; import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.enums.OftenEnum; @@ -19,6 +20,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -100,7 +104,72 @@ public class ErpContractServiceImpl implements ErpContractService { @Override public PageResult getErpContractPage(ErpContractPageReqVO pageReqVO) { - return erpContractMapper.selectPage(pageReqVO); + OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.合同信息; + String funcnr = funcnrEnum.getFuncnr(); + Map req = new HashMap<>(); + + // 构建查询参数 + req.put("BUKRS", pageReqVO.getContractSignNumber()); + req.put("PARTNER", pageReqVO.getSupplierNumber()); + req.put("INEDR", pageReqVO.getContractCategory()); + req.put("ZHTBH", pageReqVO.getContractTypeNumber()); + req.put("ZHTMC", pageReqVO.getContractName()); + + // 调用ERP接口获取数据 + HashMap dataFromERP = erpConfig.fetchDataFromERP(funcnr, req); + JSONArray dataArray = (JSONArray) dataFromERP.get("E_RESP"); + if (dataArray == null || dataArray.isEmpty()) { + // 返回空结果而不是抛出异常 + return new PageResult<>(new ArrayList<>(), 0L); + } + + List list = new ArrayList<>(); + for (int i = 0; i < dataArray.size(); i++) { + JSONObject dataJson = dataArray.getJSONObject(i); + if (dataJson != null) { + ErpContractDO contractDO = new ErpContractDO(); + + // 基本信息 + contractDO.setContractPaperNumber(dataJson.getString("ZHTBH").trim()); + contractDO.setContractName(dataJson.getString("ZHTMC")); + contractDO.setContractTypeName(dataJson.getString("TYPENM")); + contractDO.setSupplierName(dataJson.getString("ZBPNM")); + + // 日期处理 + String signDate = dataJson.getString("ZQDATE"); + String startDate = dataJson.getString("ZSDATE"); + String stopDate = dataJson.getString("ZEDATE"); + + if (signDate != null && !signDate.equals("0000-00-00")) { + try { + contractDO.setSignDate(LocalDate.parse(signDate)); + } catch (Exception e) { + // 忽略日期解析错误 + } + } + + if (startDate != null && !startDate.equals("0000-00-00")) { + try { + contractDO.setStartDate(LocalDate.parse(startDate)); + } catch (Exception e) { + // 忽略日期解析错误 + } + } + + if (stopDate != null && !stopDate.equals("0000-00-00")) { + try { + contractDO.setStopDate(LocalDate.parse(stopDate)); + } catch (Exception e) { + // 忽略日期解析错误 + } + } + contractDO.setBasicAmount(dataJson.getBigDecimal("ZDMBTR")); + contractDO.setRemark(dataJson.getString("ZREMARK")); + list.add(contractDO); + } + } + // 返回分页结果 + return new PageResult<>(list, (long) list.size()); } @Override diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java index 0d953ab..6cfec6e 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpMaterialServiceImpl.java @@ -125,7 +125,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { Map datumEntry = new HashMap<>(); datumEntry.put("sign", "I"); datumEntry.put("option", "EQ"); -// datumEntry.put("low", "2021-05-16"); +// datumEntry.put("low", "2021-05-20"); datumEntry.put("low", LocalDate.now().toString()); datumList.add(datumEntry); req.put(funcnrEnum.getDatekey(), datumList); @@ -180,6 +180,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService { DO.setExternalMaterialGroupDescription(dataJson.getString("EWBEZ")); DO.setMaterialName(dataJson.getString("MAKTX")); DO.setMaterialLengthDescription(dataJson.getString("LDESC")); + DO.setType("ERP"); if (comnumbers.contains(number)) { // 更新 diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml index 666dc57..458ea05 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml +++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpMaterialMapper.xml @@ -11,26 +11,27 @@ - - UPDATE SPLY_ERP_MTRL - - DOWN_CTR_NUM = #{item.downCtrNum}, - CTR_NUM = #{item.ctrNum}, - CRT_DT = #{item.crtDt}, - MTRL_TP = #{item.mtrlTp}, - MTRL_GRP_DT = #{item.mtrlGrpDt}, - EXT_MTRL_GRP_DT = #{item.extMtrlGrpDt}, - UNT = #{item.unt}, - UNT_DSP = #{item.untDsp}, - MTRL_TP_DSP = #{item.mtrlTpDsp}, - MTRL_GRP_DSP = #{item.mtrlGrpDsp}, - EXT_MTRL_GRP_DSP = #{item.extMtrlGrpDsp}, - MTRL_NAME = #{item.mtrlName}, - MTRL_LEN_DSP = #{item.mtrlLenDsp}, - TENANT_ID = #{item.tenantId}, - - WHERE DOWN_CTR_NUM = #{item.number} - - + + UPDATE SPLY_ERP_MTRL + + DOWN_CTR_NUM = #{item.downCenterNumber}, + CTR_NUM = #{item.centerNumber}, + CRT_DT = #{item.createDate}, + MTRL_TP = #{item.materialType}, + MTRL_GRP_DT = #{item.materialGroupDate}, + EXT_MTRL_GRP_DT = #{item.externalMaterialGroupDate}, + UNT = #{item.unit}, + UNT_DSP = #{item.unitDescription}, + MTRL_TP_DSP = #{item.materialTypeDescription}, + MTRL_GRP_DSP = #{item.materialGroupDescription}, + EXT_MTRL_GRP_DSP =#{item.externalMaterialGroupDescription}, + MTRL_NAME = #{item.materialName}, + MTRL_LEN_DSP = #{item.materialLengthDescription}, + TP = #{item.type}, + TENANT_ID = #{item.tenantId}, + + WHERE DOWN_CTR_NUM = #{item.downCenterNumber} + +