wuzeyu
2024-07-05 8fa3135b2765893e56dd8f913e27d47e6f63d429
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -3,6 +3,7 @@
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper;
import com.dy.pipIrrGlobal.daoRm.*;
import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoRm.*;
@@ -30,10 +31,6 @@
    @Autowired
    private RmAlarmStateHistoryMapper rmAlarmStateHistoryMapperDao ;//控制器历史报警和状态DAO
    @Autowired
    private RmAutoReportLastMapper rmAutoReportLastMapperDao ;//控制器最新上报数据DAO
    @Autowired
    private RmAutoReportHistoryMapper rmAutoReportHistoryMapperDao ;//控制器历史上报数据DAO
    @Autowired
    private RmOpenCloseValveLastMapper rmOpenCloseValveLastMapperDao ;//控制器最新开关阀上报数据DAO
    @Autowired
    private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapperDao ;//控制器历史开关阀上报数据DAO
@@ -45,6 +42,20 @@
    private RmLossLastMapper rmLossLastMapperDao ;//控制器漏损水量统计最新数据DAO
    @Autowired
    private RmLossHistoryMapper rmLossHistoryMapperDao ;//控制器漏损水量统计历史数据DAO
    @Autowired
    private RmCommandHistoryMapper rmCommandHistoryDao ;//远程命令日志相关
    @Autowired
    private SeVirtualCardMapper seVirtualCardDao ;//虚拟卡相关
    @Autowired
    private RmTimingReportHistoryMapper rmTimingReportHistoryDao; // 定点上报历史数据DAO
    @Autowired
    private RmTimingReportLastMapper rmTimingReportLastDao; // 定点上报最新数据DAO
    @Autowired
    private RmOnHourReportHistoryMapper rmOnHourReportHistoryDao; // 整点上报历史数据DAO
    @Autowired
    private RmOnHourReportLastMapper rmOnHourReportLastDao; // 整点上报最新数据DAO
    //@Autowired
    //@Lazy
@@ -87,6 +98,14 @@
    public void savePrConctrollerTramp(PrControllerTramp po){
        this.prControllerTrampMapperDao.insert(po) ;
    }
   /**
     * 保存流浪控制器
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updatePrConctrollerTramp(PrControllerTramp po){
        this.prControllerTrampMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /////////////////////////////////////////////////
@@ -96,11 +115,11 @@
    ////////////////////////////////////////////////
    /**
     * 得到控制器报警与状态最新记录
     * @param rtuAddr
     * @param intakeId
     * @return
     */
    public RmAlarmStateLast getRmAlarmStateLast(String rtuAddr){
        List<RmAlarmStateLast> list = rmAlarmStateLastMapperDao.selectByRtuAddr(rtuAddr) ;
    public RmAlarmStateLast getRmAlarmStateLast(Long intakeId){
        List<RmAlarmStateLast> list = rmAlarmStateLastMapperDao.selectByIntakeId(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -131,52 +150,109 @@
        this.rmAlarmStateHistoryMapperDao.insert(po) ;
    }
    /**
     * 变更虚拟卡占用状态
     * @param intakeId
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateVirCardNoUseState(Long intakeId){
        this.seVirtualCardDao.updateVcCardNoUseStateByIntakeId(intakeId); ;
    }
    /////////////////////////////////////////////////
    //
    // 主动上报数据功能
    // 定点报数据功能(只在王江海的协议有此数据)
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器上报数据最新记录
     * @param rtuAddr
     * 保存控制器定点上报历史数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmTimingReportHistory(RmTimingReportHistory po){
        this.rmTimingReportHistoryDao.insert(po);
    }
    /**
     * 根据阀控器地址获取定点上报最新数据
     * @param intakeId
     * @return
     */
    public RmAutoReportLast getRmAutoReportLast(String rtuAddr){
        List<RmAutoReportLast> list = rmAutoReportLastMapperDao.selectByRtuAddr(rtuAddr) ;
    @Transactional(rollbackFor = Exception.class)
    public RmTimingReportLast getRmTimingReportLast(Long intakeId) {
        List<RmTimingReportLast> list = this.rmTimingReportLastDao.getRmTimingReportLast(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器上报数据最新记录
     * 保存控制器定点上报最新数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmAutoReportLast(RmAutoReportLast po){
        this.rmAutoReportLastMapperDao.insert(po) ;
    public void saveRmTimingReportLast(RmTimingReportLast po) {
        this.rmTimingReportLastDao.insert(po);
    }
    /**
     * 保存控制器上报数据最新记录
     * 保存控制器定点上报罪行数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmAutoReportLast(RmAutoReportLast po){
        this.rmAutoReportLastMapperDao.updateByPrimaryKeySelective(po) ;
    public void updateRmTimingReportLast(RmTimingReportLast po) {
        this.rmTimingReportLastDao.updateByPrimaryKeySelective(po);
    }
    /////////////////////////////////////////////////
    //
    // 整点上报实时数据功能(只在靳总的协议有此数据)
    //
    ////////////////////////////////////////////////
    /**
     * 保存控制器上报数据历史记录
     * 保存控制器整点上报历史数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmAutoReportHistory(RmAutoReportHistory po){
        this.rmAutoReportHistoryMapperDao.insert(po) ;
    public void saveRmOnHourReportHistory(RmOnHourReportHistory po){
        this.rmOnHourReportHistoryDao.insert(po);
    }
    /**
     * 根据阀控器地址获取整点上报最新数据
     * @param intakeId
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public RmOnHourReportLast getRmOnHourReportLast(Long intakeId) {
        List<RmOnHourReportLast> list = this.rmOnHourReportLastDao.getRmOnHourReportLast(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器整点上报最新数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmOnHourReportLast(RmOnHourReportLast po) {
        this.rmOnHourReportLastDao.insert(po);
    }
    /**
     * 保存控制器整点上报罪行数据
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmOnHourReportLast(RmOnHourReportLast po) {
        this.rmOnHourReportLastDao.updateByPrimaryKeySelective(po);
    }
    /////////////////////////////////////////////////
    //
@@ -185,11 +261,11 @@
    ////////////////////////////////////////////////
    /**
     * 得到控制器开关阀上报数据最新记录
     * @param rtuAddr
     * @param intakeId
     * @return
     */
    public RmOpenCloseValveLast getRmOpenCloseValveLast(String rtuAddr){
        List<RmOpenCloseValveLast> list = rmOpenCloseValveLastMapperDao.selectByRtuAddr(rtuAddr) ;
    public RmOpenCloseValveLast getRmOpenCloseValveLast(Long intakeId){
        List<RmOpenCloseValveLast> list = rmOpenCloseValveLastMapperDao.selectByIntakeId(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -238,8 +314,6 @@
        this.rmOpenCloseValveHistoryMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 工作报数据功能
@@ -247,11 +321,11 @@
    ////////////////////////////////////////////////
    /**
     * 得到控制器上报数据最新记录
     * @param rtuAddr
     * @param intakeId
     * @return
     */
    public RmWorkReportLast getRmWorkReportLast(String rtuAddr){
        List<RmWorkReportLast> list = rmWorkReportLastMapperDao.selectByRtuAddr(rtuAddr) ;
    public RmWorkReportLast getRmWorkReportLast(Long intakeId){
        List<RmWorkReportLast> list = rmWorkReportLastMapperDao.selectByIntakeId(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -290,11 +364,11 @@
    ////////////////////////////////////////////////
    /**
     * 得到控制器漏损水量统计最新记录
     * @param rtuAddr
     * @param intakeId
     * @return
     */
    public RmLossLast getRmLossLast(String rtuAddr){
        List<RmLossLast> list = rmLossLastMapperDao.selectByRtuAddr(rtuAddr) ;
    public RmLossLast getRmLossLast(Long intakeId){
        List<RmLossLast> list = rmLossLastMapperDao.selectByIntakeId(intakeId) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -369,5 +443,17 @@
        return null ;
    }
    //////////////////////////////////////////////////////
    //
    // 命令日志相关
    //
    //////////////////////////////////////////////////////
    public RmCommandHistory getCommandLog(String commandId){
        return rmCommandHistoryDao.selectByPrimaryKey(Long.parseLong(commandId)) ;
    }
    public void updateCommandLog(RmCommandHistory po){
        rmCommandHistoryDao.updateByPrimaryKeySelective(po) ;
    }
}