From 0798091933fade5d2ee24891d7441b4e848a4d25 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 十二月 2024 17:15:39 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 15 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 98a540a..a4f79cd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -488,10 +488,12 @@
                 //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
 //                retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
                 //鏉ヨ鏃堕棿
-                inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1);
-                updateVistis.setStatus(Constants.VisitStatus.signin);
-                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
-                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){
+                    inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1);
+                    updateVistis.setStatus(Constants.VisitStatus.signin);
+                    updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
+                    updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                }
                 //鏇存柊鏈�鏂版潵璁挎椂闂�
                 Member member = new Member();
                 member.setLastVisitDate(updateVistis.getInDate());
@@ -499,12 +501,14 @@
                 memberMapper.updateById(member);
             }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey())  {
                 //濡傛灉鏄瀹㈢绂讳簨浠�
-                inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
-                updateVistis.setStatus(Constants.VisitStatus.signout);
-                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
-                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
-                updateVistis.setOutType(Constants.ZERO);
-                updateVistis.setOutInfo("璁垮姝e父绛剧");
+                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.signin)){
+                    inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
+                    updateVistis.setStatus(Constants.VisitStatus.signout);
+                    updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
+                    updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                    updateVistis.setOutType(Constants.ZERO);
+                    updateVistis.setOutInfo("璁垮姝e父绛剧");
+                }
             }else{
                 //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垏鏄瀹㈤�氳锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
                 delRetentionLis.add(visits.getMemberId());
@@ -834,6 +838,44 @@
             event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
         }
         if(StringUtils.isNotBlank(event.getPlateNos())){
+            Cars carModel = carsMapper.selectJoinOne(Cars.class,new MPJLambdaWrapper<Cars>()
+                            .selectAll(Cars.class )
+                            .selectAs(Company::getType,Cars::getCompanyType)
+                            .leftJoin(Company.class,Company::getId,Cars::getGroupId)
+                            .eq(Cars::getCode,event.getPlateNos())
+                            .eq(Cars::getIsdeleted,Constants.ZERO)
+                            .last(" limit 1"));
+            if(carModel!=null){
+                //0瀹夋嘲鍏姟杞� 1瀹夋嘲鑷湁鐗╂祦杞� 2鍏跺畠
+                event.setMemberId(carModel.getMemberId());
+                event.setCompanyId(carModel.getGroupId());
+                if(Constants.equalsInteger(carModel.getType(),Constants.ONE)){
+                    event.setCarType(Constants.RetentionCarType.selfTruck);
+                }else {
+                    if(Constants.equalsInteger(carModel.getCompanyType(),Constants.ONE)){
+                        event.setCarType(Constants.RetentionCarType.internal);//鍐呴儴杞﹁締
+                    }else{
+                        event.setCarType(Constants.RetentionCarType.relation);//鐩稿叧鏂硅溅杈�
+                    }
+                }
+            }
+            PlatformJob carTypeJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+                            .eq(PlatformJob::getCarCodeFront,event.getPlateNos())
+                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                            .orderByAsc(PlatformJob::getCreateDate)
+                            .last(" limit 1"));
+            if(carTypeJob!=null){
+                //浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣
+                if(Constants.equalsInteger(carTypeJob.getType(),Constants.FOUR)){
+                    event.setCarType(Constants.RetentionCarType.cityComTruck);//甯傚叕鍙歌溅杈�
+                }else if(Constants.equalsInteger(carTypeJob.getType(),Constants.TWO)
+                        || Constants.equalsInteger(carTypeJob.getType(),Constants.THREE)){
+                    event.setCarType(Constants.RetentionCarType.outTruck);//澶栧崗杞�
+                }else{
+                    event.setCarType(Constants.RetentionCarType.selfTruck);//鑷湁杞�
+                }
+            }
+
             ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
                     .eq(ParkBook::getCarCode,event.getPlateNos())
                             .eq(ParkBook::getIsdeleted,Constants.ZERO )
@@ -884,9 +926,6 @@
                         }
                     }
                 };
-
-
-
             }else{
                 Visits visits =  visitsMapper.selectOne(new QueryWrapper<Visits>().lambda()
                         .eq(Visits::getCarNos,event.getPlateNos())
@@ -898,12 +937,13 @@
                 if(visits!=null){
                     //鏈�杩戜娇鐢ㄨ杞︾殑鐢宠浜猴紙宸插埌杈撅級
                     event.setMemberId(visits.getMemberId());
+                    event.setCarType(Constants.RetentionCarType.visitor);
                 }
             }
             if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
                 //濡傛灉鏄叆鍘傛斁琛�
                 delRetentionList.add(event.getPlateNos());
-                retentionList.add(getRetentionModelByParkRequest(request));
+                retentionList.add(getRetentionModelByParkRequest(request,event));
                 inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1);
             }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
                 //濡傛灉鏄嚭鍦烘斁琛�
@@ -914,12 +954,15 @@
         return event;
     }
 
-    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
+    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event) {
         Retention retention = new Retention();
         retention.setIsdeleted(Constants.ZERO);
         retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
         retention.setCarNo(request.getData().getPlateNo());
         retention.setType(Constants.THREE);
+        retention.setMemberId(event.getMemberId());
+        retention.setCarType(event.getCarType());
+        retention.setCompanyId(event.getCompanyId());
 //        retention.setDeviceName(request.getSrcName());
 //        retention.setDeviceIndex(request.getSrcIndex());
         return retention;

--
Gitblit v1.9.3