Prechádzať zdrojové kódy

【慧眼EIS,整机测试过站调整,这个工序第一次测试不良,返回异常,并且不过站,只是记录不良测试数据】

xiaost 2 týždňov pred
rodič
commit
9dbceb9464

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

@@ -258,13 +258,7 @@ public class StepWorkServiceImpl implements StepWorkService {
        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);
-           //多个不良代码是用逗号分割的
-           String[] badcode = failureCode.split(",");
-           for (String item : badcode) {
-               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,0 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, item, BgCode, sncode, macode);
-           }
+
            if("GX0030".equals(stepcode)) {  //只是这道工序需要这样
                int cn = baseDao.getJdbcTemplate().queryForObject(" select count(1) from MAKEBADCOUNT_USING " +
                        " where mbc_sncode=? and mbc_stepcode=? and nvl(mbc_status,0)=0", Integer.class, sncode, stepcode);
@@ -274,11 +268,25 @@ public class StepWorkServiceImpl implements StepWorkService {
                            " values(MAKEBADCOUNT_USING_seq.nextval,?,?,0,sysdate)", sncode, stepcode);
                    throw new ApiStepWorkException(new StepWorkApiResult(false,400,"上传MES失败,第一次不良!"));
                } else {
+                   //多个不良代码是用逗号分割的
+                   String[] badcode = failureCode.split(",");
+                   for (String item : badcode) {
+                       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,0 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, item, BgCode, sncode, macode);
+                   }
                    //将不良的序列号的状态码设为3
                    baseDao.execute("update makeserial set ms_status='3' where ms_sncode=? and ms_makecode=?", sncode, macode);
                    stepPassed(macode, sccode, sncode, usercode, "NG");
                }
            }else{
+               //多个不良代码是用逗号分割的
+               String[] badcode = failureCode.split(",");
+               for (String item : badcode) {
+                   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,0 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, item, BgCode, sncode, macode);
+               }
                //将不良的序列号的状态码设为3
                baseDao.execute("update makeserial set ms_status='3' where ms_sncode=? and ms_makecode=?", sncode, macode);
                stepPassed(macode, sccode, sncode, usercode, "NG");
@@ -299,6 +307,7 @@ public class StepWorkServiceImpl implements StepWorkService {
                     }
                 }
             }
+            baseDao.updateByCondition("MAKEBADCOUNT_USING","mbc_status=-1","mbc_sncode='"+sncode+"' and mbc_stepcode='"+stepcode+"' and nvl(mbc_status,0)=0");
            //转号:CS_SNCHANGEANDBURN,两个号一样不需要转号,实际就是返修工单m不需要转号
            if (StringUtil.hasText(extendSequenceNumber) && !sncode.equals(extendSequenceNumber) && "PASS".equals(result)) {
                snChange(macode, sccode, sncode, extendSequenceNumber.toString(), usercode);