|
@@ -2986,15 +2986,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<String> batchNumberList = Arrays.asList(req.getBatchNumbers().split(","));
|
|
|
//查询坯料计划详情
|
|
|
ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(req.getBlankId());
|
|
|
- //如果坯料类型=热轧,检查每个批次号
|
|
|
- //如果批次号不是9位数,则错误提示:热轧坯料批次号{批次号}错误,应该是9位
|
|
|
- if (apsBlankOrderDo.getBlanktype().equals("热轧")) {
|
|
|
- for (String s : batchNumberList) {
|
|
|
- if (s.length() != 9) {
|
|
|
- return R.error("热轧坯料批次号" + s + "错误,应该是9位");
|
|
|
- }
|
|
|
- }
|
|
|
+ //查询坯料计划第一道工序作业的详情
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(req.getProcessId());
|
|
|
+ int needStartRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - apsProcessOperationDo.getCancelroll();
|
|
|
+ if (batchNumberList.size() > needStartRoll) {
|
|
|
+ return R.error("领料数量不能大于计划加工卷数-已开工卷数-已取消卷数=" + needStartRoll);
|
|
|
}
|
|
|
+
|
|
|
//原来的批次号
|
|
|
String oldBatchNumbers = req.getOldBatchNumbers();
|
|
|
LinkedList<String> oldBatchNumberList = new LinkedList<>();
|
|
@@ -3019,6 +3017,16 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //如果坯料类型=热轧,检查每个批次号
|
|
|
+ //如果批次号不是9位数,则错误提示:热轧坯料批次号{批次号}错误,应该是9位
|
|
|
+ if (apsBlankOrderDo.getBlanktype().equals("热轧")) {
|
|
|
+ for (String s : batchNumberList) {
|
|
|
+ if (s.length() != 9) {
|
|
|
+ return R.error("热轧坯料批次号" + s + "错误,应该是9位");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 如果坯料类型=铸轧,检查每个批次号
|
|
|
* 如果该批次号物料在制品库存中没找到,则错误提示:批次号{批次号}错误
|
|
@@ -3057,11 +3065,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
//如果在制品状态=备料中、待入库或已入库或已出库,并且订单号对应订单的客户的客户类型不是内部客户,错误提示:批次号{批次号}错误,该料卷是其他客户订单的成品
|
|
|
if (Arrays.asList("备料中", "待入库", "已入库", "已出库").contains(apsWorkInProgressInventoryDo.getWorkinprocessstatus())) {
|
|
|
- ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsWorkInProgressInventoryDo.getProcessoperationid());
|
|
|
- ApsBlankOrderDo blankOrderDo = apsBlankOrderService.getById(apsProcessOperationDo.getBlankid());
|
|
|
- ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(blankOrderDo.getProductionorderid());
|
|
|
-
|
|
|
- if (ObjectUtil.isNotEmpty(apsProductionOrderDo) && apsProductionOrderDo.getOrdertype().equals("客户订单")) {
|
|
|
+ if (ObjectUtil.isNotEmpty(apsWorkInProgressInventoryDo.getOrdertype()) && apsWorkInProgressInventoryDo.getOrdertype().equals("客户订单")) {
|
|
|
return R.error("批次号" + s + "错误,该料卷是其他客户订单的成品");
|
|
|
}
|
|
|
|
|
@@ -3075,10 +3079,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//查找该批次号物料=在制品的作业输出物料ID对应输出物料
|
|
|
//如果{该批次号物料的输入物料描述}与{坯料的输入物料描述}不相同,
|
|
|
//错误提示:该批次号{批次号}物料:{该批次号物料的输入物料描述}不是该坯料计划所需的坯料{坯料的输入物料描述}
|
|
|
-
|
|
|
- String joboutputmaterialid = apsWorkInProgressInventoryDo.getJoboutputmaterialid();
|
|
|
- ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo = apsProcessOperationOutMaterService.getById(joboutputmaterialid);
|
|
|
- String s1 = apsProcessOperationOutMaterDo.getOutputfinishproduct().split(" ")[0];
|
|
|
+ String s1 = apsWorkInProgressInventoryDo.getJoboutputmaterial();
|
|
|
String s2 = apsBlankOrderDo.getInputreportdescribe();
|
|
|
if (!s1.equals(s2)) {
|
|
|
return R.error("该批次号" + s + "物料:" + s1 + "不是该坯料计划所需的坯料" + s2 + "");
|