From 84282c0bed4337bdeb0c8bc3e240c593398fbef4 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期一, 29 九月 2025 18:12:35 +0800
Subject: [PATCH] 会议看板代码提交
---
src/main/java/com/product/administration/service/EarlyWarningManagerService.java | 145 +++++++++++++++++++++++++++++++----------------
1 files changed, 95 insertions(+), 50 deletions(-)
diff --git a/src/main/java/com/product/administration/service/EarlyWarningManagerService.java b/src/main/java/com/product/administration/service/EarlyWarningManagerService.java
index b3c34e0..971f0c0 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[]{});
@@ -329,6 +338,8 @@
StaffManagerService staffManagerService;
public void sendWarnFeedBackMessage(FieldSetEntity fse) throws BaseException {
+ String userId = String.valueOf(SpringMVCContextHolder.getCurrentUser().getUser_id());
+ fse.setValue( CmnConst.USER_ID,userId);//褰撳墠浜轰綔涓烘秷鎭彂閫佷汉锛屽叾瀹冮璀︽帴鏀朵汉浣滀负鏀舵秷鎭汉
String parent_uuid = fse.getString("puuid");
Set<String> receiverSet = this.getReceiver(fse.getString("parent_uuid"));
if (StringUtils.isEmpty(parent_uuid)) {
@@ -337,7 +348,6 @@
if (!StringUtils.isEmpty(leaderUserId)) {
receiverSet.add(leaderUserId);
}
- String userId = String.valueOf(SpringMVCContextHolder.getCurrentUser().getUser_id());
receiverSet.remove(userId);
if(receiverSet.isEmpty()){
logger.error("鍙戦�佹秷鎭�,澶辫触");
@@ -492,4 +502,39 @@
}
return dte;
}
+
+ /**
+ * 杞彂
+ * @param fse
+ */
+ @Override
+ public void transmit(FieldSetEntity fse) {
+ String uuid = fse.getUUID();
+ String messageAccepter = fse.getString("user");
+ FieldSetEntity warnMsgFse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, uuid, false);
+ String preReceiver = warnMsgFse.getString(CmnConst.RECEIVER);
+ Set<String> preReceiverSet = Sets.newHashSet(preReceiver.split(","));
+ if (StringUtils.isEmpty(messageAccepter)) {
+ throw new BaseException(SystemCode.WARN_TRANSMIT_USER_IS_NULL);
+ }
+ Set<String> transmitUserSet = Sets.newHashSet(messageAccepter.split(","));
+ transmitUserSet.forEach(transmitUser -> {
+ if (preReceiverSet.contains(transmitUser)) {
+ FieldSetEntity transmitUserFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_USERS, "user_id=?", new Object[]{transmitUser}, false);
+ 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));
+ String content = msgFse.getString("content");
+ WebsocketMesssageServiceThread.getInstance().appendMessage(messageAccepter, content, title, curUser.getUser_id(),
+ "31", CmnConst.BUTTON_URL_WARN_MESSAGE_INFO + "?uuid=" + fse.getUUID(),
+ CmnConst.PRODUCT_SYS_EARLY_WARNING_INFO, fse.getUUID(), curUser.getUser_id(), 0, 0, null);
+ }
}
--
Gitblit v1.9.2