From 8e29bdb1846d7b04cd2ffccbd22b83071f347eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E9=A3=9E?= Date: Sat, 10 May 2025 16:57:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=9B=E5=BB=BA=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cim/idm/service/impl/MESServiceImpl.java | 2 +- .../idm/service/impl/ToSAPServiceImpl.java | 2 +- .../cim/idm/controller/LoginController.java | 9 +++++- .../idm/service/Impl/InvoiceServiceImpl.java | 19 +++++++----- .../idm/service/Impl/MESToWMSServiceImpl.java | 29 +++++++++++++++---- .../com/cim/idm/dao/FgStockInDao.xml | 20 +++++++++---- 6 files changed, 60 insertions(+), 21 deletions(-) diff --git a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/MESServiceImpl.java b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/MESServiceImpl.java index 8331085..90c569a 100644 --- a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/MESServiceImpl.java +++ b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/MESServiceImpl.java @@ -590,7 +590,7 @@ public class MESServiceImpl implements MESService{ jsonObject.put("expiringDate", list.get(i).get("EXPIRINGDATE")); jsonObject.put("productName", list.get(i).get("DESCRIPTION")); jsonObject.put("productStage", list.get(i).get("PHASE")); - jsonObject.put("practicalSpec", list.get(i).get("TRUEGG")); + jsonObject.put("practicalSpec", list.get(i).get("TRUEGG") == null ? "" : list.get(i).get("TRUEGG").toString()); jsonObject.put("productQuantity", list.get(i).get("MATERIALQUANTITY")); jsonObject.put("productQuantityUnit", list.get(i).get("MATERIALUNIT")); jsonObject.put("auxiliaryUnit", list.get(i).get("FUNIT")); 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 c7b167d..d3ad478 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 @@ -4935,7 +4935,7 @@ public class ToSAPServiceImpl { //将log写到表里 UUID uuid = UUID.randomUUID(); ErpMessageLog erplog = new ErpMessageLog(); - erplog.setEventUser(""); + erplog.setEventUser(user); erplog.setServerName("WmsToErp"); erplog.setEventName("无来源转库-311"); erplog.setId(uuid.toString()); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/LoginController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/LoginController.java index ace7bdd..2871f8b 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/LoginController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/LoginController.java @@ -13,6 +13,8 @@ import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.Constant; import com.cim.idm.utils.SessionManager; import com.cim.idm.utils.TokenManager; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.json.JSONArray; @@ -111,8 +113,13 @@ public class LoginController { apiResponse.setStatus(Constant.RESPONSE_STATUS_SUCCESS); + // 获取字符串中userInfo 里的USERNAME + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode objectUserInfo = objectMapper.readTree(userInfo); + String userCnName = objectUserInfo.get("USERNAME").asText(); + //添加session到返回报文 - apiResponse.setData(String.format("{\"SITENAME\":\"%s\",\"USERNAME\":\"%s\",\"token\":\"%s\",\"session\":\"%s\",\"menuList\":\"%s\"}", siteName, username, token,session,menuList)); + apiResponse.setData(String.format("{\"SITENAME\":\"%s\",\"USERNAME\":\"%s\",\"USERCNNAME\":\"%s\",\"token\":\"%s\",\"session\":\"%s\",\"menuList\":\"%s\"}", siteName, username, userCnName, token,session,menuList)); apiResponse.setMessage("登录成功"); return ResponseEntity.ok(apiResponse); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/InvoiceServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/InvoiceServiceImpl.java index 50f05c7..efc76d3 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/InvoiceServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/InvoiceServiceImpl.java @@ -376,7 +376,7 @@ public class InvoiceServiceImpl implements InvoiceService { String ERPLOCATION = receiveList.get(0).get("ERPLOCATION") == null ? "" : receiveList.get(0).get("ERPLOCATION").toString(); String ERPRECEIVEFACTORY = receiveList.get(0).get("ERPRECEIVEFACTORY") == null ? "" : receiveList.get(0).get("ERPRECEIVEFACTORY").toString(); - //判断是否为MES需要接收的物料 + //判断是否为MES需要二次接收的物料 String sqlc=" SELECT e.ENUMVALUE FROM MES_ENUMDEFVALUE e \r\n" + " WHERE e.ENUMNAME ='ConfirmReceiveArea'\r\n" + " AND e.ENUMVALUE in(\r\n" + @@ -598,10 +598,10 @@ public class InvoiceServiceImpl implements InvoiceService { billCode=saleStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate); untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo); break; - - case "OEM": + case "08": // 委外 + case "OEM": // 委外 // billCode=toSAPService.oemStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList); - billCode=oemStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList); + billCode=oemStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList, commitDate); untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo); break; default : @@ -2573,7 +2573,7 @@ public class InvoiceServiceImpl implements InvoiceService { } //重写委外发料。zd.2024.8.17 - public String oemStockOut_NEW(String shipRequestName, String siteName, String user,List boxList) throws Exception + public String oemStockOut_NEW(String shipRequestName, String siteName, String user,List boxList, String commitDate) throws Exception { String rcode; @@ -2659,10 +2659,15 @@ public class InvoiceServiceImpl implements InvoiceService { */ body.put("ITEM", itemArray); body.put("ITEMID", uniqueID); + + SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat outputFormat = new SimpleDateFormat("yyyyMMdd"); + Date date = inputFormat.parse(commitDate); + String outputDate = outputFormat.format(date); //过账日期 - body.put("BUDAT", TimeStampUtil.getCurrentTime("yyyyMMdd")); + body.put("BUDAT", outputDate); //凭证日期 - body.put("BLDAT", TimeStampUtil.getCurrentTime("yyyyMMdd")); + body.put("BLDAT", outputDate); //凭证抬头文本 body.put("BKTXT", uniqueID); //用户名 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 8fa6da0..965d9b9 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 @@ -395,19 +395,38 @@ public class MESToWMSServiceImpl implements MESToWMSService { boxIdList.add(charge); barCodeList.add(jb.get("lotName").toString()); } - String sqld = "SELECT b.charge FROM BS_MES_SHIPPED b WHERE b.CHARGE in(:BOXIDLIST) "; + String sqld = "SELECT b.charge,b.RECEIVE_FLAG,b.LOTNAME FROM BS_MES_SHIPPED b WHERE b.CHARGE in(:BOXIDLIST) "; Map hashMap = new HashMap<>(); hashMap.put("BOXIDLIST", boxIdList); List> existShips = sqlTemplate.queryForList(sqld, hashMap); if (existShips != null && existShips.size() > 0) { List lots = new ArrayList<>(); for (Map existShip : existShips) { + String receiveFlag = (String) existShip.get("RECEIVE_FLAG"); String lot = (String) existShip.get("charge"); - lots.add(lot); + String lotName = (String) existShip.get("LOTNAME"); + if(!"N".equals(receiveFlag)) { + lots.add(lot); + } + else { + String querypacksql = "SELECT * FROM MATERIALPACKING m WHERE MATERIALPACKINGNAME =:MATERIALPACKINGNAME"; + Map hashMap2 = new HashMap<>(); + hashMap2.put("MATERIALPACKINGNAME", lotName); + List> queryPackForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(querypacksql, hashMap2); + if(queryPackForList.size() > 0) { + String deletePackSql="DELETE FROM MATERIALPACKING WHERE MATERIALPACKINGNAME=?"; + Object[] obj=new Object[] {lotName}; + IDMFrameServiceProxy.getSqlTemplate().update(deletePackSql, obj); + } + String deleteSql="DELETE FROM BS_MES_SHIPPED WHERE CHARGE=?"; + Object[] obj=new Object[] {lot}; + IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, obj); + } + } + if(lots.size() > 0) { + result = AjaxResult.me().setSuccess(false).setErrorCode(500).setMessage("执行失败:" + lots + " 已经SHIP并且使用,请不要重复SHIP"); + return result; } - - result = AjaxResult.me().setSuccess(false).setErrorCode(500).setMessage("执行失败:" + lots + " 已经SHIP,请不要重复SHIP"); - return result; } String needIqcSql = SystemPropHelper.CR + "SELECT IQCFLAG " + " FROM BS_MATERIALFACTORY bm " diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/FgStockInDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/FgStockInDao.xml index 90fc2b3..7c1723d 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/FgStockInDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/FgStockInDao.xml @@ -28,11 +28,20 @@ T.QTY MaterialCreateQuantity, T.RECEIVE_FLAG mesReceiveFlag, 'SDK' siteName, - 'Released' PackingState, + CASE + WHEN T.PACKINGGRADE IS NULL THEN 'PREOQA' + ELSE 'END' + END AS oqaResultState, + CASE + WHEN T.PACKINGGRADE IS NOT NULL THEN T.PACKINGGRADE + ELSE NULL + END AS oqaResult, + T.PACKINGGRADE packingGrade, + 'Released' packingState, 'Created' stockState, - 'Created' OldStockState, - 'N' HoldState, - 'Box' MATERIALPACKINGTYPE, + 'Created' oldStockState, + 'N' holdState, + 'Box' materialPackingType, T.DURABLETYPE durableType, #{erpFactory} ERPFactory, #{erpLocation} ERPLOCATION, @@ -54,14 +63,13 @@ T.SDK_ID , T.AREA , T.SHIPUSER , - T.PACKINGGRADE , T.PACKINGGRADEDETAIL , T.SHIPTIME , M3.MATERIALTYPE , T.PHASE, T.GXID, T.CHARGE, - T.TRUEGG, + T.SDK_ID truegg, T.MJPC, T.MATERIALSPECTYPE FROM