Browse Source

校验锡膏上料工单号必须已下放
(cherry picked from commit adc24f4)

callm 4 years ago
parent
commit
f67564470e
1 changed files with 14 additions and 9 deletions
  1. 14 9
      src/com/uas/mes/pda/service/impl/PdaSpmServiceImpl.java

+ 14 - 9
src/com/uas/mes/pda/service/impl/PdaSpmServiceImpl.java

@@ -60,6 +60,7 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
     @Override
     public Map<String, Object> checkOpen(String barcode) {
         //锡膏条码通用校验
+        double data=Double.parseDouble(baseDao.getFieldDataByCondition("configs","data","code='warmtime' and caller='sys'").toString());
         Map<String, Object> spmBarcode = validSpmBarcode(barcode);
         //3、检测条码存在SPMBARCODE表且状态非”开封回存”或”‘回温回存”则提示”条码XXX,状态为:XXX,不允许出库回温。”
         Object spb_status = spmBarcode.get("SPB_STATUS");
@@ -67,8 +68,8 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
         if(StringUtil.hasText(spb_status)){
             if(!spb_status.equals("出库回温")){
                 throw new APIErrorException(APIErrorCode.BUSINESS_FAILED,"条码"+barcode+"状态为:"+spb_status+",不允许开盖!");
-            }else if (rewarmingTime < 2.0){
-                throw new APIErrorException(APIErrorCode.BUSINESS_FAILED,"条码"+barcode+",当前已回温: "+rewarmingTime+" 小时,回温时长不足2小时,不允许开盖!");
+            }else if (rewarmingTime < data){
+                throw new APIErrorException(APIErrorCode.BUSINESS_FAILED,"条码"+barcode+",当前已回温: "+rewarmingTime+" 小时,回温时长不足"+data+"小时,不允许开盖!");
             }else if (rewarmingTime >= 24.0){
                 throw new APIErrorException(APIErrorCode.BUSINESS_FAILED,"条码"+barcode+",当前已回温: "+rewarmingTime+" 小时,回温时长超过24小时,不允许开盖!");
             }
@@ -113,10 +114,14 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
     }
 
     @Override
-    public void loding(String barcode,String linecode,Boolean isEmpty) {
+    public void loding(String barcode,String linecode,String macode,Boolean isEmpty) {
         //PDA扫码上料,限制状态必须为‘已开封’,回温时间必须小于24H
         checkLoading(barcode);
         //线别转大写处理,必须存在且已审核
+        boolean macodeCheck = baseDao.checkIf("make","ma_code = '"+macode+"' and nvl(ma_statuscode,' ') = 'STARTED'");
+        if(!macodeCheck){
+            throw new APIErrorException(APIErrorCode.DATA_NOT_FOUND,"工单: "+macode+",不存在或未下放!");
+        }
         if(StringUtil.hasText(linecode)){
             linecode = linecode.toUpperCase();
             boolean lineCheck = baseDao.checkIf("line","upper(li_code) = '"+linecode+"' and nvl(li_status,' ') = '已审核'");
@@ -130,7 +135,7 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
             baseDao.updateByCondition("spmbarcode","spb_status='已用尽',spb_linecode='"+linecode+"',spb_emptydate = sysdate","spb_barcode='"+barcode+"'");
             content = content+"锡膏已用尽。";
         }
-        saveSpmlog("'"+barcode+"'","上料",content,linecode);
+        saveSpmlog("'"+barcode+"'","上料",content,linecode,macode);
     }
 
     @Override
@@ -251,7 +256,7 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
         //2、批量更新条码状态为”空瓶”
         baseDao.execute("update spmbarcode set spb_status = '空瓶' where spb_barcode in ("+barcodeStr+")");
         //3、插入日志到SPMLOG记录条码空瓶回收
-        saveSpmlog(barcodeStr,"回收","回收空瓶成功。","");
+        saveSpmlog(barcodeStr,"回收","回收空瓶成功。","","");
     }
 
     @Override
@@ -340,10 +345,10 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
      * @Param [barcode, operation, content, linecode]
      * @return void
      **/
-    private void saveSpmlog (String barcode,String operation,String content,String linecode){
-        baseDao.execute("insert into SPMLOG (SPL_ID,SPL_DATE,SPL_OPERATOR,SPL_LINECODE,SPL_BARCODE,SPL_OPERATION,SPL_CONTENT)" +
+    private void saveSpmlog (String barcode,String operation,String content,String linecode,String macode){
+        baseDao.execute("insert into SPMLOG (SPL_ID,SPL_DATE,SPL_OPERATOR,SPL_LINECODE,SPL_BARCODE,SPL_OPERATION,SPL_CONTENT,SPL_MAKECODE)" +
                 "select SPMLOG_SEQ.nextval,sysdate,'"+SystemSession.getUser().getEm_name()+"("+SystemSession.getUser().getEm_code()+")"+"','"+linecode+"'," +
-                "bar_code,'"+operation+"','条码: '||bar_code||',"+content+"' from barcode where bar_code in ("+barcode+")");
+                "bar_code,'"+operation+"','条码: '||bar_code||',"+content+"','"+macode+"' from barcode where bar_code in ("+barcode+")");
     }
     /**
      * @Author wuyx
@@ -369,7 +374,7 @@ public  class PdaSpmServiceImpl implements PdaSpmService {
         //2、批量更新条码状态为”空瓶”
         baseDao.execute("update spmbarcode set spb_status = '已搅拌' where spb_barcode in ("+barcodeStr+")");
         //3、插入日志到SPMLOG记录条码空瓶回收
-        saveSpmlog(barcodeStr,"搅拌","入搅拌成功。","");
+        saveSpmlog(barcodeStr,"搅拌","入搅拌成功。","","");
     }
 
     @Override