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)) ;
|
}
|
|
|
/////////////////////////////////////////////////////
|
//
|
// 以下演示升级功能用到
|
//
|
/////////////////////////////////////////////////////
|
|
/**
|
* 查询最新一个升级任务
|
* @return
|
*/
|
public UgRtuTask selectLastTask(){
|
return tdao.selectLastTask();
|
}
|
}
|