From 41fca6d51fb14bfc4e3ce4b0b10acce23e3f3c39 Mon Sep 17 00:00:00 2001
From: 18756 <1875631620@qq.com>
Date: 星期一, 19 八月 2024 11:00:00 +0800
Subject: [PATCH] 会议室看板优化8.19

---
 src/main/java/com/product/administration/service/ide/IConferenceManagerService.java  |    3 +
 src/main/java/com/product/administration/controller/ConferenceManagerController.java |   20 ++++++++++
 src/main/java/com/product/administration/service/ConferenceManagerService.java       |   55 ++++++++++++++++++++++++++-
 3 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/product/administration/controller/ConferenceManagerController.java b/src/main/java/com/product/administration/controller/ConferenceManagerController.java
index a0ffdbf..76fd664 100644
--- a/src/main/java/com/product/administration/controller/ConferenceManagerController.java
+++ b/src/main/java/com/product/administration/controller/ConferenceManagerController.java
@@ -8,6 +8,7 @@
 import com.product.administration.service.ide.IConferenceManagerService;
 import com.product.core.config.CoreConst;
 import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
 import com.product.core.entity.RequestParameterEntity;
 import com.product.core.exception.BaseException;
@@ -441,5 +442,24 @@
 
     }
 
+    @PostMapping("/get_Meeting_Details/{version}")
+    @ApiVersion(1)
+    public String getMeetingDetails(HttpServletRequest request){
+        //鑾峰彇鍙傛暟
+        FieldSetEntity fse = null;
+        /*Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+        if (bean != null) {
+            RequestParameterEntity reqp = (RequestParameterEntity) bean;
+            fse = reqp.getFormData();
+        }
+        //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+        if (bean == null || fse == null) {
+            return this.error(com.product.admin.config.SystemCode.SYSTEM_FORM_NODATA.getValue(), com.product.admin.config.SystemCode.SYSTEM_FORM_NODATA.getText());
+        }*/
+        DataTableEntity meetingDetails = conferenceManagerService.getMeetingDetails(fse);
+        return  OK(meetingDetails);
+
+    }
+
 
 }
diff --git a/src/main/java/com/product/administration/service/ConferenceManagerService.java b/src/main/java/com/product/administration/service/ConferenceManagerService.java
index e43912d..6c8d85e 100644
--- a/src/main/java/com/product/administration/service/ConferenceManagerService.java
+++ b/src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -204,7 +204,7 @@
     public List getKbData(FieldSetEntity fse) throws BaseException {
 
         List<Object>param=new ArrayList<>();
-        String meeting_date= fse.getString("meeting_date");
+       String meeting_date= fse.getString("meeting_date");
         String meeting_resource = fse.getString("meeting_resource");
         param.add(meeting_date);
         if(!StringUtils.isEmpty(meeting_resource)){
@@ -222,6 +222,7 @@
         if(!StringUtils.isEmpty(meeting_resource)){
             bs.append(" and  y.meeting_resource like ? ");
         }
+        bs.append(" ORDER BY y.start_time");
         DataTableEntity dataTableEntity = baseDao.listTable(bs.toString(), param.toArray());
         List<String> list=new ArrayList();
         List<HashMap> listDate=new ArrayList<>();
@@ -232,6 +233,10 @@
                 HashMap<String,Object> hashMap=new HashMap<>();
                 hashMap.put("room_name",fieldSetEntity.getValue("room_name").toString());
                 hashMap.put("uuid",fieldSetEntity.getValue("meet_room_uuid").toString());
+                Object getStartTime = dataTableEntity.getData().get(0).getValue("start_time");
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String time = dateFormat.format(getStartTime);
+                hashMap.put("start_time",time);
                 list.add(fieldSetEntity.getValue("room_name").toString());
                 listDate.add(hashMap);
 
@@ -256,10 +261,54 @@
     }
 
     @Override
-    public List getMeetingDetails(FieldSetEntity fse) throws BaseException {
+    public DataTableEntity getMeetingDetails(FieldSetEntity fse) throws BaseException {
 
+        //String uuid = fse.getString("uuid");
+        String uuid="96f161b4-6360-40ba-8dc1-72bb39d56be4";
+        /*if(!StringUtils.isEmpty(uuid)){*/
+            List<Object>param=new ArrayList<>();
+            param.add(uuid);
+            StringBuilder sb=new StringBuilder();
+            sb.append(" SELECT b.uuid,b.start_time,b.end_time,b.record_man,b.record_master,b.status, ");
+            sb.append(" CONCAT(DATE_FORMAT(b.start_time,\"%H-%i-%S\"),'~',DATE_FORMAT(b.end_time,\"%H-%i-%S\"))  as time_quantum,");
+            sb.append(" DATE_FORMAT(b.start_time,\"%Y-%m-%d\") as meeting_date,");
+            sb.append(" GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces ");
+            sb.append(" FROM (");
+            sb.append(" SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.record_man,a.record_master,a.status,t.dict_label ");
+            sb.append(" FROM (");
+            sb.append("  SELECT T1.*, ");
+            sb.append(" SUBSTRING_INDEX( SUBSTRING_INDEX( T1.meeting_resource, ',', T2.digit + 1 ), ',',- 1 ) AS type ");
+            sb.append(" FROM product_oa_conference_apply T1 ");
+            sb.append(" JOIN ( SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 ) T2");
+            sb.append(" ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )");
+            sb.append(" WHERE t1.uuid = ? ");
+            sb.append(" ) a");
+            sb.append(" LEFT JOIN product_sys_dict t ON a.type = t.dict_value ");
+            sb.append(" AND t.dict_name = '浼氳瀹よ祫婧�'");
+            sb.append(" )b ");
+            sb.append(" group by b.uuid,b.start_time,b.end_time,b.record_man,b.record_master,b.status ");
+            DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
 
-        return null;
+            for (int i = 0; i < dataTableEntity.getRows(); i++) {
+                Date date = new Date();
+                String uuid1 = dataTableEntity.getData().get(0).getString("uuid");
+                String filter="uuid = '"+uuid1+"'";
+                DataTableEntity product_oa_conference_apply = baseDao.listTable("product_oa_conference_apply", filter, new Object[]{});
+                if(date.before(dataTableEntity.getData().get(0).getDate("start_time"))){
+                    product_oa_conference_apply.getData().get(0).setValue("status","鏈紑濮�");
+                }else if(date.after(dataTableEntity.getData().get(0).getDate("end_time"))){
+                    product_oa_conference_apply.getData().get(0).setValue("status","宸插彇娑�");
+
+                }else {
+                    product_oa_conference_apply.getData().get(0).setValue("status","浼氳涓�");
+                }
+                baseDao.update(product_oa_conference_apply);
+            }
+            return  dataTableEntity;
+       /* }else {
+            return null;
+        }*/
+
     }
 
 
diff --git a/src/main/java/com/product/administration/service/ide/IConferenceManagerService.java b/src/main/java/com/product/administration/service/ide/IConferenceManagerService.java
index 3c9fdf0..a842460 100644
--- a/src/main/java/com/product/administration/service/ide/IConferenceManagerService.java
+++ b/src/main/java/com/product/administration/service/ide/IConferenceManagerService.java
@@ -34,4 +34,7 @@
 
     List getKbData(FieldSetEntity fse)throws  BaseException;
 
+    DataTableEntity  getMeetingDetails(FieldSetEntity fse)throws  BaseException;
+
+
 }

--
Gitblit v1.9.2