lishuai
2023-12-26 2e7ba2bc0fbefa6ee0b44eaf1990a493795efe4a
导出字段对接调整提交
已添加1个文件
已修改3个文件
125 ■■■■ 文件已修改
server/dmvisit_admin/src/main/java/com/doumee/api/business/RetentionController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/RetentionVo.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/RetentionService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}