zhubaomin
2024-10-12 baff68fa55ed3212f618330e18cc5735b1caf57f
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
@@ -2,6 +2,7 @@
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo;
import com.dy.common.mw.protocol.p206V202404.DataV202404;
import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
@@ -10,6 +11,8 @@
import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory;
import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.rtuMw.server.forMs.SendMsCache;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import org.apache.logging.log4j.LogManager;
@@ -68,7 +71,7 @@
     * @param cdData 自报数据对象
     */
    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo cdData) throws Exception {
        RmOnHourReportLast po = sv.getRmOnHourReportLast(rtuAddr) ;
        RmOnHourReportLast po = sv.getRmOnHourReportLast(controller.getIntakeId()) ;
        if(po == null){
            po = new RmOnHourReportLast();
            po.controllerId = controller==null?null:controller.getId();
@@ -76,11 +79,17 @@
            po.rtuAddr = rtuAddr;
            po.valueFrom(dV1_0_1, cdData);
            sv.saveRmOnHourReportLast(po) ;
            if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){
                this.sendMessage(controller, po.lossAmount);
            }
        }else{
            po.controllerId = controller==null?null:controller.getId();
            po.intakeId = controller==null?null:controller.getIntakeId();
            po.valueFrom(dV1_0_1, cdData);
            sv.updateRmOnHourReportLast(po);
            if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){
                this.sendMessage(controller, po.lossAmount);
            }
        }
    }
@@ -101,5 +110,21 @@
        po.valueFrom(dV1_0_1, cdData);
        sv.saveRmOnHourReportHistory(po); ;
    }
    /**
     * 向钉钉发送消息
     * @param controller
     */
    private void sendMessage(PrController controller, Double lossAmount){
        String ms = "取水口“" + controller.getIntakeName() + "”漏水报警,今日漏损量" + lossAmount + "立方米";
        try{
            SendMsCache.cacheMs(ms);
        }catch (Exception e){
            log.error("缓存钉钉消息异常:", e);
        }
    }
}