diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ChargeSplitServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ChargeSplitServiceImpl.java index 30f9165..39b8928 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ChargeSplitServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ChargeSplitServiceImpl.java @@ -229,7 +229,7 @@ public class ChargeSplitServiceImpl implements ChargeSplitService { // String pc = "('" + materialpackingname + "')"; String sql = "SELECT 1 FROM MATERIALPACKING WHERE MATERIALPACKINGNAME IN (:MATERIALPACKINGNAME1, :MATERIALPACKINGNAME2)"; Map hashMap2 = new HashMap (); - hashMap2.put("MATERIALPACKINGNAME1", newBoxId1); + hashMap2.put("MATERIALPACKINGNAME", newBoxId1); List> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap2); List MaterialPackingList = null; if (queryForList != null && queryForList.size() > 0) { 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 b7c18de..3737cd5 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 @@ -392,63 +392,64 @@ public class InvoiceServiceImpl implements InvoiceService { // 拆条码,查询MATERIALQUANTITY 与 MATERIALQUANTITY2是否相等,如果相等则未修改了数量,不相等则修改了数量 // 如果已修改数量,则进行拆条码 -// for (int z = 0; z < packingQueryForList.size(); z++) { -// String MATERIALPACKINGNAME = packingQueryForList.get(z).get("MATERIALPACKINGNAME").toString(); -// Object[] bindSet = {MATERIALPACKINGNAME}; -// String qtysql = "WHERE MATERIALPACKINGNAME = ?"; -// List qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(qtysql, bindSet); -// -// String qty = String.valueOf(qtyQueryForList.get(z).getMaterialQuantity()); -// -// String qty2 = new Double(qtyQueryForList.get(z).getMaterialQuantity2()) == null ? "0" : String.valueOf(qtyQueryForList.get(z).getMaterialQuantity2()); -// String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName(); -// String charge = qtyQueryForList.get(z).getCharge(); -// BigDecimal bigQty = new BigDecimal(qty); -// // 已拆数量 -// BigDecimal bigQty2 = new BigDecimal(qty2); -// -// // 如果已拆数量不等于原数量,并且已拆数量为0(未拆分数量) -// if(bigQty.compareTo(bigQty2) != 0 && !"0".equals(qty2)) { -// // 剩余数量 -// BigDecimal restQty = bigQty.subtract(bigQty2); -// // 生成新的拆分条码 -// String stringBigQty2 = bigQty2.toString(); -// String newPalletNo = CodeGenerator.packingGenerateCode(materialPackingName,stringBigQty2,charge); -// -// // 写入拆分的新条码,更新原数据库 -// List boxList = new ArrayList(); -//// MaterialPackingKey materialpackingKey = new MaterialPackingKey(); -// MaterialPacking materialpacking = new MaterialPacking(); -//// materialpackingKey.setSiteName("SDK"); -//// materialpackingKey.setMaterialPackingName(newPalletNo); -//// materialpacking.setKey(materialpackingKey); -// -// // 复制一个当前的原标签数据 -// MaterialPacking materialpackingNew = qtyQueryForList.get(z); -// // 设置新为标签和数量 -// materialpackingNew.setMaterialPackingName(newPalletNo); -// // bigQty2 转double类型 -// materialpackingNew.setMaterialQuantity(bigQty2.doubleValue()); -// boxList.add(qtyQueryForList.get(z)); -// boxList.add(materialpackingNew); -// boolean moveTransformOut = packingChargeSplit(boxList, eventUser); -// if (moveTransformOut != true) { -// throw new RuntimeException("修改数量拆分失败"); -// } -// -// // 原条码扣减 -// SetEventInfo setEventInfo = new SetEventInfo(); -// Map pakHashMap = new HashMap<>(); -// pakHashMap.put("materialQuantity", restQty.doubleValue()); -// -// EventInfo eventInfo = new EventInfoUtil().makeEventInfo("修改数量拆分条码", eventUser, "修改数量拆分条码"); -// setEventInfo.setUserColumns(pakHashMap); -// MaterialPackingServiceProxy.getMaterialPackingService().setEvent(new MaterialPackingKey( queryForList.get(z).get("SITENAME").toString(), -// queryForList.get(z).get("MATERIALPACKINGNAME").toString()), eventInfo, setEventInfo); -// -// } -// -// } + for (int z = 0; z < packingQueryForList.size(); z++) { + String MATERIALPACKINGNAME = packingQueryForList.get(z).get("MATERIALPACKINGNAME").toString(); + Object[] bindSet = {MATERIALPACKINGNAME}; + String qtysql = "WHERE MATERIALPACKINGNAME = ?"; + List qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(qtysql, bindSet); + + String qty = String.valueOf(qtyQueryForList.get(z).getMaterialQuantity()); + + String qty2 = new Double(qtyQueryForList.get(z).getMaterialQuantity2()) == null ? "0" : String.valueOf(qtyQueryForList.get(z).getMaterialQuantity2()); + String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName(); + String charge = qtyQueryForList.get(z).getCharge(); + BigDecimal bigQty = new BigDecimal(qty); + // 已拆数量 + BigDecimal bigQty2 = new BigDecimal(qty2); + + // 如果已拆数量不等于原数量,并且已拆数量为0(未拆分数量) + if(bigQty.compareTo(bigQty2) != 0 && !"0".equals(qty2)) { + // 剩余数量 + BigDecimal restQty = bigQty.subtract(bigQty2); + + // 生成新的拆分条码 + String stringBigQty2 = bigQty2.toString(); + String newPalletNo = CodeGenerator.packingGenerateCode(materialPackingName,stringBigQty2,charge); + + // 写入拆分的新条码,更新原数据库 + List boxList = new ArrayList(); +// MaterialPackingKey materialpackingKey = new MaterialPackingKey(); + MaterialPacking materialpacking = new MaterialPacking(); +// materialpackingKey.setSiteName("SDK"); +// materialpackingKey.setMaterialPackingName(newPalletNo); +// materialpacking.setKey(materialpackingKey); + + // 复制一个当前的原标签数据 + MaterialPacking materialpackingNew = qtyQueryForList.get(z); + // 设置新为标签和数量 + materialpackingNew.setMaterialPackingName(newPalletNo); + // bigQty2 转double类型 + materialpackingNew.setMaterialQuantity(bigQty2.doubleValue()); + boxList.add(qtyQueryForList.get(z)); + boxList.add(materialpackingNew); + boolean moveTransformOut = packingChargeSplit(boxList, eventUser); + if (moveTransformOut != true) { + throw new RuntimeException("修改数量拆分失败"); + } + + // 原条码扣减 + SetEventInfo setEventInfo = new SetEventInfo(); + Map pakHashMap = new HashMap<>(); + pakHashMap.put("materialQuantity", restQty.doubleValue()); + + EventInfo eventInfo = new EventInfoUtil().makeEventInfo("修改数量拆分条码", eventUser, "修改数量拆分条码"); + setEventInfo.setUserColumns(pakHashMap); + MaterialPackingServiceProxy.getMaterialPackingService().setEvent(new MaterialPackingKey( queryForList.get(z).get("SITENAME").toString(), + queryForList.get(z).get("MATERIALPACKINGNAME").toString()), eventInfo, setEventInfo); + + } + + } //new MESServiceImpl().NeedReceiveMaterialInfoSend_NEW(shipRequestName, "SDK", materialPackingKeyList); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java index 3737ab4..6727009 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MESToWMSServiceImpl.java @@ -457,6 +457,7 @@ public class MESToWMSServiceImpl implements MESToWMSService { bindMap.put("PRODUCTSPECNAME", productSpecName); bindMap.put("PRODUCTNAME", productName); bindMap.put("SDK_ID", sdkId); + bindMap.put("TRUEGG", sdkId); // sap用于实际规格 bindMap.put("PHASE", phase); bindMap.put("REMARK", remark); bindMap.put("SHIPTIME", shipTime); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java index f5d78e4..cc3c5b9 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java @@ -469,13 +469,13 @@ public class ReturnStockIntoServiceImpl implements ReturnStockInService { eventInfo, createInfo); // 如果是现场仓更新标签,需根据批次才能找到对应的原标签 - if("T".equals(receive_flag)) { +// if("T".equals(receive_flag)) { // 如果存在对应的原标签,MATERIALPACKINGNAME相等,就删除原标签 if(xcqueryForList != null && xcqueryForList.size() > 0) { String delsql = "DELETE FROM MATERIALPACKING m WHERE m.CHARGE = :CHARGE AND m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; IDMFrameServiceProxy.getSqlTemplate().update(delsql, xcHashMap); } - } +// } } else { SetEventInfo setEventInfo = new SetEventInfo();