From d1eb1ce1d2fcb0c76f5d3b1a6ae00bf3f263b2f1 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期五, 09 六月 2023 14:21:54 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS-WEB/src/api/integration/sysInfo.js | 34 ++++ Source/UBCS-WEB/src/views/integration/applicationForm.vue | 42 ++++- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java | 58 ++++++- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java | 2 Source/UBCS-WEB/src/views/integration/systemInfo.vue | 224 ++++++++++++++++++++++++++++++++ Source/UBCS-WEB/src/api/integration/application.js | 10 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java | 14 + Source/UBCS-WEB/vue.config.js | 7 8 files changed, 357 insertions(+), 34 deletions(-) diff --git a/Source/UBCS-WEB/src/api/integration/application.js b/Source/UBCS-WEB/src/api/integration/application.js index d95b8a2..796aab9 100644 --- a/Source/UBCS-WEB/src/api/integration/application.js +++ b/Source/UBCS-WEB/src/api/integration/application.js @@ -7,4 +7,12 @@ method: 'get', params: params }) - } \ No newline at end of file + } + // 鐢抽鍗曠姸鎬� +export const queryApplyStat = (params) => { + return request({ + url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/queryApplyState', + method: 'get', + params: params + }) +} \ No newline at end of file diff --git a/Source/UBCS-WEB/src/api/integration/sysInfo.js b/Source/UBCS-WEB/src/api/integration/sysInfo.js new file mode 100644 index 0000000..83449bc --- /dev/null +++ b/Source/UBCS-WEB/src/api/integration/sysInfo.js @@ -0,0 +1,34 @@ +import request from '@/router/axios'; + +// 闆嗘垚绯荤粺淇℃伅绠$悊鍒楄〃 +export const getSysInfoList = (params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridSysIntBase', + method: 'get', + params: params + }) + } + // 闆嗘垚绯荤粺淇℃伅绠$悊鏂板 +export const sysInfoAdd = (params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/addSave', + method: 'post', + data: params + }) +} + // 闆嗘垚绯荤粺淇℃伅绠$悊鏂板 + export const sysInfoEdit = (params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/editSave', + method: 'put', + data: params + }) + } + // 闆嗘垚绯荤粺淇℃伅绠$悊鏂板 +export const sysInfoDel = (params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/deleteDataById', + method: 'delete', + params: params + }) + } \ No newline at end of file diff --git a/Source/UBCS-WEB/src/views/integration/applicationForm.vue b/Source/UBCS-WEB/src/views/integration/applicationForm.vue index 7a3c48b..db577fa 100644 --- a/Source/UBCS-WEB/src/views/integration/applicationForm.vue +++ b/Source/UBCS-WEB/src/views/integration/applicationForm.vue @@ -2,7 +2,8 @@ <basic-container> <avue-crud :table-loading="loading" :data="data" :option="option" :search.sync="searchParam" :page.sync="page" ref="crud" @refresh-change="getDataList" @search-change="handleSearch" @search-reset="handleReset" - @size-change="handleSizePage" @current-change="handleCurrentPage" @on-load="getDataList"> + @size-change="handleSizePage" @current-change="handleCurrentPage" @on-load="getDataList" + @selection-change="selectionChange" @row-click="handleRowClick"> <template slot="menuLeft"> <el-button icon="el-icon-document" size="small" type="primary" @click="handleStatus">闆嗗洟鐢宠鐘舵�� </el-button> @@ -12,7 +13,7 @@ </template> <script> -import { getList } from '@/api/integration/application.js' +import { getList, queryApplyStat } from '@/api/integration/application.js' import { dateFormat } from '@/util/date.js' export default { data() { @@ -25,6 +26,7 @@ total: 0 }, searchParam: {}, + stateParam: {}, option: { height: "auto", index: true, @@ -33,7 +35,8 @@ columnBtn: false, searchMenuSpan: 8, highlightCurrentRow: true, - menu:false, + menu: false, + selection: true, column: [ { label: '鐢宠鍗曞彿', @@ -77,9 +80,6 @@ prop: 'lastModifyTime', type: 'datetime', search: true, - formatter: () => { - - } }, { label: '杩斿洖鏍囪瘑', width: 100, @@ -100,8 +100,20 @@ } }, methods: { - handleStatus() { - + async handleStatus() { + const { oids } = this.stateParam + if (this.$utilFunc.isEmpty(oids)) { + this.$message({ + type: "error", + message: "璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!" + }) + } else { + console.log(this.stateParam) + const response = await queryApplyStat(this.stateParam) + if (response.status === 200) { + console.log(response) + } + } }, async getDataList() { this.loading = true @@ -140,7 +152,19 @@ this.page.currentPage = 1 this.getDataList() done() - } + }, + selectionChange(list) { + console.log(list) + let newData = list.map(item => { + const { dataOid } = item + return dataOid + }) + this.stateParam = { oids: newData.toString() } + console.log(newData) + }, + handleRowClick(row) { + this.$refs.crud.toggleRowSelection(row, true) + }, } } </script> \ No newline at end of file diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue new file mode 100644 index 0000000..f1f2b78 --- /dev/null +++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue @@ -0,0 +1,224 @@ +<template> + <basic-container> + <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page" :search.sync="search" + @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit" + @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage" + @selection-change="selectionChange" @row-click="handleRowClick"> + <template slot="menuLeft"> + <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇� + </el-button> + <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄� + </el-button> + </template> + <template slot="search" slot-scope="{row,size}"> + <el-select v-model="selectValue" size="small" @change="handleSelect"> + <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + <el-input :placeholder="`璇疯緭鍏�${selectValue === 'id' ? '绯荤粺缂栧彿' : '绯荤粺鍚嶇О'}骞舵寜鍥炶溅鏌ヨ`" :size="size" + style="width:300px;margin-left: 10px;" v-model="search[selectValue]" clearable + @keyup.enter.native="handleEnter" @clear="handleClear"></el-input> + </template> + </avue-crud> + </basic-container> +</template> +<script> +import { getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel } from '@/api/integration/sysInfo.js' +export default { + data() { + return { + loading: false, + page: { + currentPage: 1, + pageSize: 10, + total: 0 + }, + selectOption: [{ + value: 'id', + label: '绯荤粺缂栧彿' + }, { + value: 'name', + label: '绯荤粺鍚嶇О' + }], + selectValue: 'id', + search: {}, + delIds: [], + data: [], + option: { + height: "auto", + border: true, + align: 'center', + menuAlign: 'center', + index: true, + searchMenuSpan: 8, + searchBtn: false, + emptyBtn: false, + columnBtn: false, + defaultSort: { + prop: 'id,name', + order: 'descending' + }, + selection: true, + column: [ + { + label: '绯荤粺缂栧彿', + prop: 'id', + sortable: true, + rules: [{ + required: true, + message: '绯荤粺缂栧彿涓嶈兘涓虹┖', + trigger: 'blur' + }] + }, { + label: '绯荤粺鍚嶇О', + prop: 'name', + sortable: true, + rules: [{ + required: true, + message: '绯荤粺鍚嶇О涓嶈兘涓虹┖', + trigger: 'blur' + }] + }, + { + label: '绯荤粺鎻忚堪', + prop: 'description', + type: 'textarea' + } + ] + }, + } + }, + methods: { + // 鑾峰彇鍒楄〃 + async getDataList() { + this.loading = true + console.log(this.search) + const { pageSize, currentPage } = this.page + let param = { size: pageSize, current: currentPage } + const response = await getSysInfoList({ ...param, ...this.search }) + if (response.status === 200) { + console.log(response) + this.loading = false + const data = response.data.data + this.data = data.records + this.page.total = data.total + } else this.loading = false + }, + // 鏂板 + async handleSave(row, done, loading) { + const response = await sysInfoAdd(row) + if (response.status === 200) { + loading() + this.$message({ + type: 'success', + message: '鏂板鏁版嵁鎴愬姛锛�' + }) + done() + this.$refs.crud.refreshTable() + this.getDataList() + } + }, + // 缂栬緫 + async handleEdit(row, index, done, loading) { + console.log(row) + const { oid, id, name, description } = row + const response = await sysInfoEdit({ oid, id, name, description }) + if (response.status === 200) { + loading() + this.$message({ + type: 'success', + message: '淇敼鏁版嵁鎴愬姛锛�' + }) + done() + this.getDataList() + } + }, + // 鍒犻櫎鍗曟潯 + handleDelete(row) { + const { oid } = row + this.deleteSysInfo({ oids: oid }) + }, + // 澶氭潯鏁版嵁鍒犻櫎 + handleDeleteByIds() { + const { oids } = this.delIds + if (this.$utilFunc.isEmpty(oids)) { + this.$message({ + type: "error", + message: "璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�!" + }) + } else { + this.deleteSysInfo(this.delIds) + } + }, + // 鍒犻櫎鎺ュ彛 + deleteSysInfo(param) { + this.$confirm('鏄惁纭畾鍒犻櫎閫夋嫨鐨勯泦鎴愮郴缁�?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(async () => { + const response = await sysInfoDel(param) + if (response.status === 200) { + console.log(response) + this.$message({ + type: 'success', + message: '鍒犻櫎鎴愬姛!' + }); + this.getDataList() + } + }) + }, + // 閫夋嫨妗嗗唴瀹归�夋嫨鍚� + handleSelect(event) { + this.selectValue = event + if (this.selectValue === 'id') { + this.search['name'] = '' + delete this.search['name'] + } else { + this.search['id'] = '' + delete this.search['id'] + } + }, + // enter鎼滅储 + handleEnter() { + if (this.search[this.selectValue] === '') return + else this.getDataList() + + }, + // 杈撳叆妗嗘竻绌� + handleClear() { + this.search = {} + this.getDataList() + }, + // 鍒锋柊鎸夐挳 + handleRefresh() { + this.getDataList() + }, + handleSizePage(event) { + this.page.pageSize = event + }, + handleCurrentPage(event) { + this.page.currentPage = event + }, + // 鐐瑰嚮閫夋嫨 + handleRowClick(row) { + this.$refs.crud.toggleRowSelection(row, true) + }, + // 澶氶�� + selectionChange(list) { + console.log(list) + let newData = list.map(item => { + const { oid } = item + return oid + }) + this.delIds = { oids: newData.toString() } + console.log(this.delIds) + }, + } +} +</script> +<style lang="scss" scoped> +::v-deep(.avue-crud .el-select) { + width: 100px !important; +} +</style> \ No newline at end of file diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index 98c3012..18858ab 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -26,16 +26,11 @@ proxy: { '/api': { //鏈湴鏈嶅姟鎺ュ彛鍦板潃 - target: 'http://localhost:37000', // target: 'http://localhost:37000', //target: 'http://192.168.1.51:37000', - //target: 'http://192.168.3.7:37000', - // target: 'http://dev.vci-tech.com:37000', - // target: 'http://192.168.1.51:37000/', - // target: 'http://localhost:37000', // target: 'http://192.168.1.63:37000', //target: 'http://192.168.3.7:37000', - // target: 'http://dev.vci-tech.com:37000', + target: 'http://dev.vci-tech.com:37000', //target: 'http://192.168.1.51:37000/', //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩� // target: 'https://saber.bladex.vip/api', diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java index 07131a6..e3e0864 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java @@ -14,6 +14,7 @@ import com.vci.ubcs.code.wrapper.CodeRuleWrapper; import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper; import com.vci.ubcs.code.wrapper.DockingSystemWrapper; +import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -84,12 +85,17 @@ /** * 鍒犻櫎绯荤粺闆嗘垚鐨勭郴缁熶俊鎭� - * @param dockingSystemDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� + * @param oids 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� */ - @DeleteMapping( "/deleteData") - public R delSystemData( DockingSystemDTO dockingSystemDTO) { - return R.status(dockingSystemService.delSystemData(dockingSystemDTO)); + @DeleteMapping( "/deleteDataById") + public R deleteDataById( String oids) { + try { + return R.status(dockingSystemService.deleteDataById(oids)); + }catch (VciBaseException e){ + R.fail(e.getMessage()); + } + return R.success("鎿嶄綔鎴愬姛"); } /** * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java index b53618f..f9ff701 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java @@ -26,5 +26,5 @@ DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO); - boolean delSystemData(DockingSystemDTO dockingSystemDTO); + boolean deleteDataById(String oids); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java index 46a17e6..f71967b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java @@ -1,14 +1,18 @@ package com.vci.ubcs.code.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.DockingSystemDTO; import com.vci.ubcs.code.entity.CodeRule; import com.vci.ubcs.code.entity.DockingSystem; +import com.vci.ubcs.code.entity.DockingSystemConfig; +import com.vci.ubcs.code.mapper.DockingSystemConfigMapper; import com.vci.ubcs.code.mapper.DockingSystemMapper; import com.vci.ubcs.code.service.IDockingSystemService; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; import com.vci.ubcs.code.wrapper.DockingSystemWrapper; +import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -17,8 +21,10 @@ import org.springblade.core.tool.utils.BeanUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING; import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC; @@ -35,6 +41,12 @@ */ @Autowired(required = false) private DockingSystemMapper dockingSystemMapper; + + /*** + * 闆嗘垚绯荤粺绠$悊鏈嶅姟 + */ + @Autowired(required = false) + private DockingSystemConfigMapper dockingSystemConfigMapper; /** * 瀵硅薄鐨勬搷浣� @@ -69,20 +81,40 @@ return DockingSystemWrapper.build().entityVO(dockingSystem); } + /*** + * 鏍规嵁绯荤粺涓婚敭鍒犻櫎绯荤粺鍚嶇О + * @param oids + * @return + * @throws VciBaseException + */ @Override - public boolean delSystemData(DockingSystemDTO dockingSystemDTO) { - VciBaseUtil.alertNotNull(dockingSystemDTO,"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹璞�",dockingSystemDTO.getOid(),"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭殑涓婚敭"); - /*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid()); - BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO); - if(baseResult.isSuccess()) { + public boolean deleteDataById(String oids) throws VciBaseException { + String message=""; + try { + VciBaseUtil.alertNotNull(oids, "绯荤粺闆嗘垚鐨勭郴缁熶俊鎭殑涓婚敭"); + List<DockingSystem> dockingSystemList = dockingSystemMapper.selectBatchIds(VciBaseUtil.str2List(oids)); + Map<String/**绯荤粺oid**/, String/**绯荤粺鍚嶇О**/> systemNameMap = dockingSystemList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t.getName(),(o1, o2)->o2)); + List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigMapper.selectList(Wrappers.<DockingSystemConfig>query().lambda().in(DockingSystemConfig::getSourceSystemOid, VciBaseUtil.str2List(oids))); + Set<String> systemOidList=new HashSet<>(); + Map<String,String> errorMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(dockingSystemConfigList)) { + dockingSystemConfigList.stream().forEach(dockingSystemConfig -> { + if(!systemOidList.contains(dockingSystemConfig.getSourceSystemOid())&& + systemNameMap.containsKey(dockingSystemConfig.getSourceSystemOid())){ + String systemName=systemNameMap.get(dockingSystemConfig.getSourceSystemOid()); + errorMap.put("error",errorMap.getOrDefault("error","") + ";"+systemName); + } + systemOidList.add(dockingSystemConfig.getSourceSystemOid()); + }); + } + if(errorMap.size()>0){ + throw new Throwable(errorMap.getOrDefault("error","")); + } + return dockingSystemMapper.deleteBatchIds(VciBaseUtil.str2List(oids))>0; + }catch (Throwable e){ + e.printStackTrace(); + throw new VciBaseException(e.getMessage()); - }else{ - return baseResult; } - //鎵ц鍒犻櫎鎿嶄綔 - BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid()); - return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL); -*/ - return false; } } -- Gitblit v1.9.3