|
@@ -2174,10 +2174,10 @@ public class MesProductRecordController extends BaseController {
|
|
|
logger.info("=== 发现前工位NG oprno:{} ===", op);
|
|
logger.info("=== 发现前工位NG oprno:{} ===", op);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- if(mpr.getContent().equals("UDF")){
|
|
|
|
|
- lxres = "QD"; // 前工位未加工
|
|
|
|
|
|
|
+ if(mpr.getContent().equals("UDF") || inRest(mpr)){
|
|
|
|
|
+ lxres = "QD"; // 前工位未加工 / 静置未完成
|
|
|
op = mpr.getOprno();
|
|
op = mpr.getOprno();
|
|
|
- logger.info("=== 发现前工位漏加工 oprno:{} ===", op);
|
|
|
|
|
|
|
+ logger.info("=== 发现前工位漏加工/静置未完成 oprno:{} ===", op);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2203,6 +2203,35 @@ public class MesProductRecordController extends BaseController {
|
|
|
return ret;
|
|
return ret;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 判断前工位是否仍在静置期内(配置 mes.rest.oprno,格式"工位:分钟")
|
|
|
|
|
+ * 前工位结果为 OK 且工位在配置里时,用记录的 update_date 到现在的分钟数与配置时长比较
|
|
|
|
|
+ * 未配置或解析出错返回 false,不影响生产
|
|
|
|
|
+ */
|
|
|
|
|
+ private boolean inRest(MesProductRecord mpr){
|
|
|
|
|
+ try{
|
|
|
|
|
+ if(!"OK".equals(mpr.getContent())){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ String cfg = Global.getConfig("mes.rest.oprno");
|
|
|
|
|
+ if(StringUtils.isEmpty(cfg)){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ String[] arr = cfg.split(":");
|
|
|
|
|
+ if(arr.length != 2 || !CommonUitl.formatOprno(mpr.getOprno()).equals(arr[0].trim())){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ int minutes = Integer.parseInt(arr[1].trim());
|
|
|
|
|
+ if(minutes <= 0 || mpr.getUpdateDate() == null){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ long elapsed = (System.currentTimeMillis() - mpr.getUpdateDate().getTime()) / 60000;
|
|
|
|
|
+ return elapsed < minutes;
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
//上传质量结果
|
|
//上传质量结果
|
|
|
//msg=aaaabbbbbABWMQDWGWOP040 GY100000ID151245P00000106200123062900001 RSOKDA2023-08-18ZT14:32:33YHjinjushijinjushi1111
|
|
//msg=aaaabbbbbABWMQDWGWOP040 GY100000ID151245P00000106200123062900001 RSOKDA2023-08-18ZT14:32:33YHjinjushijinjushi1111
|
|
|
//msg=aaaabbbbbABWMQDWGWOP080 GY100000LX ID151245P00000106200123062900001 RSOKDA2023-08-18ZT14:32:33YHjinjushijinjushi111105Y11111111N22222222Y33333333Y44444444Y55555555
|
|
//msg=aaaabbbbbABWMQDWGWOP080 GY100000LX ID151245P00000106200123062900001 RSOKDA2023-08-18ZT14:32:33YHjinjushijinjushi111105Y11111111N22222222Y33333333Y44444444Y55555555
|