fix:修改退料入库
This commit is contained in:
parent
3241bdd816
commit
1fd21ec024
@ -229,7 +229,7 @@ public class ChargeSplitServiceImpl implements ChargeSplitService {
|
||||
// String pc = "('" + materialpackingname + "')";
|
||||
String sql = "SELECT 1 FROM MATERIALPACKING WHERE MATERIALPACKINGNAME IN (:MATERIALPACKINGNAME1, :MATERIALPACKINGNAME2)";
|
||||
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<MaterialPacking> MaterialPackingList = null;
|
||||
if (queryForList != null && queryForList.size() > 0) {
|
||||
|
@ -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<MaterialPacking> 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<MaterialPacking> boxList = new ArrayList<MaterialPacking>();
|
||||
//// 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<String, Object> 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<MaterialPacking> 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<MaterialPacking> boxList = new ArrayList<MaterialPacking>();
|
||||
// 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<String, Object> 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);
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user