From 57f878745a7994deab9a4e0f637c883654c4eb3b Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Wed, 21 May 2025 11:33:46 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BF=AE=E6=94=B9=E5=88=B0=E8=B4=A7?= =?UTF-8?q?=E5=8D=95=E5=85=A5=E5=BA=93=E8=B0=83=E7=94=A8QMS=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cim/idm/service/impl/QMSServiceImpl.java | 54 ++++++++++++++++--- .../idm/service/impl/ToSAPServiceImpl.java | 5 +- .../idm/controller/DeliveryController.java | 23 ++++++++ 3 files changed, 73 insertions(+), 9 deletions(-) diff --git a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/QMSServiceImpl.java b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/QMSServiceImpl.java index f184706..6acad30 100644 --- a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/QMSServiceImpl.java +++ b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/QMSServiceImpl.java @@ -477,7 +477,49 @@ public class QMSServiceImpl implements QMSService{ } - public String sendToIQCByDataList(String opCode, List> list) throws CustomException { + public String sendToIQCByDataList(String opCode, String siteName, String deliveryName) throws CustomException { + String sql = " \n" + + "SELECT \n" + + "\t\tP.SITENAME,\n" + + " \t\tEL.DESCRIPTION AS ERPLOCATIONDESC,\n" + + "\t\tP.LOCATIONNAME,\t\n" + + "\t\tTO_CHAR(P.RECEIVETIME ,'YYYY-MM-DD' ) deliveryDate,\n" + + "\t\tP.MATERIALSPECNAME AS materialCode,\n" + + "\t\tMP.DESC_CN AS materialName,\n" + + "\t\tMP.MATERIALGROUP AS materialGroup,\n" + + "\t\tCOUNT(DISTINCT P.CHARGE ) batchQuantity,\n" + + " P.UNIT AS quantityUnit,\n" + + "\t\tSP.SUPPLIERNO AS SUPPLIERCODE,\n" + + "\t\tSP.SUPPLIERNAME,\n" + + "\t\tLISTAGG(DISTINCT P.CHARGE , ';') WITHIN GROUP (ORDER BY P.CHARGE) AS LOTS\n" + + "\t\t\tFROM\n" + + " MATERIALPACKING P \n" + + "LEFT JOIN SUPPLIER SP\tON SP.SUPPLIERNO = P.SUPPLIERNAME\n" + + "LEFT JOIN BS_ERPLOCATION EL ON EL.ERPLOCATIONNAME = P.ERPLOCATION AND EL.SITENAME = P.SITENAME\n" + + "LEFT JOIN MATERIALSPEC MP ON MP.MATERIALSPECNAME = P.MATERIALSPECNAME AND MP.SITENAME = P.SITENAME\n" + + "LEFT JOIN BS_MATERIALFACTORY BF ON BF.MATERIALSPECNAME = P.MATERIALSPECNAME AND BF.ERPFACTORY = P.ERPFACTORY\n" + + "LEFT JOIN MATERIALRECEIVEREQUESTDETAIL RD ON P.SITENAME = RD.SITENAME \n" + + "LEFT JOIN MATERIALRECEIVEREQUEST R ON RD.RECEIVEREQUESTNAME = R.RECEIVEREQUESTNAME AND RD.SITENAME = R.SITENAME\n" + + "LEFT JOIN MATERIALDELIVERYRECEIVE DR ON R.RECEIVEREQUESTNAME=DR.RECEIVEREQUESTNAME \n" + + "LEFT JOIN MATERIALDELIVERY D ON DR.DELIVERYNAME = D.DELIVERYNAME WHERE\n" + + " D.SITENAME =:SITENAME\n" + + " AND D.DELIVERYNAME =:DELIVERYNAME\n" + + " AND D.DELIVERYSTATE = '02'\n" + + "\t\tAND DR.MATERIALSPECNAME=RD.MATERIALSPECNAME\n" + + "\t\tAND RD.RECEIVEREQUESTDETAILNAME=DR.RECEIVEREQUESTDETAILNAME\n" + + "\t\tAND P.RECEIVEREQUESTNAME = DR.DELIVERYNAME \n" + + "\t\tAND P.MATERIALSPECNAME = DR.MATERIALSPECNAME AND P.STOCKSTATE = 'Created' \n" + + "\t\tGROUP BY \n" + + "\t\tP.SITENAME,EL.DESCRIPTION,TO_CHAR(P.RECEIVETIME ,'YYYY-MM-DD' ),\n" + + "\t\tP.MATERIALSPECNAME,MP.DESC_CN, MP.MATERIALGROUP,P.UNIT,SP.SUPPLIERNO, SP.SUPPLIERNAME,\n" + + "\t\tSUBSTR(P.TRUEGG , 1, INSTR(P.TRUEGG , '*') - 1) ,P.LOCATIONNAME "; + Map hashMap = new HashMap (); + hashMap.put("SITENAME", siteName); + hashMap.put("DELIVERYNAME", deliveryName); + List> list = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap); + if (list == null || list.size() < 1) { + throw new CustomException("条码在系统中不存在"); + } JSONArray jsonArray = new JSONArray(); for (int i = 0; i < list.size(); i++) { @@ -497,12 +539,12 @@ public class QMSServiceImpl implements QMSService{ jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME")); jsonObject.put("supplierCode", list.get(i).get("SUPPLIERCODE")); jsonObject.put("materialName", list.get(i).get("MATERIALNAME")); - jsonObject.put("materialCode", list.get(i).get("MATERIALCODE")); + jsonObject.put("materialCode", list.get(i).get("MATERIALSPECNAME")); jsonObject.put("materialGroup", list.get(i).get("MATERIALGROUP")); - jsonObject.put("batchQuantity", list.get(i).get("BATCHQUANTITY")); - jsonObject.put("quantityUnit", list.get(i).get("QUANTITYUNIT")); - jsonObject.put("deliveryDate", list.get(i).get("DELIVERYDATE")); - jsonObject.put("specifications", list.get(i).get("BATCHNUMBER")); + jsonObject.put("batchQuantity", list.get(i).get("BATCHQUANTITY"));// + jsonObject.put("quantityUnit", list.get(i).get("UNIT"));//QUANTITYUNIT + jsonObject.put("deliveryDate", list.get(i).get("DELIVERYDATE"));// + jsonObject.put("specifications", list.get(i).get("BATCHNUMBER"));// jsonObject.put("LOCATIONNAME", list.get(i).get("LOCATIONNAME")); jsonObject.put("inspector", "检验室(原材仓)"); 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 cf9cfa7..80d35e4 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 @@ -6535,7 +6535,7 @@ public class ToSAPServiceImpl { sendData = ToSAPMessageUtil.mm067(user, bodyData, itemData, commitDate); exceptionMsg = "SAP返回"; sapreturn = toSAPMessageUtil.sendHttpPost(toSAPMessageUtil.materialChangeLocationUrl,"",sendData); - //sapreturn = "{\"HEAD\":{\"INTF_ID\":\"MM067\",\"SRC_SYSTEM\":\"WMS\",\"DEST_SYSTEM\":\"SAP\",\"SRC_MSGID\":\"4908eca1-e70f-4b09-8c79-fb3d34f0f42c\"},\"RETURN\":{\"STATUS\":\"S\",\"MSGTXT\":\"\",\"MBLNR\":\"5000000303\",\"MJAHR\":\"2025\"}}"; + //sapreturn = "{\"HEAD\":{\"INTF_ID\":\"MM067\",\"SRC_SYSTEM\":\"WMS\",\"DEST_SYSTEM\":\"SAP\",\"SRC_MSGID\":\"4908eca1-e70f-4b09-8c79-fb3d34f0f42c\"},\"RETURN\":{\"STATUS\":\"S\",\"MSGTXT\":\"\",\"MBLNR\":\"5000000324\",\"MJAHR\":\"2025\"}}"; org.json.JSONObject receiveJsonObject = new org.json.JSONObject(sapreturn); org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN"); @@ -6576,9 +6576,8 @@ public class ToSAPServiceImpl { // 调用 QMS //qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory); exceptionMsg = "QMS返回"; - qmsServiceImpl.sendToIQCByDataList(opCode, qmsDataList); + qmsServiceImpl.sendToIQCByDataList(opCode, "SDK",deliveryName); } - // 更新入库凭证,更新库存状态 if (StringUtils.isNotEmpty(undoId)){ // 更新入库凭证 diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java index 5acc9ca..28dbe1c 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -6,6 +6,7 @@ import com.cim.idm.constants.delivery.DeliveryTypeEnums; import com.cim.idm.exception.GlobalException; import com.cim.idm.model.dto.delivery.DeliveryDelDto; import com.cim.idm.model.dto.delivery.DeliveryDto; +import com.cim.idm.model.dto.delivery.DeliveryEditDto; import com.cim.idm.model.dto.delivery.StoreDetailDto; import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.dto.PageDto; @@ -180,4 +181,26 @@ public class DeliveryController { deliveryService.getMaterialDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName)); } } + + /** + * 修改到货单 + */ + @PostMapping(value = "/updateDeliveryStates") + public AjaxResult UpdateDeliveryStates(@RequestBody DeliveryEditDto deliveryEditDto) { + StoreDetailDto storeDetailDto = new StoreDetailDto(); + storeDetailDto.setDocumentName(deliveryEditDto.getDeliveryName()); + storeDetailDto.setSiteName(deliveryEditDto.getSiteName()); + // 校验 + MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto); + if (Objects.isNull(byKey)) { + throw new GlobalException("不存在到货单"); + } + if (!byKey.getDeliveryState().equals(DeliveryStateEnums.CREATE.getCode())) { + throw new GlobalException("到货单进行中或已结束,不允许修改"); + } + if (deliveryService.editDelivery(deliveryEditDto) > 0) { + return AjaxResult.me().setSuccess(true).setResultObj("修改成功"); + } + return AjaxResult.me().setErrorCode(-1).setMessage("修改失败"); + } }