zhubaomin
2024-08-08 58e324cd1ff5e7e41e7640f27d48e4813c7bd0a6
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
7个文件已修改
2个文件已添加
372 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo1.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIcRemainMoney.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -4,6 +4,7 @@
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voSe.VoCardInfo;
import com.dy.pipIrrGlobal.voSe.VoCardInfo1;
import com.dy.pipIrrGlobal.voSe.VoCards;
import com.dy.pipIrrGlobal.voSe.VoCards2;
import com.dy.pipIrrGlobal.voWe.VoCards3;
@@ -69,6 +70,14 @@
     * @return
     */
    Map getClientIdAndNameByCardAddrAndCardNo(@Param("cardAddr") String cardAddr, @Param("cardNum") Long cardNum);
    /**
     * 得到水卡对象
     * @param cardAddr
     * @param cardNum
     * @return
     */
    List<VoCardInfo1> getCardsByAddrAndNum(@Param("cardAddr") String cardAddr, @Param("cardNum") Long cardNum);
    /**
     * 根据农户主键获取水卡列表
@@ -166,4 +175,11 @@
     * @return
     */
    List<VoCards3> getCardsByClientID(String clientId);
    /**
     * 更新实体卡剩余金额
     * @param id
     * @param money
     */
    void updateMoney(@Param("id")Long id , @Param("money")Double money);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
import com.dy.pipIrrGlobal.voSe.VoCardInfo1;
import com.dy.pipIrrGlobal.voSe.VoVcRecharge;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
import org.apache.ibatis.annotations.Mapper;
@@ -66,6 +67,12 @@
     */
    Map getClientIdAndNameByVsCardNo(@Param("vcNum") Long vcNum);
    /**
     * 得到水卡对象
     * @param cardNum
     * @return
     */
    List<VoCardInfo1> getCardsByNum(@Param("cardNum") Long cardNum);
    /**
     * 根据虚拟卡编号获取虚拟卡ID
@@ -100,4 +107,11 @@
     * @return
     */
    Long getRechargeRecordCount(Map<?, ?> params);
    /**
     * 更新实体卡剩余金额
     * @param id
     * @param money
     */
    void updateMoney(@Param("id")Long id , @Param("money")Double money);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo1.java
New file
@@ -0,0 +1,25 @@
package com.dy.pipIrrGlobal.voSe;
import com.dy.common.po.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
 * @author ZhuBaoMin
 * @date 2023-12-27 19:22
 * @LastEditTime 2023-12-27 19:22
 * @Description
 */
@Data
@Schema(title = "IC卡视图对象1")
public class VoCardInfo1 implements BaseEntity {
    private static final long serialVersionUID = 202408071750001L;
    @Schema(title = "主键")
    public Long id ;
    @Schema(title = "余额")
    public Float money;
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaBlockMapper.xml
@@ -52,7 +52,7 @@
          phone = #{phone,jdbcType=VARCHAR} and
        </if>
        <if test="area != null">
          area = ${area} and
          area = #{area,jdbcType=INTEGER} and
        </if>
      </trim>
  </select>
@@ -73,7 +73,7 @@
        phone = #{phone,jdbcType=VARCHAR} and
      </if>
      <if test="area != null">
        area = ${area} and
        area = #{area,jdbcType=INTEGER} and
      </if>
    </trim>
    order by id DESC
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -75,6 +75,16 @@
    WHERE card.cardAddr = #{cardAddr} and  card.cardNum = #{cardNum}
  </select>
  <!-- 根据水卡编号获取水卡 -->
  <select id="getCardsByAddrAndNum"  resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo1">
    SELECT
    id,
    money
    FROM se_client_card
    WHERE cardAddr = #{cardAddr} and  cardNum = #{cardNum}
  </select>
  <!--根据行政区划串模糊查询水卡编号-->
  <select id="getCardNumOfMax"  resultType="java.lang.String">
    SELECT cardNum
@@ -104,6 +114,9 @@
    <!--@mbg.generated-->
    insert into se_client_card
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="protocol != null">
        protocol,
      </if>
@@ -160,6 +173,9 @@
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="protocol != null">
        #{protocol,jdbcType=VARCHAR},
      </if>
@@ -280,8 +296,8 @@
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
    <!--@mbg.generated-->
    update se_client_card
    set protocol = #{protocol,jdbcType=VARCHAR}
    cardAddr = #{cardaddr,jdbcType=VARCHAR},
    set protocol = #{protocol,jdbcType=VARCHAR},
      cardAddr = #{cardaddr,jdbcType=VARCHAR},
      cardNum = #{cardnum,jdbcType=BIGINT},
      clientId = #{clientid,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
@@ -300,7 +316,11 @@
      remarks = #{remarks,jdbcType=VARCHAR}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateMoney" >
    update se_client_card
    set money = #{money,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--根据农户主键获取水卡列表-->
  <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo">
    SELECT
@@ -308,22 +328,22 @@
        '用户卡' AS cardType,
        money,
        (CASE
            WHEN state = 1 THEN "正常"
            WHEN state = 2 THEN "已注销"
            ELSE "已挂失"
            WHEN state = 1 THEN '正常'
            WHEN state = 2 THEN '已注销'
            ELSE '已挂失'
        END) AS state
    FROM se_client_card
    WHERE clientId = ${clientId}
    WHERE clientId = #{clientId,jdbcType=BIGINT}
  </select>
  <!--根据水卡编号获取操作记录列表-->
  <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap">
    SELECT * FROM v_operate WHERE cardNum = ${cardNum}
    SELECT * FROM v_operate WHERE cardNum = #{cardNum,jdbcType=BIGINT}
  </select>
  <!--根据水卡编号获取余额-->
  <select id="getMoneyByCardNum" resultType="java.lang.Float">
    SELECT money FROM se_client_card WHERE cardNum = ${cardNum}
    SELECT money FROM se_client_card WHERE cardNum = #{cardNum,jdbcType=BIGINT}
  </select>
  <!--根据水卡编号获取充值总额-->
@@ -332,7 +352,7 @@
      SUM(his.amount) AS amount
    FROM se_recharge_history his
        INNER JOIN se_client_card card ON his.cardId = card.id
    WHERE card.cardNum = ${cardNum}
    WHERE card.cardNum = #{cardNum,jdbcType=BIGINT}
  </select>
  <!--根据水卡编号获取卡片状态:1-开卡,2-补卡,3-充值,4-挂失,5-注销,6-解锁,7-冲正,8-消费-->
@@ -357,7 +377,7 @@
            WHEN state = 3 THEN '已挂失'
        END) AS stateName
    FROM se_client_card
    WHERE cardNum = ${cardNum}
    WHERE cardNum = #{cardNum,jdbcType=BIGINT}
  </select>
  <!--根据指定条件获取水卡列表记录数,应用程序使用-->
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -152,6 +152,11 @@
      intake_id = null
    where intake_id = #{intakeId,jdbcType=BIGINT}
  </update>
  <update id="updateMoney" >
    update se_virtual_card
    set money = #{money,jdbcType=FLOAT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--验证农户是否拥有指定名称的虚拟卡-->
  <select id="getRecordCountByName" resultType="java.lang.Integer">
    SELECT COUNT(*) AS recordCount
@@ -176,8 +181,8 @@
      money,
      in_use AS inUse,
      (CASE
        WHEN in_use = 0 THEN "未使用"
        WHEN in_use = 1 THEN "使用中"
        WHEN in_use = 0 THEN '未使用'
        WHEN in_use = 1 THEN '使用中'
      END) AS inUseName
    FROM se_virtual_card
    <where>
@@ -196,8 +201,8 @@
        money,
        in_use AS inUse,
        (CASE
            WHEN in_use = 0 THEN "未使用"
            WHEN in_use = 1 THEN "使用中"
            WHEN in_use = 0 THEN '未使用'
            WHEN in_use = 1 THEN '使用中'
        END) AS inUseName
    FROM se_virtual_card
    WHERE id = #{vcId}
@@ -225,6 +230,15 @@
    WHERE card.vc_num = #{vcNum}
  </select>
  <!-- 根据水卡编号获取虚拟水卡 -->
  <select id="getCardsByNum"  resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo1">
    SELECT
    id,
    money
    FROM se_virtual_card
    WHERE vc_num = #{cardNum}
  </select>
  <!--根据行政区划串模糊查询虚拟卡编号-->
  <select id="getVcCardNumOfMax"  resultType="java.lang.String">
    SELECT vc_num
@@ -248,14 +262,14 @@
      recharge_time AS rechargeTime,
      order_state AS orderState,
      (CASE
      WHEN order_state = 1 THEN "未支付"
      WHEN order_state = 2 THEN "已支付"
      WHEN order_state = 1 THEN '未支付'
      WHEN order_state = 2 THEN '已支付'
      END) AS orderStateName
    FROM se_vc_recharge
    where order_state = 2
    order by recharge_time DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
    <if test="start != null and count != null">
      LIMIT #{start}, #{count}
    </if>
  </select>
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -10,6 +10,8 @@
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
import com.dy.pipIrrGlobal.pojoRm.*;
import com.dy.pipIrrGlobal.pojoSe.SeClient;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voSe.VoCardInfo1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -27,9 +29,9 @@
@Service()
public class DbSv {
    @Autowired
    private SeClientCardMapper seClientCardMapperDao;//农户水卡DAO
    private SeClientCardMapper seClientCardDao;//农户水卡DAO
    @Autowired
    private SeVirtualCardMapper seVirtualCardMapper;//农户虚拟水卡DAO
    private SeVirtualCardMapper seVirtualCardDao ;//虚拟卡相关DAO
    @Autowired
    private PrControllerTrampMapper prControllerTrampMapperDao;//流浪控制器DAO
    @Autowired
@@ -60,8 +62,6 @@
    private RmLossDayMapper rmLossHistoryMapperDao ;//控制器漏损水量统计历史数据DAO
    @Autowired
    private RmCommandHistoryMapper rmCommandHistoryDao ;//远程命令日志相关
    @Autowired
    private SeVirtualCardMapper seVirtualCardDao ;//虚拟卡相关
    @Autowired
    private RmTimingReportHistoryMapper rmTimingReportHistoryDao; // 定点上报历史数据DAO
@@ -72,6 +72,7 @@
    private RmOnHourReportHistoryMapper rmOnHourReportHistoryDao; // 整点上报历史数据DAO
    @Autowired
    private RmOnHourReportLastMapper rmOnHourReportLastDao; // 整点上报最新数据DAO
    //@Autowired
    //@Lazy
@@ -93,7 +94,7 @@
        SeClient vo = null ;
        if(NumUtil.isPlusIntNumber(icCardNo)){
            Long icCardNoLong = Long.parseLong(icCardNo) ;
            Map<String, Object> map = seClientCardMapperDao.getClientIdAndNameByCardAddrAndCardNo(icCardAddr, icCardNoLong) ;
            Map<String, Object> map = seClientCardDao.getClientIdAndNameByCardAddrAndCardNo(icCardAddr, icCardNoLong) ;
            if(map != null && map.size() > 0) {
                vo = new SeClient() ;
                vo.setId(Long.parseLong(map.get("clientId").toString()));
@@ -111,7 +112,7 @@
        SeClient vo = null ;
        if(NumUtil.isPlusIntNumber(icCardNo)){
            Long icCardNoLong = Long.parseLong(icCardNo) ;
            Map<String, Object> map = seVirtualCardMapper.getClientIdAndNameByVsCardNo(icCardNoLong) ;
            Map<String, Object> map = seVirtualCardDao.getClientIdAndNameByVsCardNo(icCardNoLong) ;
            if(map != null && map.size() > 0) {
                vo = new SeClient() ;
                vo.setId(Long.parseLong(map.get("clientId").toString()));
@@ -634,12 +635,70 @@
    //////////////////////////////////////////////////////
    //
    // IC卡相关
    //
    //////////////////////////////////////////////////////
    /**
     * 得到农户卡
     * @param cardAddr
     * @param cardNo
     * @return
     */
    public VoCardInfo1 getIcCard(String cardAddr, String cardNo){
        if(NumUtil.isPlusIntNumber(cardNo)){
            Long icCardNoLong = Long.parseLong(cardNo) ;
            List<VoCardInfo1> list = seClientCardDao.getCardsByAddrAndNum(cardAddr, icCardNoLong) ;
            if(list != null && list.size() > 0){
                return list.get(0) ;
            }
        }
        return null ;
    }
    /**
     * 得到农户虚拟卡
     * @param cardNo
     * @return
     */
    public VoCardInfo1 getVirIcCard(String cardNo){
        if(NumUtil.isPlusIntNumber(cardNo)){
            Long icCardNoLong = Long.parseLong(cardNo) ;
            List<VoCardInfo1> list = seVirtualCardDao.getCardsByNum(icCardNoLong) ;
            if(list != null && list.size() > 0){
                return list.get(0) ;
            }
        }
        return null ;
    }
    /**
     * 更新实体卡剩余金额
     * @param id
     * @param remainMoney
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateIcCardRemainMoney(Long id , Double remainMoney){
        seClientCardDao.updateMoney(id,remainMoney);
    }
    /**
     * 更新虚拟卡剩余金额
     * @param id
     * @param remainMoney
     */
    @Transactional(rollbackFor = Exception.class)
    public void updateVirIcCardRemainMoney(Long id , Double remainMoney){
        seVirtualCardDao.updateMoney(id,remainMoney);
    }
    //////////////////////////////////////////////////////
    //
    // 命令日志相关
    //
    //////////////////////////////////////////////////////
    public RmCommandHistory getCommandLog(String commandId){
        return rmCommandHistoryDao.selectByPrimaryKey(Long.parseLong(commandId)) ;
    }
    @Transactional(rollbackFor = Exception.class)
    public void updateCommandLog(RmCommandHistory po){
        rmCommandHistoryDao.updateByPrimaryKey(po) ;
    }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIcRemainMoney.java
New file
@@ -0,0 +1,167 @@
package com.dy.rtuMw.server.rtuData.p206V1_0_0;
import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83CloseVo;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
import com.dy.pipIrrGlobal.voSe.VoCardInfo1;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
 * @Author: liurunyu
 * @Date: 2024/8/7 17:05
 * @Description 处理IC卡剩余金额
 */
public class TkDealIcRemainMoney  extends TaskSurpport {
    private static final Logger log = LogManager.getLogger(TkDealIcRemainMoney.class.getName());
    //类ID,一定与Tree.xml配置文件中配置一致
    public static final String taskId = "TkDealIcRemainMoney";
    /**
     * 执行节点任务: 取水口日用水量和漏损量
     *
     * @param data 需要处理的数据
     */
    @Override
    public void execute(Object data) {
        Data d = (Data) data;
        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();//前面任务已经判断不为null
        Object cdObj = dV1_0_1.subData;
        if (cdObj != null && (cdObj instanceof DataCd84Vo
                || cdObj instanceof DataCd83OpenVo
                || cdObj instanceof DataCd83CloseVo)){
            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
            DbSv sv = (DbSv)objs[0] ;
            try{
                TkDealIcRemainMoney.UpDataVo vo = new TkDealIcRemainMoney.UpDataVo() ;
                if(cdObj instanceof DataCd84Vo){
                    vo.valueFrom( (DataCd84Vo)cdObj, null, null);
                }else if(cdObj instanceof DataCd83OpenVo){
                    vo.valueFrom(null,  (DataCd83OpenVo)cdObj,null);
                }else if(cdObj instanceof DataCd83CloseVo){
                    vo.valueFrom(null,null, (DataCd83CloseVo)cdObj);
                }
                this.doDeal(sv, dV1_0_1, vo);
            }catch (Exception e){
                log.error("保存取水口日用水量和漏损量数据时发生异常", e);
            }
        }
    }
    /**
     * 业务处理
     * @param sv             服务
     * @param dV1_0_1        上报数据
     * @param dataVo         上报数据对象
     */
    private void doDeal(DbSv sv, DataV1_0_1 dV1_0_1, TkDealIcRemainMoney.UpDataVo dataVo) throws Exception {
        if(dataVo.icCardNo != null){
            if(!dataVo.isVirIcCard){
                //实体卡
                if(dataVo.remainMoney != null){
                    VoCardInfo1 vo = sv.getIcCard(dataVo.icCardAddr, dataVo.icCardNo) ;
                    if(vo != null && vo.id != null){
                        if(vo.money != null){
                            if(vo.money > dataVo.remainMoney){
                                //本地的剩余金额 大于 RTU上报的剩余金额
                                this.updateIcCardRemainMoney(sv, vo.id, dataVo.remainMoney);
                            }else{
                                //本地的剩余金额 小于 RTU上报的剩余金额,说明当前上报可能是补报或其他原因造成的现象
                                //不做处理
                            }
                        }else{
                            //这种情况一般不会存在,除非有什么误操作造成
                            this.updateIcCardRemainMoney(sv, vo.id, dataVo.remainMoney);
                        }
                    }
                }
            }else{
                //虚拟卡
                if(dataVo.remainMoney != null){
                    VoCardInfo1 vo = sv.getVirIcCard(dataVo.icCardNo) ;
                    if(vo != null && vo.id != null){
                        if(vo.money != null){
                            if(vo.money > dataVo.remainMoney){
                                //本地的剩余金额 大于 RTU上报的剩余金额
                                this.updateVirIcCardRemainMoney(sv, vo.id, dataVo.remainMoney);
                            }else{
                                //本地的剩余金额 小于 RTU上报的剩余金额,说明当前上报可能是补报或其他原因造成的现象
                                //不做处理
                            }
                        }else{
                            //这种情况一般不会存在,除非有什么误操作造成
                            this.updateVirIcCardRemainMoney(sv, vo.id, dataVo.remainMoney);
                        }
                    }
                }
            }
        }
    }
    /**
     * 更新实体卡剩余金额
     * @param id
     * @param remainMoney
     */
    private void updateIcCardRemainMoney(DbSv sv, Long id , Double remainMoney){
        sv.updateIcCardRemainMoney(id,remainMoney);
    }
    /**
     * 更新虚拟卡剩余金额
     * @param id
     * @param remainMoney
     */
    private void updateVirIcCardRemainMoney(DbSv sv, Long id , Double remainMoney){
        sv.updateVirIcCardRemainMoney(id, remainMoney);
    }
    private class UpDataVo{
        public Boolean isVirIcCard ;//是否为虚拟卡
        public String icCardAddr ;//卡地址
        public String icCardNo ;//卡编号
        public Double remainMoney ; //剩余金额
        public void valueFrom(DataCd84Vo vo84, DataCd83OpenVo vo83Op, DataCd83CloseVo vo83Cl){
            if(this.isAll0(this.icCardAddr)){
                this.isVirIcCard = true ;
            }else{
                this.isVirIcCard = false ;
            }
            if(vo84 != null){
                this.icCardAddr = vo84.cardAddr ;
                this.icCardNo = vo84.cardNo ;
                this.remainMoney = vo84.remainMoney ;
            }else if(vo83Op != null){
                this.icCardAddr = vo83Op.icCardAddr ;
                this.icCardNo = vo83Op.icCardNo ;
                this.remainMoney = vo83Op.remainMoney ;
            }else if(vo83Cl != null){
                this.icCardAddr = vo83Cl.icCardAddr ;
                this.icCardNo = vo83Cl.icCardNo ;
                this.remainMoney = vo83Cl.remainMoney ;
            }
        }
        private boolean isAll0(String s){
            if(s != null && !s.trim().equals("")){
                s = s.replaceAll("0", "") ;
                if(s.equals("")){
                    return true ;
                }else{
                    return false ;
                }
            }
            return false ;
        }
    }
}
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
@@ -22,7 +22,8 @@
                            <task id="TkDealCloseValveReport" name="控制器关阀上报(功能码83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealCloseValveReport" />
                            <task id="TkDealLoss" name="取水口日漏损量(功能码C0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealLoss" />
                            <task id="TkDealIntakeAmountDay" name="取水口日用水量(功能码84、功能码83、功能码C0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealIntakeAmountDay" />
                            <task id="TkDealClientAmountDay" name="农户日用水量(功能码84、功能码83、功能码C0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealClientAmountDay" />
                            <task id="TkDealClientAmountDay" name="农户日用水量(功能码83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealClientAmountDay" />
                            <task id="TkDealIcRemainMoney" name="IC卡剩余金额(功能码84、功能码83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealIcRemainMoney" />
                        </task>
                        <!-- 识别命令响应数据 -->
                        <task id="TkFindComResponse" name="识别响应命令数据" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse">