package com.uas.eis.task; import com.uas.eis.dao.BaseDao; import com.uas.eis.dao.SqlRowList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.File; import java.util.ArrayList; import java.util.List; /** * @author: zhouy * @date: 2022/5/6 17:18 * @desc: 型号MI路径更新 */ @Component @EnableAsync @EnableScheduling public class ProductMITask { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private BaseDao baseDao; @Scheduled(cron = "0 0/5 * * * ?") public void syncProductMIImg() { SqlRowList sl = baseDao.queryForRowSet("SELECT PR_MIIMG,PR_CODE FROM ZN_P.PRODUCT WHERE PR_GROUPCODE='成品' AND NVL(PR_MISTATUS,' ')='已上网' AND PR_MIIMG IS NULL ORDER BY PR_ID DESC"); File file = null; List sqls = new ArrayList<>(); String prCode = " "; logger.info("更新型号开始"); File parentFile = new File("app/MI/ZN/PPE/KaiLiaoImages/"); //获取所有KaiLiao目录下的文件名 String[] fileNames= parentFile.list(); String fileName= ""; while (sl.next()) { prCode = sl.getGeneralString("PR_CODE"); file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode+".jpg"); logger.info("遍历开料路径:{}"+file.getPath()); if(file.exists()){ sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'"); logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode); }else{ file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg"); if(file.exists()){ sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'"); logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase()); }else { for(int i=0 ; i0 && fileName.toUpperCase().startsWith(prCode)){ sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf(".")-1)+"' WHERE PR_CODE='"+prCode+"'"); logger.info("更新生产型号异常:{}, IMG:{}",prCode,file.getName()); break; } /* if(file.isFile() && file.exists()) { if(file.getName().toUpperCase().equals(prCode)){ sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+file.getName()+"' WHERE PR_CODE='"+prCode+"'"); logger.info("更新生产型号异常:{}, IMG:{}",prCode,file.getName()); break; } }*/ } } } } baseDao.execute(sqls); logger.info("更新型号结束"); } }