Эх сурвалжийг харах

【慧眼EIS接口,成品测试,判断结果PASS或者NG改成,如果明细参数值有结果为非0的,则整个序列号就是NG,不允许过站】

xiaost 2 долоо хоног өмнө
parent
commit
77bee421aa

+ 12 - 7
src/main/java/com/uas/eis/serviceImpl/StepWorkServiceImpl.java

@@ -164,6 +164,7 @@ public class StepWorkServiceImpl implements StepWorkService {
      */
      */
     private void saveTestDataAndPassed(String macode, String stepcode,String sccode, String sncode, String isok, String failureCode,
     private void saveTestDataAndPassed(String macode, String stepcode,String sccode, String sncode, String isok, String failureCode,
                                        Object isinput,Object machineTestData,Object extendSequenceNumber,String usercode) {
                                        Object isinput,Object machineTestData,Object extendSequenceNumber,String usercode) {
+        String result = isok;
         //保存测试数据
         //保存测试数据
         Object machinecode = "";
         Object machinecode = "";
         List<Map<Object,Object>> sqldata = new ArrayList<>();
         List<Map<Object,Object>> sqldata = new ArrayList<>();
@@ -216,6 +217,10 @@ public class StepWorkServiceImpl implements StepWorkService {
                             sqlm.put("SD_ACTVALUE",v);
                             sqlm.put("SD_ACTVALUE",v);
                             sqlm.put("SD_ID",null);
                             sqlm.put("SD_ID",null);
                             sqldata.add(sqlm);
                             sqldata.add(sqlm);
+                            //测试参数里面有值是失败,则整个结果需要更新成失败
+                            if("结果".equals(key) && !"0".equals(v)){
+                                result = "FAIL";
+                            }
                         }
                         }
                     }
                     }
                 }
                 }
@@ -227,8 +232,8 @@ public class StepWorkServiceImpl implements StepWorkService {
          * insert into STEPTESTDETAIL(SD_ID,SD_SMID,SD_SN,SD_MAKECODE,SD_MACHINECODE,SD_INDATE,SD_CLASS,SD_StandardVALUE,SD_ACTVALUE)
          * insert into STEPTESTDETAIL(SD_ID,SD_SMID,SD_SN,SD_MAKECODE,SD_MACHINECODE,SD_INDATE,SD_CLASS,SD_StandardVALUE,SD_ACTVALUE)
          */
          */
         //插入数据
         //插入数据
-        baseDao.execute("insert into STEPTESTMAIN(SM_ID,SM_SN,SM_TSN,SM_MAKECODE,SM_STEPCODE,SM_SCCODE,SM_RESULT,SM_BADCODE,SM_ISINPUT,SM_INDATE,sm_machineCode,SM_SOURCETYPE)" +
-                "select ?,?,?,?,?,?,?,?,?,sysdate,?,'EIS' from dual ",mainid,sncode,extendSequenceNumber,macode,stepcode,sccode,isok,failureCode,isinput,machinecode);
+        baseDao.execute("insert into STEPTESTMAIN(SM_ID,SM_SN,SM_TSN,SM_MAKECODE,SM_STEPCODE,SM_SCCODE,SM_RESULT,SM_BADCODE,SM_ISINPUT,SM_INDATE,sm_machineCode,SM_SOURCETYPE,sm_sourceisok)" +
+                "select ?,?,?,?,?,?,?,?,?,sysdate,?,'EIS',? from dual ",mainid,sncode,extendSequenceNumber,macode,stepcode,sccode,result,failureCode,isinput,machinecode,isok);
         if(sqldata.size()>0){
         if(sqldata.size()>0){
             baseDao.execute(SqlUtil.getInsertSqlbyList(sqldata,"STEPTESTDETAIL","SD_ID"));
             baseDao.execute(SqlUtil.getInsertSqlbyList(sqldata,"STEPTESTDETAIL","SD_ID"));
         }
         }
@@ -236,7 +241,7 @@ public class StepWorkServiceImpl implements StepWorkService {
         Object msstepcode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + sncode + "' and ms_makecode='" + macode + "'");
         Object msstepcode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + sncode + "' and ms_makecode='" + macode + "'");
         Object BgCode = baseDao.getFieldDataByCondition("step", "nvl(st_badgroupcode,' ')", "st_code='" + stepcode + "'");
         Object BgCode = baseDao.getFieldDataByCondition("step", "nvl(st_badgroupcode,' ')", "st_code='" + stepcode + "'");
         Map<Object, Object> rmap = new HashMap<>();
         Map<Object, Object> rmap = new HashMap<>();
-        if("FAIL".equals(isok)){
+        if("FAIL".equals(result) && StringUtil.hasText(failureCode)){
             //将历史的不良记录更新状态
             //将历史的不良记录更新状态
             baseDao.execute("update makebad set mb_status=-1 where mb_sncode=? and mb_makecode=? and mb_stepcode=? and mb_status=0",sncode,macode);
             baseDao.execute("update makebad set mb_status=-1 where mb_sncode=? and mb_makecode=? and mb_stepcode=? and mb_status=0",sncode,macode);
             baseDao.execute("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status)" +
             baseDao.execute("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status)" +
@@ -244,11 +249,11 @@ public class StepWorkServiceImpl implements StepWorkService {
                     " stepproduct on sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode=? and ms_makecode=?",stepcode,sccode,failureCode,BgCode,sncode,macode);
                     " stepproduct on sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode=? and ms_makecode=?",stepcode,sccode,failureCode,BgCode,sncode,macode);
             //将不良的序列号的状态码设为3
             //将不良的序列号的状态码设为3
             //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
             //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
-        }else if("PASS".equals(isok) && StringUtil.hasText(failureCode)){ //强制良品也有不良代码的
+        }/*else if("PASS".equals(result) && StringUtil.hasText(failureCode)){ //强制良品也有不良代码的
             baseDao.execute("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status)" +
             baseDao.execute("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_badtable,mb_bgcode,mb_soncode,mb_status)" +
                     " select makebad_seq.nextval,ma_code,ms_code,ms_sncode,'EIS对接',sysdate,?,?,?,'',?,sp_soncode,-1 from make left join makeserial on ms_makecode=ma_code left join " +
                     " select makebad_seq.nextval,ma_code,ms_code,ms_sncode,'EIS对接',sysdate,?,?,?,'',?,sp_soncode,-1 from make left join makeserial on ms_makecode=ma_code left join " +
                     " stepproduct on sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode=? and ms_makecode=?",stepcode,sccode,failureCode,BgCode,sncode,macode);
                     " stepproduct on sp_mothercode=ma_prodcode and sp_stepcode=ms_nextstepcode where ms_sncode=? and ms_makecode=?",stepcode,sccode,failureCode,BgCode,sncode,macode);
-        }
+        }*/
         //不良采集为良品是更新 ,不支持更新
         //不良采集为良品是更新 ,不支持更新
         /*if (msstepcode!=null && msstepcode.toString().equals(stepcode) && isok == "PASS") {
         /*if (msstepcode!=null && msstepcode.toString().equals(stepcode) && isok == "PASS") {
             Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + sncode + "' and ms_makecode='" + macode + "'");
             Object[] ob = baseDao.getFieldsDataByCondition("makeserial", "ms_status,ms_craftcode,ms_prodcode", "ms_sncode='" + sncode + "' and ms_makecode='" + macode + "'");
@@ -264,10 +269,10 @@ public class StepWorkServiceImpl implements StepWorkService {
             }
             }
         }*/
         }*/
         //转号:CS_SNCHANGEANDBURN
         //转号:CS_SNCHANGEANDBURN
-        if(StringUtil.hasText(extendSequenceNumber)){
+        if(StringUtil.hasText(extendSequenceNumber) && "PASS".equals(result) ){
             snChange(macode,stepcode,sncode,extendSequenceNumber.toString(),usercode);
             snChange(macode,stepcode,sncode,extendSequenceNumber.toString(),usercode);
         }else {
         }else {
-            stepPassed(macode, stepcode, sncode, usercode, "PASS".equals(isok) ? "OK" : "NG");
+            stepPassed(macode, stepcode, sncode, usercode, "PASS".equals(result) ? "OK" : "NG");
         }
         }
     }
     }