add:采购入库冲销
This commit is contained in:
parent
5b5025034f
commit
5947312785
@ -77,7 +77,7 @@ public class MaterialUndoController {
|
||||
// }
|
||||
|
||||
if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE) || "Z001".equals(inv_TYPE) || "Z005".equals(inv_TYPE) || "Z006".equals(inv_TYPE) || "Z007".equals(inv_TYPE)) {
|
||||
// materialUndoServiceImpl.rkUndo(undoId, userId); // 入库
|
||||
materialUndoServiceImpl.rkUndo(undoId, userId); // 入库
|
||||
materialUndoServiceImpl.cgrkUndo(undoId, userId); // 采购入库
|
||||
}
|
||||
// else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) {
|
||||
|
@ -73,33 +73,66 @@ public class MaterialUndoServiceImpl implements IMaterialUndoService {
|
||||
*/
|
||||
@Transactional
|
||||
public void cgrkUndo (String undoId, String user) throws Exception {
|
||||
|
||||
// String billCode = toSAPService.cancelShipInter(undoId, user);
|
||||
// if (billCode == null) {
|
||||
// throw new GlobalException("报送ERP失败,请联系IT处理!");
|
||||
// }
|
||||
String billCode = toSAPService.cancelShipInter(undoId, user);
|
||||
if (billCode == null) {
|
||||
throw new GlobalException("报送ERP失败,请联系IT处理!");
|
||||
}
|
||||
|
||||
EventInfo makeEventInfo = new EventInfoUtil ().makeEventInfo("采购入库冲销", user, "采购入库冲销");
|
||||
String condition="WHERE UNDOID =? ";
|
||||
String[] bindSet={undoId};
|
||||
//根据物料凭证找到所有的待冲销数据,更新库存状态为创建
|
||||
|
||||
// 直接删除生成的标签
|
||||
List<MaterialPacking> list = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet);
|
||||
if(list.size() > 0) {
|
||||
for (MaterialPacking materialPacking : list) {
|
||||
MaterialPackingKey key = materialPacking.getKey();
|
||||
// MaterialPackingServiceProxy.getMaterialPackingService().setEvent(key, makeEventInfo, setEventInfo);
|
||||
|
||||
String delSql = "DELETE FROM MATERIALPACKING WHERE MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
||||
String MATERIALPACKINGNAME = materialPacking.getMaterialPackingName();
|
||||
String condition="SELECT MATERIALPACKINGNAME FROM MATERIALPACKING WHERE UNDOID = :UNDOID ";
|
||||
// String[] bindSet={undoId};
|
||||
Map<String, Object> hashMap = new HashMap<String, Object> ();
|
||||
hashMap.put("UNDOID", undoId);
|
||||
//根据物料凭证找到所有的待冲销数据,更新库存状态为创建
|
||||
List<Map<String, Object>> MPlIST = IDMFrameServiceProxy.getSqlTemplate().queryForList(condition, hashMap);
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
setEventInfo.setUserColumns(hashMap);
|
||||
RemoveInfo removeInfo = new RemoveInfo();
|
||||
for (Map<String, Object> MP : MPlIST) {
|
||||
//根据当前的数据跟新完工报告且删除入库表的数据
|
||||
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 = MP.get("MATERIALPACKINGNAME").toString();
|
||||
hashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
|
||||
// SetEventInfo setEventInfo = new SetEventInfo();
|
||||
// setEventInfo.setUserColumns(hashMap);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(delSql, hashMap);
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
|
||||
for (int i = 0; i < queryForList.size(); i++) {
|
||||
String dh = queryForList.get(i).get("RECEIVEREQUESTNAME").toString();
|
||||
hashMap.put("RECEIVEREQUESTNAME", dh);
|
||||
String hh = queryForList.get(i).get("RECEIVEREQUESTDETAILNAME").toString();
|
||||
hashMap.put("RECEIVEREQUESTDETAILNAME", hh);
|
||||
// String sl = queryForList.get(i).get("QTY").toString();
|
||||
String updateSql = "UPDATE MATERIALRECEIVEREQUESTDETAIL T \r\n" +
|
||||
"SET T.RECEIVEDQUANTITY = T.RECEIVEDQUANTITY - ( \r\n" +
|
||||
" SELECT NVL(SUM(M.QTY),0) \r\n" +
|
||||
" FROM MATERIALPACKINGSUB M \r\n" +
|
||||
" WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME \r\n" +
|
||||
" AND M.RECEIVEREQUESTNAME = T.RECEIVEREQUESTNAME \r\n" +
|
||||
" AND M.RECEIVEREQUESTDETAILNAME = T.RECEIVEREQUESTDETAILNAME \r\n" +
|
||||
") \r\n" +
|
||||
"WHERE T.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME \r\n" +
|
||||
" AND T.RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap);
|
||||
|
||||
|
||||
String updateSql2 = "UPDATE MATERIALRECEIVEREQUESTDETAIL T \r\n" +
|
||||
"SET T.RECEIVEDQUANTITY = T.RECEIVEDQUANTITY - ( \r\n" +
|
||||
" SELECT NVL(SUM(M.QTY),0) \r\n" +
|
||||
" FROM MATERIALPACKINGSUBHISTORY M \r\n" +
|
||||
" WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME \r\n" +
|
||||
" AND M.RECEIVEREQUESTNAME = T.RECEIVEREQUESTNAME \r\n" +
|
||||
" AND M.RECEIVEREQUESTDETAILNAME = T.RECEIVEREQUESTDETAILNAME \r\n" +
|
||||
") \r\n" +
|
||||
"WHERE T.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME \r\n" +
|
||||
" AND T.RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateSql2, hashMap);
|
||||
|
||||
String deleteSql = " DELETE FROM MATERIALPACKINGSUB T WHERE T.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND "
|
||||
+ "T.RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME AND T.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
|
||||
|
||||
}
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().remove(new MaterialPackingKey("SDK", MATERIALPACKINGNAME), makeEventInfo, removeInfo);
|
||||
}
|
||||
|
||||
// 更新凭证冲销状态
|
||||
|
Loading…
x
Reference in New Issue
Block a user