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/dao/web/response/VisitDetailVO.java                                 |    4 ++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java                     |   12 +++++++-----
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java |    3 ++-
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                                   |    5 +++++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java                        |   13 +++++--------
 server/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java                                |    2 +-
 6 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/UserActionController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
similarity index 98%
rename from server/dmvisit_admin/src/main/java/com/doumee/api/UserActionController.java
rename to server/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
index f063a5a..c9d5f6c 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/UserActionController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
@@ -1,4 +1,4 @@
-package com.doumee.api;
+package com.doumee.api.business;
 
 import com.doumee.api.BaseController;
 import com.doumee.core.annotation.excel.ExcelExporter;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index de4b3f9..43185bf 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -124,6 +124,11 @@
     @TableField(exist = false)
     public String companyName;
 
+    @ApiModelProperty(value = "璁垮缁勭粐鍚嶇О")
+    @ExcelColumn(name="璁垮缁勭粐鍚嶇О")
+    @TableField(exist = false)
+    public String visitCompanyName;
+
 
     // 鏉′欢鏌ヨ鍙傛暟
     @ApiModelProperty(value = "濮撳悕/鎵嬫満鍙�")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
index c793d94..9a2bebb 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.web.response;
 
+import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.dao.business.model.Visits;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -61,6 +62,9 @@
     @ApiModelProperty(value = "琚浜洪儴闂�")
     private String visitUserCompany;
 
+    @ApiModelProperty(value = "璁垮浜岀淮鐮�")
+    private String qrcode;
+
 
 
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
index 9189ccb..0f2e09a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -252,17 +252,19 @@
         IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId);
+        queryWrapper.leftJoin(Company.class,Company::getId,Retention::getCompanyId);
         queryWrapper.selectAll(Retention.class)
-                .selectAs(Company::getName,Retention::getCompanyName);
+                .selectAs(Company::getName,Retention::getCompanyName)
+                .select(" ( SELECT v.company_name FROM visits v WHERE v.member_id = t.member_id and v.status = "+Constants.VisitStatus.signin+" ORDER BY create_date DESC limit 1 ) as visitCompanyName ");
         queryWrapper.like(number,Retention::getPhone,pageWrap.getModel().getKeyWords())
                 .like((b||hasWord),Retention::getName,pageWrap.getModel().getKeyWords())
                 .eq(Objects.nonNull(pageWrap.getModel().getType()),
                         Retention::getType,
                         pageWrap.getModel().getType())
-                .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
-                        Company::getName,
-                        pageWrap.getModel().getCompanyName())
+                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
+                        p-> p.like(Company::getName, pageWrap.getModel().getCompanyName())
+                                .or()
+                                .exists(" select 1 from visits v where  v.member_id = t.member_id and v.company_name like '%"+pageWrap.getModel().getCompanyName()+"%' and v.status = "+Constants.VisitStatus.signin+""))
                 .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                         Retention::getEventDate,pageWrap.getModel().getStartTime())
                 .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
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 a2a4137..a616c57 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
@@ -686,7 +686,7 @@
     }
 
     private Member getMemberListParam(String cardno, Visits visits, List<Member> addList, List<Member> editList) {
-        if(!StringUtils.isNotBlank(visits.getCarNos())
+        if(StringUtils.isNotBlank(visits.getCarNos())
                 &&Objects.isNull(Constants.getVehiclePlateNo(visits.getCarNos()))
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝杞︾墝鍙枫��"+visits.getCarNos()+"銆戜笉鍚堟硶锛岃鏍稿疄鍚庨噸璇晘");
@@ -751,14 +751,10 @@
             member.setErpStatus(Constants.ZERO);
             member.setVisitCompanyName(visits.getCompanyName());
             memberMapper.updateById(member);
-            // 鏇存柊璁垮淇℃伅,
-//            editList.add(member);
         }
         //鏍规嵁鎵嬫満鍙峰拰韬唤璇佸彿鐮佹煡璇� 褰撳墠棰勭害鐨勬椂闂存槸鍚︿笌鍏朵粬棰勭害璁板綍鏈夊啿绐�
         if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda()
-                        .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail)
-//                .and(ms -> ms.eq(Visits::getPhone, visits.getPhone())
-//                        .or().eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno)))
+                        .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail,Constants.VisitStatus.signout,Constants.VisitStatus.invalid)
                 .eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno))
                 .and(ms -> ms.apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' ")
                         .or().apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss") + "' ")
@@ -1028,7 +1024,7 @@
         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.leftJoin(" member m on m.id= t.MEMBER_ID");
 
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLevelStatus()),Visits::getStatus,Constants.VisitStatus.signin);
 
@@ -1080,6 +1076,7 @@
         visitDetailVO.setPhone(visits.getPhone());
         visitDetailVO.setVisitUserName(member.getName());
         visitDetailVO.setVisitReason(visits.getReason());
+        visitDetailVO.setQrcode(visits.getQrcode());
         visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") );
         //琚浜哄憳閮ㄩ棬
         Company company = companyMapper.selectById(member.getCompanyId());
@@ -1106,7 +1103,7 @@
         }
         visitDetailVO.setWithVisitsList(
                 visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
-                .select(Visits::getName,Visits::getPhone,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
+                .select(Visits::getName,Visits::getPhone,Visits::getQrcode,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode,Visits::getStatus)
                 .eq(Visits::getParentId,id)));
         return visitDetailVO;
     }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
index fed9403..9f7a936 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -267,6 +267,7 @@
                     .isNotNull(Member::getFaceImg)
                     .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                     .eq(Member::getHkStatus,Constants.ZERO)
+                    .eq(Member::getType,Constants.memberType.internal)
                     .orderByAsc(Member::getErpDate));
             if(list ==null || list.size()==0){
                 return;
@@ -314,7 +315,7 @@
         return  null;
     }
     @Transactional
-    private boolean dealMemberInfoBiz(Member c, Date date, String path) {
+    public boolean dealMemberInfoBiz(Member c, Date date, String path) {
         if( c.getCompanyId() == null){
             //濡傛灉娌℃湁缁勭粐涓嶅仛澶勭悊
             return  false;

--
Gitblit v1.9.3