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

赣州科翔MI图片匹配解析处理

zhouy 2 жил өмнө
parent
commit
d4bb38618d

+ 59 - 0
src/main/java/com/uas/eis/task/ProductMITask.java

@@ -134,4 +134,63 @@ public class ProductMITask {
         baseDao.execute(sqls);
         logger.info("更新江西科翔型号结束");
     }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncGZKXProductMIImg() {
+        SqlRowList sl = baseDao.queryForRowSet("SELECT  * FROM  (SELECT PR_MIIMG,PR_CODE FROM GZKX.PRODUCT WHERE PR_GROUPCODE='成品' AND NVL(PR_MISTATUS,' ')='已上网' AND PR_MIIMG IS NULL ORDER BY PR_ID DESC) WHERE ROWNUM<=200");
+        File file = null;
+        List<String> sqls = new ArrayList<>();
+        String prCode = " ";
+        logger.info("更新赣州科翔型号开始");
+        File parentFile = new File("/app/MI/HYHY/PPE/KaiLiaoImages");
+        //获取所有KaiLiao目录下的文件名
+        String[] fileNames= parentFile.list();
+        String fileName= "";
+        int flag =0;
+        String MIIMG = "";
+        while (sl.next()) {
+            prCode = sl.getGeneralString("PR_CODE");
+            file = new File("/app/MI/HYHY/PPE/KaiLiaoImages/"+prCode+".jpg");
+            logger.info("遍历开料路径:{}"+file.getPath());
+            if(file.exists()){
+                sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'");
+                sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode+"')");
+                MIIMG = prCode;
+                logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode);
+            }else{
+                file = new File("/app/MI/HYHY/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg");
+                if(file.exists()){
+                    sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'");
+                    sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode.toLowerCase()+"')");
+                    MIIMG = prCode.toLowerCase();
+                    logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase());
+                }else {
+                    flag = 0;
+                    for(int i=0 ; i<fileNames.length ;i++) {
+                        flag = 0;
+                        fileName = fileNames[i];
+                        if(fileName.indexOf(".")>0 && fileName.toUpperCase().startsWith(prCode)){
+                            sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf("."))+"' WHERE PR_CODE='"+prCode+"'");
+                            sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+fileName.substring(0, fileName.lastIndexOf("."))+"')");
+                            MIIMG = fileName.substring(0, fileName.lastIndexOf("."));
+                            logger.info("更新生产型号异常:{}, IMG:{}",prCode,fileName.substring(0, fileName.lastIndexOf(".")));
+                            flag = 1;
+                            break;
+                        }
+                    }
+                    /**未匹配到任何文件*/
+                    if(flag == 0) {
+                        sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='NOIMG' WHERE PR_CODE='"+prCode+"'");
+                        sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','NOIMG')");
+                        MIIMG = "NOIMG";
+                        logger.info("未匹配到文件生产型号:{}",prCode);
+                    }
+                }
+            }
+            sqls.add("UPDATE HYHY.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
+            sqls.add("UPDATE GZKX_ONE.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
+            sqls.add("UPDATE GZKX_TWO.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
+        }
+        baseDao.execute(sqls);
+        logger.info("更新赣州科翔型号开始");
+    }
 }