浏览代码

【次元EIS接口,测试过账接口调整,多个不良代码逗号拼接时需拆开存多行】

xiaost 1 周之前
父节点
当前提交
44e8a09df5
共有 1 个文件被更改,包括 19 次插入10 次删除
  1. 19 10
      src/main/java/com/uas/eis/serviceImpl/StepWorkServiceImpl.java

+ 19 - 10
src/main/java/com/uas/eis/serviceImpl/StepWorkServiceImpl.java

@@ -171,7 +171,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 sccode,String gwcode, String sncode, String isok, String failureCode,
                                        Object isinput,Object machineTestData,Object extendSequenceNumber,String usercode) {
         String result = isok;
         //保存测试数据
@@ -241,23 +241,32 @@ 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)
          */
         //插入数据
-        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);
+        String stepcode="",BgCode="";
+        SqlRowList rs2 =  baseDao.queryForRowSet("select  st_code,st_badgroupcode from source left join step on sc_stepcode=st_code where sc_code=?",sccode);
+        if(rs2.next()){
+            stepcode =rs2.getGeneralString("st_code");
+            BgCode = rs2.getGeneralString("st_badgroupcode");
+        }
+        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,sm_gwcode)" +
+                "select ?,?,?,?,?,?,?,?,?,sysdate,?,'EIS',? from dual ",mainid,sncode,extendSequenceNumber,macode,stepcode,sccode,result,failureCode,isinput,machinecode,isok,gwcode);
         if(sqldata.size()>0){
             baseDao.execute(SqlUtil.getInsertSqlbyList(sqldata,"STEPTESTDETAIL","SD_ID"));
         }
 
-        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 + "'");
-        Map<Object, Object> rmap = new HashMap<>();
+       Object msstepcode = baseDao.getFieldDataByCondition("Makeserial", "ms_stepcode", "ms_sncode='" + sncode + "' and ms_makecode='" + macode + "'");
+       Map<Object, Object> rmap = new HashMap<>();
         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("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,failureCode,BgCode,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);
+            }
             //将不良的序列号的状态码设为3
-            //baseDao.execute("update "+Master+".makeserial set ms_status='3' where ms_sncode='" + iSN + "' and ms_makecode='" + iMakeCode + "'");
+            baseDao.execute("update makeserial set ms_status='3' where ms_sncode=? and ms_makecode=?",sncode,macode);
         }/*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)" +
                     " 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 " +