From 300cda64bc2f5ad7fb0a3c057c330ed905d12032 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 28 十一月 2024 15:15:08 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java | 12 +- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java | 38 ++++++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java | 56 ++++++++++- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java | 24 ++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java | 25 ++-- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java | 15 ++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java | 8 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml | 59 +++++++++-- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 12 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java | 28 ++--- 11 files changed, 213 insertions(+), 66 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java index a9e20a5..9c98e77 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java @@ -17,8 +17,8 @@ public int overTotal ;//鎵�鏈夌粨鏉燂紙鍖呮嫭鎴愬姛涓庢墍鏈夊け璐ワ級 public int successTotal ;//鎵�鏈夋垚鍔� public int failTotal ;//鎵�鏈夊け璐ワ紙涓�鍖呮澶辫触+澶氬寘姝诲け璐�+绂荤嚎澶辫触锛� - public int failOneTotal ;//鎵�鏈変竴鍖呮澶辫触 - public int failMultiTotal ;//鎵�鏈夊鍖呮澶辫触 + public int dieOneTotal;//鎵�鏈変竴鍖呮 + public int dieMultiTotal;//鎵�鏈夊鍖呮 public int failOffTotal ;//鎵�鏈夌绾垮け璐� public Boolean allOver ;//鎵�鏈夐兘缁撴潫锛坱rue:鏄紝false:鍚︼級 @@ -35,8 +35,8 @@ this.overTotal = 0; this.successTotal = 0; this.failTotal = 0; - this.failOneTotal = 0; - this.failMultiTotal = 0; + this.dieOneTotal = 0; + this.dieMultiTotal = 0; this.failOffTotal = 0; this.allOver = false ; } @@ -51,8 +51,8 @@ sb.append(" \n宸茬粨鏉熸�绘暟锛�" + overTotal) ; sb.append(" \n鎴愬姛鎬绘暟锛�" + successTotal) ; sb.append(" \n澶辫触鎬绘暟锛�" + failTotal) ; - sb.append(" \n涓�鍖呮澶辫触鎬绘暟锛�" + failOneTotal) ; - sb.append(" \n澶氬寘姝诲け璐ユ�绘暟锛�" + failMultiTotal) ; + sb.append(" \n涓�鍖呮澶辫触鎬绘暟锛�" + dieOneTotal) ; + sb.append(" \n澶氬寘姝诲け璐ユ�绘暟锛�" + dieMultiTotal) ; sb.append(" \n绂荤嚎澶辫触鎬绘暟锛�" + failOffTotal) ; sb.append(" \n鍏ㄧ粨鏉燂細" + allOver) ; return sb.toString() ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java index 984b0d3..38a13ca 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CreateRandom.java @@ -11,17 +11,20 @@ /* public static void main(String[] args) { - System.out.println(CreateRandom.random(1, 0)); - System.out.println(CreateRandom.random(2, 0)); - System.out.println(CreateRandom.random(3, 0)); - System.out.println(CreateRandom.random(4, 0)); - System.out.println(CreateRandom.random(5, 0)); - System.out.println(CreateRandom.random(100, 0)); - System.out.println(CreateRandom.random(1256, 1234)); +// System.out.println(CreateRandom.random(1, 0)); +// System.out.println(CreateRandom.random(2, 0)); +// System.out.println(CreateRandom.random(3, 0)); +// System.out.println(CreateRandom.random(4, 0)); +// System.out.println(CreateRandom.random(5, 0)); +// System.out.println(CreateRandom.random(100, 0)); +// System.out.println(CreateRandom.random(1256, 1234)); System.out.println("======================="); - System.out.println(create_between(10, 100)); + for(int i = 0 ; i < 100; i++){ + System.out.println(create_between(10, 100)); + } } */ + /** * 4浣嶉殢鏈烘暟鎹� @@ -81,13 +84,8 @@ if(max - min < min/2){ return min ; } - String minStr = String.valueOf(min) ; - int len = minStr.length() ; - char minFirst = minStr.charAt(0) ; - double d = Math.random(); - d = d * 10000000 ; - String s = String.valueOf(d); - s = minFirst + s ; + int len = String.valueOf(min).length() ; + String s = String.valueOf(Math.random() * 10000000); s = s.substring(0 ,len) ; int n = Integer.parseInt(s) ; if(n < min || n > max){ diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java index 05bb328..3b23cda 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgResult.java @@ -1,12 +1,21 @@ package com.dy.pipIrrGlobal.voUg; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum; +import com.alibaba.excel.enums.poi.VerticalAlignmentEnum; 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; + +import java.util.Date; /** * @Author: liurunyu @@ -15,50 +24,68 @@ */ @Data -@JsonPropertyOrder({ "id", "rtuAddr", "intakeName", "isOver", "isOverStr", "ugState", "ugStateStr", "overDt"}) +@HeadRowHeight(26) +@ContentRowHeight(22) +@JsonPropertyOrder({ "id", "intakeNum", "rtuAddr", "isOverStr", "ugStateStr", "overDt"}) public class VoUgResult { /** * 涓婚敭 */ @Schema(description = "涓婚敭" ) @JSONField(serializeUsing= ObjectWriterImplToString.class) + @ExcelIgnore() public Long id; /** * 鎺у埗鍣ㄥ湴鍧� */ @Schema(description = "鎺у埗鍣ㄥ湴鍧�" ) + @ExcelProperty("鎺у埗鍣ㄥ湴鍧�") + @ColumnWidth(20) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) public String rtuAddr; /** * 鍙栨按缂栧彿 */ @Schema(description = "鍙栨按鍙g紪鍙�") + @ExcelProperty("鍙栨按缂栧彿") + @ColumnWidth(20) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) private String intakeNum; /** * 鍗囩骇鏄惁缁撴潫 */ @Schema(description = "鍗囩骇鏄惁缁撴潫" ) + @JSONField(serialize = false) + @ExcelIgnore() public Byte isOver; /** * 鍗囩骇鏄惁缁撴潫 */ @Schema(description = "鍗囩骇鏄惁缁撴潫" ) - @TableField(exist = false) + @ExcelProperty("鍗囩骇缁撴潫") + @ColumnWidth(10) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) public String isOverStr; /** * 鍗囩骇鐘舵�� */ @Schema(description = "鍗囩骇鐘舵��" ) + @JSONField(serialize = false) + @ExcelIgnore() public Integer ugState; /** * 鍗囩骇鐘舵�� */ @Schema(description = "鍗囩骇鐘舵��" ) + @ExcelProperty("鍗囩骇缁撴灉") + @ColumnWidth(16) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) public String ugStateStr; /** @@ -66,7 +93,10 @@ */ @Schema(description = "鍗囩骇缁撴潫鏃堕棿" ) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS") - public Integer overDt; + @ExcelProperty("缁撴潫鏃堕棿") + @ColumnWidth(30) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) + public Date overDt; /** * 鏃犲弬鏁版嵁鏋勯�犳柟娉� diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java index 2653252..0ee7201 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java @@ -25,6 +25,6 @@ @ExcelProperty("鍗囩骇缁撴灉") @ColumnWidth(30) - @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.LEFT, verticalAlignment = VerticalAlignmentEnum.CENTER) + @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER) public String result; } diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml index b7aa29e..fd8a25f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/UgRtuControllerMapper.xml @@ -125,10 +125,28 @@ <!--@mbg.generated--> select count(*) - from ug_rtu_controller + from ug_rtu_controller ugCon + inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id + inner join pr_controller con on ugCon.controller_id = con.id + inner join pr_intake inta on con.intakeId = inta.id <where> <if test="taskId != null"> - AND task_id = #{taskId,jdbcType=BIGINT} + AND ugCon.task_id = #{taskId,jdbcType=BIGINT} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum,jdbcType=VARCHAR} + </if> + <if test="rtuAddr != null and rtuAddr != ''"> + AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR} + </if> + <if test="state != null and state == 1"> + AND ugCon.ug_state = 1 + </if> + <if test="state != null and state == 0"> + AND ugCon.ug_state != 1 + </if> + <if test="fail != null"> + AND ugCon.ug_state = #{fail,jdbcType=INTEGER} </if> </where> </select> @@ -136,20 +154,37 @@ <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 + ugCon.id as id, + inta.name as intakeNum, + ugCon.rtu_addr as rtuAddr, + ugCon.is_over as isOver, + ugCon.ug_state as ugState, + ugCon.over_dt as overDt + from ug_rtu_controller ugCon + inner join ug_rtu_task ugTask on ugCon.task_id = ugTask.id + inner join pr_controller con on ugCon.controller_id = con.id + inner join pr_intake inta on con.intakeId = inta.id <where> <if test="taskId != null"> - AND ctb.task_id = #{taskId,jdbcType=BIGINT} + AND ugCon.task_id = #{taskId,jdbcType=BIGINT} + </if> + <if test="intakeNum != null and intakeNum != ''"> + AND inta.name = #{intakeNum,jdbcType=VARCHAR} + </if> + <if test="rtuAddr != null and rtuAddr != ''"> + AND ugCon.rtu_addr = #{rtuAddr,jdbcType=VARCHAR} + </if> + <if test="state != null and state == 1"> + AND ugCon.ug_state = 1 + </if> + <if test="state != null and state == 0"> + AND ugCon.ug_state != 1 + </if> + <if test="fail != null"> + AND ugCon.ug_state = #{fail,jdbcType=INTEGER} </if> </where> - ORDER BY ctb.id ASC + ORDER BY ugCon.id ASC <trim prefix="limit " > <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java index b19ea75..4378bb4 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java @@ -210,11 +210,15 @@ }else if(info.state == UpgradeRtu.STATE_SUCCESS) { state.successTotal++; }else if(info.state == UpgradeRtu.STATE_FAILONE) { - state.failOneTotal++; - state.failTotal++; + state.dieOneTotal++; + if(info.isOver){ + state.failTotal++; + } }else if(info.state == UpgradeRtu.STATE_FAIL) { - state.failMultiTotal++; - state.failTotal++; + state.dieMultiTotal++; + if(info.isOver) { + state.failTotal++; + } }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) { state.failTotal++; state.failOffTotal++; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java index 30b2555..cf03982 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java @@ -42,27 +42,28 @@ String cd = cdPre + cdSuf; if(cd.equals("1601")){ //鍗囩骇閰嶇疆 - if(ServerProperties.argOneDie){ - UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦 - }else{ - UpCd9601.upData() ; - } + UpCd9601.upData() ; + }else if(cd.equals("1602")){ //鍗囩骇鏁版嵁 count9602 ++ ; - if(ServerProperties.argMultiDie){ - if(count9602 > 10){ - int random = CreateRandom.create_between(10, 100) ; - if(random > 50){ - UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦 + if(ServerProperties.argOneDie){ + UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦 + }else{ + if(ServerProperties.argMultiDie){ + if(count9602 > 10){ + int random = CreateRandom.create_between(10, 100) ; + if(random > 98){ + UpHeartBeat.upHeartBeat = true ;//浣胯兘涓婅蹇冭烦 + }else{ + UpCd9602.upData() ; + } }else{ UpCd9602.upData() ; } }else{ UpCd9602.upData() ; } - }else{ - UpCd9602.upData() ; } }else if(cd.equals("1603")){ //鍗囩骇鏍¢獙 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java index 09e30af..fa79bb9 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/QueryUgResultVo.java @@ -15,7 +15,7 @@ @NoArgsConstructor @AllArgsConstructor @Builder -@Schema(name = "鏌ヨ鍗囩骇浠诲姟RTU鍗囩骇鎯呭喌鐨勬潯浠�") +@Schema(name = "鏌ヨ鍗囩骇浠诲姟RTU鍗囩骇缁撴灉鐨勬潯浠�") public class QueryUgResultVo extends QueryConditionVo { @Schema(description = "鍗囩骇浠诲姟id") @@ -27,4 +27,10 @@ @Schema(description = "鎺у埗鍣ㄥ湴鍧�") public String rtuAddr; + @Schema(description = "鍗囩骇缁撴灉锛�1鍗囩骇鎴愬姛锛�0鍗囩骇澶辫触") + public Integer state; + + @Schema(description = "澶辫触绫诲瀷锛�3涓�鍖呮澶辫触锛�4澶氬寘姝诲け璐ワ紝5绂荤嚎澶辫触") + public Integer fail; + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java index a69188f..aa1a917 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java @@ -1,5 +1,7 @@ package com.dy.pipIrrBase.rtuUpgrade.task; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.support.ExcelTypeEnum; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -7,19 +9,24 @@ import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoUg.UgRtuTask; import com.dy.pipIrrGlobal.voUg.VoUgResult; +import com.dy.pipIrrGlobal.voUg.VoUgRtuResult; 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 jakarta.servlet.http.HttpServletResponse; 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.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.List; /** @@ -59,12 +66,49 @@ 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.buildErrorMsg(e.getMessage()); + if(vo.state != null && vo.state == 1){ + //鏌ヨ鍗囩骇鎴愬姛鐨� + vo.fail = null ; } + if(vo.state == null && vo.fail != null){ + //鏌ヨ鍗囩骇澶辫触鐨� + vo.state = 0 ; + } + QueryResultVo<List<VoUgResult>> res = this.sv.selectSome(vo); + return BaseResponseUtils.buildSuccess(res); + } + + /** + * 瀵煎嚭鍗囩骇缁撴灉RTU鍒楄〃 + * @param response + */ + @RequestMapping(value = "/exportAll", method = RequestMethod.GET) + public void exportUgFail(HttpServletResponse response, QueryUgResultVo vo) throws Exception { + if(vo.state != null && vo.state == 1){ + //鏌ヨ鍗囩骇鎴愬姛鐨� + vo.fail = null ; + } + if(vo.state == null && vo.fail != null){ + //鏌ヨ鍗囩骇澶辫触鐨� + vo.state = 0 ; + } + setExcelRespProp(response, "鍗囩骇缁撴灉鍒楄〃"); + List<VoUgResult> rsList = this.sv.selectAll(vo); + EasyExcel.write(response.getOutputStream()) + .head(VoUgRtuResult.class) + .excelType(ExcelTypeEnum.XLSX) + .sheet("鍗囩骇缁撴灉鍒楄〃") + .doWrite(rsList); + } + + + /** + * 璁剧疆excel涓嬭浇鍝嶅簲澶村睘鎬� + */ + private void setExcelRespProp(HttpServletResponse response, String rawFileName) throws UnsupportedEncodingException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode(rawFileName, "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java index 0ccc142..bb5ee46 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultSv.java @@ -25,7 +25,7 @@ private UgRtuControllerMapper dao ; /** - * 鍒嗛〉鏌ヨ涓�涓崌绾т换鍔′腑鎵�鏈夋帶鍒跺櫒鍗囩骇缁撴煡 + * 鍒嗛〉鏌ヨ涓�涓崌绾т换鍔′腑涓�浜涙帶鍒跺櫒鍗囩骇缁撴煡 * @return 鎺у埗鍣ㄥ崌绾х粨鏌� */ public QueryResultVo<List<VoUgResult>> selectSome(QueryUgResultVo queryVo){ @@ -53,4 +53,26 @@ return rsVo ; } + + /** + * 鍒嗛〉鏌ヨ涓�涓崌绾т换鍔′腑鎵�鏈夋帶鍒跺櫒鍗囩骇缁撴煡 + * @return 鎺у埗鍣ㄥ崌绾х粨鏌� + */ + public List<VoUgResult> selectAll(QueryUgResultVo queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ; + 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) ; + } + } + } + return list ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java index abfdc1b..eb37c52 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -74,12 +75,17 @@ } } }else{ - cache = info; //褰揷ache涓湁鍊兼椂锛岃繘琛屾瘮瀵瑰瓨鍌紝瀵规瘮鐩殑鏄槻姝㈤噸澶嶆搷浣滄暟鎹簱 if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ //姝ゆ椂淇濊瘉涓や釜闆嗗悎閮戒笉涓簄ull this.save2Db(info.ugTaskId, info.ugRtuStateList, cache.ugRtuStateList); } + if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ + //姝ゆ椂淇濊瘉涓や釜闆嗗悎閮戒笉涓簄ull + info.ugRtuStateList.stream().sorted(Comparator.comparing(UpgradeRtu::getRtuAddr, Comparator.naturalOrder())).collect(Collectors.toList()); + } + //cache璧嬪�煎繀椤绘斁鍦ㄤ笂闈㈠鐞嗙殑鍚庨潰锛屽惁鍒欎笂闈㈢殑姣旇緝涓嶆垚鍔� + cache = info; } return null; } @@ -103,9 +109,10 @@ */ private void save2Db(String taskId, List<UpgradeRtu> newList, List<UpgradeRtu> oldList){ List<UpgradeRtu> newOverList = newList.stream().filter(vo -> vo.isOver).collect(Collectors.toList()) ; + List<UpgradeRtu> oldNoOverList = newList.stream().filter(vo -> !vo.isOver).collect(Collectors.toList()) ; for(UpgradeRtu nvo : newOverList){ if(nvo != null) { - if(oldList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr) && vo.isOver == false)){ + if(oldNoOverList.stream().anyMatch(vo -> vo.rtuAddr.equals(nvo.rtuAddr))){ //涓婃娌℃湁鍗囩骇缁撴潫锛岃�屽綋鍓嶅崌绾х粨鏉熶簡 this.sv.saveRtuUpgradeState(Long.parseLong(taskId), nvo); } @@ -305,10 +312,10 @@ }else if(rtu.state == UpgradeRtu.STATE_SUCCESS) { cache.ugOverallState.successTotal++; }else if(rtu.state == UpgradeRtu.STATE_FAILONE) { - cache.ugOverallState.failOneTotal++; + cache.ugOverallState.dieOneTotal++; cache.ugOverallState.failTotal++; }else if(rtu.state == UpgradeRtu.STATE_FAIL) { - cache.ugOverallState.failMultiTotal++; + cache.ugOverallState.dieMultiTotal++; cache.ugOverallState.failTotal++; } if(rtu.isOver){ -- Gitblit v1.8.0