server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
@@ -77,7 +77,7 @@ @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("business:carevent:exportExcel") //@RequiresPermissions("business:carevent:exportExcel") public void exportExcel (@RequestBody PageWrap<CarEvent> pageWrap, HttpServletResponse response) { ExcelExporter.build(CarEvent.class).exportWithFirstAndEnd (carEventService.findPage(pageWrap).getRecords(),"停车场事件推送记录表", null, "停车场事件推送记录导出报表",null , response); // ExcelExporter.build(CarEvent.class).export(carEventService.findPage(pageWrap).getRecords(), "停车场事件推送记录表", response); server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
@@ -77,7 +77,7 @@ @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("business:deviceevent:exportExcel") //@RequiresPermissions("business:deviceevent:exportExcel") public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response) { ExcelExporter.build(DeviceEvent.class).export(deviceEventService.findPage(pageWrap).getRecords(), "门禁事件推送记录表", response); } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -49,7 +49,9 @@ private String srcName; @ApiModelProperty(value = "事件类型") private String eventType; private Integer eventType; @ApiModelProperty(value = "事件类型名称") private String eventTypeName; @ApiModelProperty(value = "事件状态,0-瞬时 1-开始2-停止4-事件联动结果更新5-事件图片异步上传") private Integer status; server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -36,8 +36,10 @@ @ApiModelProperty(value = "事件唯一标识,同一事件若上报多次,则上报事件的eventId相同") private String eventId; @ApiModelProperty(value = "事件类型") private String eventType; @ApiModelProperty(value = "事件类型 -- 197163,人脸认证失败 ; 196893,人脸认证通过") private Integer eventType; @ApiModelProperty(value = "事件类型名称") private String eventTypeName; @ApiModelProperty(value = "事件源类型,如“acsDevice”") private String srcType; @@ -48,9 +50,11 @@ @ApiModelProperty(value = "门禁点唯一接入编码") private String srcIndex; @ApiModelProperty(value = "门禁名称") @ExcelColumn(name="门禁名称") @ApiModelProperty(value = "门禁点名称") private String srcName; @ApiModelProperty(value = "门禁名称") private String devName; @ApiModelProperty(value = "事件状态,0-瞬时1-开始2-停止4-事件联动结果更新5-事件图片异步上传") private Integer status; @@ -191,4 +195,6 @@ @ApiModelProperty(value = "通道总通行人数") private Integer totalTimes; @ApiModelProperty(value = "控制器设备唯一接入编码") private String srcParentIndex; } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -258,6 +258,10 @@ @ExcelColumn(name="通道总通行人数") private Integer totalTimes; @ApiModelProperty(value = "控制器设备唯一接入编码") @ExcelColumn(name = "控制器设备唯一接入编码") private String srcParentIndex; // 条件查询参数 @ApiModelProperty(value = "关键字,姓名/手机号") server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -123,12 +123,15 @@ // 条件查询参数 @ApiModelProperty(value = "姓名/手机号") @TableField(exist = false) private String keyWords; @ApiModelProperty(value = "开始时间") @TableField(exist = false) private Date startTime; @ApiModelProperty(value = "结束时间") @TableField(exist = false) private Date endTime; } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -3,14 +3,18 @@ import cn.hutool.core.lang.PatternPool; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ReUtil; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.VisitEventQuery; import com.doumee.dao.admin.response.CarEventDTO; import com.doumee.dao.business.CarEventMapper; import com.doumee.dao.business.join.CarEventJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.CarEventService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,8 +26,12 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; /** * 停车场事件推送记录表Service实现 @@ -38,6 +46,9 @@ @Autowired private CarEventJoinMapper carEventJoinMapper; @Autowired private SystemDictDataMapper systemDictDataMapper; @Override public Integer create(CarEvent carEvent) { @@ -308,7 +319,25 @@ .le(Objects.nonNull(pageWrap.getModel().getEndTime()), CarEvent::getCreateDate, pageWrap.getModel().getEndTime()); IPage<CarEventDTO> carEventDTOIPage = carEventJoinMapper.selectJoinPage(page, CarEventDTO.class, queryWrapper); if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) { List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.CAR_EVENT_IMG); List<SystemDictData> list = systemDictDataMapper.list(codes); Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity())); carEventDTOIPage.getRecords().stream().forEach(obj->{ obj.setVehiclePicUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.CAR_EVENT_IMG).getCode() +obj.getVehiclePicUrl()); if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_IN.getKey()){ obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_IN.getName()); }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){ obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_IN.getName()); }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_OUT.getKey()){ obj.setEventTypeName(HKConstants.EventTypes.PARK_LINE_OUT.getName()); }else{ obj.setEventTypeName(HKConstants.EventTypes.PARK_PASS_OUT.getName()); } }); } return PageData.from(carEventDTOIPage); } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Validator; import cn.hutool.core.util.PhoneUtil; import cn.hutool.core.util.ReUtil; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; @@ -13,6 +14,7 @@ import com.doumee.dao.business.DeviceEventMapper; import com.doumee.dao.business.join.DeviceEventJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Device; import com.doumee.dao.business.model.DeviceEvent; import com.doumee.dao.business.model.Member; import com.doumee.dao.system.SystemDictDataMapper; @@ -309,18 +311,20 @@ boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex) .selectAll(DeviceEvent.class) .selectAs(Member::getName,DeviceEventDTO::getPersonName) .selectAs(Member::getType,DeviceEventDTO::getPersonType) .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone) .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode) .selectAs(Device::getName,DeviceEventDTO::getDevName) .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName); queryWrapper.like(number, Member::getPhone, pageWrap.getModel().getKeyWords()) .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords()) .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()), Member::getType, pageWrap.getModel().getPersonType()) .eq( pageWrap.getModel().getEventType()!=null, .eq(Objects.nonNull(pageWrap.getModel().getEventType()), DeviceEvent::getEventType, pageWrap.getModel().getEventType()) .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), @@ -360,7 +364,12 @@ dto.setExtEventPictureURL(null); } } newDeviceEventDTOS.add(dto); if(Constants.formatIntegerNum(dto.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()){ dto.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getName()); }else if(Constants.formatIntegerNum(dto.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getKey()){ dto.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getName()); } newDeviceEventDTOS.add(dto); } return newDeviceEventDTOS; } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -5,11 +5,14 @@ import cn.hutool.core.util.ReUtil; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.RetentionMapper; import com.doumee.dao.business.join.RetentionJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.RetentionService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -21,9 +24,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** * 在厂人员信息 表(滞留)Service实现 @@ -38,6 +41,9 @@ @Autowired private RetentionJoinMapper retentionJoinMapper; @Autowired private SystemDictDataMapper systemDictDataMapper; @Override @@ -215,6 +221,16 @@ Retention::getEventDate,pageWrap.getModel().getStartTime()); queryWrapper.orderByDesc(Retention::getCreateDate); IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper); if(null != retentionIPage && retentionIPage.getRecords().size() > 0) { 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())); retentionIPage.getRecords().stream().forEach(obj->{ obj.setFaceImg(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode() +dataMap.get(Constants.MEMBER_IMG).getCode() +obj.getFaceImg()); }); } return PageData.from(retentionIPage); } }