From 912beb70d04be584c3bf23681ecc419c7b971df8 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Mon, 14 Apr 2025 15:52:28 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=85=A5=E5=BA=93=E6=97=B6=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/receive/ReceiveTypeEnums.java | 7 +++ .../idm/controller/DeliveryController.java | 2 +- .../MaterialReceiveActController.java | 45 ++++--------------- .../cim/idm/controller/NoChargeStockIn.java | 33 +++++++------- .../resources/com/cim/idm/dao/DeliveryDao.xml | 3 ++ 5 files changed, 34 insertions(+), 56 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/constants/receive/ReceiveTypeEnums.java b/zi-wms-pda/src/main/java/com/cim/idm/constants/receive/ReceiveTypeEnums.java index dd2c61c..8c9a3c8 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/constants/receive/ReceiveTypeEnums.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/constants/receive/ReceiveTypeEnums.java @@ -31,4 +31,11 @@ public enum ReceiveTypeEnums { str.add(Z004.getCode()); return str; } + + /** + * 是否采购订单 + */ + public static Boolean isPurchase(String code) { + return getPurchase().contains(code); + } } 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 e93a424..b341e72 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 @@ -73,7 +73,7 @@ public class DeliveryController { deliveryName = byKey.getDeliveryName(); // 到库单(找出该单据下的所有的采购单) nameList = deliveryService.getRelByDelivery(storeDetailDto) - .stream().map(MaterialDeliveryReceive::getReceiveRequestName).collect(Collectors.toList()); + .stream().map(MaterialDeliveryReceive::getReceiveRequestName).distinct().collect(Collectors.toList()); } else { // 采购单 MaterialReceiveRequest receiveByKey = deliveryService.getReceiveByKey(storeDetailDto); 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 adc7839..5f4f619 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 @@ -3,6 +3,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cim.idm.constants.delivery.DeliveryStateEnums; +import com.cim.idm.constants.receive.ReceiveTypeEnums; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.dto.delivery.DeliveryEditDto; @@ -526,9 +527,14 @@ public class MaterialReceiveActController { e.printStackTrace(); return AjaxResult.me().setSuccess(false).setMessage(e.toString()); } - String undoId; + String undoId = null; try { - undoId = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode); + // 采购订单 + if (ReceiveTypeEnums.isPurchase(request.getReceiveRequestType())) { + Map args = new HashMap<>(); + undoId = toSAPServiceImpl.PurStockIn(receiveRequestName, siteName, user, args); + } + // @TODO 其他订单 } catch (Exception e) { e.printStackTrace(); return AjaxResult.me().setSuccess(false).setMessage(e.toString()); @@ -553,39 +559,4 @@ public class MaterialReceiveActController { } return AjaxResult.me().setResultObj(null); } - - - public String SendERPStockIn(String receiveRequestName, String siteName, String eventUser,String reActo,String commitDate,String opCode) throws Exception { - //判断单据类型调用不同的NC接口 - String sql = "SELECT m.RECEIVEREQUESTTYPE,m.RECEIVEREQUESTDETAILTYPE FROM MATERIALRECEIVEREQUEST m WHERE m.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME"; - Map hashMap = new HashMap (); - hashMap.put("RECEIVEREQUESTNAME", receiveRequestName); - List> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap); - String billCode = ""; - if (queryForList != null && queryForList.size() > 0) { - String type = queryForList.get(0).get("RECEIVEREQUESTTYPE").toString(); -// String receiverequestdetailtype = queryForList.get(0).get("RECEIVEREQUESTDETAILTYPE").toString(); - switch (type) { - case "Z001" : //采购入库 - case "Z002" : //研发采购订单 - case "Z003" : //非生产物资采购订单 - case "Z004" : //固定资产、在建工程采购订单 - Map args = new HashMap<>(); - billCode = toSAPServiceImpl.PurStockIn(receiveRequestName, siteName, eventUser, - args/* ,overReceiveControls */); - break; - case "Z005" : //服务费用采购订单 - case "Z006" : //股份 - 泗洪STO - case "Z007" : //股份泗洪-分子公司STO - break; - case "Z008" : //物资退货采购订单 - default : - break; - } - } else { - throw new CustomException("找不到单据" + receiveRequestName); - } - return billCode; - } - } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/NoChargeStockIn.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/NoChargeStockIn.java index 9b55d45..2d46c76 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/NoChargeStockIn.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/NoChargeStockIn.java @@ -1,6 +1,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSONObject; +import com.cim.idm.constants.receive.ReceiveTypeEnums; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.framework.exception.IDMFrameDBErrorSignal; @@ -12,8 +13,8 @@ import com.cim.idm.model.vo.DeliveryReceiveDetailVo; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; import com.cim.idm.mwmsextend.materialreceiverequest.service.MaterialReceiveRequestServiceImpl; import com.cim.idm.service.IDeliveryService; -import com.cim.idm.service.Impl.NCWServiceImpl; import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl; +import com.cim.idm.service.impl.ToSAPServiceImpl; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.EventInfoUtil; import com.cim.idm.wmsextend.generic.GenericServiceProxy; @@ -42,6 +43,7 @@ import com.cim.idm.wmspackage.receiverequestdetail.management.info.MakeDetailInc import io.swagger.annotations.Api; 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; @@ -62,15 +64,14 @@ import java.util.*; @EnableAutoConfiguration public class NoChargeStockIn { + private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class); + SDKMaterialPackingServiceImpl SDKMP = new SDKMaterialPackingServiceImpl(); + @Resource private IDeliveryService deliveryService; - - private static Log log = LogFactory.getLog(MaterialReceiveRequestServiceImpl.class); - SDKMaterialPackingServiceImpl SDKMP=new SDKMaterialPackingServiceImpl(); - NCWServiceImpl ncServer=new NCWServiceImpl(); - // 先创建Map集合 - Map hashMap = new HashMap<>(); + @Autowired + private ToSAPServiceImpl toSAPServiceImpl; @Transactional @RequestMapping(value = "/NoChargeStockIn", method = RequestMethod.POST) @@ -95,9 +96,10 @@ public class NoChargeStockIn { String sdkid=""; String commitDate = ""; String opCode = ""; + String siteName = (String)in.get("SITENAME"); // 判定是否是到货单 StoreDetailDto storeDetailDto = new StoreDetailDto(); - storeDetailDto.setSiteName((String)in.get("SITENAME")); + storeDetailDto.setSiteName(siteName); storeDetailDto.setDocumentName((String)in.get("RECEIVEREQUESTNAME")); MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto); Boolean isDelivery = Objects.nonNull(byKey); @@ -106,7 +108,6 @@ public class NoChargeStockIn { try { receiveAct=GenerateMaterialReceiveRequestName("SDK","NoPO"); } catch (CustomException e) { - // TODO Auto-generated catch block e.printStackTrace(); } user=(String) in.get("USER"); @@ -242,16 +243,12 @@ public class NoChargeStockIn { } for (MaterialReceiveRequest request : requests) { String billcode = null; - switch (request.getReceiveRequestType()) { - case "ZK4A" : //其他入库 - billcode = ncServer.qtrNoInvoice(request.getReceiveRequestName(), "SDK", receiveAct,user,commitDate,opCode); - break; - case "45" : //采购入库 - billcode = ncServer.PurStockIn(request.getReceiveRequestName(), "SDK",user,receiveAct,commitDate,opCode); - break; - default : - break; + // 采购订单 + if (ReceiveTypeEnums.isPurchase(request.getReceiveRequestType())) { + Map args = new HashMap<>(); + billcode = toSAPServiceImpl.PurStockIn(request.getReceiveRequestName(), siteName, user, args); } + // @TODO 其他类型 if (billcode == null || "".equals(billcode)) { return AjaxResult.me().setErrorCode(500).setSuccess(false).setMessage("NC过账失败"); } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml index 02b18b3..42fb6f7 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -74,6 +74,9 @@ AND m.ORDERDATE BETWEEN TO_DATE( #{dto.fromDate}, 'YYYY/MM/DDHH24MISS' ) AND TO_DATE( #{dto.toDate}, 'YYYY/MM/DDHH24MISS' ) + + AND (ms.IS_BATCH IS NULL OR ms.IS_BATCH != 'Y') +