ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ReportVO.java
@@ -1,5 +1,6 @@ package com.ycl.platform.domain.vo; import annotation.Excel; import com.ycl.platform.base.AbsVo; import com.ycl.platform.domain.entity.Report; @@ -25,30 +26,38 @@ /** 运维单位ID */ private Integer unitId; @Excel(name = "运维单位") private String unitName; /** 运维人员ID */ private Integer peopleId; @Excel(name = "报备人员") private String peopleName; /** 点位ID */ private Integer pointId; @Excel(name = "点位") private String pointName; /** 报备类型 */ @Excel(name = "报备类型") private String reportType; /** 审核时间 */ private LocalDateTime auditingTime; /** 报备内容 */ @Excel(name = "报备内容") private String reportContent; /** 上报材料 */ @Excel(name = "上报材料") private String reportMaterials; /** 故障类型 */ @Excel(name = "故障类型") private String errorType; /** 审核时间 */ @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd") private Date auditingTime; /** * 生效时间 @@ -60,6 +69,11 @@ */ private Date endCreateTime; /** * 装填 */ private Integer status; public static ReportVO getVoByEntity(@NonNull Report entity, ReportVO vo) { if(vo == null) { vo = new ReportVO(); ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
@@ -1,5 +1,6 @@ package com.ycl.platform.domain.vo; import annotation.Excel; import com.ycl.platform.base.AbsVo; import com.ycl.platform.domain.entity.YwUnit; @@ -18,22 +19,22 @@ @Accessors(chain = true) public class YwUnitVO extends AbsVo { /** 单位编码 */ @Excel(name = "单位编码") private String unitCode; /** 单位名称 */ @Excel(name = "单位名称") private String unitName; /** 单位联系人 */ @Excel(name = "单位联系人") private String unitContact; /** 单位联系人电话 */ @Excel(name = "单位联系人电话") private String unitContactPhone; /** 单位管理员账号 */ @Excel(name = "单位管理员账号") private String unitAdminAccount; /** 备注 */ @Excel(name = "备注") private String remark; public static YwUnitVO getVoByEntity(@NonNull YwUnit entity, YwUnitVO vo) { ycl-server/src/main/java/com/ycl/platform/controller/ReportController.java
@@ -1,7 +1,13 @@ package com.ycl.platform.controller; import com.ycl.platform.domain.entity.Report; import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import com.ycl.utils.poi.ExcelUtil; import jakarta.servlet.http.HttpServletResponse; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.List; @@ -72,4 +78,12 @@ public Result list() { return reportService.all(); } @PostMapping("/export") public void export(HttpServletResponse response, ReportQuery query) { List<ReportVO> list = reportService.export(query); ExcelUtil<ReportVO> util = new ExcelUtil<>(ReportVO.class); util.exportExcel(response, list, "运维单位"); } } ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
@@ -1,11 +1,16 @@ package com.ycl.platform.controller; import com.ycl.platform.domain.query.ReportQuery; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.vo.YwUnitVO; import com.ycl.system.Result; import com.ycl.platform.domain.form.YwUnitForm; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import com.ycl.platform.domain.query.YwUnitQuery; import com.ycl.platform.service.YwUnitService; import com.ycl.utils.poi.ExcelUtil; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; @@ -73,4 +78,12 @@ public Result list() { return ywUnitService.all(); } @PostMapping("/export") public void export(HttpServletResponse response, YwUnitQuery query) { List<YwUnitVO> list = ywUnitService.export(query); ExcelUtil<YwUnitVO> util = new ExcelUtil<>(YwUnitVO.class); util.exportExcel(response, list, "报备"); } } ycl-server/src/main/java/com/ycl/platform/service/ReportService.java
@@ -2,6 +2,7 @@ import com.ycl.platform.domain.entity.Report; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.system.Result; import com.ycl.platform.domain.form.ReportForm; import com.ycl.platform.domain.query.ReportQuery; @@ -62,4 +63,10 @@ * @return */ Result all(); /** * 导出 * @return */ List<ReportVO> export(ReportQuery query); } ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.query.ReportQuery; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.vo.YwUnitVO; import com.ycl.system.Result; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.form.YwUnitForm; @@ -64,4 +67,10 @@ * @return */ Result all(); /** * 导出 * @return */ List<YwUnitVO> export(YwUnitQuery query); } ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -26,6 +26,7 @@ import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -187,4 +188,50 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } public List<ReportVO> export(ReportQuery query) { if (StringUtils.isNotBlank(query.getPointId())) { LambdaQueryWrapper<YwPoint> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(YwPoint::getPointName, query.getPointId()); query.setPointIdList(ywpointMapper.selectList(queryWrapper).stream().map(YwPoint::getId).collect(Collectors.toList())); if(CollectionUtils.isEmpty(query.getPointIdList())) { return new ArrayList<>(); } } if (StringUtils.isNotBlank(query.getPeopleId())) { LambdaQueryWrapper<YwPeople> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(YwPeople::getYwPersonName, query.getPeopleId()); query.setPeopleIdList(peopleMapper.selectList(queryWrapper).stream().map(YwPeople::getId).collect(Collectors.toList())); if(CollectionUtils.isEmpty(query.getPeopleIdList())) { return new ArrayList<>(); } } IPage<Report> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(StringUtils.isNotBlank(query.getReportType()), Report::getReportType, query.getReportType()) .le(Objects.nonNull(query.getBeginCreateTime()), Report::getBeginCreateTime, query.getBeginCreateTime()) .ge(Objects.nonNull(query.getEndCreateTime()), Report::getEndCreateTime, query.getEndCreateTime()) .in(!CollectionUtils.isEmpty(query.getPointIdList()), Report::getPointId, query.getPointIdList()) .in(!CollectionUtils.isEmpty(query.getPeopleIdList()), Report::getPeopleId, query.getPeopleIdList()) .orderByDesc(Report::getCreateTime) .page(PageUtil.getPage(query, Report.class)); List<ReportVO> vos = page.getRecords().stream() .map( entity -> { ReportVO vo = ReportVO.getVoByEntity(entity, null); YwUnit unit = unitMapper.selectById(vo.getUnitId()); vo.setUnitName(unit.getUnitName()); YwPeople ywPeople = peopleMapper.selectById(vo.getPeopleId()); vo.setPeopleName(ywPeople.getYwPersonName()); YwPoint ywPoint = ywpointMapper.selectById(vo.getPointId()); vo.setPointName(ywPoint.getPointName()); return vo; } ) .collect(Collectors.toList()); return vos; } } ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -158,4 +158,25 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } @Override public List<YwUnitVO> export(YwUnitQuery query) { // 分页条件查询你 IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper) .eq(StringUtils.hasText(query.getUnitCode()), YwUnit::getUnitCode, query.getUnitCode()) .like(StringUtils.hasText(query.getUnitName()), YwUnit::getUnitName, query.getUnitName()) .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()), YwUnit::getCreateTime, DateUtils.getDayStart(query.getStart()), DateUtils.getDayEnd(query.getEnd())) .orderByDesc(YwUnit::getCreateTime) .page(PageUtil.getPage(query, YwUnit.class)); List<YwUnitVO> vos = page.getRecords().stream() .map( entity -> YwUnitVO.getVoByEntity(entity, null) ) .collect(Collectors.toList()); return vos; } }