From 2e8250c824a5ed0a0720c50fc3421257ee45073b Mon Sep 17 00:00:00 2001
From: zm <2369059705qq.com>
Date: 星期二, 12 十一月 2024 11:00:01 +0800
Subject: [PATCH] 预警配置修改

---
 src/main/java/com/product/administration/service/EarlyWarningManagerService.java |  111 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 62 insertions(+), 49 deletions(-)

diff --git a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
index 7556d25..b14455f 100644
--- a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
+++ b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
@@ -27,6 +27,7 @@
 import com.product.org.admin.service.StaffManagerService;
 import com.product.quartz.service.impl.SysJobService;
 import com.product.util.BaseUtil;
+import com.product.util.SystemParamReplace;
 import org.apache.commons.codec.binary.Base64;
 import org.quartz.SchedulerException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -170,32 +171,37 @@
      */
     @Transactional
     public String addWarning(FieldSetEntity fse) throws BaseException, SchedulerException, TaskException {
-        FieldSetEntity fseJob = new FieldSetEntity();
-        fseJob.setTableName("product_sys_timed_task");
-        fseJob.setValue("concurrent", 1);
-        fseJob.setValue("job_name", fse.getString("config_name"));
-        fseJob.setValue("cron_expression", fse.getString("execution_frequency"));
-        fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('null')");
-        fseJob.setValue("job_group", "system");
-        fseJob.setValue("misfire_policy", 2);
-        fseJob.setValue("remark", "");
-        if (fse.getInteger("config_status") == 0) {
-            fseJob.setValue("status", 0);
-        } else {
-            fseJob.setValue("status", 1);
-        }
-        fseJob.setValue("is_conceal", 1);
-        sysJobService.insertJob(fseJob);
-
-        fse.setValue("time_task_uuid", fseJob.getUUID());
         fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
         fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
-        String uuid = baseDao.add(fse);
+        if (fse.getString("type").equals("0")){
+            FieldSetEntity fseJob = new FieldSetEntity();
+            fseJob.setTableName("product_sys_timed_task");
+            fseJob.setValue("concurrent", 1);
+            fseJob.setValue("job_name", fse.getString("config_name"));
+            fseJob.setValue("cron_expression", fse.getString("execution_frequency"));
+            fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('null')");
+            fseJob.setValue("job_group", "system");
+            fseJob.setValue("misfire_policy", 2);
+            fseJob.setValue("remark", "");
+            if (fse.getInteger("config_status") == 0) {
+                fseJob.setValue("status", 0);
+            } else {
+                fseJob.setValue("status", 1);
+            }
+            fseJob.setValue("is_conceal", 1);
+            sysJobService.insertJob(fseJob);
 
-        fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('" + fse.getUUID() + "')");
-        sysJobService.updateJob(fseJob);
+            fse.setValue("time_task_uuid", fseJob.getUUID());
 
-        return uuid;
+            String uuid = baseDao.add(fse);
+
+            fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('" + fse.getUUID() + "')");
+            sysJobService.updateJob(fseJob);
+            return uuid;
+        }else {
+            return  baseDao.add(fse);
+
+        }
     }
 
     /**
@@ -209,26 +215,27 @@
      */
     @Transactional
     public boolean updateWarning(FieldSetEntity fse) throws BaseException, SchedulerException, TaskException {
-        FieldSetEntity fseJob = new FieldSetEntity();
-        fseJob.setTableName("product_sys_timed_task");
-        fseJob.setValue("concurrent", 1);
-        fseJob.setValue("job_name", fse.getString("config_name"));
-        fseJob.setValue("cron_expression", fse.getString("execution_frequency"));
-        fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('" + fse.getUUID() + "')");
-        fseJob.setValue("job_group", "system");
-        fseJob.setValue("misfire_policy", 2);
-        fseJob.setValue("remark", "");
-        if (fse.getInteger("config_status") == 0) {
-            fseJob.setValue("status", 0);
-            sysJobService.pauseJob(fse.getString("time_task_uuid"));
-        } else {
-            fseJob.setValue("status", 1);
-            sysJobService.resumeJob(fse.getString("time_task_uuid"));
+        if (fse.getString("type").equals("0")) {
+            FieldSetEntity fseJob = new FieldSetEntity();
+            fseJob.setTableName("product_sys_timed_task");
+            fseJob.setValue("concurrent", 1);
+            fseJob.setValue("job_name", fse.getString("config_name"));
+            fseJob.setValue("cron_expression", fse.getString("execution_frequency"));
+            fseJob.setValue("invoke_target", "warnTask.triggerSingleWarningTask('" + fse.getUUID() + "')");
+            fseJob.setValue("job_group", "system");
+            fseJob.setValue("misfire_policy", 2);
+            fseJob.setValue("remark", "");
+            if (fse.getInteger("config_status") == 0) {
+                fseJob.setValue("status", 0);
+                sysJobService.pauseJob(fse.getString("time_task_uuid"));
+            } else {
+                fseJob.setValue("status", 1);
+                sysJobService.resumeJob(fse.getString("time_task_uuid"));
+            }
+            fseJob.setValue("is_conceal", 1);
+            fseJob.setValue("uuid", fse.getString("time_task_uuid"));
+            sysJobService.updateJob(fseJob);
         }
-        fseJob.setValue("is_conceal", 1);
-        fseJob.setValue("uuid", fse.getString("time_task_uuid"));
-        sysJobService.updateJob(fseJob);
-
         fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
         fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());
         return baseDao.update(fse);
@@ -299,21 +306,23 @@
      * @return
      */
     public boolean conditionCheck(String mainTableName, String warnCondition) {
-        Map<String, String> tableNameAndAlias = new HashMap<>();    //鐩稿叧琛ㄥ悕-->琛ㄥ埆鍚�,tableName-->tableName1
-        Map<String, String> fieldAndAlias = new HashMap<>();        //鐩稿叧瀛楁-->瀛楁鍒悕,tableName.fieldName-->tableName1fieldName
-        Map<String, String> fieldReference = new HashMap<>();    //缁勫悎鐩稿叧瀛楁鐨勫弬鐓�,tableName1fieldName-->referenceName
-        StringBuilder concatField = new StringBuilder();        //缁勫悎鐩稿叧瀛楁,tableName1.fieldName tableName1fieldName
+        Map<String, String> tableNameAndAlias = new HashMap<>();//鐩稿叧琛ㄥ悕-->琛ㄥ埆鍚�,tableName-->tableName1
+        Map<String, String> fieldAndAlias = new HashMap<>();	//鐩稿叧瀛楁-->瀛楁鍒悕,tableName.fieldName-->tableName1fieldName
+        Map<String, String> fieldReference = new HashMap<>();	//缁勫悎鐩稿叧瀛楁鐨勫弬鐓�,tableName1fieldName-->referenceName
+        StringBuilder concatField = new StringBuilder();		//缁勫悎鐩稿叧瀛楁,tableName1.fieldName tableName1fieldName
         earlyWarningServer.parseWarningContent(warnCondition, concatField, tableNameAndAlias, fieldAndAlias, fieldReference);
+        // 鏇挎崲绯荤粺鍙傛暟
+        warnCondition = SystemParamReplace.systemParamsReplace(warnCondition);
 
         //鐢熸垚涓诲瓙琛ㄥ叧鑱擲QL
         String relationSQL = earlyWarningServer.createTableRelation(tableNameAndAlias, mainTableName);
 
         StringBuilder serviceSQL = new StringBuilder();
-        serviceSQL.append(" SELECT ");
-        serviceSQL.append(concatField.subSequence(1, concatField.length()));
-        serviceSQL.append(" FROM ");
+        serviceSQL.append("\nSELECT \n");
+        serviceSQL.append(StringUtils.isEmpty(concatField) ? "*" : concatField.subSequence(1, concatField.length()));
+        serviceSQL.append("\nFROM \n");
         serviceSQL.append(relationSQL);
-        serviceSQL.append(" WHERE ");
+        serviceSQL.append("\nWHERE \n");
         serviceSQL.append(earlyWarningServer.parseWarnCondition(warnCondition, tableNameAndAlias));
         try {
             baseDao.listTable(serviceSQL.toString(), new Object[]{});
@@ -514,7 +523,11 @@
                 throw new BaseException(SystemCode.WARN_TRANSMIT_USER_REPEAT.getValue(), String.format("%s:%s", SystemCode.WARN_TRANSMIT_USER_REPEAT.getText(), transmitUserFse.getString(CmnConst.USER_NAME)));
             }
         });
+        // 鏇存柊棰勮淇℃伅琛�
         warnMsgFse.setValue(CmnConst.RECEIVER, preReceiver + "," + messageAccepter);
+        baseDao.saveFieldSetEntity(warnMsgFse);
+
+        // 鍙戦�佹秷鎭粰杞彂浜�
         SystemUser curUser = SpringMVCContextHolder.getCurrentUser();
         FieldSetEntity msgFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_MESSAGE, "source_table=? and source_uuid=?", new Object[]{CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, uuid}, false);
         String title = String.format("%s鍚戞偍杞彂浜嗛璀︽秷鎭��%s銆�", curUser.getUser_name(), msgFse.getString(CmnConst.TITLE));

--
Gitblit v1.9.2