From 1069d8bf6622690e6be091753def954ccf4495ae Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 10 十二月 2024 10:38:53 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 46 +++++---- web/src/views/modules/taskReliability/SimulatHistory.vue | 114 +++++++++++++--------- modules/mainPart/src/main/resources/mapper/basicInfo/StatisticsDao.xml | 20 +++ web/src/views/modules/taskReliability/TimeDiagram.vue | 24 ++++ web/src/views/modules/taskReliability/ReliabilityWeakness.vue | 26 ++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java | 13 -- web/src/views/modules/taskReliability/SimulatAssess.vue | 4 7 files changed, 157 insertions(+), 90 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java index a12988f..b93d5fe 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java @@ -1,27 +1,16 @@ package com.zt.life.modules.mainPart.sys.controller; -import com.zt.common.annotation.LogOperation; -import com.zt.common.annotation.QueryParam; -import com.zt.common.constant.Constant; -import com.zt.common.db.query.QueryFilter; import com.zt.common.servlet.Result; import com.zt.life.modules.mainPart.sys.model.SysMysql; import com.zt.life.modules.mainPart.sys.service.SysMysqlService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.util.LinkedList; -import java.util.List; + /** diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java index 613d3f1..05d095f 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java @@ -257,7 +257,7 @@ JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString()); JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), dto.getName()); JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), 20); - JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y - 15); + JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y + 10); jsonArray3.add(textJson); } @@ -607,7 +607,7 @@ if (jsonArray3.size() == 0) { StatusDto statusDto = new StatusDto(); statusDto.setTimes(phaseModelList.get(j).getGkDuration()); - statusDto.setStatus(""); + statusDto.setStatus("M"); productStatusDto.getStatusList().add(statusDto); } else { for (int a = 0; a < jsonArray3.size(); a++) { @@ -621,6 +621,9 @@ } } if (status != null || times != null) { + if (StringUtils.isBlank(status)) { + status = "M"; + } StatusDto statusDto = new StatusDto(); statusDto.setTimes(times); statusDto.setStatus(status); @@ -1297,7 +1300,6 @@ JSONObject xmlJSONObj = XML.toJSONObject(xml); JSONArray jsonArray = xmlJSONObj.getJSONObject("ResultNodes").getJSONArray("ResultNode"); for (int i = 0; i < jsonArray.size(); i++) { - WeakDto data = new WeakDto(); Long productId1; String nameValue = jsonArray.getJSONObject(i).get("name").toString(); if (StringUtils.isNotBlank(nameValue)) { @@ -1322,12 +1324,14 @@ } List<WeakDto> productList = baseDao.getProductList(taskId, productId); for (WeakDto item : productList) { - WeakDto dto = map.get(item.getId()); - item.setMtbf(dto.getMtbf()); - item.setMttr(dto.getMttr()); - item.setMsr(dto.getMsr()); - item.setMtbfTime(dto.getMtbf() / item.getTimeRate()); - item.setIsWeak(0); + if (map.get(item.getId()) != null) { + WeakDto dto = map.get(item.getId()); + item.setMtbf(dto.getMtbf()); + item.setMttr(dto.getMttr()); + item.setMsr(dto.getMsr()); + item.setMtbfTime(dto.getMtbf() / item.getTimeRate()); + item.setIsWeak(0); + } } List<WeakDto> treeList = new ArrayList<>(); @@ -1342,13 +1346,15 @@ private void getIsweak(List<WeakDto> treeList) { WeakDto minDto = null; for (WeakDto dto : treeList) { - if (dto.getProductType() == 10) - continue; - if (minDto == null) { - minDto = dto; - } - if (dto.getMtbfTime() < minDto.getMtbfTime()) { - minDto = dto; + if (dto.getMtbfTime() != null) { + if (dto.getProductType() == 10) + continue; + if (minDto == null) { + minDto = dto; + } + if (dto.getMtbfTime() < minDto.getMtbfTime()) { + minDto = dto; + } } } minDto.setIsWeak(1); @@ -1468,13 +1474,11 @@ String[] arr = availability.split(" "); // 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓� Double j = 0.0; - Double b = 100.0; for (int a = 0; a < arr.length - 1; a++) { - if (Convert.toDouble(arr[a]) < Convert.toDouble(arr[a+1])) { - System.out.println(arr[a]); - } j = samplPeriod + j; - doubleArray.add(Double.parseDouble(arr[a])); + if (!StringUtils.isEmpty(arr[a])) { + doubleArray.add(Double.parseDouble(arr[a])); + } xList.add(j); } diff --git a/modules/mainPart/src/main/resources/mapper/basicInfo/StatisticsDao.xml b/modules/mainPart/src/main/resources/mapper/basicInfo/StatisticsDao.xml index 69d59d6..ac8e880 100644 --- a/modules/mainPart/src/main/resources/mapper/basicInfo/StatisticsDao.xml +++ b/modules/mainPart/src/main/resources/mapper/basicInfo/StatisticsDao.xml @@ -4,7 +4,7 @@ <mapper namespace="com.zt.life.modules.mainPart.basicInfo.dao.StatisticsDao"> <select id="getTaskReliabList" resultType="com.zt.life.modules.mainPart.basicInfo.model.TaskReliabData"> - SELECT + /*SELECT a.name, count(distinct b.id) AS taskNum, count(distinct c.id) AS operatConNum, @@ -21,7 +21,23 @@ left join assess_result g on g.product_id = a.id and g.IS_DELETE=0 where a.product_type = 2 and a.IS_DELETE =0 group by a.id,a.name - order by a.name + order by a.name*/ + SELECT + a.name, + (SELECT COUNT(DISTINCT b.id) FROM task b WHERE b.product_id = a.id AND b.IS_DELETE = 0) AS taskNum, + (SELECT COUNT(DISTINCT c.id) FROM operat_condit c WHERE c.product_id = a.id AND c.IS_DELETE = 0) AS operatConNum, + (SELECT COUNT(DISTINCT d.id) FROM model_rbd d WHERE d.ship_id = a.id AND d.IS_DELETE = 0) AS modelNum, + (SELECT COUNT(DISTINCT e.id) FROM simulat_assess e WHERE e.product_id = a.id AND e.IS_DELETE = 0) AS simulatNum, + (SELECT COUNT(DISTINCT f.id) FROM assess_item f WHERE f.product_id = a.id AND f.IS_DELETE = 0) AS testData, + (SELECT COUNT(DISTINCT g.id) FROM assess_result g WHERE g.product_id = a.id AND g.IS_DELETE = 0) AS assessNum + FROM + product_model a + WHERE + a.product_type = 2 AND a.IS_DELETE = 0 + GROUP BY + a.id, a.name + ORDER BY + a.name </select> <select id="getBaseReliabList" resultType="com.zt.life.modules.mainPart.basicInfo.model.BaseReliabData"> SELECT diff --git a/web/src/views/modules/taskReliability/ReliabilityWeakness.vue b/web/src/views/modules/taskReliability/ReliabilityWeakness.vue index 03fdf49..1fa39f9 100644 --- a/web/src/views/modules/taskReliability/ReliabilityWeakness.vue +++ b/web/src/views/modules/taskReliability/ReliabilityWeakness.vue @@ -48,6 +48,8 @@ </template> <script> + import Cookies from "js-cookie"; + export default { data() { return { @@ -76,13 +78,31 @@ }, }, mounted() { - this.getProductList() + this.getProductList(Cookies.get('productId')) }, methods: { - async getProductList() { + getPath(){ + if (Cookies.get('productId') != null){ + this.dataForm.fzId = Cookies.get('fzId') + this.dataForm.productId = Cookies.get('productId') + this.dataForm.taskModelId = Cookies.get('taskModelId') + console.log(this.dataForm.productId) + this.getTaskList() + this.$nextTick(() => { + this.onProductSelected({id:this.dataForm.productId}) + this.onTaskSelected({id:Cookies.get('taskModelId')}) + this.onSimulatSelected({id:Cookies.get('fzId')}) + }) + } + }, + async getProductList(productId) { let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList') this.productList = res.data - this.onProductSelected(this.productList[0]) + if(productId!=null){ + this.getPath() + }else{ + this.onProductSelected(this.productList[0]) + } }, async getTaskList() { let params = { diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue index 6739d7a..9fcea17 100644 --- a/web/src/views/modules/taskReliability/SimulatAssess.vue +++ b/web/src/views/modules/taskReliability/SimulatAssess.vue @@ -70,7 +70,6 @@ import SimulatCurve from "./SimulatCurve"; import ProductModelTree from "../basicInfo/ProductModelTree"; import Process from "./Process"; - import qs from "qs"; import Cookies from "js-cookie"; @@ -158,6 +157,9 @@ if (this.percentage >= 100) { clearInterval(this.timers) this.percentage = 0 + Cookies.set('productId', this.dataForm.productId) + Cookies.set('taskModelId', this.dataForm.taskModelId) + Cookies.set('fzId', this.dataForm.id) this.$refs.SimulatCurve.initEcharts(this.dataForm); } } diff --git a/web/src/views/modules/taskReliability/SimulatHistory.vue b/web/src/views/modules/taskReliability/SimulatHistory.vue index a6f6d41..a46b5d3 100644 --- a/web/src/views/modules/taskReliability/SimulatHistory.vue +++ b/web/src/views/modules/taskReliability/SimulatHistory.vue @@ -1,46 +1,46 @@ <template> <div class="fa-card-a"> <el-row :gutter="5"> - <el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px"> - <zt-form-item label="浜у搧鑺傜偣" prop="productId"> - <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/> - </zt-form-item> - <zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId"> - <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/> - </zt-form-item> - <zt-form-item label="浠跨湡璁板綍" prop="simulatHis"> - <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/> - </zt-form-item> - <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod"> - <el-input v-model="dataForm.samplPeriod" readonly="false" style="width: 150px;vertical-align: baseline;"> - <template slot="append">鍒嗛挓</template> - </el-input> - </zt-form-item> - <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency"> - <el-input v-model="dataForm.simulatFrequency" readonly="false" style="width: 150px;vertical-align: baseline;"> - </el-input> - </zt-form-item> - <el-dropdown style="margin-left: 10px" @command="download"> - <el-button type="primary"> - 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i> - </el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item> - <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - </el-form> - <el-col :span="4"> - <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect"> - <product-model-tree @on-selected="onTreeSelected" showXdy="false" - ref="ProductModelTree" :isShow="false" basic="5" :productId="dataForm.productId"/> - </div> - </el-col> - <el-col :span="20"> - <div class="fa-card-a" style="height: calc(100vh - 230px)"> - <SimulatCurve ref="SimulatCurve"></SimulatCurve> - </div> - </el-col> + <el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px"> + <zt-form-item label="浜у搧鑺傜偣" prop="productId"> + <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/> + </zt-form-item> + <zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId"> + <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/> + </zt-form-item> + <zt-form-item label="浠跨湡璁板綍" prop="simulatHis"> + <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/> + </zt-form-item> + <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod"> + <el-input v-model="dataForm.samplPeriod" readonly="false" style="width: 150px;vertical-align: baseline;"> + <template slot="append">鍒嗛挓</template> + </el-input> + </zt-form-item> + <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency"> + <el-input v-model="dataForm.simulatFrequency" readonly="false" style="width: 150px;vertical-align: baseline;"> + </el-input> + </zt-form-item> + <el-dropdown style="margin-left: 10px" @command="download"> + <el-button type="primary"> + 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i> + </el-button> + <el-dropdown-menu slot="dropdown"> + <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item> + <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + </el-form> + <el-col :span="4"> + <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect"> + <product-model-tree @on-selected="onTreeSelected" showXdy="false" + ref="ProductModelTree" :isShow="false" basic="5" :productId="dataForm.productId"/> + </div> + </el-col> + <el-col :span="20"> + <div class="fa-card-a" style="height: calc(100vh - 230px)"> + <SimulatCurve ref="SimulatCurve"></SimulatCurve> + </div> + </el-col> </el-row> </div> </template> @@ -76,7 +76,7 @@ } }, mounted() { - this.getProductList() + this.getProductList(Cookies.get('productId')) }, components: { ProductModelTree, @@ -84,10 +84,28 @@ }, methods: { - async getProductList() { + getPath(){ + if (Cookies.get('productId') != null){ + this.dataForm.id = Cookies.get('fzId') + this.dataForm.productId = Cookies.get('productId') + this.dataForm.taskModelId = Cookies.get('taskModelId') + console.log(this.dataForm.id) + this.getTaskList() + this.$nextTick(() => { + this.onProductSelected({id:this.dataForm.productId}) + this.onTaskSelected({id:Cookies.get('taskModelId')}) + this.onSimulatSelected({id:Cookies.get('fzId')}) + }) + } + }, + async getProductList(productId) { let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList') this.productList = res.data - this.onProductSelected(this.productList[0]) + if(productId!=null){ + this.getPath() + }else{ + this.onProductSelected(this.productList[0]) + } }, async getTaskList() { let params = { @@ -128,16 +146,16 @@ this.dataForm.taskModelId = data.id this.getSimulatList() this.dataForm.id = '' + console.log(this.dataForm.taskModelId) }, async onSimulatSelected(data) { this.dataForm.id = data.id - this.dataForm.samplPeriod = data.samplPeriod + console.log(data) let params = { id: this.dataForm.id, taskModelId: this.dataForm.taskModelId } let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatParams', {params: params}) - console.log(res.data.samplPeriod) this.dataForm.samplPeriod = res.data.samplPeriod this.dataForm.simulatFrequency = res.data.simulatFrequency this.$nextTick(() => { @@ -145,16 +163,16 @@ }) }, async download(selsect) { - if(this.dataForm.id){ + if (this.dataForm.id) { let param = qs.stringify({ 'token': Cookies.get('token'), type: 'fz', - xml:selsect, + xml: selsect, id: this.dataForm.id }) let apiURL = `/taskReliability/SimulatAssess/downloadXml` window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}` - }else{ + } else { this.$alert('杩樻湭閫夋嫨浠跨湡璁板綍') } }, diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue index 5aaf2c8..bf021da 100644 --- a/web/src/views/modules/taskReliability/TimeDiagram.vue +++ b/web/src/views/modules/taskReliability/TimeDiagram.vue @@ -150,7 +150,7 @@ window.removeEventListener('scroll', this.handleScroll); }, mounted() { - this.getProductList() + this.getProductList(Cookies.get('productId')) this.init() this.$refs.textDiagram.init() this.$refs.timeDiagramThumbnail.init() @@ -169,6 +169,20 @@ let top = this.graph.getScrollbarPosition().top this.$refs.textDiagram.setScroll(top) this.$refs.timeDiagramThumbnail.getNodePointX(left,this.bigWidth) + }, + getPath(){ + if (Cookies.get('productId') != null){ + this.dataForm.id = Cookies.get('fzId') + this.dataForm.productId = Cookies.get('productId') + this.dataForm.taskModelId = Cookies.get('taskModelId') + console.log(this.dataForm.id) + this.getTaskList() + this.$nextTick(() => { + this.onProductSelected({id:this.dataForm.productId}) + this.onTaskSelected({id:Cookies.get('taskModelId')}) + this.onSimulatSelected({id:Cookies.get('fzId')}) + }) + } }, init() { this.graph = new Graph({ @@ -363,10 +377,14 @@ style.display = 'none' }) }, - async getProductList() { + async getProductList(productId) { let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList') this.productList = res.data - this.onProductSelected(this.productList[0]) + if(productId!=null){ + this.getPath() + }else{ + this.onProductSelected(this.productList[0]) + } }, async getTaskList() { let params = { -- Gitblit v1.9.1