From 2aa6a70e579d12cb6b38492670c9ad0c29b92434 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Thu, 22 May 2025 15:30:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?update=20=E7=89=A9=E6=96=99=E6=B6=88?= =?UTF-8?q?=E6=81=AFSAP=E8=BF=87=E8=B4=A6=E6=88=90=E5=8A=9F=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0BOX=E7=9A=84=E5=87=AD=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/service/impl/ToSAPServiceImpl.java | 48 ++++++++++++------- .../idm/service/Impl/MESToWMSServiceImpl.java | 4 +- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java index 10a5261..96def7b 100644 --- a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java +++ b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java @@ -2716,12 +2716,12 @@ public class ToSAPServiceImpl { } //MES上报工单消耗数据-261工单投料 - public String mesMaterialConsume( String user, String payMentDate) throws Exception { + public String mesMaterialConsume( String user, String payMentDate, EventInfo eventInfo) throws Exception { String rcode; String undoId = ""; String rmsg = null; - + List materialPackingNameList = new ArrayList(); try { JSONObject sendData = new JSONObject(true); @@ -2763,7 +2763,7 @@ public class ToSAPServiceImpl { body.put("USNAM", user); //查询临时表TEMP_MESCONSUME,从里面取数据 //String sql = "SELECT T.MATERIALSPECNAME, T.ERPFACTORY, T.ERPLOCATION, T.QTY, T.UNIT,T.WO,T.SHIPREQUESTNAME,M.RESERVEDPROJECTNUMB FROM TEMP_MESCONSUME T LEFT JOIN MATERIALSHIPREQUESTDETAIL M ON M.SHIPREQUESTNAME = T.SHIPREQUESTNAME AND M.MATERIALSPECNAME = T.MATERIALSPECNAME"; - String sql = "SELECT T.MATERIALSPECNAME, T.ERPFACTORY, T.ERPLOCATION, T.QTY, T.UNIT,T.WO,T.SHIPREQUESTNAME,M.SHIPREQUESTDETAILNAME FROM TEMP_MESCONSUME T LEFT JOIN MATERIALSHIPREQUESTDETAIL M ON M.SHIPREQUESTNAME = T.SHIPREQUESTNAME AND M.MATERIALSPECNAME = T.MATERIALSPECNAME"; + String sql = "SELECT T.MATERIALPACKINGNAME, T.MATERIALSPECNAME, T.ERPFACTORY, T.ERPLOCATION, T.QTY, T.UNIT,T.WO,T.SHIPREQUESTNAME,M.SHIPREQUESTDETAILNAME FROM TEMP_MESCONSUME T LEFT JOIN MATERIALSHIPREQUESTDETAIL M ON M.SHIPREQUESTNAME = T.SHIPREQUESTNAME AND M.MATERIALSPECNAME = T.MATERIALSPECNAME"; List> maps = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, new HashMap()); @@ -2800,7 +2800,10 @@ public class ToSAPServiceImpl { item.put("ZLLITEM", maps.get(i).get("SHIPREQUESTDETAILNAME")); //AUFNR 订单号 item.put("AUFNR", maps.get(i).get("WO")); - + String materialPackingName = maps.get(i).get("MATERIALPACKINGNAME") == null ? "" : maps.get(i).get("MATERIALPACKINGNAME").toString(); + if (StringUtils.isNotEmpty(materialPackingName)){ + materialPackingNameList.add(materialPackingName); + } } itemArray.add(item); @@ -2816,6 +2819,18 @@ public class ToSAPServiceImpl { if ("S".equals(rcode)) { undoId = returnJsonObject.get("MBLNR").toString()+"_"+returnJsonObject.get("MJAHR").toString();//将物料凭证号与凭证年度拼在一起 + if (materialPackingNameList.size() > 0 && StringUtils.isNotEmpty(undoId)){ + for (String materialPackingName : materialPackingNameList) { + MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK", materialPackingName); + SetEventInfo setEventInfo = new SetEventInfo(); + Map updateMap = new HashMap<>(); + updateMap.put("unDoID", undoId); + setEventInfo.setUserColumns(updateMap); + MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, eventInfo, setEventInfo); + //插入凭证信息 + SaveUnDoInfo(materialPackingKey.getMaterialPackingName(),payMentDate); + } + } } //将log写到表里 ErpMessageLog erplog = new ErpMessageLog(); @@ -6740,21 +6755,20 @@ public class ToSAPServiceImpl { List> queryBoxIdForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(queryBoxIdsql, hashBoxIdMap); for (Map map : queryBoxIdForList) { MaterialPackingKey materialPackingKey = new MaterialPackingKey(map.get("SITENAME").toString(), map.get("MATERIALPACKINGNAME").toString()); - materialPackingKeyList.add(materialPackingKey); + SetEventInfo setEventInfo = new SetEventInfo(); + Map updateMap = new HashMap<>(); + updateMap.put("unDoID", undoId); + updateMap.put("packingState","Released"); + updateMap.put("stockState","Stocked"); + updateMap.put("messageId",opCode); + updateMap.put("shipRequestName", ""); + updateMap.put("shipRequestDetailName", ""); + setEventInfo.setUserColumns(updateMap); + MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, eventInfo, setEventInfo); + //插入凭证信息 + SaveUnDoInfo(materialPackingKey.getMaterialPackingName(),commitDate); } - SetEventInfo setEventInfo = new SetEventInfo(); - Map updateMap = new HashMap<>(); - updateMap.put("unDoID", undoId); - updateMap.put("packingState","Released"); - updateMap.put("stockState","Stocked"); - updateMap.put("messageId",opCode); - updateMap.put("shipRequestName", ""); - updateMap.put("shipRequestDetailName", ""); - setEventInfo.setUserColumns(updateMap); - MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKeyList, eventInfo, setEventInfo); } - //插入凭证信息 - SaveUnDoInfo(deliveryName,commitDate); } catch (Exception e) { log.info(e.getMessage(), e); throw new RuntimeException(exceptionMsg + rmsg); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java index e5bf7cb..8625c0a 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java @@ -67,7 +67,7 @@ public class MESToWMSServiceImpl implements MESToWMSService { loginfo.setSendMsg(in.toJSONString()); loginfo.setEventName("materialConsume_Request"); String siteName = System.getProperty("company", "SDK"); - + EventInfo eventInfo = new com.cim.idm.wmsextend.generic.util.EventInfoUtil().makeEventInfo("MES消耗UNDOID", "MES", "MES消耗UNDOID", "", ""); List boxIdList = new ArrayList<>(); List qtyList = new ArrayList<>(); @@ -146,7 +146,7 @@ public class MESToWMSServiceImpl implements MESToWMSService { } // 将工单的物料消耗数据传给SAP - String undoId = toSAPService.mesMaterialConsume("MES",payMentDate); + String undoId = toSAPService.mesMaterialConsume("MES",payMentDate, eventInfo); Map undoidMap = new HashMap<>(); undoidMap.put("undoid", undoId); result = AjaxResult.me().setSuccess(true).setErrorCode(200).setMessage("执行成功").setResultObj(undoidMap); From a814ce76127c1f356db568eb9ab0c5f3dadae476 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Thu, 22 May 2025 16:37:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?update=20SAP=E7=89=A9=E6=96=99=E6=B6=88?= =?UTF-8?q?=E8=80=97/=E5=86=B2=E9=94=80=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0ZEILE=E3=80=81SMBLN=E3=80=81SMBLP=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=94=A8=E4=BA=8E=E5=86=B2=E9=94=80=E6=97=B6=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E5=8E=9F=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/Impl/MaterialPackingServiceServiceImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialPackingServiceServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialPackingServiceServiceImpl.java index 791ba12..0b2b8a3 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialPackingServiceServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialPackingServiceServiceImpl.java @@ -83,6 +83,7 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic String lgort = MapUtils.getString(data, "LGORT"); // ERP库存地点 String budatMkpf = MapUtils.getString(data, "BUDAT_MKPF"); // 过账日期 String mblnr = MapUtils.getString(data, "MBLNR"); // 物料凭证号 + String zeile = MapUtils.getString(data, "ZEILE"); // 物料凭证号行号 if (StringUtils.isEmpty(aufnr) || StringUtils.isEmpty(werks) || StringUtils.isEmpty(matnr) || StringUtils.isEmpty(bwart) || StringUtils.isEmpty(menge) || StringUtils.isEmpty(meins) || StringUtils.isEmpty(lgort) || StringUtils.isEmpty(budatMkpf) || StringUtils.isEmpty(mblnr)) { @@ -178,6 +179,8 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic } MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKeyList, eventInfo, setEventInfoList); } else if ("262".equals(bwart)) { + String smbln = MapUtils.getString(data, "SMBLN"); // 原始物料凭证号 + String smblp = MapUtils.getString(data, "SMBLP"); // 原始物料凭证号行号 //反向 BWART=262冲销,根据MBLNR增加对应的数量 String selcetMaterialpackingSql = " SELECT\n" + "\tSITENAME, MATERIALPACKINGNAME, STOCKSTATE, MATERIALQUANTITY \n" + @@ -197,7 +200,7 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic selcetMaterialpackingMap.put("ERPLOCATION", lgort); selcetMaterialpackingMap.put("UNIT", meins); selcetMaterialpackingMap.put("MATERIALSPECNAME", matnr); - selcetMaterialpackingMap.put("UNDOID", mblnr); + selcetMaterialpackingMap.put("UNDOID", smbln); List> queryMaterialpackingList = IDMFrameServiceProxy.getSqlTemplate().queryForList(selcetMaterialpackingSql, selcetMaterialpackingMap); for (int i = 0; i < queryMaterialpackingList.size(); i++) { Map hashMap2 = new HashMap(); @@ -217,7 +220,7 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic materialQuantity = materialQuantityDecimal.toString(); hashMap2.put("materialQuantity", materialQuantity); hashMap2.put("materialCreateQuantity", materialQuantity); - //hashMap2.put("unDoID", mblnr); + hashMap2.put("unDoID", mblnr); setEventInfo.setUserColumns(hashMap2); setEventInfoList.add(setEventInfo); MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName); @@ -225,7 +228,7 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic break; } if (queryMaterialpackingList.isEmpty()){ - throw new Exception("冲销失败,没有匹配该物料凭证:" + mblnr + "的消耗记录无法冲销"); + throw new Exception("冲销失败,没有匹配该物料凭证:" + smbln + "的消耗记录无法冲销"); }else { MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKeyList, eventInfo, setEventInfoList); } From 8a93d0999f2cad5cbf6cb5364b0f64d8a98de192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=B8=85?= <3115919733@qq.com> Date: Thu, 22 May 2025 17:48:55 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BA=93=E5=86=85=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E5=B1=9E=E6=80=A7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MaterialPackingController.java | 18 ++++++++++-- .../java/com/cim/idm/dao/CostCenterDao.java | 6 ++++ .../com/cim/idm/model/MaterialPacking.java | 1 + .../idm/model/dto/MaterialNotPostedDto.java | 2 ++ .../cim/idm/service/CostCenterService.java | 3 ++ .../service/Impl/CostCenterServiceImpl.java | 29 +++++++++++++++++++ .../com/cim/idm/dao/CostCenterDao.xml | 7 +++++ 7 files changed, 64 insertions(+), 2 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java index e65b89b..b142209 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java @@ -2,10 +2,13 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.cim.idm.model.MaterialPacking; import com.cim.idm.model.dto.MaterialNotPostedDto; +import com.cim.idm.service.CostCenterService; import com.cim.idm.utils.AjaxResult; import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy; import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.*; @@ -18,6 +21,8 @@ import java.util.stream.Collectors; @EnableAutoConfiguration public class MaterialPackingController { + @Autowired + private CostCenterService costCenterService; /** * 更新未入账 */ @@ -35,14 +40,23 @@ public class MaterialPackingController { MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(collect); // 修改 for (com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking materialPacking : materialPackings) { - // 批次号 + /*// 批次号 materialPacking.setCharge(sl.getCHARGE()); // 保质期 materialPacking.setExpiringDate(Timestamp.valueOf(sl.getEXPIRNGDATE())); // 制造日期 - materialPacking.setMakeDate(Timestamp.valueOf(sl.getMAKEDATE())); + materialPacking.setMakeDate(Timestamp.valueOf(sl.getMAKEDATE()));*/ + // 阶段 + materialPacking.setPHASE(sl.getPHASE()); } MaterialPackingServiceProxy.getMaterialPackingService().update(materialPackings); return AjaxResult.me().setSuccess(true).setMessage("过账成功"); } + + @PostMapping(value = "/handelEdit") + public AjaxResult handelEdit(@RequestBody MaterialPacking materialPacking) { + costCenterService.editMaterialPackingName(materialPacking); + return AjaxResult.me().setSuccess(true).setMessage("编辑成功"); + } + } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java index ef31f87..4059503 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/CostCenterDao.java @@ -43,4 +43,10 @@ public interface CostCenterDao { @Param("saleshiprequestdetailname") String saleshiprequestdetailname); void updateCheckMain(@Param("mainId") String mainId); + + void editMaterialPackingName(@Param("siteName") String siteName, + @Param("materialPackingName") String materialPackingName, + @Param("charge") String charge, + @Param("materialPackingNameNew") String materialPackingNameNew, + @Param("remark") String remark); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialPacking.java b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialPacking.java index 4a430c1..09a1689 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialPacking.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialPacking.java @@ -37,4 +37,5 @@ public class MaterialPacking { private String durableType; private String opCode; private String desc_cn; + private String remark; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java index 06d80e1..9ddabe2 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java @@ -19,6 +19,8 @@ public class MaterialNotPostedDto { // 规格 private String SITENAME; + /**阶段*/ + private String PHASE; // 数据 private List dataList; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java index e77b20f..034c88a 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/CostCenterService.java @@ -2,6 +2,7 @@ package com.cim.idm.service; import com.alibaba.fastjson.JSONObject; import com.cim.idm.model.CostCenter; +import com.cim.idm.model.MaterialPacking; import java.util.List; import java.util.Map; @@ -17,4 +18,6 @@ public interface CostCenterService { * @param mainId */ void updateCheckMain(String mainId); + + void editMaterialPackingName(MaterialPacking materialPacking); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java index 65458bb..e3084ce 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/CostCenterServiceImpl.java @@ -5,11 +5,15 @@ import cn.hutool.core.lang.UUID; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cim.idm.dao.CostCenterDao; +import com.cim.idm.data.ErpMessageLog; import com.cim.idm.exception.GlobalException; +import com.cim.idm.framework.util.time.TimeStampUtil; import com.cim.idm.model.CostCenter; import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.service.CostCenterService; import com.cim.idm.service.impl.ToSAPServiceImpl; +import com.cim.idm.util.MessageLogUtil; +import com.cim.idm.util.ToSAPMessageUtil; import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -124,4 +128,29 @@ public class CostCenterServiceImpl implements CostCenterService { public void updateCheckMain(String mainId) { costCenterDao.updateCheckMain(mainId); } + + @Override + public void editMaterialPackingName(com.cim.idm.model.MaterialPacking materialPacking) { + // 批次号 + String charge = materialPacking.getCharge(); + String siteName = materialPacking.getSiteName(); + String remark = materialPacking.getRemark(); + // 原标签 + String materialPackingName = materialPacking.getMaterialPackingName(); + String regex = "\\|\\|(.*?)\\|"; + // 新标签 + String materialPackingNameNew = materialPackingName.replaceAll(regex, "||" + charge + "|"); + costCenterDao.editMaterialPackingName(siteName,materialPackingName,charge,materialPackingNameNew,remark); + //将log写到表里 + ErpMessageLog erplog = new ErpMessageLog(); + erplog.setEventUser(materialPacking.getUser()); + erplog.setServerName("WmsToWms"); + erplog.setEventName("在库属性变更"); + erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT)); + erplog.setMessageId(java.util.UUID.randomUUID().toString()); + erplog.setSendMsg(materialPacking.toString()); + erplog.setSendMsg2(materialPacking.toString()); + erplog.setReturnMsg2(materialPacking.toString()); + MessageLogUtil.writeMessageLog(erplog); + } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml index 9f43d65..31d410c 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/CostCenterDao.xml @@ -42,4 +42,11 @@ update MATERIALPACKINGCHECK_MAIN set STATUS = '1' where ID = #{mainId, jdbcType=VARCHAR} + + + update MATERIALPACKING set REMARK = #{remark, jdbcType=VARCHAR},CHARGE = #{charge, jdbcType=VARCHAR}, + MATERIALPACKINGNAME = #{materialPackingNameNew, jdbcType=VARCHAR} + WHERE MATERIALPACKINGNAME = #{materialPackingName, jdbcType=VARCHAR} + and SITENAME = #{siteName, jdbcType=VARCHAR} + \ No newline at end of file