From 8db6d3466518a0b457074d7ed7fa2fdf4dca42f6 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Fri, 17 Jan 2025 11:20:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HomeIndexController.java | 43 +++++++++++++++++-- .../backstage/entity/BackParamsDto.java | 2 +- .../backstage/entity/HomeProDetailVo.java | 14 +++++- .../backstage/mapper/HomeIndexMapper.java | 10 +++++ .../service/HomeIndexServiceImpl.java | 12 +++++- .../business/backstage/HomeIndexMapper.xml | 34 +++++++++++++++ 6 files changed, 107 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java index 2063d26..fc62878 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java @@ -8,6 +8,9 @@ package com.bonus.gzcar.business.backstage.controller; * @description:首页 */ +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import com.bonus.gzcar.business.backstage.entity.BackParamsDto; import com.bonus.gzcar.business.backstage.entity.HomeProDetailVo; import com.bonus.gzcar.business.backstage.service.HomeIndexService; @@ -19,13 +22,15 @@ import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; import java.util.List; +import java.util.Objects; @Api(tags = "首页") @RestController @@ -93,4 +98,34 @@ public class HomeIndexController { List list = service.getProDetails(dto.getData());; return new PageInfo<>(list); } + + @ApiOperation(value = "首页-二级页面-工程详情导出") + @PostMapping("exportProDetails") + public void exportApplyPlanList(HttpServletResponse response, @RequestBody BackParamsDto dto) { + try { + List list = service.getProDetails(dto); + final int[] num = {1}; + list.forEach(vo -> { + vo.setSerialNum(num[0]); + if(Objects.equals(vo.getDispatchStatus(),"1")){ + vo.setDispatchStatus("部分派车"); + }else if(Objects.equals(vo.getDispatchStatus(),"2")){ + vo.setDispatchStatus("待派车"); + }else if(Objects.equals(vo.getDispatchStatus(),"3")){ + vo.setDispatchStatus("全部派车"); + } + num[0]++; + }); + ExportParams exportParams = new ExportParams("工程详情", "工程详情", ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, HomeProDetailVo.class, list); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("工程详情" + ".xlsx", "UTF-8")); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + log.error(e.toString(), e); + } + } } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/BackParamsDto.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/BackParamsDto.java index e63c3ec..4501378 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/BackParamsDto.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/BackParamsDto.java @@ -14,7 +14,7 @@ public class BackParamsDto { /**分公司*/ private String companyId; - /**派车状态 1.已派车 2.待派车*/ + /**派车状态 1.部分派车 2.未派车 3.全部派车*/ private String dispatchStatus; /**年份*/ private String year; diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProDetailVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProDetailVo.java index 0d58ece..79d15b2 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProDetailVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeProDetailVo.java @@ -13,27 +13,39 @@ import lombok.Data; @Data public class HomeProDetailVo { + /**序号*/ + @Excel(name = "序号", width = 10.0, orderNum = "0") + private int serialNum; /**工程ID*/ private String proId; /**工程名称*/ - @Excel(name = "序号", width = 10.0, orderNum = "0") + @Excel(name = "工程名称", width = 20.0, orderNum = "1") private String proName; /**计划数*/ + @Excel(name = "计划数", width = 20.0, orderNum = "2") private int planNum; /**已派车计划*/ + @Excel(name = "已派车计划", width = 20.0, orderNum = "3") private int dispatchPlanNum; /**待派车计划*/ + @Excel(name = "待派车计划", width = 20.0, orderNum = "4") private int noDispatchPlanNum; /**派车状态*/ + @Excel(name = "派车状态", width = 20.0, orderNum = "5") private String dispatchStatus; /**应派车数量*/ + @Excel(name = "应派车数量", width = 20.0, orderNum = "6") private int shouldDispatchNum; /**已派车数量*/ + @Excel(name = "已派车数量", width = 20.0, orderNum = "7") private int dispatchNum; /**待派车数量*/ + @Excel(name = "待派车数量", width = 20.0, orderNum = "8") private int noDispatchNum; /**已派车金额*/ + @Excel(name = "已派车金额", width = 20.0, orderNum = "9") private double money; /**所属分公司*/ + @Excel(name = "所属分公司", width = 20.0, orderNum = "10") private String companyName; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java index 8b5afb5..1c6ae9f 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/HomeIndexMapper.java @@ -1,6 +1,7 @@ package com.bonus.gzcar.business.backstage.mapper; import com.bonus.gzcar.business.backstage.entity.BackParamsDto; +import com.bonus.gzcar.business.backstage.entity.HomeProDetailVo; import com.bonus.gzcar.business.backstage.entity.HomeProRankingVo; import com.bonus.gzcar.business.backstage.entity.HomeSupStatisticsVo; import org.apache.ibatis.annotations.Param; @@ -99,4 +100,13 @@ public interface HomeIndexMapper { * @date 2025/1/16 16:41 */ List> getCompanyData(BackParamsDto dto); + + /** + * 首页-二级页面-工程详情 + * @param dto + * @return List + * @author cwchen + * @date 2025/1/17 9:58 + */ + List getProDetails(BackParamsDto dto); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java index 3f0ae26..324e0a0 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.gzcar.business.backstage.service; import com.bonus.gzcar.business.backstage.entity.*; import com.bonus.gzcar.business.backstage.mapper.HomeIndexMapper; import com.bonus.gzcar.manager.common.util.DateTimeHelper; +import com.bonus.gzcar.manager.common.util.StringUtils; import com.bonus.gzcar.manager.webResult.ServerResponse; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -331,10 +332,17 @@ public class HomeIndexServiceImpl implements HomeIndexService { } @Override - public List getProDetails(BackParamsDto data) { + public List getProDetails(BackParamsDto dto) { List list = new ArrayList<>(); + if(StringUtils.isNotEmpty(dto.getYear()) && StringUtils.isNotEmpty(dto.getMonth())){ + dto.setYearMonth(dto.getYear() + "-" + dto.getMonth()); + } try { - + list = mapper.getProDetails(dto); + for (HomeProDetailVo vo : list) { + vo.setNoDispatchNum(vo.getShouldDispatchNum() - vo.getDispatchNum()); + // 金额待计算 + } } catch (Exception e) { log.error(e.toString(),e); } diff --git a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml index 6fcc1e0..db7e21c 100644 --- a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml +++ b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml @@ -112,4 +112,38 @@ FROM bm_company bc WHERE IS_ACTIVE = '1' + + \ No newline at end of file