From 2eff5b1ee1c208764ef9bdd5a68320e01de908f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com>
Date: Tue, 13 Jun 2023 18:02:03 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87=E4=B8=8A?=
 =?UTF-8?q?=E7=BA=BF=E4=B8=8B=E7=BA=BF=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../admin/src/views/workman/list.vue            | 16 ++++++++++++++++
 .../room/service/impl/RoomServiceImpl.java      | 17 +++++++++++++++++
 .../service/impl/WorkmanServiceImpl.java        |  5 +++++
 3 files changed, 38 insertions(+)

diff --git a/smart-office-manager-ui/admin/src/views/workman/list.vue b/smart-office-manager-ui/admin/src/views/workman/list.vue
index 81f993a..02a6020 100644
--- a/smart-office-manager-ui/admin/src/views/workman/list.vue
+++ b/smart-office-manager-ui/admin/src/views/workman/list.vue
@@ -203,6 +203,22 @@
                 isExport: false,
                 config: {
                     search: [
+                      {
+                        name: "name",
+                        type: "text",
+                        label: "濮撳悕",
+                        fuzzy: true
+                      },
+                      {
+                        name: "roomId",
+                        type: "select",
+                        label: "鎵€灞炴埧闂�"
+                      },
+                      {
+                        name: "workStatus",
+                        type: "select",
+                        label: "宸ヤ綔鐘舵€�"
+                      }
                     ],
                     columns: [
                         {type: "selection", width: 60},
diff --git a/smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java b/smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
index a048d4c..be960af 100644
--- a/smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
+++ b/smart-office-manager/src/main/java/com/mortals/xhx/module/room/service/impl/RoomServiceImpl.java
@@ -1,8 +1,11 @@
 package com.mortals.xhx.module.room.service.impl;
 
+import com.mortals.framework.model.PageInfo;
 import com.mortals.xhx.module.device.model.DeviceEntity;
 import com.mortals.xhx.module.device.model.DeviceQuery;
 import com.mortals.xhx.module.device.service.DeviceService;
+import com.mortals.xhx.module.workman.model.WorkmanQuery;
+import com.mortals.xhx.module.workman.service.WorkmanService;
 import org.springframework.stereotype.Service;
 import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.framework.exception.AppException;
@@ -19,6 +22,7 @@ import org.springframework.util.ObjectUtils;
 import java.util.Date;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import lombok.extern.slf4j.Slf4j;
@@ -37,7 +41,20 @@ public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity
     private RoomDeviceService roomDeviceService;
     @Autowired
     private DeviceService deviceService;
+    @Autowired
+    private WorkmanService workmanService;
+
+
+    @Override
+    protected void findAfter(RoomEntity params, PageInfo pageInfo, Context context, List<RoomEntity> list) throws AppException {
+        super.findAfter(params, pageInfo, context, list);
 
+        Map<Long, Long> collect = workmanService.find(new WorkmanQuery()).stream().collect(Collectors.groupingBy(x -> x.getRoomId(), Collectors.counting()));
+
+        list.forEach(item->{
+           item.setCountPerson(collect.getOrDefault(item.getId(),item.getCountPerson()));
+        });
+    }
 
     @Override
     protected void saveAfter(RoomEntity entity, Context context) throws AppException {
diff --git a/smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java b/smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
index 36dbe8c..249708d 100644
--- a/smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
+++ b/smart-office-manager/src/main/java/com/mortals/xhx/module/workman/service/impl/WorkmanServiceImpl.java
@@ -121,6 +121,11 @@ public class WorkmanServiceImpl extends AbstractCRUDServiceImpl<WorkmanDao, Work
                 uploadDeviceReq.setAction("refreshWorkman");
                 log.info("downMsg:{}", JSON.toJSONString(uploadDeviceReq));
                 messageFeign.downMsg(uploadDeviceReq);
+
+                RoomQuery roomQuery = new RoomQuery();
+                roomQuery.setId(roomEntity.getId());
+                roomQuery.setCountPersonIncrement(-1L);
+                roomService.update(roomQuery,context);
             }
         });
 
-- 
2.24.3