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)) {
|
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); // 采购入库
|
materialUndoServiceImpl.cgrkUndo(undoId, userId); // 采购入库
|
||||||
}
|
}
|
||||||
// else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) {
|
// else if ("Z002".equals(inv_TYPE) || "Z003".equals(inv_TYPE) || "Z004".equals(inv_TYPE)) {
|
||||||
|
@ -73,33 +73,66 @@ public class MaterialUndoServiceImpl implements IMaterialUndoService {
|
|||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public void cgrkUndo (String undoId, String user) throws Exception {
|
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);
|
EventInfo makeEventInfo = new EventInfoUtil ().makeEventInfo("采购入库冲销", user, "采购入库冲销");
|
||||||
// if (billCode == null) {
|
String condition="SELECT MATERIALPACKINGNAME FROM MATERIALPACKING WHERE UNDOID = :UNDOID ";
|
||||||
// throw new GlobalException("报送ERP失败,请联系IT处理!");
|
// String[] bindSet={undoId};
|
||||||
// }
|
Map<String, Object> hashMap = new HashMap<String, Object> ();
|
||||||
|
hashMap.put("UNDOID", undoId);
|
||||||
EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("采购入库冲销", user, "采购入库冲销");
|
|
||||||
String condition="WHERE UNDOID =? ";
|
|
||||||
String[] bindSet={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);
|
||||||
|
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);
|
||||||
|
|
||||||
// 直接删除生成的标签
|
|
||||||
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 updateSql2 = "UPDATE MATERIALRECEIVEREQUESTDETAIL T \r\n" +
|
||||||
String MATERIALPACKINGNAME = materialPacking.getMaterialPackingName();
|
"SET T.RECEIVEDQUANTITY = T.RECEIVEDQUANTITY - ( \r\n" +
|
||||||
Map<String, Object> hashMap = new HashMap<String, Object> ();
|
" SELECT NVL(SUM(M.QTY),0) \r\n" +
|
||||||
hashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
|
" FROM MATERIALPACKINGSUBHISTORY M \r\n" +
|
||||||
// SetEventInfo setEventInfo = new SetEventInfo();
|
" WHERE M.MATERIALPACKINGNAME = :MATERIALPACKINGNAME \r\n" +
|
||||||
// setEventInfo.setUserColumns(hashMap);
|
" AND M.RECEIVEREQUESTNAME = T.RECEIVEREQUESTNAME \r\n" +
|
||||||
IDMFrameServiceProxy.getSqlTemplate().update(delSql, hashMap);
|
" 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