|
@@ -121,7 +121,8 @@ public class RyTask
|
|
|
* 出水总氮 的预测:使用 (xsy1 + xsy2) /2 /0.8 做为出水总氮的结果
|
|
|
*
|
|
|
*/
|
|
|
- public static final String[] predictorArr = {"出水COD", "出水SS", "出水总磷", "出水氨氮"};
|
|
|
+// public static final String[] predictorArr = {"出水COD", "出水SS", "出水总磷", "出水氨氮"};
|
|
|
+ public static final String[] predictorArr = {"出水COD", "出水SS", "出水总磷", "出水氨氮", "xsy1", "xsy2"};
|
|
|
public static final String[] predictorArrSpecial = {"xsy1", "xsy2"};
|
|
|
|
|
|
/**
|
|
@@ -676,7 +677,8 @@ public class RyTask
|
|
|
List<TXinyiIndustry> tXinyiIndustries6 = this.xinyiIndustryMapper.selectNIndustry(6);
|
|
|
List<TXinyiRobot> tXinyiRobots6 = this.xinyiRobotMapper.selectNRobot(6);
|
|
|
//先处理xsy1 和 xsy2 合并成一个数据
|
|
|
- this.predictorSpecial(tXinyiIndustries6, tXinyiRobots6);
|
|
|
+// this.predictorSpecial(tXinyiIndustries6, tXinyiRobots6);
|
|
|
+ //2024年7月11日16:55:27 xsy1 和 xsy2 又不合并了。。。 再次分开处理
|
|
|
for (int i = 0; i < predictorArr.length; i++) {
|
|
|
String result = getPredictor(predictorArr[i]);
|
|
|
if(StringUtils.isBlank(result) || "error".equals(result)){
|
|
@@ -898,7 +900,8 @@ public class RyTask
|
|
|
//2024年6月18日13:41:10 统一格式,否则查询不到结果
|
|
|
//2024年6月18日10:36:49 增加预测记录,预测准确度计算等
|
|
|
TXinyiForecastComparison tXinyiForecastComparison = new TXinyiForecastComparison();
|
|
|
- tXinyiForecastComparison.setCategory(task);
|
|
|
+ //2024年7月11日17:04:11 TP改为zlsy
|
|
|
+ tXinyiForecastComparison.setCategory("tp".equalsIgnoreCase(task) ? ZLSY : task);
|
|
|
tXinyiForecastComparison.setForecastTimeOne(dates[0].replaceAll("-", "/") + " " + hours[0]);
|
|
|
tXinyiForecastComparison.setForecastTimeTwo(dates[1].replaceAll("-", "/") + " " + hours[1]);
|
|
|
tXinyiForecastComparison.setForecastTimeThree(dates[2].replaceAll("-", "/") + " " + hours[2]);
|
|
@@ -1101,11 +1104,11 @@ public class RyTask
|
|
|
chartsDataList.add(chartBasic);
|
|
|
}
|
|
|
handleXinYiWarningsYC(csadBzz, split, csadGkz, BusinessEnum.WarningCategoryEnum.CS_AD_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsNh3(), tXinyiIndustry, chartsDataList, date);
|
|
|
- }/*else if("xsy1".equals(task)){
|
|
|
+ }else if("xsy1".equals(task)){
|
|
|
//2024年6月21日14:57:02 红杉的出水总氮预测改成 不用工业库的,用化验科的两个xsy 相关指标
|
|
|
//同时调用跃渊的预测接口 保存记录值
|
|
|
try {
|
|
|
- String result = HttpUtil.get("http://10.0.3.52:10003/system/forecast?type=3&time=" + DateUtil.format(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD_HH), INT_10);
|
|
|
+ String result = HttpUtil.get("http://10.0.3.52:10003/system/forecast?type=3&time=" + DateUtil.format(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD_HH), INT_10000);
|
|
|
if(!StringUtils.isBlank(result)){
|
|
|
JSONArray array = JSON.parseArray(result);
|
|
|
tXinyiForecastComparison.setYyForecastOne(array.getBigDecimal(6));
|
|
@@ -1116,8 +1119,11 @@ public class RyTask
|
|
|
log.error("调用跃渊的预测接口出现异常,异常信息为{}", e.getMessage());
|
|
|
}
|
|
|
// this.xinyiForecastComparisonService.insertTXinyiForecastComparison(tXinyiForecastComparison);
|
|
|
- BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
|
|
|
- BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
|
|
|
+ /*BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
|
|
|
+ BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);*/
|
|
|
+ //2024年7月11日17:19:47 1#好氧硝酸盐、2#好氧硝酸盐使用总氮标准值和管控值来预警
|
|
|
+ BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
+ BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
//处理展示数据
|
|
|
for (int i = 0; i < tXinyiRobots6.size(); i++) {
|
|
|
TXinyiRobot tXinyiRobotTemp = tXinyiRobots6.get(5 - i);
|
|
@@ -1133,11 +1139,26 @@ public class RyTask
|
|
|
chartBasic.setVal(new BigDecimal(val));
|
|
|
chartsDataList.add(chartBasic);
|
|
|
}
|
|
|
- handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_1_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
|
|
|
+ handleXinYiWarningsYC(cszzBzz, split, cszzGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_1_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
|
|
|
}else if("xsy2".equals(task)){
|
|
|
+ //同时调用跃渊的预测接口 保存记录值
|
|
|
+ try {
|
|
|
+ String result = HttpUtil.get("http://10.0.3.52:10003/system/forecast?type=3&time=" + DateUtil.format(DateUtils.getNowDate(), DateUtils.YYYY_MM_DD_HH), INT_10000);
|
|
|
+ if(!StringUtils.isBlank(result)){
|
|
|
+ JSONArray array = JSON.parseArray(result);
|
|
|
+ tXinyiForecastComparison.setYyForecastOne(array.getBigDecimal(6));
|
|
|
+ tXinyiForecastComparison.setYyForecastTwo(array.getBigDecimal(7));
|
|
|
+ tXinyiForecastComparison.setYyForecastThree(array.getBigDecimal(8));
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("调用跃渊的预测接口出现异常,异常信息为{}", e.getMessage());
|
|
|
+ }
|
|
|
// this.xinyiForecastComparisonService.insertTXinyiForecastComparison(tXinyiForecastComparison);
|
|
|
- BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
|
|
|
- BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);
|
|
|
+ /*BigDecimal cscodBzz = new BigDecimal(XIAOSUANYAN_BZK);
|
|
|
+ BigDecimal cscodGkz = new BigDecimal(XIAOSUANYAN_GKZ);*/
|
|
|
+ //2024年7月11日17:19:47 1#好氧硝酸盐、2#好氧硝酸盐使用总氮标准值和管控值来预警
|
|
|
+ BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
+ BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
//处理展示数据
|
|
|
for (int i = 0; i < tXinyiRobots6.size(); i++) {
|
|
|
TXinyiRobot tXinyiRobotTemp = tXinyiRobots6.get(5 - i);
|
|
@@ -1153,8 +1174,8 @@ public class RyTask
|
|
|
chartBasic.setVal(new BigDecimal(val));
|
|
|
chartsDataList.add(chartBasic);
|
|
|
}
|
|
|
- handleXinYiWarningsYC(cscodBzz, split, cscodGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_2_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
|
|
|
- }*/else {
|
|
|
+ handleXinYiWarningsYC(cszzBzz, split, cszzGkz, BusinessEnum.WarningCategoryEnum.CS_XSY_2_YC.getCode(), hour, normConfig,tXinyiIndustry.getCsCod(), tXinyiIndustry, chartsDataList, date);
|
|
|
+ }else {
|
|
|
log.error("暂未支持的类型{}", task);
|
|
|
}
|
|
|
//插入到数据库
|