package com.sercurityControl.decision.service.impl; import com.sercurityControl.decision.domain.qo.SafeRiskQo; import com.sercurityControl.decision.domain.vo.QueryVo; import com.sercurityControl.decision.domain.vo.SafeRiskVo; import com.sercurityControl.decision.service.ExportService; import com.sercurityControl.decision.service.SafeRiskService; import com.sercurityControl.decision.utils.ExcelExportUtil; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @Service public class ExportServiceImpl implements ExportService { @Resource private SafeRiskService safeRiskService; @Override public void getList(HttpServletResponse response, QueryVo queryVo) { List list = new ArrayList<>(); List> heard = getHeard(); List colWidths = getColWidths(); switch (queryVo.getFlag()) { case "2" : List monitorList = safeRiskService.getMonitorList(queryVo); list = monitorList.stream().map(SafeRiskQo::new).collect(Collectors.toList()); heard.get(0).add("球机编号"); colWidths.add(400); break; case "3": case "5" : heard.get(0).add("时间"); colWidths.add(400); case "4": heard.get(0).add("状态");colWidths.add(400);break; case "6": heard.get(0).add("预警时间");colWidths.add(400);break; case "8": heard.get(0).add("是否整改");colWidths.add(400); case "7": heard.get(0).add("风险成本");colWidths.add(400);break; } if (!"2".equals(queryVo.getFlag())) { list = safeRiskService.getList(queryVo); } List> data = new ArrayList<>(); int i = 0; for (SafeRiskQo item : list) { List temp = new ArrayList<>(); temp.add(String.valueOf(++i)); temp.add(item.getProjectName()); temp.add(item.getTicketName()); temp.add(StringUtils.hasLength(RISK_GRADE.get(item.getRiskGrade())) ? RISK_GRADE.get(item.getRiskGrade()) : item.getRiskGrade()); temp.add(item.getNumber()); temp.add(item.getJobLeader()); temp.add(item.getJobSite()); temp.add(item.getJobGx()); switch (queryVo.getFlag()) { case "2" : temp.add(item.getBmCode()); break; case "3": temp.add(item.getCreateTime()); temp.add(STATUS.get(item.getStatus())); break; case "5": temp.add(item.getCreateTime()); case "4": temp.add(CHANGE_STATUS.get(item.getChangeStatus()));break; case "6": temp.add(item.getYjDate());break; case "8": temp.add("0".equals(item.getChangeStatus()) ? "否" : "是"); case "7": temp.add(item.getRiskCb());break; } data.add(temp); } ExcelExportUtil.excelFileExport(response,FILE_NAME.get(queryVo.getFlag()),data,heard,colWidths); } private List> getHeard() { List> headList = new ArrayList<>(); String[] firstHead = {"序号","工程名称","作业票名称","风险等级","编号", "负责人","作业部位","工序"}; headList.add(new ArrayList<>(Arrays.asList(firstHead))); return headList; } private List getColWidths(){ Integer[] ints = {400, 600, 600, 400,400,400,800,800}; return new ArrayList<>(Arrays.asList(ints)); } public static Map RISK_GRADE = new HashMap<>(); public static Map STATUS = new HashMap<>(); public static Map CHANGE_STATUS = new HashMap<>(); public static Map FILE_NAME = new HashMap<>(); static { RISK_GRADE.put("1","一级"); RISK_GRADE.put("2","二级"); RISK_GRADE.put("3","三级"); RISK_GRADE.put("4","四级"); RISK_GRADE.put("5","五级"); STATUS.put("0","未发布"); STATUS.put("1","已发布"); CHANGE_STATUS.put("0","未整改"); CHANGE_STATUS.put("1","已整改"); CHANGE_STATUS.put("2","逾期整改"); FILE_NAME.put("2","监控风险告警分析.xlsx"); FILE_NAME.put("3","风险提前预警处理.xlsx"); FILE_NAME.put("4","重点风险分析.xlsx"); FILE_NAME.put("5","风险整改分析.xlsx"); FILE_NAME.put("6","风险时段分析.xlsx"); FILE_NAME.put("7","风险成本影响分析.xlsx"); FILE_NAME.put("8","风险工程排名.xlsx"); } }