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 8143c54..e62b3c1 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 @@ -3051,16 +3051,26 @@ public class InvoiceServiceImpl implements InvoiceService { String ERPRECEIVEFACTORY = receiveList.get(0).get("ERPRECEIVEFACTORY") == null ? "" : receiveList.get(0).get("ERPRECEIVEFACTORY").toString(); //判断是否为MES需要二次接收的物料 - String sqlc=" SELECT e.ENUMVALUE FROM MES_ENUMDEFVALUE e \r\n" + + /*String sqlc=" SELECT e.ENUMVALUE FROM MES_ENUMDEFVALUE e \r\n" + " WHERE e.ENUMNAME ='ConfirmReceiveArea'\r\n" + " AND e.ENUMVALUE in(\r\n" + " SELECT p.AREANAME FROM MES_PRODUCTREQUEST p \r\n" + " WHERE p.PRODUCTREQUESTNAME =(SELECT m.RECEIVEPRODUCTIONORDERNUMBER FROM MATERIALSHIPREQUESTDETAIL m \r\n" + - " WHERE m.SHIPREQUESTNAME=:SHIPREQUESTNAME AND RECEIVEPRODUCTIONORDERNUMBER IS NOT NULL AND ROWNUM=1))"; - - List> src=IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlc, bpc); - - + " WHERE m.SHIPREQUESTNAME=:SHIPREQUESTNAME AND RECEIVEPRODUCTIONORDERNUMBER IS NOT NULL AND ROWNUM=1))";*/ + List> src = new ArrayList>(); + String sqlQuery = " SELECT m.RECEIVEPRODUCTIONORDERNUMBER FROM MATERIALSHIPREQUESTDETAIL m " + + " WHERE m.SHIPREQUESTNAME=:SHIPREQUESTNAME AND RECEIVEPRODUCTIONORDERNUMBER IS NOT NULL AND ROWNUM=1"; + List> materialShipRequestDetailList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlQuery, bpc); + if (null != materialShipRequestDetailList && !materialShipRequestDetailList.isEmpty()){ + String productRequestName = materialShipRequestDetailList.get(0).get("RECEIVEPRODUCTIONORDERNUMBER") == null ? "" : materialShipRequestDetailList.get(0).get("RECEIVEPRODUCTIONORDERNUMBER").toString(); + String sqlc = " SELECT e.ENUMVALUE FROM ENUMDEFVALUE@MES_PRODUCTREQUEST e \r\n" + + " WHERE e.ENUMNAME ='ConfirmReceiveArea'\r\n" + + " AND e.ENUMVALUE in(\r\n" + + " SELECT p.AREANAME FROM PRODUCTREQUEST@MES_PRODUCTREQUEST p \r\n" + + " WHERE p.PRODUCTREQUESTNAME =:PRODUCTREQUESTNAME)"; + bpc.put("PRODUCTREQUESTNAME", productRequestName); + src = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlc, bpc); + } //MES需要接收,则只抛送数据。 或如果是现场仓,先移到现场仓 if(src.size()>0) { billCode="Y";