Commit 11c91ca0 authored by suhuiguang's avatar suhuiguang

1.实现类复制错误

parent 3baf70fc
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.equipmanage.common.dto.AnalysisReportLogDto; import com.yeejoin.equipmanage.common.dto.AnalysisReportLogDto;
import com.yeejoin.equipmanage.service.IFireAutoSysManageReportService;
import com.yeejoin.equipmanage.service.IFirePatrolReportService; import com.yeejoin.equipmanage.service.IFirePatrolReportService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -33,7 +34,7 @@ import java.util.Date; ...@@ -33,7 +34,7 @@ import java.util.Date;
public class FireAutoSysManageReportController extends BaseController { public class FireAutoSysManageReportController extends BaseController {
@Autowired @Autowired
IFirePatrolReportService iFirePatrolReportService; IFireAutoSysManageReportService iFireAutoSysManageReportService;
@ApiOperation(value = "下载报表", notes = "下载报表") @ApiOperation(value = "下载报表", notes = "下载报表")
@GetMapping(value = "/download") @GetMapping(value = "/download")
...@@ -42,7 +43,7 @@ public class FireAutoSysManageReportController extends BaseController { ...@@ -42,7 +43,7 @@ public class FireAutoSysManageReportController extends BaseController {
@ApiParam(value = "换流站编码", required = true) @RequestParam String stationCode, @ApiParam(value = "换流站编码", required = true) @RequestParam String stationCode,
@ApiParam(value = "开始日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @ApiParam(value = "开始日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
@ApiParam(value = "结束日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) { @ApiParam(value = "结束日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
iFirePatrolReportService.download(request, response, stationCode, startDate, endDate); iFireAutoSysManageReportService.download(request, response, stationCode, startDate, endDate);
} }
@ApiOperation(value = "预览报表", notes = "预览报表") @ApiOperation(value = "预览报表", notes = "预览报表")
...@@ -52,7 +53,7 @@ public class FireAutoSysManageReportController extends BaseController { ...@@ -52,7 +53,7 @@ public class FireAutoSysManageReportController extends BaseController {
@ApiParam(value = "换流站编码", required = true) @RequestParam String stationCode, @ApiParam(value = "换流站编码", required = true) @RequestParam String stationCode,
@ApiParam(value = "开始日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @ApiParam(value = "开始日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
@ApiParam(value = "结束日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) { @ApiParam(value = "结束日期", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
return iFirePatrolReportService.preview(stationCode, startDate, endDate); return iFireAutoSysManageReportService.preview(stationCode, startDate, endDate);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
...@@ -63,7 +64,7 @@ public class FireAutoSysManageReportController extends BaseController { ...@@ -63,7 +64,7 @@ public class FireAutoSysManageReportController extends BaseController {
@ApiParam(value = "开始日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @ApiParam(value = "开始日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
@ApiParam(value = "结束日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate, @ApiParam(value = "结束日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate,
@ApiParam(value = "换流站编码") @RequestParam(required = false) String stationCode) { @ApiParam(value = "换流站编码") @RequestParam(required = false) String stationCode) {
return iFirePatrolReportService.allPage(page, reportType, startDate, endDate, stationCode); return iFireAutoSysManageReportService.allPage(page, reportType, startDate, endDate, stationCode);
} }
} }
...@@ -2,50 +2,32 @@ package com.yeejoin.equipmanage.service.impl; ...@@ -2,50 +2,32 @@ package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.core.util.StrUtil;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.equipmanage.common.dto.AnalysisReportLogDto; import com.yeejoin.equipmanage.common.dto.AnalysisReportLogDto;
import com.yeejoin.equipmanage.common.entity.MyByteArrayMultipartFile; import com.yeejoin.equipmanage.common.entity.MyByteArrayMultipartFile;
import com.yeejoin.equipmanage.common.enums.WordTemplateTypeEum; import com.yeejoin.equipmanage.common.enums.WordTemplateTypeEum;
import com.yeejoin.equipmanage.common.exception.BaseException;
import com.yeejoin.equipmanage.common.exception.CommonException; import com.yeejoin.equipmanage.common.exception.CommonException;
import com.yeejoin.equipmanage.common.utils.WordTemplateUtils; import com.yeejoin.equipmanage.common.utils.WordTemplateUtils;
import com.yeejoin.equipmanage.mapper.AnalysisReportLogMapper; import com.yeejoin.equipmanage.mapper.AnalysisReportLogMapper;
import com.yeejoin.equipmanage.service.IFirePatrolReportService; import com.yeejoin.equipmanage.service.IFireAutoSysManageReportService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.RectangleInsets;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.util.Date;
import java.text.NumberFormat; import java.util.HashMap;
import java.text.SimpleDateFormat; import java.util.Map;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.*;
@Slf4j @Slf4j
@Service @Service
public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportService { public class FireAutoSysManageReportServiceImpl implements IFireAutoSysManageReportService {
@Autowired @Autowired
AnalysisReportLogMapper analysisReportLogMapper; AnalysisReportLogMapper analysisReportLogMapper;
...@@ -59,299 +41,206 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ ...@@ -59,299 +41,206 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ
instance.exportMillCertificateWord(request, response, map, (String) map.get("document_name"), instance.exportMillCertificateWord(request, response, map, (String) map.get("document_name"),
WordTemplateTypeEum.firePatrolReport.getTemplateFile()); WordTemplateTypeEum.firePatrolReport.getTemplateFile());
} catch (IOException e) { } catch (IOException e) {
throw new CommonException(0, "下载装备巡查报表失败"); throw new CommonException(0, "下载消防自动化综合管理报表 失败");
} }
} }
private Map<String, Object> getWordMap(String code, Date startDate, private Map<String, Object> getWordMap(String code, Date startDate,
Date endDate) Date endDate) {
{
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
// 查询换流站 // // 查询换流站
Map<String, Object> station = analysisReportLogMapper.getStation(code); // Map<String, Object> station = analysisReportLogMapper.getStation(code);
if(station==null||station.isEmpty()) // if(station==null||station.isEmpty())
{ // {
throw new BaseException("换流站编码不存在"); // throw new BaseException("换流站编码不存在");
} // }
AnalysisReportLogDto analysisReportLog = new AnalysisReportLogDto(); // AnalysisReportLogDto analysisReportLog = new AnalysisReportLogDto();
analysisReportLog.setStationCode(code); // analysisReportLog.setStationCode(code);
analysisReportLog.setStartDate(startDate); // analysisReportLog.setStartDate(startDate);
analysisReportLog.setEndDate(endDate); // analysisReportLog.setEndDate(endDate);
Map<String, Object> report = analysisReportLogMapper.getReport(analysisReportLog); // Map<String, Object> report = analysisReportLogMapper.getReport(analysisReportLog);
SimpleDateFormat dateStat = new SimpleDateFormat("yyyy年MM月dd日"); // SimpleDateFormat dateStat = new SimpleDateFormat("yyyy年MM月dd日");
// 文档编号 // // 文档编号
String timeStr1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); // String timeStr1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
String documentNumber = "ZD-XFSBXC" + timeStr1; // String documentNumber = "ZD-XFSBXC" + timeStr1;
String documentNameTime = dateStat.format(startDate); // String documentNameTime = dateStat.format(startDate);
map.put("document_number", documentNumber); // map.put("document_number", documentNumber);
// 设置文档文件名 // // 设置文档文件名
map.put("document_name", "消防巡查报表" + documentNameTime); // map.put("document_name", "消防巡查报表" + documentNameTime);
// 换流站名称 // // 换流站名称
String stationName=(String) station.get("biz_org_name"); // String stationName=(String) station.get("biz_org_name");
map.put("station_name", stationName); // map.put("station_name", stationName);
// 统计时间 // // 统计时间
String statisticalTime = dateStat.format(startDate) + "-" + dateStat.format(endDate); // String statisticalTime = dateStat.format(startDate) + "-" + dateStat.format(endDate);
if (statisticalTime.contains("年0")) { // if (statisticalTime.contains("年0")) {
statisticalTime = statisticalTime.replaceAll("年0", "年"); // statisticalTime = statisticalTime.replaceAll("年0", "年");
} // }
map.put("statistical_time", statisticalTime); // map.put("statistical_time", statisticalTime);
// 生成日期 // // 生成日期
String timeStr2 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")); // String timeStr2 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
if (timeStr2.contains("年0")) { // if (timeStr2.contains("年0")) {
timeStr2 = timeStr2.replaceAll("年0", "年"); // timeStr2 = timeStr2.replaceAll("年0", "年");
} // }
NumberFormat nf = NumberFormat.getNumberInstance(); // NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(0); // nf.setMaximumFractionDigits(0);
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE", Locale.SIMPLIFIED_CHINESE); // SimpleDateFormat dateFm = new SimpleDateFormat("EEEE", Locale.SIMPLIFIED_CHINESE);
String currSun = dateFm.format(new Date()); // String currSun = dateFm.format(new Date());
map.put("create_date", timeStr2 + currSun); // map.put("create_date", timeStr2 + currSun);
map.put("create_date2", timeStr2); // map.put("create_date2", timeStr2);
// 统计时间2 // // 统计时间2
map.put("statistical_time2", statisticalTime.replaceAll("-", "至")); // map.put("statistical_time2", statisticalTime.replaceAll("-", "至"));
// 合格数 // // 合格数
int qualified = 0; // int qualified = 0;
// 未合格数 // // 未合格数
int no_qualified = 0; // int no_qualified = 0;
// 巡查任务数 // // 巡查任务数
int task_count = ((BigDecimal) report.get("task_count")).intValue(); // int task_count = ((BigDecimal) report.get("task_count")).intValue();
map.put("task_count", task_count); // map.put("task_count", task_count);
// 完成任务数 // // 完成任务数
int complete_task_count = ((BigDecimal) report.get("complete_task_count")).intValue(); // int complete_task_count = ((BigDecimal) report.get("complete_task_count")).intValue();
map.put("complete_task_count", complete_task_count); // map.put("complete_task_count", complete_task_count);
int uncomplete_task_count = task_count - complete_task_count; // int uncomplete_task_count = task_count - complete_task_count;
// 未完成任务数 // // 未完成任务数
map.put("uncomplete_task_count", uncomplete_task_count); // map.put("uncomplete_task_count", uncomplete_task_count);
double complete_task_percent; // double complete_task_percent;
if (0 == task_count) { // if (0 == task_count) {
complete_task_percent = 0.0; // complete_task_percent = 0.0;
log.error("-----------------------------当天巡检计划总数是 0,请检查同步服务!-----------------------------"); // log.error("-----------------------------当天巡检计划总数是 0,请检查同步服务!-----------------------------");
} else { // } else {
complete_task_percent = (complete_task_count/task_count)*100; // complete_task_percent = (complete_task_count/task_count)*100;
} // }
// 任务完成率 // // 任务完成率
map.put("complete_task_percent", nf.format(complete_task_percent)+"%"); // map.put("complete_task_percent", nf.format(complete_task_percent)+"%");
// 任务合格 // // 任务合格
map.put("task_qualified", uncomplete_task_count!=0?"不合格":"合格"); // map.put("task_qualified", uncomplete_task_count!=0?"不合格":"合格");
if(uncomplete_task_count!=0) // if(uncomplete_task_count!=0)
{ // {
no_qualified++; // no_qualified++;
}else // }else
{ // {
qualified++; // qualified++;
} // }
// 任务完成率合格 // // 任务完成率合格
map.put("task_percent_qualified", complete_task_percent!=100?"不合格":"合格"); // map.put("task_percent_qualified", complete_task_percent!=100?"不合格":"合格");
if(complete_task_percent!=100 ) // if(complete_task_percent!=100 )
{ // {
no_qualified++; // no_qualified++;
}else // }else
{ // {
qualified++; // qualified++;
} // }
// 巡查人员数 // // 巡查人员数
int person_count = ((BigDecimal) report.get("person_count")).intValue(); // int person_count = ((BigDecimal) report.get("person_count")).intValue();
map.put("person_count", person_count); // map.put("person_count", person_count);
int certified_person_count = ((BigDecimal) report.get("certified_person_count")).intValue(); // int certified_person_count = ((BigDecimal) report.get("certified_person_count")).intValue();
// 持证人员数 // // 持证人员数
map.put("certified_person_count", certified_person_count); // map.put("certified_person_count", certified_person_count);
//
double certified_percent; // double certified_percent;
if (0 == person_count) { // if (0 == person_count) {
certified_percent = 0.0; // certified_percent = 0.0;
log.error("-----------------------------人员总数是 0,请检查同步服务!-----------------------------"); // log.error("-----------------------------人员总数是 0,请检查同步服务!-----------------------------");
} else { // } else {
certified_percent = (certified_person_count/person_count)*100; // certified_percent = (certified_person_count/person_count)*100;
} // }
// 持证率 // // 持证率
map.put("certified_percent", nf.format(certified_percent)+"%"); // map.put("certified_percent", nf.format(certified_percent)+"%");
// 人员合格 // // 人员合格
map.put("person_qualified", certified_percent!=100?"不合格":"合格"); // map.put("person_qualified", certified_percent!=100?"不合格":"合格");
if(certified_percent!=100 ) // if(certified_percent!=100 )
{ // {
no_qualified++; // no_qualified++;
}else // }else
{ // {
qualified++; // qualified++;
} // }
// 应巡查设备总数 // // 应巡查设备总数
int equipment_count = ((BigDecimal) report.get("equipment_count")).intValue(); // int equipment_count = ((BigDecimal) report.get("equipment_count")).intValue();
map.put("equipment_count", equipment_count); // map.put("equipment_count", equipment_count);
int checked_equipment_count = ((BigDecimal) report.get("checked_equipment_count")).intValue(); // int checked_equipment_count = ((BigDecimal) report.get("checked_equipment_count")).intValue();
// 实际巡查设备总数 // // 实际巡查设备总数
map.put("checked_equipment_count", checked_equipment_count); // map.put("checked_equipment_count", checked_equipment_count);
// 实际巡查设备总数-合格 // // 实际巡查设备总数-合格
map.put("checked_equipment_qualified", checked_equipment_count!=equipment_count?"不合格":"合格"); // map.put("checked_equipment_qualified", checked_equipment_count!=equipment_count?"不合格":"合格");
if(checked_equipment_count!=equipment_count ) // if(checked_equipment_count!=equipment_count )
{ // {
no_qualified++; // no_qualified++;
}else // }else
{ // {
qualified++; // qualified++;
} // }
// 漏查设备总数 // // 漏查设备总数
int unchecked_equipment_count = ((BigDecimal) report.get("unchecked_equipment_count")).intValue(); // int unchecked_equipment_count = ((BigDecimal) report.get("unchecked_equipment_count")).intValue();
map.put("unchecked_equipment_count", unchecked_equipment_count); // map.put("unchecked_equipment_count", unchecked_equipment_count);
// 漏查设备总数-合格 // // 漏查设备总数-合格
map.put("unchecked_equipment_qualified", unchecked_equipment_count>0?"不合格":"合格"); // map.put("unchecked_equipment_qualified", unchecked_equipment_count>0?"不合格":"合格");
if(unchecked_equipment_count>0) // if(unchecked_equipment_count>0)
{ // {
no_qualified++; // no_qualified++;
}else // }else
{ // {
qualified++; // qualified++;
} // }
// 发现问题总数 // // 发现问题总数
int problem_count = ((BigDecimal) report.get("problem_count")).intValue(); // int problem_count = ((BigDecimal) report.get("problem_count")).intValue();
map.put("problem_count", problem_count); // map.put("problem_count", problem_count);
// 修复问题总数 // // 修复问题总数
int fixed_problem_count = ((BigDecimal) report.get("fixed_problem_count")).intValue(); // int fixed_problem_count = ((BigDecimal) report.get("fixed_problem_count")).intValue();
map.put("fixed_problem_count", fixed_problem_count); // map.put("fixed_problem_count", fixed_problem_count);
// 未修复问题总数 // // 未修复问题总数
int unfixed_problem_count = problem_count-fixed_problem_count; // int unfixed_problem_count = problem_count-fixed_problem_count;
map.put("unfixed_problem_count", unfixed_problem_count); // map.put("unfixed_problem_count", unfixed_problem_count);
// 巡查点位数 // // 巡查点位数
int checked_point_count = ((BigDecimal) report.get("checked_point_count")).intValue(); // int checked_point_count = ((BigDecimal) report.get("checked_point_count")).intValue();
map.put("checked_point_count", checked_point_count); // map.put("checked_point_count", checked_point_count);
// 合格饼图 // // 合格饼图
DefaultPieDataset pds = new DefaultPieDataset(); // DefaultPieDataset pds = new DefaultPieDataset();
pds.setValue("合格", qualified); // pds.setValue("合格", qualified);
pds.setValue("不合格", no_qualified); // pds.setValue("不合格", no_qualified);
String qualified_pie_chart = getChartString(pds, "合格情况占比"); // String qualified_pie_chart = getChartString(pds, "合格情况占比");
map.put("qualified_pie_chart", qualified_pie_chart); // map.put("qualified_pie_chart", qualified_pie_chart);
// 设备巡查饼图 // // 设备巡查饼图
if (!(checked_equipment_count == 0 && unchecked_equipment_count == 0)) { // if (!(checked_equipment_count == 0 && unchecked_equipment_count == 0)) {
DefaultPieDataset pds2 = new DefaultPieDataset(); // DefaultPieDataset pds2 = new DefaultPieDataset();
pds2.setValue("已查询设备", checked_equipment_count); // pds2.setValue("已查询设备", checked_equipment_count);
pds2.setValue("漏查设备", unchecked_equipment_count); // pds2.setValue("漏查设备", unchecked_equipment_count);
String equip_pie_chart = getChartString(pds2, "设备巡查占比"); // String equip_pie_chart = getChartString(pds2, "设备巡查占比");
map.put("equip_pie_chart", equip_pie_chart); // map.put("equip_pie_chart", equip_pie_chart);
} // }
// 业务主题 // // 业务主题
map.put("business_title", "消防巡查"); // map.put("business_title", "消防巡查");
// 缺陷清单 // // 缺陷清单
List<Map<String, Object>> defect_list = analysisReportLogMapper.getDefect(analysisReportLog); // List<Map<String, Object>> defect_list = analysisReportLogMapper.getDefect(analysisReportLog);
// 缺陷总数 // // 缺陷总数
map.put("defect_count", defect_list.size()); // map.put("defect_count", defect_list.size());
defect_list.forEach(i->{ // defect_list.forEach(i->{
i.put("defect_location", i.get("danger_position")); // i.put("defect_location", i.get("danger_position"));
i.put("defect_description", i.get("problem_description")); // i.put("defect_description", i.get("problem_description"));
i.put("rectified_progress", i.get("danger_state")); // i.put("rectified_progress", i.get("danger_state"));
i.put("remark", i.get("remark")); // i.put("remark", i.get("remark"));
}); // });
// Map<String, Object> defectMap = new HashMap<>(); //// Map<String, Object> defectMap = new HashMap<>();
// defectMap.put("defect_location", "主控楼一层"); //// defectMap.put("defect_location", "主控楼一层");
// defectMap.put("defect_description", "仅有一条疏散通道,存在重大火灾隐患,不满足规范要求。"); //// defectMap.put("defect_description", "仅有一条疏散通道,存在重大火灾隐患,不满足规范要求。");
// defectMap.put("rectified_progress", "待评审"); //// defectMap.put("rectified_progress", "待评审");
// defectMap.put("remark", "无法整改"); //// defectMap.put("remark", "无法整改");
// defect_list.add(defectMap); //// defect_list.add(defectMap);
// Map<String, Object> defectMap2 = new HashMap<>(); //// Map<String, Object> defectMap2 = new HashMap<>();
// defectMap2.put("defect_location", "主控楼一层"); //// defectMap2.put("defect_location", "主控楼一层");
// defectMap2.put("defect_description", "防火卷帘门故障;11个水泵接合器存在问题;"); //// defectMap2.put("defect_description", "防火卷帘门故障;11个水泵接合器存在问题;");
// defectMap2.put("rectified_progress", "待治理"); //// defectMap2.put("rectified_progress", "待治理");
// defectMap2.put("remark", "防火卷帘已完成维修,水泵接合器未整改"); //// defectMap2.put("remark", "防火卷帘已完成维修,水泵接合器未整改");
// defect_list.add(defectMap2); //// defect_list.add(defectMap2);
// Map<String, Object> defectMap3 = new HashMap<>(); //// Map<String, Object> defectMap3 = new HashMap<>();
// defectMap3.put("defect_location", "主控楼一层库房区域"); //// defectMap3.put("defect_location", "主控楼一层库房区域");
// defectMap3.put("defect_description", "将办公用房作为库房使用,使用性质与原设计不符,耐火等级和相应消防设施不满足规范要求。"); //// defectMap3.put("defect_description", "将办公用房作为库房使用,使用性质与原设计不符,耐火等级和相应消防设施不满足规范要求。");
// defectMap3.put("rectified_progress", "治理完毕"); //// defectMap3.put("rectified_progress", "治理完毕");
// defectMap3.put("remark", ""); //// defectMap3.put("remark", "");
// defect_list.add(defectMap3); //// defect_list.add(defectMap3);
map.put("defect_list", defect_list); // map.put("defect_list", defect_list);
return map; return map;
} }
/**
* 生成主题
*
* @param fontName 字体名称(默认为宋体)
* @return
*/
public static StandardChartTheme createChartTheme(String fontName) {
StandardChartTheme theme = new StandardChartTheme("unicode") {
public void apply(JFreeChart chart) {
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
super.apply(chart);
}
};
fontName = StrUtil.isBlank(fontName) ? "宋体" : fontName;
theme.setExtraLargeFont(new Font(fontName, Font.PLAIN, 20));
theme.setLargeFont(new Font(fontName, Font.PLAIN, 14));
theme.setRegularFont(new Font(fontName, Font.PLAIN, 12));
theme.setSmallFont(new Font(fontName, Font.PLAIN, 10));
return theme;
}
/**
* 获取饼图base64字符串
*
* @param pds
* @return
*/
private String getChartString(DefaultPieDataset pds, String title) {
// 设置主题 要不会乱码
ChartFactory.setChartTheme(createChartTheme("微软雅黑"));
JFreeChart chart = ChartFactory.createPieChart(title, pds, true, false, true);
// 设置图例
LegendTitle legend = chart.getLegend();
legend.setPosition(RectangleEdge.BOTTOM);
// 设置图例边框
legend.setBorder(0, 0, 0, 0);
legend.setItemFont(new Font("微软雅黑", Font.PLAIN, 16));
// 设置最外层边框
chart.setBorderVisible(false);
RectangleInsets padding = new RectangleInsets(40, 40, 40, 40);
chart.setPadding(padding);
// 如果不使用Font,中文将显示不出来
// 设置图片标题的字体
chart.getTitle().setFont(new Font("微软雅黑", Font.BOLD, 24));
// 得到图块,准备设置标签的字体
PiePlot plot = (PiePlot) chart.getPlot();
// 设置饼图阴影
plot.setShadowPaint(Color.WHITE);
plot.setAutoPopulateSectionOutlinePaint(true);
// 设置饼图边框
plot.setOutlineVisible(false);
// 设置饼图一定是正圆
plot.setCircular(true);
// 设置起始角度
plot.setStartAngle(90);
// 设置饼图颜色
plot.setSectionPaint(pds.getKey(0), Color.RED);
plot.setSectionPaint(pds.getKey(1), Color.BLUE);
// 设置饼图边框颜色
// 设置plot的前景色透明度
plot.setForegroundAlpha(0.7f);
// 设置plot的背景色透明度
plot.setBackgroundAlpha(0.0f);
// 设置标签字体
plot.setLabelFont(new Font("微软雅黑", Font.PLAIN, 16));
// 设置分类标签字体颜色
// plot.setLabelPaint(Color.RED);
//plot.setLabelLinkPaint(Color.RED);
// 设置分类标签背景颜色
plot.setLabelBackgroundPaint(Color.WHITE);
// 设置分类标签边框颜色
plot.setLabelOutlinePaint(Color.WHITE);
plot.setLabelShadowPaint(Color.WHITE);
// 设置标签生成器(默认{0})
// {0}:key {1}:value {2}:百分比 {3}:sum
StandardPieSectionLabelGenerator labelGenerator = new StandardPieSectionLabelGenerator("{0}\n{2}");
plot.setLabelGenerator(labelGenerator);
BufferedImage image = chart.createBufferedImage(600,350);
byte[] bytes = null;
try {
bytes = ChartUtilities.encodeAsPNG(image);
} catch (IOException e1) {
throw new CommonException(0, "生成饼图失败");
}
String base64 = Base64.getEncoder().encodeToString(bytes);
return base64;
}
@Override @Override
public IPage<AnalysisReportLogDto> allPage(Page<AnalysisReportLogDto> page, Integer reportType, Date startDate, public IPage<AnalysisReportLogDto> allPage(Page<AnalysisReportLogDto> page, Integer reportType, Date startDate,
...@@ -369,20 +258,14 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ ...@@ -369,20 +258,14 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ
public String preview(String code, Date startDate, Date endDate) { public String preview(String code, Date startDate, Date endDate) {
WordTemplateUtils instance = WordTemplateUtils.getInstance(); WordTemplateUtils instance = WordTemplateUtils.getInstance();
Map<String, Object> map = getWordMap(code, startDate, endDate); Map<String, Object> map = getWordMap(code, startDate, endDate);
String urlString=""; String urlString = "";
try { try {
//instance.pdfCreate(map, (String) map.get("document_number"), WordTemplateTypeEum.firePatrolReport.getTemplateFile()); File filePdf = instance.getWordFileItem(map, (String) map.get("document_number"), WordTemplateTypeEum.fireAutoSysManageReport.getTemplateFile());
File filepdf = instance.getWordFileItem(map,(String) map.get("document_number"), WordTemplateTypeEum.firePatrolReport.getTemplateFile()); MultipartFile multipartFile = new MyByteArrayMultipartFile("file", "file.pdf", "application/pdf", file2byte(filePdf));
//MultipartFile multipartFile = new CommonsMultipartFile(item);
filepdf.getAbsolutePath();
// File file = new File("F:\\application-dev.yml");
// FileInputStream input = new FileInputStream(filepdf);
MultipartFile multipartFile = new MyByteArrayMultipartFile("file","file.pdf","application/pdf",file2byte(filepdf));
FeignClientResult<Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(multipartFile); FeignClientResult<Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(multipartFile);
if (result != null) { if (result != null) {
Iterator<String> it = result.getResult().keySet().iterator(); for (String s : result.getResult().keySet()) {
while (it.hasNext()) { urlString = s;
urlString=it.next();
} }
} }
} catch (IOException e) { } catch (IOException e) {
...@@ -391,12 +274,11 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ ...@@ -391,12 +274,11 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ
return urlString; return urlString;
} }
public static byte[] file2byte(File file) public static byte[] file2byte(File file) {
{
try { try {
FileInputStream in =new FileInputStream(file); FileInputStream in = new FileInputStream(file);
//当文件没有结束时,每次读取一个字节显示 //当文件没有结束时,每次读取一个字节显示
byte[] data=new byte[in.available()]; byte[] data = new byte[in.available()];
in.read(data); in.read(data);
in.close(); in.close();
return data; return data;
...@@ -405,15 +287,4 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ ...@@ -405,15 +287,4 @@ public class FireAutoSysManageReportServiceImpl implements IFirePatrolReportServ
return null; return null;
} }
} }
// @Override
// public IPage<AnalysisReportLogDto> listPage(Page<AnalysisReportLogDto> page, Integer reportType, Date startDate,
// Date endDate,String stationCode) {
// AnalysisReportLogDto analysisReportLog = new AnalysisReportLogDto();
// analysisReportLog.setReportType(reportType);
// analysisReportLog.setStationCode(stationCode);
// analysisReportLog.setEndDate(startDate);
// analysisReportLog.setStartDate(endDate);
// return analysisReportLogMapper.allPage(page, analysisReportLog);
// }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment