|
@@ -990,6 +990,18 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
return R.error("该坯料批次号:" + String.join(",", batchNumbers) + " 已经存在");
|
|
|
}
|
|
|
}
|
|
|
+ if ("铸轧".equals(apsProcessOperationDo.getProcess())&&"是".equals(apsProcessOperationDo.getIfblankprocess())){
|
|
|
+ for (ApsReportOutputDo outputDo:apsReportOutputDoList){
|
|
|
+ //后端补充校验:当'铸轧'工序并且'是否坯料工序'为是的时候校验输出物料中序列号必须大于等于批次号后三位
|
|
|
+ if (ObjectUtil.isNotEmpty(outputDo.getOutputnumber())){
|
|
|
+ //取出批次号最后三位字符串
|
|
|
+ String lastThreeChars = outputDo.getOutputnumber().substring(outputDo.getOutputnumber().length() - 3);
|
|
|
+ if (outputDo.getSerialnumber()!= null&&outputDo.getSerialnumber()<Long.parseLong(lastThreeChars)){
|
|
|
+ return R.error("序列号必须大于等于批次号的后三位");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//=============更新作业明细信息=============
|
|
|
Integer reduceNum = 1;
|
|
@@ -2011,7 +2023,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//取出批次号最后三位字符串
|
|
|
String lastThreeChars = outputCode.substring(outputCode.length() - 3);
|
|
|
//校验序列号大小是否大于等于批次号后三位
|
|
|
- if (info.getSerialnumber() != null && info.getSerialnumber() != Long.parseLong(lastThreeChars)) {
|
|
|
+ if (info.getSerialnumber() != null && info.getSerialnumber() >= Long.parseLong(lastThreeChars)) {
|
|
|
// 删除批次号原来的后三位字符串,将序列号的三位数字更新到批次号中
|
|
|
String newOutput = outputCode.substring(0, outputCode.length() - 3);
|
|
|
String formatSerialnumber = String.format("%03d", info.getSerialnumber());
|