fix:形态转换和更新入库时入库完成状态更新为Completed

This commit is contained in:
郭飞 2025-05-26 14:14:53 +08:00
parent 497b954355
commit dfcb04d378
6 changed files with 38 additions and 4 deletions

View File

@ -5241,9 +5241,9 @@ public class ToSAPServiceImpl {
if (StringUtils.isEmpty((String)mm.get("PACKINGGRADE"))) {
insmk = "2";
//BWART 移动类型
item.put("BWART", "311"); //非质检
item.put("BWART", "323"); //非质检
}else {
item.put("BWART", "323"); // 质检
item.put("BWART", "311"); // 质检
}
// String insmk = StringUtils.equals(mm.get("OQARESULTSTATE").toString(),"END")?"":"X";
item.put("INSMK", insmk);

View File

@ -578,6 +578,9 @@ public class MaterialReceiveActController {
} else {
SDKMaterialPackingServiceImpl.updateStockState(makeEventInfo, undoId, opCode);
}
// 更新单据状态
SDKMaterialPackingServiceImpl.updateOrderState(receiveRequestName);
}
// 到货单据更新状态
if (Objects.nonNull(materialDelivery)) {

View File

@ -271,6 +271,8 @@ public class NoChargeStockIn {
//10更新库存状态
//SDKMP.updateStockState(receiveAct,makeEventInfo,billcode);
SDKMP.updateStockState(makeEventInfo, billcode,opCode);
// 更新单据状态
SDKMP.updateOrderState(request.getReceiveRequestName());
}
return AjaxResult.me().setMessage("入库成功");

View File

@ -52,6 +52,8 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
private EventInfo makeEventInfo;
@Autowired
private DeliveryDao deliveryDao;
SDKMaterialPackingServiceImpl SDKMP = new SDKMaterialPackingServiceImpl();
/**
* 出库方法实现
*/
@ -2097,6 +2099,9 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
updateReceiveRequestQtyMap.put("LASTEVENTUSER", eventInfo.getEventUser());
updateReceiveRequestQtyMap.put("LASTEVENTCOMMENT", eventInfo.getEventComment());
IDMFrameServiceProxy.getSqlTemplate().update(updateReceiveRequestQtySql, updateReceiveRequestQtyMap);
// 更新单据状态
SDKMP.updateOrderState(materialDeliveryReceive.getReceiveRequestName());
}
}
}

View File

@ -15,6 +15,7 @@ import com.cim.idm.wmspackage.name.NameServiceProxy;
import com.cim.idm.wmspackage.receiverequestbatch.management.data.MaterialReceiveActKey;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -538,4 +539,27 @@ public class SDKMaterialPackingServiceImpl extends CommonServiceDAO<MaterialPack
}
}
// 更新单据状态为完成
public void updateOrderState(String receiveRequestName) {
String sql = "SELECT SUM(ml.REQUESTQUANTITY-NVL(ml.RECEIVEDQUANTITY,0)) qty FROM MATERIALRECEIVEREQUESTDETAIL ml WHERE RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME";
Map<String, Object> hashMap = new HashMap<String, Object> ();
hashMap.put("RECEIVEREQUESTNAME", receiveRequestName);
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
if(queryForList.size() > 0) {
// 如果qty小于等于0则单据状态改为完成
Object qtyObj = queryForList.get(0).get("qty");
if (qtyObj != null) {
BigDecimal qty = new BigDecimal(qtyObj.toString());
if (qty.compareTo(BigDecimal.ZERO) > 0) {
}else {
sql = "UPDATE MATERIALRECEIVEREQUEST SET RECEIVEREQUESTSTATE = 'Completed' WHERE RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME";
IDMFrameServiceProxy.getSqlTemplate().update(sql, hashMap);
}
}
}
}
}

View File

@ -74,13 +74,13 @@
SELECT mpsrd.GOALMATERIALSPEC, #{unDoID}
FROM MATERIALSHIPREQUESTDETAIL mpsrd
WHERE m.SHIPREQUESTNAME = mpsrd.SHIPREQUESTNAME
AND m.MATERIALPACKINGNAME = mpsrd.SHIPREQUESTDETAILNAME
AND m.SHIPREQUESTDETAILNAME = mpsrd.SHIPREQUESTDETAILNAME
)
WHERE EXISTS (
SELECT 1
FROM MATERIALSHIPREQUESTDETAIL mpsrd
WHERE m.SHIPREQUESTNAME = mpsrd.SHIPREQUESTNAME
AND m.MATERIALPACKINGNAME = mpsrd.SHIPREQUESTDETAILNAME
AND m.SHIPREQUESTDETAILNAME = mpsrd.SHIPREQUESTDETAILNAME
)
AND m.MATERIALPACKINGNAME IN
<foreach item="box" index="index" collection="boxList" open="(" separator="," close=")">