From 21dff46677c9172c98d38192bc2982a8764f65fc Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 26 三月 2024 08:37:15 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 40 ++++
zt/core/src/main/java/com/zt/core/config/shiro/ShiroConfig.java | 1
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java | 117 +++++++++++++
modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml | 20 ++
web/src/views/modules/taskReliability/SimulatData.vue | 64 +++++++
web/src/views/modules/taskReliability/SimulatAssess.vue | 153 +++++++++++++++++
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java | 23 ++
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java | 54 ++++++
web/src/views/modules/taskReliability/SimulatCurve.vue | 47 +++++
9 files changed, 519 insertions(+), 0 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
new file mode 100644
index 0000000..88d71d9
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java
@@ -0,0 +1,117 @@
+package com.zt.life.modules.mainPart.taskReliability.controller;
+
+
+import cn.hutool.http.HttpUtil;
+import com.zt.common.annotation.LogOperation;
+import com.zt.common.constant.Constant;
+import com.zt.common.annotation.QueryParam;
+import com.zt.common.db.query.QueryFilter;
+import com.zt.common.servlet.Result;
+import com.zt.common.servlet.PageResult;
+import com.zt.common.utils.UUIDUtil;
+import com.zt.common.validator.AssertUtils;
+import com.zt.common.validator.ValidatorUtils;
+import com.zt.common.validator.group.AddGroup;
+import com.zt.common.validator.group.DefaultGroup;
+import com.zt.common.validator.group.UpdateGroup;
+import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
+import com.zt.life.modules.mainPart.taskReliability.service.SimulatAssessService;
+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.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+
+
+/**
+ * simulat_assess
+ *
+ * @author zt generator
+ * @since 1.0.0 2024-03-20
+ */
+@RestController
+@RequestMapping("/taskReliability/SimulatAssess/")
+@Api(tags = "simulat_assess")
+public class SimulatAssessController {
+ @Autowired
+ private SimulatAssessService simulatAssessService;
+
+ @GetMapping("page")
+ @ApiOperation("鍒嗛〉")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
+ @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
+ })
+ public PageResult<SimulatAssess> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
+
+ return PageResult.ok(simulatAssessService.page(queryFilter));
+ }
+
+ @GetMapping("{id}")
+ @ApiOperation("淇℃伅")
+ public Result<SimulatAssess> get(@PathVariable("id") Long id) {
+ SimulatAssess data = simulatAssessService.get(id);
+
+ return Result.ok(data);
+ }
+
+ @PostMapping("analyze")
+ public Result<Long> analyze(@RequestBody SimulatAssess simulatAssess) {
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(simulatAssess, AddGroup.class, DefaultGroup.class);
+ Long taskId = UUIDUtil.generateId();
+ Integer time = simulatAssess.getSamplPeriod();
+ Integer Frequency = simulatAssess.getSimulatFrequency();
+ HashMap<String, Object> paramMap = new HashMap<>();
+ paramMap.put("taskId", taskId);
+ paramMap.put("time", time);
+ paramMap.put("Frequency", Frequency);
+ paramMap.put("url", "http://localhost:8050/test-project//taskReliability/SimulatAssess/calculate");
+ String result1 = HttpUtil.get("http://localhost:8080/system/user/get", paramMap);
+
+ return Result.ok(taskId);
+ }
+
+ @GetMapping("calculate")
+ public Result calculate(Long taskId, String List, String code, String errorMsg) {
+ SimulatAssess simulatAssess = new SimulatAssess();
+ simulatAssess.setId(taskId);
+ simulatAssess.setCurveData(List);
+ simulatAssess.setCode(code);
+ simulatAssess.setErrorMsg(errorMsg);
+ simulatAssessService.insert(simulatAssess);
+
+ return Result.ok();
+ }
+
+ @PutMapping
+ @ApiOperation("淇敼")
+ @LogOperation("淇敼")
+ public Result update(@RequestBody SimulatAssess simulatAssess) {
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(simulatAssess, UpdateGroup.class, DefaultGroup.class);
+ simulatAssessService.update(simulatAssess);
+
+ return Result.ok();
+ }
+
+ @DeleteMapping
+ @ApiOperation("鍒犻櫎")
+ @LogOperation("鍒犻櫎")
+ public Result delete(@RequestBody Long[] ids) {
+ //鏁堥獙鏁版嵁
+ AssertUtils.isArrayEmpty(ids, "id");
+ simulatAssessService.delete(ids);
+
+ return Result.ok();
+ }
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
new file mode 100644
index 0000000..0e38413
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/SimulatAssessDao.java
@@ -0,0 +1,23 @@
+package com.zt.life.modules.mainPart.taskReliability.dao;
+
+import com.zt.common.dao.BaseDao;
+import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
+import org.apache.ibatis.annotations.Mapper;
+
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * simulat_assess
+ *
+ * @author zt generator
+ * @since 1.0.0 2024-03-20
+ */
+@Mapper
+public interface SimulatAssessDao extends BaseDao<SimulatAssess> {
+
+ List<SimulatAssess> getList(Map<String, Object> params);
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java
new file mode 100644
index 0000000..9b1e5b1
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java
@@ -0,0 +1,54 @@
+package com.zt.life.modules.mainPart.taskReliability.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zt.common.entity.BusiEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * simulat_assess
+ *
+ * @author zt generator
+ * @since 1.0.0 2024-03-20
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("simulat_assess")
+public class SimulatAssess extends BusiEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "涓婄骇ID")
+ private Long pid;
+
+ @ApiModelProperty(value = "浜у搧鑺傜偣ID")
+ private Long productId;
+
+ @ApiModelProperty(value = "鎬讳綋浠诲姟")
+ private String task;
+
+ @ApiModelProperty(value = "鏁版嵁绫诲瀷")
+ private Integer dataType;
+
+ @ApiModelProperty(value = "鏄惁鍙慨")
+ private Integer isRepair;
+
+ @ApiModelProperty(value = "閲囨牱鍛ㄦ湡")
+ private Integer samplPeriod;
+
+ @ApiModelProperty(value = "浠跨湡娆℃暟")
+ private Integer simulatFrequency;
+
+ @ApiModelProperty(value = "")
+ private Integer status;
+
+ private String code;
+
+ private String errorMsg;
+ private String curveData;
+
+}
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
new file mode 100644
index 0000000..5d180b2
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -0,0 +1,40 @@
+package com.zt.life.modules.mainPart.taskReliability.service;
+
+import com.zt.common.service.BaseService;
+import com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessDao;
+import com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess;
+import org.springframework.stereotype.Service;
+import com.zt.common.db.query.QueryFilter;
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * simulat_assess
+ *
+ * @author zt generator
+ * @since 1.0.0 2024-03-20
+ */
+@Service
+public class SimulatAssessService extends BaseService<SimulatAssessDao, SimulatAssess> {
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param queryFilter
+ * @return
+ */
+ public List<SimulatAssess> page(QueryFilter queryFilter) {
+ return baseDao.getList(queryFilter.getQueryParams());
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ids
+ */
+ public void delete(Long[] ids) {
+ super.deleteLogic(ids);
+ }
+
+}
diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
new file mode 100644
index 0000000..06f1274
--- /dev/null
+++ b/modules/mainPart/src/main/resources/mapper/taskReliability/SimulatAssessDao.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.zt.life.modules.mainPart.taskReliability.dao.SimulatAssessDao">
+
+ <select id="getList" resultType="com.zt.life.modules.mainPart.taskReliability.model.SimulatAssess">
+ select a.*
+ from simulat_assess a
+ <where>
+ a.is_delete = 0
+ <if test="whereSql!=null">
+ and ${whereSql}
+ </if>
+ </where>
+ <if test="orderBySql!=null">
+ ORDER BY ${orderBySql}
+ </if>
+ </select>
+
+</mapper>
diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue
new file mode 100644
index 0000000..e9a7e3e
--- /dev/null
+++ b/web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -0,0 +1,153 @@
+<template>
+ <div>
+ <el-row :gutter="10">
+ <el-col :span="6">
+ <div class="fa-card-a">
+ <div class="mod-taskReliability-simulatAssess">
+ <el-form :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="task">
+ <zt-select v-model="dataForm.task" :datas="taskList" @change="onTaskSelected"/>
+ </zt-form-item>
+ <zt-form-item label="鏁版嵁绫诲瀷" prop="dataType">
+ <zt-dict v-model="dataForm.dataType" dict="dataType"></zt-dict>
+ </zt-form-item>
+ <zt-form-item label="鏄惁鍙慨" prop="isRepair">
+ <zt-dict v-model="dataForm.isRepair" dict="is_or_not"></zt-dict>
+ </zt-form-item>
+ <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
+ <el-input type="number" :min="1" v-model="dataForm.samplPeriod">
+ <template slot="append">鍒嗛挓</template>
+ </el-input>
+ </zt-form-item>
+ <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
+ <el-input type="number" :min="1" v-model="dataForm.simulatFrequency">
+ <template slot="append">娆℃暟</template>
+ </el-input>
+ </zt-form-item>
+ <zt-form-item>
+ <zt-button @click="analyze()">浠跨湡鍒嗘瀽</zt-button>
+ <zt-button>鍒嗘瀽缁撴灉</zt-button>
+ </zt-form-item>
+ </el-form>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="17">
+ <div style="height: calc(100vh - 165px);background: white">
+ <SimulatCurve ref="SimulatCurve"></SimulatCurve>
+ <SimulatData></SimulatData>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+</template>
+
+<script>
+ import SimulatCurve from "./SimulatCurve";
+ import SimulatData from "./SimulatData";
+
+
+ export default {
+ data() {
+ return {
+ productList: [],
+ taskList: [],
+ dataForm: {
+ id: '',
+ pid: '',
+ productId: '',
+ task: '',
+ dataType: '',
+ isRepair: '',
+ samplPeriod: '',
+ simulatFrequency: '',
+ }
+ }
+ },
+ mounted() {
+ this.getProductList()
+ },
+ components: {
+ SimulatCurve,
+ SimulatData
+ },
+
+ methods: {
+ // 鑾峰彇淇℃伅
+ onProductSelected(data) {
+ console.log(data, ' onProductSelected(data)')
+ this.dataForm.productId = data.id
+ this.getTaskList()
+ },
+ onTaskSelected(data) {
+ console.log(data, ' onProductSelected(data)')
+ this.dataForm.task = data.id
+ },
+ async getProductList() {
+ let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
+ this.productList = res.data
+ },
+ async getTaskList() {
+ let params = {
+ productId: this.dataForm.productId
+ }
+ let res = await this.$http.get('/taskReliability/Task/getTaskList', {params: params})
+ console.log(res.data)
+ this.taskList = res.data
+ },
+ async analyze() {
+ let res = await this.$http.post('/taskReliability/SimulatAssess/analyze', this.dataForm)
+ if (res.success) {
+ console.log(res.data, 'analyze')
+ let stopPolling = false
+ if (!stopPolling) {
+ let timer = setInterval(async () => {
+ let res2 = await this.$http.get(`/taskReliability/SimulatAssess/${res.data}`)
+ console.log(res2.data, 'setInterval')
+ if (res2.data) {
+ if (res2.data.code === '0' || res2.data.errorMsg === '0') {
+ stopPolling = true
+ // 涓杞
+ clearInterval(timer)
+ alert('宸茶幏鍙�')
+ this.$refs.SimulatCurve.initEcharts(res2.data.curveData);
+ // 娓呴櫎瀹氭椂鍣�
+ } else {
+ stopPolling = true
+ // 涓杞
+ clearInterval(timer)
+ alert('鏁版嵁鏈夎锛岄噸鏂拌緭鍏�')
+ }
+ }
+ }, 400)
+ }
+
+ }
+ }
+ }
+ }
+</script>
+<style>
+ .mod-taskReliability-simulatAssess {
+ height: calc(100vh - 165px);
+ }
+
+ .mod-taskReliability-simulatAssess .el-form-item__label {
+ line-height: calc((100vh - 165px) / 7);
+ }
+
+ .mod-taskReliability-simulatAssess .el-form-item__content {
+ line-height: calc((100vh - 165px) / 7);
+ }
+
+ .mod-taskReliability-simulatAssess .el-form-item__content > .el-input-group--append {
+ vertical-align: baseline;
+ }
+
+ div.el-col.el-col-17 {
+ background: white;
+ }
+</style>
diff --git a/web/src/views/modules/taskReliability/SimulatCurve.vue b/web/src/views/modules/taskReliability/SimulatCurve.vue
new file mode 100644
index 0000000..dbe4b67
--- /dev/null
+++ b/web/src/views/modules/taskReliability/SimulatCurve.vue
@@ -0,0 +1,47 @@
+<template>
+ <div class="mod-taskReliability-taskPhase">
+ <div class="echart" id="mychart" :style="myChartStyle"></div>
+ </div>
+</template>
+
+<script>
+ import * as echarts from "echarts";
+
+ export default {
+ name: 'SimulatCurve',
+ data() {
+ return {
+ myChart: {},
+ myChartStyle: {float: "left", width: "100%", height: "400px"} //鍥捐〃鏍峰紡
+ }
+ },
+ components: {},
+ methods: {
+ initEcharts(CurveData) {
+ console.log(eval(CurveData), 'initEcharts(CurveData)')
+ const option = {
+ xAxis: {
+ data: eval(CurveData)[0]
+ },
+ yAxis: {},
+ series: [
+ {
+ data: eval(CurveData)[1],
+ type: 'line',
+ smooth: true
+ }
+ ]
+ };
+ this.myChart = echarts.init(document.getElementById("mychart"));
+ this.myChart.setOption(option);
+ //闅忕潃灞忓箷澶у皬璋冭妭鍥捐〃
+ window.addEventListener("resize", () => {
+ this.myChart.resize();
+ });
+ }
+ }
+ }
+</script>
+<style>
+
+</style>
diff --git a/web/src/views/modules/taskReliability/SimulatData.vue b/web/src/views/modules/taskReliability/SimulatData.vue
new file mode 100644
index 0000000..6e529b0
--- /dev/null
+++ b/web/src/views/modules/taskReliability/SimulatData.vue
@@ -0,0 +1,64 @@
+<template>
+ <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url=""
+ :paging='false'
+ delete-url="" v-slot="{ table }">
+ <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
+ </el-form>
+ <el-table v-loading="table.dataLoading" :data="table.dataList" height="400"
+ @selection-change="table.selectionChangeHandle">
+ <el-table-column prop="name" label="鍚嶇О" />
+ <el-table-column prop="totalTime" label="鎬绘椂闂�"/>
+ <el-table-column prop="faultNum" label="鏁呴殰娆℃暟"/>
+ <el-table-column prop="repairTime" label="淇悊鏃堕棿"/>
+ <el-table-column prop="availability" label="鍙敤搴�"/>
+ <el-table-column prop="mtbcf" label="MTBCF"/>
+ <el-table-column prop="mttcr" label="MTTCR"/>
+ </el-table>
+ </zt-table-wraper>
+</template>
+
+<script>
+
+
+ export default {
+ name: 'SimulatData',
+ data() {
+ return {
+ productList: [],
+ dataForm: {
+ productId: ''
+ }
+ }
+ },
+ components: {
+
+ },
+ mounted() {
+ this.getTaskProductList()
+ },
+ methods: {
+ init() {
+
+ },
+ add() {
+ this.$refs.AddOrUpdate.$refs.dialog.init(null,{productId: this.dataForm.productId})
+ },
+ selectTask(row){
+ this.$emit('onTaskSelected',row)
+ },
+ async getTaskProductList() {
+ let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
+ this.productList = res.data
+ console.log(this.productList, ' async getTaskProductList()')
+ },
+ onProductSelected(data){
+ console.log(data, ' onProductSelected(data)')
+ this.dataForm.productId = data.id
+ this.$refs.tableObj.query()
+ }
+ }
+ }
+</script>
+<style>
+
+</style>
diff --git a/zt/core/src/main/java/com/zt/core/config/shiro/ShiroConfig.java b/zt/core/src/main/java/com/zt/core/config/shiro/ShiroConfig.java
index aff2df8..dff9d3d 100644
--- a/zt/core/src/main/java/com/zt/core/config/shiro/ShiroConfig.java
+++ b/zt/core/src/main/java/com/zt/core/config/shiro/ShiroConfig.java
@@ -115,6 +115,7 @@
filterMap.put("/product/getShipList","anon");
filterMap.put("/teamGroup/class/tree","anon");
+ filterMap.put("/taskReliability/SimulatAssess/calculate","anon");
--
Gitblit v1.9.1