fix:修改冲销
This commit is contained in:
parent
86293b4a06
commit
de446441f1
@ -36,6 +36,7 @@ public class MaterialUndoController {
|
||||
String userId = undoDto.getUserId();
|
||||
String flag = undoDto.getFlag();
|
||||
String inv_TYPE = undoDto.getINV_TYPE();
|
||||
String lastEventName = undoDto.getLastEventName();
|
||||
//根据物料凭证校验物料状态是否一致
|
||||
try {
|
||||
Boolean checkUndoCondition = untils.CheckUndoCondition(undoId);
|
||||
@ -66,12 +67,14 @@ public class MaterialUndoController {
|
||||
materialUndoServiceImpl.rkUndo(undoId, userId); // 入库
|
||||
} else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) {
|
||||
materialUndoServiceImpl.cprkUndo(undoId, userId);// 成品入库
|
||||
} else if (inv_TYPE.contains("ZLF")) {
|
||||
} else if (inv_TYPE.contains("ZLF")) { // 出库冲销
|
||||
materialUndoServiceImpl.ckUndo(undoId, userId);
|
||||
} else if (inv_TYPE.contains("ZLR")) {
|
||||
materialUndoServiceImpl.ckUndo(undoId, userId);
|
||||
}else if(inv_TYPE.contains("ZK")) { // 转库
|
||||
materialUndoServiceImpl.zkUndo(undoId, userId);
|
||||
}else if(inv_TYPE.contains("NLCC") && lastEventName.contains("调拨出库")) { // 调拨出库
|
||||
materialUndoServiceImpl.orderUndo(undoId, userId);
|
||||
}else {
|
||||
return AjaxResult.me().setSuccess(false).setMessage("单据类型不支持冲销");
|
||||
}
|
||||
|
@ -13,4 +13,6 @@ public class MaterialUndoDto {
|
||||
|
||||
private String userId;
|
||||
|
||||
private String lastEventName;
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.cim.idm.service.Impl;
|
||||
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.AssignAndDessignDto;
|
||||
import com.cim.idm.model.MaterialPacking;
|
||||
@ -91,6 +92,33 @@ public class AssignAndDessignServiceImpl implements AssignAndDessignService {
|
||||
MaterialPackingServiceProxy.getMaterialPackingService()
|
||||
.assignShipRequest(materialPackingKeyList, eventInfo,
|
||||
assignShipRequestInfo);
|
||||
|
||||
for (MaterialPacking materialPacking : boxList) {
|
||||
String materialPackingName = materialPacking.getMaterialPackingName();
|
||||
String siteName = materialPacking.getSiteName();
|
||||
|
||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName);
|
||||
com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking materialPacking1 = MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(materialPackingKey);
|
||||
|
||||
//更新备货数量
|
||||
// BigDecimal QTY = new BigDecimal(materialQuantity);
|
||||
String updateSql= " UPDATE MATERIALRECEIVEREQUESTDETAIL m SET m.RECEIVEDQUANTITY = m.RECEIVEDQUANTITY + :QTY WHERE m.SITENAME = :SITENAME"
|
||||
+ " AND m.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND m.MATERIALSPECNAME = :MATERIALSPECNAME "
|
||||
// + " AND (:SDK_ID IS NULL OR SDK_ID = :SDK_ID) " +
|
||||
+ "AND (:PHASE IS NULL OR PHASE = :PHASE) " +
|
||||
"AND ROWNUM = 1 ";
|
||||
Map<String, Object> bindMap = new HashMap<String, Object>();
|
||||
bindMap.put("QTY", materialPacking1.getMaterialQuantity());
|
||||
bindMap.put("SITENAME", siteName);
|
||||
bindMap.put("RECEIVEREQUESTNAME", receiveRequestName);
|
||||
bindMap.put("MATERIALPACKINGNAME", materialPackingName);
|
||||
bindMap.put("MATERIALSPECNAME", materialPacking1.getMaterialSpecName());
|
||||
// bindMap.put("SDK_ID", sdk_id);
|
||||
bindMap.put("PHASE", materialPacking1.getPHASE());
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, bindMap);
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
case "Dessign":
|
||||
EventInfo eventInfo1 = EventInfoUtil.makeEventInfo("Dessign", userId, "解绑单据");
|
||||
@ -100,6 +128,32 @@ public class AssignAndDessignServiceImpl implements AssignAndDessignService {
|
||||
MaterialPackingServiceProxy.getMaterialPackingService()
|
||||
.assignShipRequest(materialPackingKeyList, eventInfo1,
|
||||
assignShipRequestInfo);
|
||||
|
||||
for (MaterialPacking materialPacking : boxList) {
|
||||
String materialPackingName = materialPacking.getMaterialPackingName();
|
||||
String siteName = materialPacking.getSiteName();
|
||||
|
||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName);
|
||||
com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking materialPacking1 = MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(materialPackingKey);
|
||||
|
||||
|
||||
String updateSql= " UPDATE MATERIALRECEIVEREQUESTDETAIL m SET m.RECEIVEDQUANTITY = m.RECEIVEDQUANTITY - :QTY WHERE m.SITENAME = :SITENAME"
|
||||
+ " AND m.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND m.MATERIALSPECNAME = :MATERIALSPECNAME "
|
||||
// + "AND (:SDK_ID IS NULL OR SDK_ID = :SDK_ID) " +
|
||||
+ "AND (:PHASE IS NULL OR PHASE = :PHASE)" +
|
||||
" AND ROWNUM = 1 ";
|
||||
Map<String, Object> bindMap = new HashMap<String, Object>();
|
||||
//bindMap.put("QTY", materialQuantity2);
|
||||
bindMap.put("QTY", materialPacking1.getMaterialQuantity());
|
||||
bindMap.put("SITENAME", siteName);
|
||||
bindMap.put("RECEIVEREQUESTNAME", receiveRequestName);
|
||||
bindMap.put("MATERIALPACKINGNAME", materialPackingName);
|
||||
bindMap.put("MATERIALSPECNAME", materialPacking1.getMaterialSpecName());
|
||||
// bindMap.put("SDK_ID", sdk_id);
|
||||
bindMap.put("PHASE", materialPacking1.getPHASE());
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, bindMap);
|
||||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -1813,8 +1813,8 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
// BigDecimal QTY = new BigDecimal(materialQuantity);
|
||||
String updateSql= " UPDATE MATERIALSHIPREQUESTDETAIL m SET m.ASSIGNEDQUANTITY = m.ASSIGNEDQUANTITY + :QTY WHERE m.SITENAME = :SITENAME"
|
||||
+ " AND m.SHIPREQUESTNAME = :SHIPREQUESTNAME AND m.MATERIALSPECNAME = :MATERIALSPECNAME "
|
||||
+ " AND (:SDK_ID IS NULL OR SDK_ID = :SDK_ID) " +
|
||||
// "AND (:PHASE IS NULL OR PHASE = :PHASE) " +
|
||||
// + " AND (:SDK_ID IS NULL OR SDK_ID = :SDK_ID) " +
|
||||
+ "AND (:PHASE IS NULL OR PHASE = :PHASE) " +
|
||||
"AND ROWNUM = 1 ";
|
||||
Map<String, Object> bindMap = new HashMap<String, Object>();
|
||||
bindMap.put("QTY", queryForList.get(0).get("MATERIALQUANTITY").toString());
|
||||
@ -1822,7 +1822,7 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
bindMap.put("SHIPREQUESTNAME", shipReuqestName);
|
||||
bindMap.put("MATERIALPACKINGNAME", materialPackingName);
|
||||
bindMap.put("MATERIALSPECNAME", materialSpecName);
|
||||
bindMap.put("SDK_ID", sdk_id);
|
||||
// bindMap.put("SDK_ID", sdk_id);
|
||||
bindMap.put("PHASE", phase);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, bindMap);
|
||||
}
|
||||
@ -3068,8 +3068,90 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
String billCode = "";
|
||||
switch (shipRequestType) {
|
||||
case "NLCC" : //STO调拨出库
|
||||
makeEventInfo.setEventName("CompletedShipRequestNLCC");
|
||||
makeEventInfo.setEventComment("CompletedShipRequestNLCC");
|
||||
|
||||
// 拆条码,查询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 = new Double(qtyQueryForList.get(z).getMaterialQuantity()) == null ? "0" : 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 materialpackingNew = new MaterialPacking();
|
||||
// materialpackingKey.setSiteName("SDK");
|
||||
// materialpackingKey.setMaterialPackingName(newPalletNo);
|
||||
// materialpackingNew.setKey(materialpackingKey);
|
||||
|
||||
// 复制一个当前的原标签数据
|
||||
materialpackingNew.setKey(qtyQueryForList.get(z).getKey());
|
||||
// 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("修改数量拆分失败");
|
||||
}
|
||||
|
||||
//记录到拆分表
|
||||
String subsql = "SELECT RECEIVEREQUESTDETAILNAME FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND MATERIALPACKINGNAME = :MATERIALPACKINGNAME\n";
|
||||
Map<String, Object> subHashMap = new HashMap<String, Object>();
|
||||
subHashMap.put("RECEIVEREQUESTNAME", shipRequestName);
|
||||
subHashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
|
||||
List<Map<String, Object>> ZKqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(subsql, subHashMap);
|
||||
String preReceiverequestdetailname = ZKqueryForList.get(0).get("RECEIVEREQUESTDETAILNAME").toString();
|
||||
|
||||
String shipRequestDetailName = qtyQueryForList.get(z).getShipRequestDetailName() == null ? "" : qtyQueryForList.get(z).getShipRequestDetailName().toString();
|
||||
untils.fahuoSplit(newPalletNo, shipRequestName, preReceiverequestdetailname, bigQty2);
|
||||
|
||||
// 原条码扣减拆出的数量,用剩余数量更新原条码,条码不变,数量更新
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
Map<String, Object> pakHashMap = new HashMap<>();
|
||||
pakHashMap.put("materialQuantity", restQty.doubleValue());
|
||||
pakHashMap.put("materialQuantity2", 0);
|
||||
pakHashMap.put("shipRequestName", "");
|
||||
pakHashMap.put("shipRequestDetailName", "");
|
||||
|
||||
EventInfo eventInfo = new EventInfoUtil().makeEventInfo("备货出库调拨出拆分条码", eventUser, "拆分条码");
|
||||
setEventInfo.setUserColumns(pakHashMap);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(new MaterialPackingKey( "SDK", MATERIALPACKINGNAME), eventInfo, setEventInfo);
|
||||
|
||||
// 删除被拆分的原条码数据,用拆分出的新条码覆盖,进行后面的过账,现场仓过账只过账已拆分出的数量,剩余数量的原条码不过账
|
||||
boolean deletePacking = materialPackingKeyList.remove(MATERIALPACKINGNAME);
|
||||
if (deletePacking) {
|
||||
materialPackingKeyList.add(newPalletNo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
makeEventInfo.setEventName("调拨出库");
|
||||
makeEventInfo.setEventComment("备货调拨出库");
|
||||
billCode=TransferStockOut_NLCC(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate);
|
||||
untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo);
|
||||
break;
|
||||
|
@ -839,7 +839,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
pakHashMap.put("shipRequestName", "");
|
||||
pakHashMap.put("shipRequestDetailName", "");
|
||||
|
||||
EventInfo eventInfo2 = new EventInfoUtil().makeEventInfo("辅材出库拆分", user, "拆分条码");
|
||||
EventInfo eventInfo2 = new EventInfoUtil().makeEventInfo("调拨出库", user, "辅材出库拆分");
|
||||
setEventInfo.setUserColumns(pakHashMap);
|
||||
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(new MaterialPackingKey( "SDK",MATERIALPACKINGNAME), eventInfo2, setEventInfo);
|
||||
@ -852,7 +852,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
}
|
||||
}
|
||||
billCode=TransferStockOut_NLCC(shipRequestName, "SDK", user,materialPackingKeyList, commitDate);
|
||||
//makeEventInfo = eventInfoUtil.makeEventInfo("CompleteShipRequest", eventUser, "CompleteShipRequest:"+shipRequestType);
|
||||
// makeEventInfo = eventInfoUtil.makeEventInfo("CompleteShipRequest", eventUser, "CompleteShipRequest:"+shipRequestType);
|
||||
untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, eventInfo);
|
||||
// untils.SaveSplitUnDoInfo_ForSap(materialPackingKeyList, billCode, eventInfo);
|
||||
break;
|
||||
|
@ -262,4 +262,82 @@ public class MaterialUndoServiceImpl implements IMaterialUndoService {
|
||||
MaterialReversalDao.updateReversalUnDoId(undoId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void orderUndo (String undoId, String user) throws Exception {
|
||||
|
||||
String billCode = toSAPService.cancelShipInter(undoId, user);
|
||||
if (billCode == null) {
|
||||
throw new GlobalException("报送ERP失败,请联系IT处理!");
|
||||
}
|
||||
|
||||
EventInfo makeEventInfo = new EventInfoUtil ().makeEventInfo("MakeUndo", user, "MakeUndo");
|
||||
String condition="WHERE UNDOID =? ";
|
||||
String[] bindSet={undoId};
|
||||
//根据物料凭证找到所有的待冲销数据,更新库存状态为创建
|
||||
List<MaterialPacking> list = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet);
|
||||
Map<String, Object> hashMap = new HashMap<String, Object> ();
|
||||
hashMap.put("stockState", "Stocked");
|
||||
hashMap.put("shipRequestName", "");
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
for (MaterialPacking materialPacking : list) {
|
||||
MaterialPackingKey key = materialPacking.getKey();
|
||||
//获取实际发货数量
|
||||
Double materialQuantity = materialPacking.getMaterialQuantity();
|
||||
Double materialQuantity2 = materialPacking.getMaterialQuantity2();
|
||||
String shipRequestName = materialPacking.getShipRequestName();
|
||||
//判断批次现在的库存状态,如果是已出库说明Box已被该单据完全出库,从出库明细表获取信息更新数量,如果状态还是在库更新数量为原有基础上增加
|
||||
String pcSql = "MERGE INTO MATERIALPACKING T USING (SELECT MATERIALPACKINGNAME,SUM(QTY) QTY FROM \n" +
|
||||
"(SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUB M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME\n" +
|
||||
"UNION \n" +
|
||||
"SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUBHISTORY M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME)\n" +
|
||||
"GROUP BY MATERIALPACKINGNAME) M ON (T.MATERIALPACKINGNAME = M.MATERIALPACKINGNAME )\n" +
|
||||
"WHEN MATCHED THEN UPDATE SET T.MATERIALQUANTITY = T.MATERIALQUANTITY + M.QTY";
|
||||
if ("Stocked".equals(materialPacking.getStockState())) {
|
||||
pcSql = "MERGE INTO MATERIALPACKING T USING (SELECT MATERIALPACKINGNAME,SUM(QTY) QTY FROM \n" +
|
||||
"(SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUB M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME\n" +
|
||||
"UNION \n" +
|
||||
"SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUBHISTORY M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME)\n" +
|
||||
"GROUP BY MATERIALPACKINGNAME) M ON (T.MATERIALPACKINGNAME = M.MATERIALPACKINGNAME )\n" +
|
||||
"WHEN MATCHED THEN UPDATE SET T.MATERIALQUANTITY = T.MATERIALQUANTITY + M.QTY,T.MATERIALQUANTITY2 = 0 ";
|
||||
} else if ("StockOut".equals(materialPacking.getStockState())) {
|
||||
pcSql = "MERGE INTO MATERIALPACKING T USING (SELECT MATERIALPACKINGNAME,SUM(QTY) QTY FROM \n" +
|
||||
"(SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUB M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME\n" +
|
||||
"UNION \n" +
|
||||
"SELECT DISTINCT M.MATERIALPACKINGNAME,M.QTY FROM MATERIALPACKINGSUBHISTORY M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME)\n" +
|
||||
"GROUP BY MATERIALPACKINGNAME) M ON (T.MATERIALPACKINGNAME = M.MATERIALPACKINGNAME )\n" +
|
||||
"WHEN MATCHED THEN UPDATE SET T.MATERIALQUANTITY = M.QTY,T.MATERIALQUANTITY2 = 0 ";
|
||||
}
|
||||
// BigDecimal fmaterialQuantity = new BigDecimal(materialQuantity);
|
||||
// BigDecimal fmaterialQuantity2 = new BigDecimal(materialQuantity2);
|
||||
// if (fmaterialQuantity.compareTo(fmaterialQuantity2) == 0) {
|
||||
// fmaterialQuantity = BigDecimal.ZERO;
|
||||
// }
|
||||
// hashMap.put("materialQuantity", fmaterialQuantity);
|
||||
// hashMap.put("materialQuantity2", 0);
|
||||
setEventInfo.setUserColumns(hashMap);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(key, makeEventInfo, setEventInfo);
|
||||
|
||||
String cxSql = "MERGE INTO MATERIALSHIPREQUESTDETAIL T USING (SELECT RECEIVEREQUESTNAME,RECEIVEREQUESTDETAILNAME,SUM(QTY) QTY FROM \r\n" +
|
||||
"(SELECT DISTINCT M.RECEIVEREQUESTNAME,M.RECEIVEREQUESTDETAILNAME,M.QTY FROM MATERIALPACKINGSUB M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME\r\n" +
|
||||
"UNION \r\n" +
|
||||
"SELECT DISTINCT M.RECEIVEREQUESTNAME,M.RECEIVEREQUESTDETAILNAME,M.QTY FROM MATERIALPACKINGSUBHISTORY M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME)\r\n" +
|
||||
"GROUP BY RECEIVEREQUESTNAME,RECEIVEREQUESTDETAILNAME) M ON (T.SHIPREQUESTNAME = M.RECEIVEREQUESTNAME AND T.SHIPREQUESTDETAILNAME = M.RECEIVEREQUESTDETAILNAME)\r\n" +
|
||||
"WHEN MATCHED THEN UPDATE SET T.ASSIGNEDQUANTITY = T.ASSIGNEDQUANTITY - M.QTY,T.SALEOUTQUANTITY = T.SALEOUTQUANTITY - M.QTY";
|
||||
|
||||
|
||||
//根据当前的出库数量更新saleQty
|
||||
// String sql = "SELECT M.RECEIVEREQUESTNAME,M.RECEIVEREQUESTDETAILNAME,M.QTY FROM MATERIALPACKINGSUB M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME\r\n" +
|
||||
// "UNION \r\n" +
|
||||
// "SELECT M.RECEIVEREQUESTNAME,M.RECEIVEREQUESTDETAILNAME,M.QTY FROM MATERIALPACKINGSUBHISTORY M WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
||||
String MATERIALPACKINGNAME = materialPacking.getMaterialPackingName().toString();
|
||||
hashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
|
||||
hashMap.put("SHIPREQUESTNAME", shipRequestName);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(pcSql, hashMap);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(cxSql, hashMap);
|
||||
}
|
||||
|
||||
// 更新凭证冲销状态
|
||||
MaterialReversalDao.updateReversalUnDoId(undoId);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user