Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
11c91ca0
Commit
11c91ca0
authored
Jun 09, 2022
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.实现类复制错误
parent
3baf70fc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
262 additions
and
390 deletions
+262
-390
FireAutoSysManageReportController.java
...pmanage/controller/FireAutoSysManageReportController.java
+5
-4
FireAutoSysManageReportServiceImpl.java
...nage/service/impl/FireAutoSysManageReportServiceImpl.java
+257
-386
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/controller/FireAutoSysManageReportController.java
View file @
11c91ca0
...
@@ -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
IFire
PatrolReportService
iFirePatrol
ReportService
;
IFire
AutoSysManageReportService
iFireAutoSysManage
ReportService
;
@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
)
{
iFire
Patrol
ReportService
.
download
(
request
,
response
,
stationCode
,
startDate
,
endDate
);
iFire
AutoSysManage
ReportService
.
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
iFire
Patrol
ReportService
.
preview
(
stationCode
,
startDate
,
endDate
);
return
iFire
AutoSysManage
ReportService
.
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
iFire
Patrol
ReportService
.
allPage
(
page
,
reportType
,
startDate
,
endDate
,
stationCode
);
return
iFire
AutoSysManage
ReportService
.
allPage
(
page
,
reportType
,
startDate
,
endDate
,
stationCode
);
}
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/FireAutoSysManageReportServiceImpl.java
View file @
11c91ca0
...
@@ -2,418 +2,289 @@ package com.yeejoin.equipmanage.service.impl;
...
@@ -2,418 +2,289 @@ 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.IFire
Patrol
ReportService
;
import
com.yeejoin.equipmanage.service.IFire
AutoSysManage
ReportService
;
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
IFire
Patrol
ReportService
{
public
class
FireAutoSysManageReportServiceImpl
implements
IFire
AutoSysManage
ReportService
{
@Autowired
@Autowired
AnalysisReportLogMapper
analysisReportLogMapper
;
AnalysisReportLogMapper
analysisReportLogMapper
;
@Override
@Override
public
void
download
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
code
,
Date
startDate
,
public
void
download
(
HttpServletRequest
request
,
HttpServletResponse
response
,
String
code
,
Date
startDate
,
Date
endDate
)
{
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
);
try
{
try
{
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
,
Date
endDate
,
String
stationCode
)
{
Date
endDate
,
String
stationCode
)
{
AnalysisReportLogDto
analysisReportLog
=
new
AnalysisReportLogDto
();
AnalysisReportLogDto
analysisReportLog
=
new
AnalysisReportLogDto
();
analysisReportLog
.
setStartDate
(
startDate
);
analysisReportLog
.
setStartDate
(
startDate
);
analysisReportLog
.
setEndDate
(
endDate
);
analysisReportLog
.
setEndDate
(
endDate
);
analysisReportLog
.
setReportType
(
reportType
);
analysisReportLog
.
setReportType
(
reportType
);
analysisReportLog
.
setStationCode
(
stationCode
);
analysisReportLog
.
setStationCode
(
stationCode
);
Long
rootParentId
=
Long
.
valueOf
(
String
.
valueOf
(
analysisReportLogMapper
.
getRootOrgUsr
().
get
(
"sequence_nbr"
)));
Long
rootParentId
=
Long
.
valueOf
(
String
.
valueOf
(
analysisReportLogMapper
.
getRootOrgUsr
().
get
(
"sequence_nbr"
)));
return
analysisReportLogMapper
.
allPage
(
page
,
analysisReportLog
,
rootParentId
);
return
analysisReportLogMapper
.
allPage
(
page
,
analysisReportLog
,
rootParentId
);
}
}
@Override
@Override
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);
FeignClientResult
<
Map
<
String
,
String
>>
result
=
Systemctl
.
fileStorageClient
.
updateCommonFile
(
multipartFile
);
filepdf
.
getAbsolutePath
();
if
(
result
!=
null
)
{
// File file = new File("F:\\application-dev.yml");
for
(
String
s
:
result
.
getResult
().
keySet
())
{
// FileInputStream input = new FileInputStream(filepdf);
urlString
=
s
;
MultipartFile
multipartFile
=
new
MyByteArrayMultipartFile
(
"file"
,
"file.pdf"
,
"application/pdf"
,
file2byte
(
filepdf
));
}
FeignClientResult
<
Map
<
String
,
String
>>
result
=
Systemctl
.
fileStorageClient
.
updateCommonFile
(
multipartFile
);
}
if
(
result
!=
null
)
{
}
catch
(
IOException
e
)
{
Iterator
<
String
>
it
=
result
.
getResult
().
keySet
().
iterator
();
e
.
printStackTrace
();
while
(
it
.
hasNext
())
{
}
urlString
=
it
.
next
();
return
urlString
;
}
}
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
urlString
;
}
public
static
byte
[]
file2byte
(
File
file
)
{
try
{
FileInputStream
in
=
new
FileInputStream
(
file
);
//当文件没有结束时,每次读取一个字节显示
byte
[]
data
=
new
byte
[
in
.
available
()];
in
.
read
(
data
);
in
.
close
();
return
data
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
// @Override
public
static
byte
[]
file2byte
(
File
file
)
{
// public IPage<AnalysisReportLogDto> listPage(Page<AnalysisReportLogDto> page, Integer reportType, Date startDate,
try
{
// Date endDate,String stationCode) {
FileInputStream
in
=
new
FileInputStream
(
file
);
// AnalysisReportLogDto analysisReportLog = new AnalysisReportLogDto();
//当文件没有结束时,每次读取一个字节显示
// analysisReportLog.setReportType(reportType);
byte
[]
data
=
new
byte
[
in
.
available
()];
// analysisReportLog.setStationCode(stationCode);
in
.
read
(
data
);
// analysisReportLog.setEndDate(startDate);
in
.
close
();
// analysisReportLog.setStartDate(endDate);
return
data
;
// return analysisReportLogMapper.allPage(page, analysisReportLog);
}
catch
(
Exception
e
)
{
// }
e
.
printStackTrace
();
return
null
;
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment