Browse Source

[task-1672]【设施】设施环境模块改进 / 【设施】【后端】设施环境中的设备按保养周期自动开记录

Li Yuan 2 years ago
parent
commit
64607429d0

+ 80 - 0
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/AbstractJob.java

@@ -0,0 +1,80 @@
+package com.lc.ibps.platform.plan.job;
+
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.BeanUtils;
+import com.lc.ibps.base.framework.id.UniqueIdUtil;
+import com.lc.ibps.base.framework.table.ICommonDao;
+import com.lc.ibps.components.quartz.BaseJob2;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+public abstract class AbstractJob  extends BaseJob2 {
+
+    protected static final Logger logger = LoggerFactory.getLogger(AbstractJob.class);
+    protected ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
+
+
+    public List<Map<String, Object>> fetchRecords(String code,String[] param){
+        String fetchSql = "select ren_wu_ming_cheng,cha_xun_yu_ju_ from t_ptdsrwpzb where ren_wu_bian_ma_ = '%s' limit 1";
+        Map<String, Object> sqlMap = commonDao.queryOne(String.format(fetchSql,code));
+        if(sqlMap == null){
+            throw new RuntimeException("未查询到<<"+code+">>的SQL数据");
+        }
+        String sql = sqlMap.get("cha_xun_yu_ju_").toString();
+        String taskName = sqlMap.get("ren_wu_ming_cheng").toString();
+        List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(sql,param);
+
+        if (BeanUtils.isEmpty(list)) {
+            logger.warn("未查询到需要添加<<"+taskName+">>的数据");
+            return null;
+        }
+        return list;
+    }
+
+    public void insertRecordsFromTemplate(String code)  {
+        List<Map<String, Object>> list = fetchRecords(code);
+        if(list == null) return ;
+        String fetchSql = "select guan_lian_biao_ from t_ptdsrwpzb where ren_wu_bian_ma_ = '%s' limit 1";
+        Map<String, Object> sqlMap = commonDao.queryOne(String.format(fetchSql,code));
+        String tableName = sqlMap.get("guan_lian_biao_").toString();
+        try {
+            generateRecords(list,tableName);
+        } catch (Exception e) {
+            //ignore it.
+        }
+
+    }
+
+    public List<Map<String, Object>> fetchRecords(String code){
+        return fetchRecords(code, new String[0]);
+    }
+
+
+    public void generateRecords(List<Map<String, Object>> list, String tableName) throws Exception {
+        int success = 0;
+        int error = 0;
+        for (Map<String, Object> map : list) {
+            try {
+                map.put("id_", UniqueIdUtil.getId());
+                map.put("create_time_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+                commonDao.execute(this.buildInsertSql(map, tableName));
+                success = success + 1;
+            } catch (Exception e) {
+                error = error + 1;
+                logger.error("添加数据异常,异常信息 {}", e.getMessage());
+            }
+        }
+        String msg = "添加数据正常数:" + success + ",添加数据异常数:" + error;
+        logger.info(msg);
+        if (error > 0) {
+            throw new Exception(msg);
+        }
+    }
+
+
+}

+ 23 - 0
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/DailyJob.java

@@ -0,0 +1,23 @@
+package com.lc.ibps.platform.plan.job;
+
+import com.lc.ibps.base.core.util.BeanUtils;
+import org.quartz.JobExecutionContext;
+
+import java.util.List;
+import java.util.Map;
+
+public class DailyJob extends AbstractJob {
+    @Override
+    public void executeJob(JobExecutionContext context)  {
+        String sql = "select ren_wu_bian_ma_ FROM t_ptdsrwpzb WHERE guan_lian_biao_ <>'' AND active_ = 1";
+        List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(sql);
+
+        if (BeanUtils.isNotEmpty(list)) {
+            for (Map<String, Object> sqlMap : list) {
+                String code = sqlMap.get("ren_wu_bian_ma_").toString();
+                logger.info(String.format("Starting to handle %s",code));
+                insertRecordsFromTemplate(code);
+            }
+        }
+    }
+}

+ 1 - 20
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/RiskIdentificationJob.java

@@ -17,10 +17,9 @@ import org.slf4j.LoggerFactory;
 import java.util.List;
 import java.util.Map;
 
-public class RiskIdentificationJob extends BaseJob2 {
+public class RiskIdentificationJob extends AbstractJob {
 
     private static final Logger logger = LoggerFactory.getLogger(RiskIdentificationJob.class);
-    private ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
 
     @Override
     public void executeJob(JobExecutionContext context) throws Exception {
@@ -107,24 +106,6 @@ public class RiskIdentificationJob extends BaseJob2 {
         generateRecords(list, "t_bmfxgjjl");
     }
 
-    private void generateRecords(List<Map<String, Object>> list, String tableName) throws Exception {
-        int success = 0;
-        int error = 0;
-        for (Map<String, Object> map : list) {
-            try {
-                commonDao.execute(this.buildInsertSql(map, tableName));
-                success = success + 1;
-            } catch (Exception e) {
-                error = error + 1;
-                logger.error("添加数据异常,异常信息 {}", e.getMessage());
-            }
-        }
-        String msg = "添加数据正常数:" + success + ",添加数据异常数:" + error;
-        logger.warn(msg);
-        if (error > 0) {
-            throw new Exception(msg);
-        }
-    }
 
     private void updateStatusToShibieStep() {
         String fetchSql = "SELECT id_ FROM t_fxssb a " +