From f84d49217dd0b246d5016389193314f84e3c97a9 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Fri, 23 May 2025 11:51:58 +0800 Subject: [PATCH 1/5] =?UTF-8?q?update=20=E9=87=87=E8=B4=AD=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E6=89=B9=E9=87=8F=E8=BF=87=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/service/impl/ToSAPServiceImpl.java | 90 +++++++++---------- .../MaterialReceiveActController.java | 2 + .../cim/idm/service/IMaterialShipService.java | 2 +- .../service/Impl/MaterialShipServiceImpl.java | 3 +- 4 files changed, 45 insertions(+), 52 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 728cf45..ef38614 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 @@ -6602,53 +6602,43 @@ public class ToSAPServiceImpl { List materialPackingKeyList = new ArrayList<>(); List> qmsDataList = new ArrayList<>(); //依据采购订单,查询待入库的物料(MATERIALPACKING) - String querySql = " SELECT " + - " DR.DELIVERYNUM AS MATERIALQUANTITY,\n" + - " DR.RECEIVEREQUESTNAME,\n" + - " DR.RECEIVEREQUESTDETAILNAME,\n" + - " P.ERPLOCATION,\n" + - " P.ERPFACTORY,\n" + - " P.UNIT,\n" + - "\t\tSUM(P.FQTY) AS FQTY,\n" + - " P.FUNIT,\n" + - " P.REMARK,\n" + - "\t\tP.OQARESULTSTATE,\n" + - "\t\tBF.IQCFLAG,\n" + - " P.OQARESULT,\n" + - "\t\tR.RECEIVEREQUESTTYPE,\n" + - "\t\tEL.DESCRIPTION AS ERPLOCATIONDESC,\n" + - "\t\tSP.SUPPLIERNO AS SUPPLIERCODE,\n" + - "\t\tSP.SUPPLIERNAME,\n" + - "\t\tMP.MATERIALSPECNAME AS MATERIALSPECNAME,\n" + - "\t\tMP.DESC_CN AS MATERIALNAME,\n" + - "\t\tMP.MATERIALGROUP,\n" + - "\t\tP.LOCATIONNAME,\t\t\n" + - "\t\tP.RECEIVETIME,\n" + - "\t\tP.TRUEGG " + - " FROM\n" + - " MATERIALPACKING P \n" + - "LEFT JOIN SUPPLIER SP\tON SP.SITENAME = 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 " + + String querySql = " \n" + + "\t\t\n" + + "\t\tWITH AA AS (\n" + + "\tSELECT DISTINCT\n" + + "\t\tP.RECEIVEREQUESTNAME,\n" + + "\t\tP.ERPFACTORY,\n" + + "\t\tP.ERPLOCATION,\n" + + "\t\tP.MATERIALSPECNAME \n" + + "\tFROM\n" + + "\t\tMATERIALPACKING P \n" + + "\tWHERE\n" + + "\t\tP.RECEIVEREQUESTNAME =:DELIVERYNAME\n" + + "\t\tAND P.STOCKSTATE = 'Created' \n" + + "\t) \n" + + "SELECT\n" + + "\tDR.DELIVERYNAME,\n" + + "\tDR.DELIVERYNUM AS MATERIALQUANTITY,\n" + + "\tDR.RECEIVEREQUESTNAME,\n" + + "\tDR.MATERIALSPECNAME,\n" + + "\tDR.RECEIVEREQUESTDETAILNAME,\n" + + "\tAA.ERPLOCATION,\n" + + "\tAA.ERPFACTORY,\n" + + "\tRQ.SUPPLIERNO AS SUPPLIERNAME,\n" + + "\tRD.MATERIALUNIT AS UNIT,\n" + + "\tMP.FUNIT,\n" + + "\tBF.IQCFLAG\n" + + "FROM\n" + + "\tMATERIALDELIVERYRECEIVE DR\n" + + "\tLEFT JOIN MATERIALRECEIVEREQUESTDETAIL RD ON DR.RECEIVEREQUESTNAME = RD.RECEIVEREQUESTNAME AND DR.RECEIVEREQUESTDETAILNAME = RD.RECEIVEREQUESTDETAILNAME\n" + + "\tLEFT JOIN MATERIALRECEIVEREQUEST RQ ON RQ.RECEIVEREQUESTNAME = RD.RECEIVEREQUESTNAME\n" + + "\tLEFT JOIN MATERIALSPEC MP ON MP.MATERIALSPECNAME = DR.MATERIALSPECNAME\n" + + "\tLEFT JOIN BS_MATERIALFACTORY BF ON BF.MATERIALSPECNAME = RD.MATERIALSPECNAME \n" + + "\tAND BF.ERPFACTORY = RD.ERPFACTORY\n" + + "\tLEFT JOIN AA ON DR.MATERIALSPECNAME = AA.MATERIALSPECNAME \n" + "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' " + - " GROUP BY DR.RECEIVEREQUESTNAME, DR.RECEIVEREQUESTDETAILNAME\n" + - "\t\t,P.OQARESULT, P.OQARESULTSTATE, P.UNIT, P.FUNIT, P.REMARK, P.SUPPLIERNAME\n" + - "\t\t,P.ERPFACTORY, P.ERPLOCATION, BF.IQCFLAG, R.RECEIVEREQUESTTYPE\n" + - "\t\t,EL.DESCRIPTION, SP.SUPPLIERNO,SP.SUPPLIERNAME,MP.MATERIALSPECNAME\n" + - "\t\t,MP.DESC_CN, MP.MATERIALGROUP, P.LOCATIONNAME, P.RECEIVETIME,P.TRUEGG,DR.DELIVERYNUM "; + "\tDELIVERYNAME =:DELIVERYNAME\n" + + "\t " ; Map hashMap = new HashMap(); hashMap.put("DELIVERYNAME", deliveryName); hashMap.put("SITENAME", siteName); @@ -6674,7 +6664,7 @@ public class ToSAPServiceImpl { item.put("LIFNR", mm.get("SUPPLIERNAME")); item.put("MENGE", mm.get("MATERIALQUANTITY")); item.put("MEINS", mm.get("UNIT")); - item.put("BPMNG", mm.get("FQTY"));//采购价格单位数量 + item.put("BPMNG", mm.get("FQTY") == null ? "0" : mm.get("FQTY"));//采购价格单位数量 item.put("BPRME", mm.get("FUNIT"));//采购价格单位 item.put("EBELN", mm.get("RECEIVEREQUESTNAME")); @@ -6690,9 +6680,9 @@ public class ToSAPServiceImpl { // String insmk = StringUtils.equals(mm.get("OQARESULTSTATE").toString(),"END")?"":"X"; item.put("INSMK", insmk); itemData.add(item); - if (!saleList.contains(mm.get("RECEIVEREQUESTTYPE").toString())){ + /*if (!saleList.contains(mm.get("RECEIVEREQUESTTYPE").toString())){ qmsDataList.add(mm); - } + }*/ /** //存储条码,更新UNDOID用 MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, mm.get("MATERIALPACKINGNAME").toString()); @@ -6726,7 +6716,7 @@ public class ToSAPServiceImpl { throw new RuntimeException("SAP返回" + rmsg); } - if("S".equals(rcode) && qmsDataList.size() > 0) { + if("S".equals(rcode)) { /** jsonObject.put("warehouse", list.get(i).get("ERPLOCATIONDESC")); jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME")); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java index 5318951..21e10d5 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java @@ -29,6 +29,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -634,6 +635,7 @@ public class MaterialReceiveActController { * @param in receiveRequestName到货单号 * @return 返回信息 */ + @Transactional(rollbackFor = Exception.class) @RequestMapping(value = "/commitDeliveryStockInToSAP", method = RequestMethod.POST) public AjaxResult CommitDeliveryStockInToSAP(@RequestBody JSONObject in ) throws Exception { try { diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IMaterialShipService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IMaterialShipService.java index ba9e9da..8466351 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/IMaterialShipService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IMaterialShipService.java @@ -68,5 +68,5 @@ public interface IMaterialShipService { * @param eventInfo 事件信息 * @param materialDelivery 到货单信息 */ - void DeliveryStockInUpdateReceiveRequestQty(EventInfo eventInfo, MaterialDelivery materialDelivery); + void DeliveryStockInUpdateReceiveRequestQty(EventInfo eventInfo, MaterialDelivery materialDelivery) throws Exception; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java index 465aa58..95a1f31 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java @@ -2066,7 +2066,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService { * @param eventInfo 事件信息 * @param materialDelivery 到货单信息 */ - public void DeliveryStockInUpdateReceiveRequestQty(EventInfo eventInfo, MaterialDelivery materialDelivery){ + public void DeliveryStockInUpdateReceiveRequestQty(EventInfo eventInfo, MaterialDelivery materialDelivery) throws Exception{ //获取到货单关联的所有入库单 StoreDetailDto storeDetailDto = new StoreDetailDto(); storeDetailDto.setDocumentName(materialDelivery.getDeliveryName()); @@ -2090,6 +2090,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService { updateReceiveRequestQtyMap.put("SITENAME", materialDelivery.getSiteName()); updateReceiveRequestQtyMap.put("MATERIALSPECNAME", materialDeliveryReceive.getMaterialSpecName()); updateReceiveRequestQtyMap.put("RECEIVEREQUESTNAME", materialDeliveryReceive.getReceiveRequestName()); + updateReceiveRequestQtyMap.put("RECEIVEREQUESTDETAILNAME", materialDeliveryReceive.getReceiveRequestDetailName()); updateReceiveRequestQtyMap.put("LASTEVENTNAME", eventInfo.getEventUser()); updateReceiveRequestQtyMap.put("LASTEVENTTIMEKEY", eventInfo.getEventTimeKey()); updateReceiveRequestQtyMap.put("LASTEVENTTIME", eventInfo.getEventTime()); From 625d7e6f6e9f8d73954eae3e263d75e834869e37 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Fri, 23 May 2025 14:44:26 +0800 Subject: [PATCH 2/5] =?UTF-8?q?update=20=E5=88=B0=E8=B4=A7=E5=8D=95?= =?UTF-8?q?=E5=85=A5=E5=BA=93=EF=BC=8CQMS=E8=B4=A8=E6=A3=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cim/idm/service/impl/QMSServiceImpl.java | 73 +++++++++++-------- .../idm/service/impl/ToSAPServiceImpl.java | 14 ---- 2 files changed, 42 insertions(+), 45 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 ace0053..068120f 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 @@ -479,41 +479,52 @@ public class QMSServiceImpl implements QMSService{ public String sendToIQCByDataList(String opCode, String siteName, String deliveryName) throws CustomException { String sql = " \n" + - "SELECT \n" + + "WITH AA AS (\n" + + "\tSELECT\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\tDR.RECEIVEREQUESTNAME,\n" + + "\t\tP.RECEIVEREQUESTNAME,\n" + + "\t\tP.ERPFACTORY,\n" + + "\t\tP.ERPLOCATION,\n" + "\t\tP.MATERIALSPECNAME AS materialCode,\n" + - "\t\tMP.DESC_CN AS materialName,\n" + - "\t\tMP.MATERIALGROUP AS materialGroup,\n" + + "\t\tP.LOCATIONNAME,\t\n" + + "\t\tP.UNIT AS quantityUnit,\n" + + "\t\tLISTAGG(DISTINCT P.CHARGE , ';') WITHIN GROUP (ORDER BY P.CHARGE) AS LOTS,\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\tP.SUPPLIERNAME\n" + + "\tFROM\n" + + "\t\tMATERIALPACKING P \n" + + "\tWHERE\n" + + "\t\tP.RECEIVEREQUESTNAME =:DELIVERYNAME\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,DR.RECEIVEREQUESTNAME "; + "\t\tP.SITENAME,\n" + + "\t\tP.RECEIVEREQUESTNAME,\n" + + "\t\tP.ERPFACTORY,\n" + + "\t\tP.ERPLOCATION,\n" + + "\t\tP.MATERIALSPECNAME,\n" + + "\t\tP.LOCATIONNAME,\n" + + "\t\tP.UNIT,\n" + + "\t\tP.SUPPLIERNAME\n" + + "\t\t)\n" + + "\t\t\n" + + "SELECT\n" + + "\tAA.SITENAME,\n" + + "AA.RECEIVEREQUESTNAME,\n" + + "\t\tAA.ERPFACTORY,\n" + + "\t\tAA.ERPLOCATION,\n" + + "\t\tAA.materialCode,\n" + + "\t\tAA.LOCATIONNAME,\t\n" + + "\t\tAA.quantityUnit,\n" + + "\t\tAA.LOTS,\n" + + "\t\tAA.batchQuantity,\n" + + "\t\tAA.SUPPLIERNAME,\n" + + "\t\tEL.DESCRIPTION AS ERPLOCATIONDESC,\n" + + "\t\tMP.MATERIALGROUP\n" + + "FROM\n" + + "AA\n" + + "LEFT JOIN BS_ERPLOCATION EL ON EL.ERPLOCATIONNAME = AA.ERPLOCATION\n" + + "LEFT JOIN MATERIALSPEC MP ON MP.MATERIALSPECNAME = AA.materialCode\n" + + "WHERE\n" + + "\tAA.RECEIVEREQUESTNAME =:DELIVERYNAME "; Map hashMap = new HashMap (); hashMap.put("SITENAME", siteName); hashMap.put("DELIVERYNAME", deliveryName); 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 ef38614..0ceaaa4 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 @@ -6717,20 +6717,6 @@ public class ToSAPServiceImpl { } if("S".equals(rcode)) { - /** - jsonObject.put("warehouse", list.get(i).get("ERPLOCATIONDESC")); - 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("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("LOCATIONNAME", list.get(i).get("LOCATIONNAME")); - String receiveRequestName = list.get(i).get("RECEIVEREQUESTNAME") == null ? "" : list.get(i).get("RECEIVEREQUESTNAME").toString(); - */ // 调用 QMS //qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory); exceptionMsg = "QMS返回"; From 23d125763d15eede2d645413fe85ad756853b72f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E9=A3=9E?= Date: Fri, 23 May 2025 16:59:57 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=E6=B7=BB=E5=8A=A0=E8=B4=A8=E6=A3=80?= =?UTF-8?q?=E5=86=B2=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/service/impl/ToSAPServiceImpl.java | 2 +- .../controller/MaterialUndoController.java | 37 +++++--- .../com/cim/idm/controller/QMSController.java | 16 +++- .../com/cim/idm/model/MaterialUndoDto.java | 8 ++ .../service/Impl/MaterialUndoServiceImpl.java | 87 +++++++++++++++---- .../Impl/NoInvoiceManagerServiceImpl.java | 1 + 6 files changed, 120 insertions(+), 31 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 728cf45..052aec3 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 @@ -5744,7 +5744,7 @@ public class ToSAPServiceImpl { ErpMessageLog erplog = new ErpMessageLog(); erplog.setEventUser(""); erplog.setServerName("WmsToErp"); - erplog.setEventName("iqcResultFeekback"); + erplog.setEventName("pqcSyncdata2-QMS质检结果"); erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT)); erplog.setMessageId(UUID.randomUUID().toString()); erplog.setSendMsg(sendData); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialUndoController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialUndoController.java index 5799526..f9e524e 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialUndoController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialUndoController.java @@ -41,17 +41,22 @@ public class MaterialUndoController { String undoId = undoDto.getUndoId(); String userId = undoDto.getUserId(); String flag = undoDto.getFlag(); - String inv_TYPE = undoDto.getINV_TYPE(); + String inv_TYPE = undoDto.getINV_TYPE() == null ? "" : undoDto.getINV_TYPE(); String lastEventName = undoDto.getLastEventName(); String commitDate = undoDto.getCommitDate(); + String preErpLocation = undoDto.getPreErpLocation(); + String preLocationName = undoDto.getPreLocationName(); + String locationName = undoDto.getErpLocation(); + String erpLocation = undoDto.getLocationName(); + //根据物料凭证校验物料状态是否一致 - try { - Boolean checkUndoCondition = untils.CheckUndoCondition(undoId); - } catch (Exception e) { - e.printStackTrace(); - return AjaxResult.me().setSuccess(false).setMessage(e.toString()); - } +// try { +// Boolean checkUndoCondition = untils.CheckUndoCondition(undoId); +// } catch (Exception e) { +// e.printStackTrace(); +// return AjaxResult.me().setSuccess(false).setMessage(e.toString()); +// } //校验单据类型,根据单据类型判断逻辑 // switch (inv_TYPE) { // case "45": @@ -71,20 +76,28 @@ public class MaterialUndoController { // return AjaxResult.me().setSuccess(false).setMessage("单据类型不支持冲销"); // } - if ("Z001".equals(inv_TYPE) || "Z005".equals(inv_TYPE) || "Z006".equals(inv_TYPE) || "Z007".equals(inv_TYPE)) { + if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE) || "Z001".equals(inv_TYPE) || "Z005".equals(inv_TYPE) || "Z006".equals(inv_TYPE) || "Z007".equals(inv_TYPE)) { // materialUndoServiceImpl.rkUndo(undoId, userId); // 入库 materialUndoServiceImpl.cgrkUndo(undoId, userId); // 采购入库 - } else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) { - materialUndoServiceImpl.cprkUndo(undoId, userId);// 成品入库 - } else if (inv_TYPE.contains("ZLF") || "Z008".equals(inv_TYPE)) { // 出库冲销 + } +// else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) { +// materialUndoServiceImpl.cprkUndo(undoId, userId);// 成品入库 +// } + else if ("Z008".equals(inv_TYPE)) { // 出库冲销 materialUndoServiceImpl.ckUndo(undoId, userId); } else if (inv_TYPE.contains("ZLR")) { materialUndoServiceImpl.ckUndo(undoId, userId); }else if(inv_TYPE.contains("ZK")) { // 转库 materialUndoServiceImpl.zkUndo(undoId, userId); + }else if(lastEventName.contains("自动转库")) { // 自动转库 + materialUndoServiceImpl.zdZkUndo(undoId, userId,preErpLocation,preLocationName); + }else if(lastEventName.contains("质检结果")) { // 质检结果 + materialUndoServiceImpl.zjJgUndo(undoId, userId); }else if(inv_TYPE.contains("NLCC") && lastEventName.contains("调拨出库")) { // 调拨出库 materialUndoServiceImpl.orderUndo(undoId, userId,commitDate); - }else { + } else if (inv_TYPE.contains("ZLF")) { // 销售发货出库 + materialUndoServiceImpl.orderUndo(undoId, userId,commitDate); + } else { return AjaxResult.me().setSuccess(false).setMessage("单据类型不支持冲销"); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java index 78a9610..0397f2c 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java @@ -284,7 +284,7 @@ public class QMSController { SetEventInfo setEventInfo = new SetEventInfo(); SetEventInfo setEventInfo2 = new SetEventInfo(); - EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("iqcSyncdata", "", "iqcSyncdata"); + EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("QMS质检结果", "QMS", "pqcSyncdata2-QMS质检结果"); EventInfo eventInfo = new EventInfo(); eventInfo.setEventName("iqcSyncdata"); eventInfo.setEventUser("pQC"); @@ -314,7 +314,7 @@ public class QMSController { String pqcResult = jb.get("judgementResult").toString();//检验结果 String pqcResultDate = jb.get("resultTime").toString();//检验时间 String user = jb.get("inspector").toString();//检验员 - makeEventInfo = new EventInfoUtil().makeEventInfo("iqcSyncdata", user, "iqcSyncdata"); +// makeEventInfo = new EventInfoUtil().makeEventInfo("iqcSyncdata", user, "iqcSyncdata"); String exceptionHandling = jb.get("exceptionHandling") == null ? "" : jb.get("exceptionHandling").toString();//异常处理 (0复卷,1降级,2报废) String specialState = jb.get("specialState") == null ? "" : jb.get("specialState").toString();//特殊状态 (0特采、1紧急放行、2退供应商) String transferStatus = jb.get("transferStatus") == null ? "" : jb.get("transferStatus").toString();//异常处理 @@ -354,6 +354,7 @@ public class QMSController { //eventInfo.setEventTime(Timestamp.valueOf(pqcResultDate)); eventInfo.setEventUser(user); List sapBoxList = new ArrayList<> (); + if ("0".equals(tpType)) {//采购到货单, 领料退库,产成品入库 // 获取JSON数组 @@ -418,6 +419,10 @@ public class QMSController { if(sapBoxList.size() > 0) { String undoId = toSAPService.iqcResultFeekback(sapBoxList,siteName,commonNumber,materialCode,pqcResult,pqcResultDate,user, exceptionHandling,specialState); + if (undoId == null || "".equals(undoId)) { + throw new CustomException("SAP过账失败!"); + } + untils.SaveUnDoInfo_ForSap(sapBoxList, undoId, makeEventInfo); } if(mpList.size()>0) @@ -517,6 +522,11 @@ public class QMSController { if(sapBoxList.size() > 0) { String undoId = toSAPService.iqcResultFeekback(sapBoxList,siteName,commonNumber,materialCode,pqcResult,pqcResultDate,user, exceptionHandling,specialState); + + if (undoId == null || "".equals(undoId)) { + throw new CustomException("SAP过账失败!"); + } + untils.SaveUnDoInfo_ForSap(sapBoxList, undoId, makeEventInfo); } if(mpList.size()>0) @@ -992,7 +1002,7 @@ public class QMSController { // billCode = NCWServiceImpl.OQZkNoInvoice(LocationBoxList, sendUser); if (billCode == null || "".equals(billCode)) { - throw new CustomException("ERP过账失败!"); + throw new CustomException("SAP过账失败!"); } EventInfoUtil eventInfoUtil = new EventInfoUtil(); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialUndoDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialUndoDto.java index 92e9781..098f964 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialUndoDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialUndoDto.java @@ -16,4 +16,12 @@ public class MaterialUndoDto { private String lastEventName; private String commitDate; + + private String preErpLocation; + + private String preLocationName; + + private String locationName; + + private String erpLocation; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialUndoServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialUndoServiceImpl.java index aa13ed3..39acda8 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialUndoServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialUndoServiceImpl.java @@ -74,29 +74,34 @@ public class MaterialUndoServiceImpl implements IMaterialUndoService { @Transactional public void cgrkUndo (String undoId, String user) throws Exception { - String billCode = toSAPService.cancelShipInter(undoId, user); - if (billCode == null) { - throw new GlobalException("报送ERP失败,请联系IT处理!"); - } +// String billCode = toSAPService.cancelShipInter(undoId, user); +// if (billCode == null) { +// throw new GlobalException("报送ERP失败,请联系IT处理!"); +// } - EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("MakeUndo", user, "MakeUndo"); + EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("采购入库冲销", user, "采购入库冲销"); String condition="WHERE UNDOID =? "; String[] bindSet={undoId}; //根据物料凭证找到所有的待冲销数据,更新库存状态为创建 + + // 直接删除生成的标签 List list = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet); - Map hashMap = new HashMap (); - hashMap.put("stockState", "Created"); - SetEventInfo setEventInfo = new SetEventInfo(); - setEventInfo.setUserColumns(hashMap); - for (MaterialPacking materialPacking : list) { + if(list.size() > 0) { + for (MaterialPacking materialPacking : list) { MaterialPackingKey key = materialPacking.getKey(); - MaterialPackingServiceProxy.getMaterialPackingService().setEvent(key, makeEventInfo, setEventInfo); +// MaterialPackingServiceProxy.getMaterialPackingService().setEvent(key, makeEventInfo, setEventInfo); + + String delSql = "DELETE FROM MATERIALPACKING WHERE MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; + String MATERIALPACKINGNAME = materialPacking.getMaterialPackingName(); + Map hashMap = new HashMap (); + hashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME); +// SetEventInfo setEventInfo = new SetEventInfo(); +// setEventInfo.setUserColumns(hashMap); + IDMFrameServiceProxy.getSqlTemplate().update(delSql, hashMap); + + } } -// String sql = "UPDATE BS_MATERIALPACKINGUNDOINFO b SET b.FLAG = 'Y' WHERE b.UNDOID = :UNDOID"; -// Map hashMap2 = new HashMap (); -// hashMap2.put("UNDOID", undoId); -// IDMFrameServiceProxy.getSqlTemplate().update(sql, hashMap2); // 更新凭证冲销状态 MaterialReversalDao.updateReversalUnDoId(undoId); } @@ -298,6 +303,58 @@ public class MaterialUndoServiceImpl implements IMaterialUndoService { MaterialReversalDao.updateReversalUnDoId(undoId); } + /** + * 自动转库 + * @param undoId + * @param user + */ + @Transactional + public void zdZkUndo (String undoId, String user,String preErpLocation,String preLocationName) throws Exception { + + String billCode = toSAPService.cancelShipInter(undoId, user); + if (billCode == null) { + throw new GlobalException("报送ERP失败,请联系IT处理!"); + } + + EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("冲销自动转库", user, "冲销自动转库"); + String condition="WHERE UNDOID =? "; + String[] bindSet={undoId}; + //根据物料凭证找到所有的待冲销数据,更新库存状态为创建 + List list = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet); + + for (MaterialPacking materialPacking : list) { + Map hashMap = new HashMap (); + hashMap.put("erpLocation", preErpLocation); + hashMap.put("locationName", preLocationName); +// hashMap.put("preErpLocation", materialPacking.getErpLocation()); +// hashMap.put("preLocationName", materialPacking.getLocationName()); + SetEventInfo setEventInfo = new SetEventInfo(); + setEventInfo.setUserColumns(hashMap); + MaterialPackingKey key = materialPacking.getKey(); + MaterialPackingServiceProxy.getMaterialPackingService().setEvent(key, makeEventInfo, setEventInfo); + } + + // 更新凭证冲销状态 + MaterialReversalDao.updateReversalUnDoId(undoId); + } + + /** + * 质检结果 + * @param undoId + * @param user + */ + @Transactional + public void zjJgUndo (String undoId, String user) throws Exception { + + String billCode = toSAPService.cancelShipInter(undoId, user); + if (billCode == null) { + throw new GlobalException("SAP质检结果冲销失败!"); + } + + // 更新凭证冲销状态 + MaterialReversalDao.updateReversalUnDoId(undoId); + } + @Transactional public void orderUndo (String undoId, String user, String commitDate) throws Exception { diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/NoInvoiceManagerServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/NoInvoiceManagerServiceImpl.java index f5cff0e..ec53b29 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/NoInvoiceManagerServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/NoInvoiceManagerServiceImpl.java @@ -54,6 +54,7 @@ public class NoInvoiceManagerServiceImpl { } String undoid = ""; // undoid = NCWServiceImpl.qtrNoInvoice(list,user,commitDate,opCode); + SDKMaterialPackingServiceImpl.updateUndoIdByList(list, undoid, makeEventInfo,opCode); //更新库存状态 SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate); From a81c9dcbead22ba8bdf5b1738da75bcc9c6bc2a0 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Fri, 23 May 2025 17:00:40 +0800 Subject: [PATCH 4/5] =?UTF-8?q?update=20/iqc/select/number=E6=9D=A5?= =?UTF-8?q?=E6=96=99=E6=A3=80=E9=AA=8C=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E5=93=81=E5=90=8D=E7=9A=84=E5=8F=96=E5=80=BC=E7=94=B1=E4=B8=8D?= =?UTF-8?q?=E5=B8=A6=E8=A7=84=E6=A0=BC=EF=BC=8C=E6=94=B9=E4=B8=BA=E5=B8=A6?= =?UTF-8?q?=E8=A7=84=E6=A0=BC=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cim/idm/service/impl/QMSServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 068120f..6fa111a 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 @@ -48,7 +48,7 @@ public class QMSServiceImpl implements QMSService{ " TO_CHAR(T.RECEIVETIME ,'YYYY-MM-DD' ) deliveryDate, \r\n" + " T.RECEIVEREQUESTNAME , \r\n" + " M3.MATERIALSPECNAME materialCode, \r\n" + - " M3.DESC_CN materialName, \r\n" + + " M3.DESCRIPTION materialName, \r\n" + " M3.MATERIALGROUP materialGroup, \r\n" + " COUNT(DISTINCT T.CHARGE ) batchQuantity, \r\n" + " T.UNIT quantityUnit, \r\n" + @@ -410,7 +410,7 @@ public class QMSServiceImpl implements QMSService{ " T.LOCATIONNAME,\r\n" + " TO_CHAR(T.RECEIVETIME, 'YYYY-MM-DD') deliveryDate,\r\n" + " M3.MATERIALSPECNAME materialCode,\r\n" + - " M3.DESC_CN materialName,\r\n" + + " M3.DESCRIPTION materialName,\r\n" + " M3.MATERIALGROUP materialGroup,\r\n" + " COUNT(DISTINCT T.CHARGE) batchQuantity,\r\n" + " T.UNIT quantityUnit,\r\n" + @@ -518,7 +518,8 @@ public class QMSServiceImpl implements QMSService{ "\t\tAA.batchQuantity,\n" + "\t\tAA.SUPPLIERNAME,\n" + "\t\tEL.DESCRIPTION AS ERPLOCATIONDESC,\n" + - "\t\tMP.MATERIALGROUP\n" + + "\t\tMP.MATERIALGROUP,\n" + + "\t\tMP.DESCRIPTION\n" + "FROM\n" + "AA\n" + "LEFT JOIN BS_ERPLOCATION EL ON EL.ERPLOCATIONNAME = AA.ERPLOCATION\n" + From 5b5025034fb58eb880f66494a27399e5a3e537df Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Fri, 23 May 2025 17:09:12 +0800 Subject: [PATCH 5/5] =?UTF-8?q?update=20/iqc/select/number=E6=9D=A5?= =?UTF-8?q?=E6=96=99=E6=A3=80=E9=AA=8C=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E5=93=81=E5=90=8D=E7=9A=84=E5=8F=96=E5=80=BC=E7=94=B1=E4=B8=8D?= =?UTF-8?q?=E5=B8=A6=E8=A7=84=E6=A0=BC=EF=BC=8C=E6=94=B9=E4=B8=BA=E5=B8=A6?= =?UTF-8?q?=E8=A7=84=E6=A0=BC=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cim/idm/service/impl/QMSServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 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 6fa111a..2cfb05c 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 @@ -81,7 +81,7 @@ public class QMSServiceImpl implements QMSService{ " T.RECEIVEREQUESTNAME , \r\n" + " TO_CHAR(T.RECEIVETIME ,'YYYY-MM-DD' ) ,\r\n" + " M3.MATERIALSPECNAME , \r\n" + - " M3.DESC_CN , \r\n" + + " M3.DESCRIPTION , \r\n" + " M3.MATERIALGROUP , \r\n" + " T.UNIT , \r\n" + " S.SUPPLIERNO , \r\n" + @@ -434,7 +434,7 @@ public class QMSServiceImpl implements QMSService{ " BE.DESCRIPTION,\r\n" + " TO_CHAR(T.RECEIVETIME, 'YYYY-MM-DD'),\r\n" + " M3.MATERIALSPECNAME,\r\n" + - " M3.DESC_CN,\r\n" + + " M3.DESCRIPTION,\r\n" + " M3.MATERIALGROUP,\r\n" + " T.UNIT,\r\n" + " S.SUPPLIERNO,\r\n" +