4144cbcc 张雷

Merge remote-tracking branch 'origin/master' into master

2 个父辈 d38a79b3 8e5b9f5d
正在显示 20 个修改的文件 包含 624 行增加178 行删除
......@@ -44,13 +44,15 @@ public class DigitalUtils {
*/
public static String division(String dividend , String divisor ){
String resultStr = "0";
if( dividend != null && dividend.length()>0 && divisor != null && divisor.length()>0){
if( dividend != null && dividend.length()>0 && divisor != null && divisor.length()>0){
double dividendD = Double.parseDouble(dividend);
double divisorD = Double.parseDouble(divisor);
double result = dividendD /divisorD;
BigDecimal bd = new BigDecimal(result);
BigDecimal roundedResult = bd.setScale(2, BigDecimal.ROUND_HALF_UP);System.out.println(roundedResult);
resultStr = roundedResult.toString();
if(divisorD != 0 ){
double result = dividendD /divisorD;
BigDecimal bd = new BigDecimal(result);
BigDecimal roundedResult = bd.setScale(2, BigDecimal.ROUND_HALF_UP);System.out.println(roundedResult);
resultStr = roundedResult.toString();
}
}
//System.out.print("请输入被除数:");double dividend =scanner.nextDouble();
// System.out.print("请输入除数:");double divisor =scanner.nextDouble();
......
......@@ -4,7 +4,6 @@ import java.io.*;
import java.net.URLEncoder;
import java.util.*;
import java.net.URLDecoder;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
......@@ -325,7 +324,7 @@ public class AjhMeetingMinutesController {
*/
@AutoLog(value = "会议纪要管理-通过会议纪要id下载会议纪要")
@ApiOperation(value="会议纪要管理-通过id下载会议纪要", notes="会议纪要管理-通过id下载会议纪要")
@GetMapping("/exportWordData")
@GetMapping("/exportWord")
public void exportWordData(@RequestParam(name="id",required=true) String meetsId,HttpServletResponse response ) {
String templatePath = "D:\\test\\会议模板-2.docx";//导出模板文件名称
......@@ -414,16 +413,16 @@ public class AjhMeetingMinutesController {
// 输出文件路径 --测试
String outputPath = "D:\\test\\会议纪要导出记录.docx";
/* String outputPath = "D:\\test\\会议纪要导出记录.docx";
FileOutputStream outputFile = new FileOutputStream(outputPath);
document.write( outputFile);
document.write( outputFile);*/
//document.write(response.getOutputStream());
document.write(response.getOutputStream());
// 刷新和关闭输出流
//response.getOutputStream().flush();
//response.getOutputStream().close();
response.getOutputStream().flush();
response.getOutputStream().close();
outputFile.close();
//outputFile.close();
}
catch (Exception e) {
e.printStackTrace();
......
......@@ -9,6 +9,7 @@ import com.skua.modules.guest.util.DateUtil;
import com.skua.modules.report.entity.FReportItemv;
import com.skua.modules.report.vo.DepartLoadRateVO;
import com.skua.modules.report.vo.FRportlCommandCenterVO;
import com.skua.modules.report.vo.ReportDateTrendVO;
import com.skua.modules.report.vo.ReportItemvParam;
import com.skua.modules.system.service.ISysFactoryInfoService;
import com.skua.tool.util.DigitalUtils;
......@@ -45,42 +46,61 @@ public class SysCommandCentreController {
@AutoLog(value = "指挥中心-水量查询")
@ApiOperation(value="指挥中心-水量查询", notes="指挥中心-水量查询")
@GetMapping(value = "/statisticsByWaterData")
public Result<SysCommandCentreResultVO> statisticsByWaterData(@RequestBody JSONObject jsonObject,
HttpServletRequest req) throws Exception{
Result<SysCommandCentreResultVO> result = new Result<>();
public Result<List<FRportlCommandCenterVO>> statisticsByWaterData(ReportItemvParam reportItemvParam)throws Exception{
Result<List<FRportlCommandCenterVO> > result = new Result<>();
//将jsonObject转sysAlgorithmStatisticsLibraryVO对象
SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
//SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
String reportId = " 2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
String reportId = "2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
String reportItemCode = "CSL";//查询字段
//将jsonObject转Map对象
//Map<String,Object> paramMap = JSONObject.toJavaObject(jsonObject,Map.class);
//将paramMap集合去掉SysAlgorithmStatisticsLibraryVO对象内容
//Map<String,Object> sysAlgorithmStatisticsLibraryVOMap = JSON.parseObject(JSON.toJSONString(sysAlgorithmLibraryVO), new TypeReference<Map<String, Object>>() {});
//Maps.difference(Map, Map)用来比较两个Map以获取所有不同点
//MapDifference<String, Object> difference = Maps.difference(paramMap, sysAlgorithmStatisticsLibraryVOMap);
// 键只存在于左边Map的映射项
//paramMap = difference.entriesOnlyOnLeft();
// SysAlgorithmStatisticsResultVO vo = sysAlgorithmStatisticsLibraryService.statistics(sysAlgorithmStatisticsLibraryVO,paramMap);
ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
//List<FReportItemv> reportItemvList = ifReportItemvService.getReportItemvByReitId(reportItemvParam);
String startDate = sysAlgorithmLibraryVO.getStartDate();
String endDate = sysAlgorithmLibraryVO.getEndDate();
FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
reportItemvParam.initData(reportId,reportItemCode ,reportItemvParam.getStartDate() ,reportItemvParam.getEndDate());
List<FRportlCommandCenterVO> fReportItemvList = new ArrayList<>();//返回集合对象
//月统计
FRportlCommandCenterVO reportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam );
fReportItemvList.add( reportMonthData );
FRportlCommandCenterVO reportDayData = commandCentreService.getReportItemvDayDataByReitId(reportItemvParam );
fReportItemvList.add( reportDayData );
//换算单位
if(fReportItemvList != null && !fReportItemvList.isEmpty()){
String value = null ;
String valueHb = null;
String valueTb = null;
for( FRportlCommandCenterVO reportDayData3 : fReportItemvList){
value = DigitalUtils.division(reportDayData3.getValue(),"10000");
reportDayData3.setValue( value );
valueHb = DigitalUtils.division(reportDayData3.getValueHb(),"10000");
reportDayData3.setValueHb(valueHb );
valueTb = DigitalUtils.division(reportDayData3.getValueTb(),"10000");
reportDayData3.setValueTb( valueTb );
}
}
/* FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//上月数据
FReportItemv lastMonthReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,reportItemvParam.getLastMonthStartDate() , reportItemvParam.getLastMonthEndDate() );
//去年数据
FReportItemv lastYearReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode, reportItemvParam.getLastYearStartDate() , reportItemvParam.getLastYearEndDate() );
//整理数据
SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
List<FRportlCommandCenterVO> fReportItemvList = arrangeFRportlCommandCenterVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);*/
//年数据统计:
String total = factoryInfoService.querySumProScale();
fReportItemvList.add( new FRportlCommandCenterVO( total,"0","0"));
commandCentreResultVO.setTotalData( factoryInfoService.querySumProScale() );
//todo 演示暂时注释
result.setSuccess(true);
result.setResult(commandCentreResultVO);
result.setResult(fReportItemvList);
return result;
}
......@@ -88,21 +108,26 @@ public class SysCommandCentreController {
@AutoLog(value = "指挥中心-运行负荷率分析")
@ApiOperation(value="指挥中心-运行负荷率分析", notes="指挥中心-运行负荷率分析")
@GetMapping(value = "/statisticsByLoadRate")
public Result<DepartLoadRateResultVO> statisticsByLoadRate(@RequestBody JSONObject jsonObject,
HttpServletRequest req) throws Exception {
public Result<DepartLoadRateResultVO> statisticsByLoadRate(ReportItemvParam reportItemvParam) throws Exception {
DepartLoadRateResultVO loadRateResultVO = new DepartLoadRateResultVO();
SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
//SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
Integer loadRateType = 1;//默认查询
if(sysAlgorithmLibraryVO.getLoadRateType() != null){
loadRateType = sysAlgorithmLibraryVO.getLoadRateType();
if(reportItemvParam.getLoadRateType() != null){
loadRateType = reportItemvParam.getLoadRateType();
}
List<DepartLoadRateVO> departLoadRateVOList = commandCentreService.statisticsByLoadRate(reportItemvParam);
if(departLoadRateVOList != null && !departLoadRateVOList.isEmpty()){
for( DepartLoadRateVO departLoadRateVO : departLoadRateVOList){
departLoadRateVO.accuracy();//计算精度
}
}
List<DepartLoadRateVO> departLoadRateVOList = commandCentreService.statisticsByLoadRate(loadRateType);
loadRateResultVO.setDepartLoadRateVOList(departLoadRateVOList );
//统计总数
int normalNum = commandCentreService.statisticsByLoadRateNum(1);//正常
int lowLoadNum = commandCentreService.statisticsByLoadRateNum(2);//低负荷
int overloadNum = commandCentreService.statisticsByLoadRateNum(3);//超负荷
int normalNum = commandCentreService.statisticsByLoadRateNum(1, reportItemvParam.getStartDate(), reportItemvParam.getEndDate());//正常
int lowLoadNum = commandCentreService.statisticsByLoadRateNum(2 ,reportItemvParam.getStartDate(), reportItemvParam.getEndDate());//低负荷
int overloadNum = commandCentreService.statisticsByLoadRateNum(3 , reportItemvParam.getStartDate(), reportItemvParam.getEndDate());//超负荷
loadRateResultVO.setNormalNum( normalNum );
loadRateResultVO.setLowLoadNum( lowLoadNum );
loadRateResultVO.setOverloadNum( overloadNum );
......@@ -113,44 +138,88 @@ public class SysCommandCentreController {
return result;
}
//cement水泥 electricity
@AutoLog(value = "指挥中心-泥量统计")
@ApiOperation(value="指挥中心-泥量统计", notes="指挥中心-泥量统计")
@GetMapping(value = "/statisticsByCement")
public Result<SysCommandCentreResultVO> statisticsByCement(@RequestBody JSONObject jsonObject,
HttpServletRequest req) throws Exception {
Result<SysCommandCentreResultVO> result = new Result<>();
public Result<List<FRportlCommandCenterVO>> statisticsByCement( ReportItemvParam reportItemvParam) throws Exception {
Result<List<FRportlCommandCenterVO>> result = new Result<>();
//将jsonObject转sysAlgorithmStatisticsLibraryVO对象
SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
//SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
String reportId = " 3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportId = "3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportItemCode = "WNL";//查询字段
ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
// reportItemvParam.setReportItemCode(reportItemCode);
//reportItemvParam.setReportId(reportId);
String startDate = sysAlgorithmLibraryVO.getStartDate();
String endDate = sysAlgorithmLibraryVO.getEndDate();
FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
reportItemvParam.initData(reportId,reportItemCode ,reportItemvParam.getStartDate() ,reportItemvParam.getEndDate());
//ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
List<FRportlCommandCenterVO> fReportItemvList = new ArrayList<>();//返回集合对象
//月统计
FRportlCommandCenterVO reportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam );
fReportItemvList.add( reportMonthData );
FRportlCommandCenterVO reportDayData = commandCentreService.getReportItemvDayDataByReitId(reportItemvParam );
fReportItemvList.add( reportDayData );
//单位换算
if(fReportItemvList != null && !fReportItemvList.isEmpty()){
String value = null ;
String valueHb = null;
String valueTb = null;
for( FRportlCommandCenterVO reportDayData3 : fReportItemvList){
value = DigitalUtils.division(reportDayData3.getValue(),"10000");
reportDayData3.setValue( value );
valueHb = DigitalUtils.division(reportDayData3.getValueHb(),"10000");
reportDayData3.setValueHb(valueHb );
valueTb = DigitalUtils.division(reportDayData3.getValueTb(),"10000");
reportDayData3.setValueTb( valueTb );
}
}
/* FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//上月数据
FReportItemv lastMonthReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,reportItemvParam.getLastMonthStartDate() , reportItemvParam.getLastMonthEndDate() );
//去年数据
FReportItemv lastYearReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode, reportItemvParam.getLastYearStartDate() , reportItemvParam.getLastYearEndDate() );
//整理数据
SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
// SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
List<FRportlCommandCenterVO> fReportItemvList = arrangeFRportlCommandCenterVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);*/
//
// FReportItemv waterCurrenteportItemv = ifReportItemvService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//commandCentreResultVO.setTotalData( factoryInfoService.querySumProScale() );
FRportlCommandCenterVO statisticsData = new FRportlCommandCenterVO();
//需要查询统计数据
commandCentreResultVO.setStatisticsData(statisticsData);
//出水量 月统计、上月统计、去年同期统计
String waterReportId = "2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
String waterReportItemCode = "CSL";//查询字段
reportItemvParam.setReitId(waterReportId); reportItemvParam.setReportItemCode(waterReportItemCode);
// 出水量 月统计
FRportlCommandCenterVO waterReportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam );
FRportlCommandCenterVO statisticsData = new FRportlCommandCenterVO("0.0","0.0","0.0");
//需要查询统计数据 = 公式== 污泥量 / 出水量
if(reportMonthData != null && waterReportMonthData != null){
waterReportMonthData.setValue( DigitalUtils.division( reportMonthData.getValue() , waterReportMonthData.getValue() )); // 当月统计 污泥量 / 出水量
waterReportMonthData.setValueTb( DigitalUtils.division( reportMonthData.getValueTb() , waterReportMonthData.getValueTb() )); // 上月同期 统计
waterReportMonthData.setValueHb(DigitalUtils.division( reportMonthData.getValueHb() , waterReportMonthData.getValueHb() ) ); //去年同期 统计
}
fReportItemvList.add(statisticsData);
//todo 演示暂时注释
result.setSuccess(true);
result.setResult(commandCentreResultVO);
result.setResult(fReportItemvList);
return result;
}
......@@ -158,18 +227,75 @@ public class SysCommandCentreController {
@AutoLog(value = "指挥中心-能耗分析")
@ApiOperation(value="指挥中心-能耗分析", notes="指挥中心-能耗分析")
@GetMapping(value = "/statisticsByElectricity")
public Result<SysCommandCentreResultVO> statisticsByElectricity(@RequestBody JSONObject jsonObject,
HttpServletRequest req) throws Exception {
Result<SysCommandCentreResultVO> result = new Result<>();
public Result<List<FRportlCommandCenterVO>> statisticsByElectricity( ReportItemvParam reportItemvParam) throws Exception {
Result<List<FRportlCommandCenterVO>> result = new Result<>();
//将jsonObject转sysAlgorithmStatisticsLibraryVO对象
SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
//SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
String reportId = " 3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportId = "3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportItemCode = "DLHJ";//查询字段
ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
//reportItemvParam.setReportItemCode(reportItemCode);
// reportItemvParam.setReportId(reportId);
reportItemvParam.initData(reportId,reportItemCode ,reportItemvParam.getStartDate() ,reportItemvParam.getEndDate());
//ReportItemvParam reportItemvParam = new ReportItemvParam(reportId,reportItemCode ,sysAlgorithmLibraryVO.getStartDate() ,sysAlgorithmLibraryVO.getEndDate());
List<FRportlCommandCenterVO> fReportItemvList = new ArrayList<>();//返回集合对象
//月统计
FRportlCommandCenterVO reportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam );
fReportItemvList.add( reportMonthData );
FRportlCommandCenterVO reportDayData = commandCentreService.getReportItemvDayDataByReitId(reportItemvParam );
fReportItemvList.add( reportDayData );
//单位换算
if(fReportItemvList != null && !fReportItemvList.isEmpty()){
String value = null ;
String valueHb = null;
String valueTb = null;
for( FRportlCommandCenterVO reportDayData3 : fReportItemvList){
value = DigitalUtils.division(reportDayData3.getValue(),"10000");
reportDayData3.setValue( value );
valueHb = DigitalUtils.division(reportDayData3.getValueHb(),"10000");
reportDayData3.setValueHb(valueHb );
valueTb = DigitalUtils.division(reportDayData3.getValueTb(),"10000");
reportDayData3.setValueTb( valueTb );
}
}
/* FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//上月数据
FReportItemv lastMonthReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,reportItemvParam.getLastMonthStartDate() , reportItemvParam.getLastMonthEndDate() );
//去年数据
FReportItemv lastYearReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode, reportItemvParam.getLastYearStartDate() , reportItemvParam.getLastYearEndDate() );
//整理数据
// SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
List<FRportlCommandCenterVO> fReportItemvList = arrangeFRportlCommandCenterVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);*/
//
// FReportItemv waterCurrenteportItemv = ifReportItemvService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//commandCentreResultVO.setTotalData( factoryInfoService.querySumProScale() );
//出水量 月统计、上月统计、去年同期统计
String waterReportId = "2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
String waterReportItemCode = "CSL";//查询字段
reportItemvParam.setReitId(waterReportId); reportItemvParam.setReportItemCode(waterReportItemCode);
// 出水量 月统计
FRportlCommandCenterVO waterReportMonthData = commandCentreService.getReportItemvMonthDataByReitId(reportItemvParam );
FRportlCommandCenterVO statisticsData = new FRportlCommandCenterVO("0.0","0.0","0.0");
//需要查询统计数据 = 公式== 电量 / 出水量
if(reportMonthData != null && waterReportMonthData != null){
waterReportMonthData.setValue( DigitalUtils.division( reportMonthData.getValue() , waterReportMonthData.getValue() )); // 当月统计 污泥量 / 出水量
waterReportMonthData.setValueTb( DigitalUtils.division( reportMonthData.getValueTb() , waterReportMonthData.getValueTb() )); // 上月同期 统计
waterReportMonthData.setValueHb(DigitalUtils.division( reportMonthData.getValueHb() , waterReportMonthData.getValueHb() ) ); //去年同期 统计
}
fReportItemvList.add(statisticsData);
String startDate = sysAlgorithmLibraryVO.getStartDate();
/* String startDate = sysAlgorithmLibraryVO.getStartDate();
String endDate = sysAlgorithmLibraryVO.getEndDate();
FReportItemv currenteportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
......@@ -179,69 +305,92 @@ public class SysCommandCentreController {
FReportItemv lastYearReportItemv = commandCentreService.getReportItemvByReitIdAndDate(reportId, reportItemCode, reportItemvParam.getLastYearStartDate() , reportItemvParam.getLastYearEndDate() );
//整理数据
SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
//
//SysCommandCentreResultVO commandCentreResultVO = convertSysAlgorithmStatisticsResultNumberVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
List<FRportlCommandCenterVO> fReportItemvList = arrangeFRportlCommandCenterVO(currenteportItemv , lastMonthReportItemv,lastYearReportItemv);
// FReportItemv waterCurrenteportItemv = ifReportItemvService.getReportItemvByReitIdAndDate(reportId, reportItemCode,startDate , endDate );
//commandCentreResultVO.setTotalData( factoryInfoService.querySumProScale() );
FRportlCommandCenterVO statisticsData = new FRportlCommandCenterVO();
//需要查询统计数据
commandCentreResultVO.setStatisticsData(statisticsData);
fReportItemvList.add(statisticsData);*/
//todo 演示暂时注释
result.setSuccess(true);
result.setResult(commandCentreResultVO);
result.setResult(fReportItemvList);
return result;
}
//cement水泥 electricity
@AutoLog(value = "指挥中心-污水处理趋势")
@ApiOperation(value="指挥中心-污水处理趋势", notes="指挥中心-污水处理趋势")
@AutoLog(value = "指挥中心-水量电耗趋势")
@ApiOperation(value="指挥中心-水量电耗趋势", notes="指挥中心-水量电耗趋势")
@GetMapping(value = "/statisticsBySewage")
public Result<StackedAreaChartDataVO> statisticsBySewage(@RequestBody JSONObject jsonObject,
HttpServletRequest req) throws Exception {
public Result<StackedAreaChartDataVO> statisticsBySewage(ReportItemvParam reportItemvParam) throws Exception {
// SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
SysAlgorithmStatisticsLibraryVO sysAlgorithmLibraryVO = JSONObject.toJavaObject(jsonObject, SysAlgorithmStatisticsLibraryVO.class);
String reportId = " 3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportId = "3a243d5715b9e1a3753c180872ca0df9";//报表编号
String reportItemCode = "DLHJ";//查询字段
String dateTime = null;//默认今天
//reportItemvParam.setReportItemCode(reportItemCode);
//reportItemvParam.setReportId(reportId);
//电
List<String> electricityList = commandCentreService.getReportItemvByReitIdAndDate7Day(reportId, reportItemCode,dateTime );
List<ReportDateTrendVO> electricityMapList = commandCentreService.getReportItemvByReitIdAndDate7Day(reportItemvParam );
reportId = " 2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
reportId = "2119ecbf53a1d2d0708258ff67cfd9e1";//报表编号
reportItemCode = "CSL";//查询字段
//水集合
List<String> waterList = commandCentreService.getReportItemvByReitIdAndDate7Day(reportId, reportItemCode,dateTime );
//电耗集合
List<String> consumeList = new ArrayList<>();
String dividend =null; //被除数
String divisor = null;//除数
String division = null;//除法结果
if(electricityList != null && waterList != null && electricityList.size() == waterList.size()){
for(int i =0 ;i<electricityList.size() ; i++){
division = "0";
dividend = electricityList.get(i);
divisor = waterList.get(i);
if(dividend != null && divisor!= null && divisor.equals("0")){
DigitalUtils.division( dividend ,divisor );
}
consumeList.add( division );
List<ReportDateTrendVO> waterMapList = commandCentreService.getReportItemvByReitIdAndDate7Day(reportItemvParam );
List<String > dateList = new ArrayList<>();//日期数据
List<String> electricityList = new ArrayList<>();//电能数据数据;
List<String> waterList = new ArrayList<>();// 水集合
List<String> consumeList = new ArrayList<>();//电小号集合
List<String > dateTimeList = DateUtil.getInstance().getBetweenDate(reportItemvParam.getStartDate(),reportItemvParam.getEndDate(),null);
Map<String,String > electricityMap = new HashMap<String,String >();//电能数据数据;
Map<String,String > waterMap = new HashMap<String,String >();//水
if(electricityMapList != null){
for( ReportDateTrendVO reportDateTrendVO : electricityMapList){
electricityMap.put(reportDateTrendVO.getDate(),reportDateTrendVO.getValue() );
}
}
if(waterMapList != null){
for( ReportDateTrendVO reportDateTrendVO : waterMapList){
waterMap.put(reportDateTrendVO.getDate(),reportDateTrendVO.getValue() );
}
}
String electricity = null; String water = null; String consume = null;
for(String dateTime : dateTimeList){
electricity = electricityMap.get(dateTime ) ;
water = waterMap.get(dateTime ) ;
consume = "0";
if(electricity == null ) electricity = "0";
if(water == null ){
water = "0";
}else{
consume = DigitalUtils.division( electricity ,water );
}
electricityList.add( electricity ) ; waterList.add(water) ; consumeList.add( consume);
dateList.add( DateUtil.getInstance().formatDate(dateTime,"MM-dd") ) ;
}
List<String > dateList = DateUtil.getInstance().get7Day("MM-dd");
StackedAreaChartDataVO stackedAreaChartDataVO = new StackedAreaChartDataVO();
stackedAreaChartDataVO.setElectricityList(electricityList);
stackedAreaChartDataVO.setWaterList(waterList);
stackedAreaChartDataVO.setConsumeList( consumeList);
stackedAreaChartDataVO.setDateList(dateList );
stackedAreaChartDataVO.setElectricityList(electricityList);//电集合
stackedAreaChartDataVO.setWaterList(waterList);//水集合
stackedAreaChartDataVO.setConsumeList( consumeList);//电耗集合
stackedAreaChartDataVO.setDateList(dateList );//日期集合
stackedAreaChartDataVO.setXAxis(dateList);
List<String> yaXisList = new ArrayList<String>();
yaXisList.addAll(electricityList ) ;//电
yaXisList.addAll( waterList) ;//水
yaXisList.addAll(consumeList ) ;//电耗
stackedAreaChartDataVO.setYAxis( yaXisList );
Result<StackedAreaChartDataVO> result = new Result<>();
result.setSuccess(true);
......@@ -250,7 +399,36 @@ public class SysCommandCentreController {
}
private SysCommandCentreResultVO convertSysAlgorithmStatisticsResultNumberVO(FReportItemv currenteportItemv, FReportItemv lastMonthReportItemv ,FReportItemv lastYearReportItemv ){
/***
* 整理数据: 月统计数据、日统计数据,添加去年月数据、日数据、年数据
* @param currenteportItemv
* @param lastMonthReportItemv
* @param lastYearReportItemv
* @return
*/
private List<FRportlCommandCenterVO> arrangeFRportlCommandCenterVO(FReportItemv currenteportItemv, FReportItemv lastMonthReportItemv ,FReportItemv lastYearReportItemv ){
List<FRportlCommandCenterVO> commandCenterVOList = new ArrayList<FRportlCommandCenterVO>();
FRportlCommandCenterVO monthData = new FRportlCommandCenterVO();//当月数据
FRportlCommandCenterVO dayData = new FRportlCommandCenterVO();//日数据
//FRportlCommandCenterVO yearData = new FRportlCommandCenterVO();//年数据
monthData.setValue( DigitalUtils.division(currenteportItemv.getSumValue() ,"10000") );
monthData.setValueHb( DigitalUtils.division( lastMonthReportItemv.getSumValue(),"10000"));//上月同期;
monthData.setValueTb( DigitalUtils.division( lastYearReportItemv.getSumValue(),"10000") );//去年同期
dayData.setValue( DigitalUtils.division( currenteportItemv.getAvgValue(),"10000"));
dayData.setValueHb( DigitalUtils.division( lastMonthReportItemv.getAvgValue(),"10000"));//上月同期;
dayData.setValueTb( DigitalUtils.division( lastYearReportItemv.getAvgValue(),"10000") );//去年同期
//dayData.setValue(currenteportItemv.getAvgValue());lastMonthReportItemv.getAvgValue(); lastYearReportItemv.getAvgValue();
// yearData.setValue();yearData.setValueHb(); yearData.setValueTb();
commandCenterVOList.add( monthData ) ;
commandCenterVOList.add( dayData );
return commandCenterVOList;
}
/* private SysCommandCentreResultVO convertSysAlgorithmStatisticsResultNumberVO(FReportItemv currenteportItemv, FReportItemv lastMonthReportItemv ,FReportItemv lastYearReportItemv ){
SysCommandCentreResultVO commandCentreResultVO = new SysCommandCentreResultVO();
FRportlCommandCenterVO monthData = new FRportlCommandCenterVO();//当月数据
FRportlCommandCenterVO dayData = new FRportlCommandCenterVO();//日数据
......@@ -268,5 +446,5 @@ public class SysCommandCentreController {
commandCentreResultVO.setMonthData( monthData ) ;
commandCentreResultVO.setDayData( dayData );
return commandCentreResultVO;
}
}*/
}
......
......@@ -2,8 +2,12 @@ package com.skua.modules.algorithm.service;
import com.skua.modules.report.entity.FReportItemv;
import com.skua.modules.report.vo.DepartLoadRateVO;
import com.skua.modules.report.vo.FRportlCommandCenterVO;
import com.skua.modules.report.vo.ReportDateTrendVO;
import com.skua.modules.report.vo.ReportItemvParam;
import java.util.List;
import java.util.Map;
/**
* <pre>
......@@ -17,17 +21,17 @@ public interface ICommandCentreService {
/**
* 指挥中心---运行负荷率分析
* @param loadRateType
* @param reportItemvParam
* @return
*/
public List<DepartLoadRateVO> statisticsByLoadRate(Integer loadRateType);
public List<DepartLoadRateVO> statisticsByLoadRate(ReportItemvParam reportItemvParam);
/**
* 指挥中心---运行负荷率分析 总数查询
* @param loadRateType
* @return
*/
public int statisticsByLoadRateNum(int loadRateType);
public int statisticsByLoadRateNum(int loadRateType,String startDate, String endDate);
/**
......@@ -40,14 +44,24 @@ public interface ICommandCentreService {
public FReportItemv getReportItemvByReitIdAndDate(String reportId, String reportItemCode, String startDate, String endDate);
/**
* 根据reitId查询近7天数据
* @param reportId
* @param reportItemCode
* @param dateTime
* 根据reitId查询近几天数据
* @param reportItemvParam
* @return
*/
public List<String> getReportItemvByReitIdAndDate7Day(String reportId, String reportItemCode, String dateTime);
public List<ReportDateTrendVO> getReportItemvByReitIdAndDate7Day(ReportItemvParam reportItemvParam);
/***
* 查询报表数据,当前月统计、上个月统计、去年当月统计(求和)
* @param reportItemvParam
* @return
*/
public FRportlCommandCenterVO getReportItemvMonthDataByReitId(ReportItemvParam reportItemvParam);
/***
* 查询报表数据,当日平均、上月同期、去年同期统计(求均值)
* @param reportItemvParam
* @return
*/
public FRportlCommandCenterVO getReportItemvDayDataByReitId( ReportItemvParam reportItemvParam);
}
......
package com.skua.modules.algorithm.service.impl;
import com.skua.modules.algorithm.service.ICommandCentreService;
import com.skua.modules.report.entity.FReportItem;
import com.skua.modules.report.entity.FReportItemv;
import com.skua.modules.report.mapper.FReportItemMapper;
import com.skua.modules.report.vo.DepartLoadRateVO;
import com.skua.modules.report.mapper.FReportItemvMapper;
import com.skua.modules.report.vo.FRportlCommandCenterVO;
import com.skua.modules.report.vo.ReportDateTrendVO;
import com.skua.modules.report.vo.ReportItemvParam;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -27,11 +31,11 @@ public class CommandCentreServiceImpl implements ICommandCentreService {
private FReportItemMapper reportItemMapper;
/**
* 指挥中心---运行负荷率分析
* @param loadRateType
* @param reportItemvParam
* @return
*/
public List<DepartLoadRateVO> statisticsByLoadRate(Integer loadRateType){
return fReportItemvMapper.statisticsByLoadRate(loadRateType);
public List<DepartLoadRateVO> statisticsByLoadRate(ReportItemvParam reportItemvParam){
return fReportItemvMapper.statisticsByLoadRate(reportItemvParam.getLoadRateType(),reportItemvParam.getStartDate(),reportItemvParam.getEndDate());
}
/**
......@@ -39,8 +43,8 @@ public class CommandCentreServiceImpl implements ICommandCentreService {
* @param loadRateType
* @return
*/
public int statisticsByLoadRateNum(int loadRateType){
return fReportItemvMapper.statisticsByLoadRateNum(loadRateType);
public int statisticsByLoadRateNum(int loadRateType,String startDate, String endDate){
return fReportItemvMapper.statisticsByLoadRateNum(loadRateType ,startDate, endDate );
}
/**
......@@ -53,29 +57,120 @@ public class CommandCentreServiceImpl implements ICommandCentreService {
public FReportItemv getReportItemvByReitIdAndDate(String reportId, String reportItemCode, String startDate, String endDate){
//根据reportId 与reportItemCode 查询reitId;
List<String> reitIdList = reportItemMapper.getReportItemId(reportId,reportItemCode);
//String reitId = reportItemMapper.getReportItemId(reportId,reportItemCode);
FReportItemv reportItemv = null;
if(reitIdList != null ){
reportItemv = fReportItemvMapper.getReportItemvByReitIdAndDate(reitIdList.get(0) , startDate , endDate);
List<FReportItem> reportItemList = reportItemMapper.getItemInfoByItemCode(reportItemCode,reportId);
if(reportItemList != null && !reportItemList.isEmpty() ){
reportItemv = fReportItemvMapper.getReportItemvByReitIdAndDate(reportItemList.get(0).getId() , startDate , endDate);
}
return reportItemv;
}
/**
* 根据reitId查询近7天数据
* @param reportId
* @param reportItemCode
* @param dateTime
* @param reportItemvParam
* @return
*/
public List<String> getReportItemvByReitIdAndDate7Day(String reportId, String reportItemCode, String dateTime){
public List<ReportDateTrendVO> getReportItemvByReitIdAndDate7Day(ReportItemvParam reportItemvParam){
//根据reportId 与reportItemCode 查询reitId;
List<String> reitIdList = reportItemMapper.getReportItemId(reportId,reportItemCode);
List<String> dataList = null;
if(reitIdList != null ){
dataList = fReportItemvMapper.getReportItemvByReitIdAndDate7Day(reitIdList.get(0) , dateTime);
String reitId = this.getReitId(reportItemvParam);
List<ReportDateTrendVO> dataList = null;
if(reitId != null ){
reportItemvParam.setReitId( reitId );
dataList = fReportItemvMapper.getReportItemvByReitIdAndDate7Day(reportItemvParam);
}
return dataList;
}
/***
* 查询报表数据,当前月统计、上个月统计、去年当月统计(求和)
* @param reportItemvParam
* @return
*/
public FRportlCommandCenterVO getReportItemvMonthDataByReitId(ReportItemvParam reportItemvParam){
FRportlCommandCenterVO fRportlCommandCenterVO = null;
//根据reportId 与reportItemCode 查询reitId;
String reitId = this.getReitId(reportItemvParam);
if(reitId != null ){
reportItemvParam.setReitId( reitId );
fRportlCommandCenterVO = fReportItemvMapper.getReportItemvMonthDataByReitId(reportItemvParam);
}else{
fRportlCommandCenterVO = new FRportlCommandCenterVO("0","0","0");
}
/* String reitId = getReitId(reportItemvParam.getReportItemCode(),reportItemvParam.getReportId());
if(reitId != null ){
reportItemvParam.setReitId( reitId );
fRportlCommandCenterVO = fReportItemvMapper.getReportItemvMonthDataByReitId(reportItemvParam);
}else{
fRportlCommandCenterVO = new FRportlCommandCenterVO("0","0","0");
}*/
return fRportlCommandCenterVO;
}
/***
* 查询报表数据,当日平均、上月同期、去年同期统计(求均值)
* @param reportItemvParam
* @return
*/
public FRportlCommandCenterVO getReportItemvDayDataByReitId( ReportItemvParam reportItemvParam){
/* //根据reportId 与reportItemCode 查询reitId;
List<FReportItem> reportItemList = reportItemMapper.getItemInfoByItemCode(reportItemvParam.getReportItemCode(),reportItemvParam.getReportId());
FRportlCommandCenterVO fRportlCommandCenterVO = null;
if(reportItemList != null && !reportItemList.isEmpty()){
reportItemvParam.setReitId( reportItemList.get(0).getId() );
fRportlCommandCenterVO = fReportItemvMapper.getReportItemvDayDataByReitId(reportItemvParam);
}*/
FRportlCommandCenterVO fRportlCommandCenterVO = null;
//根据reportId 与reportItemCode 查询reitId;
String reitId = this.getReitId(reportItemvParam);
if(reitId != null ){
reportItemvParam.setReitId( reitId );
fRportlCommandCenterVO = fReportItemvMapper.getReportItemvDayDataByReitId(reportItemvParam);
}else{
fRportlCommandCenterVO = new FRportlCommandCenterVO("0","0","0");
}
return fRportlCommandCenterVO;
}
/***
* 根据String itemCode, String reportId 查询reitId字段
* @param reportItemvParam
* @return
*/
private String getReitId( ReportItemvParam reportItemvParam){
List<FReportItem> reitIdList = reportItemMapper.getItemInfoByItemCode(reportItemvParam.getReportItemCode(),reportItemvParam.getReportId());
String reitId = null;
if(reitIdList != null && !reitIdList.isEmpty()){
reitId = reitIdList.get(0).getId();
}
return reitId;
}
/* private String getReitId( String itemCode, String reportId){
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
String sql = "select id from f_report_item where report_id = '"+reportId+"' and required='1' and item_code = '"+itemCode+"'";
// String sql = "SELECT column_name FROM table_name WHERE condition";
List<String> reitIdList = jdbcTemplate.query(sql, (rs, rowNum) -> rs.getString("id"));
//该方法会返回查询结果集中的第一条记录对应的指定字段值。
//String sql = "SELECT column_name FROM table_name WHERE condition";
//String reitId = jdbcTemplate.queryForObject(sql, String.class);
System.out.println(reitIdList+"----reitIdList");
String reitId = null;
if(reitIdList != null && !reitIdList.isEmpty()){
reitId = reitIdList.get(0);
}
return reitId;
}*/
}
......
......@@ -26,4 +26,11 @@ public class StackedAreaChartDataVO implements Serializable {
@ApiModelProperty(value = "日历集合")
List<String> dateList;
@ApiModelProperty(value = "日历集合")
List<String> xAxis;
@ApiModelProperty(value = "日历集合")
List<String> yAxis;
}
......
package com.skua.modules.guest.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Stream;
/**
* @author sonin
......@@ -80,6 +82,74 @@ public class DateUtil {
return formattedDate;
}
/***
* 字符串日期格式化
* @param date
* @param format
* @return
*/
public static String formatDate(String date , String format){
if(format == null ){
format = "yyyy-MM-dd";
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatSDF = new SimpleDateFormat(format);
// 转化成日期类型
try {
Date startDate = sdf.parse(date);
date = formatSDF.format(startDate);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 获取两个日期之间的所有日期 (年月日)
*
* @param startTime
* @param endTime
* @return
*/
public static List<String> getBetweenDate(String startTime, String endTime,String format){
if(format == null ){
format = "yyyy-MM-dd";
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatSDF = new SimpleDateFormat(format);
// 声明保存日期集合
List<String> list = new ArrayList<String>();
try {
// 转化成日期类型
Date startDate = sdf.parse(startTime);
Date endDate = sdf.parse(endTime);
Date currentDate = new Date();
if(currentDate.getTime() < endDate.getTime() ){
endDate = currentDate;
}
//用Calendar 进行日期比较判断
Calendar calendar = Calendar.getInstance();
while (startDate.getTime() < endDate.getTime()){
// 把日期添加到集合
list.add(formatSDF.format(startDate));
// 设置日期
calendar.setTime(startDate);
//把日期增加一天
calendar.add(Calendar.DATE, 1);
// 获取增加后的日期
startDate=calendar.getTime();
}
} catch (ParseException e) {
e.printStackTrace();
}
return list;
}
/**
* 获取7天日期数据,并指定显示格式
* @param dateFormat
......
......@@ -85,23 +85,26 @@ public class SafetyOffenceRecordController {
String role_ah_id = sysConfigService.queryValueByKey("ROLE_AH_ADMIN");//安环管理员角色编号
String role_cz_id = sysConfigService.queryValueByKey("ROLE_CZ");//厂长角色编号
String userRoleIds = BaseContextHandler.getRoles();
safetyOffenceRecord.setDepartId( "0" );//屏蔽数据使用;非安环管理员、与厂长角色看不到数据
//安装部长角色看集团类型的违法上报
if( userRoleIds != null && userRoleIds.contains( role_ah_id ) ){//判断安环管理员
safetyOffenceRecord.setDepartId( null );
safetyOffenceRecord.setReportType("1");//上报集团--默认
flag = false;
}
if( userRoleIds != null && userRoleIds.contains( role_cz_id ) ){//判断 厂长 ,查询分管的所有长编号
safetyOffenceRecord.setDepartId( BaseContextHandler.getDeparts() );//BaseContextHandler.getRealDepartId()
safetyOffenceRecord.setReportType("2");//上报厂长
flag = true;
}
//各个厂长角色看到厂长类型的违法上报 departId
QueryWrapper<SafetyOffenceRecord> queryWrapper = QueryGenerator.initQueryWrapper(safetyOffenceRecord, req.getParameterMap());
Page<SafetyOffenceRecord> page = new Page<SafetyOffenceRecord>(pageNo, pageSize);
if(flag ){
queryWrapper.in("depart_id", BaseContextHandler.getDeparts().split(","));
}
IPage<SafetyOffenceRecord> pageList = safetyOffenceRecordService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
......
......@@ -58,6 +58,7 @@ public class SafetyOffenceRecord {
/**上报类型:1 上报集团 2 上报厂长*/
@Excel(name = "上报类型:1 上报集团 2 上报厂长", width = 15)
@ApiModelProperty(value = "上报类型:1 上报集团 2 上报厂长")
@Dict(dicCode = "safe_offence_report_type")
private String reportType;
/**违章照片*/
@Excel(name = "违章照片", width = 15)
......
......@@ -42,6 +42,7 @@ public class SafetyOffenceStandard {
/**违章标准类型*/
@Excel(name = "违章标准类型", width = 15)
@ApiModelProperty(value = "违章标准类型")
@Dict(dicCode="safe_offence_type")
private String offenceType;
/**备注*/
@Excel(name = "备注", width = 15)
......
......@@ -127,7 +127,7 @@ mybatis-plus:
configuration:
call-setters-on-nulls: true
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#数矿专用配置
skua:
web-url: http://192.168.100.29:3000
......@@ -188,3 +188,6 @@ ar-remote-meeting:
url: https://47.104.179.187:8443/api/
# mqtt服务地址
mqtt-url: tcp://47.104.179.187:1883
......
......@@ -18,13 +18,6 @@ public interface FReportItemMapper extends BaseMapper<FReportItem> {
List<FReportItem> getListByReportId(@Param("reportId") String reportId);
/**
* 根据 itemCode 与reportId 查询id
* @param reportId
* @param reportItemCode
* @return
*/
public List<String> getReportItemId(@Param("reportId") String reportId,@Param("itemCode") String reportItemCode);
void changeStatus(@Param("id") String id, @Param("required") String required);
......
package com.skua.modules.report.mapper;
import com.skua.modules.report.vo.DepartLoadRateVO;
import com.skua.modules.report.vo.FRportlCommandCenterVO;
import com.skua.modules.report.vo.ReportDateTrendVO;
import com.skua.modules.report.vo.ReportItemvParam;
import org.apache.ibatis.annotations.Param;
import com.skua.modules.report.entity.FReportItemv;
......@@ -58,20 +60,34 @@ public interface FReportItemvMapper extends BaseMapper<FReportItemv> {
* @param loadRateType
* @return
*/
public List<DepartLoadRateVO> statisticsByLoadRate(@Param("loadRateType") Integer loadRateType);
public List<DepartLoadRateVO> statisticsByLoadRate(@Param("loadRateType") Integer loadRateType,@Param("startDate") String startDate,@Param("endDate") String endDate);
/**
* 指挥中心---运行负荷率分析 总数查询
* @param loadRateType
* @return
*/
public int statisticsByLoadRateNum(@Param("loadRateType") Integer loadRateType);
public int statisticsByLoadRateNum(@Param("loadRateType") Integer loadRateType,@Param("startDate") String startDate,@Param("endDate") String endDate);
/**
* 根据reitId查询近7天数据
* @param reitId
* @param dateTime
* @param reportItemvParam
* @return
*/
public List<ReportDateTrendVO> getReportItemvByReitIdAndDate7Day(ReportItemvParam reportItemvParam);
/***
* 查询报表数据,当前月统计、上个月统计、去年当月统计(求和)
* @param reportItemvParam
* @return
*/
public FRportlCommandCenterVO getReportItemvMonthDataByReitId( ReportItemvParam reportItemvParam);
/***
* 查询报表数据,当日平均、上月同期、去年同期统计(求均值)
* @param reportItemvParam
* @return
*/
public List<String> getReportItemvByReitIdAndDate7Day(@Param("reitId") String reitId, @Param("dateTime") String dateTime);
public FRportlCommandCenterVO getReportItemvDayDataByReitId(ReportItemvParam reportItemvParam);
}
......
......@@ -19,13 +19,6 @@
</select>
<!-- 根据 itemCode 与reportId 查询id -->
<select id="getReportItemId" resultType="java.lang.String">
select id from f_report_item
where report_id = #{reportId} and required='1' and item_code = #{itemCode}
</select>
<update id="changeStatus">
update f_report_item set required = #{required} where id = #{id}
</update>
......
......@@ -101,10 +101,29 @@
</select>
<!-- 根据reitId查询近7天数据-->
<select id="statisticsByLoadRateNum" resultType="java.lang.Integer">
SELECT sum(item_value) FROM f_report_itemv where reit_id=#{reitId} and DATE_SUB( CURDATE(), INTERVAL 7 DAY ) &lt;= date(data_time)
<select id="getReportItemvByReitIdAndDate7Day" resultType="com.skua.modules.report.vo.ReportDateTrendVO">
SELECT sum(item_value) as 'value' , data_time as 'date' FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{startDate} and data_time &lt;= #{endDate}
group by data_time
</select>
<!--查询报表数据,当前月统计、上个月统计、去年当月统计(求和) -->
<select id="getReportItemvMonthDataByReitId" resultType="com.skua.modules.report.vo.FRportlCommandCenterVO">
select
IFNULL(( SELECT sum(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{startDate} and data_time &lt;= #{endDate}),0) as 'value',
IFNULL(( SELECT sum(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{lastMonthStartDate} and data_time &lt;= #{lastMonthEndDate}),0) as 'valueTb',
IFNULL(( SELECT sum(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{lastYearStartDate} and data_time &lt;= #{lastYearEndDate} ),0) as 'valueHb'
from dual
</select>
<!--查询报表数据,当日平均、上月同期、去年同期统计(求均值) -->
<select id="getReportItemvDayDataByReitId" resultType="com.skua.modules.report.vo.FRportlCommandCenterVO">
select
IFNULL(( SELECT avg(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{startDate} and data_time &lt;= #{endDate}),0) as 'value',
IFNULL(( SELECT avg(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{lastMonthStartDate} and data_time &lt;= #{lastMonthEndDate}),0) as 'valueTb',
IFNULL(( SELECT avg(item_value) FROM f_report_itemv where reit_id=#{reitId} and data_time &gt;= #{lastYearStartDate} and data_time &lt;= #{lastYearEndDate} ),0) as 'valueHb'
from dual
</select>
</mapper>
......
package com.skua.modules.report.vo;
import com.skua.tool.util.DigitalUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -23,4 +24,20 @@ public class DepartLoadRateVO implements Serializable{
@ApiModelProperty(value = "处理水量(吨/月)")
private String waterYieldMonth;
/***
* 计算精度
*/
public void accuracy(){
String loadRate = getLoadRate();
setLoadRate(DigitalUtils.division(loadRate , "1.0" ));
String qualifyRate = getQualifyRate();
setQualifyRate(DigitalUtils.division(qualifyRate , "1.0" ));
String waterYieldMonth = getWaterYieldMonth();
this.setWaterYieldMonth( DigitalUtils.division(waterYieldMonth , "1.0" ) );
}
}
......
......@@ -16,31 +16,22 @@ public class FRportlCommandCenterVO implements Serializable {
private String title;
@ApiModelProperty(value = "结果")
private String value;
/* @ApiModelProperty(value = "最大值")
private Object maxValue;
@ApiModelProperty(value = "最小值")
private Object minValue;*/
@ApiModelProperty(value = "上月同期")
private String valueTb;
@ApiModelProperty(value = "去年同期")
private String valueHb;
/* @ApiModelProperty(value = "同比比例")
private Object valueTbProportion;
@ApiModelProperty(value = "同比差值")
private Object valueTbDifference;
public FRportlCommandCenterVO() {
}
public FRportlCommandCenterVO(String value) {
this.value = value;
}
@ApiModelProperty(value = "环比比例")
private Object valueHbProportion;
@ApiModelProperty(value = "环比差值")
private Object valueHbDifference;
@ApiModelProperty(value = "上期")
private Object valuePre;
@ApiModelProperty(value = "上期比例")
private Object valuePreProportion;
@ApiModelProperty(value = "上期差值")
private Object valuePreDifference;
@ApiModelProperty(value = "单位")
private String unit;*/
public FRportlCommandCenterVO(String value, String valueTb, String valueHb) {
this.value = value;
this.valueTb = valueTb;
this.valueHb = valueHb;
}
}
......
package com.skua.modules.report.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 统计功能配置表
*/
@Data
@ApiModel(value="控制中心报表---日期趋势对象", description="控制中心报表---日期趋势对象")
public class ReportDateTrendVO implements Serializable{
@ApiModelProperty(value = "当前月数据")
private String date;
@ApiModelProperty(value = "当前月数据")
private String value;
}
......@@ -47,6 +47,10 @@ public class ReportItemvParam implements Serializable{
private java.lang.String lastYearEndDate;
@ApiModelProperty(value = "负载率类型")
private Integer loadRateType;
/**
* 初始化数据
* @param startTime
......@@ -54,7 +58,26 @@ public class ReportItemvParam implements Serializable{
*/
public ReportItemvParam(String reportId ,String reportItemCode ,String startTime , String endTime){
try {
this.reitId = reportId;
this.reportId = reportId;
this.reportItemCode = reportItemCode;
if(startTime != null && startTime.length() > 0 ){
this.startDate = startTime;
this.lastMonthStartDate = DateUtils.formatAddTime(startTime, "yyyy-MM-dd", Calendar.MONTH, -1);
this.lastYearStartDate = DateUtils.formatAddTime(startTime, "yyyy-MM-dd", Calendar.YEAR, -1);
}
if(endTime != null && endTime.length() > 0 ){
this.endDate = endTime;
this.lastMonthEndDate = DateUtils.formatAddTime(endTime, "yyyy-MM-dd", Calendar.MONTH, -1);
this. lastYearEndDate = DateUtils.formatAddTime(endTime, "yyyy-MM-dd", Calendar.YEAR, -1);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
public void initData(String reportId ,String reportItemCode ,String startTime , String endTime){
try {
this.reportId = reportId;
this.reportItemCode = reportItemCode;
if(startTime != null && startTime.length() > 0 ){
this.startDate = startTime;
......@@ -72,4 +95,5 @@ public class ReportItemvParam implements Serializable{
}
}
......
......@@ -491,7 +491,7 @@
</select>
<!-- 获取总的设计规模-->
<select id="" resultType="java.lang.String">
<select id="querySumProScale" resultType="java.lang.String">
select sum(pro_scale) from sys_factory_info
</select>
</mapper>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!