| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.pipIrrRemote.rtuUpgrage; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.softUpgrade.state.UpgradeRtu; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.daoRm.UgRtuControllerMapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.daoRm.UgRtuProgramMapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.daoRm.UgRtuTaskMapper; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.pojoUg.UgRtuProgram; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.pojoUg.UgRtuTask; | 
|---|
|  |  |  | import com.dy.pipIrrGlobal.voUg.VoUpgradeDetail; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.dubbo.common.utils.PojoUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2024/11/12 8:33 | 
|---|
|  |  |  | * @Description | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class RtuUpgradeSv { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UgRtuTaskMapper tdao ; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UgRtuProgramMapper pdao ; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UgRtuControllerMapper cdao ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 通信主键查询一个升级任务 | 
|---|
|  |  |  | * @param taskId 主键 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public UgRtuTask selectTaskById(String taskId){ | 
|---|
|  |  |  | return tdao.selectByPrimaryKey(Long.valueOf(taskId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 通信主键查询一个升级程序 | 
|---|
|  |  |  | * @param id 主键 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public UgRtuProgram selectProgramById(Long id){ | 
|---|
|  |  |  | return pdao.selectByPrimaryKey(id); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询一个升级任务所有控制器地址 | 
|---|
|  |  |  | * @return 一些一些控制器地址 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public List<String> selectAllRtuAddrByTask(String taskId){ | 
|---|
|  |  |  | return this.cdao.selectAllRtuAddrByTask(Long.valueOf(taskId)) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存RTU升级结束状态 | 
|---|
|  |  |  | * @param taskId | 
|---|
|  |  |  | * @param rtu | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void saveRtuUpgradeState(Long taskId, UpgradeRtu rtu){ | 
|---|
|  |  |  | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(rtu) ; | 
|---|
|  |  |  | params.put("taskId", taskId) ; | 
|---|
|  |  |  | params.put("overDt", new Date()) ; | 
|---|
|  |  |  | cdao.updateRtuUpgradeState(params) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询一个升级任务有关信息 | 
|---|
|  |  |  | * @return 升级任务有关信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public VoUpgradeDetail selectTaskDetail(String taskId){ | 
|---|
|  |  |  | List<VoUpgradeDetail> list = this.tdao.selectTaskDetail(Long.valueOf(taskId)) ; | 
|---|
|  |  |  | if(list != null && list.size() > 0){ | 
|---|
|  |  |  | return list.get(0) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存升级任务为执行状态 | 
|---|
|  |  |  | * @param taskId 任务ID | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void setUpgradeTaskExecuted(String taskId){ | 
|---|
|  |  |  | this.tdao.executeById(Long.valueOf(taskId)) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 设置升级任务已经完成 | 
|---|
|  |  |  | * @param taskId | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void updateTaskOver(String taskId){ | 
|---|
|  |  |  | tdao.overById(Long.valueOf(taskId)) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ///////////////////////////////////////////////////// | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // 以下演示升级功能用到 | 
|---|
|  |  |  | // | 
|---|
|  |  |  | ///////////////////////////////////////////////////// | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询最新一个升级任务 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public UgRtuTask selectLastTask(){ | 
|---|
|  |  |  | return tdao.selectLastTask(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|