admin/src/views/business/visitEvent.vue
@@ -50,22 +50,23 @@ stripe > <el-table-column prop="personName" label="姓名" min-width="100px"></el-table-column> <el-table-column prop="personPhone" label="手机号码" min-width="100px"></el-table-column> <el-table-column prop="phone" label="手机号码" min-width="100px"></el-table-column> <el-table-column prop="idNo" label="身份证号码" min-width="100px"></el-table-column> <el-table-column prop="personCompanyName" label="公司" min-width="100px"></el-table-column> <el-table-column prop="visitorWorkUint" label="公司" min-width="100px"></el-table-column> <el-table-column prop="carNo" label="车牌号" min-width="100px"></el-table-column> <el-table-column prop="beVisitedPersonName" label="被访人" min-width="100px"></el-table-column> <el-table-column prop="beVisitedPersonOrg" label="被访人组织" min-width="100px"></el-table-column> <el-table-column prop="eventTypeName" label="事件类型" min-width="100px"></el-table-column> <el-table-column label="抓拍图uri" min-width="100px"> <template slot-scope="{row}"> <el-image <el-image v-if="row.captureUrlFull!=null" style="width: 80px; height: 80px" :src="row.captureUrl" :preview-src-list="[row.captureUrl]"> :src="row.captureUrlFull" :preview-src-list="[row.captureUrlFull]"> </el-image> </template> </el-table-column> <el-table-column prop="happenTime" label="事件时间" min-width="100px"></el-table-column> <el-table-column prop="createDate" label="事件时间" min-width="100px"></el-table-column> </el-table> <pagination @size-change="handleSizeChange" admin/src/views/business/visits.vue
@@ -13,13 +13,15 @@ </el-form-item> <el-form-item label="审批状态" prop="status"> <el-select v-model="searchForm.status" placeholder="请选择"> <el-option label="待审核" value="0"></el-option> <el-option label="已提交ERP审批" value="1"></el-option> <el-option label="待提交审批" value="0"></el-option> <el-option label="审批中" value="1"></el-option> <el-option label="审核通过" value="2"></el-option> <el-option label="审核不通过" value="3"></el-option> <el-option label="取消" value="4"></el-option> <el-option label="下发成功" value="5"></el-option> <el-option label="下发失败" value="6"></el-option> <el-option label="预约成功" value="5"></el-option> <el-option label="预约失败" value="6"></el-option> <el-option label="拜访中" value="7"></el-option> <el-option label="已签离" value="8"></el-option> </el-select> </el-form-item> <section> @@ -65,13 +67,15 @@ </el-table-column> <el-table-column prop="status" fixed="right" label="状态" min-width="100px"> <template slot-scope="{row}"> <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">待审核</span> <span v-if="row.status === 1">已提交ERP审批</span> <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">待提交审批</span> <span v-if="row.status === 1">审批中</span> <span v-if="row.status === 2">审核通过</span> <span style="color: red;" v-if="row.status === 3">审核不通过</span> <span v-if="row.status === 4">取消</span> <span v-if="row.status === 5">下发成功</span> <span v-if="row.status === 6">下发失败</span> <span v-if="row.status === 5">预约成功</span> <span v-if="row.status === 6">预约失败</span> <span v-if="row.status === 7">拜访中</span> <span v-if="row.status === 8">已签离</span> </template> </el-table-column> <el-table-column server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
@@ -72,7 +72,7 @@ @ApiOperation("分页查询") @PostMapping("/page") //@RequiresPermissions("business:visitevent:query") public ApiResponse<PageData<VisitEventDTO>> findPage (@RequestBody PageWrap<VisitEvent> pageWrap) { public ApiResponse<PageData<VisitEvent>> findPage (@RequestBody PageWrap<VisitEvent> pageWrap) { return ApiResponse.success(visitEventService.findVisitPage(pageWrap)); } @@ -80,7 +80,7 @@ @PostMapping("/exportExcel") //@RequiresPermissions("business:visitevent:exportExcel") public void exportExcel (@RequestBody PageWrap<VisitEvent> pageWrap, HttpServletResponse response) { ExcelExporter.build(VisitEventVo.class).export(visitEventService.findPageExcel(pageWrap), "访客事件推送记录表", response); ExcelExporter.build(VisitEvent.class).export(visitEventService.findPageExcel(pageWrap), "访客事件推送记录表", response); } @ApiOperation("根据ID查询") server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
@@ -86,7 +86,7 @@ HKService.eventSub(param);//停车场事件 param.setEventDest(path+"/visit"); param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_OUT.getKey() param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_IN.getKey() ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()}); HKService.cancelEventSub(param);//先取消 HKService.eventSub(param);//访客事件 @@ -107,6 +107,7 @@ ,HKConstants.EventTypes.PARK_LINE_OUT.getKey() ,HKConstants.EventTypes.PARK_PASS_IN.getKey() ,HKConstants.EventTypes.PARK_PASS_OUT.getKey() ,HKConstants.EventTypes.VISIT_SIGN_IN.getKey() ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey(), HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()}); String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode(); server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -25,7 +25,7 @@ * @date 2021-10-10 14:40:35 * https://www.bejson.com/othertools/cron/ cron 表达式生成地址 */ //@Component @Component @EnableScheduling public class ScheduleTool { server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
@@ -68,7 +68,7 @@ @ApiModelProperty(value = "手机号") private String personPhone; private String phone; @ApiModelProperty(value = "人员类型") private String personType; server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -23,73 +23,73 @@ @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") @ExcelColumn(name="主键") // @ExcelColumn(name="主键") private Integer id; @ApiModelProperty(value = "创建人编码", example = "1") @ExcelColumn(name="创建人编码") // @ExcelColumn(name="创建人编码") private Integer creator; @ApiModelProperty(value = "创建时间") @ExcelColumn(name="创建时间") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="创建时间" ) // @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "更新人编码", example = "1") @ExcelColumn(name="更新人编码") // @ExcelColumn(name="更新人编码") private Integer editor; @ApiModelProperty(value = "更新时间") @ExcelColumn(name="更新时间") @JsonFormat(pattern = "yyyy-MM-dd") // @ExcelColumn(name="更新时间") // @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "是否删除0否 1是", example = "1") @ExcelColumn(name="是否删除0否 1是") // @ExcelColumn(name="是否删除0否 1是") private Integer isdeleted; @ApiModelProperty(value = "备注") @ExcelColumn(name="备注") // @ExcelColumn(name="备注") private String remark; @ApiModelProperty(value = "事件唯一标识,同一事件若上报多次,则上报事件的eventId相同") @ExcelColumn(name="事件唯一标识,同一事件若上报多次,则上报事件的eventId相同") // @ExcelColumn(name="事件唯一标识") private String eventId; @ApiModelProperty(value = "事件源编号,物理设备是资源编号") @ExcelColumn(name="事件源编号,物理设备是资源编号") // @ExcelColumn(name="事件源编号,物理设备是资源编号") private String srcIndex; @ApiModelProperty(value = "事件源类型") @ExcelColumn(name="事件源类型") // @ExcelColumn(name="事件源类型") private String srcType; @ApiModelProperty(value = "事件源名称") @ExcelColumn(name="事件源名称") // @ExcelColumn(name="事件源名称") private String srcName; @ApiModelProperty(value = "事件类型(登记 签离)") @ExcelColumn(name="事件类型") // @ExcelColumn(name="事件类型") private Integer eventType; @ApiModelProperty(value = "事件状态,0-瞬时1-开始2-停止4-事件联动结果更新5-事件图片异步上传", example = "1") @ExcelColumn(name="事件状态,0-瞬时1-开始2-停止4-事件联动结果更新5-事件图片异步上传") // @ExcelColumn(name="事件状态,0-瞬时1-开始2-停止4-事件联动结果更新5-事件图片异步上传") private Integer status; @ApiModelProperty(value = "脉冲超时时间") @ExcelColumn(name="脉冲超时时间") // @ExcelColumn(name="脉冲超时时间") private Integer timeout; @ApiModelProperty(value = "事件发生时间(设备时间") @ExcelColumn(name="事件发生时间(设备时间") // @ExcelColumn(name="事件发生时间") private String happenTime; @ApiModelProperty(value = "事件发生的事件源父设备") @ExcelColumn(name="事件发生的事件源父设备") // @ExcelColumn(name="事件发生的事件源父设备") private String srcParentIndex; @ApiModelProperty(value = "访客Is,,对应访客来访记录中的orderId字段") @ExcelColumn(name="访客Is,,对应访客来访记录中的orderId字段") // @ExcelColumn(name="访客Is,,对应访客来访记录中的orderId字段") private String visitorId; @ApiModelProperty(value = "姓名") @@ -97,15 +97,15 @@ private String personName; @ApiModelProperty(value = "性别 1-男2-女", example = "1") @ExcelColumn(name="性别 1-男2-女") // @ExcelColumn(name="性别 1-男2-女") private Integer sex; @ApiModelProperty(value = "证件类型 111身份证") @ExcelColumn(name="证件类型 111身份证") // @ExcelColumn(name="证件类型 111身份证") private Integer idType; @ApiModelProperty(value = "证件号 ") @ExcelColumn(name="证件号 ") @ExcelColumn(name="证件号") private String idNo; @ApiModelProperty(value = "被访问人姓名") @@ -121,7 +121,7 @@ private String visitorWorkUint; @ApiModelProperty(value = "访客验证码") @ExcelColumn(name="访客验证码") // @ExcelColumn(name="访客验证码") private String visitorCode; @ApiModelProperty(value = "来访事由") @@ -129,7 +129,7 @@ private String purpose; @ApiModelProperty(value = "证件签发机关") @ExcelColumn(name="证件签发机关") // @ExcelColumn(name="证件签发机关") private String signOrg; @ApiModelProperty(value = "来访时间") @@ -148,27 +148,27 @@ private String carNo; @ApiModelProperty(value = "照片uri") @ExcelColumn(name="照片uri") // @ExcelColumn(name="照片uri") private String photoUrl; @ApiModelProperty(value = "抓拍图uri") @ExcelColumn(name="抓拍图uri") // @ExcelColumn(name="抓拍图uri") private String captureUrl; @ApiModelProperty(value = "图片存储服务器唯一标识") @ExcelColumn(name="图片存储服务器唯一标识") // @ExcelColumn(name="图片存储服务器唯一标识") private String svrIndexCode; @ApiModelProperty(value = "被访问人id") @ExcelColumn(name="被访问人id") // @ExcelColumn(name="被访问人id") private String beVisitedPersonId; @ApiModelProperty(value = "被访问人所属组织id") @ExcelColumn(name="被访问人所属组织id") // @ExcelColumn(name="被访问人所属组织id") private String beVisitedPersonOrgId; @ApiModelProperty(value = "被访问人所属组织id") @ExcelColumn(name="被访问人所属组织id") // @ExcelColumn(name="被访问人所属组织id") private String idcardDecode; // 条件查询参数 @@ -183,4 +183,14 @@ @ApiModelProperty(value = "统计数量 ") @TableField(exist = false) private int num ; @ApiModelProperty(value = "事件类型名称") @TableField(exist = false) @ExcelColumn(name="事件类型") private String eventTypeName; @ApiModelProperty(value = "抓拍图uri完整") @TableField(exist = false) // @ExcelColumn(name="抓拍图uri") private String captureUrlFull; } server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
@@ -106,7 +106,7 @@ * @param pageWrap 分页对象 * @return PageData<VisitEvent> */ PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap); PageData<VisitEvent> findVisitPage(PageWrap<VisitEvent> pageWrap); /** @@ -114,5 +114,5 @@ * @param pageWrap 分页对象 * @return PageData<VisitEventVo> */ List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap); List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap); } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -235,9 +235,9 @@ } @Override public PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap) { public PageData<VisitEvent> findVisitPage(PageWrap<VisitEvent> pageWrap) { IPage<VisitEventDTO> visitEventDTOIPage = getDataInfo(pageWrap); IPage<VisitEvent> visitEventDTOIPage = getDataInfo(pageWrap); if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) { visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords())); } @@ -245,27 +245,12 @@ } @Override public List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap) { IPage<VisitEventDTO> visitEventExcel = getDataInfo(pageWrap); List<VisitEventVo> voList = new ArrayList<>(); if(null != visitEventExcel && visitEventExcel.getRecords().size() > 0) { visitEventExcel.getRecords().stream().forEach(obj->{ VisitEventVo eventVo = new VisitEventVo(); eventVo.setPersonName(obj.getPersonName()); eventVo.setPersonPhone(obj.getPersonPhone()); eventVo.setIdNo(obj.getIdNo()); eventVo.setPersonCompanyName(obj.getPersonCompanyName()); eventVo.setCarNo(obj.getCarNo()); eventVo.setBeVisitedPersonName(obj.getBeVisitedPersonName()+"-"+obj.getBeVisitedPersonOrg()); eventVo.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())); eventVo.setHappenTime(obj.getHappenTime()); voList.add(eventVo); }); } return voList; public List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap) { IPage<VisitEvent> visitEventExcel = getDataInfo(pageWrap); return newVisitEvent(visitEventExcel.getRecords()); } private IPage<VisitEventDTO> getDataInfo(PageWrap<VisitEvent> pageWrap) { private IPage<VisitEvent> getDataInfo(PageWrap<VisitEvent> pageWrap) { //是否是数字 boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //是否包含中文 @@ -275,9 +260,7 @@ IPage<VisitEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<VisitEvent> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper .leftJoin(Visits.class,Visits::getHkId,VisitEvent::getVisitorId); queryWrapper.selectAll(VisitEvent.class) .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName); queryWrapper.selectAll(VisitEvent.class); queryWrapper.like(number, VisitEvent::getPhone, pageWrap.getModel().getKeyWords()) @@ -293,37 +276,36 @@ .eq(Objects.nonNull(pageWrap.getModel().getEventType()), VisitEvent::getEventType, pageWrap.getModel().getEventType()) .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), .ge(StringUtils.isNotBlank(pageWrap.getModel().getStartTime()), VisitEvent::getHappenTime, pageWrap.getModel().getStartTime()) .le(Objects.nonNull(pageWrap.getModel().getEndTime()), .le(StringUtils.isNotBlank(pageWrap.getModel().getEndTime()), VisitEvent::getHappenTime, pageWrap.getModel().getEndTime()); pageWrap.getModel().getEndTime()) .eq(VisitEvent::getIsdeleted,Constants.ZERO); queryWrapper.orderByDesc(VisitEvent::getHappenTime); IPage<VisitEventDTO> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEventDTO.class, queryWrapper); IPage<VisitEvent> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEvent.class, queryWrapper); return visitEventDTOIPage; } private List<VisitEventDTO> newVisitEvent(List<VisitEventDTO> VisitEventDTOList) { private List<VisitEvent> newVisitEvent(List<VisitEvent> VisitEventDTOList) { List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.MEMBER_IMG); List<SystemDictData> list = systemDictDataMapper.list(codes); Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity())); List<VisitEventDTO> newDataList = new ArrayList<>(); VisitEventDTOList.stream().forEach(obj->{ if(StringUtils.isNotBlank( obj.getCaptureUrl()) && !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX) && !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX_ERROR)) { if(null != list && list.size() > 0) { obj.setCaptureUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.MEMBER_IMG).getCode() obj.setCaptureUrlFull(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.VISIT_EVENT_IMG).getCode() +obj.getCaptureUrl()); } } obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())) ; newDataList.add(obj); obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())); ; }); return newDataList; return VisitEventDTOList; } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
@@ -141,9 +141,9 @@ model.setHkId(device.getPrivilegeGroupId()); model.setName(device.getPrivilegeGroupName()); model.setHkStatus(Constants.ONE); model.setIsdeleted(Constants.ZERO); model.setStatus(Constants.ONE); model.setIsDefault(device.getIsDefault()); model.setType(String.valueOf(Constants.ZERO)); model.setType(String.valueOf(Constants.ONE)); return model; } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -50,6 +50,8 @@ @Autowired private CarsMapper carsMapper; @Autowired private ParkBookMapper parkBookMapper; @Autowired private DeviceEventMapper deviceEventMapper; @Autowired private MemberMapper memberMapper; @@ -307,7 +309,9 @@ EventVisitDataRequest model = request.getData(); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getType,Visits::getMemberType); queryWrapper.eq(Visits::getHkId,model.getVisitorId() ); queryWrapper.leftJoin(Member.class,Member::getId,Visits::getMemberId ); queryWrapper.last("limit 1"); Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper); if(visits !=null){ @@ -321,9 +325,11 @@ //来访时间 updateVistis.setStatus(Constants.VisitStatus.signin); updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime())); }else { //如果是访客签离事件 updateVistis.setStatus(Constants.VisitStatus.signout); updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime())); updateVistis.setOutType(Constants.ZERO); updateVistis.setOutInfo("访客正常签离"); @@ -343,7 +349,9 @@ event.setVisitorCode(request.getData().getVisitorCode()); event.setTimeout(request.getTimeout()); event.setSvrIndexCode(request.getData().getSvrIndexCode()); event.setHappenTime(request.getHappenTime()); event.setStatus(request.getStatus()); event.setEndTime(request.getData().getEndTime()); event.setStartTime(request.getData().getStartTime()); event.setSrcType(request.getSrcType()); event.setSrcParentIndex(request.getSrcParentIndex()); @@ -352,8 +360,23 @@ event.setSignOrg(request.getData().getSignOrg()); event.setSex(request.getData().getSex()); event.setPurpose(request.getData().getPurpose()); event.setPhone(request.getData().getPhone()); event.setBeVisitedPersonId(request.getData().getBeVisitedPersonId()); event.setBeVisitedPersonName(request.getData().getBeVisitedPersonName()); event.setBeVisitedPersonOrg(request.getData().getBeVisitedPersonOrg()); event.setBeVisitedPersonOrgId(request.getData().getBeVisitedPersonOrgId()); event.setVisitorWorkUint(request.getData().getVisitorWorkUint()); event.setPhotoUrl(getHkImgUrl(request.getData().getPhotoUrl())); event.setPersonName(request.getData().getPersonName()); event.setCarNo(request.getData().getCarNo()); event.setCaptureUrl(request.getData().getCaptureUrl()); if(StringUtils.isNotBlank(request.getData().getCaptureUrl())){ event.setCaptureUrl(HKConstants.IMG_INDEX+request.getData().getCaptureUrl()); } if(StringUtils.isNotBlank(request.getData().getPhotoUrl())){ event.setPhotoUrl(HKConstants.IMG_INDEX+request.getData().getPhotoUrl()); } event.setIdType(request.getData().getIdType()); String idnum =request.getData().getIdNo(); if(StringUtils.isNotBlank(idnum)){ @@ -364,8 +387,6 @@ } event.setEventType(request.getEventType()); event.setEventId(request.getEventId()); event.setHappenTime(event.getHappenTime()); return event; } @@ -411,16 +432,28 @@ //门禁事件集合 List<EventParkInfoRequest> events = param.getParams().getEvents(); List<CarEvent> list = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); List<String> delRetentionList = new ArrayList<>(); for(EventParkInfoRequest request : events){ if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){ continue; } //封装事件信息表对象 list.add(getParkEventModelByRequest(request)); list.add(getParkEventModelByRequest(request,delRetentionList,retentionList)); } if(list.size()>0){ //插入门禁记录 carEventMapper.insertBatchSomeColumn(list); } if(delRetentionList.size()>0){ //先删除原有的在场人员(内部人员) retentionMapper.delete(new UpdateWrapper<Retention>().lambda() .eq(Retention::getType,Constants.THREE) .in(Retention::getCarNo,delRetentionList)); } if(retentionList.size()>0){ //再插入最新的在厂人员 retentionMapper.insertBatchSomeColumn(retentionList); } log.error("【海康停车场事件推送】========成功======="); }catch (Exception e){ @@ -436,7 +469,7 @@ * @param request * @return */ private CarEvent getParkEventModelByRequest(EventParkInfoRequest request) { private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList ) { CarEvent event = new CarEvent(); event.setIsdeleted(Constants.ZERO); event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); @@ -490,18 +523,40 @@ event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl())); } if(StringUtils.isNotBlank(event.getPlateNos())){ Cars cars = carsMapper.selectOne(new QueryWrapper<Cars>().lambda() .eq(Cars::getCode,event.getPlateNos()) .eq(Cars::getIsdeleted,Constants.ONE ) ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda() .eq(ParkBook::getCarCode,event.getPlateNos()) .eq(ParkBook::getIsdeleted,Constants.ONE ) .last("limit 1" )); if(cars!=null){ event.setMemberId(cars.getMemberId()); } if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){ //如果是入厂放行 delRetentionList.add(event.getPlateNos()); retentionList.add(getRetentionModelByParkRequest(request)); }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){ //如果是出场放行 delRetentionList.add(event.getPlateNos()); } } return event; } private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) { Retention retention = new Retention(); retention.setIsdeleted(Constants.ZERO); retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); retention.setCarNo(request.getData().getPlateNo()); retention.setType(Constants.THREE); // retention.setDeviceName(request.getSrcName()); // retention.setDeviceIndex(request.getSrcIndex()); return retention; } private void saveInterfaceLog(Object param, String path,String result) { InterfaceLog hkMonitoryLogDO=new InterfaceLog(); hkMonitoryLogDO.setType(1); server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -284,7 +284,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)//未同步到海康