From 91bd57ddeb24e9b9e433f52bd20849643c977015 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 12 十月 2024 16:25:00 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java            |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                 |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java          |   97 ++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java             |   90 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java        |   49 +--
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java               |   15 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                 |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java               |  107 ++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java               |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                   |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java |  170 ++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java                   |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java        |  107 ++++++++
 13 files changed, 631 insertions(+), 37 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java
new file mode 100644
index 0000000..733e71c
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutDayCountController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.InoutDayCount;
+import com.doumee.service.business.InoutDayCountService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/10/12 16:19
+ */
+@Api(tags = "鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃")
+@RestController
+@RequestMapping("/business/inoutDayCount")
+public class InoutDayCountController extends BaseController {
+
+    @Autowired
+    private InoutDayCountService inoutDayCountService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:inoutdaycount:create")
+    public ApiResponse create(@RequestBody InoutDayCount inoutDayCount) {
+        return ApiResponse.success(inoutDayCountService.create(inoutDayCount));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:inoutdaycount:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        inoutDayCountService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:inoutdaycount:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        inoutDayCountService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:inoutdaycount:update")
+    public ApiResponse updateById(@RequestBody InoutDayCount inoutDayCount) {
+        inoutDayCountService.updateById(inoutDayCount);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:inoutdaycount:query")
+    public ApiResponse<PageData<InoutDayCount>> findPage (@RequestBody PageWrap<InoutDayCount> pageWrap) {
+        return ApiResponse.success(inoutDayCountService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:inoutdaycount:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<InoutDayCount> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(InoutDayCount.class).export(inoutDayCountService.findPage(pageWrap).getRecords(), "鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:inoutdaycount:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(inoutDayCountService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index 91b2143..f6d5cf1 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
 import com.doumee.dao.admin.response.StagingDataVO;
 import com.doumee.dao.business.model.Visits;
 import com.doumee.dao.system.dto.NoticesDTO;
@@ -100,6 +101,7 @@
         return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeDataPC(noticesDTO));
     }
 
+
     @ApiOperation("浠诲姟涓績鍒嗛〉")
     @PostMapping("/taskPage")
     public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
@@ -107,6 +109,8 @@
         pageWrap.getModel().setMemberId(loginUserInfo.getMemberId());
         return ApiResponse.success(noticesService.taskCanterPage(pageWrap));
     }
+
+
 
     @ApiOperation("鏍囪宸茶")
     @GetMapping("/signRead")
@@ -123,4 +127,15 @@
         }
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
+
+
+    @ApiOperation("PC宸ヤ綔鍙�")
+    @GetMapping("/pCWorkPlatformData")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�1=鍦ㄥ洯浜烘暟锛�2=鎶ヨ〃鏁版嵁锛�3=寰呭姙浜嬮」锛�4=瓒呮椂棰勮", required = true),
+    })
+    public ApiResponse<PCWorkPlatformDataVO> pCWorkPlatformData (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(queryType,getLoginUser(token));
+        return ApiResponse.success("鏌ヨ鎴愬姛",pcWorkPlatformDataVO);
+    }
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
index 56d3076..eaa4ba3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
@@ -17,10 +17,10 @@
 @ApiModel("宸ヤ綔鍙扮浉鍏虫柟鏁版嵁")
 public class InterestedListVO {
 
-    @ApiModelProperty(value = "浜烘暟")
-    private Long userNum;
+    @ApiModelProperty(value = "鏁伴噺")
+    private Long num;
 
     @ApiModelProperty(value = "鍚嶇О")
-    private String interestedName;
+    private String name;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
index d458f70..4d1e4dd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
@@ -1,5 +1,7 @@
 package com.doumee.dao.admin.response;
 
+import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.system.model.Notices;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -20,12 +22,11 @@
     @ApiModelProperty(value = "浠婃棩鍦ㄥ洯浜烘暟")
     private Long todayInParkUserNum;
 
-    @ApiModelProperty(value = "浠婃棩鍏ュ洯浜烘暟")
+    @ApiModelProperty(value = "浠婃棩鍏ュ洯浜烘")
     private Long todayInUserNum;
 
-    @ApiModelProperty(value = "浠婃棩绂诲洯浜烘暟")
+    @ApiModelProperty(value = "浠婃棩绂诲洯浜烘")
     private Long todayOutUserNum;
-
 
     @ApiModelProperty(value = "鍦ㄥ洯璁垮浜烘暟")
     private Long inParkVisitUserNum;
@@ -36,16 +37,14 @@
     @ApiModelProperty(value = "绛剧浜烘")
     private Long signLevelNum;
 
-
     @ApiModelProperty(value = "鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�")
     private Long inParkLwUserNum;
 
-    @ApiModelProperty(value = "鍏ュ洯浜烘")
+    @ApiModelProperty(value = "鐩稿叧鏂瑰叆鍥汉娆�")
     private Long lwUserInNum;
 
-    @ApiModelProperty(value = "鍑哄洯浜烘")
+    @ApiModelProperty(value = "鐩稿叧鏂瑰嚭鍥汉娆�")
     private Long lwUserOutNum;
-
 
     @ApiModelProperty(value = "浠婃棩鍦ㄥ洯杞﹁締")
     private Long todayInParkCarNum;
@@ -56,33 +55,25 @@
     @ApiModelProperty(value = "鍑哄洯杞︽")
     private Long todayOutCarNum;
 
-    @ApiModelProperty(value = "鐩稿叧鏂规暟鎹�")
-    private List<InterestedListVO> interestedListVOList;
+    @ApiModelProperty(value = "闀挎湡鐩稿叧鏂圭浉鍏虫柟鍒嗗竷 top 5")
+    private List<InterestedListVO> lwList;
 
+    @ApiModelProperty(value = "杩戜竷鏃ヨ瀹㈢粺璁�")
+    private List<InterestedListVO> weekVisitList;
 
+    @ApiModelProperty(value = "杩戜竷鏃ヨ溅杈嗙粺璁�")
+    private List<InterestedListVO> weekCarList;
 
-    @ApiModelProperty(value = "璁垮浜哄憳")
-    private Long visitorCount;
+    @ApiModelProperty(value = "寰呭姙浜嬮」鏁伴噺")
+    private Integer noticesNum;
 
-    @ApiModelProperty(value = "鍔冲姟浜哄憳")
-    private Long lwCount;
+    @ApiModelProperty(value = "寰呭姙浜嬮」")
+    private List<Notices> noticesList;
 
-    @ApiModelProperty(value = "鍦ㄥ満杞﹁締")
-    private Long presenceCarCount;
+    @ApiModelProperty(value = "瓒呮椂棰勮鏁伴噺")
+    private Integer timeOutVisitNum;
 
-    @ApiModelProperty(value = "棰勭害杞﹁締")
-    private Long visitorCarCount;
-
-    @ApiModelProperty(value = "闀挎湡杞﹁締")
-    private Long longCarCount;
-
-    @ApiModelProperty(value = "渚涘簲鍟嗘暟閲�")
-    private Long supplierCount;
-
-    @ApiModelProperty(value = "鍔冲姟鍏徃浜哄憳鏁�")
-    private List<Map<String,Object>> companyUsers;
-
-    @ApiModelProperty(value = "婊炵暀浜哄憳鏁版嵁")
-    private List<Map<String,Object>> retentionUsers;
+    @ApiModelProperty(value = "璁垮瓒呮椂鏁版嵁")
+    private List<Visits> timeOutVisitList;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java
new file mode 100644
index 0000000..0650afc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutDayCountMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.InoutDayCount;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/10/12 16:19
+ */
+public interface InoutDayCountMapper extends BaseMapper<InoutDayCount> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
index edc3988..c98c78a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.Retention;
+import com.github.yulichang.base.MPJBaseMapper;
 
 import java.util.List;
 
@@ -9,5 +10,5 @@
  * @author 姹熻箘韫�
  * @date 2023/11/30 15:33
  */
-public interface RetentionMapper extends BaseMapper<Retention> {
+public interface RetentionMapper extends MPJBaseMapper<Retention> {
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java
new file mode 100644
index 0000000..f8f5ca0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutDayCount.java
@@ -0,0 +1,107 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃
+ * @author 姹熻箘韫�
+ * @date 2024/10/12 16:19
+ */
+@Data
+@ApiModel("鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃")
+@TableName("`inout_day_count`")
+public class InoutDayCount {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "缁熻鏃ユ湡锛�2024-10-12 00:00:00锛�")
+    @ExcelColumn(name="缁熻鏃ユ湡锛�2024-10-12 00:00:00锛�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date timeInfo;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鍏ュ洯鎬讳汉娆�", example = "1")
+    @ExcelColumn(name="鍏ュ洯鎬讳汉娆�")
+    private Integer inMemberNum;
+
+    @ApiModelProperty(value = "鍑哄洯鎬讳汉娆�", example = "1")
+    @ExcelColumn(name="鍑哄洯鎬讳汉娆�")
+    private Integer outMemberNum;
+
+    @ApiModelProperty(value = "璁垮鍏ュ洯浜烘", example = "1")
+    @ExcelColumn(name="璁垮鍏ュ洯浜烘")
+    private Integer inVisitorNum;
+
+    @ApiModelProperty(value = "璁垮鍑哄洯浜烘", example = "1")
+    @ExcelColumn(name="璁垮鍑哄洯浜烘")
+    private Integer outVisitorNum;
+
+    @ApiModelProperty(value = "璁垮鐧昏浜烘", example = "1")
+    @ExcelColumn(name="璁垮鐧昏浜烘")
+    private Integer singinVisitorNum;
+
+    @ApiModelProperty(value = "璁垮绛剧浜烘", example = "1")
+    @ExcelColumn(name="璁垮绛剧浜烘")
+    private Integer leaveVisitorNum;
+
+    @ApiModelProperty(value = "鐩稿叧鏂瑰叆鍥汉娆�", example = "1")
+    @ExcelColumn(name="鐩稿叧鏂瑰叆鍥汉娆�")
+    private Integer inOrtherMemberNum;
+
+    @ApiModelProperty(value = "鐩稿叧鏂瑰嚭鍥汉娆�", example = "1")
+    @ExcelColumn(name="鐩稿叧鏂瑰嚭鍥汉娆�")
+    private Integer outOrtherMemberNum;
+
+    @ApiModelProperty(value = "鍐呴儴浜哄憳鍏ュ洯浜烘", example = "1")
+    @ExcelColumn(name="鍐呴儴浜哄憳鍏ュ洯浜烘")
+    private Integer inSelfMemberNum;
+
+    @ApiModelProperty(value = "鍐呴儴浜哄憳鍑哄洯浜烘", example = "1")
+    @ExcelColumn(name="鍐呴儴浜哄憳鍑哄洯浜烘")
+    private Integer outSelfMemberNum;
+
+    @ApiModelProperty(value = "鍏ュ洯杞︽", example = "1")
+    @ExcelColumn(name="鍏ュ洯杞︽")
+    private Integer inCarNum;
+
+    @ApiModelProperty(value = "鍑哄洯杞︽", example = "1")
+    @ExcelColumn(name="鍑哄洯杞︽")
+    private Integer outCarNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index 2424691..5e4f6b3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -137,7 +137,6 @@
 
     @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鏃堕棿")
     @ExcelColumn(name="閫氱煡鍏ュ洯绛夊緟鏃堕棿")
-  
     private Date inwaitDate;
 
     @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鎿嶄綔浜虹紪鐮�", example = "1")
@@ -147,8 +146,6 @@
     @ApiModelProperty(value = "鍙彿鏃堕棿")
     @ExcelColumn(name="鍙彿鏃堕棿")
     private Date callDate;
-
-
 
 
     @ApiModelProperty(value = "鍙彿浜虹紪鐮�", example = "1")
@@ -197,7 +194,6 @@
 
     @ApiModelProperty(value = "杞﹁締绂诲巶鏃堕棿")
     @ExcelColumn(name="杞﹁締绂诲巶鏃堕棿")
-  
     private Date outDate;
 
     @ApiModelProperty(value = "绂诲巶鏂瑰紡 0鑷姩绂诲巶 1鎵嬪姩绂诲満", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 70323e1..b7cc49a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -116,6 +116,10 @@
     @TableField(exist = false)
     private String keyWords;
 
+    @ApiModelProperty(value = "绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐")
+    @TableField(exist = false)
+    private Integer companyType;
+
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     @TableField(exist = false)
     private Date startTime;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java
new file mode 100644
index 0000000..474cf63
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutDayCountService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.InoutDayCount;
+import java.util.List;
+
+/**
+ * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/10/12 16:19
+ */
+public interface InoutDayCountService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(InoutDayCount inoutDayCount);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     */
+    void delete(InoutDayCount inoutDayCount);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     */
+    void updateById(InoutDayCount inoutDayCount);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param inoutDayCounts 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<InoutDayCount> inoutDayCounts);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return InoutDayCount
+     */
+    InoutDayCount findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     * @return InoutDayCount
+     */
+    InoutDayCount findOne(InoutDayCount inoutDayCount);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     * @return List<InoutDayCount>
+     */
+    List<InoutDayCount> findList(InoutDayCount inoutDayCount);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<InoutDayCount>
+     */
+    PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param inoutDayCount 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(InoutDayCount inoutDayCount);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 172d792..fd4e843 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -1,7 +1,9 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
 import com.doumee.dao.business.dto.ResetPasswordDTO;
 import com.doumee.dao.business.model.Visits;
 import com.doumee.dao.web.reqeust.AuditApproveDTO;
@@ -143,4 +145,6 @@
     void resetPassword(ResetPasswordDTO resetPasswordDTO);
 
     void visitResend(Integer visitId);
+
+    PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
new file mode 100644
index 0000000..3aa9286
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
@@ -0,0 +1,170 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.InoutDayCountMapper;
+import com.doumee.dao.business.model.InoutDayCount;
+import com.doumee.service.business.InoutDayCountService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/10/12 16:19
+ */
+@Service
+public class InoutDayCountServiceImpl implements InoutDayCountService {
+
+    @Autowired
+    private InoutDayCountMapper inoutDayCountMapper;
+
+    @Override
+    public Integer create(InoutDayCount inoutDayCount) {
+        inoutDayCountMapper.insert(inoutDayCount);
+        return inoutDayCount.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        inoutDayCountMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(InoutDayCount inoutDayCount) {
+        UpdateWrapper<InoutDayCount> deleteWrapper = new UpdateWrapper<>(inoutDayCount);
+        inoutDayCountMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        inoutDayCountMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(InoutDayCount inoutDayCount) {
+        inoutDayCountMapper.updateById(inoutDayCount);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<InoutDayCount> inoutDayCounts) {
+        if (CollectionUtils.isEmpty(inoutDayCounts)) {
+            return;
+        }
+        for (InoutDayCount inoutDayCount: inoutDayCounts) {
+            this.updateById(inoutDayCount);
+        }
+    }
+
+    @Override
+    public InoutDayCount findById(Integer id) {
+        return inoutDayCountMapper.selectById(id);
+    }
+
+    @Override
+    public InoutDayCount findOne(InoutDayCount inoutDayCount) {
+        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
+        return inoutDayCountMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<InoutDayCount> findList(InoutDayCount inoutDayCount) {
+        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
+        return inoutDayCountMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<InoutDayCount> findPage(PageWrap<InoutDayCount> pageWrap) {
+        IPage<InoutDayCount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<InoutDayCount> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(InoutDayCount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(InoutDayCount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(InoutDayCount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(InoutDayCount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getTimeInfo() != null) {
+            queryWrapper.lambda().ge(InoutDayCount::getTimeInfo, Utils.Date.getStart(pageWrap.getModel().getTimeInfo()));
+            queryWrapper.lambda().le(InoutDayCount::getTimeInfo, Utils.Date.getEnd(pageWrap.getModel().getTimeInfo()));
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getInMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getInMemberNum, pageWrap.getModel().getInMemberNum());
+        }
+        if (pageWrap.getModel().getOutMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getOutMemberNum, pageWrap.getModel().getOutMemberNum());
+        }
+        if (pageWrap.getModel().getInVisitorNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getInVisitorNum, pageWrap.getModel().getInVisitorNum());
+        }
+        if (pageWrap.getModel().getOutVisitorNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getOutVisitorNum, pageWrap.getModel().getOutVisitorNum());
+        }
+        if (pageWrap.getModel().getSinginVisitorNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getSinginVisitorNum, pageWrap.getModel().getSinginVisitorNum());
+        }
+        if (pageWrap.getModel().getLeaveVisitorNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getLeaveVisitorNum, pageWrap.getModel().getLeaveVisitorNum());
+        }
+        if (pageWrap.getModel().getInOrtherMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getInOrtherMemberNum, pageWrap.getModel().getInOrtherMemberNum());
+        }
+        if (pageWrap.getModel().getOutOrtherMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getOutOrtherMemberNum, pageWrap.getModel().getOutOrtherMemberNum());
+        }
+        if (pageWrap.getModel().getInSelfMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getInSelfMemberNum, pageWrap.getModel().getInSelfMemberNum());
+        }
+        if (pageWrap.getModel().getOutSelfMemberNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getOutSelfMemberNum, pageWrap.getModel().getOutSelfMemberNum());
+        }
+        if (pageWrap.getModel().getInCarNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getInCarNum, pageWrap.getModel().getInCarNum());
+        }
+        if (pageWrap.getModel().getOutCarNum() != null) {
+            queryWrapper.lambda().eq(InoutDayCount::getOutCarNum, pageWrap.getModel().getOutCarNum());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(inoutDayCountMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(InoutDayCount inoutDayCount) {
+        QueryWrapper<InoutDayCount> wrapper = new QueryWrapper<>(inoutDayCount);
+        return inoutDayCountMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index d7ee5e4..a0d43c7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -17,6 +17,7 @@
 import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest;
 import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -24,6 +25,7 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
+import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
 import com.doumee.dao.business.dto.ResetPasswordDTO;
@@ -31,7 +33,10 @@
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.dto.NoticesDTO;
 import com.doumee.dao.system.dto.ResetSystemUserPwdDTO;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.AuditApproveDTO;
 import com.doumee.dao.web.reqeust.ErpVisitDTO;
@@ -108,6 +113,8 @@
     private SystemUserMapper systemUserMapper;
     @Autowired
     private ApproveService approveService;
+    @Autowired
+    private NoticesJoinMapper noticesJoinMapper;
 
 
     @Override
@@ -1463,4 +1470,104 @@
         systemUserBiz.resetPwd(dto);
     }
 
+    /**
+     *
+     * @param queryType 鏌ヨ绫诲瀷锛�1=鍦ㄥ洯浜烘暟锛�2=鎶ヨ〃鏁版嵁锛�3=寰呭姙浜嬮」锛�4=瓒呮椂棰勮
+     * @param loginUserInfo
+     * @return
+     */
+    @Override
+    public PCWorkPlatformDataVO getPcWorkPlatformData(Integer queryType ,LoginUserInfo loginUserInfo){
+        PCWorkPlatformDataVO pcWorkPlatformDataVO = new PCWorkPlatformDataVO();
+        if(Constants.equalsInteger(queryType,Constants.ONE)){
+            List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
+                    new MPJLambdaWrapper<Retention>()
+                            .selectAll(Retention.class)
+                            .selectAs(Company::getType,Retention::getCompanyType)
+                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+            );
+            //浠婃棩鍦ㄥ洯浜烘暟
+            pcWorkPlatformDataVO.setTodayInParkUserNum(
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count()
+            );
+            pcWorkPlatformDataVO.setTodayInUserNum(0L);
+            pcWorkPlatformDataVO.setTodayOutUserNum(0L);
+
+            //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
+            pcWorkPlatformDataVO.setInParkLwUserNum(
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
+            );
+            pcWorkPlatformDataVO.setLwUserInNum(0L);
+            pcWorkPlatformDataVO.setLwUserOutNum(0L);
+
+            //鍦ㄥ洯璁垮鏁伴噺
+            pcWorkPlatformDataVO.setInParkVisitUserNum(
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count()
+            );
+            pcWorkPlatformDataVO.setVisitUserNum(0L);
+            pcWorkPlatformDataVO.setSignLevelNum(0L);
+            //鍦ㄥ洯杞﹁締
+            pcWorkPlatformDataVO.setTodayInParkCarNum(
+                    retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
+            );
+            pcWorkPlatformDataVO.setTodayInCarNum(0L);
+            pcWorkPlatformDataVO.setTodayOutCarNum(0L);
+
+
+        }else if(Constants.equalsInteger(queryType,Constants.TWO)){
+
+        }else if(Constants.equalsInteger(queryType,Constants.THREE)) {
+            MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
+            queryWrapper.selectAll(Notices.class);
+            if (Objects.isNull(loginUserInfo.getMemberId())) {
+                queryWrapper.eq("1", "2");
+            } else {
+                queryWrapper.eq(Notices::getStatus, Constants.ZERO);
+                queryWrapper.eq(Notices::getSendacopy, Constants.ZERO);
+                queryWrapper.eq(Notices::getParam2, Constants.ZERO);
+                queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId());
+            }
+            queryWrapper.orderByDesc(Notices::getCreateDate);
+            List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
+            pcWorkPlatformDataVO.setNoticesList(noticesList);
+            pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
+        }else{
+            String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
+            MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+            queryWrapper.selectAll(Visits.class);
+            queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+            queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) AS timeOut");
+            queryWrapper.selectAs(Member::getType,Visits::getMemberType);
+            queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+            queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+            queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+            queryWrapper.leftJoin(" member m on m.id= t.MEMBER_ID");
+            queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.signin);
+            queryWrapper.apply(" TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+"  ");
+            queryWrapper.ne("m.type ",Constants.TWO);
+            queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
+            queryWrapper.orderByDesc(Visits::getEditDate);
+            List<Visits> result = visitsJoinMapper.selectList(queryWrapper);
+            if(result!=null&&result!=null){
+                result.stream().forEach(s ->{
+                    if(s.getStatus().equals(Constants.VisitStatus.signin)){
+                        if(s.getTimeOut()<=Integer.valueOf(code)&&s.getTimeOut()>=0){
+                            s.setOutStatus(Constants.TWO);
+                        }else if(s.getTimeOut()>Constants.ZERO){
+                            s.setOutStatus(Constants.ZERO);
+                        }else{
+                            s.setOutStatus(Constants.ONE);
+                        }
+                    }
+                });
+            }
+            pcWorkPlatformDataVO.setTimeOutVisitList(result);
+            pcWorkPlatformDataVO.setTimeOutVisitNum(result.size());
+        }
+
+
+
+
+        return pcWorkPlatformDataVO;
+    }
 }

--
Gitblit v1.9.3