From 54e14bff397221b5b0d64720f77217f4d34ebf98 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 14 七月 2023 09:50:53 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS-WEB/src/views/docking/data.vue | 183 ++++ Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 7 Source/UBCS-WEB/src/api/docking/task.js | 21 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java | 7 Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue | 32 Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue | 64 Source/UBCS-WEB/vue.config.js | 4 Source/UBCS-WEB/src/views/docking/task.vue | 237 +++++ Source/UBCS-WEB/src/api/modeling/cycle.js | 24 Source/UBCS-WEB/src/views/docking/loge.vue | 190 ++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 62 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java | 20 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java | 14 Source/UBCS-WEB/src/api/docking/data.js | 13 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java | 4 Source/UBCS-WEB/src/views/modeling/Business.vue | 13 Source/UBCS-WEB/src/api/docking/loge.js | 13 Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue | 5 Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml | 4 Source/UBCS-WEB/src/const/omd/enum.js | 10 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java | 21 Source/UBCS-WEB/src/views/modeling/cycle.vue | 175 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json | 137 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 435 ++++++++++ Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue | 1 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java | 47 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java | 32 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java | 8 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java | 71 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java | 27 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue | 1 Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 274 ++++++ Source/UBCS-WEB/src/components/FormTemplate/index.vue | 23 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java | 2 Source/UBCS-WEB/src/components/file/main.vue | 2 Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue | 19 Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue | 58 + Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json | 10 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java | 39 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 33 42 files changed, 2,140 insertions(+), 206 deletions(-) diff --git a/Source/UBCS-WEB/src/api/docking/data.js b/Source/UBCS-WEB/src/api/docking/data.js new file mode 100644 index 0000000..5d1cf4e --- /dev/null +++ b/Source/UBCS-WEB/src/api/docking/data.js @@ -0,0 +1,13 @@ +import request from '@/router/axios'; + +export const getList = (page, size, params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridDockingData', + method: 'get', + params: { + ...params, + page, + size + } + }) +} diff --git a/Source/UBCS-WEB/src/api/docking/loge.js b/Source/UBCS-WEB/src/api/docking/loge.js new file mode 100644 index 0000000..3b758e6 --- /dev/null +++ b/Source/UBCS-WEB/src/api/docking/loge.js @@ -0,0 +1,13 @@ +import request from '@/router/axios'; + +export const getList = (page, size, params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridLoge', + method: 'get', + params: { + ...params, + page, + size + } + }) +} diff --git a/Source/UBCS-WEB/src/api/docking/task.js b/Source/UBCS-WEB/src/api/docking/task.js new file mode 100644 index 0000000..f398361 --- /dev/null +++ b/Source/UBCS-WEB/src/api/docking/task.js @@ -0,0 +1,21 @@ +import request from '@/router/axios'; + +export const getList = (page, size, params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridDockingTask', + method: 'get', + params: { + ...params, + page, + size + } + }) +} + +export const sendData = (oid) => { + return request({ + url: '/api/ubcs-code/dockingManagement/sendData', + method: 'post', + data: oid + }) +} diff --git a/Source/UBCS-WEB/src/api/modeling/cycle.js b/Source/UBCS-WEB/src/api/modeling/cycle.js index 18c4505..765575c 100644 --- a/Source/UBCS-WEB/src/api/modeling/cycle.js +++ b/Source/UBCS-WEB/src/api/modeling/cycle.js @@ -15,6 +15,14 @@ data }) } +// 淇敼 +export const edit = (data) => { + return request({ + url: '/api/ubcs-omd/lifeCycle/edit-save', + method: 'put', + data + }) +} export const detail = (params) => { return request({ url: '/api/ubcs-omd/lifeCycle/detail', @@ -22,8 +30,22 @@ params }) } +// 鍒犻櫎 +export const del = (data, isBatch) => { + let url = '/api/ubcs-omd/lifeCycle/remove' + if (isBatch) { + url = '/api/ubcs-omd/lifeCycle/batch-remove' + } + return request({ + url, + method: 'post', + data + }) +} export default { getList, add, - detail + detail, + del, + edit } diff --git a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue index 2b2f7de..e888918 100644 --- a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue +++ b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue @@ -57,11 +57,12 @@ border :data="tab1Table" style="width: 100%" - height="400px" + height="40vh" highlight-current-row @current-change="resembleRowChange" @selection-change="tab1TableSelectChange" v-if="cloNamesList.length > 1" + v-loading="tab1Loading" > <el-table-column v-if="type !== 'batchApplyCode'" @@ -103,7 +104,8 @@ border :data="currentSelectedResemble" style="width: 100%" - height="200px" + height="20vh" + v-loading="tab1BottomTableLoading" > <el-table-column v-for="item in resembleColumList" @@ -138,12 +140,9 @@ <el-tab-pane :label="tab2Name" name="tab2"> <el-table border + v-loading="tab2Loading" :data="tab2Table" - :height=" - type === 'batchApplyCode' && tab2Table.length > 0 - ? '400px' - : '700px' - " + height="60vh" > <el-table-column v-for="item in successTableColumns" @@ -179,7 +178,7 @@ </div> <template #footer> <div> - <el-button size="small" type="primary" @click="submit" + <el-button size="small" type="primary" @click="submit" :loading="submitLoading" >纭畾瀵煎叆</el-button > <el-button size="small" @click="dialogVisible = false">鍙栨秷</el-button> @@ -284,6 +283,10 @@ }, batchApplyCodeTableData: {}, savedList: [], + tab1Loading: false, + tab2Loading: false, + tab1BottomTableLoading: false, + submitLoading: false }; }, @@ -338,11 +341,13 @@ this.localCodeClassifyOid = data.codeClassifyOid; this.cloNamesList = data.cloNamesList; this.templateOid = data.oid; + this.tab1Loading = true getResembleTable({ codeClassifyOid: this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid, redisOid: this.redisOid + "-resemble", }).then((res) => { + this.tab1Loading = false this.tab1Table = res.data.data.filter( (item) => !this.savedList.includes(item.oid) ); @@ -351,12 +356,14 @@ this.tab1Table; } }); + this.tab2Loading = true // 鑾峰彇姝g‘鏁版嵁 getSuccessTable({ codeClassifyOid: this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid, redisOid: this.redisOid + "-ok", }).then((res) => { + this.tab2Loading = false this.tab2Table = res.data.data; if (this.tab2Table.length > 0 && this.type === "batchApplyCode") { this.batchApplyCodeTableData[data.codeRuleOid]["codeApply"] = {}; @@ -382,10 +389,12 @@ if (!row || !row.oid) { return; } + this.tab1BottomTableLoading = true getCurretnSelectedRowResemble({ redisOid: this.redisOid + "-resemble-data", dataOid: row.oid, }).then((res) => { + this.tab1BottomTableLoading = false this.currentSelectedResemble = res.data.data; }); }, @@ -483,12 +492,12 @@ }, ]; } + this.submitLoading = true submitHistoryimport(params).then((res) => { - console.log(res); + this.submitLoading = false + console.log(res); if (res.data.code === 200) { this.$message.success(res.data.msg); - } else { - this.$message.error(res.data.msg); } }); }, @@ -572,6 +581,7 @@ } } .right { + transition: all 0.5s; margin-left: 20px; margin-top: 30px; } diff --git a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue index 562cc1c..9e419a2 100644 --- a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue @@ -309,6 +309,7 @@ if (uniqueFlag === 'CODEEDIT') return this.editHandler() if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply') if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport') + if (uniqueFlag === 'batchApplyCode') return this.openBatchImport('batchApplyCode') // 鎵归噺鐢宠缂栫爜 // if(uniqueFlag === 'CODEEDIT') return this.openBatchImport('batchApplyCode') if (uniqueFlag === 'CODESTARTPROCESS') return this.setHandler() @@ -441,10 +442,10 @@ await TableData({ templateOid: this.templateOid, codeClassifyOid: this.codeClassifyOid, - page: val.currentPage, - limit: val.pageSize, + page: this.page.currentPage, + limit: this.page.pageSize, }).then((res) => { - this.data = res.data.data; + this.tableData = res.data.data; }); }, //澶氶�� @@ -518,15 +519,19 @@ console.log(val) addSaveCode(val).then(res=>{ console.log(res) - this.onLoad() + this.$nextTick(() => { + this.onLoad() + }) }) }, EditSumbit(val) { this.editvisible = false; console.log(val) - editSaveCode(val).then(res=>{ - console.log(res) - this.onLoad() + editSaveCode(val).then(res=>{ + console.log(res) + this.$nextTick(() => { + this.onLoad() + }) }) }, openBatchImport(type) { diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index c7e2680..bd8484d 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -332,6 +332,20 @@ const { defaultValue, formValue } = this.getDefaultValueAndFormValues( this.form ); + const noData = [ + "jiliangdwname", + "materialtypeText", + "morengongysname", + "$caigouwl", + "$xiaoshouwl", + "$shifoupihaoguanli", + "lcstatus_text", + "hesuanfenleiname", + "$kucunwl", + ]; + noData.forEach((item) => { + this.$delete(formValue, item); + }); resForm.data = formValue; resForm = Object.assign({}, resForm, defaultValue); resForm.secDTOList = []; @@ -373,11 +387,9 @@ let resForm = {}; const { defaultValue, formValue } = this.getDefaultValueAndFormValues(this.form); - noData.forEach(item => { - if (formValue[item]) { - this.$delete(formValue, item) - } - }) + noData.forEach((item) => { + this.$delete(formValue, item); + }); resForm.data = formValue; resForm = Object.assign({}, resForm, defaultValue); resForm.secDTOList = this.secVOList.map((item) => { @@ -389,7 +401,6 @@ resForm.codeClassifyOid = this.codeClassifyOid; resForm.codeRuleOid = this.codeRuleOid; resForm.templateOid = this.templateOid; - console.log(resForm, 'ddd'); this.$emit("submit", resForm); }) .catch(() => {}); diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue index 236d931..87bf1ca 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue @@ -122,6 +122,7 @@ simOid:"", btmName:"", btmOid:"", + btmId:"", masterInput:'', MasterSearchSelects:"", masterData:[], @@ -237,7 +238,7 @@ }, { label:"缂栫爜瑙勫垯", - prop:"coderuleoidName", + prop:"codeRuleOidName", labelWidth:128, disabled: true, }, @@ -307,7 +308,7 @@ }, { label:"缂栫爜瑙勫垯", - prop:"coderuleoidName", + prop:"codeRuleOidName", labelWidth:128, focus:this.CodeFoucus, readonly: true, @@ -333,36 +334,33 @@ } }, watch:{ - nodeClickList:{ - handler(newval,oldval){ - console.log('newVal',newval,oldval) - }, - deep:true, - immediate:true - }, - TreeFlag:{ - handler(newval,oldval){ - console.log('鏍戠姸鎬�',newval,oldval) - }, - deep:true, - immediate:true - } }, created() { }, methods: { submits(form,done){ - TreeEditSave(this.loneTreeNewForm).then(res=>{ - this.$message.success('淇敼鎴愬姛'); - this.Editclose() - this.$emit('referTreeForm'); - this.$emit('flushed'); - done() - }) + if(this.TreeFlag){ + TreeEditSave(this.loneTreeNewForm).then(res=>{ + this.$message.success('淇敼鎴愬姛'); + this.Editclose() + this.$emit('referTreeForm'); + this.$emit('flushed'); + done() + }) + }else { + this.loneTreeNewForm.btmTypeName=''; + this.loneTreeNewForm.btmTypeId=''; + TreeEditSave(this.loneTreeNewForm).then(res=>{ + this.$message.success('淇敼鎴愬姛'); + this.Editclose() + this.$emit('referTreeForm'); + this.$emit('flushed'); + done() + }) + } }, error(err) { - this.$message.success('璇锋煡鐪嬫帶鍒跺彴'); - console.log(err) + this.$message.success(err); }, //缂栫爜瑙勫垯鏌ヨ SelectFindeHandler(){ @@ -396,10 +394,9 @@ }else { this.MasterdialogVisible=false; this.masterSelectList=[] - this.$set(this.loneTreeNewForm,'coderuleoidName',this.masterName) - this.$set(this.loneTreeNewForm,'coderuleoid',this.masterOid) + this.$set(this.loneTreeNewForm,'codeRuleOidName',this.masterName) + this.$set(this.loneTreeNewForm,'codeRuleOid',this.masterOid) this.$emit('MasterHandler',this.loneTreeNewForm) - // console.log(this.loneTreeNewForm) } }, //缂栫爜澶氶�� @@ -407,7 +404,6 @@ this.masterSelectList=row; this.masterName=row[0].name; this.masterOid=row[0].oid; - // console.log('oid',this.oid) }, //缂栫爜鎺ュ彛 MasterdefaultRend(masterParameter){ @@ -437,7 +433,6 @@ this.$set(this.loneTreeNewForm,'codekeyattrrepeatoidName',this.KeyName) this.$set(this.loneTreeNewForm,'codekeyattrrepeatoid',this.KeyOid) this.$emit('MasterHandler',this.loneTreeNewForm) - console.log(this.loneTreeNewForm) } }, //鍏抽敭灞炴�ф煡璇� @@ -454,8 +449,8 @@ 'conditionMap[name]':this.SelectFInd } this.KeydefaultRend(masterParameter) - this.SelectValue="" - this.SelectFInd="" + this.SelectValue=""; + this.SelectFInd=""; } }, //鍏抽敭灞炴�ф帴鍙� @@ -516,7 +511,6 @@ this.simSelectList=row; this.simName=row[0].name; this.simOid=row[0].oid; - console.log('oid',this.oid) }, //鐩镐技椤归」鎺ュ彛 simdefaultRend(){ @@ -543,7 +537,7 @@ this.BtmdialogVisible=false; this.btmSelectList=[] this.$set(this.loneTreeNewForm,'btmTypeName',this.btmName ||this.btmOid) - this.$set(this.loneTreeNewForm,'btmTypeid',this.btmOid) + this.$set(this.loneTreeNewForm,'btmTypeId',this.btmId) this.$emit('MasterHandler',this.loneTreeNewForm) } }, @@ -570,11 +564,11 @@ this.btmSelectList=row; this.btmName=row[0].name; this.btmOid=row[0].oid; + this.btmId=row[0].id; }, //涓氬姟绫诲瀷鎺ュ彛 btmdefaultRend(masterParameter){ referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{ - // console.log(res) this.BtmData=res.data.data.records }) } diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index b1ed81c..b57d4e4 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -749,7 +749,6 @@ this.$set(this.TreeAddform,'codeRuleOidName',this.masterName) this.$set(this.TreeAddform,'codeRuleOid',this.masterOid) this.$emit('MasterHandler',this.loneTreeNewForm) - console.log(this.loneTreeNewForm) } }, //缂栫爜鎺ュ彛 @@ -777,7 +776,6 @@ this.KeySelectLIst=[] this.$set(this.TreeAddform,'codeKeyAttrRepeatOidName',this.KeyName) this.$set(this.TreeAddform,'codeKeyAttrRepeatOid',this.KeyOid) - console.log(this.TreeAddform) } }, //鍏抽敭灞炴�ф煡璇� @@ -856,7 +854,6 @@ this.simSelectList=row; this.simName=row[0].name; this.simOid=row[0].oid; - console.log('oid',this.oid) }, //鐩镐技椤归」鎺ュ彛 simdefaultRend(){ @@ -973,7 +970,6 @@ const data = this.TreeAddform; // data.btmtypename= this.TreeList.btmtypename this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); - console.log("data", data); TreeSave(data) .then(() => { this.$message({ @@ -1058,7 +1054,6 @@ }); } else { this.TreeEditFormVisible = true; - console.log(this.TreeList) } }, //鏍戝埛鏂� @@ -1149,7 +1144,6 @@ this.codeClassifyOid = item.codeclassifyoid return item.codeclassifyoid == this.nodeClickList.oid } - console.log('Formlist',this.Formlist) }) }).catch(res => { this.$message.error(res) @@ -1242,7 +1236,6 @@ }); }) } - console.log('123',this.codeClassifyOid) }, //妯℃澘绠$悊淇敼 CrudRowUpdata(row,index,done) { diff --git a/Source/UBCS-WEB/src/components/file/main.vue b/Source/UBCS-WEB/src/components/file/main.vue index 44f196f..44b5166 100644 --- a/Source/UBCS-WEB/src/components/file/main.vue +++ b/Source/UBCS-WEB/src/components/file/main.vue @@ -384,7 +384,7 @@ download(data) }else{ if (this.selectionList.length === 0) { - this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");x + this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); return; } data.append('fileOids',this.oids) diff --git a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue index 75a9bab..78c2af5 100644 --- a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue +++ b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue @@ -11,13 +11,14 @@ <el-form-item label="鍚嶇О" prop="name"> <el-input v-model.trim="newRowData.name" :maxLength="20" clearable /> </el-form-item> - <el-form-item label="鏍囩" prop="id"> + <el-form-item label="缂栧彿" prop="id"> <el-input v-model.trim="newRowData.id" clearable /> </el-form-item> <el-form-item label="璧峰鐘舵��" prop="startStatus"> <el-select v-model="newRowData.startStatus" placeholder="璇烽�夋嫨璧峰鐘舵��" + :disabled="type === 'edit'" style="width: 100%" > <el-option @@ -45,8 +46,27 @@ <group-panel :status="status"> <detail-form type="group" /> </group-panel> - <multi-panel :status="status" /> - <canvas-panel :status="status" /> + <node-panel :status="status"> + <div class="event"> + <hr /> + <div class="btn_box"> + <el-button type="primary" size="mini">鏂板</el-button> + <el-button type="danger" size="mini">鍒犻櫎</el-button> + <el-button type="primary" size="mini">淇濆瓨</el-button> + </div> + <div class="flex" v-for="(item, index) in eventList" :key="index" :class="{active: index === currentActive}"> + <el-select size="mini" style="width: 70%" v-if="item.isEdit"> + <el-option></el-option> + </el-select> + <span v-else style="width: 70%">{{item.evenName}}</span> + <el-button size="mini" type="text" class="red">鍒犻櫎</el-button> + <el-button size="mini" type="text" @click="editChange(item)">{{item.isEdit ? '鏆傚瓨' : '缂栬緫'}}</el-button> + </div> + </div> + </node-panel> + + <!-- <multi-panel :status="status" /> --> + <!-- <canvas-panel :status="status" /> --> </template> </detail-panel> </div> @@ -74,25 +94,31 @@ DetailPanel, DetailForm, }, - props: ["rowData", "existNodes"], + props: ["rowData", "existNodes", "type"], data() { return { newRowData: { startStatus: undefined, name: undefined, id: undefined, - remark: undefined + remark: undefined, }, rules: { name: [{ required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }], id: [ { required: true, message: "鏍囩涓嶈兘涓虹┖", trigger: "blur" }, - { pattern: /^[A-z]+$/g, message: "鏍囩鍙兘杈撳叆鑻辨枃", trigger: "blur" } + { + pattern: /^[A-z]+$/g, + message: "鏍囩鍙兘杈撳叆鑻辨枃", + trigger: "blur", + }, ], startStatus: [ { required: true, message: "璧峰鐘舵�佷笉鑳戒负绌�", trigger: "change" }, ], }, + eventList: [{evenName: '123123'}], + currentActive: 0 }; }, methods: { @@ -107,6 +133,9 @@ }); }); }, + editChange(row) { + this.$set(row, 'isEdit', !row.isEdit) + } }, watch: { rowData: { @@ -131,3 +160,20 @@ }, }; </script> +<style lang="scss" scoped> +.event { + margin-top: 20px; + text-align: center; +} +.flex { + margin-top: 10px; + display: flex; + justify-content: space-between; +} +.red { + color: red; +} +.active { + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4) +} +</style> diff --git a/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue b/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue index aaac12b..78b4dd5 100644 --- a/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue +++ b/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue @@ -23,7 +23,7 @@ </div> <div class="vfe-chart-panel" v-if="type !== 'detail'"> <div class="vfe-chart-panel-detail"> - <editor-detail-panel :rowData="rowData" ref="EditorDetailPanel" :existNodes="existNodes"/> + <editor-detail-panel :rowData="rowData" ref="EditorDetailPanel" :existNodes="existNodes" :type="type"/> </div> </div> </div> @@ -83,7 +83,7 @@ }, tooltipShow: true, tooltipData: [], - existNodes: [] + existNodes: this.chartData.nodes || [] }; }, @@ -207,6 +207,7 @@ width: 300px; background-color: #fafafa; border-left: 1px solid #e6e9ed; + overflow-y: scroll; .vfe-chart-panel-detail { box-sizing: border-box; diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue index e518e8d..2c79a93 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue @@ -74,6 +74,7 @@ border: true, index: true, selection: true, + reserveSelection:true, dialogClickModal: false, highlightCurrentRow: true, column: [] diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue index cfef5d5..49c1779 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue @@ -75,6 +75,7 @@ border: true, index: true, selection: true, + reserveSelection:true, dialogClickModal: false, highlightCurrentRow: true, rowKey:'oid', diff --git a/Source/UBCS-WEB/src/const/omd/enum.js b/Source/UBCS-WEB/src/const/omd/enum.js index 43d3b69..20d2e6b 100644 --- a/Source/UBCS-WEB/src/const/omd/enum.js +++ b/Source/UBCS-WEB/src/const/omd/enum.js @@ -17,7 +17,7 @@ prop: "name", search: true, slot: true, - span: 24, + span: 16, rules: [ { required: true, @@ -30,7 +30,8 @@ label: "鍚嶇О", prop: "label", search: true, - align: "center", + // align: "center", + span: 16, rules: [ { required: true, @@ -82,8 +83,9 @@ // }, { label: "鎻忚堪", - width: 150, - align: "center", + span: 16, + // width: 150, + // align: "center", prop: "remark", // hide: true } diff --git a/Source/UBCS-WEB/src/views/docking/data.vue b/Source/UBCS-WEB/src/views/docking/data.vue new file mode 100644 index 0000000..1f442e8 --- /dev/null +++ b/Source/UBCS-WEB/src/views/docking/data.vue @@ -0,0 +1,183 @@ +<template> + <!--绯荤粺闆嗘垚鐨勭郴缁熶俊鎭〉闈�--> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page.sync="page" + :permission="permissionList" + ref="crud" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + </avue-crud> + </basic-container> +</template> + +<script> +import {getList} from "@/api/docking/data"; +import {validatenull} from "@/util/validate"; +import {mapGetters} from "vuex"; +import website from "@/config/website"; + +export default { +name: "data", + data(){ + return { + loading: false, + query: {}, + selectionList: [], + page: { + pageSize: 20, + currentPage: 1, + total: 0 + }, + data:[], + option: { + calcHeight: 30, + tip: false, + searchShow: false, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: false, + dialogClickModal: false, + menu:false, + column: [ + { + label: "鏁版嵁缂栫爜", + prop: "id", + search: true, + sortable:true, + width:150 + }, + { + label: "鍥惧彿", + prop: "uniquecode", + search: true, + sortable:true + }, + { + label: '鍒嗙被id', + prop: 'classifyid', + search: true, + sortable:true, + width: 250 + }, + { + label: '鍒嗙被鍚嶇О', + prop: 'classifyname', + search: true, + sortable:true + }, + { + label: '涓氬姟绫诲瀷oid', + prop: 'btmoid', + sortable:true, + width: 150 + }, + { + label: '涓氬姟绫诲瀷id', + prop: 'btmid', + sortable:true, + width: 150 + }, + { + label: '鎺ㄩ�佺被鍨�', + prop: 'sendtype', + search: true, + sortable:true, + width: 150 + }, + { + label: '鏄惁鍒嗚В浠诲姟', + prop: 'sendflag', + search: true, + sortable:true, + width: 150, + html:true, + align:'center', + type:'select', + dicData: [{key:'true',value:'鏄�'},{key:'false',value:'鍚�'}], + props: { + label: "value", + value: "key" + }, + formatter : function (row, column) { + return row.sendflag == 'true' || row.sendflag == '1' ? '<i class="el-icon-check"></i>' : '<i class="el-icon-close"></i>' + } + } + ] + } + } + }, + computed:{ + ...mapGetters([ "permission"]), + permissionList() { + return { + addBtn: false, + viewBtn: false, + delBtn: false, + editBtn: false + }; + } + }, + methods: { + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page); + }, + onLoad(page, params={}) { + this.loading = true; + var query={} + if (this.query) { + for (var key in this.query) { + query['conditionMap["' + key + '"]'] = this.query[key]; + } + } + getList(page.currentPage, page.pageSize, Object.assign(params,this.params, query,this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }).catch(error=>{ + this.$message.error(error); + this.loading = false; + }); + } + } + +} +</script> + +<style scoped> + +</style> diff --git a/Source/UBCS-WEB/src/views/docking/loge.vue b/Source/UBCS-WEB/src/views/docking/loge.vue new file mode 100644 index 0000000..f4c2b24 --- /dev/null +++ b/Source/UBCS-WEB/src/views/docking/loge.vue @@ -0,0 +1,190 @@ +<template> + <!--绯荤粺闆嗘垚鐨勭郴缁熸棩蹇楅〉闈�--> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page.sync="page" + :permission="permissionList" + ref="crud" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + </avue-crud> + </basic-container> +</template> + +<script> +import {getList} from "@/api/docking/loge"; +import {validatenull} from "@/util/validate"; +import {mapGetters} from "vuex"; + +export default { + name: "loge", + data(){ + return { + loading: false, + query: {}, + selectionList: [], + page: { + pageSize: 20, + currentPage: 1, + total: 0 + }, + data:[], + option: { + calcHeight: 30, + tip: false, + searchShow: false, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: false, + dialogClickModal: false, + menu:false, + column: [ + { + label: "鏁版嵁缂栫爜", + prop: "id", + search: true, + sortable:true, + width:150 + }, + { + label: "鍥惧彿", + prop: "uniquecode", + search: true, + sortable:true, + width:150 + }, + { + label: '鍒嗙被id', + prop: 'classifyid', + search: true, + sortable:true, + width: 250 + }, + { + label: '鍒嗙被鍚嶇О', + prop: 'classifyname', + search: true, + sortable:true, + overHidden: true + }, + { + label: '绯荤粺缂栧彿', + prop: 'systemcode', + search: true, + sortable:true, + width: 150 + }, + { + label: '绯荤粺鍚嶇О', + prop: 'systemname', + search: true, + sortable:true, + width: 150 + }, + { + label: '鏄惁鎺ㄩ�佹垚鍔�', + prop: 'interfacestatus', + search: true, + sortable:true, + width: 120, + html:true, + align:'center', + type:'select', + dicData: [{key:'true',value:'鏄�'},{key:'false',value:'鍚�'}], + props: { + label: "value", + value: "key" + }, + formatter : function (row, column) { + return row.interfacestatus == 'true' || row.interfacestatus == '1' ? '<i class="el-icon-check"></i>' : '<i class="el-icon-close"></i>' + } + }, + { + label: '杩斿洖msg', + prop: 'msg', + overHidden: true + }, + { + label: '璁板綍鏃堕棿', + prop: 'createTime', + sortable:true, + width: 160 + } + ] + } + } + }, + computed:{ + ...mapGetters([ "permission"]), + permissionList() { + return { + addBtn: false, + viewBtn: false, + delBtn: false, + editBtn: false + }; + } + }, + methods: { + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page); + }, + onLoad(page, params={}) { + this.loading = true; + var query={} + if (this.query) { + for (var key in this.query) { + query['conditionMap["' + key + '"]'] = this.query[key]; + } + } + getList(page.currentPage, page.pageSize, Object.assign(params,this.params, query,this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }).catch(error=>{ + this.$message.error(error); + this.loading = false; + }); + } + } + +} +</script> + +<style scoped> + +</style> diff --git a/Source/UBCS-WEB/src/views/docking/task.vue b/Source/UBCS-WEB/src/views/docking/task.vue new file mode 100644 index 0000000..48efd1d --- /dev/null +++ b/Source/UBCS-WEB/src/views/docking/task.vue @@ -0,0 +1,237 @@ +<template> + <!--绯荤粺闆嗘垚鐨勭郴缁熶换鍔¢〉闈�--> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page.sync="page" + :permission="permissionList" + ref="crud" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="primary" + size="small" + plain + icon="el-icon-refresh-right" + @click="handleSend">鎵嬪姩鎺ㄩ�� + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> +import {getList,sendData} from "@/api/docking/task"; +import {validatenull} from "@/util/validate"; +import {mapGetters} from "vuex"; +import {remove} from "@/api/code/codeSynonym"; + +export default { + name: "task", + data(){ + return { + loading: false, + query: {}, + selectionList: [], + page: { + pageSize: 20, + currentPage: 1, + total: 0 + }, + data:[], + option: { + calcHeight: 30, + tip: false, + searchShow: false, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: true, + dialogClickModal: false, + menu:false, + column: [ + { + label: "鏁版嵁缂栫爜", + prop: "id", + search: true, + sortable:true, + width:150 + }, + { + label: "鍥惧彿", + prop: "uniquecode", + search: true, + sortable:true, + width:150 + }, + { + label: '鍒嗙被id', + prop: 'classifyid', + search: true, + sortable:true, + width: 250 + }, + { + label: '鍒嗙被鍚嶇О', + prop: 'classifyname', + search: true, + sortable:true + }, + { + label: '绯荤粺缂栧彿', + prop: 'systemcode', + search: true, + sortable:true, + width: 150 + }, + { + label: '绯荤粺鍚嶇О', + prop: 'systemname', + search: true, + sortable:true, + width: 150 + }, + { + label: '鏁版嵁鎯呭喌', + prop: 'sendtype', + sortable:true, + width: 100 + }, + { + label: '鏄惁鎺ㄩ�佹垚鍔�', + prop: 'sendflag', + search: true, + sortable:true, + width: 120, + html:true, + align:'center', + type:'select', + dicData: [{key:'true',value:'鏄�'},{key:'false',value:'鍚�'}], + props: { + label: "value", + value: "key" + }, + formatter : function (row, column) { + return row.sendflag == 'true' || row.sendflag == '1' ? '<i class="el-icon-check"></i>' : '<i class="el-icon-close"></i>' + } + }, + { + label: '浠诲姟鍒涘缓鏃堕棿', + prop: 'createTime', + sortable:true, + width: 150 + }, + { + label: '鏈�鍚庢帹閫佹椂闂�', + prop: 'lastModifyTime', + sortable:true, + width: 150 + } + ] + } + } + }, + computed:{ + ...mapGetters([ "permission"]), + permissionList() { + return { + addBtn: false, + viewBtn: false, + delBtn: false, + editBtn: false + }; + }, + oids() { + let oids = []; + this.selectionList.forEach(ele => { + oids.push(ele.oid); + }); + return oids.join(","); + } + }, + methods: { + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page); + }, + onLoad(page, params = {}) { + this.loading = true; + var query = {} + if (this.query) { + for (var key in this.query) { + query['conditionMap["' + key + '"]'] = this.query[key]; + } + } + getList(page.currentPage, page.pageSize, Object.assign(params, this.params, query, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }).catch(error => { + this.$message.error(error); + this.loading = false; + }); + }, + handleSend() { + let data = new FormData(); + if (this.selectionList.length === 0) { + this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + return; + } + data.append('oid', this.oids) + this.$confirm("鏄惁鎺ㄩ�佹暟鎹�?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return sendData(data) + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }).catch(error => { + this.$message.error(error); + }); + } + } + +} +</script> + +<style scoped> + +</style> diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue index c29b168..6dd1b28 100644 --- a/Source/UBCS-WEB/src/views/modeling/Business.vue +++ b/Source/UBCS-WEB/src/views/modeling/Business.vue @@ -15,7 +15,7 @@ <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick" class="businessTree"> <span class="el-tree-node__label" slot-scope="{ node, data }"> <span> - <i class="el-icon-star-on"></i> + <i :class="(node || {}).level === 2 ? 'el-icon-star-off' : 'el-icon-folder-opened'"></i> {{ (node || {}).label }} </span> </span> @@ -82,7 +82,7 @@ <i :class="icons.revisionRule"></i> 鐗堟湰瑙勫垯 </template> - {{ obj.revisionRuleName }} + {{ obj.revisionRuleName ? obj.revisionRuleName+ '(' + obj.revisionRuleId + ')' : ''}} </el-descriptions-item> <el-descriptions-item :labelStyle="descriptionOption.labelStyle" :contentStyle="descriptionOption.contentStyle"> @@ -90,7 +90,7 @@ <i :class="icons.lifeCycle"></i> 鐢熷懡鍛ㄦ湡 </template> - {{ obj.lifeCycleId }} + {{ obj.lifeCycleName ? obj.lifeCycleName + '(' + obj.lifeCycleId + ')' : ''}} </el-descriptions-item> <el-descriptions-item :labelStyle="descriptionOption.labelStyle" :contentStyle="descriptionOption.contentStyle"> @@ -176,6 +176,7 @@ defaultExpandAll: true, title: '涓氬姟绫诲瀷鏍�', addBtn: false, + menu:false, props: { labelText: '', label: 'label', @@ -237,7 +238,8 @@ revisionRule: 'el-icon-s-check', lifeCycle: 'el-icon-refresh-right', view: 'el-icon-view', - desc: 'el-icon-chat-line-square' + desc: 'el-icon-chat-line-square', + referType: 'el-icon-search' }, ref: { // 浠庤〃涓�夋嫨dialog鐘舵�� @@ -278,7 +280,7 @@ this.initDomainOption(); }, methods: { - nodeClick(data) { + nodeClick(data,node,leaf) { if (data.oid) { getDetail(data.oid).then(res => { this.obj = res.data.data; @@ -347,6 +349,7 @@ }, businessAdd() { this.$refs.btmAdd.showSubmitDialog = true; + this.$refs.btmAdd.btmType = {}; this.ifRefreshBtmAddRefresh(); }, businessEdit() { diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue index 50a2502..651e7cc 100644 --- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue +++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue @@ -19,21 +19,32 @@ <el-input v-model="btmType.tableName" :prefix-icon="icons.tableName"></el-input> </el-form-item> <el-form-item label="鎵�灞為鍩�" label-width="100px" prop="domain" class="domainSelect"> - <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain"> + <el-select placeholder="璇烽�夋嫨棰嗗煙" v-model="btmType.bizDomain" :prefix-icon="icons.domain"> <el-option v-for="item in domainOption" :label="item.label" :value="item.value" :key="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="鐗堟湰瑙勫垯" label-width="100px"> - <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" class="revisionRule" - @focus="openRevision" clearable @clear="clearRevision"> - <i slot="suffix" class="el-input__icon el-icon-search"></i> + <el-input v-model="btmType.revisionRuleName" + :prefix-icon="icons.revisionRule" + class="revisionRule" + @focus="openRevision" + clearable + @clear="clearRevision" + :suffix-icon="icons.referType" + placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"> </el-input> </el-form-item> <el-form-item label="鐢熷懡鍛ㄦ湡" label-width="100px"> - <el-input v-model="btmType.lifeCycleId" :prefix-icon="icons.lifeCycle"> - <i slot="suffix" class="el-input__icon el-icon-search"></i> + <el-input v-model="btmType.lifeCycleName" + :prefix-icon="icons.lifeCycle" + class="lifeCycle" + @focus="openLifeCycle" + clearable + @clear="clearLifeCycle" + :suffix-icon="icons.referType" + placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"> </el-input> </el-form-item> <div> @@ -118,7 +129,10 @@ :data="revisionRef.data" :page.sync="revisionRef.page" ref="revisionRef" - @row-click="revisionClick"> + @row-click="revisionClick" + v-loading="revisionRef.loading" + @search-change="searchRevisionRule" + @search-reset="clearSearchRevisionRule"> <template slot="radio" slot-scope="{row}"> <el-radio v-model="revisionRef.selectRow" @@ -131,7 +145,37 @@ <el-button @click="cancelRevision">鍙栨秷</el-button> </div> </el-dialog> + + <!-- 鐢熷懡鍛ㄦ湡鐨勫弬鐓� --> + <el-dialog title="璇烽�夋嫨鐢熷懡鍛ㄦ湡" + :visible.sync="lifeCycleRef.visible" + append-to-body + width="80%"> + + <avue-crud class="lifeCycleRef" + :option="lifeCycleRef.option" + :data="lifeCycleRef.data" + :page.sync="lifeCycleRef.page" + ref="lifeCycleRef" + @row-click="lifeCycleClick" + v-loading="lifeCycleRef.loading" + @search-change="searchLifeCycle" + @search-reset="clearSearchLifeCycle"> + <template slot="radio" + slot-scope="{row}"> + <el-radio v-model="lifeCycleRef.selectRow" + :label="row.$index"> + </el-radio> + </template> + </avue-crud> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="confirmLifeCycle">纭畾</el-button> + <el-button @click="cancelLifeCycle">鍙栨秷</el-button> + </div> + </el-dialog> </el-dialog> + + </template> @@ -140,6 +184,7 @@ import {add, update} from '@/api/omd/btmType'; import {queryPage} from '@/api/omd/OmdAttribute'; import {getPage} from '@/api/omd/revisionRule'; +import {getList} from '@/api/modeling/cycle'; export default { name: 'BusinessAdd', @@ -287,6 +332,71 @@ currentPage: 1, pageSize: 10 }, + loading: false, + selectRow: '', + searchKey: null, + option: { + height: 360, + addBtn: false, + refreshBtn: false, + columnBtn: false, + menu: false, + border: true, + reserveSelection: true, + searchMenuSpan: 8, + searchShowBtn: false, + highlightCurrentRow: true, + column: [{ + label: '閫夋嫨', + prop: 'radio', + width: 60, + hide: false + }, + { + label: '鑻辨枃鍚嶇О', + prop: 'id', + search: true + }, + { + label: "涓枃鍚嶇О", + prop: "name", + search: true, + }, + { + label: "璺宠穬瀛楃", + prop: "skipCode" + }, + { + label: "鍒濆鍊�", + prop: "startCode" + }, + { + label: "姝ラ暱", + prop: "serialStep" + }, + { + label: "鍓嶇紑", + prop: "prefixCode" + }, + { + label: "鍚庣紑", + prop: "suffixCode" + }, + { + label: "鎻忚堪", + prop: "description", + type: "textarea" + } + ] + }, + }, + lifeCycleRef: { + visible: false, + page: { + currentPage: 1, + pageSize: 10 + }, + loading: false, selectRow: '', searchKey: null, option: { @@ -506,22 +616,48 @@ row.$cellEdit = false; }, // 鎵撳紑鐗堟湰瑙勫垯鍙傜収 - async openRevision() { - await getPage().then(res => { + openRevision() { + this.revisionRef.visible = true; + this.revisionRuleOnLoad(); + }, + // 鐗堟湰鍙傜収鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉� + revisionRuleOnLoad(){ + this.revisionRef.loading = true; + getPage().then(res => { this.revisionRef.data = res.data.data.records; }); - this.revisionRef.visible = true; + setTimeout(() => { + this.revisionRef.loading = false; + }, 600) + this.$nextTick(() => { + this.$refs.revisionRef.refreshTable(); + }); + }, + // 鎵撳紑鐗堟湰瑙勫垯鍙傜収 + openLifeCycle() { + this.lifeCycleRef.visible = true; + this.lifeCycleOnLoad(); + }, + // 鐢熷懡鍛ㄦ湡鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉� + lifeCycleOnLoad(){ + this.lifeCycleRef.loading = true; + getList().then(res => { + this.lifeCycleRef.data = res.data.data.records; + }); + setTimeout(() => { + this.lifeCycleRef.loading = false; + }, 600) + this.$nextTick(() => { + this.$refs.lifeCycleRef.refreshTable(); + }); }, // 鍏抽棴鐗堟湰瑙勫垯鍙傜収寮圭獥 closeRevisionDialog() { this.revisionRef.visible = false; }, - // 鐗堟湰瑙勫垯鍙傜収鍒楄〃妫�绱� - revisionRefSearch() { - - }, - // 鐗堟湰瑙勫垯閫変腑浜嬩欢 - revisionChange() { + // 鍏抽棴鐢熷懡鍛ㄦ湡鍙傜収寮圭獥 + closeLifeCycleDialog() { + this.lifeCycleRef.visible = false; }, // 纭閫変腑鐗堟湰瑙勫垯 confirmRevision() { @@ -531,11 +667,24 @@ this.btmType.inputRevisionFlag = false; this.cancelRevision(); }, + // 纭閫変腑鐢熷懡鍛ㄦ湡 + confirmLifeCycle() { + this.btmType.lifeCycleFlag = true; + this.btmType.lifeCycleId = this.lifeCycleRef.selectData.id; + this.btmType.lifeCycleName = this.lifeCycleRef.selectData.name; + this.cancelLifeCycle(); + }, // 鍙栨秷閫変腑鐗堟湰瑙勫垯 cancelRevision() { this.revisionRef.selectRow = ''; this.revisionRef.selectData = {}; this.closeRevisionDialog(); + }, + // 鍙栨秷閫変腑鐢熷懡鍛ㄦ湡 + cancelLifeCycle() { + this.lifeCycleRef.selectRow = ''; + this.lifeCycleRef.selectData = {}; + this.closeLifeCycleDialog(); }, // 鐗堟湰瑙勫垯鍗曢�� revisionClick(row) { @@ -545,15 +694,90 @@ name: row.name, }; }, + // 鐢熷懡鍛ㄦ湡鍗曢�� + lifeCycleClick(row) { + this.lifeCycleRef.selectRow = row.$index; + this.lifeCycleRef.selectData = { + id: row.id, + name: row.name, + }; + }, + // 鍙栨秷鐗堟湰瑙勫垯 clearRevision() { this.$delete(this.btmType, 'revisionFlag'); this.$delete(this.btmType, 'revisionRuleId'); this.$delete(this.btmType, 'revisionRuleName'); this.$delete(this.btmType, 'inputRevisionFlag'); }, + // 鍙栨秷鐢熷懡鍛ㄦ湡 + clearLifeCycle() { + this.$delete(this.btmType, 'lifeCycleFlag'); + this.$delete(this.btmType, 'lifeCycleId'); + this.$delete(this.btmType, 'lifeCycleName'); + }, + // 琛ㄥ崟閲嶇疆 resetForm() { this.btmType = {}; this.$refs.form.resetFields(); + }, + /** + * 鎼滅储鐗堟湰瑙勫垯 + * @param params 鎼滅储妗嗚緭鍏ュ�� {id: '',name: ''} 鐩存帴鑾峰彇灏辫 + * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟 + */ + searchRevisionRule(params,done){ + let condition = {}; + if (params.id){ + condition['id_like'] = params.id; + } + if (params.name){ + condition['name_like'] = params.name; + } + this.revisionRef.loading = true; + getPage(this.revisionRef.page.currentPage,this.revisionRef.page.pageSize,condition).then(res => { + this.revisionRef.data = res.data.data.records; + }); + setTimeout(() => { + done(); + this.revisionRef.loading = false; + }, 600); + this.$nextTick(() => { + this.$refs.revisionRef.refreshTable(); + }); + }, + /** + * 鎼滅储鐢熷懡鍛ㄦ湡 + * @param params 鎼滅储妗嗚緭鍏ュ�� + * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟 + */ + searchLifeCycle(params,done){ + let condition = {}; + if (params.id){ + condition['id_like'] = params.id; + } + if (params.name){ + condition['name_like'] = params.name; + } + this.lifeCycleRef.loading = true; + getList(this.lifeCycleRef.page.currentPage,this.lifeCycleRef.page.pageSize,condition).then(res => { + this.lifeCycleRef.data = res.data.data.records; + }); + setTimeout(() => { + done(); + this.lifeCycleRef.loading = false; + }, 600); + this.$nextTick(() => { + this.$refs.lifeCycleRef.refreshTable(); + }); + }, + // 鍙栨秷鐗堟湰瑙勫垯鎼滅储 + clearSearchRevisionRule(item){ + this.revisionRuleOnLoad(); + }, + // 鍙栨秷鐢熷懡鍛ㄦ湡鎼滅储 + clearSearchLifeCycle(item){ + this.lifeCycleOnLoad(); + console.log(item); } } } @@ -569,27 +793,27 @@ display: none !important; } +.lifeCycleRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu { + display: none !important; +} + .btmTypeForm > .el-form-item > .el-form-item__content > .el-input > .el-input__inner { - width: 200px; + width: 260px; } .domainSelect > .el-form-item__content > .el-select > .el-input > .el-input__inner { - width: 200px; + width: 260px; } .viewFlag { - width: 305px; + width: 360px; } .viewInput > .el-form-item__content > .el-input > .el-input__inner { - width: 200px; + width: 630px; } .descClass > .el-input__inner { - width: 57vw -} - -#descId { - width: 57vw; + width: 1000px; } </style> diff --git a/Source/UBCS-WEB/src/views/modeling/cycle.vue b/Source/UBCS-WEB/src/views/modeling/cycle.vue index c7a5fd2..5df55c7 100644 --- a/Source/UBCS-WEB/src/views/modeling/cycle.vue +++ b/Source/UBCS-WEB/src/views/modeling/cycle.vue @@ -5,9 +5,13 @@ :option="option" :page="page" :table-loading="loading" + selection + @size-change="search('size', ...arguments)" + @current-change="search('current', ...arguments)" @refresh-change="search" @search-change="search('search', ...arguments)" @search-reset="search('reset', ...arguments)" + @selection-change="selectionChange" > <template slot-scope="scope" slot="menuLeft"> <el-button @@ -17,12 +21,22 @@ @click="openDialog('add', {})" >鏂板</el-button > + <el-button + type="danger" + icon="el-icon-delete" + size="small" + @click="batchDel()" + v-if="selectedData.length > 0" + :loading="delLoading" + >鍒犻櫎</el-button + > </template> <template slot-scope="{ row, index }" slot="menu"> <el-button type="text" icon="el-icon-edit" size="mini" + :loading="row.editLoading" @click="openDialog('edit', row)" >缂栬緫</el-button > @@ -30,8 +44,18 @@ type="text" icon="el-icon-view" size="mini" + :loading="row.detailLoading" @click="openDialog('detail', row)" >棰勮</el-button + > + <el-button + class="btn_link_del" + type="text" + icon="el-icon-delete" + size="mini" + :loading="row.delLoading" + @click="rowDel(row)" + >鍒犻櫎</el-button > </template></avue-crud > @@ -58,7 +82,13 @@ @save-data="save" /> <template #footer v-if="type !== 'detail'"> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> + <el-button + type="primary" + size="mini" + @click="submit" + :loading="submitLoading" + >淇濆瓨</el-button + > <el-button type="" size="mini" @click="visible = false">鍙栨秷</el-button> </template> </el-dialog> @@ -73,7 +103,12 @@ components: { CycleFlow }, data() { return { - form: {}, + form: { + // 'contionMap[id]': 'qwe' + // contionMap: [ + // {id: 'qwe'} + // ] + }, page: { pageSize: 10, total: 0, @@ -81,7 +116,8 @@ layout: "total, sizes, prev, pager, next, jumper", }, option: { - searchMenuSpan: 12, + selection: true, + searchMenuSpan: 6, searchMenuPosition: "right", border: true, align: "center", @@ -94,6 +130,7 @@ { label: "缂栧彿", prop: "id", + search: true, }, { label: "鍚嶇О", @@ -102,7 +139,7 @@ }, { label: "璧峰鐘舵��", - prop: "startStatusName", + prop: "startStatus", search: true, }, { @@ -120,6 +157,9 @@ dialogWidth: "50%", type: "detail", loading: false, + delLoading: false, + submitLoading: false, + selectedData: [], }; }, created() { @@ -135,10 +175,18 @@ total: 0, currentPage: 1, }; + } else if (type === "size") { + this.page.pageSize = params; + } else if (type === "current") { + this.page.currentPage = params; } this.loading = true; - const { limit, page } = this.page; - API.getList(Object.assign({}, params, { limit, page })).then((res) => { + API.getList( + Object.assign({}, params, { + size: this.page.pageSize, + current: this.page.currentPage, + }) + ).then((res) => { this.loading = false; this.data = res.data.data.records; this.page.total = res.data.data.total; @@ -162,52 +210,126 @@ this.$set(row, "detailLoading", false); this.$set(row, "editLoading", false); this.rowData = row; - this.nodesEdgesData = {nodes: res.nodes, edges: res.edges} + const nodes = res.data.data.nodes.map((item) => { + item.label = item.id; + item.index = item.indexNum; + return item; + }); + const edges = res.data.data.edges.map((item) => { + item.label = item.name; + item.width = 80; + item.height = 48; + item.index = 1; + item.index = item.indexNum; + return item; + }); + this.nodesEdgesData = { nodes, edges }; + this.visible = true; }); } else { + this.nodesEdgesData = {}; + this.rowData = {}; this.title = "鏂板鐢熷懡鍛ㄦ湡娴佺▼鍥�"; this.dialogWidth = "95%"; this.visible = true; } }, + // 閫変腑鏁版嵁 + selectionChange(selectedData) { + this.selectedData = selectedData; + }, + // 鍒犻櫎 + rowDel(row) { + this.$confirm("纭鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + this.$set(row, "delLoading", true); + API.del({ oid: row.oid, id: row.id }) + .then((res) => { + this.$set(row, "delLoading", false); + if (res.data.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛锛�"); + this.search(); + } + }) + .catch(() => { + this.$set(row, "delLoading", false); + }); + }); + }, + batchDel() { + this.$confirm("纭鍒犻櫎鎵�閫夋暟鎹�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + const data = this.selectedData.map((item) => { + return { + id: item.id, + oid: item.oid, + }; + }); + this.delLoading = true; + API.del(data, true) + .then((res) => { + this.delLoading = false; + if (res.data.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛锛�"); + this.search(); + } + }) + .catch(() => { + this.delLoading = false; + }); + }); + }, async submit() { const newRowData = await this.$refs.vueFlowchartEditor.getNewRowData(); - console.log(newRowData, "newRowDatanewRowData"); if (!newRowData) { return; } - const flowData = this.$refs.vueFlowchartEditor.getFlowData(); + const flowData = await this.$refs.vueFlowchartEditor.getFlowData(); if (Array.isArray(flowData.nodes)) { flowData.nodes = flowData.nodes.map((item) => { item.name = item.id; + item.indexNum = item.index; return item; }); } if (Array.isArray(flowData.edges)) { flowData.edges = flowData.edges.map((item) => { item.name = item.label; + item.indexNum = item.index; return item; }); } - let params = { - ...flowData, ...newRowData, + ...flowData, }; - console.log(flowData, newRowData); - API.add(params).then((res) => { - console.log(res, "res"); - }); - }, - }, - watch: { - page: { - deep: true, - immediate: true, - handler(newV) { - this.page.page = newV.currentPage; - this.page.limit = newV.pageSize; - }, + + this.submitLoading = true; + let APIFun = API.add; + if (this.type === "edit") { + APIFun = API.edit; + this.$delete(params, "id"); + } + APIFun(params) + .then((res) => { + this.submitLoading = false; + if (res.data.code === 200) { + this.$message.success( + this.type === "edit" ? "淇敼鎴愬姛锛�" : "鏂板鎴愬姛锛�" + ); + this.visible = false; + this.search(); + } + }) + .catch(() => { + this.submitLoading = false; + }); }, }, }; @@ -224,4 +346,7 @@ margin: 0; padding: 0; } +.btn_link_del { + color: red; +} </style> diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index ad43a75..63a88c9 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -26,9 +26,9 @@ proxy: { '/api': { //鏈湴鏈嶅姟鎺ュ彛鍦板潃 - target: 'http://localhost:37000', + // target: 'http://localhost:37000', // target: 'http://192.168.1.51:37000', - // target: 'http://192.168.1.46:37000', + target: 'http://192.168.1.46:37000', // target: 'http://dev.vci-tech.com:37000', // target: 'http://192.168.1.51:37000/', // target: 'http://192.168.1.104:37000', diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java index 737bf94..aaccfae 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java @@ -1,44 +1,44 @@ package com.vci.ubcs.code.dto.datapush.classify; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -//@XStreamAlias("classify") +@XStreamAlias("classify") public class NodeClassifyDTO { /** * 鍒嗙被id */ - //@XStreamAsAttribute + @XStreamAsAttribute private String id; /*** * 鍒嗙被鍚嶇О */ - //@XStreamAsAttribute + @XStreamAsAttribute private String name; /*** * 鐖惰妭鐐筰d */ - // @XStreamAsAttribute + @XStreamAsAttribute private String pid; /*** * 鍒嗙被浠e彿 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String classCode; /*** * 鎻忚堪 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String description; /*** * 鍒嗙被閾炬帴璺緞 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String fullPathName; /*** * 鍒嗙被鐘舵�� */ - //@XStreamAsAttribute + @XStreamAsAttribute private String lcStatus; public String getId() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java index f2c4406..7351eb4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java @@ -1,8 +1,8 @@ package com.vci.ubcs.code.dto.datapush.classify; -//import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAlias; -//@XStreamAlias("data") +@XStreamAlias("data") public class NodeDataDTO { private NodeLibraryDTO library; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java index 1f0043b..8a3b967 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java @@ -1,14 +1,20 @@ package com.vci.ubcs.code.dto.datapush.classify; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + import java.util.List; -//@XStreamAlias("library") +@XStreamAlias("library") public class NodeLibraryDTO { - //@XStreamAsAttribute + @XStreamAsAttribute private String id; - //@XStreamAsAttribute + @XStreamAsAttribute private String name; - //@XStreamImplicit + @XStreamAsAttribute + private String classCode; + @XStreamImplicit private List<NodeClassifyDTO> classify; public String getId() { @@ -35,12 +41,21 @@ this.classify = classify; } - @Override - public String toString() { - return "NodeLibraryDTO{" + - "id='" + id + '\'' + - ", name='" + name + '\'' + - ", classify=" + classify + - '}'; - } + public String getClassCode() { + return classCode; + } + + public void setClassCode(String classCode) { + this.classCode = classCode; + } + + @Override + public String toString() { + return "NodeLibraryDTO{" + + "id='" + id + '\'' + + ", name='" + name + '\'' + + ", classCode='" + classCode + '\'' + + ", classify=" + classify + + '}'; + } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java new file mode 100644 index 0000000..d2b8e7e --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java @@ -0,0 +1,21 @@ +package com.vci.ubcs.code.dto.datapush.data; + +public class NodeJosnDTO { + + private NodedataDTO data; + + public NodedataDTO getData() { + return data; + } + + public void setData(NodedataDTO data) { + this.data = data; + } + + @Override + public String toString() { + return "NodeJosnDTO{" + + "data=" + data + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java new file mode 100644 index 0000000..8ea3daf --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java @@ -0,0 +1,71 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + +import java.util.List; + +@XStreamAlias("object") +public class NodeObjectDTO { + @XStreamAsAttribute + private String code="" ; + @XStreamAsAttribute + private String status="" ; + @XStreamAsAttribute + private String library=""; + @XStreamAsAttribute + private String classCode=""; + @XStreamImplicit + private List<NodeProDTO> pro; + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getLibrary() { + return library; + } + + public void setLibrary(String library) { + this.library = library; + } + + public String getClassCode() { + return classCode; + } + + public void setClassCode(String classCode) { + this.classCode = classCode; + } + + public List<NodeProDTO> getPro() { + return pro; + } + + public void setPro(List<NodeProDTO> pro) { + this.pro = pro; + } + + @Override + public String toString() { + return "NodeObjectDTO{" + + "code='" + code + '\'' + + ", status='" + status + '\'' + + ", library='" + library + '\'' + + ", classCode='" + classCode + '\'' + + ", pro=" + pro + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java new file mode 100644 index 0000000..1e4c759 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java @@ -0,0 +1,47 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; + +@XStreamAlias("pro") +public class NodeProDTO { + @XStreamAsAttribute + private String filedName; + @XStreamAsAttribute + private String outname; + @XStreamAsAttribute + private String filedValue; + + public String getFiledName() { + return filedName; + } + + public void setFiledName(String filedName) { + this.filedName = filedName; + } + + public String getOutname() { + return outname; + } + + public void setOutname(String outname) { + this.outname = outname; + } + + public String getFiledValue() { + return filedValue; + } + + public void setFiledValue(String filedValue) { + this.filedValue = filedValue; + } + + @Override + public String toString() { + return "NodeProDTO{" + + "filedName='" + filedName + '\'' + + ", outname='" + outname + '\'' + + ", filedValue='" + filedValue + '\'' + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java new file mode 100644 index 0000000..fe832e9 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java @@ -0,0 +1,27 @@ +package com.vci.ubcs.code.dto.datapush.data; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + +import java.util.List; + +@XStreamAlias("data") +public class NodedataDTO { + @XStreamImplicit + private List<NodeObjectDTO> object; + + public List<NodeObjectDTO> getObject() { + return object; + } + + public void setObject(List<NodeObjectDTO> object) { + this.object = object; + } + + @Override + public String toString() { + return "NodedataDTO{" + + "object=" + object + + '}'; + } +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json new file mode 100644 index 0000000..3a07164 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json @@ -0,0 +1,137 @@ +{ + "data": { + "object": { + "code": "0201040133", + "status": "Released", + "library": "wupin", + "classCode": "020104", + "pro": [ + { + "filedName": "xbj", + "outname": "鏍囪" + }, + { + "filedName": "xinghaoguige", + "outname": "瑙勬牸", + "filedValue": "M4" + }, + { + "filedName": "lastmodifier", + "outname": "鏈�鍚庝慨鏀逛汉", + "filedValue": "weidy(榄忓ぇ鍕�)" + }, + { + "filedName": "cpxs", + "outname": "浜у搧鍨嬪紡" + }, + { + "filedName": "secondfl", + "outname": "浜岀骇绠$悊鍒嗙被", + "filedValue": "绱у浐浠�" + }, + { + "filedName": "clph", + "outname": "鏉愭枡鐗屽彿", + "filedValue": "HB1-24321" + }, + { + "filedName": "thrifl", + "outname": "涓夌骇绠$悊鍒嗙被", + "filedValue": "铻洪拤" + }, + { + "filedName": "xbzjbmc", + "outname": "鏍囧噯绾у埆鍚嶇О" + }, + { + "filedName": "firstfl", + "outname": "涓�绾х鐞嗗垎绫�", + "filedValue": "鏍囧噯浠�" + }, + { + "filedName": "xgzccdgcd", + "outname": "鍏虫敞灏哄鐨勫叕宸甫" + }, + { + "filedName": "zjxh", + "outname": "瀛愪欢搴忓彿" + }, + { + "filedName": "bmcl", + "outname": "琛ㄩ潰澶勭悊", + "filedValue": "鐢甸晙" + }, + { + "filedName": "id", + "outname": "鐗╂枡缂栫爜", + "filedValue": "0201040133" + }, + { + "filedName": "createtime", + "outname": "鍒涘缓鏃堕棿", + "filedValue": "2022-12-23 17:12:50.635" + }, + { + "filedName": "creator", + "outname": "鍒涘缓浜�", + "filedValue": "weidy(榄忓ぇ鍕�)" + }, + { + "filedName": "xwlwwmc", + "outname": "鐗╁搧澶栨枃鍚嶇О" + }, + { + "filedName": "xxndj", + "outname": "鎬ц兘绛夌骇" + }, + { + "filedName": "xzjmc", + "outname": "瀛愪欢鍚嶇О" + }, + { + "filedName": "beizhushuoming", + "outname": "澶囨敞璇存槑" + }, + { + "filedName": "revisionvalue", + "outname": "鐗堟湰", + "filedValue": "1" + }, + { + "filedName": "name", + "outname": "鐗╁搧涓枃鍚嶇О", + "filedValue": "鍗婂渾澶磋灪閽�1" + }, + { + "filedName": "xfjjstj", + "outname": "闄勫姞鎶�鏈潯浠�" + }, + { + "filedName": "xbxkxs", + "outname": "淇濋櫓瀛斿瀷寮�", + "filedValue": "鏃�" + }, + { + "filedName": "lastmodifytime", + "outname": "鏈�鍚庝慨鏀规椂闂�", + "filedValue": "2022-12-23 17:12:50.635" + }, + { + "filedName": "zhiliangbz", + "outname": "鏍囧噯鍙�", + "filedValue": "HB1-2431-M4*512" + }, + { + "filedName": "materialclassify", + "outname": "鎵�灞炲垎绫讳唬鍙�", + "filedValue": "020104" + }, + { + "filedName": "lcstatus", + "outname": "鐘舵��", + "filedValue": "Released" + } + ] + } + } +} \ No newline at end of file diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json new file mode 100644 index 0000000..18f7d87 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json @@ -0,0 +1,10 @@ +{ + "data": { + "object": { + "code": "0201040133", + "oid": "0000001", + "erroid": "0", + "msg": "娴嬭瘯鎴愬姛" + } + } +} \ No newline at end of file diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java index 139f753..e07d7a3 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java @@ -1,14 +1,14 @@ package com.vci.ubcs.code.dto.datapush.result; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamImplicit; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; import java.util.List; -//@XStreamAlias("data") +@XStreamAlias("data") public class ResultNodeDataDTO { - //@XStreamImplicit + @XStreamImplicit private List<ResultNodeObjectDTO> object; public List<ResultNodeObjectDTO> getObject() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java index 5a4bf15..ecbe6cc 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java @@ -1,29 +1,29 @@ package com.vci.ubcs.code.dto.datapush.result; -//import com.thoughtworks.xstream.annotations.XStreamAlias; -//import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -//@XStreamAlias("object") +@XStreamAlias("object") public class ResultNodeObjectDTO { /*** * 鏁版嵁缂栫爜 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String code; /*** * 鏁版嵁oid */ - //@XStreamAsAttribute + @XStreamAsAttribute private String oid; /*** * 閿欒鏍囪瘑 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String erroid; /*** * 閿欒淇℃伅 */ - //@XStreamAsAttribute + @XStreamAsAttribute private String msg; public String getCode() { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java index 393a0ee..55454d4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java @@ -286,7 +286,7 @@ /*** * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ */ - @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") + @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼(鐘舵�侊紝鍥炴敹),5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") private String pushType; /*** * 鎺ㄩ�佺被鍨嬫樉绀哄�� diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java index ec137bf..cd2b427 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTreeVO.java @@ -29,5 +29,7 @@ private String type; + private Integer level; + private List<BtmTreeVO> childList; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java index 6d792ed..e529686 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java @@ -8,13 +8,37 @@ @VciEnum(name = MdmEnumIdConstant.SYS_INTEGRATION_PUSH_TYPE,text = "绯荤粺鎺ュ彛鎺ㄩ�佹柟寮�",description = "") public enum sysIntegrationPushTypeEnum implements BaseEnum { /** - * 鍒嗙被鎺ㄩ�佹柟寮� + * 鏁版嵁鎺ㄩ�� */ - JSON("1","鏁版嵁鎺ㄩ��"), + PUSHTYPE_DATA("1","鏁版嵁鎺ㄩ��"), /** - * Xml鏍煎紡 + * 鍒嗙被鎺ㄩ�� */ - XML("2","鍒嗙被鎺ㄩ��"); + PUSHTYPE_CLASSIFY("2","鍒嗙被鎺ㄩ��"), + /*** + * 缂栫爜鐢宠 + */ + ACCPET_APPCODE("3","缂栫爜鐢宠"), + + /*** + * 缂栫爜缁存姢 + */ + ACCPET_EDITCODE("4","缂栫爜缁存姢"), + + + /*** + * 鍒嗙被鏌ヨ + */ + ACCPET_QUERYCLAFILY("5","鍒嗙被鏌ヨ"), + /*** + * 鍚紪鐮佽鍒欑殑鍒嗙被鏌ヨ + */ + ACCPET_QUERYCLAFILYRULE("6","鍚紪鐮佽鍒欑殑鍒嗙被鏌ヨ"), + + /*** + * 鏁版嵁鏌ヨ + */ + ACCPET_QUERYDATA("7","鏁版嵁鏌ヨ"); /** * 鏋氫妇鐨勫�� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java index 91d1f4f..54044fe 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java @@ -2,19 +2,44 @@ import com.alibaba.cloud.commons.lang.StringUtils; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; +import com.vci.ubcs.code.constant.MdmDuckingConstant; +import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeJosnDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeObjectDTO; +import com.vci.ubcs.code.dto.datapush.data.NodeProDTO; +import com.vci.ubcs.code.dto.datapush.data.NodedataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.service.*; -import com.vci.ubcs.starter.web.constant.QueryOptionConstant; +import com.vci.ubcs.code.util.HttpUtils; +import com.vci.ubcs.code.util.WsErpClientUtil; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; +import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; +import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; -import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; import com.vci.ubcs.starter.web.util.WebUtil; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.annotation.Resource; import java.util.*; @@ -32,10 +57,15 @@ @Service @Slf4j public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService { + @Value("${dataSyncPush.dataParamName:xmlData}") + public String DATA_PARAM_NAME; + @Resource - private IDockingSystemService dockingSystemService; + private MdmEngineService mdmEngineServiceI; + @Resource + private IDockingLogeService dockingLogeService; @Resource private IDockingDataService dockingDataService; @Resource @@ -44,26 +74,78 @@ private IDockingSystemConfigService dockingSystemConfigService; @Resource private ICodeClassifyService codeClassifyService; + /*** + * resdis缂撳瓨鏈嶅姟 + */ + @Resource + private BladeRedis bladeRedis; + @Resource + private IDockingSysIntParamService dockingSysIntParamService; + @Resource + private IDockingSysIntHeaderService dockingSysIntHeaderService; + + + @Override public void DockingDataSyncScheduing() { -// insertCache2(); + // insertCache2(); initPushDataTaks(1); - //sendpushDataForService(); + sendpushDataForService(); } + /*** + * + */ @Override public void DockingClassSyncScheduing() { - + initPushDataTaks(2);//鍒嗙被鎺ㄩ�� + sendpushClsfForService(); } + /*** + * 鎵嬪姩鍚屾 + * @param oids + * @return + */ + @Transactional(rollbackFor = Throwable.class) @Override public R sendData(String oids) { - - - - return null; + VciBaseUtil.alertNotNull(oids,"绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁瀵硅薄",oids,"绯荤粺闆嗘垚鍩虹淇℃伅鐨勪富閿�"); + List<String> dockingTaskOidList=new ArrayList<>(); + dockingTaskOidList= VciBaseUtil.str2List(oids); + List<DockingTask> newDockingTasks= this.dockingTaskService.listByIds(dockingTaskOidList); + Map<String,List<DockingTask>> typeDockingTaskMap=new HashMap<>(); + newDockingTasks.stream().forEach(newDockingTaskDO->{ + String btmId=newDockingTaskDO.getBtmId(); + if(btmId.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ + List<DockingTask> dockingTaskList= typeDockingTaskMap.get(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + if(CollectionUtils.isEmpty(dockingTaskList)){ + dockingTaskList=new ArrayList<>(); + } + dockingTaskList.add(newDockingTaskDO); + typeDockingTaskMap.put(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT),dockingTaskList); + }else{ + List<DockingTask> dockingTaskDOList= typeDockingTaskMap.get("data"); + if(CollectionUtils.isEmpty(dockingTaskDOList)){ + dockingTaskDOList=new ArrayList<>(); + } + dockingTaskDOList.add(newDockingTaskDO); + typeDockingTaskMap.put("data",dockingTaskDOList); + } + }); + typeDockingTaskMap.keySet().forEach(type->{ + List<DockingTask> DockingTaskList=typeDockingTaskMap.get(type); + if(!CollectionUtils.isEmpty(DockingTaskList)){ + if(type.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ + this.sendpushClsfForService(DockingTaskList); + }else{ + this.sendpushDataForService(DockingTaskList); + } + } + }); + return R.success("鎵嬪姩鎺ㄩ�佸畬鎴�,璇锋牳瀵规槸鍚︽帹閫佹垚鍔�"); } @@ -72,7 +154,7 @@ * @param type */ private void initPushDataTaks(int type){ - //initSysadmin(); + initSysadmin(); List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigService.list( Wrappers.<DockingSystemConfig>query().lambda().eq(DockingSystemConfig::getUsedFlag,"true") @@ -172,6 +254,337 @@ } } + /*** + * 鍙戦�佸垎绫绘暟鎹� + */ + private void sendpushClsfForService(List<DockingTask> dockingTaskList){ + //姣忎釜task渚濇鎵ц鎺ㄩ�� + for (DockingTask dockingTask:dockingTaskList){ + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + String paramString=""; + String sendString=""; + String backString=""; + //鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType + String systeminfooid = dockingTask.getSysInfoOid();//sysininfo 鐨刼id + try { + //鏌ヨ瑕佹帹閫佺殑鏁版嵁 + String btmoid = dockingTask.getBtmOid();//鏁版嵁btmid + JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO(); + CodeClassify codeClassify=codeClassifyService.getById(btmoid); + List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>(); + NodeClassifyDTO nodeClassifyDTO=new NodeClassifyDTO(); + nodeClassifyDTO.setClassCode(codeClassify.getId());//鍒嗙被浠e彿 + nodeClassifyDTO.setDescription(codeClassify.getDescription());//鍒嗙被鎻忚堪 + nodeClassifyDTO.setFullPathName(codeClassify.getPath());//鍏ㄨ矾寰� + nodeClassifyDTO.setLcStatus(codeClassify.getLcStatus());//鐘舵�� + // CodeClassifyDO parentClassDo=codeClassifyDaoI.selectByPrimaryKey(codeClassifyDO.getParentCodeClassifyOid()); + nodeClassifyDTO.setPid(codeClassify.getParentCodeClassifyOid());//鐖秈d鑺傜偣 + nodeClassifyDTO.setId(codeClassify.getOid());//鍒嗙被oid + nodeClassifyDTO.setName(codeClassify.getName());//鍒嗙被鍚嶇О + nodeClassifyDTOList.add(nodeClassifyDTO); + NodeLibraryDTO nodeLibraryDTO=new NodeLibraryDTO(); + CodeClassifyVO rootClassify=codeClassifyService.getTopClassifyVO(btmoid); + nodeLibraryDTO.setClassify(nodeClassifyDTOList); + nodeLibraryDTO.setId(rootClassify.getOid()); + nodeLibraryDTO.setName(rootClassify.getName()); + nodeLibraryDTO.setClassCode(rootClassify.getId()); + NodeDataDTO nodeDataDTO=new NodeDataDTO(); + nodeDataDTO.setLibrary(nodeLibraryDTO); + jsonRootDataDTO.setData(nodeDataDTO); + + //鏌ヨ鎺ㄩ�佹帴鍙e弬鏁� + DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid); + String paramType = dockingSystemConfig.getParamType();//xml/json + if(paramType.equals(DATATYPE_JSON)){ + Object object = JSONObject.toJSON(jsonRootDataDTO); + sendString = object.toString(); + }else{ + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodeDataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString,dockingSystemConfig,dockingTask); + }catch (Throwable e){ + e.printStackTrace(); + }finally { + //姣忎竴涓猼ask涓�涓簨鐗� + } + } + } + /*** + * 鍙戦�佺紪鐮佷富鏁版嵁 + */ + private void sendpushDataForService (List<DockingTask> dockingTaskS){ + + //姣忎釜task渚濇鎵ц鎺ㄩ�� + for (DockingTask dockingTask:dockingTaskS){ + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + String paramString=""; + String sendString=""; + String backString=""; + try { + //鏌ヨ绯荤粺鎺ュ彛淇℃伅,ip method,dataType + String systeminfooid = dockingTask.getSysInfoOid();//sysininfo 鐨刼id + String classifyoid = dockingTask.getClassifyOid(); + //鏌ヨ瑕佹帹閫佺殑鏁版嵁 + String btmoid = dockingTask.getBtmOid();//鏁版嵁btmid + //琛ㄧず鏄富鏁版嵁 + CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid); + R<List<Map<String, String>>> r = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid()); + List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes(); + Map<String/**鑻辨枃鍚嶇О**/, String/**涓枃鍚嶇О**/> attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2)); + Map<String, String> data = new HashMap<>(); + if (r == null) { + JSONObject josni = bladeRedis.get(DOCKING_CACHE2_DELETE + btmoid); + data = (Map) josni; + } else { + data = r.getData().get(0); + } + List<NodeProDTO> nodeProDTOS = new ArrayList<>(); + Map<String, String> finalData = data; + attrIdNameMap.keySet().forEach(field -> { + String outName = attrIdNameMap.get(field); + if (finalData.containsKey(field)) { + String Value = finalData.get(field); + NodeProDTO nodeProDTO = new NodeProDTO(); + nodeProDTO.setFiledName(field); + nodeProDTO.setOutname(outName); + nodeProDTO.setFiledValue(Value); + nodeProDTOS.add(nodeProDTO); + } + }); + + String[] classCodeLeves = dockingTask.getClassifyId().split(","); + NodeJosnDTO nodeJosnDTO = new NodeJosnDTO(); + NodedataDTO nodeDataDTO = new NodedataDTO(); + NodeObjectDTO nodeObjectDTO = new NodeObjectDTO(); + nodeObjectDTO.setCode(dockingTask.getId());//璁剧疆缂栫爜 + nodeObjectDTO.setClassCode(classCodeLeves[0]); + nodeObjectDTO.setStatus(data.get("lcstatus")); + nodeObjectDTO.setLibrary(classCodeLeves[classCodeLeves.length - 1]); + nodeObjectDTO.setPro(nodeProDTOS); + List<NodeObjectDTO> nodeObjectDTOS = new ArrayList<>(); + nodeObjectDTOS.add(nodeObjectDTO); + nodeDataDTO.setObject(nodeObjectDTOS); + nodeJosnDTO.setData(nodeDataDTO); + //鏌ヨ鎺ㄩ�佹帴鍙e弬鏁� + DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid); + String paramType = dockingSystemConfig.getParamType();//xml/json + if (paramType.equals(DATATYPE_JSON)) { + Object object = JSONObject.toJSON(nodeJosnDTO); + sendString = object.toString(); + } else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodedataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString,dockingSystemConfig, dockingTask); + }catch (Throwable e){ + e.printStackTrace(); + }finally { + } + } + } + /*** + * 璋冪敤鎺ュ彛 + * @param sendString + * @param dockingSystemConfig + * @param dockingTask + * @throws Throwable + */ + private void callInterface(String sendString , DockingSystemConfig dockingSystemConfig,DockingTask dockingTask) throws Throwable{ + String paramString = ""; + + String backString = ""; + String msg=""; + String url = dockingSystemConfig.getRequestUrl();//url + List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); + try { + boolean usedFlag= dockingSystemConfig.getUsedFlag().equals("true")?true:false; + if(!usedFlag){ + throw new Throwable("鎺ュ彛宸茬粡鍋滅敤锛�"); + } + String type = dockingSystemConfig.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba + String paramType = dockingSystemConfig.getParamType();//xml/json + String returnType = dockingSystemConfig.getReturnType();//xml/json + String requestmethod= dockingSystemConfig.getRequestMethod(); + String interfaceFunction = dockingSystemConfig.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕 + String namespace = dockingSystemConfig.getNamespace();//namespace + String soapaction = dockingSystemConfig.getSoapAction();//soapaction + String targName = dockingSystemConfig.getTargetName();//targName + String cxfaxis = dockingSystemConfig.getCxfAxis();//webservice鏄痗xf/axis + //鏌ヨparam + List<DockingSysIntParam> dockingSysIntParamList = dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,dockingSystemConfig.getOid())); + //鏌ヨheader + List<DockingSysIntHeader> dockingSysIntHeaderList = dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,dockingSystemConfig.getOid())); + if(type.equals(URLTYPE_HTTP)) { + if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰 + String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; + //鎷兼帴param + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + sendurl = sendurl + "&" + dockingSysIntParam.getParamKey() + "=" + dockingSysIntParam.getParamValue(); + } + paramString = sendurl; + backString = HttpUtils.get(sendurl); + } else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); + } + params.add(DATA_PARAM_NAME,sendString); + paramString = params.toString(); + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { + headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); + } + backString = HttpUtils.post(url, params, headers); + } + if(backString.startsWith("\"")){ + backString=backString.substring(backString.indexOf("\"")+1); + } + if(backString.endsWith("\"")){ + backString=backString.substring(0,backString.lastIndexOf("\"")); + } + if(backString.contains("\n")){ + String res="\n"; + backString= backString.replaceAll(res,""); + } + if(backString.contains("\\")){ + String res="\\\\\""; + backString= backString.replaceAll(res,"\"").trim(); + } + }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) { + params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue()); + } + + paramString = sendString; + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { + headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); + } + backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000); + + } else {//corba鎺ュ彛 + //paramString=sendString; + // backString = jacorbClient.getBOFactoryService().sendCode(sendString); + } + + ResultJsonDTO resultJsonDTO = new ResultJsonDTO(); + if(returnType.equals(DATATYPE_JSON)){ + resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class); + }else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(ResultNodeDataDTO.class); + xStream.autodetectAnnotations(true); + ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString); + resultJsonDTO.setData(resultNodeDataDTO); + } + ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); + resultNodeObjectDTOS=resultNodeDataDTO.getObject(); + + }catch (Throwable e){ + msg="璋冪敤鎺ュ彛澶辫触:"+e.getMessage(); + e.printStackTrace(); + log.error("璋冪敤鎺ュ彛澶辫触:"+e); + // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); + ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); + resultNodeObjectDTO.setErroid("1"); + resultNodeObjectDTO.setMsg(msg); + resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId()); + resultNodeObjectDTO.setOid(dockingTask.getBtmOid()); + resultNodeObjectDTOS.add(resultNodeObjectDTO); + }finally { + boolean isSend = false; + for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ + String erroid = resultNodeObjectDTO.getErroid(); + msg = resultNodeObjectDTO.getMsg(); + if("0".equals(erroid)){ + isSend = true; + }else if("1".equals(erroid)){ + isSend=false; + }else{ + isSend=false; + } + DockingLog dockingLogeDO = new DockingLog(); + String oid=VciBaseUtil.getPk(); + dockingLogeDO.setOid(oid); + dockingLogeDO.setSystemCode(dockingTask.getSystemCode()); + dockingLogeDO.setSystemName(dockingTask.getSystemName()); + dockingLogeDO.setSystemOid(dockingTask.getSystemOid()); + dockingLogeDO.setClassifyOid(dockingTask.getClassifyOid()); + dockingLogeDO.setClassifyId(dockingTask.getClassifyId()); + dockingLogeDO.setClassifyName(dockingTask.getClassifyName()); + dockingLogeDO.setId(dockingTask.getId()); + dockingLogeDO.setUniqueCode(dockingTask.getUniqueCode()); + dockingLogeDO.setParamString(paramString); + dockingLogeDO.setReturnString(backString); + dockingLogeDO.setInterfaceStatus(isSend?"true":"false"); + dockingLogeDO.setType(DATA_LOGE_OUT); + dockingLogeDO.setMsg(msg); + log.error("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingTask.getSystemCode()+",systemname:"+dockingTask.getSystemName()+",url:"+url+",param:"+paramString+",e:"+msg); + dockingLogeService.save(dockingLogeDO); + } + //鍏ㄩ兘鎺ユ敹鎴愬姛鐨勬儏鍐典笅,淇敼dockingtask sendflag涓哄凡鍙戦�� + if(isSend) { + dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_TRUE); + dockingTaskService.updateById(dockingTask); + } + } + } + /*** + * 鏌ヨ闇�瑕侀泦鎴愮殑涓氬姟鏁版嵁浠诲姟 + */ + private void sendpushDataForService (){ + initSysadmin(); + //鏌ヨ鍝簺浠诲姟杩樻病鏈夋墽琛屽畬鎴� + //VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); + //queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); + // queryWrapper.addQueryMap("btmId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)) + ")"); + + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery(); + queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.notIn(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper); + sendpushDataForService(dockingTaskDOS); + } + + /*** + * 鏌ヨ闇�瑕侀泦鎴愮殑鐖跺垎绫讳换鍔� + */ + private void sendpushClsfForService(){ + initSysadmin(); + /* //鏌ヨ鍝簺浠诲姟杩樻病鏈夋墽琛屽畬鎴� + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); + queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.addQueryMap("btmId",DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)); + List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper);*/ + + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery(); + queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE); + queryWrapper.eq(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); + List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper); + sendpushClsfForService(dockingTaskDOS); + } + public void initSysadmin(){ + SessionInfo sessionInfo = new SessionInfo(); + sessionInfo.setUserId("sysAdmin"); + sessionInfo.setUserName("绯荤粺绠$悊鍛�"); + sessionInfo.setIp(WebUtil.getLocalIp()); + sessionInfo.setUserOid("193C026F-7DB8-27B4-F383-4E8BE083FB07"); + sessionInfo.setUserSecret(UserSecretEnum.PRIVACY.getValue()+""); + WebUtil.setSessionInfo(sessionInfo); + } /** * dockingdata鏍规嵁oid淇敼sendflag * @param oid diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index a99abee..ebda882 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -2,15 +2,19 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; +import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; +import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; +import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; import com.vci.ubcs.code.util.ClientBusinessObject; @@ -52,6 +56,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; +import static com.vci.ubcs.code.constant.MdmDuckingConstant.DOCKING_DEFAULT_CLASSIFY; import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX; import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; @@ -101,6 +106,9 @@ @Resource private MdmIOService mdmIOService; + + @Resource + private IDockingSystemConfigService dockingSystemConfigService; @Autowired private ICodeClassifyValueService codeClassifyValueService; @@ -156,6 +164,12 @@ } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; @@ -323,6 +337,15 @@ } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); + + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } + UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; @@ -474,6 +497,14 @@ String libId= libraryVO.getId(); List<String> classifyIdList= libraryVO.getClassifyid(); List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } + //杩欐槸璐﹀彿淇℃伅 //杩欐槸璐﹀彿淇℃伅 if(userVo!=null) { @@ -635,7 +666,12 @@ msg = "鎺ュ彛鍙傛暟锛歭ibrary 涓簄ull"; throw new Throwable(msg); } - + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } //鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library)); @@ -820,6 +856,13 @@ String libId= libraryVO.getId(); List<String> classifyIdList= libraryVO.getClassifyid(); List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>(); + + //鏍¢獙鏄惁閰嶇疆 + boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getValue()); + if(!checkPass){ + errorid="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+systemId+"銆�,"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } //杩欐槸璐﹀彿淇℃伅 //杩欐槸璐﹀彿淇℃伅 if(userVo!=null) { @@ -1303,5 +1346,20 @@ return resultStr; } - + /*** + * 鏍¢獙鏄惁鍋氫簡閰嶇疆 + * @param systemId,绯荤粺鏍囪瘑 + * @param type:鎺ュ彛绫诲瀷 + * @param operationType:鎺ュ彛鎿嶄綔绫诲瀷 + * @return + */ + private boolean checkIspass(String systemId,String type,String operationType){ + //鏍规嵁绫诲瀷鍘绘煡璇㈤渶瑕侀泦鎴愮殑鍒嗙被鎴栬�呮暟鎹� + LambdaQueryWrapper<DockingSystemConfig> queryWrapper = Wrappers.<DockingSystemConfig>lambdaQuery(); + queryWrapper.eq(DockingSystemConfig::getUsedFlag, MdmDuckingConstant.SEND_FLAG_TRUE); + queryWrapper.eq(DockingSystemConfig::getSysBaseId,systemId); + queryWrapper.eq(DockingSystemConfig::getDataFlowType,type); + queryWrapper.eq(DockingSystemConfig::getPushType,operationType); + return dockingSystemConfigService.count(queryWrapper)>0?true:false; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java index 2a64160..23d8bde 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java @@ -10,7 +10,7 @@ import com.vci.ubcs.omd.constant.BtmTypeConstant; import com.vci.ubcs.omd.constant.BtmTypeFieldConstant; import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO; -import com.vci.ubcs.omd.entity.Attribute; +import com.vci.ubcs.omd.entity.*; import com.vci.ubcs.omd.repeater.DomainRepeater; import com.vci.ubcs.omd.service.*; import com.vci.ubcs.omd.vo.*; @@ -19,9 +19,6 @@ import com.vci.ubcs.starter.web.constant.OmdRegExpConstant; import com.vci.ubcs.omd.dto.BtmTypeDTO; import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; -import com.vci.ubcs.omd.entity.BtmType; -import com.vci.ubcs.omd.entity.BtmTypeAttribute; -import com.vci.ubcs.omd.entity.ModifyAttributeInfo; import com.vci.ubcs.omd.mapper.BtmTypeMapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; @@ -85,6 +82,12 @@ */ @Autowired private IAttributeService attributeService; + + /** + * 鐢熷懡鍛ㄦ湡鐨勬湇鍔� + */ + @Autowired + private ILifeCycleService lifeCycleService; /** * 琛ㄥ悕鍓嶇紑 @@ -617,13 +620,14 @@ if (btmTypeDTO.isLifeCycleFlag()){ // 闇�瑕佹帶鍒剁敓鍛藉懆鏈� //妫�鏌ヤ娇鐢ㄧ殑鐢熷懡鍛ㄦ湡鏄惁瀛樺湪 -// if (StringUtils.isNotBlank(btmTypeDTO.getLifeCycleId()) -// && !FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btmTypeDTO.getLifeCycleId())) { -// if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getLifeCycleId())) { -// throw new VciBaseException("鐢熷懡鍛ㄦ湡{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", -// new Object[]{btmTypeDTO.getLifeCycleId(), btmTypeDTO.getLifeCycleName()}); -// } -// } + if (StringUtils.isNotBlank(btmTypeDTO.getLifeCycleId()) +// && !FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE.equalsIgnoreCase(btmTypeDTO.getLifeCycleId()) + ) { + if (lifeCycleService.getOne(Wrappers.<LifeCycleRule>query().lambda().eq(LifeCycleRule::getId,btmTypeDTO.getLifeCycleId())) == null) { + throw new VciBaseException("鐢熷懡鍛ㄦ湡{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", + new Object[]{btmTypeDTO.getLifeCycleId(), btmTypeDTO.getLifeCycleName()}); + } + } // if (StringUtils.isNotBlank(btmTypeDTO.getSubLifeCycleId())) { // if (lifeCycleServiceI.checkLifeCycleExist(btmTypeDTO.getSubLifeCycleId())) { // throw new VciBaseException("澶囩敤鐢熷懡鍛ㄦ湡{0}[{1}]涓叾涓湁鏌愪簺鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", @@ -655,7 +659,10 @@ try { Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel)); List<BtmTypeVO> vos = BtmTypeWrapper.build().listEntityVO(baseMapper.selectAll()); - Map<String, List<BtmTypeVO>> domainMap = vos.stream().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getBizDomain)); + if (CollectionUtils.isEmpty(vos)){ + return new ArrayList<>(); + } + Map<String, List<BtmTypeVO>> domainMap = Optional.ofNullable(vos).orElseGet(ArrayList::new).stream().sorted(Comparator.comparing(BtmTypeVO::getId)).collect(Collectors.groupingBy(BtmTypeVO::getBizDomain)); List<BtmTreeVO> treeList = new ArrayList<>(); domainMap.forEach((k,v)-> { if (domain.containsKey(k)){ @@ -664,11 +671,13 @@ parent.setName(label); parent.setLabel(label); parent.setId(k); + parent.setLevel(1); parent.setChildList(v.stream().map(s -> { BtmTreeVO child = new BtmTreeVO(); child.setOid(s.getOid()); child.setName(s.getName()); child.setId(s.getId()); + child.setLevel(2); child.setLabel(s.getId() + (s.getName() == null ? "" : "(" + s.getName() + ")")); return child; }).collect(Collectors.toList())); diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java index e2aa9f1..77ee224 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java @@ -877,7 +877,10 @@ try { Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel)); List<LinkTypeVO> vos = LinkTypeWrapper.build().listEntityVO(baseMapper.selectAll(), null); - Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getBizDomain)); + if (CollectionUtils.isEmpty(vos)){ + return new ArrayList<>(); + } + Map<String, List<LinkTypeVO>> domainMap = Optional.ofNullable(vos).orElseGet(ArrayList::new).stream().collect(Collectors.groupingBy(LinkTypeVO::getBizDomain)); List<BtmTreeVO> treeList = new ArrayList<>(); domainMap.forEach((k,v)-> { if (domain.containsKey(k)){ @@ -885,6 +888,7 @@ BtmTreeVO parent = new BtmTreeVO(); parent.setName(label); parent.setId(k); + parent.setLevel(1); parent.setLabel(label); parent.setChildList(v.stream().map(s -> { BtmTreeVO child = new BtmTreeVO(); @@ -892,6 +896,7 @@ child.setLabel(s.getId() + (s.getName() == null ? "" : "(" + s.getName() + ")")); child.setId(s.getId()); child.setName(s.getName()); + child.setLevel(2); return child; }).collect(Collectors.toList())); treeList.add(parent); diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java index 1acd514..efef233 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/LinkTypeWrapper.java @@ -49,7 +49,7 @@ }); vo.setFromBtmTypes(fromBtm); vo.setToBtmTypes(toBtm); - vo.setTableName(vo.getTableName().toUpperCase(Locale.ROOT)); + vo.setTableName(Optional.ofNullable(vo.getTableName()).orElseGet(String::new).toUpperCase(Locale.ROOT)); // 鏋氫妇澶勭悊 vo.setDomainText(NewAppConstantEnum.getTextByName(vo.getBizDomain())); return vo; diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml index 5dd7cba..661da9b 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/LinkTypeMapper.xml @@ -19,13 +19,13 @@ <result column="last_modifier" jdbcType="VARCHAR" property="lastModifier" /> <result column="last_modify_time" jdbcType="TIMESTAMP" property="lastModifyTime" /> <result column="ts" jdbcType="TIMESTAMP" property="ts" /> - <result column="biz-domain" jdbcType="VARCHAR" property="bizDomain" /> + <result column="biz_domain" jdbcType="VARCHAR" property="bizDomain" /> </resultMap> <sql id="base_query_column"> oid, id, name, description, shape, impl_class, from_btm_type, from_btm_type_name, to_btm_type, to_btm_type_name, btm_name, owner, creator, create_time, last_modifier, last_modify_time, - ts, biz-domain + ts, biz_domain </sql> <sql id="tableName"> -- Gitblit v1.9.3