ProductMITask.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.uas.eis.task;
  2. import com.uas.eis.dao.BaseDao;
  3. import com.uas.eis.dao.SqlRowList;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.scheduling.annotation.EnableAsync;
  8. import org.springframework.scheduling.annotation.EnableScheduling;
  9. import org.springframework.scheduling.annotation.Scheduled;
  10. import org.springframework.stereotype.Component;
  11. import java.io.File;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. /**
  15. * @author: zhouy
  16. * @date: 2022/5/6 17:18
  17. * @desc: 型号MI路径更新
  18. */
  19. @Component
  20. @EnableAsync
  21. @EnableScheduling
  22. public class ProductMITask {
  23. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  24. @Autowired
  25. private BaseDao baseDao;
  26. @Scheduled(cron = "0 0/5 * * * ?")
  27. public void syncProductMIImg() {
  28. 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");
  29. File file = null;
  30. List<String> sqls = new ArrayList<>();
  31. String prCode = " ";
  32. logger.info("更新型号开始");
  33. File parentFile = new File("app/MI/ZN/PPE/KaiLiaoImages/");
  34. //获取所有KaiLiao目录下的文件名
  35. String[] fileNames= parentFile.list();
  36. String fileName= "";
  37. while (sl.next()) {
  38. prCode = sl.getGeneralString("PR_CODE");
  39. file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode+".jpg");
  40. logger.info("遍历开料路径:{}"+file.getPath());
  41. if(file.exists()){
  42. sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'");
  43. logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode);
  44. }else{
  45. file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg");
  46. if(file.exists()){
  47. sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'");
  48. logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase());
  49. }else {
  50. for(int i=0 ; i<fileNames.length ;i++) {
  51. fileName = fileNames[i];
  52. if(fileName.indexOf(".")>0 && fileName.toUpperCase().startsWith(prCode)){
  53. sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf(".")-1)+"' WHERE PR_CODE='"+prCode+"'");
  54. logger.info("更新生产型号异常:{}, IMG:{}",prCode,file.getName());
  55. break;
  56. }
  57. /* if(file.isFile() && file.exists()) {
  58. if(file.getName().toUpperCase().equals(prCode)){
  59. sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+file.getName()+"' WHERE PR_CODE='"+prCode+"'");
  60. logger.info("更新生产型号异常:{}, IMG:{}",prCode,file.getName());
  61. break;
  62. }
  63. }*/
  64. }
  65. }
  66. }
  67. }
  68. baseDao.execute(sqls);
  69. logger.info("更新型号结束");
  70. }
  71. }