1、改成单数据源模式;
2、完成基于王江海制定的协议的设备上行数据部分处理
| | |
| | | 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; |
| | |
| | | |
| | | @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 { |
| | | |
| | |
| | | public void savePrConctrollerTramp(PrControllerTramp po){ |
| | | this.prControllerTrampMapperDao.insert(po) ; |
| | | } |
| | | /** |
| | | * 保存流浪控制器 |
| | | * @param po |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updatePrConctrollerTramp(PrControllerTramp po){ |
| | | this.prControllerTrampMapperDao.updateByPrimaryKeySelective(po) ; |
| | | } |
| | | |
| | | |
| | | ///////////////////////////////////////////////// |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202405.java |
| | |
| | | * @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" ; |
| | | |
| | | /** |
| | | * 执行节点任务:报警及状态 |
| | |
| | | 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){ |
| | |
| | | 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){ |
| | |
| | | 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 { |
| | |
| | | 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 { |
| | |
| | | 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 { |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerNoTrampV202405.java |
| | |
| | | * @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" ; |
| | | |
| | | /** |
| | | * 执行节点任务 |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealControllerTrampV202405.java |
| | |
| | | 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" ; |
| | | |
| | | /** |
| | | * 执行节点任务 |
| | |
| | | */ |
| | | @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) ; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindComResponseV202405.java |
| | |
| | | * @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" ; |
| | | |
| | | /** |
| | | * 执行节点任务 |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkFindReportV202405.java |
| | |
| | | /** |
| | | * 识别非命令应答 |
| | | */ |
| | | 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" ; |
| | | |
| | | /** |
| | | * 执行节点任务 |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202405.java |
| | |
| | | * @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" ; |
| | | |
| | | /** |
| | | * 执行节点任务 |
File was renamed from pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202405.java |
| | |
| | | * @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" ; |
| | | |
| | | /** |
| | | * 执行节点任务:处理命令响应上报 |
| | |
| | | </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> |
| | |
| | | # 数据源配置 |
| | | 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 ,启动项目会报红警告, 环境的问题,要灵活处理 |
| | |
| | | spring: |
| | | profiles: |
| | | include: global, database, database-ym |
| | | include: global, database |
| | | |
| | | #actutor的web端口 |
| | | management: |