入库库存状态改为在库
This commit is contained in:
parent
497b954355
commit
b5d1c27ae5
@ -91,7 +91,7 @@ public class NoInvoiceManagerServiceImpl {
|
|||||||
commitDate,opCode,costName,lifnr);
|
commitDate,opCode,costName,lifnr);
|
||||||
SDKMaterialPackingServiceImpl.updateUndoIdInByList(list, undoid, makeEventInfo,opCode);
|
SDKMaterialPackingServiceImpl.updateUndoIdInByList(list, undoid, makeEventInfo,opCode);
|
||||||
//更新库存状态
|
//更新库存状态
|
||||||
commonUtils.SaveUnDoInfo_ForSap(strings,undoid,makeEventInfo);
|
commonUtils.SaveUnDoInfo_ForSap_qtr(strings,undoid,makeEventInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -685,6 +685,97 @@ public void SaveUnDoInfo_ForSap(List<String> list, String undoid, EventInfo mak
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 保存undo信息
|
||||||
|
* 该方法用于更新和插入与物料包装相关的undo信息,根据提供的参数执行不同的数据库操作
|
||||||
|
*
|
||||||
|
* @param list 包含物料包装名称的列表
|
||||||
|
* @param undoid undo的标识符,用于区分不同的undo操作
|
||||||
|
* @param makeEventInfo 包含事件信息的对象,用于更新物料包装的最后事件信息
|
||||||
|
*/
|
||||||
|
public void SaveUnDoInfo_ForSap_qtr(List<String> list, String undoid, EventInfo makeEventInfo) {
|
||||||
|
|
||||||
|
// 更新事件名
|
||||||
|
// 此SQL语句用于更新物料包装的最后事件名称、评论和时间
|
||||||
|
String sqlu="UPDATE MATERIALPACKING m SET m.LASTEVENTNAME=:LASTEVENTNAME,m.LASTEVENTCOMMENT =:LASTEVENTCOMMENT,m.LASTEVENTTIME =SYSDATE \r\n" +
|
||||||
|
" WHERE m.SITENAME =:SITENAME AND m.MATERIALPACKINGNAME in (:BOXLIST)";
|
||||||
|
Map<String,Object> bpu = new HashMap<String,Object> ();
|
||||||
|
bpu.put("LASTEVENTNAME", makeEventInfo.getEventName());
|
||||||
|
bpu.put("LASTEVENTCOMMENT", makeEventInfo.getEventComment());
|
||||||
|
bpu.put("SITENAME", "SDK");
|
||||||
|
bpu.put("BOXLIST", list);
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate().update(sqlu, bpu);
|
||||||
|
|
||||||
|
// 销售交货单不返回凭证
|
||||||
|
// 如果undoid不等于"S",则执行更新和插入操作,以记录undo信息
|
||||||
|
if(!StringUtils.equals("S", undoid))
|
||||||
|
{
|
||||||
|
// 更新undo信息
|
||||||
|
// 此SQL语句用于更新物料包装的undoid,仅当库存状态为'Stocked'时
|
||||||
|
String updateUndoInfo = "UPDATE MATERIALPACKING T SET T.unDoID = :unDoID WHERE T.MATERIALPACKINGNAME in (:MATERIALPACKINGNAME) "
|
||||||
|
+ " AND STOCKSTATE = 'Stocked'";
|
||||||
|
|
||||||
|
Map<String,Object> map = new HashMap<String,Object> ();
|
||||||
|
map.put("MATERIALPACKINGNAME", list);
|
||||||
|
map.put("unDoID", undoid);
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate().update(updateUndoInfo, map);
|
||||||
|
|
||||||
|
|
||||||
|
// 插入undo物料包装信息
|
||||||
|
// 此SQL语句用于插入新的记录到BS_MATERIALPACKINGUNDOINFO表中,记录详细的undo信息
|
||||||
|
String insertUnDOMaterialPackingInfo = "insert into BS_MATERIALPACKINGUNDOINFO (unDoID,preundoid,UNDODETAILNAME,undoidstate,UNDOIDDATE,PREERPLOCATION,PRELOCATIONNAME,"
|
||||||
|
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||||
|
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||||
|
+ "MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||||
|
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||||
|
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||||
|
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||||
|
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG)"
|
||||||
|
+ "select unDoID,'' as preundoid,UNDODETAILNAME,'Created' as undoidstate,:UNDOIDDATE AS UNDOIDDATE, PREERPLOCATION,PRELOCATIONNAME,"
|
||||||
|
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||||
|
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||||
|
+ "DECODE(MATERIALQUANTITY2,0,MATERIALQUANTITY,MATERIALQUANTITY2) MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||||
|
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||||
|
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||||
|
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||||
|
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG"
|
||||||
|
+ " from MATERIALPACKING "
|
||||||
|
+ " where unDoID=:UNDOID";
|
||||||
|
|
||||||
|
Map<String, Object> bindMap_insert = new HashMap<String, Object>();
|
||||||
|
bindMap_insert.put("UNDOIDDATE", "");
|
||||||
|
bindMap_insert.put("UNDOID", undoid);
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate()
|
||||||
|
.update(insertUnDOMaterialPackingInfo, bindMap_insert);
|
||||||
|
}
|
||||||
|
// 更新Box状态
|
||||||
|
// 根据物料数量和包装数量,更新物料包装的状态和相关属性
|
||||||
|
for (String s : list) {
|
||||||
|
MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",s);
|
||||||
|
com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking selectByKey = MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(materialPackingKey);
|
||||||
|
double materialQuantity = selectByKey.getMaterialQuantity();
|
||||||
|
double materialQuantity2 = selectByKey.getMaterialQuantity2();
|
||||||
|
BigDecimal fmaterialQuantity = new BigDecimal(materialQuantity);
|
||||||
|
BigDecimal fmaterialQuantity2 = new BigDecimal(materialQuantity2);
|
||||||
|
if (fmaterialQuantity.compareTo(fmaterialQuantity2) > 0 && fmaterialQuantity2.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
|
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||||
|
hashMap.put("materialQuantity", fmaterialQuantity.subtract(fmaterialQuantity2));
|
||||||
|
hashMap.put("materialQuantity2", 0);
|
||||||
|
hashMap.put("shipRequestName", "");
|
||||||
|
hashMap.put("shipRequestDetailName", "");
|
||||||
|
SetEventInfo setEventInfo = new SetEventInfo();
|
||||||
|
setEventInfo.setUserColumns(hashMap);
|
||||||
|
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, makeEventInfo, setEventInfo);
|
||||||
|
} else {
|
||||||
|
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||||
|
hashMap.put("stockState", "Stocked");
|
||||||
|
SetEventInfo setEventInfo = new SetEventInfo();
|
||||||
|
setEventInfo.setUserColumns(hashMap);
|
||||||
|
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, makeEventInfo, setEventInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void SaveSplitUnDoInfo_ForSap(List<String> list, String undoid, EventInfo makeEventInfo) {
|
public void SaveSplitUnDoInfo_ForSap(List<String> list, String undoid, EventInfo makeEventInfo) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user