server/dmvisit_admin/src/main/java/com/doumee/api/business/RetentionController.java
@@ -8,6 +8,7 @@ import com.doumee.core.model.PageData; import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.model.Retention; import com.doumee.dao.system.vo.RetentionVo; import com.doumee.service.business.RetentionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -79,7 +80,7 @@ @PostMapping("/exportExcel") //@RequiresPermissions("business:retention:exportExcel") public void exportExcel (@RequestBody PageWrap<Retention> pageWrap, HttpServletResponse response) { ExcelExporter.build(Retention.class).export(retentionService.findPage(pageWrap).getRecords(), "å¨å人åä¿¡æ¯ è¡¨ï¼æ»çï¼", response); ExcelExporter.build(RetentionVo.class).export(retentionService.findPageExcel(pageWrap), "å¨å人åä¿¡æ¯ è¡¨ï¼æ»çï¼", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/RetentionVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package com.doumee.dao.system.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data @ApiModel("å¨åºäººåè§å¾") public class RetentionVo { @ApiModelProperty(value = "å ¬å¸ç»ç»") @ExcelColumn(name="å ¬å¸ç»ç»") @TableField(exist = false) public String companyName; @ApiModelProperty(value = "ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å é¨åå·¥") @ExcelColumn(name="ç±»å") private String typeName; @ApiModelProperty(value = "访客åç§°") @ExcelColumn(name="访客åç§°") private String name; @ApiModelProperty(value = "ææºå·") @ExcelColumn(name="ææºå·") private String phone; @ApiModelProperty(value = "身份è¯å·ï¼MD4å å¯ï¼") @ExcelColumn(name="身份è¯å·") private String idcardNo; @ApiModelProperty(value = "海康é¨ç¦åç§°") @ExcelColumn(name="海康é¨ç¦åç§°") private String deviceName; @ApiModelProperty(value = "è¿åºæ¶é´") @ExcelColumn(name="è¿åºæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date eventDate; } server/dmvisit_service/src/main/java/com/doumee/service/business/RetentionService.java
@@ -5,6 +5,7 @@ import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.model.Retention; import com.doumee.dao.business.model.TrainTime; import com.doumee.dao.system.vo.RetentionVo; import java.util.List; @@ -98,6 +99,18 @@ */ long count(Retention retention); /** * å ³è表å页æ¥è¯¢ * @param pageWrap * @return */ PageData<Retention> findTrainTimePage(PageWrap<Retention> pageWrap); /** * å¯¼åº * * @param pageWrap å页对象 * @return PageData<RetentionVo> */ List<RetentionVo> findPageExcel(PageWrap<Retention> pageWrap); } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -13,6 +13,7 @@ import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.model.SystemDictData; import com.doumee.dao.system.vo.RetentionVo; import com.doumee.service.business.RetentionService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -193,6 +194,55 @@ @Override public PageData<Retention> findTrainTimePage(PageWrap<Retention> pageWrap) { IPage<Retention> retentionIPage = getDataInfo(pageWrap); 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); } /** * å¯¼åº * * @param pageWrap å页对象 * @return PageData<RetentionVo> */ public List<RetentionVo> findPageExcel(PageWrap<Retention> pageWrap) { IPage<Retention> retentionInfo = getDataInfo(pageWrap); List<RetentionVo> retentionVoList = new ArrayList<>(); if(null != retentionInfo && retentionInfo.getRecords().size() > 0) { for (Retention obj:retentionInfo.getRecords()) { RetentionVo vo = new RetentionVo(); vo.setCompanyName(obj.getCompanyName()); if(null != obj.getType()) { if(Constants.ZERO == obj.getType()){ vo.setTypeName(Constants.Status.LW_FK.getDes()); }else if(Constants.ONE == obj.getType()) { vo.setTypeName(Constants.Status.PT_FK.getDes()); }else { vo.setTypeName(Constants.Status.NB_FK.getDes()); } }else { vo.setTypeName(""); } vo.setName(obj.getName()); vo.setPhone(obj.getPhone()); vo.setIdcardNo(obj.getIdcardNo()); vo.setEventDate(obj.getEventDate()); retentionVoList.add(vo); } } return retentionVoList; } private IPage<Retention> getDataInfo(PageWrap<Retention> pageWrap) { //æ¯å¦æ¯æ°å boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«ä¸æ @@ -220,16 +270,6 @@ 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); return retentionIPage; } }