根据RTU上报状态清除虚拟IC卡占用状态逻辑中,增加一个日期时间限制,以防止清除计划开阀命令的中虚拟IC卡占用状态。
| | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | * @param intakeId |
| | | * @return |
| | | */ |
| | | void updateVcCardNoUseStateByIntakeId(@Param("intakeId")Long intakeId) ; |
| | | void updateVcCardNoUseStateByIntakeId(@Param("intakeId")Long intakeId, @Param("now")Date now) ; |
| | | |
| | | /** |
| | | * 获取虚拟卡充值记录 |
| | |
| | | create_time = #{createTime,jdbcType=TIMESTAMP} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateVcCardNoUseStateByIntakeId" parameterType="java.lang.Long"> |
| | | <update id="updateVcCardNoUseStateByIntakeId"> |
| | | update se_virtual_card |
| | | set in_use = 0, |
| | | intake_id = null |
| | | where intake_id = #{intakeId,jdbcType=BIGINT} |
| | | where intake_id = #{intakeId,jdbcType=BIGINT} and open_time < #{now,jdbcType=TIMESTAMP} |
| | | </update> |
| | | <update id="updateMoney" > |
| | | update se_virtual_card |
| | |
| | | * @param intakeId |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateVirCardNoUseState(Long intakeId){ |
| | | public void updateVirCardNoUseState(Long intakeId, Date now){ |
| | | this.seVirtualCardDao.updateVcCardNoUseStateByIntakeId(intakeId); ; |
| | | } |
| | | |
| | |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2024/8/9 9:49 |
| | |
| | | objs = this.getTaskResults(TkPreGenObjs.taskId); |
| | | DbSv sv = (DbSv) objs[0]; |
| | | //虚拟卡在取水口上的占用状态改为非占用状态 |
| | | sv.updateVirCardNoUseState(intakeId); |
| | | Date now = new Date() ; |
| | | sv.updateVirCardNoUseState(intakeId, now); |
| | | } |
| | | } |
| | | } |
| | |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2024/8/9 9:49 |
| | |
| | | objs = this.getTaskResults(TkPreGenObjsV2.taskId); |
| | | DbSv sv = (DbSv) objs[0]; |
| | | //虚拟卡在取水口上的占用状态改为非占用状态 |
| | | sv.updateVirCardNoUseState(intakeId); |
| | | Date now = new Date() ; |
| | | sv.updateVirCardNoUseState(intakeId, now); |
| | | } |
| | | } |
| | | } |
| | |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Author liurunyu |
| | | * @Date 2024/5/8 14:18 |
| | |
| | | //阀门关闭状态 |
| | | if(controller != null && controller.getIntakeId() != null){ |
| | | //虚拟卡在取水中的占用状态改为非应用状态 |
| | | sv.updateVirCardNoUseState(controller.getIntakeId()); |
| | | Date now = new Date() ; |
| | | sv.updateVirCardNoUseState(controller.getIntakeId(), now); |
| | | } |
| | | } |
| | | } |