From 481f30f83f86721d913616f221f7bb74f684b6a0 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 27 二月 2024 17:34:29 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index b058b1d..3f7130e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -665,9 +665,8 @@
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
         queryWrapper.selectAll(Member.class)
                 .selectAs(Company::getName,MemberInfoDTO::getCompanyName)
-                .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status = 2  ) as visitsCount")
-                .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0  and v.status = 2  order by CREATE_DATE limit 1) as visitsLastDate");
-
+                .selectAs(Member::getLastVisitDate,MemberInfoDTO::getVisitsLastDate)
+                .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status  in (7,8) ) as visitsCount");
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName())
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone())
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ms->ms.like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName())
@@ -701,8 +700,8 @@
                 .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE desc  limit 1) as visitsLastDate");
 
                 queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCreaterId()),Member::getEditor,pageWrap.getModel().getCreaterId());
-        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType());
-        queryWrapper
+                queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType());
+                queryWrapper
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Member::getPhone,pageWrap.getModel().getName())
                         .or().like(Member::getName,pageWrap.getModel().getName()))
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
@@ -710,7 +709,7 @@
                         .or().like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName()))
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo())
                 .eq(Member::getStatus,Constants.Status.FREEZE.getValue())
-                .eq(pageWrap.getModel().getCompanyId()!=null,Company::getId,pageWrap.getModel().getCompanyId())
+                .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyId()),Company::getId,pageWrap.getModel().getCompanyId())
                 .eq(Objects.nonNull(pageWrap.getModel().getCode()),Member::getCode,pageWrap.getModel().getCode())
                 .orderByDesc(Member::getCreateDate);
 
@@ -997,8 +996,13 @@
             stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.lw_visitor)).count());
             stagingHeadVO.setVisitorCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.visitor)).count());
         }
-        //TODO
-
+        //鍦ㄥ満杞﹁締
+        stagingHeadVO.setPresenceCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)));
+        //闀挎湡杞﹁締
+        stagingHeadVO.setLongCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)
+                .exists(" select 1 from park_book p where p.origin = 0 and p.car_code = retention.car_no and p.ISDELETED = 0  ")
+        ));
+        stagingHeadVO.setVisitorCarCount(stagingHeadVO.getPresenceCarCount() - stagingHeadVO.getLongCarCount());
         stagingHeadVO.setSupplierCount(companyMapper.selectCount(new QueryWrapper<Company>().lambda().eq(Company::getIsdeleted,Constants.ZERO)));
         return stagingHeadVO;
     }

--
Gitblit v1.9.3