pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java
@@ -52,7 +52,7 @@ return sb.toString() ; } public String getStateName(int state){ public static String getStateName(int state){ switch (state) { case STATE_OFFLINE: return "离线"; pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/UgRtuControllerMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoRm.UgRtuController; import com.dy.pipIrrGlobal.voPr.VoController; import com.dy.pipIrrGlobal.voUg.VoUgResult; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -94,6 +95,19 @@ */ Long selectCountByTaskAndCon(@Param("taskId") Long taskId, @Param("conId") Long conId) ; /** * 分页查询一个升级任务中所有控制器升级结查 数量 * * @param params * @return */ Long selectControllerUpgradeResultsCount(Map<?, ?> params) ; /** * 分页查询一个升级任务中所有控制器升级结查 * @param params * @return */ List<VoUgResult> selectControllerUpgradeResults(Map<?, ?> params); /** * update record selective pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java
@@ -22,7 +22,7 @@ */ @Data @JsonPropertyOrder({ "id", "rtuAddr", "intakeName", "bindNumber", "findDt", "isOnLine", "protocol", "remarks"}) @JsonPropertyOrder({ "id", "rtuAddr", "intakeName", "bindNumber", "findDt", "isOnLine", "protocol", "protocolVersion", "remarks"}) @HeadRowHeight(30) @ContentRowHeight(20) public class VoController implements BaseEntity { pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java
New file @@ -0,0 +1,78 @@ package com.dy.pipIrrGlobal.voUg; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** * @Author: liurunyu * @Date: 2024/11/13 16:53 * @Description */ @Data @JsonPropertyOrder({ "id", "rtuAddr", "intakeName", "isOver", "isOverStr", "ugState", "ugStateStr", "overDt"}) public class VoUgResult { /** * 主键 */ @Schema(description = "主键" ) @JSONField(serializeUsing= ObjectWriterImplToString.class) public Long id; /** * 控制器地址 */ @Schema(description = "控制器地址" ) public String rtuAddr; /** * 取水编号 */ @Schema(description = "取水口编号") private String intakeNum; /** * 升级是否结束 */ @Schema(description = "升级是否结束" ) public Byte isOver; /** * 升级是否结束 */ @Schema(description = "升级是否结束" ) @TableField(exist = false) public String isOverStr; /** * 升级状态 */ @Schema(description = "升级状态" ) public Integer ugState; /** * 升级状态 */ @Schema(description = "升级状态" ) public String ugStateStr; /** * 升级结束时间 */ @Schema(description = "升级结束时间" ) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS") public Integer overDt; /** * 无参数据构造方法 */ public VoUgResult(){ this.isOver = 0; } } pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml
@@ -120,6 +120,44 @@ </where> </select> <select id="selectControllerUpgradeResultsCount" resultType="java.lang.Long"> <!--@mbg.generated--> select count(*) from ug_rtu_controller <where> <if test="taskId != null"> AND task_id = #{taskId,jdbcType=BIGINT} </if> </where> </select> <select id="selectControllerUpgradeResults" resultType="com.dy.pipIrrGlobal.voUg.VoUgResult"> <!--@mbg.generated--> select ctb.id as id, inTb.name as intakeNum, ctb.rtu_addr as rtuAddr, ctb.is_over as isOver, ctb.ug_state as ugState, ctb.over_dt as overDt from ug_rtu_controller ctb inner join pr_intake inTb on ctb.task_id = inTb.id <where> <if test="taskId != null"> AND ctb.task_id = #{taskId,jdbcType=BIGINT} </if> </where> ORDER BY ctb.id ASC <trim prefix="limit " > <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} </if> </trim> </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!--@mbg.generated--> delete from ug_rtu_controller pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java
New file @@ -0,0 +1,30 @@ package com.dy.pipIrrBase.rtuUpgrade.task; import com.dy.common.webUtil.QueryConditionVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; /** * @Author: liurunyu * @Date: 2024/11/13 16:36 * @Description */ @Data @EqualsAndHashCode(callSuper = false) @ToString(callSuper = true) @NoArgsConstructor @AllArgsConstructor @Builder @Schema(name = "查询升级任务RTU升级情况的条件") public class QueryUgResultVo extends QueryConditionVo { @Schema(description = "升级任务id") public Long taskId; @Schema(description = "取水口编号") public String intakeNum; @Schema(description = "控制器地址") public String rtuAddr; } pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java
New file @@ -0,0 +1,70 @@ package com.dy.pipIrrBase.rtuUpgrade.task; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoRm.UgRtuTask; import com.dy.pipIrrGlobal.voUg.VoUgResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @Author: liurunyu * @Date: 2024/11/13 16:10 * @Description */ @Slf4j @Tag(name = "RTU升级结果", description = "RTU升级结果") @RestController @RequestMapping(path = "ugRtuResult") @SuppressWarnings("unchecked") //java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked") public class UgRtuResultCtrl { private UgRtuResultSv sv; @Autowired private void setSv(UgRtuResultSv sv) { this.sv = sv; } /** * 客户端分页查询一个升级任务的所有控制器 * @return 一些RTU升级任务数据 */ @Operation(summary = "分页查询一个升级任务中所有控制器升级结查", description = "客户端分页查询一个升级任务中所有控制器升级结查") @ApiResponses(value = { @ApiResponse( responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, description = "返回一些RTU升级任务控制器升级数据(BaseResponse.content:QueryResultVo[{}])", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = UgRtuTask.class))} ) }) @GetMapping(path = "/some") @SsoAop() public BaseResponse<QueryResultVo<List<VoUgResult>>> some(QueryUgResultVo vo) { if (vo.taskId == null) { return BaseResponseUtils.buildErrorMsg("升级任务id不能为空"); } try { QueryResultVo<List<VoUgResult>> res = this.sv.selectSome(vo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("查询RTU升级任务异常", e); return BaseResponseUtils.buildException(e.getMessage()); } } } pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java
New file @@ -0,0 +1,56 @@ package com.dy.pipIrrBase.rtuUpgrade.task; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoRm.UgRtuControllerMapper; import com.dy.common.softUpgrade.state.UpgradeRtu; import com.dy.pipIrrGlobal.voUg.VoUgResult; 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.List; import java.util.Map; /** * @Author: liurunyu * @Date: 2024/11/13 16:11 * @Description */ @Slf4j @Service public class UgRtuResultSv { @Autowired private UgRtuControllerMapper dao ; /** * 分页查询一个升级任务中所有控制器升级结查 * @return 控制器升级结查 */ public QueryResultVo<List<VoUgResult>> selectSome(QueryUgResultVo queryVo){ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ; Long itemTotal = this.dao.selectControllerUpgradeResultsCount(params) ; QueryResultVo<List<VoUgResult>> rsVo = new QueryResultVo<>() ; rsVo.pageSize = queryVo.pageSize ; rsVo.pageCurr = queryVo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); List<VoUgResult> list = this.dao.selectControllerUpgradeResults(params) ; if(list != null && list.size() > 0){ for(VoUgResult vo : list){ if(vo.isOver != null && vo.isOver.byteValue() == 1){ vo.isOverStr = "是" ; }else{ vo.isOverStr = "否" ; } if(vo.ugState != null){ vo.ugStateStr = UpgradeRtu.getStateName(vo.ugState) ; } } } rsVo.obj = list ; return rsVo ; } }