From 9978dc5082c4399f8e7e26290846a7990a5c18a8 Mon Sep 17 00:00:00 2001
From: liuleilei <234@qq.com>
Date: 星期一, 18 十二月 2023 09:16:29 +0800
Subject: [PATCH] 员工列表

---
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java               |    4 ++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java          |    2 ++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |   29 +++++++++++++++++++++++++++++
 server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java             |    7 +++++++
 4 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
index 890a6af..355479e 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
@@ -87,4 +87,11 @@
     public ApiResponse findById(@PathVariable Integer id) {
         return ApiResponse.success(visitsService.findById(id));
     }
+
+    @ApiOperation("婊炵暀浜哄憳")
+    @PostMapping("/retentionPage")
+  //  @RequiresPermissions("business:visits:query")
+    public ApiResponse<PageData<Visits>> retentionPage (@RequestBody PageWrap<Visits> pageWrap) {
+        return ApiResponse.success(visitsService.retentionPage(pageWrap));
+    }
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index f9866dc..c9bfb19 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -248,4 +248,8 @@
     @TableField(exist = false)
     private List<Visits> visitsList;
 
+    @ApiModelProperty(value = "瓒呮椂鏃堕暱", example = "1")
+    @TableField(exist = false)
+    private Integer timeOut;
+
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 9ecbab1..17cd638 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -88,6 +88,8 @@
      */
     PageData<Visits> findPage(PageWrap<Visits> pageWrap);
 
+    PageData<Visits> retentionPage(PageWrap<Visits> pageWrap);
+
     /**
      * 鏉′欢缁熻
      *
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index af53c9d..9b3f781 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -525,4 +525,33 @@
         QueryWrapper<Visits> wrapper = new QueryWrapper<>(visits);
         return visitsMapper.selectCount(wrapper);
     }
+
+
+    @Override
+    public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+        IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+
+        queryWrapper.selectAll(Visits.class);
+        queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+        queryWrapper.select("TIMESTAMPDIFF(MINUTE,t.ENDTIME , NOW()) 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.eq(Visits::getIsdeleted,Constants.ZERO);
+        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName())
+                .or().like(Visits::getPhone,pageWrap.getModel().getName()))
+                .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()))
+                .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName())
+                .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
+        queryWrapper.isNull(Visits::getOutDate);
+        queryWrapper.orderByDesc(Visits::getEditDate);
+        IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+
+        return PageData.from(result);
+    }
+
 }

--
Gitblit v1.9.3