rev:修改单据出库校验

This commit is contained in:
zhangzq
2024-12-04 16:52:26 +08:00
parent 08660e7a1c
commit 61c74eec48

View File

@@ -32,6 +32,8 @@ import org.nl.wms.stor_manage.io.service.iostor.IStIvtIostorinvService;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv; import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
import org.nl.wms.stor_manage.io.service.iostor_dtl.IStIvtIostorinvdtlService; import org.nl.wms.stor_manage.io.service.iostor_dtl.IStIvtIostorinvdtlService;
import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl; import org.nl.wms.stor_manage.io.service.iostor_dtl.dao.StIvtIostorinvdtl;
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.nl.wms.stor_manage.struct.service.dao.StructAssignQty;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -49,10 +51,7 @@ import java.net.URLConnection;
import java.nio.file.FileSystem; import java.nio.file.FileSystem;
import java.nio.file.FileSystems; import java.nio.file.FileSystems;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service @Service
public class PdaIOService { public class PdaIOService {
@@ -64,6 +63,8 @@ public class PdaIOService {
@Autowired @Autowired
private IStIvtIostorinvService iStIvtIostorinvService; private IStIvtIostorinvService iStIvtIostorinvService;
@Autowired @Autowired
private IStIvtStructattrService iStIvtStructattrService;
@Autowired
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService; private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
@Autowired @Autowired
private BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl; private BmMeasureUnitServiceImpl bmMeasureUnitServiceImpl;
@@ -131,14 +132,25 @@ public class PdaIOService {
} }
String storCode = pdaFormOutMst.getStor_code(); String storCode = pdaFormOutMst.getStor_code();
if (StringUtils.isEmpty(storCode)){ if (StringUtils.isEmpty(storCode)){
storCode="FStockId"; throw new BadRequestException("出库申请失败:明细数据仓库字段未指定");
// throw new BadRequestException("出库申请失败:明细数据仓库字段未指定"); }
String pcsn = dtl.getPcsn();
if (StringUtils.isEmpty(pcsn)){
throw new BadRequestException("明细物料没有指定批号");
}
List<StructAssignQty> structMaterials = iStIvtStructattrService.getStructIvtAssign(ListOf.of(ivtDtl.getMaterial_id()), storCode);
for (StructAssignQty assignQty : structMaterials) {
if (assignQty.getPcsn().equals(pcsn)){
boolean b = assignQty.getSto_qty().intValue() >= dtl.getNow_assign_qty().intValue();
if (!b){
throw new BadRequestException(dtl.getMaterial_code()+"物料该批号库存不足");
}
}
} }
HashMap map = MapOf.of("end_struct_code", "", "start_struct_code", "", "order", "", "product_area", productArea); HashMap map = MapOf.of("end_struct_code", "", "start_struct_code", "", "order", "", "product_area", productArea);
ivtDtl.setForm_data(new JSONObject(map)); ivtDtl.setForm_data(new JSONObject(map));
ivtDtl.setQty(now_assign_qty); ivtDtl.setQty(now_assign_qty);
ivtDtl.setPcsn(dtl.getPcsn()); ivtDtl.setPcsn(pcsn);
ivtDtl.setStor_code(storCode);//pdaFormOutMst.getStor_code() ivtDtl.setStor_code(storCode);//pdaFormOutMst.getStor_code()
ivtDtl.setId(IdUtil.getStringId()); ivtDtl.setId(IdUtil.getStringId());
ivtDtl.setInv_id(mst.getId()); ivtDtl.setInv_id(mst.getId());
@@ -160,9 +172,6 @@ public class PdaIOService {
} }
iStIvtIostorinvdtlService.saveBatch(list); iStIvtIostorinvdtlService.saveBatch(list);
iStIvtIostorinvService.save(mst); iStIvtIostorinvService.save(mst);
for (StIvtIostorinvdtl stIvtIostorinvdtl : list) {
iStIvtIostorinvService.outDispense((JSONObject) JSON.toJSON(stIvtIostorinvdtl));
}
//生成流程 //生成流程
String now = DateUtil.now(); String now = DateUtil.now();
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
@@ -193,6 +202,9 @@ public class PdaIOService {
.set("update_name",nickName) .set("update_name",nickName)
.eq("id",sourceFormid)); .eq("id",sourceFormid));
} }
for (StIvtIostorinvdtl stIvtIostorinvdtl : list) {
iStIvtIostorinvService.outDispense((JSONObject) JSON.toJSON(stIvtIostorinvdtl));
}
return mst; return mst;
} }