From 77a145b91efa63fddd18ba243ddc95a631620f72 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期一, 20 十月 2025 11:53:31 +0800
Subject: [PATCH] 会议代码提交

---
 src/main/java/com/product/administration/service/ConferenceManagerService.java |   87 +++++++++++++++++++++++++------------------
 1 files changed, 51 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/product/administration/service/ConferenceManagerService.java b/src/main/java/com/product/administration/service/ConferenceManagerService.java
index f14199d..1730e79 100644
--- a/src/main/java/com/product/administration/service/ConferenceManagerService.java
+++ b/src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -359,8 +359,11 @@
         }
     }
 
+    /**
+     * 	浼氳鐪嬫澘-浼氳璁板綍
+     */
     @Override
-    public List getMeetingDetails(FieldSetEntity fse) throws BaseException {
+    public DataTableEntity getMeetingRecords(FieldSetEntity fse) throws BaseException {
         String meeting_room = fse.getString("meeting_room");
         String meeting_start_date = fse.getString("meeting_start_date");
         String meeting_end_date = fse.getString("meeting_end_date");
@@ -383,12 +386,14 @@
             param.add(meeting_start_date);
             param.add(meeting_end_date);
             StringBuilder sb=new StringBuilder();
-            sb.append("\nSELECT b.uuid,DATE_FORMAT(b.start_time, \"%Y-%m-%d\")  start_time,b.start_time start_time1,b.end_time,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid, ");
+            sb.append("\nSELECT ");
+            sb.append("\n  b.uuid,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid,");
+            sb.append("\n  b.start_time,b.end_time,DATE_FORMAT(b.start_time,'%Y-%m-%d') as meeting_date,");
             sb.append("\n  (select user_name from product_sys_users where user_id=b.meeting_recorder) as meeting_recorder,");
             sb.append("\n  (select user_name from product_sys_users where user_id=b.meeting_master) as meeting_master,");
             sb.append("\n  CONCAT(DATE_FORMAT(b.start_time,\"%H:%i\"),'~',DATE_FORMAT(b.end_time,\"%H:%i\"))  as time_quantum,");
-            sb.append("\n  DATE_FORMAT(b.start_time,\"%Y-%m-%d\") as meeting_date,");
-            sb.append("\n  GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces ");
+            sb.append("\n  GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces,");
+            sb.append("\n  C.uuid AS minute_uuid,C.flow_flag AS minute_flow_flag");
             sb.append("\nFROM (");
             sb.append("\n  SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.meeting_topic,a.meeting_recorder,a.meeting_master,a.status,t.dict_label ");
             sb.append("\n  FROM (");
@@ -400,42 +405,51 @@
             sb.append("\n    ) T2");
             sb.append("\n    ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )");
             sb.append("\n    WHERE T1.meeting_room = ? ");
-            sb.append("\n    and T1.start_time between ? and ? ");
+            sb.append("\n    AND T1.start_time between ? AND ? ");
             if(!StringUtils.isEmpty(meeting_resource)){
-             sb.append(" and ("+replace_meeting_resource+" )");
+             sb.append(" AND ("+replace_meeting_resource+" )");
             }
             sb.append("\n  ) a");
             sb.append("\n  LEFT JOIN product_sys_dict t ON a.type = t.dict_value AND t.dict_name = '浼氳瀹よ祫婧�'");
             sb.append("\n)b ");
-            sb.append("\ngroup by b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status ");
+            sb.append("\nLEFT JOIN product_oa_conference_minute C ON C.meeting_uuid = B.uuid");
+            sb.append("\nGROUP BY b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status,C.uuid,C.flow_flag ");
             DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
-
-            List dataList =new ArrayList();
-            for (int i = 0; i < dataTableEntity.getRows(); i++) {
-                FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i);
-                Map<Object, Object> MapValues = fieldSetEntity.getValues();
-                if(ObjectUtil.isNotEmpty(MapValues.get("start_time1")) || ObjectUtil.isNotEmpty( MapValues.get("end_time"))){
-                    Object start_time = MapValues.get("start_time1");
-                    Object end_time = MapValues.get("end_time");
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    String start_time_date = dateFormat.format(start_time);
-                    String end_time_date = dateFormat.format(end_time);
-                   MapValues.put("start_time",start_time_date);
-                   MapValues.put("end_time",end_time_date);
-                }
-
-                Date date = new Date();
-                //鏄惁鑳藉鍙栨秷
-                if(date.before(fieldSetEntity.getDate("start_time"))){
-                   MapValues.put("isCancel",true);
-                }
-                //鏄惁鎵ц寮�鍚姛鑳�
-                if(date.before(fieldSetEntity.getDate("start_time")) && fieldSetEntity.getString("status").equals("宸插彇娑�")){
-                    MapValues.put("isStart",true);
-                }
-                dataList.add(MapValues);
-            }
-            return  dataList;
+            if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
+            	for (int i = 0; i < dataTableEntity.getRows(); i++) {
+            		FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i);
+            		String status = fieldSetEntity.getString("status");
+            		Date startTime = fieldSetEntity.getDate("start_time");
+            		Date endTime = fieldSetEntity.getDate("end_time");
+            		Date date = new Date();
+            		//鏄惁鑳藉鍙栨秷/缂栬緫/鍚敤
+                    if(date.before(startTime)){
+                    	if("宸插彇娑�".equals(status)) {
+                    		fieldSetEntity.setValue("isRestart", true);
+                    	} else if ("宸插惎鐢�".equals(status) || BaseUtil.strIsNull(status)) {
+                    		fieldSetEntity.setValue("isCancel", true);
+                    	}
+                    	fieldSetEntity.setValue("isUpdate", true);
+                    	if (BaseUtil.strIsNull(status)) {
+                    		fieldSetEntity.setValue("status", "鏈紑濮�");
+						}
+                    } else {
+                    	//鏄惁鑳藉褰曞叆浼氳绾
+                        if(date.after(endTime)){
+                        	if (BaseUtil.strIsNull(status)) {
+                        		fieldSetEntity.setValue("status", "宸茬粨鏉�");
+    						}
+                        	fieldSetEntity.setValue("isFinish", true);
+                        } else {
+                        	if (BaseUtil.strIsNull(status)) {
+                        		fieldSetEntity.setValue("status", "杩涜涓�");
+    						}
+                        }
+                    }
+            	}
+			}
+            
+            return dataTableEntity;
         }else {
             return null;
         }
@@ -516,7 +530,7 @@
         DataTableEntity product_oa_conference_apply = baseDao.listTable("product_oa_conference_apply", filter, new Object[]{});
         if(product_oa_conference_apply.getRows()!=0){
             FieldSetEntity fieldSetEntity = product_oa_conference_apply.getFieldSetEntity(0);
-            if(fieldSetEntity.getString("status").equals("宸插彇娑�")){
+            if("宸插彇娑�".equals(fieldSetEntity.getString("status"))){
                 fieldSetEntity.setValue("status","宸插惎鐢�");
             }else {
                 fieldSetEntity.setValue("status","宸插彇娑�");
@@ -1001,7 +1015,7 @@
      */
     public DataTableEntity listMeetingMinute(FieldSetEntity fse) {
     	StringBuilder sbSql = new StringBuilder();
-    	sbSql.append("\nSELECT B.meeting_topic, A.*");
+    	sbSql.append("\nSELECT B.meeting_master,start_time,end_time, A.*");
     	sbSql.append("\nFROM product_oa_conference_minute A");
     	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));
@@ -1058,6 +1072,7 @@
 					fseOaTask.setValue("task_source", 1);
 					fseOaTask.setValue("task_status", 1);
 					fseOaTask.setValue("task_complete_sche", 0);
+					fseOaTask.setValue("finish_type", 0);
 					fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
 					baseDao.add(fseOaTask);
 					

--
Gitblit v1.9.2