|
@@ -2991,7 +2991,7 @@ public class AsyncTask {
|
|
|
* @param category
|
|
|
* @return
|
|
|
*/
|
|
|
- private WarningMoreExceed handleXinYiWarningRecordRobotMore(BigDecimal currentVal, String category) {
|
|
|
+ private WarningMoreExceed handleXinYiWarningRecordRobotMore(BigDecimal csBzz, BigDecimal currentVal, BigDecimal csGkz, String category, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig, BigDecimal cwrwfhz) {
|
|
|
WarningMoreExceed warningMoreExceed = new WarningMoreExceed();
|
|
|
boolean breakpoint = false;
|
|
|
|
|
@@ -3015,15 +3015,19 @@ public class AsyncTask {
|
|
|
breakpoint = true;
|
|
|
//触发报警 并且模拟大模型返回决策问答数据
|
|
|
//插入该类型报警
|
|
|
- warningRecord.setType(0);
|
|
|
- warningRecord.setCategory(category);
|
|
|
warningRecord.setTime(nowDate);
|
|
|
warningRecord.setReason(category + BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getMsg());
|
|
|
- warningRecord.setWaterType(BusinessEnum.WaterTypeEnum.JS.getCode());
|
|
|
+ warningRecord.setWaterType(BusinessEnum.WaterTypeEnum.CS.getCode());
|
|
|
warningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_SINGLE.getCode());
|
|
|
warningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
warningRecord.setCreateTime(nowDate);
|
|
|
warningRecord.setWarningVal(currentVal);
|
|
|
+ warningRecord.setDesignVal(csBzz);
|
|
|
+ warningRecord.setControlVal(csGkz);
|
|
|
+ warningRecord.setRemark(THREE_HYS_WARNING.getCode());//化验室
|
|
|
+ warningRecord.setCwrwfhz(cwrwfhz);//2025年02月14日10:42:53 具体指标具体计算,由上游传过来。
|
|
|
+ warningRecord.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, false));//根据当前值和类型以及是否超标处理
|
|
|
+ //存起来
|
|
|
warningMoreExceed.setBreakPointWarningRecord(warningRecord);
|
|
|
// this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(warningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
@@ -4294,9 +4298,22 @@ public class AsyncTask {
|
|
|
BigDecimal no3Qyc2Jqr = tXinyiRobot.getNo3Qyc2Jqr();
|
|
|
BigDecimal nh32Jqr = tXinyiRobot.getNh32Jqr();
|
|
|
|
|
|
+ //总氮的标准值和管控值
|
|
|
+ BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
+ BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
+ //氨氮的标准值和管控值
|
|
|
+ BigDecimal csadBzz = normConfig.getCsadBzz();
|
|
|
+ BigDecimal csadGkz = normConfig.getCsadGkz();
|
|
|
+
|
|
|
+ BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
|
|
|
+ BigDecimal jsslSjz = normConfig.getJsslSjz();
|
|
|
+
|
|
|
+ BigDecimal cszlBzz = normConfig.getCszlBzz();
|
|
|
+ BigDecimal cszlGkz = normConfig.getCszlGkz();
|
|
|
+
|
|
|
WarningMoreExceed warningMoreExceed = null;
|
|
|
if(!Objects.isNull(no3Hlj1Jqr)){
|
|
|
- warningMoreExceed = handleXinYiWarningRecordRobotMore(no3Hlj1Jqr, ROBOT_XSY_1.getCode());
|
|
|
+ warningMoreExceed = handleXinYiWarningRecordRobotMore(cszzBzz, no3Hlj1Jqr, cszzGkz, ROBOT_XSY_1.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
if(warningMoreExceed.isBreakpoint()){
|
|
|
breakpointCount++;
|
|
|
breakPointList.add(warningMoreExceed.getBreakPointWarningRecord());
|
|
@@ -4305,7 +4322,7 @@ public class AsyncTask {
|
|
|
|
|
|
|
|
|
if(!Objects.isNull(no3Hlj2Jqr)){
|
|
|
- warningMoreExceed = handleXinYiWarningRecordRobotMore(no3Hlj2Jqr, ROBOT_XSY_2.getCode());
|
|
|
+ warningMoreExceed = handleXinYiWarningRecordRobotMore(cszzBzz, no3Hlj2Jqr, cszzGkz, ROBOT_XSY_2.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
if(warningMoreExceed.isBreakpoint()){
|
|
|
breakpointCount++;
|
|
|
breakPointList.add(warningMoreExceed.getBreakPointWarningRecord());
|
|
@@ -4315,7 +4332,7 @@ public class AsyncTask {
|
|
|
|
|
|
if(!Objects.isNull(tpRccJqr)){
|
|
|
BigDecimal csTp = tpRccJqr.divide(ROBOT_HY_DIVIDE, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
- warningMoreExceed = handleXinYiWarningRecordRobotMore(csTp, ROBOT_ECCZLSY.getCode());
|
|
|
+ warningMoreExceed = handleXinYiWarningRecordRobotMore(cszlBzz, csTp, cszlGkz, ROBOT_ECCZLSY.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTp(), jsslSjz, normConfig.getJszlSjz()));
|
|
|
if(warningMoreExceed.isBreakpoint()){
|
|
|
breakpointCount++;
|
|
|
breakPointList.add(warningMoreExceed.getBreakPointWarningRecord());
|
|
@@ -4341,7 +4358,7 @@ public class AsyncTask {
|
|
|
no3Hlj2Jqr = BigDecimal.ZERO;
|
|
|
BigDecimal anDan2 = no3Qyc2Jqr.add(nh32Jqr).subtract(no3Hlj2Jqr);
|
|
|
BigDecimal divide = anDan1.add(anDan2).divide(DECIMAL_2, INT_2, RoundingMode.HALF_UP);
|
|
|
- warningMoreExceed = handleXinYiWarningRecordRobotMore(divide, ROBOT_CS_AD.getCode());
|
|
|
+ warningMoreExceed = handleXinYiWarningRecordRobotMore(csadBzz, divide, csadGkz, ROBOT_CS_AD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsNh3(), jsslSjz, normConfig.getJsadSjz()));
|
|
|
if(warningMoreExceed.isBreakpoint()){
|
|
|
breakpointCount++;
|
|
|
breakPointList.add(warningMoreExceed.getBreakPointWarningRecord());
|
|
@@ -4350,7 +4367,6 @@ public class AsyncTask {
|
|
|
|
|
|
//下面是处理多个指标的 【断点】报警
|
|
|
//断点
|
|
|
- Date nowDate = DateUtils.getNowDate();
|
|
|
TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode()).status(0).build();
|
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);
|
|
|
if(breakpointCount < 1){//恢复正常 关闭多个断点报警
|
|
@@ -4418,10 +4434,21 @@ public class AsyncTask {
|
|
|
if(CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
|
//新增的断点的数据全部都报警
|
|
|
for (TXinyiWarningRecord tXinyiWarningRecord : breakPointList) {
|
|
|
+ String category = tXinyiWarningRecord.getCategory();
|
|
|
+ //后续对应的指标是否可以进行报警
|
|
|
+ //如果出现单指标报警 标识后续同指标是否可以继续报警
|
|
|
+ if(ROBOT_XSY_1.getCode().equals(category))
|
|
|
+ xsy1Execute = false;
|
|
|
+ if(ROBOT_XSY_2.getCode().equals(category))
|
|
|
+ xsy2Execute = false;
|
|
|
+ if(ROBOT_ECCZLSY.getCode().equals(category))
|
|
|
+ ecczlxyExecute = false;
|
|
|
+ if(ROBOT_CS_AD.getCode().equals(category))
|
|
|
+ csADExecute = false;
|
|
|
//关闭该指标的其他类型的报警
|
|
|
- closeOtherWarningsByCategory(tXinyiWarningRecord.getCategory(), BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
+ closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
//原来集合里存放的都是单指标异常 下面2个值需要重新赋值
|
|
|
- tXinyiWarningRecord.setReason(tXinyiWarningRecord.getCategory() + BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getMsg());
|
|
|
+ tXinyiWarningRecord.setReason(category + BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getMsg());
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
@@ -4435,11 +4462,22 @@ public class AsyncTask {
|
|
|
//插入新的报警
|
|
|
if(!CollectionUtils.isEmpty(breakPointListNew)){
|
|
|
for (TXinyiWarningRecord tXinyiWarningRecord : breakPointListNew) {
|
|
|
+ String category = tXinyiWarningRecord.getCategory();
|
|
|
+ //后续对应的指标是否可以进行报警
|
|
|
+ //如果出现单指标报警 标识后续同指标是否可以继续报警
|
|
|
+ if(ROBOT_XSY_1.getCode().equals(category))
|
|
|
+ xsy1Execute = false;
|
|
|
+ if(ROBOT_XSY_2.getCode().equals(category))
|
|
|
+ xsy2Execute = false;
|
|
|
+ if(ROBOT_ECCZLSY.getCode().equals(category))
|
|
|
+ ecczlxyExecute = false;
|
|
|
+ if(ROBOT_CS_AD.getCode().equals(category))
|
|
|
+ csADExecute = false;
|
|
|
//关闭该指标的其他类型的报警
|
|
|
- closeOtherWarningsByCategory(tXinyiWarningRecord.getCategory(), BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
+ closeOtherWarningsByCategory(category, BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
//新插入
|
|
|
//原来集合里存放的都是单指标异常 下面2个值需要重新赋值
|
|
|
- tXinyiWarningRecord.setReason(tXinyiWarningRecord.getCategory() + BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getMsg());
|
|
|
+ tXinyiWarningRecord.setReason(category + BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getMsg());
|
|
|
tXinyiWarningRecord.setSymbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode());
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
@@ -4455,7 +4493,8 @@ public class AsyncTask {
|
|
|
}
|
|
|
}
|
|
|
//如果出现多指标问题,后续的报警不再处理
|
|
|
- return;
|
|
|
+ //2025年03月03日17:31:53 只有上述指标出现异常的,才不可以报警,不会让所有的都不报警
|
|
|
+// return;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -4464,15 +4503,6 @@ public class AsyncTask {
|
|
|
// robotOriginWarning(tXinyiRobot, normConfig, tXinyiIndustry);
|
|
|
//这里需要根据是否出现了断点判断,做不同的 其他类型的报警 不能执行所有指标的 因为有可能某个指标是 单指标断点,这种的就不用执行其他报警了
|
|
|
|
|
|
- //总氮的标准值和管控值
|
|
|
- BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
- BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
- //氨氮的标准值和管控值
|
|
|
- BigDecimal csadBzz = normConfig.getCsadBzz();
|
|
|
- BigDecimal csadGkz = normConfig.getCsadGkz();
|
|
|
-
|
|
|
- BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
|
|
|
- BigDecimal jsslSjz = normConfig.getJsslSjz();
|
|
|
|
|
|
//#1好氧硝酸盐
|
|
|
if(!Objects.isNull(no3Hlj1Jqr) && no3Hlj1Jqr.compareTo(BigDecimal.ZERO) > 0 && xsy1Execute){
|
|
@@ -4491,8 +4521,6 @@ public class AsyncTask {
|
|
|
//总磷
|
|
|
if(!Objects.isNull(tpRccJqr) && tpRccJqr.compareTo(BigDecimal.ZERO) > 0 && ecczlxyExecute){
|
|
|
BigDecimal csTp = tpRccJqr.divide(ROBOT_HY_DIVIDE, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal cszlBzz = normConfig.getCszlBzz();
|
|
|
- BigDecimal cszlGkz = normConfig.getCszlGkz();
|
|
|
if(!Objects.isNull(cszlBzz)){
|
|
|
handleXinYiWarningsRobotOrigin(cszlBzz, csTp, cszlGkz, ROBOT_ECCZLSY.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTp(), jsslSjz, normConfig.getJszlSjz()));
|
|
|
}
|
|
@@ -4506,73 +4534,73 @@ public class AsyncTask {
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void robotOriginWarning(TXinyiRobot tXinyiRobot, TXinyiNormConfig normConfig, TXinyiIndustry tXinyiIndustry) {
|
|
|
- //总氮的标准值和管控值
|
|
|
- BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
- BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
- //氨氮的标准值和管控值
|
|
|
- BigDecimal csadBzz = normConfig.getCsadBzz();
|
|
|
- BigDecimal csadGkz = normConfig.getCsadGkz();
|
|
|
-
|
|
|
- BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
|
|
|
- BigDecimal jsslSjz = normConfig.getJsslSjz();
|
|
|
-
|
|
|
- //#1好氧硝酸盐
|
|
|
- BigDecimal no3Hlj1Jqr = tXinyiRobot.getNo3Hlj1Jqr();
|
|
|
- if(!Objects.isNull(no3Hlj1Jqr)){
|
|
|
- if(!Objects.isNull(cszzBzz)){
|
|
|
- handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj1Jqr, cszzGkz, ROBOT_XSY_1.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //#2好氧硝酸盐
|
|
|
- BigDecimal no3Hlj2Jqr = tXinyiRobot.getNo3Hlj2Jqr();
|
|
|
- if(!Objects.isNull(no3Hlj2Jqr)){
|
|
|
- if(!Objects.isNull(cszzBzz)){
|
|
|
- handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj2Jqr, cszzGkz, ROBOT_XSY_2.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //总磷
|
|
|
- BigDecimal tpRccJqr = tXinyiRobot.getTpRccJqr();
|
|
|
- if(!Objects.isNull(tpRccJqr)){
|
|
|
- BigDecimal csTp = tpRccJqr.divide(ROBOT_HY_DIVIDE, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal cszlBzz = normConfig.getCszlBzz();
|
|
|
- BigDecimal cszlGkz = normConfig.getCszlGkz();
|
|
|
- if(!Objects.isNull(cszlBzz)){
|
|
|
- handleXinYiWarningsRobotOrigin(cszlBzz, csTp, cszlGkz, ROBOT_ECCZLSY.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTp(), jsslSjz, normConfig.getJszlSjz()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //1#缺氧出-硝酸盐
|
|
|
- BigDecimal no3Qyc1Jqr = tXinyiRobot.getNo3Qyc1Jqr();
|
|
|
- BigDecimal nh31Jqr = tXinyiRobot.getNh31Jqr();
|
|
|
- //判断 增加容错
|
|
|
- if(Objects.isNull(no3Qyc1Jqr))
|
|
|
- no3Qyc1Jqr = BigDecimal.ZERO;
|
|
|
- if(Objects.isNull(nh31Jqr))
|
|
|
- nh31Jqr = BigDecimal.ZERO;
|
|
|
- if(Objects.isNull(no3Hlj1Jqr))
|
|
|
- no3Hlj1Jqr = BigDecimal.ZERO;
|
|
|
- BigDecimal anDan1 = no3Qyc1Jqr.add(nh31Jqr).subtract(no3Hlj1Jqr);
|
|
|
-
|
|
|
-
|
|
|
- //2#缺氧出-硝酸盐
|
|
|
- BigDecimal no3Qyc2Jqr = tXinyiRobot.getNo3Qyc2Jqr();
|
|
|
- BigDecimal nh32Jqr = tXinyiRobot.getNh32Jqr();
|
|
|
- //判断 增加容错
|
|
|
- if(Objects.isNull(no3Qyc2Jqr))
|
|
|
- no3Qyc2Jqr = BigDecimal.ZERO;
|
|
|
- if(Objects.isNull(nh32Jqr))
|
|
|
- nh32Jqr = BigDecimal.ZERO;
|
|
|
- if(Objects.isNull(no3Hlj2Jqr))
|
|
|
- no3Hlj2Jqr = BigDecimal.ZERO;
|
|
|
- BigDecimal anDan2 = no3Qyc2Jqr.add(nh32Jqr).subtract(no3Hlj2Jqr);
|
|
|
- if(!Objects.isNull(csadBzz)){
|
|
|
- BigDecimal divide = anDan1.add(anDan2).divide(DECIMAL_2, INT_2, RoundingMode.HALF_UP);
|
|
|
- handleXinYiWarningsRobotOrigin(csadBzz, divide, csadGkz, ROBOT_CS_AD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsNh3(), jsslSjz, normConfig.getJsadSjz()));
|
|
|
- }
|
|
|
- }
|
|
|
+// private void robotOriginWarning(TXinyiRobot tXinyiRobot, TXinyiNormConfig normConfig, TXinyiIndustry tXinyiIndustry) {
|
|
|
+// //总氮的标准值和管控值
|
|
|
+// BigDecimal cszzBzz = normConfig.getCszzBzz();
|
|
|
+// BigDecimal cszzGkz = normConfig.getCszzGkz();
|
|
|
+// //氨氮的标准值和管控值
|
|
|
+// BigDecimal csadBzz = normConfig.getCsadBzz();
|
|
|
+// BigDecimal csadGkz = normConfig.getCsadGkz();
|
|
|
+//
|
|
|
+// BigDecimal jsSlq = tXinyiIndustry.getJsSlq();
|
|
|
+// BigDecimal jsslSjz = normConfig.getJsslSjz();
|
|
|
+//
|
|
|
+// //#1好氧硝酸盐
|
|
|
+// BigDecimal no3Hlj1Jqr = tXinyiRobot.getNo3Hlj1Jqr();
|
|
|
+// if(!Objects.isNull(no3Hlj1Jqr)){
|
|
|
+// if(!Objects.isNull(cszzBzz)){
|
|
|
+// handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj1Jqr, cszzGkz, ROBOT_XSY_1.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// //#2好氧硝酸盐
|
|
|
+// BigDecimal no3Hlj2Jqr = tXinyiRobot.getNo3Hlj2Jqr();
|
|
|
+// if(!Objects.isNull(no3Hlj2Jqr)){
|
|
|
+// if(!Objects.isNull(cszzBzz)){
|
|
|
+// handleXinYiWarningsRobotOrigin(cszzBzz, no3Hlj2Jqr, cszzGkz, ROBOT_XSY_2.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTn(), jsslSjz, normConfig.getJszdSjz()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// //总磷
|
|
|
+// BigDecimal tpRccJqr = tXinyiRobot.getTpRccJqr();
|
|
|
+// if(!Objects.isNull(tpRccJqr)){
|
|
|
+// BigDecimal csTp = tpRccJqr.divide(ROBOT_HY_DIVIDE, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
+// BigDecimal cszlBzz = normConfig.getCszlBzz();
|
|
|
+// BigDecimal cszlGkz = normConfig.getCszlGkz();
|
|
|
+// if(!Objects.isNull(cszlBzz)){
|
|
|
+// handleXinYiWarningsRobotOrigin(cszlBzz, csTp, cszlGkz, ROBOT_ECCZLSY.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsTp(), jsslSjz, normConfig.getJszlSjz()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// //1#缺氧出-硝酸盐
|
|
|
+// BigDecimal no3Qyc1Jqr = tXinyiRobot.getNo3Qyc1Jqr();
|
|
|
+// BigDecimal nh31Jqr = tXinyiRobot.getNh31Jqr();
|
|
|
+// //判断 增加容错
|
|
|
+// if(Objects.isNull(no3Qyc1Jqr))
|
|
|
+// no3Qyc1Jqr = BigDecimal.ZERO;
|
|
|
+// if(Objects.isNull(nh31Jqr))
|
|
|
+// nh31Jqr = BigDecimal.ZERO;
|
|
|
+// if(Objects.isNull(no3Hlj1Jqr))
|
|
|
+// no3Hlj1Jqr = BigDecimal.ZERO;
|
|
|
+// BigDecimal anDan1 = no3Qyc1Jqr.add(nh31Jqr).subtract(no3Hlj1Jqr);
|
|
|
+//
|
|
|
+//
|
|
|
+// //2#缺氧出-硝酸盐
|
|
|
+// BigDecimal no3Qyc2Jqr = tXinyiRobot.getNo3Qyc2Jqr();
|
|
|
+// BigDecimal nh32Jqr = tXinyiRobot.getNh32Jqr();
|
|
|
+// //判断 增加容错
|
|
|
+// if(Objects.isNull(no3Qyc2Jqr))
|
|
|
+// no3Qyc2Jqr = BigDecimal.ZERO;
|
|
|
+// if(Objects.isNull(nh32Jqr))
|
|
|
+// nh32Jqr = BigDecimal.ZERO;
|
|
|
+// if(Objects.isNull(no3Hlj2Jqr))
|
|
|
+// no3Hlj2Jqr = BigDecimal.ZERO;
|
|
|
+// BigDecimal anDan2 = no3Qyc2Jqr.add(nh32Jqr).subtract(no3Hlj2Jqr);
|
|
|
+// if(!Objects.isNull(csadBzz)){
|
|
|
+// BigDecimal divide = anDan1.add(anDan2).divide(DECIMAL_2, INT_2, RoundingMode.HALF_UP);
|
|
|
+// handleXinYiWarningsRobotOrigin(csadBzz, divide, csadGkz, ROBOT_CS_AD.getCode(), tXinyiIndustry, normConfig, getCwrwfhzByDetail(jsSlq, tXinyiIndustry.getJsNh3(), jsslSjz, normConfig.getJsadSjz()));
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -4611,8 +4639,6 @@ public class AsyncTask {
|
|
|
//触发报警 并且模拟大模型返回决策问答数据
|
|
|
if(CollectionUtils.isEmpty(tXinyiNoChangeYCSGRecords)){
|
|
|
//插入该类型报警
|
|
|
- warningRecordYCSG.setType(0);
|
|
|
- warningRecordYCSG.setCategory(category);
|
|
|
warningRecordYCSG.setTime(nowDate);
|
|
|
warningRecordYCSG.setReason(category + BusinessEnum.WarningSymbolEnum.SJYC_YCSG.getMsg());
|
|
|
warningRecordYCSG.setWaterType(BusinessEnum.WaterTypeEnum.CS.getCode());
|
|
@@ -4620,6 +4646,11 @@ public class AsyncTask {
|
|
|
warningRecordYCSG.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
warningRecordYCSG.setCreateTime(nowDate);
|
|
|
warningRecordYCSG.setWarningVal(currentVal);
|
|
|
+ warningRecordYCSG.setDesignVal(csBzz);
|
|
|
+ warningRecordYCSG.setControlVal(csGkz);
|
|
|
+ warningRecordYCSG.setRemark(THREE_HYS_WARNING.getCode());//化验室
|
|
|
+ warningRecordYCSG.setCwrwfhz(cwrwfhz);//2025年02月14日10:42:53 具体指标具体计算,由上游传过来。
|
|
|
+ warningRecordYCSG.setCwrwxz(getCwrwxzByDetail(currentVal, normConfig, category, false));//根据当前值和类型以及是否超标处理
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(warningRecordYCSG);
|
|
|
//同时处理决策 不用调用大模型,本地处理问答
|
|
|
addChatRecordByYCSG(warningRecordYCSG, tXinyiIndustry, normConfig, category, exceedVal);
|