Administrator
2024-03-07 76d5cfc674f9b1033baafbe3ac71f06ed001f289
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkPreGenObjs.java
@@ -1,9 +1,19 @@
package com.dy.aceMw.server.rtuData.p206V1_0_0;
import com.dy.aceMw.server.rtuData.TaskSurpport;
import com.dy.aceMw.server.rtuData.dbSv.DbSv;
import com.dy.common.mw.protocol.Data;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.common.util.DateTime;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TkPreGenObjs extends TaskSurpport {
   
@@ -17,67 +27,28 @@
    * @param data 需要处理的数据
    */
   @Override
   public void execute(Object data) {
   public void execute(Object data) throws ParseException {
      Data d = (Data)data ;
      String rtuAddr = d.getRtuAddr() ;
      log.info("RTU" + rtuAddr + "数据到此,还未实现处理:" + data.toString());
      //得到本地RTU 数据,以备后面节点应用
      /*
      BuziInterface baseBusi = BuziGeter.getBaseBusi() ;
      BuziInterface orgBusi = null ;
      SyRtu nbRtu = null ;
      SyRtuTramp rtuTramp = null ;
      if(baseBusi != null){
         nbRtu = DbSyBuzi.getRtu(baseBusi, imei) ;
         if(nbRtu != null){
            //数据库中查询到NB产品(RTU实体)
            if(nbRtu.orgTag != null && !nbRtu.orgTag.trim().equals("")){
               orgBusi = BuziGeter.getBusi(nbRtu.orgTag) ;
               if(orgBusi == null){
                  log.error("严重错误,未能得到标签为" + nbRtu.orgTag + "的供水机构数据库业务Busi");
               }else{
                  BaMeter meter = DbOrgBuzi.getMeterByImeiAndNo(orgBusi, imei, rtuAddr) ;
                  //可能未查询到meter,即仍是流浪者RTU,但仍要后续处理:(1)、仍能识别出流浪者RTU,(2)、仍要记录其上报数据
                  if(meter != null){
                     String protocol = d.getProtocol() ;
                     if(protocol != null){
                        protocol = protocol.trim();
                        if(!protocol.equals("")){
                           if(meter.protocol == null
                                 || meter.protocol.trim().equals("")
                                 || !meter.protocol.trim().equals(protocol)){
                              //需要更新协议名称
                              DbOrgBuzi.updateMeter4Protocol(orgBusi, meter.id, protocol);
                           }
                        }
                     }
                  }
                  this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, null, meter} ;
                  this.toNextTasks(data);
               }
            }else{
               //NB产品(RTU实体)未分配给具体的供水机构
               //流浪者RTU
               rtuTramp = DbSyBuzi.getSyRtuTramp(baseBusi, imei, rtuAddr) ;
               if(rtuTramp == null){
                  rtuTramp = new SyRtuTramp(imei, rtuAddr) ;
               }
               this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, rtuTramp, null} ;
               this.toNextOneTask(data, TkDealRtuTramp.taskId);
      String rtuAddr = d.getRtuAddr() ;//TkRtuData里判断了rtuAddr为空
      DbSv sv = (DbSv)SpringContextUtil.getBean(DbSv.class) ;
      if(sv != null){
         PrController controller = sv.getControllersByRtuAddrAndIntakeNotNull(rtuAddr) ;
         PrControllerTramp controllerTramp = null ;
         if(controller == null){
            //数据库中未查询(已经绑定且控制器地址相符)到控制器(RTU实体)
            //流浪者控制器
            controllerTramp = sv.getPrControllerTrampByRtuAddr(rtuAddr);
            if(controllerTramp == null){
               controllerTramp = new PrControllerTramp(null, rtuAddr, d.getProtocol(), new Date()) ;
               //this.taskResult = new Object[]{sv, null, rtuTramp} ;
               //this.toNextOneTask(data, TkDealControllerTramp.taskId);
            }
         }else{
            //数据库中未查询到NB产品(RTU实体)
            //流浪者RTU
            rtuTramp = DbSyBuzi.getSyRtuTramp(baseBusi, imei, rtuAddr) ;
            if(rtuTramp == null){
               rtuTramp = new SyRtuTramp(imei, rtuAddr) ;
            }
            this.taskResult = new Object[]{baseBusi, orgBusi, nbRtu, rtuTramp, null} ;
            this.toNextOneTask(data, TkDealRtuTramp.taskId);
         }
         //不论是否为流浪控制器(RTU实体),都要进行下步工作,记录其上报的一些数据,当绑定控制器后,数据自动有了归属
         this.taskResult = new Object[]{sv, controller, controllerTramp} ;
         this.toNextTasks(data);
      }else{
         log.error("严重错误,未能得到BaseBusi对象");
         log.error("严重错误,未能得到DbSv对象");
      }
      */
   }
}