From 5bd07d6de51cb8b4d3e0c67c2167c2a85956a512 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 21 Aug 2023 18:06:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E8=BD=A6=E5=9E=8B=E5=92=8C=E5=85=A8?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OtaManageApplyEOController.java | 27 +++++- .../modules/ota/entity/OtaManageApplyEO.java | 8 ++ .../ota/service/IOtaManageApplyEOService.java | 9 +- .../impl/OtaManageApplyEOServiceImpl.java | 73 +++++++++++++-- .../jero/modules/ota/vo/AllCarExportVO.java | 52 +++++++++++ .../jero/modules/ota/vo/OneCarExportVO.java | 91 +++++++++++++++++++ 6 files changed, 247 insertions(+), 13 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/AllCarExportVO.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/OneCarExportVO.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java index d208101fd..5e9864cb0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java @@ -72,8 +72,9 @@ public class OtaManageApplyEOController extends JeroController pageList = otaManageApplyEOService.getOtaCarPage(otaManageApplyEO,pageNo,pageSize,cut); - return Result.OK(pageList); + List list = otaManageApplyEOService.getOtaCarPage(otaManageApplyEO, cut); + Page pages = PageUtil.getPages(pageNo, pageSize, list); + return Result.OK(pages); } /** * 下拉数据-软件版本,适用车型,市场 @@ -294,6 +295,28 @@ public class OtaManageApplyEOController extends JeroController { /** * 分车型列表-分页列表查询 * @param otaManageApplyEO - * @param pageNo - * @param pageSize * @return */ - IPage getOtaCarPage(OtaManageApplyEO otaManageApplyEO,Integer pageNo,Integer pageSize,String cut); + List getOtaCarPage(OtaManageApplyEO otaManageApplyEO,String cut); /** * 下拉数据-软件版本,适用车型,市场 * @return @@ -125,4 +122,8 @@ public interface IOtaManageApplyEOService extends IService { List getStatisticalStatus(String projectId, String plannedBpLaunchBatch, String cut); ModelAndView otaExportXls(HttpServletRequest request, OtaManageApplyEO otaManageApplyEO); + + ModelAndView allCarExportXls(HttpServletRequest request, OtaManageApplyEO otaManageApplyEO); + + ModelAndView oneCarExportXls(HttpServletRequest request, OtaManageApplyEO otaManageApplyEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java index b805645f6..760d10633 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java @@ -18,6 +18,8 @@ import com.jero.modules.ota.enums.OtaStatusEnum; import com.jero.modules.ota.mapper.OtaManageApplyEOMapper; import com.jero.modules.ota.service.IOtaManageApplyEOService; import com.jero.modules.ota.service.IOtaManageHistoryService; +import com.jero.modules.ota.vo.AllCarExportVO; +import com.jero.modules.ota.vo.OneCarExportVO; import com.jero.modules.ota.vo.OtaExportVO; import com.jero.modules.ota.vo.VersionVO; import com.jero.modules.project.entity.ProjectLibraryBase; @@ -35,6 +37,7 @@ import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; +import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -575,12 +578,10 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getOtaCarPage(OtaManageApplyEO otaManageApplyEO, Integer pageNo, Integer pageSize,String cut) { + public List getOtaCarPage(OtaManageApplyEO otaManageApplyEO,String cut) { List otaManageApplyEOList = otaManageApplyEOMapper.getOtaCarPage(otaManageApplyEO); List list = new ArrayList<>(); String carMarket = otaManageApplyEO.getAppliedVehicleProject(); @@ -697,8 +698,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl pageList = getOtaPage(otaManageApplyEO); List exportList = null; @@ -1113,7 +1111,68 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl pageList = getOtaPage(otaManageApplyEO); + List exportList = null; + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + exportList = pageList.stream().filter(e -> selectionList.contains(e.getId())).collect(Collectors.toList()); + } else { + exportList = pageList; + } + + List dataList = new ArrayList<>(); + for (OtaManageApplyEO manageApplyEO : exportList) { + AllCarExportVO allCarExportVO = new AllCarExportVO(); + BeanUtils.copyProperties(manageApplyEO, allCarExportVO); + dataList.add(allCarExportVO); + } + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.CLASS, AllCarExportVO.class); + ExportParams exportParams=new ExportParams(otaManageApplyEO.getExportName(), null, otaManageApplyEO.getExportName()); + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, dataList); + return mv; + } + + @Override + public ModelAndView oneCarExportXls(HttpServletRequest request, OtaManageApplyEO otaManageApplyEO) { + // Step.2 获取导出数据 + List pageList = getOtaCarPage(otaManageApplyEO,otaManageApplyEO.getCut()); + List exportList = null; + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + exportList = pageList.stream().filter(e -> selectionList.contains(e.getId())).collect(Collectors.toList()); + } else { + exportList = pageList; + } + + List dataList = new ArrayList<>(); + for (OtaManageApplyEO manageApplyEO : exportList) { + OneCarExportVO oneCarExportVO = new OneCarExportVO(); + BeanUtils.copyProperties(manageApplyEO, oneCarExportVO); + dataList.add(oneCarExportVO); + } + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.CLASS, OneCarExportVO.class); + ExportParams exportParams=new ExportParams(otaManageApplyEO.getExportName(), null, otaManageApplyEO.getExportName()); + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, dataList); + return mv; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/AllCarExportVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/AllCarExportVO.java new file mode 100644 index 000000000..1a8ae68a0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/AllCarExportVO.java @@ -0,0 +1,52 @@ +package com.jero.modules.ota.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @description + * @date 2023/8/9 11:28 + * @auth zhn + */ +@Data +public class AllCarExportVO { + + @Excel(name = "VDR", width = 15) + @ApiModelProperty(value = "VDR") + private java.lang.String vdr; + + @Excel(name = "主题", width = 15) + @ApiModelProperty(value = "主题") + private java.lang.String summary; + + @Excel(name = "VDR状态", width = 15) + @ApiModelProperty(value = "VDR状态") + private java.lang.String status; + + @Excel(name = "认证影响", width = 15) + @ApiModelProperty(value = "认证影响") + private java.lang.String homologationImpact; + + @Excel(name = "影响描述", width = 15) + @ApiModelProperty(value = "影响描述") + private java.lang.String homologation; + + @Excel(name = "影响法规-CN", width = 15) + @ApiModelProperty(value = "影响法规-CN") + private java.lang.String impactCnHomo; + + @Excel(name = "影响法规-EU", width = 15) + @ApiModelProperty(value = "影响法规-EU") + private java.lang.String impactEuHomo; + + @Excel(name = "责任部门", width = 15) + @ApiModelProperty(value = "责任部门") + private java.lang.String masterDomain; + + @Excel(name = "适用车型", width = 50) + @ApiModelProperty(value = "适用车型") + private java.lang.String appliedVehicleProject; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/OneCarExportVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/OneCarExportVO.java new file mode 100644 index 000000000..7160c9c89 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/OneCarExportVO.java @@ -0,0 +1,91 @@ +package com.jero.modules.ota.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @description + * @date 2023/8/9 11:28 + * @auth zhn + */ +@Data +public class OneCarExportVO { + + @Excel(name = "VDR", width = 15) + @ApiModelProperty(value = "VDR") + private java.lang.String vdr; + + @Excel(name = "主题", width = 15) + @ApiModelProperty(value = "主题") + private java.lang.String summary; + + @Excel(name = "VDR状态", width = 15) + @ApiModelProperty(value = "VDR状态") + private java.lang.String status; + + @Excel(name = "认证影响", width = 15) + @ApiModelProperty(value = "认证影响") + private java.lang.String homologationImpact; + + @Excel(name = "影响说明", width = 15) + @ApiModelProperty(value = "影响说明") + private java.lang.String homologation; + + @Excel(name = "影响法规-CN", width = 15) + @ApiModelProperty(value = "影响法规-CN") + private java.lang.String impactCnHomo; + + @Excel(name = "影响法规-EU", width = 15) + @ApiModelProperty(value = "影响法规-EU") + private java.lang.String impactEuHomo; + + @Excel(name = "责任部门", width = 15) + @ApiModelProperty(value = "责任部门") + private java.lang.String masterDomain; + + @Excel(name = "R&H Studio", width = 15) + @ApiModelProperty(value = "R&H Studio") + private java.lang.String studioText; + + @Excel(name = "项目版本", width = 15) + @ApiModelProperty(value = "项目版本") + private java.lang.String projectVersionText; + + @Excel(name = "认证开始", width = 15) + @ApiModelProperty(value = "认证开始") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date attestationStartTime; + + @Excel(name = "认证申报", width = 15) + @ApiModelProperty(value = "认证申报") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date certificationSubmission; + + @Excel(name = "认证批准", width = 15) + @ApiModelProperty(value = "认证批准") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date attestationEndTime; + + @Excel(name = "认证进度", width = 15) + @ApiModelProperty(value = "认证进度") + private java.lang.String attestationSchedule; + + @Excel(name = "匹配状态", width = 15) + @ApiModelProperty(value = "匹配状态") + private java.lang.String matchStatusText; + + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String remark; + + +}