jiangping
2025-05-16 6336a7e0059dd009a820b7b952b16f8d80bd8951
最新版本541200007
已修改3个文件
58 ■■■■ 文件已修改
admin/src/views/business/retention.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/retention.vue
@@ -62,11 +62,20 @@
        </el-table-column>
        <el-table-column prop="type" label="人员类型" min-width="100px">
          <template slot-scope="{ row }">
            <span  v-if="row.type ==1">访客</span>
            <span  v-else-if="row.type ==2">内部人员</span>
            <span  v-else-if="row.type ==4">相关方人员</span>
            <span  v-else-if="row.type ==5">货运司机</span>
            <span  v-else ></span>
          </template>
        </el-table-column>
<!--        <el-table-column prop="type" label="人员类型" min-width="100px">
          <template slot-scope="{ row }">
            <span v-if="row.companyType == 0">相关方组织</span>
            <span v-else-if="row.companyType == 1">内部员工</span>
            <span v-else>访客</span>
          </template>
        </el-table-column>
        </el-table-column>-->
        <el-table-column label="进场门禁" min-width="100px">
          <template slot-scope="{ row }">
            <!-- <span v-if="row.type === 1">-</span> -->
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -871,7 +871,7 @@
            List<CarEvent> list = new ArrayList<>();
            List<Retention> retentionList = new ArrayList<>();
            List<String> delRetentionList = new ArrayList<>();
            List<Integer> delMemberRetentionList = new ArrayList<>();
            List<Retention> delMemberRetentionList = new ArrayList<>();
            InoutDayCount inoutDayCount = new InoutDayCount();
            List<InoutRecord> inoutRecordList = new ArrayList<>();
            for(EventParkInfoRequest request : events){
@@ -886,18 +886,34 @@
                carEventMapper.insert(list);
            }
            if(delRetentionList.size()>0){
                //先删除原有的在场人员(内部人员)
                //先删除原有的在场车辆人员(内部人员)
                retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                        .eq(Retention::getType,Constants.THREE)
                        .in(Retention::getCarNo,delRetentionList));
            }
            if(delMemberRetentionList.size()>0){
                //先删除原有的在场人员(内部人员、相关方和访客)
                List<Integer> memberList = new ArrayList<>();
                for(Retention m :delMemberRetentionList){
                    if(m.getMemberId()!=null){
                        //跟随车辆入场的member存在的数据立场
                retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                        .in(Retention::getType,Constants.RetentionMemberType.internalMember
                                ,Constants.RetentionMemberType.relMember
                                ,Constants.RetentionMemberType.fk)
                        .in(Retention::getMemberId,delMemberRetentionList));
                                        ,Constants.RetentionMemberType.fk
                                        ,Constants.RetentionMemberType.driver)
                                .eq(Retention::getMemberId,m.getMemberId()));
                    }else  if(m.getCarNo()!=null){
                        //跟随车辆入场的用户信息
                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                                .in(Retention::getType,Constants.RetentionMemberType.internalMember
                                        ,Constants.RetentionMemberType.relMember
                                        ,Constants.RetentionMemberType.fk
                                        ,Constants.RetentionMemberType.driver)
                                .eq(Retention::getCarNo,m.getCarNo()));
                    }
                }
            }
            if(retentionList.size()>0){
                //再插入最新的在厂人员
@@ -925,7 +941,7 @@
    private CarEvent getParkEventModelByRequest(EventParkInfoRequest request
            , List<String> delRetentionList
            , List<Retention> retentionList
            , List<Integer> delMemberRetentionList
            , List<Retention> delMemberRetentionList
            , InoutDayCount inoutDayCount
            , List<InoutRecord> inoutRecordList) {
        CarEvent event =initCarEventModelByRequest(request);
@@ -1068,14 +1084,20 @@
            if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
                //如果是入厂放行
                delRetentionList.add(event.getPlateNos());
                delMemberRetentionList.add(event.getMemberId());
                Retention dm = new Retention();
                dm.setMemberId(event.getMemberId());
                dm.setCarNo(event.getPlateNos());
                delMemberRetentionList.add(dm);
                retentionList.add(getRetentionModelByParkRequest(request,event,carrecord));//在厂车辆信息
                inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1);
                carrecord.setInOrOut(Constants.ZERO);
            }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
                //如果是出场放行
                delRetentionList.add(event.getPlateNos());
                delMemberRetentionList.add(event.getMemberId());
                Retention dm = new Retention();
                dm.setMemberId(event.getMemberId());
                dm.setCarNo(event.getPlateNos());
                delMemberRetentionList.add(dm);
                inoutDayCount.setOutCarNum(Constants.formatIntegerNum(inoutDayCount.getOutCarNum())+1);
                carrecord.setInOrOut(Constants.ONE);
            }
@@ -1373,7 +1395,8 @@
        retention.setMemberId(inoutRecord.getMemberId());
        retention.setDeviceName(request.getSrcName());
        retention.setDeviceIndex(request.getSrcIndex());
        retention.setRemark("跟随车辆入园区");
        retention.setCarNo(inoutRecord.getCarCode());
        retention.setRemark("跟随车辆【"+inoutRecord.getCarCode()+"】入园区");
        return retention;
    }
    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event ,InoutRecord carrecord ) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -119,7 +119,7 @@
                        //先删除原有的在场人员(普通访客)
                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                                .eq(Retention::getType,Constants.memberType.visitor)
                                .eq(Retention::getType,Constants.RetentionMemberType.fk)
                                .eq(Retention::getMemberId,c.getMemberId()));
                    }
                }
@@ -137,7 +137,7 @@
                        visitsMapper.updateById(update);
                        //先删除原有的在场人员(普通访客)
                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                                .eq(Retention::getType,Constants.memberType.visitor)
                                .eq(Retention::getType,Constants.RetentionMemberType.fk)
                                .eq(Retention::getMemberId,c.getMemberId()));
                        //再插入最新的在厂人员
                        retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate()));
@@ -206,7 +206,7 @@
                        //先删除原有的在场人员(普通访客)
                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                                .eq(Retention::getType,Constants.memberType.visitor)
                                .eq(Retention::getType,Constants.RetentionMemberType.fk)
                                .eq(Retention::getMemberId,c.getMemberId()));
                    }
                }
@@ -224,7 +224,7 @@
                        visitsMapper.updateById(update);
                        //先删除原有的在场人员(普通访客)
                        retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                                .eq(Retention::getType,Constants.memberType.visitor)
                                .eq(Retention::getType,Constants.RetentionMemberType.fk)
                                .eq(Retention::getMemberId,c.getMemberId()));
                        //再插入最新的在厂人员
                        retentionMapper.insert(getRetentionModelByVisitRequest(c,update.getInDate()));