fix:修改退料入库

This commit is contained in:
郭飞 2025-04-25 13:55:53 +08:00
parent 3241bdd816
commit 1fd21ec024
4 changed files with 62 additions and 60 deletions

View File

@ -229,7 +229,7 @@ public class ChargeSplitServiceImpl implements ChargeSplitService {
// String pc = "('" + materialpackingname + "')"; // String pc = "('" + materialpackingname + "')";
String sql = "SELECT 1 FROM MATERIALPACKING WHERE MATERIALPACKINGNAME IN (:MATERIALPACKINGNAME1, :MATERIALPACKINGNAME2)"; String sql = "SELECT 1 FROM MATERIALPACKING WHERE MATERIALPACKINGNAME IN (:MATERIALPACKINGNAME1, :MATERIALPACKINGNAME2)";
Map<String, Object> hashMap2 = new HashMap<String,Object> (); Map<String, Object> hashMap2 = new HashMap<String,Object> ();
hashMap2.put("MATERIALPACKINGNAME1", newBoxId1); hashMap2.put("MATERIALPACKINGNAME", newBoxId1);
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap2); List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap2);
List<MaterialPacking> MaterialPackingList = null; List<MaterialPacking> MaterialPackingList = null;
if (queryForList != null && queryForList.size() > 0) { if (queryForList != null && queryForList.size() > 0) {

View File

@ -392,63 +392,64 @@ public class InvoiceServiceImpl implements InvoiceService {
// 拆条码查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改了数量不相等则修改了数量 // 拆条码查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改了数量不相等则修改了数量
// 如果已修改数量则进行拆条码 // 如果已修改数量则进行拆条码
// for (int z = 0; z < packingQueryForList.size(); z++) { for (int z = 0; z < packingQueryForList.size(); z++) {
// String MATERIALPACKINGNAME = packingQueryForList.get(z).get("MATERIALPACKINGNAME").toString(); String MATERIALPACKINGNAME = packingQueryForList.get(z).get("MATERIALPACKINGNAME").toString();
// Object[] bindSet = {MATERIALPACKINGNAME}; Object[] bindSet = {MATERIALPACKINGNAME};
// String qtysql = "WHERE MATERIALPACKINGNAME = ?"; String qtysql = "WHERE MATERIALPACKINGNAME = ?";
// List<MaterialPacking> qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(qtysql, bindSet); List<MaterialPacking> qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(qtysql, bindSet);
//
// String qty = String.valueOf(qtyQueryForList.get(z).getMaterialQuantity()); 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 qty2 = new Double(qtyQueryForList.get(z).getMaterialQuantity2()) == null ? "0" : String.valueOf(qtyQueryForList.get(z).getMaterialQuantity2());
// String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName(); String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName();
// String charge = qtyQueryForList.get(z).getCharge(); String charge = qtyQueryForList.get(z).getCharge();
// BigDecimal bigQty = new BigDecimal(qty); BigDecimal bigQty = new BigDecimal(qty);
// // 已拆数量 // 已拆数量
// BigDecimal bigQty2 = new BigDecimal(qty2); BigDecimal bigQty2 = new BigDecimal(qty2);
//
// // 如果已拆数量不等于原数量并且已拆数量为0(未拆分数量) // 如果已拆数量不等于原数量并且已拆数量为0(未拆分数量)
// if(bigQty.compareTo(bigQty2) != 0 && !"0".equals(qty2)) { if(bigQty.compareTo(bigQty2) != 0 && !"0".equals(qty2)) {
// // 剩余数量 // 剩余数量
// BigDecimal restQty = bigQty.subtract(bigQty2); BigDecimal restQty = bigQty.subtract(bigQty2);
// // 生成新的拆分条码
// String stringBigQty2 = bigQty2.toString(); // 生成新的拆分条码
// String newPalletNo = CodeGenerator.packingGenerateCode(materialPackingName,stringBigQty2,charge); String stringBigQty2 = bigQty2.toString();
// String newPalletNo = CodeGenerator.packingGenerateCode(materialPackingName,stringBigQty2,charge);
// // 写入拆分的新条码更新原数据库
// List<MaterialPacking> boxList = new ArrayList<MaterialPacking>(); // 写入拆分的新条码更新原数据库
//// MaterialPackingKey materialpackingKey = new MaterialPackingKey(); List<MaterialPacking> boxList = new ArrayList<MaterialPacking>();
// MaterialPacking materialpacking = new MaterialPacking(); // MaterialPackingKey materialpackingKey = new MaterialPackingKey();
//// materialpackingKey.setSiteName("SDK"); MaterialPacking materialpacking = new MaterialPacking();
//// materialpackingKey.setMaterialPackingName(newPalletNo); // materialpackingKey.setSiteName("SDK");
//// materialpacking.setKey(materialpackingKey); // materialpackingKey.setMaterialPackingName(newPalletNo);
// // materialpacking.setKey(materialpackingKey);
// // 复制一个当前的原标签数据
// MaterialPacking materialpackingNew = qtyQueryForList.get(z); // 复制一个当前的原标签数据
// // 设置新为标签和数量 MaterialPacking materialpackingNew = qtyQueryForList.get(z);
// materialpackingNew.setMaterialPackingName(newPalletNo); // 设置新为标签和数量
// // bigQty2 转double类型 materialpackingNew.setMaterialPackingName(newPalletNo);
// materialpackingNew.setMaterialQuantity(bigQty2.doubleValue()); // bigQty2 转double类型
// boxList.add(qtyQueryForList.get(z)); materialpackingNew.setMaterialQuantity(bigQty2.doubleValue());
// boxList.add(materialpackingNew); boxList.add(qtyQueryForList.get(z));
// boolean moveTransformOut = packingChargeSplit(boxList, eventUser); boxList.add(materialpackingNew);
// if (moveTransformOut != true) { boolean moveTransformOut = packingChargeSplit(boxList, eventUser);
// throw new RuntimeException("修改数量拆分失败"); if (moveTransformOut != true) {
// } throw new RuntimeException("修改数量拆分失败");
// }
// // 原条码扣减
// SetEventInfo setEventInfo = new SetEventInfo(); // 原条码扣减
// Map<String, Object> pakHashMap = new HashMap<>(); SetEventInfo setEventInfo = new SetEventInfo();
// pakHashMap.put("materialQuantity", restQty.doubleValue()); Map<String, Object> pakHashMap = new HashMap<>();
// pakHashMap.put("materialQuantity", restQty.doubleValue());
// EventInfo eventInfo = new EventInfoUtil().makeEventInfo("修改数量拆分条码", eventUser, "修改数量拆分条码");
// setEventInfo.setUserColumns(pakHashMap); EventInfo eventInfo = new EventInfoUtil().makeEventInfo("修改数量拆分条码", eventUser, "修改数量拆分条码");
// MaterialPackingServiceProxy.getMaterialPackingService().setEvent(new MaterialPackingKey( queryForList.get(z).get("SITENAME").toString(), setEventInfo.setUserColumns(pakHashMap);
// queryForList.get(z).get("MATERIALPACKINGNAME").toString()), eventInfo, setEventInfo); 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); //new MESServiceImpl().NeedReceiveMaterialInfoSend_NEW(shipRequestName, "SDK", materialPackingKeyList);

View File

@ -457,6 +457,7 @@ public class MESToWMSServiceImpl implements MESToWMSService {
bindMap.put("PRODUCTSPECNAME", productSpecName); bindMap.put("PRODUCTSPECNAME", productSpecName);
bindMap.put("PRODUCTNAME", productName); bindMap.put("PRODUCTNAME", productName);
bindMap.put("SDK_ID", sdkId); bindMap.put("SDK_ID", sdkId);
bindMap.put("TRUEGG", sdkId); // sap用于实际规格
bindMap.put("PHASE", phase); bindMap.put("PHASE", phase);
bindMap.put("REMARK", remark); bindMap.put("REMARK", remark);
bindMap.put("SHIPTIME", shipTime); bindMap.put("SHIPTIME", shipTime);

View File

@ -469,13 +469,13 @@ public class ReturnStockIntoServiceImpl implements ReturnStockInService {
eventInfo, createInfo); eventInfo, createInfo);
// 如果是现场仓更新标签需根据批次才能找到对应的原标签 // 如果是现场仓更新标签需根据批次才能找到对应的原标签
if("T".equals(receive_flag)) { // if("T".equals(receive_flag)) {
// 如果存在对应的原标签MATERIALPACKINGNAME相等就删除原标签 // 如果存在对应的原标签MATERIALPACKINGNAME相等就删除原标签
if(xcqueryForList != null && xcqueryForList.size() > 0) { if(xcqueryForList != null && xcqueryForList.size() > 0) {
String delsql = "DELETE FROM MATERIALPACKING m WHERE m.CHARGE = :CHARGE AND m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME"; String delsql = "DELETE FROM MATERIALPACKING m WHERE m.CHARGE = :CHARGE AND m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
IDMFrameServiceProxy.getSqlTemplate().update(delsql, xcHashMap); IDMFrameServiceProxy.getSqlTemplate().update(delsql, xcHashMap);
} }
} // }
} else { } else {
SetEventInfo setEventInfo = new SetEventInfo(); SetEventInfo setEventInfo = new SetEventInfo();