diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleOutController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleOutController.java index b676935..3e4add3 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleOutController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleOutController.java @@ -669,11 +669,22 @@ public class SaleOutController { Map hashMap = new HashMap (); hashMap.put("SHIPREQUESTNAME", shipRequestName); - - String sqlGetBox="SELECT m.MATERIALPACKINGNAME,m.MATERIALQUANTITY,DECODE(NVL(m.MATERIALQUANTITY2,0), 0 ,m.MATERIALQUANTITY,m.MATERIALQUANTITY2) MATERIALQUANTITY2 FROM MATERIALPACKING m \r\n" + - " WHERE m.SHIPREQUESTNAME =:SHIPREQUESTNAME\r\n" + - " AND m.STOCKSTATE ='Stocked'\r\n" + - " AND m.MATERIALQUANTITY2 >0"; + + // 关联详情单据,去除当是现场仓时多余已经入库到现场仓的批次条码 + String sqlGetBox="SELECT\n" + + "m.MATERIALPACKINGNAME,\n" + + "m.MATERIALQUANTITY,\n" + + "DECODE(NVL(m.MATERIALQUANTITY2, 0), 0 , m.MATERIALQUANTITY, m.MATERIALQUANTITY2) MATERIALQUANTITY2\n" + + "FROM\n" + + "MATERIALPACKING m\n" + + "LEFT JOIN MATERIALSHIPREQUESTDETAIL mdl ON\n" + + "mdl.SHIPREQUESTNAME=m.SHIPREQUESTNAME \n" + + "AND mdl.MATERIALSPECNAME = m.MATERIALSPECNAME\n" + + "WHERE\n" + + "m.SHIPREQUESTNAME =:SHIPREQUESTNAME\n" + + "AND m.STOCKSTATE = 'Stocked'\n" + + "AND m.MATERIALQUANTITY2 >0\n" + + "AND (m.ERPLOCATION <> mdl.ERPRECEIVELOCATION OR mdl.ERPRECEIVELOCATION IS NULL)"; List> sr = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlGetBox, hashMap); if(sr.size()>0) {