|
@@ -1233,28 +1233,36 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的输入物料不存在,请重新选择");
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //检查该工序作业所有输出物料,如果(计划输出卷数-计划备料卷数-计划成品卷数)不等于所有后道工序作业计划加工卷数合计;错误提示:{工序}{工序显示名}的{输出物料} 计划输出卷数-计划备料卷数-计划成品卷数必须等于所有后道工序作业计划加工卷数合计
|
|
|
- //遍历输出物料
|
|
|
- for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterList) {
|
|
|
- //查询使用此输出物料的工序作业
|
|
|
- List<ApsProcessOperationDo> processList = apsProcessOperationList.stream().filter(item -> ObjectUtil.isNotEmpty(item.getPlaninputid()) && item.getPlaninputid().equals(apsProcessOperationOutMaterDo.getId())).collect(Collectors.toList());
|
|
|
- if (processList.size() > 0) {
|
|
|
+ //查询该工序作业的所有输出物料
|
|
|
+ List<ApsProcessOperationOutMaterDo> myOutMaterList = apsProcessOperationOutMaterList.stream().filter(item -> item.getMainid().equals(apsProcessOperationDo.getId())).collect(Collectors.toList());
|
|
|
+ //检查该工序作业所有输出物料,如果(计划输出卷数-计划备料卷数-计划成品卷数)不等于所有后道工序作业计划加工卷数合计;错误提示:{工序}{工序显示名}的{输出物料} 计划输出卷数-计划备料卷数-计划成品卷数必须等于所有后道工序作业计划加工卷数合计
|
|
|
+ //遍历输出物料
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : myOutMaterList) {
|
|
|
//遍历工序作业,计算 计划加工卷数合计
|
|
|
- int planProcessRollAll = 0;
|
|
|
- for (ApsProcessOperationDo apsProcessOperationDo : processList) {
|
|
|
- planProcessRollAll += apsProcessOperationDo.getPlanprocessrall();
|
|
|
- }
|
|
|
+ int planProcessRollAll = apsProcessOperationDo.getPlanprocessrall();
|
|
|
//计算输出物料的 (计划输出卷数-计划备料卷数-计划成品卷数)值
|
|
|
int outputRollAll = apsProcessOperationOutMaterDo.getPlanrollnum() - apsProcessOperationOutMaterDo.getPlanstockrollnum() - apsProcessOperationOutMaterDo.getPlanprodrollnum();
|
|
|
- if (planProcessRollAll != outputRollAll) {
|
|
|
- //根据输出物料查询其工序信息
|
|
|
- ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationList.stream().filter(item -> item.getId().equals(apsProcessOperationOutMaterDo.getMainid())).findFirst().get();
|
|
|
- return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的" + apsProcessOperationOutMaterDo.getOutputmaterial() + " 计划输出卷数-计划备料卷数-计划成品卷数必须等于所有后道工序作业计划加工卷数合计");
|
|
|
+ //如果计划流转卷数不等于(计划输出卷数-计划备料卷数-计划成品卷数),错误提示:{工序}{工序显示名}的{输出物料} 计划流转卷数不正确
|
|
|
+ if (outputRollAll != apsProcessOperationOutMaterDo.getPlanmoverollnum()) {
|
|
|
+ return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的" + apsProcessOperationOutMaterDo.getOutputmaterial() + " 计划流转卷数不正确");
|
|
|
}
|
|
|
+ //如果有后道工序作业,并且计划流转卷数不等于所有后道工序作业计划加工卷数合计;错误提示:{工序}{工序显示名}的{输出物料} 计划流转卷数必须等于所有后道工序作业计划加工卷数合计;
|
|
|
+ if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())) {
|
|
|
+ if (planProcessRollAll != outputRollAll) {
|
|
|
+ return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的" + apsProcessOperationOutMaterDo.getOutputmaterial() + " 计划输出卷数-计划备料卷数-计划成品卷数必须等于所有后道工序作业计划加工卷数合计");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //如果没有后道作业,并且计划流转卷数>0,则错误提示:{工序}{工序显示名}的{输出物料}的计划输出卷数必须等于计划备料卷数+计划成品卷数
|
|
|
+ if (outputRollAll > 0) {
|
|
|
+ return R.error(apsProcessOperationDo.getProcess() + apsProcessOperationDo.getProcessname() + "的" + apsProcessOperationOutMaterDo.getOutputmaterial() + " 的计划输出卷数必须等于计划备料卷数+计划成品卷数");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
//校验工序作业明细的加工设备和加工车间的代号是否为空
|
|
|
if (checkDeviceAndOrgCode) {
|
|
|
//查询坯料计划对应的所有工序作业明细
|