From ad6dfb8323ab40ca8fe4fed94722c755d89c3203 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 28 二月 2024 15:14:47 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java |  325 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 284 insertions(+), 41 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index b9aa525..63d2d81 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -3,35 +3,34 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest;
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DESUtil;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.ImageBase64Util;
-import com.doumee.dao.business.CompanyMapper;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.business.DeviceRoleMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.VisitsMapper;
+import com.doumee.dao.business.RetentionMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
-import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.DeviceRole;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Retention;
 import com.doumee.dao.business.model.Visits;
-import com.doumee.service.business.ERPSyncService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * 娴峰悍璁垮涓氬姟Service瀹炵幇
@@ -44,19 +43,164 @@
     @Autowired
     private VisitsJoinMapper visitsMapper;
     @Autowired
+    private RetentionMapper retentionMapper;
+    @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private DeviceRoleMapper deviceRoleMapper;
-
+    @Autowired
+    private WxPlatNotice wxPlatNotice;
     /**
-     * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
+     * 鍚屾娴峰悍璁垮淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
      */
+    @Override
+    public void getOutTimeVisitRecord(){
+        if(Constants.DEALING_HK_VISIT_EXPIRE){
+            return   ;
+        }
+        Constants.DEALING_HK_VISIT_EXPIRE =true;
+        try {
+            //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+            List<Visits> list = getExpireVisitList();
+            //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+            if(list ==null || list.size()==0){
+                return;
+            }
+            Date date = new Date();
+            for(Visits c : list) {
+                //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈�
+                AppointmentInfoResponse model =  getVisitRecord(c.getHkId());
+                if(model == null){
+                    Visits update = new Visits();
+                    //宸插け鏁�
+                    update.setStatus(Constants.VisitStatus.invalid);
+                    update.setEditDate(date);
+                    update.setId(c.getId());
+                    update.setRemark("棰勭害宸茶娓呴櫎");
+                    visitsMapper.updateById(update);
+                    continue;
+                }
+                /**
+                 *      * 0锛氬緟瀹℃牳锛堥绾﹀緟瀹℃壒锛夈��
+                 *      * 1锛氭甯革紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂存湭瓒呰繃棰勮鏉ヨ鏃堕棿锛夈��
+                 *      * 2锛氳繜鍒帮紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂磋秴杩囬璁℃潵璁挎椂闂达紝浣嗘湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 3锛氬け鏁堬紙棰勭害鎴愬姛鎴栭绾﹀鎵规垚鍔熷悗<鏈櫥璁�>锛氬綋鍓嶆椂闂村凡瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 4锛氬鏍搁��鍥烇紙棰勭害寰呭鎵癸紝瀹℃壒浜哄憳瀹℃壒閫�鍥烇級銆�
+                 *      * 5锛氳秴鏈熻嚜鍔ㄧ绂伙紙瓒呮湡鏈绂昏褰曡瀹紝鐢卞悗鍙颁换鍔″畾鏃跺鐞嗙绂伙級銆�
+                 *      * 6锛氬凡绛剧锛堣瀹㈢绂伙級銆�
+                 *      * 7锛氳秴鏈熸湭绛剧锛堣瀹㈢櫥璁帮紝褰撳墠鏃堕棿宸茶秴杩囬璁$寮�鏃堕棿锛岃繕鏈繘琛岀绂伙級銆�
+                 *      * 8锛氬凡鍒拌揪锛涳紙璁垮鐧昏锛屽綋鍓嶆椂闂存湭瓒呰繃棰勮绂诲紑鏃堕棿锛夈��
+                 *      * 9锛氬鏍稿け鏁堬紙棰勭害寰呭鎵癸紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃繕鏈鎵归�氳繃锛夈��
+                 *      * 10锛氶個绾︿腑锛堝憳宸ュ彂璧烽個绾︼紝璁垮杩樻湭搴旈個锛夈��
+                 *      * 11锛氶個绾﹀け鏁堬紙鍛樺伐鍙戣捣閭�绾︼紝涓�鐩村埌褰撳墠鏃堕棿瓒呰繃棰勮绂诲紑鏃堕棿锛岃瀹㈣繕鏈簲閭�锛�
+                 */
+                if (model.getVisitorStatus()!=null && "3,4,11".contains( model.getVisitorStatus()+"" )){
+                    //瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡澶辨晥銆戝鐞�
+                    Visits update = new Visits();
+                    //宸插け鏁�
+                    update.setStatus(Constants.VisitStatus.invalid);
+                    update.setEditDate(date);
+                    update.setId(c.getId());
+                    update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                    update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                    update.setRemark("瓒呮椂鏈櫥璁�");
+                    visitsMapper.updateById(update);
+                }
+                if (model.getVisitorStatus()!=null && "5,6".contains( model.getVisitorStatus()+"" )){
+                    // 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞�
+                    if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){
+                        Visits update = new Visits();
+                        //宸插け鏁�
+                        update.setStatus(Constants.VisitStatus.invalid);
+                        update.setEditDate(date);
+                        update.setId(c.getId());
+                        update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                        update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                        update.setRemark("宸茬绂�");
+                        visitsMapper.updateById(update);
+
+                        //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級
+                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+                                .eq(Retention::getType,Constants.memberType.visitor)
+                                .eq(Retention::getMemberId,c.getMemberId()));
+                    }
+                }
+                if (model.getVisitorStatus()!=null&& "7,8".contains( model.getVisitorStatus()+"")){
+                    //濡傛灉宸茬櫥璁�
+                    if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signin)){
+                        Visits update = new Visits();
+                        //宸插け鏁�
+                        update.setStatus(Constants.VisitStatus.signin);
+                        update.setEditDate(date);
+                        update.setId(c.getId());
+                        update.setInDate(DateUtil.getISO8601DateByStr2(model.getVisitStartTime()));
+                        update.setOutDate(DateUtil.getISO8601DateByStr2(model.getVisitEndTime()));
+                        update.setRemark("瓒呮椂鏈鍒�");
+                        visitsMapper.updateById(update);
+                        //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級
+                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+                                .eq(Retention::getType,Constants.memberType.visitor)
+                                .eq(Retention::getMemberId,c.getMemberId()));
+                        //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
+                        retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate()));
+                    }
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            Constants.DEALING_HK_VISIT_EXPIRE =false;
+        }
+    }
+
+    private Retention getRetentionModelByVisitRequest(Visits visits,Date date) {
+        Retention retention = new Retention();
+        retention.setIsdeleted(Constants.ZERO);
+        retention.setCreateDate(date);
+        retention.setClasses(visits.getClasses());
+        retention.setCode(visits.getCode());
+        retention.setIdcardNo(visits.getIdcardNo());
+        retention.setIdcardDecode(visits.getIdcardDecode());
+        retention.setName(visits.getName());
+        retention.setBirthday(visits.getBirthday());
+        retention.setType(visits.getMemberType());
+        retention.setCompanyId(visits.getCompanyId());
+        retention.setCompanyName(visits.getCompanyName());
+        retention.setEventDate(retention.getCreateDate());
+        retention.setFaceImg(visits.getFaceImg());
+        retention.setImgurl(visits.getImgurl());
+        retention.setPhone(visits.getPhone());
+        retention.setMemberId(visits.getMemberId());
+
+        return retention;
+    }
+
+    public AppointmentInfoResponse getVisitRecord(String orderId){
+        //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+        if(StringUtils.isBlank(orderId)){
+            return  null;
+        }
+        AppointmentListRequest param =  new AppointmentListRequest();
+        param.setPageNo(1);
+        param.setPageSize(1);
+        param.setOrderId(orderId);
+        BaseResponse<BaseListPageResponse<AppointmentInfoResponse>> response = HKService.appointmentRecords(param);
+        if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)  ){
+           return null;
+        }
+        if(response.getData() == null || response.getData().getList() == null|| response.getData().getList().size() ==0){
+           return  null;
+        }
+        return response.getData().getList().get(0);
+    }
     @Override
     public  void syncVisitData(){
         if(Constants.DEALING_HK_VISIT){
             return   ;
         }
         Constants.DEALING_HK_VISIT =true;
+        String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
         List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                 .eq(DeviceRole::getType, Constants.ONE));
         //鏍囪鏄惁璧板厤鐧昏棰勭害
@@ -64,9 +208,9 @@
         String applyLwType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_LW_REQUIRED).getCode();
         try {
             //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
-            List<Visits> alllist = getVisitList();
+            List<Visits> list = getVisitList();
             //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
-            List<Visits> list = getParentList(alllist);
+//            List<Visits> list = getParentList(alllist);
             if(list ==null || list.size()==0){
                 return;
             }
@@ -74,8 +218,13 @@
             for(Visits c : list) {
                 //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈�
                 String type = Constants.equalsInteger(c.getType(),Constants.ONE)?applyType:applyLwType;
-                getUpdateModelByResponse(c,date,type,roleList);
+                getUpdateModelByResponse(c,date,type,roleList,path);
                 visitsMapper.updateById(c);
+                if(Objects.isNull(c.getParentId())){
+                    wxPlatNotice.sendVisitAuditTemplateNotice(c,
+                            systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
+                            systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
+                }
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -115,71 +264,155 @@
      * 鏍规嵁棰勭害杩斿洖鎺ュ彛灏佽鐢宠璁板綍鏇存柊瀛楁
      * @param c
      * @param date
+     * @param date
      * @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁�
      */
-    private void getUpdateModelByResponse(  Visits c,Date date,String type,List<DeviceRole> roleList ) {
+    private void getUpdateModelByResponse(  Visits c,Date date,String type,List<DeviceRole> roleList,String path ) {
         String code = null;
         String id = null;
+        String qrcode = null;
         //鍙戣捣娴峰悍棰勭害鎺ュ彛
         if(StringUtils.equals(type,"0")){
             //锛堥渶瑕佺櫥璁帮級
-            BaseResponse<VisitAppointmentResponse> response =  HKService.visitAppiontment(getHkRequestPara(c,roleList));
+            VisitAppointmentRequest request =  getHkRequestPara(c,roleList,path);
+            if(request == null){
+                //娴峰悍涓嬪彂鎴愬姛
+                c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+                c.setRemark("涓嬪彂娴峰悍鍙傛暟涓嶆纭紒");
+                c.setHkStatus(Constants.ONE);
+                c.setHkDate(date);
+                return;
+            }
+            BaseResponse<VisitAppointmentResponse> response =  HKService.visitAppiontment(request);
+            code =response!=null ?response.getCode():null;
+            if((response!=null && response.getData()!=null
+                    && response.getData().getAppointmentInfoList() !=null
+                    && response.getData().getAppointmentInfoList().size()>0)){
+                id =response.getData().getAppointmentInfoList().get(0).getOrderId();
+                qrcode =response.getData().getAppointmentInfoList().get(0).getQRCode();
+            }
         }else{
             //鍏嶇櫥璁�
-            BaseResponse<VisitAppointmentMDJResponse> response = HKService.visitAppiontmentMDJ(getHkMDJRequestPara(c) );
+            VisitAppointmentMDJRequest request =getHkMDJRequestPara(c,roleList,path);
+            if(request == null){
+                //娴峰悍涓嬪彂鎴愬姛
+                c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+                c.setRemark("涓嬪彂娴峰悍鍏嶇櫥璁板弬鏁颁笉姝g‘锛�");
+                c.setHkStatus(Constants.ONE);
+                c.setHkDate(date);
+                return;
+            }
+            BaseResponse<VisitAppointmentMDJResponse> response = HKService.visitAppiontmentMDJ(request );
+            code =response!=null ?response.getCode():null;
+            if(response!=null && response.getData()!=null){
+                id = response.getData().getOrderId();
+                qrcode =response.getData().getQRCode();
+            }
         }
 
         if (code!= null && id!=null) {
             //娴峰悍涓嬪彂鎴愬姛
             c.setHkId( id);//棰勭害鏍囪瘑
+            c.setQrcode(qrcode);
+            c.setRemark("涓嬪彂娴峰悍鎴愬姛锛併��"+type+"銆�");
             c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛
         } else {
-            //娴峰悍涓嬪彂鎴愬姛
+            //娴峰悍涓嬪彂澶辫触
+            c.setRemark("涓嬪彂娴峰悍澶辫触锛併��"+type+"銆�");
             c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
         }
         c.setHkStatus(Constants.ONE);
         c.setHkDate(date);
     }
 
-    private VisitAppointmentMDJRequest getHkMDJRequestPara(Visits c) {
-        return  null;
-    }
-
-    private VisitAppointmentRequest getHkRequestPara(Visits c,List<DeviceRole> roleList ) {
-        VisitAppointmentRequest request = new VisitAppointmentRequest();
-        request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime()));
-        request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime()));
+    /**
+     * 鍏嶇櫥璁版帴鍙e弬鏁�
+     * @param c
+     * @return
+     */
+    private VisitAppointmentMDJRequest getHkMDJRequestPara(Visits c,List<DeviceRole> roleList,String path) {
+        VisitAppointmentMDJRequest request = new VisitAppointmentMDJRequest();
+        VisitAppointmentVistorRequest info =getRequestInfoByVisit(c,path);
+        if(info == null ){
+            //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫�
+            return  null;
+        }
+        request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime()));
+        request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime()));
         request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
         request.setVisitPurpose(c.getReason());
-        request.setVisitorPermissionSet(new VisitAppointmentPermissonRequest());
+        request.setVisitorInfo(info);
+        request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c));
+        return  request;
+    }
+
+    /**
+     * 璁垮鏉冮檺缁�
+     * @param roleList
+     * @param c
+     * @return
+     */
+    private VisitAppointmentPermissonRequest getVisitPermissonRequest(List<DeviceRole> roleList, Visits c) {
+        VisitAppointmentPermissonRequest p = new VisitAppointmentPermissonRequest();
         //鑾峰彇鏉冮檺缁勯泦鍚�
         String[] roles = getHkRoles(c.getDoors(),roleList);
         if(roles==null || roles.length ==0){
             //浣跨敤榛樿璁垮鏉冮檺缁�
-            request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ONE+"");
+            p.setDefaultPrivilegeGroupFlag(Constants.ONE+"");
         }else{
             //鎸囧畾鏈夋晥娴峰悍璁垮鏉冮檺缁勬暟鎹�
-            request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ZERO+"");
-            request.getVisitorPermissionSet().setPrivilegeGroupIds(roles);
+            p.setDefaultPrivilegeGroupFlag(Constants.ZERO+"");
+            p.setPrivilegeGroupIds(roles);
         }
+        return  p;
+    }
+
+    private VisitAppointmentRequest getHkRequestPara(Visits c,List<DeviceRole> roleList,String path ) {
+        VisitAppointmentRequest request = new VisitAppointmentRequest();
+        //鐢宠浜轰俊鎭�
+        VisitAppointmentVistorRequest info =getRequestInfoByVisit(c,path);
+        if(info == null ){
+            //浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫�
+            return  null;
+        }
+        request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime()));
+        request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime()));
+        request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
+        request.setVisitPurpose(c.getReason());
+        //鑾峰彇鏉冮檺缁勯泦鍚�
+        request.setVisitorPermissionSet(getVisitPermissonRequest(roleList,c));
         List<VisitAppointmentVistorRequest> infolist = new ArrayList<>();
-        //鐢宠浜�
-        infolist.add(getRequestInfoByVisit(c));
-        if(c.getVisitsList() != null){
-            //闅忚浜�
-            for(Visits v : c.getVisitsList()){
-                infolist.add(getRequestInfoByVisit(v));
-            }
-        }
+        infolist.add(info);
         request.setVisitorInfoList(infolist);
         return  request;
     }
 
-    private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c) {
+    private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c,String path) {
         VisitAppointmentVistorRequest info = new VisitAppointmentVistorRequest();
+        //浜鸿劯鏁版嵁
+        if(StringUtils.isBlank(c.getName())
+                ||StringUtils.isBlank(c.getPhone())
+                || StringUtils.isBlank(c.getFaceImg()) ){
+            return  null;
+        }
+        if(StringUtils.isNotBlank(c.getFaceImg())){
+            info.setVisitorPhoto(ImageBase64Util.Image2Base64(path+c.getFaceImg()));
+        }
+        if(info.getVisitorPhoto() == null){
+            return  null;
+        }
         info.setVisitorName(c.getName());
         info.setVisitorWorkUnit(c.getCompanyName());
         info.setPhoneNo(c.getPhone());
+        info.setPlateNo(c.getCarNos());
+        info.setGender(c.getSex()+"");
+        if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){
+            info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
+            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
+        } else if(Constants.equalsInteger(c.getIdcardType(),Constants.TWO)){
+            info.setCertificateType(HKConstants.CertificateType.HUZHAO.getKey()+"");
+            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD,  c.getIdcardNo()));
+        }
 
         return info;
     }
@@ -208,7 +441,7 @@
         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Visits.class);
         queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName)
-                .select("t1.hk_id as receptMemberHkId")
+                .selectAs(Member::getHkId,Visits::getReceptMemberHkId)
                 .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
         queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.pass)//瀹℃壒閫氳繃
                 .eq(Visits::getHkStatus,Constants.ZERO)//鏈悓姝ュ埌娴峰悍
@@ -216,5 +449,15 @@
         List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper);
         return list;
     }
+    private List<Visits> getExpireVisitList() {
+        MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(Visits.class)
+                .selectAs(Member::getType,Visits::getMemberType)
+                .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+        queryWrapper.in(Visits::getStatus, Arrays.asList(new Integer[]{Constants.VisitStatus.xfSuccess,Constants.VisitStatus.signin}) );
+        List<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper);
+        return list;
+    }
+
 
 }

--
Gitblit v1.9.3