Administrator
2024-03-27 b8e8696b61f4a896b16269157e7b85aa7b590009
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/dbSv/DbSv.java
@@ -2,12 +2,18 @@
import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
import com.dy.pipIrrGlobal.daoPr.PrControllerTrampMapper;
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
import com.dy.pipIrrGlobal.daoRm.*;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoPr.PrIntake;
import com.dy.pipIrrGlobal.pojoRm.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
@@ -22,18 +28,43 @@
    private PrControllerTrampMapper prControllerTrampMapperDao;//流浪控制器DAO
    @Autowired
    private PrControllerMapper prControllerMapperDao ;//控制器DAO
    @Autowired
    @Lazy
    private DbSv sv ;
    private RmAlarmStateLastMapper rmAlarmStateLastMapperDao ;//控制器最新报警和状态DAO
    @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
    @Autowired
    private RmWorkReportLastMapper rmWorkReportLastMapperDao ;//控制器最新工作报数据DAO
    @Autowired
    private RmWorkReportHistoryMapper rmWorkReportHistoryMapperDao ;//控制器历史工作报数据DAO
    @Autowired
    private RmLossLastMapper rmLossLastMapperDao ;//控制器漏损水量统计最新数据DAO
    @Autowired
    private RmLossHistoryMapper rmLossHistoryMapperDao ;//控制器漏损水量统计历史数据DAO
    //@Autowired
    //@Lazy
    //private DbSv sv ;
    /////////////////////////////////////////////////
    //
    // 基础功能
    //
    ////////////////////////////////////////////////
    /**
     * 通过控制器地址从数据库表中查询控制器
     * @param rtuAddr 控制器地址
     * @return 控制器
     */
    public PrController getPrControllerByRtuAddr(String rtuAddr){
        List<PrController> list = this.prControllerMapperDao.selectPrControllerByRtuAddr(rtuAddr) ;
    public PrController getControllersByRtuAddrAndIntakeNotNull(String rtuAddr){
        List<PrController> list = this.prControllerMapperDao.getControllersByRtuAddrAndIntakeNotNull(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
@@ -45,20 +76,301 @@
     * @return 流浪控制器
     */
    public PrControllerTramp getPrControllerTrampByRtuAddr(String rtuAddr){
        List<PrControllerTramp> list = this.prControllerTrampMapperDao.selectPrControllerTrampByRtuAddr(rtuAddr) ;
        List<PrControllerTramp> list = this.prControllerTrampMapperDao.getPrControllerTrampByRtuAddr(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存流浪控制器
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void savePrConctrollerTramp(PrControllerTramp po){
        this.prControllerTrampMapperDao.insert(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 报警及状态功能
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器报警与状态最新记录
     * @param rtuAddr
     * @return
     */
    public RmAlarmStateLast getRmAlarmStateLast(String rtuAddr){
        List<RmAlarmStateLast> list = rmAlarmStateLastMapperDao.selectByRtuAddr(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器报警与状态最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmAlarmStateLast(RmAlarmStateLast po){
        this.rmAlarmStateLastMapperDao.insert(po) ;
    }
   /**
     * 保存控制器报警与状态最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmAlarmStateLast(RmAlarmStateLast po){
        this.rmAlarmStateLastMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 保存控制器报警与状态历史记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmAlarmStateHistory(RmAlarmStateHistory po){
        this.rmAlarmStateHistoryMapperDao.insert(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 主动上报数据功能
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器上报数据最新记录
     * @param rtuAddr
     * @return
     */
    public RmAutoReportLast getRmAutoReportLast(String rtuAddr){
        List<RmAutoReportLast> list = rmAutoReportLastMapperDao.selectByRtuAddr(rtuAddr) ;
        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) ;
    }
    /**
     * 保存控制器上报数据最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmAutoReportLast(RmAutoReportLast po){
        this.rmAutoReportLastMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 保存控制器上报数据历史记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmAutoReportHistory(RmAutoReportHistory po){
        this.rmAutoReportHistoryMapperDao.insert(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 开关阀上报数据功能
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器开关阀上报数据最新记录
     * @param rtuAddr
     * @return
     */
    public RmOpenCloseValveLast getRmOpenCloseValveLast(String rtuAddr){
        List<RmOpenCloseValveLast> list = rmOpenCloseValveLastMapperDao.selectByRtuAddr(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器开关阀上报数据最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmOpenCloseValveLast(RmOpenCloseValveLast po){
        this.rmOpenCloseValveLastMapperDao.insert(po) ;
    }
    /**
     * 保存控制器开关阀上报数据最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmOpenCloseValveLast(RmOpenCloseValveLast po){
        this.rmOpenCloseValveLastMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 得到控制器开关阀上报数据历史数据中的最新记录
     * @param id
     * @return
     */
    public RmOpenCloseValveHistory getRmOpenCloseValveHistory(Long id){
        return rmOpenCloseValveHistoryMapperDao.selectByPrimaryKey(id) ;
    }
    /**
     * 保存控制器开关阀上报数据历史记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmOpenCloseValveHistory(RmOpenCloseValveHistory po){
        this.rmOpenCloseValveHistoryMapperDao.insert(po) ;
    }
    /**
     * 保存控制器开关阀上报数据历史记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmOpenCloseValveHistory(RmOpenCloseValveHistory po){
        this.rmOpenCloseValveHistoryMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 工作报数据功能
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器上报数据最新记录
     * @param rtuAddr
     * @return
     */
    public RmWorkReportLast getRmWorkReportLast(String rtuAddr){
        List<RmWorkReportLast> list = rmWorkReportLastMapperDao.selectByRtuAddr(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器上报数据最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmWorkReportLast(RmWorkReportLast po){
        this.rmWorkReportLastMapperDao.insert(po) ;
    }
    /**
     * 保存控制器上报数据最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmWorkReportLast(RmWorkReportLast po){
        this.rmWorkReportLastMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 保存控制器上报数据历史记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmWorkReportHistory(RmWorkReportHistory po){
        this.rmWorkReportHistoryMapperDao.insert(po) ;
    }
    /////////////////////////////////////////////////
    //
    // 漏损水量统计功能
    //
    ////////////////////////////////////////////////
    /**
     * 得到控制器漏损水量统计最新记录
     * @param rtuAddr
     * @return
     */
    public RmLossLast getRmLossLast(String rtuAddr){
        List<RmLossLast> list = rmLossLastMapperDao.selectByRtuAddr(rtuAddr) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存控制器漏损水量统计最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmLossLast(RmLossLast po){
        this.rmLossLastMapperDao.insert(po) ;
    }
  /**
     * 保存控制器漏损水量统计最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void saveRmLossHistory(RmLossHistory po){
        this.rmLossHistoryMapperDao.insert(po) ;
    }
    /**
     * 保存控制器漏损水量统计最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmLossLast(RmLossLast po){
        this.rmLossLastMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 保存控制器漏损水量统计最新记录
     * @param po
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateRmLossHistory(RmLossHistory po){
        this.rmLossHistoryMapperDao.updateByPrimaryKeySelective(po) ;
    }
    /**
     * 得到控制器漏损水量统计历史记录中的最新记录
     * @param id
     * @return
     */
    public RmLossHistory getRmLossHistory(Long id){
        return rmLossHistoryMapperDao.selectByPrimaryKey(id) ;
    }
    /**
     * 得到控制器漏损水量统计最新记录
     * @param dt
     * @return
     */
    public RmLossLast getRmLossLastByDate(Date dt){
        List<RmLossLast> list = rmLossLastMapperDao.selectByDate(dt) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
    /**
     * 保存流浪控制器
     * @param po
     * 得到控制器漏损水量统计历史记录中的某日记录
     * @param dt
     * @return
     */
    public void savePrConctrollerTramp(PrControllerTramp po){
        this.prControllerTrampMapperDao.insert(po) ;
    public RmLossHistory getRmLossHistoryByDate(Date dt){
        List<RmLossHistory> list = rmLossHistoryMapperDao.selectByDate(dt) ;
        if(list != null && list.size() > 0){
            return list.get(0) ;
        }
        return null ;
    }
}