1、改成单数据源模式;
2、完成基于王江海制定的协议的设备上行数据部分处理
7 文件已重命名
5个文件已修改
121 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponseV202404.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/PipIrrMwRtuApplication.java
@@ -1,6 +1,5 @@
package com.dy.rtuMw;
import com.dy.common.multiDataSource.EnableMultiDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
@@ -12,13 +11,17 @@
@SpringBootApplication
@EnableAspectJAutoProxy
//@EnableAspectJAutoProxy(exposeProxy=true)//见https://blog.csdn.net/qq_32590703/article/details/109320381
@EnableMultiDataSource
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.rtuMw"},
        excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
                com.dy.common.apiDoc.SpringApiConfig.class
        }) })
//@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.rtuMw"})
    excludeFilters = {
        @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
            com.dy.common.apiDoc.SpringApiConfig.class
        }),
        @ComponentScan.Filter(type = FilterType.REGEX, pattern = {
            //以下写正则表达式,需要对目标类的完全限定名完全匹配,否则不生效
            "com.dy.common.multiDataSource..*"
        })
    }
)
@MapperScan(basePackages={"com.dy.pipIrrGlobal"})
public class PipIrrMwRtuApplication implements CommandLineRunner {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -87,6 +87,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) ;
    }
    /////////////////////////////////////////////////
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202405.java
@@ -14,12 +14,12 @@
 * @Author liurunyu
 * @Date 2024/5/8 14:18
 */
public class TkDealAlarmStatusV202405 extends TaskSurpport {
public class TkDealAlarmStatusV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkDealAlarmStatusV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkDealAlarmStatusV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkDealAlarmStatusV202405" ;
    public static final String taskId = "TkDealAlarmStatusV202404" ;
    /**
     * 执行节点任务:报警及状态
@@ -35,7 +35,7 @@
                Object cdObj = dV202404.subData ;
                if(cdObj != null){
                    try{
                        Object[] objs = this.getTaskResults(TkPreGenObjsV202405.taskId) ;
                        Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
                        DbSv sv = (DbSv)objs[0] ;
                        PrController controller = (PrController)objs[1] ;
                        if(cdObj instanceof DataCd81Vo){
@@ -48,9 +48,9 @@
                            DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, null, null, null, null) ;
                        }else if(cdObj instanceof DataCd93_A3_85Vo){
                        }else if(cdObj instanceof DataCd93_A3Vo){
                            //平台/APP远程关闭水泵/阀门   +  刷卡关泵/阀上报
                            DataCd93_A3_85Vo cdData = (DataCd93_A3_85Vo)(cdObj) ;
                            DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
                            this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
                            this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, null, cdData, null, null, null) ;
                        }else if(cdObj instanceof DataCd84Vo){
@@ -86,7 +86,7 @@
                                  String rtuAddr,
                                  String rtuDt,
                                  DataCd80_5BVo vo80_5B,
                                  DataCd93_A3_85Vo vo93_A3_85,
                                  DataCd93_A3Vo vo93_A3_85,
                                  DataCd81Vo vo81,
                                  DataCd84Vo vo84,
                                  DataCdC2Vo voC2) throws Exception {
@@ -120,7 +120,7 @@
                             String rtuAddr,
                             String rtuDt,
                             DataCd80_5BVo vo80_5B,
                             DataCd93_A3_85Vo vo93_A3_85,
                             DataCd93_A3Vo vo93_A3_85,
                             DataCd81Vo vo81,
                             DataCd84Vo vo84,
                             DataCdC2Vo voC2) throws Exception {
@@ -138,7 +138,7 @@
                                    RmAlarmStateLast po,
                                    String rtuDt,
                                    DataCd80_5BVo vo80_5B,
                                    DataCd93_A3_85Vo vo93_A3_85,
                                    DataCd93_A3Vo vo93_A3_85,
                                    DataCd81Vo vo81,
                                    DataCd84Vo vo84,
                                    DataCdC2Vo voC2) throws Exception {
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202405.java
@@ -9,12 +9,12 @@
 * @Date 2024/5/8 14:18
 * 处理非流浪控制器,此任务无具体业务逻辑,只是在任务xml配置文件中,框住其子任务节点
 */
public class TkDealControllerNoTrampV202405 extends TaskSurpport {
public class TkDealControllerNoTrampV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkDealControllerNoTrampV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkDealControllerNoTrampV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkDealControllerNoTrampV202405" ;
    public static final String taskId = "TkDealControllerNoTrampV202404" ;
    /**
     * 执行节点任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202405.java
@@ -3,19 +3,21 @@
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import com.dy.rtuMw.server.rtuData.p206V1_0_0.TkPreGenObjs;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Date;
/**
 * @Author liurunyu
 * @Date 2024/5/8 14:18
 */
public class TkDealControllerTrampV202405 extends TaskSurpport {
public class TkDealControllerTrampV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkDealControllerTrampV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkDealControllerTrampV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkDealControllerTrampV202405" ;
    public static final String taskId = "TkDealControllerTrampV202404" ;
    /**
     * 执行节点任务
@@ -23,11 +25,17 @@
     */
    @Override
    public void execute(Object data) {
        Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
        Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
        PrControllerTramp tramp = (PrControllerTramp)objs[2] ;
        if(tramp != null){
            DbSv sv = (DbSv)objs[0] ;
            sv.savePrConctrollerTramp(tramp);
            if(tramp.id == null){
                sv.savePrConctrollerTramp(tramp);
            }else{
                tramp.findDt = new Date() ;
                sv.updatePrConctrollerTramp(tramp) ;
            }
        }
    }
}
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponseV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponseV202405.java
@@ -10,12 +10,12 @@
 * @Date 2024/5/8 14:18
 * @Description  识别命令响应上报
 */
public class TkFindComResponseV202405 extends TaskSurpport {
public class TkFindComResponseV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkFindComResponseV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkFindComResponseV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkFindComResponseV202405" ;
    public static final String taskId = "TkFindComResponseV202404" ;
    /**
     * 执行节点任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202405.java
@@ -12,12 +12,12 @@
/**
 * 识别非命令应答
 */
public class TkFindReportV202405 extends TaskSurpport {
public class TkFindReportV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkFindReportV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkFindReportV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkFindReportV202405" ;
    public static final String taskId = "TkFindReportV202404" ;
    /**
     * 执行节点任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202405.java
@@ -15,12 +15,12 @@
 * @Author liurunyu
 * @Date 2024/5/8 14:18
 */
public class TkPreGenObjsV202405 extends TaskSurpport {
public class TkPreGenObjsV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkPreGenObjsV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkPreGenObjsV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkPreGenObjsV202405" ;
    public static final String taskId = "TkPreGenObjsV202404" ;
    /**
     * 执行节点任务
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202405.java
@@ -11,12 +11,12 @@
 * @Date 2024/5/8 14:18
 * @Description 处理命令响应上报
 */
public class TkRtuDealCommandResponseV202405 extends TaskSurpport {
public class TkRtuDealCommandResponseV202404 extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponseV202405.class.getName()) ;
    private static final Logger log = LogManager.getLogger(TkRtuDealCommandResponseV202404.class.getName()) ;
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkRtuDealCommandResponseV202405" ;
    public static final String taskId = "TkRtuDealCommandResponseV202404" ;
    /**
     * 执行节点任务:处理命令响应上报
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
@@ -31,18 +31,18 @@
                </task>
            </task>
            <task id="TkFindP206V202404" name="识别P206V202404数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindP206V202404">
                <task id="TkPreGenObjsV202405" name="预先准备各对象并识别流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkPreGenObjsV202405">
                <task id="TkPreGenObjsV202404" name="预先准备各对象并识别流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkPreGenObjsV202404">
                    <!-- 处理流浪控制器 -->
                    <task id="TkDealControllerTrampV202405" name="处理流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerTrampV202405" />
                    <task id="TkDealControllerTrampV202404" name="处理流浪控制器" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerTrampV202404" />
                    <!-- 非流浪者RTU,必须放在TkDealControllerTramp后面 -->
                    <task id="TkDealControllerNoTrampV202405" name="非流浪者RTU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerNoTrampV202405">
                    <task id="TkDealControllerNoTrampV202404" name="非流浪者RTU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerNoTrampV202404">
                        <!-- 识别非命令应答上行数据 -->
                        <task id="TkFindReportV202405" name="识别非命令应答上行数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindReportV202405">
                            <task id="TkDealAlarmStatusV202405" name="控制器报警与状态数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202405" />
                        <task id="TkFindReportV202404" name="识别非命令应答上行数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindReportV202404">
                            <task id="TkDealAlarmStatusV202404" name="控制器报警与状态数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202404" />
                        </task>
                        <!-- 识别命令响应数据 -->
                        <task id="TkFindComResponseV202405" name="识别响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponseV202405">
                            <task id="TkRtuDealCommandResponseV202405" name="RTU响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkRtuDealCommandResponseV202405" >
                        <task id="TkFindComResponseV202404" name="识别响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponseV202404">
                            <task id="TkRtuDealCommandResponseV202404" name="RTU响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkRtuDealCommandResponseV202404" >
                            </task>
                        </task>
                    </task>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application-database.yml
@@ -1,8 +1,10 @@
# 数据源配置
spring:
    #多数据源需要配置
    main:
        allow-bean-definition-overriding: true #设置为true时,后定义的bean会覆盖之前定义的相同名称的bean
    datasource: #配置数据源
        #多个数据源名称在此配置,要求与spring。datasource。[ym][pj]中的一致
        names: ym
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.91.73:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
        username: root
        password: dysql,;.abc!@#
        druid:
        # 说明: 如果你没有指定useSSL=true ,启动项目会报红警告, 环境的问题,要灵活处理
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
    profiles:
        include: global, database, database-ym
        include: global, database
#actutor的web端口
management: