Commit 96ef2e25 authored by 高建强's avatar 高建强

item:物联报表,解决bug

parent abb9111f
...@@ -23,7 +23,6 @@ import java.awt.image.BufferedImage; ...@@ -23,7 +23,6 @@ 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.util.ArrayList;
import java.util.Base64; import java.util.Base64;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
...@@ -134,13 +133,16 @@ public class ChartsUtils { ...@@ -134,13 +133,16 @@ public class ChartsUtils {
} }
} }
public static String manyLineChart(List<Map<String, Object>> value, String title, String xtitle, String ytitle) { public static String manyLineChart(List<Map<String, Object>> value, String title, String xtitle, String ytitle, String type) {
// 绘图数据集 // 绘图数据集
DefaultCategoryDataset dataSet = new DefaultCategoryDataset(); DefaultCategoryDataset dataSet = new DefaultCategoryDataset();
for (Map<String, Object> map : value) { for (Map<String, Object> map : value) {
dataSet.setValue(Double.valueOf(String.valueOf(map.get("y"))), String.valueOf(map.get("title")), String.valueOf(map.get("x")).substring(8, 10)); if ("month".equals(type)) {
dataSet.setValue(Double.valueOf(String.valueOf(map.get("y"))), String.valueOf(map.get("title")), String.valueOf(map.get("x")).substring(8, 10));
} else {
dataSet.setValue(Double.valueOf(String.valueOf(map.get("y"))), String.valueOf(map.get("title")), String.valueOf(map.get("x")).substring(5, 10));
}
} }
JFreeChart chart = createManyLineChart(dataSet, title, xtitle, ytitle); JFreeChart chart = createManyLineChart(dataSet, title, xtitle, ytitle);
......
...@@ -27,7 +27,6 @@ import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO; ...@@ -27,7 +27,6 @@ import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO;
import com.yeejoin.equipmanage.common.entity.vo.*; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.enums.*; import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.utils.ChartsUtils; import com.yeejoin.equipmanage.common.utils.ChartsUtils;
import com.yeejoin.equipmanage.common.utils.CommonPageInfoParam;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.utils.WordTemplateUtils; import com.yeejoin.equipmanage.common.utils.WordTemplateUtils;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
...@@ -1572,7 +1571,7 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -1572,7 +1571,7 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
if (!CollectionUtils.isEmpty(selectMonthPolyline)) { if (!CollectionUtils.isEmpty(selectMonthPolyline)) {
String pieChart2 = ChartsUtils.manyLineChart(selectMonthPolyline, "报警趋势", "日期", "报警数量"); String pieChart2 = ChartsUtils.manyLineChart(selectMonthPolyline, "报警趋势", "日期", "报警数量", "month");
systemData.put("bing3", pieChart2); systemData.put("bing3", pieChart2);
} else { } else {
systemData.put("bing3", ""); systemData.put("bing3", "");
...@@ -1763,7 +1762,7 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -1763,7 +1762,7 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
systemData.put("pictureCenter", pieChart2); systemData.put("pictureCenter", pieChart2);
List<Map<String, Object>> linesEchart = fireFightingSystemMapper.selectWeekLinesEchart(valueOf(system.get("code")), startDate, endDate, indicatorList); List<Map<String, Object>> linesEchart = fireFightingSystemMapper.selectWeekLinesEchart(valueOf(system.get("code")), startDate, endDate, indicatorList);
String lines = ChartsUtils.manyLineChart(linesEchart, "报警趋势", "日期", "报警数量"); String lines = ChartsUtils.manyLineChart(linesEchart, "报警趋势", "日期", "报警数量", "week");
systemData.put("lines", lines); systemData.put("lines", lines);
systemData.put("sysData", list); systemData.put("sysData", list);
......
...@@ -14,18 +14,18 @@ ...@@ -14,18 +14,18 @@
select select
s.id, s.id,
CONCAT(s.name,',',#{beginDate},' - ',#{endDate} ,':',CHAR(10), CONCAT(s.name,',',#{beginDate},' - ',#{endDate} ,':',CHAR(10),
CONCAT('正常设备',IFNULL(f1.totalNormalEquipNum,0),'台,','正常率:',concat(IFNULL(f1.normalEquipNumPercent,0)*100,'%'),',', CONCAT('正常设备',IFNULL(f1.totalNormalEquipNum,0),'台,','正常率:',concat(TRUNCATE(IFNULL(f1.normalEquipNumPercent,0)*100, 2),'%'),',',
'同比上月',IF(IFNULL(f1.totalNormalEquipNum,0)- IFNULL(f1.lastMonthTotalNormalEquipNum,0) >0 ,'增加','减少'), '同比上月',IF(IFNULL(f1.totalNormalEquipNum,0)- IFNULL(f1.lastMonthTotalNormalEquipNum,0) >0 ,'增加','减少'),
if(IFNULL(f1.lastMonthTotalNormalEquipNum,0) = 0 ,'---',CONCAT(round(IFNULL(f1.totalNormalEquipNum,0)/f1.lastMonthTotalNormalEquipNum -1,2)* 100,'%')),',',CHAR(10)), if(IFNULL(f1.lastMonthTotalNormalEquipNum,0) = 0 ,'---',CONCAT(TRUNCATE(IFNULL(f1.totalNormalEquipNum,0)/f1.lastMonthTotalNormalEquipNum -1,2)* 100,'%')),',',CHAR(10)),
CONCAT('故障设备',IFNULL(f1.totalFaultEquipNum,0),'台,','故障率:',concat(ROUND(IFNULL(f1.faultEquipPercent,0),2)*100,'%'),',', CONCAT('故障设备',IFNULL(f1.totalFaultEquipNum,0),'台,','故障率:',concat(TRUNCATE(IFNULL(f1.faultEquipPercent,0),2)*100,'%'),',',
'同比上月',IF(IFNULL(f1.totalFaultEquipNum,0)- IFNULL(f1.lastMonthTotalFaultEquipNum,0) >0 ,'增加','减少'), '同比上月',IF(IFNULL(f1.totalFaultEquipNum,0)- IFNULL(f1.lastMonthTotalFaultEquipNum,0) >0 ,'增加','减少'),
if(IFNULL(f1.lastMonthTotalFaultEquipNum,0) = 0 ,'---',CONCAT(round(IFNULL(f1.totalFaultEquipNum,0)/f1.lastMonthTotalFaultEquipNum -1,2)* 100,'%')),',',CHAR(10)), if(IFNULL(f1.lastMonthTotalFaultEquipNum,0) = 0 ,'---',CONCAT(TRUNCATE(IFNULL(f1.totalFaultEquipNum,0)/f1.lastMonthTotalFaultEquipNum -1,2)* 100,'%')),',',CHAR(10)),
CONCAT('告警设备',IFNULL(f1.totalAlarmEquipNum,0),'台,', CONCAT('告警设备',IFNULL(f1.totalAlarmEquipNum,0),'台,',
'同比上月',IF(IFNULL(f1.totalAlarmEquipNum,0)- IFNULL(f1.lastMonthTotalAlarmEquipNum,0) >0 ,'增加','减少'), '同比上月',IF(IFNULL(f1.totalAlarmEquipNum,0)- IFNULL(f1.lastMonthTotalAlarmEquipNum,0) >0 ,'增加','减少'),
if(IFNULL(f1.lastMonthTotalAlarmEquipNum,0) = 0 ,'---',CONCAT(round(IFNULL(f1.totalAlarmEquipNum,0)/f1.lastMonthTotalAlarmEquipNum -1,2)* 100,'%')),',',CHAR(10)), if(IFNULL(f1.lastMonthTotalAlarmEquipNum,0) = 0 ,'---',CONCAT(TRUNCATE(IFNULL(f1.totalAlarmEquipNum,0)/f1.lastMonthTotalAlarmEquipNum -1,2)* 100,'%')),',',CHAR(10)),
CONCAT('告警总数',IFNULL(f1.totalAlarmInfoNum,0),'条,', CONCAT('告警总数',IFNULL(f1.totalAlarmInfoNum,0),'条,',
'同比上月',IF(IFNULL(f1.totalAlarmInfoNum,0)- IFNULL(f1.lastMonthTotalAlarmInfoNum,0) >0 ,'增加','减少'), '同比上月',IF(IFNULL(f1.totalAlarmInfoNum,0)- IFNULL(f1.lastMonthTotalAlarmInfoNum,0) >0 ,'增加','减少'),
if(IFNULL(f1.lastMonthTotalAlarmInfoNum,0) = 0 ,'---', CONCAT(round(IFNULL(f1.totalAlarmInfoNum,0)/f1.lastMonthTotalAlarmInfoNum -1,2)* 100,'%')) if(IFNULL(f1.lastMonthTotalAlarmInfoNum,0) = 0 ,'---', CONCAT(TRUNCATE(IFNULL(f1.totalAlarmInfoNum,0)/f1.lastMonthTotalAlarmInfoNum -1,2)* 100,'%'))
,'。')) as content, ,'。')) as content,
s.`name`, s.`name`,
3 as report_type, 3 as report_type,
......
...@@ -3967,8 +3967,8 @@ ...@@ -3967,8 +3967,8 @@
if (SUM(a1.lastAlarmNum)>0,IFNULL( convert( ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum))/SUM(a1.lastAlarmNum),char(5)),'-'),ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)))*100 as alarmWOW, if (SUM(a1.lastAlarmNum)>0,IFNULL( convert( ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum))/SUM(a1.lastAlarmNum),char(5)),'-'),ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)))*100 as alarmWOW,
(CASE WHEN (SUM(a1.exepctionNum)-SUM(a1.lastExepctionNum)) &lt;0 THEN '减少' else '增加' end ) as status1, (CASE WHEN (SUM(a1.exepctionNum)-SUM(a1.lastExepctionNum)) &lt;0 THEN '减少' else '增加' end ) as status1,
(CASE WHEN (SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)) &lt;0 THEN '减少' else '增加' end ) as status2, (CASE WHEN (SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)) &lt;0 THEN '减少' else '增加' end ) as status2,
if(SUM(a1.num)>0, convert(SUM(a1.num - a1.exepctionNum)/SUM(a1.num),char(5)), SUM(a1.num - a1.exepctionNum))*100 as normalRate, TRUNCATE(if(SUM(a1.num)>0, convert(SUM(a1.num - a1.exepctionNum)/SUM(a1.num),char(5)), SUM(a1.num - a1.exepctionNum))*100, 2) as normalRate,
if(SUM(a1.num)>0,convert(SUM(a1.faultNum)/SUM(a1.num),char(5)),SUM(a1.faultNum)) *100 as faultRate, TRUNCATE(if(SUM(a1.num)>0,convert(SUM(a1.faultNum)/SUM(a1.num),char(5)),SUM(a1.faultNum)) *100, 2) as faultRate,
a1.create_date a1.create_date
from from
(SELECT (SELECT
...@@ -4125,7 +4125,7 @@ ...@@ -4125,7 +4125,7 @@
</select> </select>
<select id="selectWeekEchart" resultType="java.util.Map"> <select id="selectWeekEchart" resultType="java.util.Map">
SELECT SELECT
count( report.equipment_specific_id ) AS `value`, count( DISTINCT(report.equipment_specific_id) ) AS `value`,
equipment.NAME AS `type` equipment.NAME AS `type`
FROM FROM
wl_equipment_alarm_report_day report wl_equipment_alarm_report_day report
...@@ -4154,7 +4154,7 @@ ...@@ -4154,7 +4154,7 @@
mysql.help_topic, mysql.help_topic,
( SELECT @s := 0 ) temp ) s ( SELECT @s := 0 ) temp ) s
WHERE WHERE
s.`index` &lt; 7 s.`index` &lt;= 7
) A ) A
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
...@@ -4183,7 +4183,7 @@ ...@@ -4183,7 +4183,7 @@
mysql.help_topic, mysql.help_topic,
( SELECT @s1 := 0 ) temp ) s ( SELECT @s1 := 0 ) temp ) s
WHERE WHERE
s.`index` &lt; 7 s.`index` &lt;= 7
) A ) A
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
...@@ -4218,7 +4218,7 @@ ...@@ -4218,7 +4218,7 @@
a1.systemName, a1.systemName,
a1.system_id, a1.system_id,
a1.alarmNum, a1.alarmNum,
ROUND(if( SUM(a1.num)>0,SUM(a1.num - a1.exepctionNum)/SUM(a1.num),SUM(a1.num - a1.exepctionNum))*100,2) as normalRate, TRUNCATE(if( SUM(a1.num)>0,SUM(a1.num - a1.exepctionNum)/SUM(a1.num),SUM(a1.num - a1.exepctionNum))*100,2) as normalRate,
a1.create_date a1.create_date
from from
(SELECT (SELECT
......
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