| | |
| | | package com.dy.pipIrrRemote.rtuUpgrage; |
| | | |
| | | import com.dy.common.contant.Constant; |
| | | import com.dy.common.multiDataSource.DataSourceContext; |
| | | import com.dy.common.softUpgrade.state.UpgradeInfo; |
| | | import com.dy.common.softUpgrade.state.UpgradeRtu; |
| | | import com.dy.common.softUpgrade.state.UpgradeState; |
| | |
| | | import com.dy.pipIrrGlobal.pojoUg.UgRtuTask; |
| | | import io.swagger.v3.oas.annotations.Hidden; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import jakarta.servlet.http.HttpServletRequest; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | */ |
| | | @Hidden //不公开接口,其只有通信中间件调用 |
| | | @PostMapping(path = "/receive") |
| | | public BaseResponse<Boolean> receive(@RequestBody UpgradeInfo info){ |
| | | log.info("接收到的RTU远程升级状态数据为:{}", info.toString()); |
| | | public BaseResponse<Boolean> receive(@RequestBody UpgradeInfo info, HttpServletRequest req, HttpServletResponse rep){ |
| | | log.info("接收到的RTU远程升级状态数据为:{}", info.toString("532328000214")); |
| | | //进行排序 |
| | | //Comparator<UpgradeRtu> comparator = Comparator.comparing(UpgradeRtu::getRtuAddr, Comparator.naturalOrder()); |
| | | //info.ugRtuStateList = info.ugRtuStateList.stream().sorted(comparator).collect(Collectors.toList()); |
| | | |
| | | //通信中间件传过来的机构tag,以用于查找数据源 |
| | | String token = req.getHeader(Constant.UserTokenKeyInHeader); |
| | | DataSourceContext.set(token); |
| | | |
| | | if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ |
| | | if(info.ugRtuStateList.size() < 10){ |
| | |
| | | } |
| | | } |
| | | |
| | | if(n == 40 |
| | | || n == 41 |
| | | || n == 42 |
| | | || n == 43 |
| | | || n == 44 |
| | | || n == 45 |
| | | || n == 46 |
| | | || n == 47 |
| | | || n == 48 |
| | | || n == 49){ |
| | | if(n == 45){ |
| | | if(rtu.currentPackage != 1){ |
| | | //升死 |
| | | rtu.state = UpgradeRtu.STATE_FAIL ; |
| | |
| | | return ; |
| | | } |
| | | |
| | | rtu.state = UpgradeRtu.STATE_RUNNING ; |
| | | rtu.currentPackage += 1 ; |
| | | rtu.currentRamAddr = 0x00 + UpgradeRtu.RAMADDRADD ; |
| | | rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; |
| | | rtu.reTryTimes = 0 ; |
| | | rtu.isOver = false ; |
| | | if(rtu.state != UpgradeRtu.STATE_FAILONE && |
| | | rtu.state != UpgradeRtu.STATE_FAIL){ |
| | | rtu.state = UpgradeRtu.STATE_RUNNING ; |
| | | rtu.currentPackage += 1 ; |
| | | rtu.currentRamAddr = 0x00 + UpgradeRtu.RAMADDRADD ; |
| | | rtu.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; |
| | | rtu.reTryTimes = 0 ; |
| | | rtu.isOver = false ; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | boolean hasRunning = false ; |
| | | if(cache.ugRtuStateList != null && cache.ugRtuStateList.size() > 0){ |
| | | cache.ugOverallState.init(); |
| | | cache.ugOverallState.rtuTotal = cache.ugRtuStateList.size() ; |
| | | for(UpgradeRtu rtu : cache.ugRtuStateList){ |
| | | if(rtu.state == UpgradeRtu.STATE_OFFLINE){ |
| | | cache.ugOverallState.offLineTotal ++ ; |