IntelligentRecognition/ah-jjsp-service/.svn/pristine/39/39ce3f1e40aef6171f55d6ea8e6...

124 lines
5.0 KiB
Plaintext

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<SafeRiskQo> list = new ArrayList<>();
List<List<String>> heard = getHeard();
List<Integer> colWidths = getColWidths();
switch (queryVo.getFlag()) {
case "2" :
List<SafeRiskVo> 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<List<Object>> data = new ArrayList<>();
int i = 0;
for (SafeRiskQo item : list) {
List<Object> 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<List<String>> getHeard() {
List<List<String>> headList = new ArrayList<>();
String[] firstHead = {"序号","工程名称","作业票名称","风险等级","编号",
"负责人","作业部位","工序"};
headList.add(new ArrayList<>(Arrays.asList(firstHead)));
return headList;
}
private List<Integer> getColWidths(){
Integer[] ints = {400, 600, 600, 400,400,400,800,800};
return new ArrayList<>(Arrays.asList(ints));
}
public static Map<String ,String> RISK_GRADE = new HashMap<>();
public static Map<String ,String> STATUS = new HashMap<>();
public static Map<String ,String> CHANGE_STATUS = new HashMap<>();
public static Map<String ,String> 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");
}
}