From 1614f88b7feb3be9451a6698875715365f09ae83 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期四, 16 十月 2025 17:08:51 +0800
Subject: [PATCH] 会议任务
---
src/main/java/com/product/administration/service/ConferenceManagerService.java | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/product/administration/service/ConferenceManagerService.java b/src/main/java/com/product/administration/service/ConferenceManagerService.java
index 2412139..2317880 100644
--- a/src/main/java/com/product/administration/service/ConferenceManagerService.java
+++ b/src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -26,6 +26,7 @@
import com.product.core.transfer.Transactional;
import com.product.core.websocket.service.WebsocketMesssageServiceThread;
import com.product.module.sys.entity.SystemUser;
+import com.product.oa.task.service.TaskDistributionService;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -57,6 +58,8 @@
QueryFilterService queryFilterService;
@Autowired
PermissionService permissionService;
+ @Autowired
+ TaskDistributionService taskDistributionService;
/**
* 浼氳瀹ゅ垪琛�
@@ -1250,6 +1253,69 @@
sbSql.append("\nLEFT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid");
return baseDao.listTable(sbSql.toString(), new Object[] {}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
}
+
+
+
+ /**
+ * 浼氳绾璇︽儏
+ * @param fse
+ * @return
+ */
+ public FieldSetEntity findMeetingMinute(FieldSetEntity fse) {
+ List<String> param = new ArrayList<>();
+ String filter = null;
+ if (StringUtils.isEmpty(fse.getUUID())) {
+ filter = "B.uuid = ?";
+ param.add(fse.getString("meeting_uuid"));
+ } else {
+ filter = "A.uuid = ?";
+ param.add(fse.getUUID());
+ }
+ StringBuilder sbSql = new StringBuilder();
+ sbSql.append("\nSELECT ");
+ sbSql.append("\n B.uuid AS meeting_uuid,B.meeting_topic,B.meeting_master,B.meeting_recorder,B.participator,CONCAT(start_time,'-',end_time)AS meeting_time, ");
+ sbSql.append("\n A.uuid,A.meeting_minute,A.copy_user,A.flow_flag");
+ sbSql.append("\nFROM product_oa_conference_minute A");
+ sbSql.append("\nRIGHT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid");
+ sbSql.append("\nWHERE ").append(filter);
+ FieldSetEntity fseMeetingMinute = baseDao.getFieldSetEntityBySQL(sbSql.toString(), param.toArray(), false);
+ baseDao.loadPromptData(fseMeetingMinute);
+ if(!StringUtils.isEmpty(fseMeetingMinute.getUUID())) {
+ DataTableEntity dtMeetingMinute = baseDao.listTable("product_oa_conference_minute_sub", "main_uuid = ?", new Object[] {fseMeetingMinute.getUUID()});
+ fseMeetingMinute.addSubDataTable(dtMeetingMinute);
+ }
+ return fseMeetingMinute;
+ }
+
+ /**
+ * 鑷姩鍙戣捣浠诲姟
+ * @param fse
+ */
+ public void autoMeetingtask(FieldSetEntity fse) {
+ DataTableEntity dtMeetingMinute = fse.getSubDataTable("product_oa_conference_minute_sub");
+ if(!BaseUtil.dataTableIsEmpty(dtMeetingMinute)) {
+ for (int i = 0; i < dtMeetingMinute.getRows(); i++) {
+ FieldSetEntity fseMeetingMinute = dtMeetingMinute.getFieldSetEntity(i);
+ if ("1".equals(fseMeetingMinute.getString("item_task"))) {
+ FieldSetEntity fseOaTask = new FieldSetEntity("product_oa_task_distribution");
+ fseOaTask.setValue("task_name", fseMeetingMinute.getString("item_name"));
+ fseOaTask.setValue("task_description", fseMeetingMinute.getString("item_detail"));
+ fseOaTask.setValue("task_persons", fseMeetingMinute.getString("item_user"));
+ fseOaTask.setValue("owner", fseMeetingMinute.getString("item_mananger"));
+ fseOaTask.setValue("task_start_time", fseMeetingMinute.getString("plan_finish_time"));
+ fseOaTask.setValue("task_finish_time", fseMeetingMinute.getString("plan_start_time"));
+ fseOaTask.setValue("task_source", 1);
+ fseOaTask.setValue("task_status", 1);
+ fseOaTask.setValue("task_complete_sche", 0);
+ fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
+ baseDao.add(fseOaTask);
+
+ // 鍙戦�佷换鍔℃秷鎭�
+ taskDistributionService.sendTaskMessage(fseOaTask, fseMeetingMinute.getString("item_user"), "admin", 1, fseOaTask.getUUID());
+ }
+ }
+ }
+ }
public void taskMeetingRminder() {
DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_CONFERENCE_APPLY, " flow_flag=2 and ( to_remind IS NULL OR to_remind = 0 ) AND reminder_time > 0 and reminder_time>=(( UNIX_TIMESTAMP(start_time ) - UNIX_TIMESTAMP( now( ) ) ) / 60) ", new Object[]{});
--
Gitblit v1.9.2