From 089b302259e03ce52fc102bcf168d1fa048fffe9 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期四, 26 九月 2024 16:38:28 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/basicInfo/ProductModelTree.vue | 260 ++++++++++++++++++++---------------- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java | 49 +----- web/public/产品结构树导入模板.xlsx | 0 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java | 10 + web/src/views/modules/taskReliability/ReliabilityAssess.vue | 8 web/src/views/modules/taskReliability/TimeDiagram.vue | 8 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java | 29 ++- web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue | 8 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/dao/XhProductModelDao.java | 4 modules/mainPart/src/main/resources/mapper/basicInfo/XhProductModelDao.xml | 11 + 10 files changed, 212 insertions(+), 175 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java index ae5e844..e9b3576 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java @@ -183,20 +183,25 @@ public Result delete(@RequestBody Long[] ids) { //鏁堥獙鏁版嵁 AssertUtils.isArrayEmpty(ids, "id"); - for(Long id : ids){ - XhProductModel data = xhProductModelService.get(id); - if (data.getProductType().equals("1")||data.getProductType().equals("3")||data.getProductType().equals("4")){ - - }else if(data.getProductType().equals("2")){ - - }else if(data.getProductType().equals("5")){ - xhProductModelService.delete(ids); - } - } - - + this.deleteByProduct(ids); return Result.ok(); } + private void deleteByProduct(Long[] ids){ + for(Long id : ids){ + XhProductModel data = xhProductModelService.get(id); + if (data.getProductType().equals("1")||data.getProductType().equals("3")||data.getProductType().equals("4")){ + xhProductModelService.deleteLogic(id); + /* List<Long> list =xhProductModelService.getByPid(id); + Long[] L = list.stream().toArray(Long[]::new);*/ + Long[] list =xhProductModelService.getByPid(id); + this.deleteByProduct(list); + }else if(data.getProductType().equals("2")){ + xhProductModelService.deleteByShipId(data.getShipId()); + }else if(data.getProductType().equals("5")){ + xhProductModelService.deleteLogic(id); + } + } + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/dao/XhProductModelDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/dao/XhProductModelDao.java index 0f705e1..57671ea 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/dao/XhProductModelDao.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/dao/XhProductModelDao.java @@ -38,4 +38,8 @@ void deleteByShipId(Long shipId); List<XhProductModel> getProductPath(Long shipId); + + void deleteByPid(Long id); + + Long[] getByPid(Long id); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java index 256e177..f4ceb65 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java @@ -398,11 +398,19 @@ return list; } - private void deleteByShipId(Long shipId) { + public void deleteByShipId(Long shipId) { baseDao.deleteByShipId(shipId); } private List<XhProductModel> getByShipId(Long shipId) { return baseDao.getByShipId(shipId); } + + public void deleteByPid(Long id) { + baseDao.deleteByPid(id); + } + + public Long[] getByPid(Long id) { + return baseDao.getByPid(id); + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java index ac513ed..d85417b 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java @@ -147,44 +147,21 @@ } JSONObject xmlJSONObj = XML.toJSONObject(xml); JSONObject jsonObject = xmlJSONObj.getJSONObject("Results"); - /*for (ReliabilityAssess assess : list) { - Double result1 = (Double) jsonObject.get(assess.getName()); + for (ReliabilityAssess assess : list) { + Double result1 = null; + // 閬嶅巻 JSON 瀵硅薄鐨勬墍鏈夐敭 + for (String key : jsonObject.keySet()) { + // 妫�鏌ラ敭鏄惁鍖呭惈鐗瑰畾鐨勫瓧绗︿覆 + if (key.contains(assess.getId().toString())) { + // 鑾峰彇瀵瑰簲鐨勫�� + result1 = (Double) jsonObject.get(key); + break; // 濡傛灉鎵惧埌灏遍��鍑哄惊鐜� + } + } if (result1 != null) { result1 = Double.valueOf(new Formatter().format("%.2f", result1).toString()); } - Double result1=null; assess.setAssessResult(result1); - }*/ - Random random = new Random(); - - for (ReliabilityAssess assess : list) { - double lowerBound, upperBound; - switch (assess.getType()) { - case 5: - lowerBound = 0.95; - upperBound = 0.99; - break; - case 4: - lowerBound = 0.9; - upperBound = 0.95; - break; - case 3: - lowerBound = 0.85; - upperBound = 0.9; - break; - case 2: - lowerBound = 0.8; - upperBound = 0.85; - break; - default: - throw new IllegalArgumentException("Invalid type: " + assess.getType()); - } - - // 鐢熸垚涓�涓粙浜� lowerBound 鍒� upperBound 涔嬮棿鐨勯殢鏈烘暟 - double adjustedRandom = lowerBound + (upperBound - lowerBound) * random.nextDouble(); - adjustedRandom = Double.parseDouble(new Formatter().format("%.2f", adjustedRandom).toString()); - // 璁剧疆璇勪及缁撴灉 - assess.setAssessResult(adjustedRandom); } } else { list = null; @@ -233,7 +210,7 @@ Long productId = assessResult.getProductId(); Long taskId = assessResult.getTaskId(); Long itemId = assessResult.getItemId(); - List<ReliabilityAssess> assessDataList = reliabilityAssessDao.getProductList(productId, itemId); + List<ReliabilityAssess> assessDataList = reliabilityAssessDao.getProductList(productId, itemId); Task task = taskService.get(taskId); XhProductModel product = xhProductModelDao.getById(productId); List<XhProductModel> productList = xhProductModelDao.getByShipId(productId); @@ -569,7 +546,7 @@ } private void addTasksTag(List<TaskPhaseModel> taskPhaseModelAll, - Element root) { + Element root) { Element tasksTag = root.addElement("tasks"); for (TaskPhaseModel taskPhaseModel : taskPhaseModelAll) { Element taskTag = tasksTag.addElement("task"); diff --git a/modules/mainPart/src/main/resources/mapper/basicInfo/XhProductModelDao.xml b/modules/mainPart/src/main/resources/mapper/basicInfo/XhProductModelDao.xml index 91e3d92..d14dfec 100644 --- a/modules/mainPart/src/main/resources/mapper/basicInfo/XhProductModelDao.xml +++ b/modules/mainPart/src/main/resources/mapper/basicInfo/XhProductModelDao.xml @@ -6,7 +6,11 @@ delete from product_model where ship_id = ${shipId} - and product_type > 2 + </delete> + <delete id="deleteByPid"> + delete + from product_model + where PID = ${id} </delete> <select id="getList" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> @@ -144,4 +148,9 @@ and a.ship_id = ${shipId} and a.id = b.product_id </select> + <select id="getByPid" resultType="java.lang.Long"> + select id + from product_model + where IS_DELETE=0 and PID=${id} + </select> </mapper> diff --git "a/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" index 558c7dd..5fcba44 100644 --- "a/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" +++ "b/web/public/\344\272\247\345\223\201\347\273\223\346\236\204\346\240\221\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" Binary files differ diff --git a/web/src/views/modules/basicInfo/ProductModelTree.vue b/web/src/views/modules/basicInfo/ProductModelTree.vue index 78ba240..5f67e14 100644 --- a/web/src/views/modules/basicInfo/ProductModelTree.vue +++ b/web/src/views/modules/basicInfo/ProductModelTree.vue @@ -1,127 +1,157 @@ <template> - <div class="product-tree-container"> - <!-- <el-input - placeholder="杈撳叆鍚嶇О杩涜杩囨护" - style="width: 60%" - v-model="filterText" - size="small" - clearable - ></el-input>--> - <el-button v-if="isShow" type="primary" @click="add()" - style="margin: 10px 0 0 10px;padding: 9px 18px !important;">鏂板鍨嬪彿 - </el-button> - <el-divider></el-divider> - <el-tree - style="height: 90%;overflow: auto" - class="filter-tree" - :data="productList" - :props="defaultProps" - default-expand-all - node-key="id" - :current-node-key="defaultId" - :expand-on-click-node="false" - :highlight-current="true" - @node-click="handleNodeClick" - :filter-node-method="filterNode" - ref="tree" - ></el-tree> - <!-- 寮圭獥, 鏂板 / 淇敼 --> - <add-or-update @refreshDataList="getProductList()" ref="AddOrUpdate"/> - </div> + <div class="product-tree-container"> + <!-- <el-input + placeholder="杈撳叆鍚嶇О杩涜杩囨护" + style="width: 60%" + v-model="filterText" + size="small" + clearable + ></el-input>--> + <el-button v-if="isShow" type="primary" size="mini" @click="add()" + style="margin: 10px 0 0 7px;padding: 8px 17px !important;">鏂板鍨嬪彿 + </el-button> + <el-button v-if="isShow" type="primary" size="mini" @click="updateXh()" + style="margin: 10px 0 0 7px;padding: 8px 17px !important;">淇敼鍨嬪彿 + </el-button> + <el-button v-if="isShow" type="primary" size="mini" @click="deleteXh()" + style="margin: 10px 0 0 7px;padding: 8px 17px !important;">鍒犻櫎鍨嬪彿 + </el-button> + <el-divider></el-divider> + <el-tree + style="height: 90%;overflow: auto" + class="filter-tree" + :data="productList" + :props="defaultProps" + default-expand-all + node-key="id" + :current-node-key="defaultId" + :expand-on-click-node="false" + :highlight-current="true" + @node-click="handleNodeClick" + :filter-node-method="filterNode" + ref="tree" + ></el-tree> + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <add-or-update @refreshDataList="getProductList()" ref="AddOrUpdate"/> + </div> </template> <script> - import AddOrUpdate from './XhProductModel-AddOrUpdate' + import AddOrUpdate from './XhProductModel-AddOrUpdate' - export default { - name: 'ProductModelTree', - props: { - showXdy: { - type: Boolean, - default: true - }, - isShow: { - type: Boolean, - default: true - }, - basic: { - type: Number, - default: 1 - }, - productId: { - type: Number, - default: null - }, - }, + export default { + name: 'ProductModelTree', + props: { + showXdy: { + type: Boolean, + default: true + }, + isShow: { + type: Boolean, + default: true + }, + basic: { + type: Number, + default: 1 + }, + productId: { + type: Number, + default: null + }, + }, - data() { - return { - filterText: '', - productList: [], - defaultId: '', - defaultProps: { - children: 'children', - label: 'name' + data() { + return { + filterText: '', + productList: [], + defaultId: '', + id: '', + defaultProps: { + children: 'children', + label: 'name' + } + } } - } - } - , - watch: { - filterText(val) { - this.$refs.tree.filter(val) - } - } - , - components: { - AddOrUpdate - } - , - /* mounted() { - this.getProductList() - },*/ - methods: { - // 鑾峰彇绯荤粺鍒楄〃 - async getProductList() { - let params = { - showXdy: this.showXdy, - ztShow: this.basic, - productId: this.productId + , + watch: { + filterText(val) { + this.$refs.tree.filter(val) + } } - let res = await this.$http.get('/basicInfo/XhProductModel/tree', {params: params}) - this.productList = res.data - if (this.basic === 3) { - if (this.productList && this.productList[0].children) { - this.defaultId = this.productList[0].children[0].id - this.$nextTick(() => { - this.$refs.tree.setCurrentKey(this.defaultId); //涓�瀹氳鍔犺繖涓�変腑浜嗗惁鍒欐牱寮忔病鏈夊嚭鏉� - }); - this.$emit('on-default', this.defaultId) - } - } else{ - if (this.productList[0].id) { - this.defaultId = this.productList[0].id - this.$nextTick(() => { - this.$refs.tree.setCurrentKey(this.defaultId); //涓�瀹氳鍔犺繖涓�変腑浜嗗惁鍒欐牱寮忔病鏈夊嚭鏉� - }); - this.$emit('on-default', this.defaultId) - } + , + components: { + AddOrUpdate } - console.log(res.data, 'async getProductList()') - }, - add() { - this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, type: 'xh'}) - }, - filterNode(value, data) { - if (!value) return true - return data.name.indexOf(value) !== -1 - }, - handleNodeClick(data) { - this.$emit('on-selected', data) - }, + , + /* mounted() { + this.getProductList() + },*/ + methods: { + // 鑾峰彇绯荤粺鍒楄〃 + async getProductList() { + let params = { + showXdy: this.showXdy, + ztShow: this.basic, + productId: this.productId + } + let res = await this.$http.get('/basicInfo/XhProductModel/tree', {params: params}) + this.productList = res.data + if (this.basic === 3) { + if (this.productList && this.productList[0].children) { + this.defaultId = this.productList[0].children[0].id + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.defaultId); //涓�瀹氳鍔犺繖涓�変腑浜嗗惁鍒欐牱寮忔病鏈夊嚭鏉� + }); + this.$emit('on-default', this.defaultId) + } + } else { + if (this.productList[0].id) { + this.defaultId = this.productList[0].id + this.$nextTick(() => { + this.$refs.tree.setCurrentKey(this.defaultId); //涓�瀹氳鍔犺繖涓�変腑浜嗗惁鍒欐牱寮忔病鏈夊嚭鏉� + }); + this.$emit('on-default', this.defaultId) + } + } + console.log(res.data, 'async getProductList()') + }, + add() { + this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, type: 'xh'}) + }, + updateXh() { + this.$refs.AddOrUpdate.$refs.dialog.init(this.id, {id: null, type: 'xh'}) + }, + async deleteXh() { + if (this.id) { + this.$tip.alert(this.$t('prompt.deleteBatch')) + if (await this.$tip.confirm(this.$t('', {'handle': this.$t('delete')}))) { + let res = await this.$http.delete( + '/basicInfo/XhProductModel/', + { + 'data': [this.id] + } + ) + if (res.success) { + await this.$tip.success() + await this.getProductList() + } + } + } else { + this.$tip.alert('鏈�夋嫨鍨嬪彿') + } + }, + filterNode(value, data) { + if (!value) return true + return data.name.indexOf(value) !== -1 + }, + handleNodeClick(data) { + this.id = data.id + this.$emit('on-selected', data) + }, + } } - } </script> <style> - .product-tree-container { - height: 100%; - } + .product-tree-container { + height: 100%; + } </style> diff --git a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue index ae2a56c..ccdfae3 100644 --- a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue +++ b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue @@ -14,7 +14,7 @@ <zt-dict v-model="dataForm.productType" dict="product" @input="getDefaultImg" :disabled="disabled"></zt-dict> </zt-form-item> - <zt-form-item v-if="dataForm.productType==='1'" label="杩愯鐘舵�佸浘" prop="operatImg"> + <zt-form-item v-if="dataForm.productType!=='1'" label="杩愯鐘舵�佸浘" prop="operatImg"> <el-input v-model="dataForm.operatImgName" @focus="selectPicture()"></el-input> <el-image v-if="dataForm.operatImg" :src="url+dataForm.operatImg" style="height: 50px;width: 50px"></el-image> </zt-form-item> @@ -65,17 +65,17 @@ if (params.type === 'xh') { this.isShow = false this.dataForm.pid = null - this.dataForm.productType = 1 + this.dataForm.productType = '1' this.getDefaultImg(this.dataForm.productType) } else if (params.type === 'zt') { this.dataForm.pid = params.pid - this.dataForm.productType = 2 + this.dataForm.productType = '2' this.getDefaultImg(this.dataForm.productType) } else { this.dataForm.pid = params.pid this.dataForm.productType = params.type } - if (this.dataForm.productType === 10 && id == null) { + if (this.dataForm.productType === '10' && id == null) { this.isShow = false this.getDefaultImg(this.dataForm.productType) } diff --git a/web/src/views/modules/taskReliability/ReliabilityAssess.vue b/web/src/views/modules/taskReliability/ReliabilityAssess.vue index 2f5dada..c6e7205 100644 --- a/web/src/views/modules/taskReliability/ReliabilityAssess.vue +++ b/web/src/views/modules/taskReliability/ReliabilityAssess.vue @@ -108,11 +108,15 @@ onTaskSelected(data) { console.log(data, ' onProductSelected(data)') this.dataForm.taskId = data.id - this.page() + if (this.dataForm.taskId&& this.dataForm.itemId) { + this.page() + } }, onAssessDataSelected(data) { this.dataForm.itemId = data.id - this.page() + if (this.dataForm.taskId&& this.dataForm.itemId) { + this.page() + } }, refreshData() { this.getAssessDataList(); diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue index 8901a64..23fc6f1 100644 --- a/web/src/views/modules/taskReliability/TimeDiagram.vue +++ b/web/src/views/modules/taskReliability/TimeDiagram.vue @@ -538,13 +538,13 @@ this.diagramJson = JSON.parse(res.data) console.log(this.diagramJson, 'this.Diagram json') this.graph.fromJSON(this.diagramJson) - this.graph.centerContent() - this.graph.zoomToFit() + //this.graph.centerContent() + //this.graph.zoomToFit() this.graph.freeze() } else { this.graph.fromJSON(this.emptyJson) - this.graph.centerContent() - this.graph.zoomToFit() + //this.graph.centerContent() + //this.graph.zoomToFit() this.graph.freeze() } console.log(res.data) -- Gitblit v1.9.1