From 8c7dcc2604a23f6036e359190f153b7fce880466 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期五, 09 六月 2023 18:19:29 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java | 7 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java | 9 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java | 6 Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 62 + Source/UBCS-WEB/src/components/Crud/Crud.vue | 89 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java | 8 Source/UBCS-WEB/src/api/GetItem.js | 2 Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue | 1 Source/UBCS-WEB/vue.config.js | 9 Source/UBCS-WEB/src/api/template/templateAttr.js | 10 Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml | 9 Source/UBCS-WEB/src/components/Master/MasterTree.vue | 54 + Source/UBCS/ubcs-service/ubcs-omd/pom.xml | 6 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 65 ++ Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java | 10 Source/UBCS/ubcs-service/ubcs-code/pom.xml | 12 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java | 53 + Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml | 8 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java | 2 Source/UBCS-WEB/src/views/MasterData/items.vue | 15 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java | 110 ++++ Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 56 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 34 + Source/UBCS-WEB/src/views/modeling/classifyTree.vue | 30 - Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java | 20 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml | 40 + Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java | 10 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 199 +++++-- Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java | 5 Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue | 21 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 93 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java | 17 Source/UBCS-WEB/src/components/Tree/TemplatePro.vue | 4 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 8 Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 476 +++++++++++++--- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java | 15 37 files changed, 1,283 insertions(+), 296 deletions(-) diff --git a/Source/UBCS-WEB/src/api/GetItem.js b/Source/UBCS-WEB/src/api/GetItem.js index 91f6755..6f4b1ac 100644 --- a/Source/UBCS-WEB/src/api/GetItem.js +++ b/Source/UBCS-WEB/src/api/GetItem.js @@ -2,7 +2,7 @@ export const MasterTable =(params)=>{ return request({ - url: 'api/ubcs-code/ubcs-code//mdmEngineController/getUIInfoByClassifyOid', + url: 'api/ubcs-code/ubcs-code/mdmEngineController/getUIInfoByClassifyOid', method: 'get', params:{ ...params diff --git a/Source/UBCS-WEB/src/api/template/templateAttr.js b/Source/UBCS-WEB/src/api/template/templateAttr.js index 225cc20..d58256e 100644 --- a/Source/UBCS-WEB/src/api/template/templateAttr.js +++ b/Source/UBCS-WEB/src/api/template/templateAttr.js @@ -138,3 +138,13 @@ data:data }) } +//浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁 +export const AttrByBtm = (params) =>{ + return request({ + url:'/api/ubcs-code/codeClassifyTempAttrController/codeClassifyTemplateAttrByBtm', + method: 'get', + params:{ + ...params + } + }) +} diff --git a/Source/UBCS-WEB/src/components/Crud/Crud.vue b/Source/UBCS-WEB/src/components/Crud/Crud.vue index 6d66a84..c0be479 100644 --- a/Source/UBCS-WEB/src/components/Crud/Crud.vue +++ b/Source/UBCS-WEB/src/components/Crud/Crud.vue @@ -6,11 +6,10 @@ <FormTemplateDialog :visible.sync="addvisible" :type="add" - :templateOid="this.templateOids" - :codeClassifyOid="this.codeClassifyOids" + :templateOid="this.templateOid" + :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" - :rowOid="rowOid" > </FormTemplateDialog></el-button> <el-button size="small" type="primary" plain @click="editvisible=true">缂栬緫 @@ -18,7 +17,7 @@ :visible.sync="editvisible" :type="edit" :templateOid="this.templateOids" - :codeClassifyOid="this.codeClassifyOids" + :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :rowOid="rowOid" @@ -32,8 +31,9 @@ <el-button size="small" type="primary" plain>鍙戝竷</el-button> <el-button size="small" type="primary" plain>鏁版嵁鏇存敼</el-button> <el-button size="small" type="primary" plain>鍥炴敹</el-button> - <el-button size="small" type="primary" plain>瀵煎嚭 - <transfer filter-placeholder="璇疯緭鍏ユ嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" ></transfer> + <el-button size="small" type="primary" plain @click="openD">瀵煎嚭 + <integration-transfer :visible.sync="dialogPush" :data="transferData" + :props="transferProps" @save="handelTransferSave"></integration-transfer> </el-button> <el-button size="small" type="primary" plain @click="findvisible=true">鏌ヨ <advancedQuery :visible.sync="findvisible" :options="this.options"></advancedQuery> @@ -88,7 +88,13 @@ </template> <script> import {MasterTable, TableData} from "@/api/GetItem"; +import {listCodeAttributeByClassId} from '@/api/integration/integration.js' +import integrationTransfer from '@/views/integration/integrationTransfer' +import pinyin from "js-pinyin"; export default { + components: { + integrationTransfer + }, name: "Crud.vue", props:{ page:{ @@ -108,17 +114,28 @@ tableDataArray:{ type:Array, default:[] + }, + total:{ + type:String, + default:"" + }, + tableHeadDataFateher:{ + type:Array, + default:[] } }, data() { return { + transferData:[], + transferProps: { + key: 'oid', + label: 'name' + }, templateOid:"", addvisible:false, editvisible:false, findvisible:false, - templateOids: "78B8C7C5-A042-0B96-FE6D-65421451782A", - codeClassifyOids: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", - codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", + dialogPush:false, rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9', disabledProp: ["id"], editingRow:null, @@ -140,15 +157,16 @@ }, tableData:[], tableHeadData:[], + tableHeadDataFateher:[], items:{}, - aaa:"" + seniorQueryColumns:[] } }, computed:{ }, created() { - this.CrudHeaderRend(); - this.$emit('tableData',this.tableData) + // this.CrudHeaderRend(); + // this.tableHeadHandle() }, mounted() { @@ -167,11 +185,33 @@ tableDataArray:{ handler(newval,oldval){ this.tableData=newval; - this.CrudRend() + // + } + }, + total:{ + handler(newval,oldval){ + this.page.total=newval; + } + }, + tableHeadData:{ + handler(newval,oldval){ + this.tableHeadDataFateher=newval } } }, methods: { + openD(){ + this.dialogPush=true; + this.getListCodeByClassId() + }, + async getListCodeByClassId() { + this.transferData = [] + const response = await listCodeAttributeByClassId({ codeClassifyId: this.codeClassifyOid }) + if (response.status === 200) { + const data = response.data.data + this.transferData = data + } + }, rend(){ this.tableData=this.tableHeadData }, @@ -179,16 +219,21 @@ this.page.pageSize=val this.$emit('pageSize',val) this.CrudRend() + console.log(this.tableData) }, handleCurrentChange(val){ this.page.currentPage=val this.$emit('currentPage',val) this.CrudRend() + console.log(val) + console.log(this.tableData) }, // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮 handleCellClick(row, column) { this.editingRow = row; this.editShow = column.property; + console.log(row) + this.rowOid=row.oid }, //鍒犻櫎 enumDeleteRow(row) { @@ -203,6 +248,21 @@ this.$nextTick(() => { this.$refs.crud.doLayout(); }); + }, + tableHeadHandle(){ + this.options=this.tableHeadDataFateher.tableDefineVO.seniorQueryColumns + this.List = this.tableHeadDataFateher.tableDefineVO.cols[0]; + this.List.forEach(item => { + let columnItem = { + label: item.title, + prop: item.field, + type: this.columnType[item.type], + sortable: item.sort, + width: item.minWidth + }; + this.option.column.push(columnItem); + this.option.column=this.tableHeadData; + }) }, //琛ㄦ牸澶存覆鏌� CrudHeaderRend() { @@ -225,6 +285,7 @@ this.option.column=this.tableHeadData; this.templateOid=res.data.tableDefineVO.oid this.$emit('templateOid',this.templateOid) + console.log(this.templateOid) }) }) } @@ -235,7 +296,7 @@ templateOid: this.templateOid, codeClassifyOid: this.codeClassifyOid, page: this.page.currentPage, - limit:this.page.pageSize, + limit: this.page.pageSize, }).then(res => { this.page.total = res.data.total; this.data = res.data.data; diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue index e6f5bd5..c24335f 100644 --- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue +++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue @@ -9,7 +9,7 @@ <script> import {getTreeList} from "@/api/MasterData/master"; import {mapMutations, mapState} from "vuex"; -import {TableData} from "@/api/GetItem"; +import {TableData,MasterTable} from "@/api/GetItem"; export default { name: "MasterTree", @@ -29,6 +29,8 @@ }, data(){ return{ + tableHeadDataFateher:[], + templateOids:"", tableDataArray:[], codeClassifyOid:"", coderuleoid:"", @@ -80,6 +82,7 @@ this.coderuleoid=res.data[0].attributes.coderuleoid; this.$emit("codeClassifyOid", this.codeClassifyOid ) this.$emit("coderuleoid", this.coderuleoid ) + this.TableHeadRends() }).catch(res=>{ console.log(res) }) @@ -97,23 +100,52 @@ } } }, - //鏍戠偣鍑讳簨浠� - nodeClick(data){ - this.nodeClickList = data; - console.log(this.currentPage,this.pageSize) + //琛ㄦ牸鍒锋柊 + TableRend(){ TableData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - page: this.pageSize, - limit:this.currentPage, + templateOid: this.templateOids, + codeClassifyOid: this.nodeClickList.oid, + page: this.currentPage, + limit: this.pageSize, }).then(res => { - console.log(res) // this.page.total = res.data.total; // this.data = res.data.data; this.tableDataArray=res.data.data; this.$emit('tableDataArray',this.tableDataArray) - console.log(this.tableDataArray) + this.$emit('total',res.data.total) }) + }, + //琛ㄦ牸澶撮儴 + TableHeadRend(){ + MasterTable({ + codeClassifyOid:this.nodeClickList.oid, + functionId: 5, + }).then(res=>{ + this.tableHeadDataFateher=res.data; + this.templateOids=res.data.tableDefineVO.oid + this.$emit("tableHeadDataFateher",this.tableHeadDataFateher) + console.log("123",res) + }) + }, + TableHeadRends(){ + MasterTable({ + codeClassifyOid:this.codeClassifyOid, + functionId: 5, + }).then(res=>{ + this.tableHeadDataFateher=res.data; + this.templateOids=res.data.tableDefineVO.oid + this.$emit("tableHeadDataFateher",this.tableHeadDataFateher) + console.log("123",res) + }) + }, + //鏍戠偣鍑讳簨浠� + nodeClick(data){ + this.nodeClickList = data; + this.TableHeadRend() + this.TableRend() + console.log('code',this.nodeClickList.oid) + console.log('teoid',this.templateOids) + console.log() } } } diff --git a/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue b/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue index 67047ed..0649477 100644 --- a/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue +++ b/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue @@ -2,7 +2,7 @@ <basic-container> <avue-tabs :option="Taboption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> - <attrCrud :ProData="ProData"></attrCrud> + <attrCrud :ProData="ProData" :crudOid="crudOid" :crudArray="crudArray" :Formlist="Formlist"></attrCrud> </span> <span v-else-if="type.prop==='tab2'">妯℃澘娴佺▼</span> <span v-else-if="type.prop==='tab3'">妯℃澘闃舵</span> @@ -13,7 +13,7 @@ <script> export default { name: "TemplatePro.vue", - props: ['ProData'], + props: ['ProData','crudOid','crudArray','Formlist'], data: function () { return { type: {}, diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue index 4121adf..9f9fca4 100644 --- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue +++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue @@ -1,10 +1,26 @@ <template> <avue-crud :data="ProData" :option="option" @sort-change="sortChange" @row-update="addUpdate" - @cell-click="handleRowClick"> + @cell-click="handleRowClick" @select="selectHandle"> <template slot="menuLeft"> - <el-button v-if="attrEditVisible == false" size="small" type="primary" @click="addVisible=true">锛� 娣诲姞 {{msg}}</el-button> + <el-button v-if="attrEditVisible == false" size="small" type="primary" @click="busineHandle">锛� 娣诲姞 {{msg}}</el-button> <el-dialog :visible.sync="addVisible" append-to-body title="浠庝笟鍔$被鍨嬩腑閫夋嫨灞炴��"> - <avue-crud :data="businessData" :option="businessOption"></avue-crud> + <avue-crud :data="businessData" :option="businessOption"> + <template slot="menuLeft"> + <div style="display: flex;"> + <el-select> + <el-option>灞炴�ц嫳鏂囧悕绉�</el-option> + <el-option>灞炴�т腑鏂囧悕绉�</el-option> + </el-select> + <el-input style="width: 300px;margin-left: 20px"></el-input> + <el-button size="small" style="margin-left: 10px">鏌ヨ</el-button> + </div> + + </template> + </avue-crud> + <div style="display: flex;justify-content: flex-end;margin-top: 15px"> + <el-button size="small" type="primary">淇濆瓨</el-button> + <el-button size="small" type="primary">鍙栨秷</el-button> + </div> </el-dialog> </template> <!-- 鍏ㄥ睆缂栬緫--> @@ -14,6 +30,12 @@ <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true"> <attrCrud></attrCrud> </el-dialog> + </template> +<!-- 缁勫悎瑙勫垯--> + <template slot="menuLeft"> + <el-button size="small" @click="isShowformulaEdit=true">缁勫悎瑙勫垯</el-button> + <formula-editor :visible="isShowformulaEdit" :systemVariableTableData="systemVariableTableData" :thisSceneTableData="thisSceneTableData"></formula-editor> + </template> <!-- 楠岃瘉瑙勫垯--> <template slot="menuLeft"> @@ -133,7 +155,7 @@ </template> <!-- 绾ц仈灞炴��--> <template slot="menuLeft"> - <el-button size="small" @click="CascadeVisible=true">绾ц仈灞炴��</el-button> + <el-button size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button> <el-dialog :visible.sync="CascadeVisible" append-to-body title="璇烽�夋嫨绾ц仈灞炴��"> <avue-crud ref="crud" :data="CascadeData" :option="CascadeOption" @row-click="CascaderowClick"> <template slot="radio" @@ -168,31 +190,115 @@ </template> <!-- 鍚屾鍒板叾浠栨ā鏉�--> <template slot="menuLeft"> - <el-button size="small">鍚屾鍒板叾浠栨ā鏉�</el-button> + <el-button size="small" style="margin-top: 10px">鍚屾鍒板叾浠栨ā鏉�</el-button> </template> </avue-crud> </template> <script> +import {AttrByBtm,gridCodeClassifyTemplateAttr} from '@/api/template/templateAttr' export default { name: "attrCrud .vue", - props: ['ProData'], + props: ['ProData','crudOid','crudArray','Formlist'], data() { return { + //琛ㄦ牸鍗曢�夋暟缁� + CrudSelect:[], + //琛ㄦ牸oid + CrudOid:"", + //鍦烘櫙鍙橀噺 + thisSceneTableData:[ + { + formula: "lcstatus", + desc: "鐘舵��", + }, + { + formula: "name", + desc: "闆嗗洟鐮�", + }, + { + formula: "materialname", + desc: "閮ㄩ棬鍚嶇О", + }, + { + formula: "parentcode", + desc: "涓婄骇閮ㄩ棬缂栧彿", + }, + { + formula: "parentname", + desc: "涓婄骇閮ㄩ棬鍚嶇О", + }, + { + formula: "description", + desc: "鎻忚堪", + }, + ], + // 绯荤粺鍙橀噺 + systemVariableTableData:[ + { + formula: "#CURRENTUSER.OID#", + desc: "褰撳墠鐢ㄦ埛鐨勪富閿�", + }, + { + formula:"#CURRENTUSER.ID", + desc:"褰撳墠鐢ㄦ埛鐨勮处鎴�" + }, + { + formula:"#CURRENTTIME#", + desc:"褰撳墠鏃堕棿" + }, + { + formula:"#CURRENTDATE#", + desc:"褰撳墠鏃ユ湡" + }, + { + formula:"#CURRENTDATETIME#", + desc:"褰撳墠鏃ユ湡鏃堕棿" + }, + { + formula:"#CURRENTUSER_NAME#", + desc:"褰撳墠鐢ㄦ埛鐨勫鍚�" + }, + { + formula:"#CURRENTUSER.SECRETGRADE#", + desc:"褰撳墠鐢ㄦ埛瀵嗙骇" + }, + { + formula:"#CURRENTUSER.IPSECRET#", + desc:"褰撳墠鐢ㄦ埛鐨処P瀵嗙骇" + }, + { + formula:"#CURRENTUSER.BUSINESSUNIT#", + desc:"褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�" + }, + { + formula:"#CURRENTUSER.BUSINESSUNITNAME#", + desc:"褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�" + }, + { + formula:"#CURRENTUSER.GROUPOID#", + desc:"褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�" + }, + { + formula:"#CURRENTUSER.GROUPNAME#", + desc:"褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�" + }, + { + formula:"#CURRENTUSER.EMAIL#", + desc:"褰撳墠鐢ㄦ埛閭欢鍦板潃" + }, + { + formula:"#CURRENTUSER.ROLENAME#", + desc:"褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉� " + }, + ], CascadeVisible: false, attrEditVisible: false, + isShowformulaEdit:false, // 绾ц仈鍗曢�� selectRow: '', // 绾ц仈data - CascadeData: [{ - id: 1, - name: '寮犱笁', - attrIn: '娴嬭瘯涓�' - }, { - id: 2, - name: '鏉庡洓', - attrIn: '娴嬭瘯浜�' - }], + CascadeData: [], // 绾ц仈option CascadeOption: { menu: false, @@ -208,18 +314,19 @@ }, { label: '灞炴�ц嫳鏂囩紪鍙�', - prop: 'nid' - }, { - label: '鎬у埆', + prop: 'id' + }, + { + label: '灞炴�т腑鏂囧悕绉�', prop: 'name' }, { label: '灞炴�у垎缁�', - prop: 'attrIn' + prop: 'attributeGroup' }, { label: '绫诲瀷', - prop: 'type' + prop: 'attributeDataTypeText' }, { label: '鍒楄〃瀹藉害', @@ -227,19 +334,63 @@ }, { label: '鍏抽敭灞炴��', - prop: 'keyattrflag' + prop: 'keyAttrFlag', + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] }, { label: '鏌ヨ灞炴��', - prop: 'queryattrflag' + prop: 'queryAttrFlag', + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] }, { label: '楂樼骇鏌ヨ灞炴��', - prop: 'seniorqueryattrflag' + prop: 'seniorQueryAttrFlag', + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] }, { label: '鐩镐技鏌ラ噸灞炴��', - prop: 'samerepeatattrflag' + prop: 'sameRepeatAttrFlag', + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] }, { label: '涓�缁寸爜', @@ -248,6 +399,170 @@ { label: '浜岀淮鐮�', prop: 'TwoDimensional' + }, + { + label: '蹇呰緭', + prop: 'requireFlag', + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] + }, + { + label: "琛ㄥ崟鏄剧ず", + prop: "formDisplayFlag", + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] + }, + { + label: "鍒楄〃鏄剧ず", + prop: "tableDisplayFlag", + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] + }, + { + label: "鍙", + prop: "readonlyFlag", + }, + { + label: "鍒楄〃鎺掑簭", + prop: "sortAttrFlag", + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] + }, + + { + label: "澶氳鏂囨湰", + prop: "textAreaFlag", + type:'text', + dicData:[ + { + label:"鏄�", + value:'true' + }, + { + label:"鍚�", + value:'false' + } + ] + }, + { + label: "榛樿鍊�", + prop: "defaultValue", + }, + { + label: "鍓嶇紑", + prop: "prefixValue", + }, + { + label: "鍚庣紑", + prop: "suffixValue", + }, + { + label: "缁勫悎瑙勫垯", + prop: "componentRule", + }, + { + label: "楠岃瘉瑙勫垯", + prop: "verifyRule", + }, + { + label: "鏃堕棿鏍煎紡", + prop: "codeDateFormat", + }, + { + label: "鍒嗙被娉ㄥ叆", + prop: "classifyInvokeLevel", + }, + { + label: "鏋氫妇娉ㄥ叆", + prop: "enumString", + }, + { + label: "绾ц仈灞炴��", + prop: "parentCode", + }, + { + label: "鍙傜収閰嶇疆", + prop: "referConfig", + }, + { + label: "绾ц仈鏌ヨ灞炴��", + prop: "parentQueryAttr", + }, + { + label: "閫夋嫨搴撴爣璇�", + prop: "libraryIdentification", + }, + { + label: "濉啓鎻愮ず", + prop: "explain", + }, + { + label: "琛ㄥ崟鏄剧ず鏍峰紡", + prop: "formDisplayStyle", + }, + { + label: "琛ㄦ牸鏄剧ず鏍峰紡", + prop: "tableDisplayStyle", + }, + { + label: "琛ㄥ崟瓒呴摼鎺�", + prop: "formHref", + }, + { + label: "琛ㄦ牸瓒呴摼鎺�", + prop: "tableHref", + }, + { + label: "琛ㄦ牸鏄剧ずjs", + prop: "tableDisplayJs", + }, + { + label: "闀垮害", + prop: "controlLength", + }, + { + label: "灏忔暟绮惧害", + prop: "precisionLength", + }, + { + label: "鍙栧�艰寖鍥�", + prop: "valueArea", }, ] }, @@ -359,90 +674,14 @@ bds: "娴嬭瘯涓�", shiyong: "娴嬭瘯涓�" }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - }, - { - bds: "娴嬭瘯浜�", - shiyong: "娴嬭瘯浜�" - } ], // 鏂板涓氬姟绫诲瀷 - businessData: [ - { - id: "娴嬭瘯涓�", - name: "娴嬭瘯涓�", - attributeLength: "娴嬭瘯涓�", - attrDataType: "娴嬭瘯涓�" - }, - { - id: "娴嬭瘯浜�", - name: "娴嬭瘯浜�", - attributeLength: "娴嬭瘯浜�", - attrDataType: "娴嬭瘯浜�" - }, - { - id: "娴嬭瘯涓�", - name: "娴嬭瘯涓�", - attributeLength: "娴嬭瘯涓�", - attrDataType: "娴嬭瘯涓�", - }, - { - id: "娴嬭瘯涓�", - name: "娴嬭瘯涓�", - attributeLength: "娴嬭瘯涓�", - attrDataType: "娴嬭瘯涓�", - } - ], + businessData: [], businessOption: { index: true, border: true, - addBtn: true, + addBtn: false, + menu:false, column: [ { label: "灞炴�ц嫳鏂囧悕绉�", @@ -522,6 +761,7 @@ index: true, border: true, editBtn: false, + selection:true, labelWidth: 110, cellBtn: true, cancelBtn: false, @@ -756,6 +996,36 @@ console.log(this.ProData) }, methods: { + // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁 + busineHandle(){ + if(this.crudArray.length<1){ + this.$message.error('璇烽�夋嫨涓�鏉℃ā鏉�') + }else { + this.addVisible=true; + AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res=>{ + this.businessData=res.data.data; + console.log(res.data) + }) + } + }, + // 绾ц仈灞炴�� + CascadeHandle(){ + if(this.CrudSelect.length >0){ + this.CascadeVisible=true; + gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, + 'conditionMap[oid_notequal]':this.CrudOid + }).then(res=>{ + this.CascadeData=res.data.data + }) + }else { + this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬�') + } + }, + //琛ㄦ牸鍗曢�� + selectHandle(selection,row){ + this.CrudOid=row.oid; + this.CrudSelect=selection + }, addsHandler(){ }, diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue index 5ff1791..e0a2f86 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue @@ -17,6 +17,7 @@ option: { submitBtn:false, emptyBtn:false, + column: [ { label: '涓婚搴�/鍒嗙被缂栧彿', diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 71747d3..13cd051 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -74,6 +74,7 @@ @row-del="CrudRowDel" @row-update="CrudRowUpdata" :before-close="beforeClose" + @select="selectHandle" > <template slot="menuLeft"> <el-button plain size="small" type="primary" @click="FindFormVisible = true;">鏌ヨ</el-button> @@ -168,7 +169,7 @@ </avue-crud> </basic-container> - <templatePro :ProData="this.ProData"></templatePro> + <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist"></templatePro> </span> </basic-container> </el-main> @@ -202,9 +203,44 @@ //浣跨敤inject鎺ユ敹鍙傛暟 //Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 //Treeform鍙充晶琛ㄥ崟閰嶇疆椤� - inject: ['crudTreeOption', "crudTreeData"], + inject: [, "crudTreeData"], data() { return { + //琛ㄦ牸option閰嶇疆椤� + crudTreeOption: { + index: true, + border: true, + height:180, + selection:true, + addBtn:this.addFlag, + column: [ + { + label: "妯℃澘缂栧彿", + prop: "id" + }, + { + label:"妯℃澘鍚嶇О", + prop:"name" + }, + { + label: "妯℃澘鎻忚堪", + prop:"description" + }, + { + label:"鐗堟湰鍙�", + prop:"revisionSeq" + }, + { + label:"鐘舵��", + prop:"lcStatusText" + } + ] + }, + addFlag:false, + // 琛ㄦ牸褰撳墠琛宨d + crudOid:"", + //琛ㄦ牸褰撳墠閫夋嫨鏁扮粍 + crudArray:[], //妯℃澘灞炴�у睍绀哄唴瀹� ProData: [], //鍥炶溅閿悳绱㈢粦瀹氬�� @@ -399,6 +435,11 @@ this.getAttr(); }, methods: { + //琛屽崟閫変簨浠� + selectHandle(selection,row){ + this.crudOid=row.oid + this.crudArray=selection + }, //鍒嗙被鏍戞暟鎹鐞� getAttr() { getAtrrList().then(res => { @@ -607,19 +648,20 @@ return item.codeclassifyoid == this.nodeClickList.oid } }) - gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => { - this.ProData = res.data.data - console.log(this.ProData) - }).catch(res => { - this.$message.error(res) - }) + if(this.Formlist.length >0){ + gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => { + this.ProData = res.data.data; + console.log(this.ProData) + }).catch(res => { + this.$message.error(res) + }) + } }).catch(res => { console.log(res) }) // 鍩烘湰淇℃伅琛ㄥ崟鏁版嵁 await getObjectByOid(this.nodeClickList.oid).then(res => { - this.TreeList = res.data.data - // eslint-disable-next-line no-const-assig + this.TreeList = res.data.data; }).catch(res => { this.$message.error(res) }) diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue index dc5648d..2bfd2cc 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue @@ -312,9 +312,9 @@ :show-header="false" style="width: 100%" > - <el-table-column prop="formula" width="40"> + <el-table-column prop="formula" width="120"> </el-table-column> - <el-table-column prop="desc" width="100"> </el-table-column> + <el-table-column prop="desc" width="200"> </el-table-column> </el-table> </el-tab-pane> <el-tab-pane label="绯荤粺鍙橀噺" name="second"> @@ -324,9 +324,9 @@ :show-header="false" style="width: 100%" > - <el-table-column prop="formula" width="150"> + <el-table-column prop="formula" width="200"> </el-table-column> - <el-table-column prop="desc" width="150"> </el-table-column> + <el-table-column prop="desc" width="200"> </el-table-column> </el-table> </el-tab-pane> </el-tabs> @@ -338,7 +338,7 @@ </el-dialog> </template> - + <script> export default { name: "formulaEditor", @@ -675,14 +675,14 @@ } //鍏紡鍐呭鍥炴樉 // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠� - this.$emit('updateFormulaContent', this.formulaContent) - this.isShowformulaEdit = false; + this.$emit('updateFormulaContent', this.formulaContent) + this.isShowformulaEdit = false; }, }, }; </script> - + <style scoped> .formula-box-card >>> .el-card__body { @@ -690,7 +690,7 @@ height: 85%; width: 100%; } - + .formula-editor-total { /* margin-top: 3px; */ height: 100%; @@ -718,7 +718,7 @@ height: auto; justify-content: space-between; align-items: center; - } + } .formula-editor-btn-sm { width: 4.5vw; @@ -732,4 +732,3 @@ } </style> - \ No newline at end of file diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue index 02ff88b..33241d3 100644 --- a/Source/UBCS-WEB/src/views/MasterData/items.vue +++ b/Source/UBCS-WEB/src/views/MasterData/items.vue @@ -9,7 +9,8 @@ :currentPage="this.currentPage" :templateOid="this.templateOid" @tableDataArray="tableDataArrays" - + @tableHeadDataFateher="tableHeadDatas" + @total="totals" ></master-tree> </basic-container> </el-aside> @@ -22,6 +23,8 @@ @currentPage="currentPages" @templateOid="templateOids" :tableDataArray="tableDataArray" + :total="this.total" + :tableHeadDataFateher="this.tableHeadDataFateher" ></TableCrud> </el-main> </el-container> @@ -44,7 +47,9 @@ codeClassifyOid:"", coderuleoid:"", templateOid:"", - tableDataArray:[] + tableDataArray:[], + tableHeadDataFateher:[], + total:"" } }, created() { @@ -68,6 +73,12 @@ }, tableDataArrays(val){ this.tableDataArray=val + }, + totals(val){ + this.total=val + }, + tableHeadDatas(val){ + this.tableHeadDataFateher=val } } } diff --git a/Source/UBCS-WEB/src/views/modeling/classifyTree.vue b/Source/UBCS-WEB/src/views/modeling/classifyTree.vue index d3596ee..621ad5b 100644 --- a/Source/UBCS-WEB/src/views/modeling/classifyTree.vue +++ b/Source/UBCS-WEB/src/views/modeling/classifyTree.vue @@ -1,6 +1,5 @@ <template> - <classifyTrees :crudData="crudTreeData" :crudoption="crudTreeOption" :data="Treedata" - :option="Treeoption" + <classifyTrees :crudData="crudTreeData" ></classifyTrees> </template> @@ -12,33 +11,6 @@ //鐖朵紶瀛愭湁闂锛屾殏鏃舵病瑙e喅锛岀敤provide浠f浛鐖朵紶瀛愶紝瀛愪紶鐖惰繕鏄敤$emit浼犻�掞紝娉ㄦ剰锛侊紒锛佸叾浠栫粍浠朵笉鑳戒娇鐢ㄥ悓鏍风殑绫诲悕鍚﹀垯浼氭姤閿欍�� provide() { return { - crudTreeOption: { - index: true, - border: true, - height:180, - column: [ - { - label: "妯℃澘缂栧彿", - prop: "id" - }, - { - label:"妯℃澘鍚嶇О", - prop:"name" - }, - { - label: "妯℃澘鎻忚堪", - prop:"description" - }, - { - label:"鐗堟湰鍙�", - prop:"revisionSeq" - }, - { - label:"鐘舵��", - prop:"lcStatusText" - } - ] - }, crudTreeData: this.crudTreeData, } diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index 18858ab..d206271 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -27,10 +27,15 @@ '/api': { //鏈湴鏈嶅姟鎺ュ彛鍦板潃 // target: 'http://localhost:37000', - //target: 'http://192.168.1.51:37000', + // target: 'http://localhost:37000', + // target: 'http://192.168.1.51:37000', + target: 'http://192.168.1.46:37000', + // target: 'http://dev.vci-tech.com:37000', + // target: 'http://192.168.1.51:37000/', + // target: 'http://localhost:37000', // target: 'http://192.168.1.63:37000', //target: 'http://192.168.3.7:37000', - target: 'http://dev.vci-tech.com:37000', + // target: 'http://dev.vci-tech.com:37000', //target: 'http://192.168.1.51:37000/', //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩� // target: 'https://saber.bladex.vip/api', diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java new file mode 100644 index 0000000..f018f42 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeResembleRule.java @@ -0,0 +1,110 @@ +package com.vci.ubcs.code.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.annotation.Transient; +import com.vci.ubcs.starter.revision.model.BaseModel; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 鐩镐技椤� + * @author weidy + * @date 2022-1-14 + */ +//@VciBtmType(name = MdmBtmTypeConstant.CODE_CLASSIFY,text = "涓婚搴撳垎绫�",lifeCycle = FrameWorkLcStatusConstant.FRAME_WORK_LIFE_CYCLE_NAME) +@Data +@TableName("PL_CODE_RESEMBLERULE") +@ApiModel(value = "CodeResemblerule瀵硅薄", description = "鐩镐技椤�") +@EqualsAndHashCode(callSuper = true) +public class CodeResembleRule extends BaseModel { + + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 7375719926432663351L; + + /** + * 鏄惁蹇界暐澶у皬鍐� + */ +// @Column(columnDefinition = "鏄惁蹇界暐澶у皬鍐�") + private String ignoreCaseFlag; + + /** + * 鏄惁蹇界暐绌烘牸 + */ +// @Column(columnDefinition = "鏄惁蹇界暐绌烘牸") + private String ignoreSpaceFlag; + + /** + * 鏄惁蹇界暐鍏ㄩ儴绌烘牸 + */ +// @Column(columnDefinition = "鏄惁蹇界暐鍏ㄩ儴绌烘牸") + private String ignoreAllSpaceFlag; + + /** + * 鏄惁蹇界暐鍏ㄥ崐瑙� + */ +// @Column(columnDefinition = "鏄惁蹇界暐鍏ㄥ崐瑙�") + private String ignoreWidthFlag; + + /** + * 杩炴帴绗� + */ +// @Column(columnDefinition = "杩炴帴绗�",length = 200) + private String linkCharacter; + + public String getIgnoreWidthFlag() { + return ignoreWidthFlag; + } + + public void setIgnoreWidthFlag(String ignoreWidthFlag) { + this.ignoreWidthFlag = ignoreWidthFlag; + } + + public String getIgnoreCaseFlag() { + return ignoreCaseFlag; + } + + public void setIgnoreCaseFlag(String ignoreCaseFlag) { + this.ignoreCaseFlag = ignoreCaseFlag; + } + + public String getIgnoreSpaceFlag() { + return ignoreSpaceFlag; + } + + public void setIgnoreSpaceFlag(String ignoreSpaceFlag) { + this.ignoreSpaceFlag = ignoreSpaceFlag; + } + + public String getIgnoreAllSpaceFlag() { + return ignoreAllSpaceFlag; + } + + public void setIgnoreAllSpaceFlag(String ignoreAllSpaceFlag) { + this.ignoreAllSpaceFlag = ignoreAllSpaceFlag; + } + + + public String getLinkCharacter() { + return linkCharacter; + } + + public void setLinkCharacter(String linkCharacter) { + this.linkCharacter = linkCharacter; + } + + @Override + public String toString() { + return "CodeResembleRuleDO{" + + " ignoreCaseFlag='" + ignoreCaseFlag + '\'' + + ", ignoreSpaceFlag='" + ignoreSpaceFlag + '\'' + + ", ignoreAllSpaceFlag='" + ignoreAllSpaceFlag + '\'' + + ", ignoreWidthFlag='" + ignoreWidthFlag + '\'' + + ", linkCharacter='" + linkCharacter + '\'' + + "} " + super.toString(); + } + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java index b72209a..2b17dbb 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java @@ -40,6 +40,7 @@ String API_PREFIX = "/client"; String MENU = API_PREFIX + "/menu"; + String MENU_BUTTON = API_PREFIX + "/menu-button"; String DEPT = API_PREFIX + "/dept"; String DEPT_IDS = API_PREFIX + "/dept-ids"; String DEPT_IDS_FUZZY = API_PREFIX + "/dept-ids-fuzzy"; @@ -79,6 +80,15 @@ R<Menu> getMenu(@RequestParam("id") Long id); /** + * 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽� + * + * @param btmType 涓氬姟绫诲瀷 + * @return List<Menu> + */ + @GetMapping(MENU_BUTTON) + R<List<Menu>> getMenuButtonByType(@RequestParam("btmType") String btmType); + + /** * 鑾峰彇閮ㄩ棬 * * @param id 涓婚敭 diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java index 2cf5e43..738acdf 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java @@ -36,6 +36,11 @@ } @Override + public R<List<Menu>> getMenuButtonByType(String btmType) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + @Override public R<Dept> getDept(Long id) { return R.fail("鑾峰彇鏁版嵁澶辫触"); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml index 369d597..65412a1 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml @@ -73,6 +73,18 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>com.vci.ubcs</groupId> + <artifactId>ubcs-user-api</artifactId> + <version>3.0.1.RELEASE</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.vci.ubcs</groupId> + <artifactId>ubcs-system-api</artifactId> + <version>3.0.1.RELEASE</version> + <scope>compile</scope> + </dependency> <!--<dependency> <groupId>com.vci.ubcs</groupId> <artifactId>ubcs-webservice</artifactId> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java index 87aa4dd..ee01f3b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java @@ -31,9 +31,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController //@AllArgsConstructor @@ -96,20 +94,20 @@ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); try { -// file.transferTo(new File(excelFileName)); -// CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); -// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ -// //鏀惧埌map閲� -// R result = R.fail("瀵煎叆澶辫触"); -// if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { -// String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); -// codeImProtRusultVO.setFileOid(filedUUid); -// } -// result.setData(codeImProtRusultVO); -// return result; -// }else { -// return R.success("鎿嶄綔鎴愬姛锛�"); -// } + file.transferTo(new File(excelFileName)); + CodeImProtRusultVO codeImProtRusultVO = mdmIOService.batchImportCode(orderDTO,file1); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())||StringUtils.isNotBlank(codeImProtRusultVO.getRedisUuid())){ + //鏀惧埌map閲� + R result = R.fail("瀵煎叆澶辫触"); + if(StringUtils.isNotBlank(codeImProtRusultVO.getFilePath())) { + String filedUUid = ControllerUtil.putErrorFile(codeImProtRusultVO.getFilePath()); + codeImProtRusultVO.setFileOid(filedUUid); + } + result.setData(codeImProtRusultVO); + return result; + }else { + return R.success("鎿嶄綔鎴愬姛锛�"); + } }catch (Throwable e) { logger.error("瀵煎叆閿欒",e); String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt"; @@ -126,7 +124,7 @@ }finally { file1.delete(); } - return null; +// return null; } @@ -474,8 +472,63 @@ @GetMapping("/thisistest") @ResponseBody - public List<BaseModel> thisistest(String codeClassifyOid, String functionId) throws Exception { - return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b"); + public Integer thisistest(String codeClassifyOid, String functionId) throws Exception { +// return engineService.selectByTypeAndOid("wupin", "b1511bb3-a773-43e2-ac85-a7fde7314a0f,3e08970024835e69f6c2b2ecd90c48c3,582ff205-0dfb-43e0-8223-e772ff1851ab,db0400fe-cc90-4d9d-8da7-1edf06b1481b"); + + List<BaseModel> models = new ArrayList<>(); + BaseModel baseModel = new BaseModel(); + Map<String,String > map = new HashMap<>(); + map.put("JZL","6789"); + map.put("JZRXX","67891"); + map.put("JZXZB","67892"); + map.put("JSZGL","67893"); + map.put("JSSXT","67894"); + baseModel.setBtmname("djii"); + baseModel.setCreator("fjivis"); + baseModel.setId("vcia"); + baseModel.setOid("0d86b1ba-9e9e-4d3d-9ae4-f862c3684e74"); + baseModel.setCreateTime(new Date()); + baseModel.setTs(new Date()); + baseModel.setData(map); + models.add(baseModel); + + BaseModel baseModel1 = new BaseModel(); + Map<String,String > map1 = new HashMap<>(); + map1.put("JZL","6789z"); + map1.put("JZRXX","67891z"); + map1.put("JZXZB","67892z"); + map1.put("JSZGL","67893z"); + map1.put("JSSXT","67894z"); + baseModel1.setBtmname("djiiz"); + baseModel1.setCreator("fjivisz"); + baseModel1.setId("vciaz"); + baseModel1.setTs(new Date()); + baseModel1.setOid("4a00be07-f5a8-4a9b-88fb-d52a0d9cf546"); + baseModel1.setCreateTime(new Date()); + baseModel1.setData(map1); + models.add(baseModel1); + + BaseModel baseModel2 = new BaseModel(); + Map<String,String > map2 = new HashMap<>(); + map2.put("JZL","67892"); + map2.put("JZRXX","678912"); + map2.put("JZXZB","678922"); + map2.put("JSZGL","678932"); + map2.put("JSSXT","678942"); + baseModel2.setBtmname("djii2"); + baseModel2.setCreator("fjivis2"); + baseModel2.setTs(new Date()); + baseModel2.setId("vcia2"); + baseModel2.setOid("fa430ff9-f141-4dcf-8809-6f87905c1dea"); + baseModel2.setCreateTime(new Date()); + baseModel2.setData(map2); + models.add(baseModel2); + + return 0; + + + +// return engineService.updateBatchByBaseModel("wupin", models); // return engineService.getUIInfoByClassifyOid(codeClassifyOid,functionId); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java index ea1d998..ee1824a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java @@ -72,6 +72,21 @@ /** * 鏌ユ壘鏍戝舰缁撴瀯 * + * @return 鏁版嵁闆嗗悎 + */ + List<CodeClassify> selectCodeClassifyDOByTree(@Param("id") String id,@Param("lcstatus") String lcstatus,@Param("parentcodeclassifyoid") String parentcodeclassifyoid); + + /** + * 鏌ヨ鏁版嵁涓嶱L_CODE_KEYATTRREPEAT銆丳L_CODE_RESEMBLERULE銆丳L_CODE_RULE鑱旀煡 + * + * @param oids 鍒嗙被鐨勪富閿� + * @return 鏁版嵁闆嗗悎 + */ + List<CodeClassify> selectClassifyByKeyAndReseRel(@Param("oids") String oids); + + /** + * 鏌ユ壘鏍戝舰缁撴瀯 + * * @param oid 鍒嗙被鐨勪富閿� * @return 鏁版嵁闆嗗悎 */ diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java index 9a21e18..aff8458 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyTemplateAttrMapper.java @@ -39,5 +39,12 @@ List<CodeClassifyTemplateAttr> selectRefByOid(String oid); + /** + * 鏉′欢,鍏宠仈鏌ヨ鎺掑簭 + * + * @param classifytemplateoids + * @return + */ + List<CodeClassifyTemplateAttr> selectByClassifytemplateoidRel(String classifytemplateoids); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java new file mode 100644 index 0000000..c7197e7 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeResembleRuleMapper.java @@ -0,0 +1,20 @@ +package com.vci.ubcs.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.yulichang.base.MPJBaseMapper; +import com.vci.ubcs.code.entity.CodeResembleRule; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 涓绘暟鎹紪鐮佽鍒欐暟鎹搷浣滃眰 + * + * @author ludc + * @date 2022-01-24 + */ +public interface CodeResembleRuleMapper extends BaseMapper<CodeResembleRule>, MPJBaseMapper<CodeResembleRule> { + + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java index 1dcbecf..e2f6a78 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java @@ -22,6 +22,8 @@ List<Map> selectBySql(@Param("inSql") String inSql); + List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql); + /** * 浼犲叆琛ㄥ悕锛宮ap锛宭ist<map>瀹屾垚鎵归噺鏇存柊鎿嶄綔 * @param tableName 琛ㄥ悕 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java index dfe100c..8454cc0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeResembleRuleService.java @@ -1,7 +1,20 @@ package com.vci.ubcs.code.service; +import com.github.yulichang.base.MPJBaseService; +import com.vci.ubcs.code.entity.CodeReferConfig; +import com.vci.ubcs.code.entity.CodeResembleRule; import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO; +import com.vci.ubcs.starter.exception.VciBaseException; -public interface ICodeResembleRuleService { +public interface ICodeResembleRuleService extends MPJBaseService<CodeResembleRule> { CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid); -} + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeResembleRuleDO 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException; + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java index 24ae819..21cfeb8 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java @@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.launch.constant.AppConstant; -import org.springblade.core.log.exception.ServiceException; +import com.vci.ubcs.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -438,13 +438,34 @@ } /** + * 涓婚敭鏌ヨ鏁版嵁瀵硅薄,鍏宠仈鏌ヨ + * @param oid 涓婚敭 + * @return 鏁版嵁瀵硅薄 + */ + private CodeClassify selectByOidRel(String oid){ + + List<CodeClassify> codeClassifyList = codeClassifyMapper.selectClassifyByKeyAndReseRel("'"+oid.trim()+"'"); +// CodeClassify codeClassifyEntity = (CodeClassify) codeClassifyList; + if(codeClassifyList.size() == 0 ){ + throw new ServiceException("dataNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹� + } +// if(codeClassifyEntity == null || StringUtils.isBlank(codeClassifyEntity.getOid())){ +// throw new ServiceException("dataOidNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹� +// } + return codeClassifyList.get(0); + } + + /** * 鏌ヨ涓婚搴撳垎绫� 鏍� * @param treeQueryObject 鏍戞煡璇㈠璞� * @return 涓婚搴撳垎绫� 鏄剧ず鏍� */ @Override public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { - List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid()); + List<CodeClassify> doList =codeClassifyMapper + .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid()); +// List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT)); treeWrapperOptions.copyFromTreeQuery(treeQueryObject); @@ -993,10 +1014,15 @@ } //浣跨敤涓婚敭鏌ヨ涓�涓� - List<CodeClassify> classifyDOS = codeClassifyMapper.selectBatchIds(oidLevelMap.keySet()); + String oids = ""; + for (String s : oidLevelMap.keySet()) { + oids += "'"+s+"',"; + } + List<CodeClassify> classifyDOS = codeClassifyMapper.selectClassifyByKeyAndReseRel(oids.substring(0,oids.length()-1)); if(!CollectionUtils.isEmpty(classifyDOS)){ classifyDOS.stream().forEach(classifyDO->{ classifyDO.setDataLevel(VciBaseUtil.getInt(oidLevelMap.getOrDefault(classifyDO.getOid(),"0"))); + classifyDO.setLcStatusText(EnumCache.getValue("codeLcstatus",classifyDO.getLcStatus())); }); } return classifyDOS; @@ -1123,7 +1149,7 @@ public CodeClassifyFullInfoBO getClassifyFullInfo(String codeClassifyOid) { VciBaseUtil.alertNotNull(codeClassifyOid,"鍒嗙被鐨勪富閿�"); CodeClassifyFullInfoBO fullInfo = new CodeClassifyFullInfoBO(); - CodeClassify classifyDO = selectByOid(codeClassifyOid); + CodeClassify classifyDO = selectByOidRel(codeClassifyOid); //鏌ヨ涓婄骇 fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO)); // List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java index a89d482..f24d9d7 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java @@ -160,10 +160,10 @@ // conditionMap.put("classifytemplateoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(templateOids.toArray(new String[0])) + ")"); // PageHelper pageHelper = new PageHelper(-1); // pageHelper.addDefaultAsc("orderNum"); - QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>(); - wrapper.in("classifytemplateoid",templateOids); - wrapper.orderByAsc("orderNum"); - List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectList(wrapper); +// QueryWrapper<CodeClassifyTemplateAttr> wrapper = new QueryWrapper<>(); +// wrapper.in("classifytemplateoid",templateOids); +// wrapper.orderByAsc("orderNum"); + List<CodeClassifyTemplateAttr> attrDOS = baseMapper.selectByClassifytemplateoidRel(VciBaseUtil.toInSql(templateOids.toArray(new String[0]))); // baseMapper.selectByClassifytemplateoid(VciBaseUtil.toInSql(templateOids.toArray(new String[0]))); if(!CollectionUtils.isEmpty(attrDOS)){ diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java index fb58ad2..896e759 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeResembleRuleServiceImpl.java @@ -1,8 +1,20 @@ package com.vci.ubcs.code.service.impl; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.vci.ubcs.code.entity.CodeReferConfig; +import com.vci.ubcs.code.entity.CodeResembleRule; +import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; +import com.vci.ubcs.code.mapper.CodeReferConfigMapper; +import com.vci.ubcs.code.mapper.CodeResembleRuleMapper; import com.vci.ubcs.code.service.ICodeResembleRuleService; import com.vci.ubcs.code.vo.pagemodel.CodeResembleRuleVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.util.BeanUtilForVCI; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; + +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; /** * 鐩镐技鏌ヨ瑙勫垯鏈嶅姟 @@ -10,9 +22,44 @@ * @date 2022-04-10 */ @Service -public class CodeResembleRuleServiceImpl implements ICodeResembleRuleService { +public class CodeResembleRuleServiceImpl extends MPJBaseServiceImpl<CodeResembleRuleMapper, CodeResembleRule> implements ICodeResembleRuleService { @Override - public CodeResembleRuleVO getObjectByOid(String codeResembleRuleOid) { - return null; + public CodeResembleRuleVO getObjectByOid(String oid) { + return codeResembleRuleDO2VO(selectByOid(oid)); + } + + /** + * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 + * @param oid 涓婚敭 + * @return 鏁版嵁瀵硅薄 + * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + private CodeResembleRule selectByOid(String oid) throws VciBaseException { + VciBaseUtil.alertNotNull(oid,"涓婚敭"); + CodeResembleRule codeResembleRuleDO = baseMapper.selectById(oid.trim()); +// CodeResembleRule codeResembleRuleDO = codeResembleRuleMapper.selectByPrimaryKey(oid.trim()); + if(codeResembleRuleDO == null || StringUtils.isBlank(codeResembleRuleDO.getOid())){ + throw new VciBaseException(DATA_OID_NOT_EXIST); + } + return codeResembleRuleDO; + } + + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeResembleRuleDO 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public CodeResembleRuleVO codeResembleRuleDO2VO(CodeResembleRule codeResembleRuleDO) throws VciBaseException{ + CodeResembleRuleVO vo = new CodeResembleRuleVO(); + if(codeResembleRuleDO != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(codeResembleRuleDO,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus())); + + } + return vo; } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index 3837b3e..a660ef9 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java @@ -24,6 +24,7 @@ import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.feign.IEnumClient; import com.vci.ubcs.omd.feign.IRevisionRuleClient; +import com.vci.ubcs.omd.vo.BtmTypeAttributeVO; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.omd.vo.EnumVO; import com.vci.ubcs.omd.vo.RevisionRuleVO; @@ -40,7 +41,11 @@ import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.util.*; import com.vci.ubcs.system.entity.DictBiz; +import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.feign.IDictBizClient; +import com.vci.ubcs.system.feign.ISysClient; +import com.vci.ubcs.system.user.entity.User; +import com.vci.ubcs.system.user.feign.IUserClient; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import oracle.sql.TIMESTAMP; import org.slf4j.Logger; @@ -50,6 +55,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringPool; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.Cache; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -69,6 +75,7 @@ import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Supplier; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; @@ -105,7 +112,16 @@ */ @Resource IDictBizClient iDictBizClient; - + /** + * 绯荤粺鐨勬湇鍔� + */ + @Resource + ISysClient iSysClient; + /** + * 鐢ㄦ埛鏈嶅姟 + */ + @Resource + IUserClient iUserClient; /** * 瀛楀吀鐨勬湇鍔� */ @@ -780,6 +796,11 @@ data.put(CODE_TEMPLATE_OID_FIELD,templateVO.getOid()); data.put(CODE_FULL_PATH_FILED,fullPath); cbo.setData(data); + cbo.setOid(VciBaseUtil.getPk()); + cbo.setCreateTime(new Date()); + cbo.setLastModifyTime(new Date()); + cbo.setCreator(AuthUtil.getUser().getUserName()); + cbo.setLastModifier(AuthUtil.getUser().getUserName()); // cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid()); // cbo.setTemplateOid(templateVO.getOid()); // cbo.setCodeclsfpath(fullPath); @@ -792,7 +813,7 @@ // cbo.setLcStatus("Editing"); //// cbo.setLcStatus(lifeCycleVO.getStartStatus()); // } else { - cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); + cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); // } } else { cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); @@ -801,7 +822,7 @@ } int secret = VciBaseUtil.getInt(String.valueOf(cbo.getSecretGrade())); - //鎻掍釜鐐癸紝鍚庣画鐪嬪瘑绾ф湇鍔℃槸鍚﹀彲鐢� + //鍚庣画鐪嬪瘑绾ф湇鍔℃槸鍚﹀彲鐢� // if (secret == 0 || !secretService.checkDataSecret(secret)) { if (secret == 0 ) { Integer userSecret = VciBaseUtil.getCurrentUserSecret(); @@ -828,12 +849,14 @@ btmName = btmName.trim().toLowerCase(); } try { - String keyPrefix = BTM_NAME.concat(StringPool.DASH).concat(AuthUtil.getTenantId()).concat(StringPool.COLON); - String finalBtmName = btmName; - return CacheUtil.get(BTM_INIT_CACHE, keyPrefix, btmName, () -> { - BaseModel baseModel = createBaseModel(finalBtmName); - return baseModel; - }); + String keyPrefix = BTM_INIT_CACHE.concat(StringPool.COLON).concat(AuthUtil.getTenantId()).concat(StringPool.COLON); +// String finalBtmName = btmName; + Cache.ValueWrapper valueWrapper = CacheUtil.getCache(keyPrefix).get(keyPrefix.concat(String.valueOf(btmName))); + if(valueWrapper == null){ + CacheUtil.getCache(keyPrefix).put(keyPrefix.concat(String.valueOf(btmName)), createBaseModel(btmName)); + valueWrapper = CacheUtil.getCache(keyPrefix).get(keyPrefix.concat(String.valueOf(btmName))); + } + return (BaseModel) valueWrapper.get(); } catch (Exception e) { logger.error("鍒涘缓涓氬姟绫诲瀷瀵硅薄",e); throw new VciBaseException("initBtmError",new String[]{btmName}); @@ -940,15 +963,15 @@ } } - @Override - public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid) { + @Override + public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid) { CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(templateOid); MdmUIInfoVO uiInfoVO = new MdmUIInfoVO(); uiInfoVO.setTemplateVO(templateVO); uiInfoVO.setFormDefineVO(wrapperFormDefineByTemplate(templateVO, codeClassifyOid)); wrapperResemble(templateVO, uiInfoVO); return uiInfoVO; - } + } /** @@ -1270,10 +1293,10 @@ //娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙� if (!CollectionUtils.isEmpty(conditionMap)) { Map<String, String> andConditionMap = new HashMap<>(); - andConditionMap.put("lastr", "1"); - andConditionMap.put("lastv", "1"); + andConditionMap.put("t.lastr", "1"); + andConditionMap.put("t.lastv", "1"); if (StringUtils.isNotBlank(orderDTO.getOid())) { - andConditionMap.put("oid", QueryOptionConstant.NOTEQUAL + orderDTO.getOid()); + andConditionMap.put("t.oid", QueryOptionConstant.NOTEQUAL + orderDTO.getOid()); } conditionMap.putAll(andConditionMap); PageHelper pageHelper = new PageHelper(-1); @@ -1380,21 +1403,33 @@ public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper); // List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); - List<Map> maps = commonsMapper.selectBySql(sqlBO.getSqlHasPage()); + List<Map<String,String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); + DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); List<Map<String, String>> dataList = new ArrayList<>(); +// if (!CollectionUtils.isEmpty(maps)) { +// maps.stream().forEach(map -> { +// Map<String, String> data = new HashMap<>(); +// map.forEach((key, value) -> { +// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); +// }); +// dataList.add(data); +// }); +// } +// dataGrid.setData(dataList); if (!CollectionUtils.isEmpty(maps)) { + wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); maps.stream().forEach(map -> { Map<String, String> data = new HashMap<>(); - map.forEach((key, value) -> { - data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); - }); +// map.forEach((key, value) -> { +// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); +// }); + for (String s : map.keySet()) { + data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); + } dataList.add(data); }); - } - dataGrid.setData(dataList); - if (!CollectionUtils.isEmpty(dataList)) { - wrapperData(dataGrid.getData(), templateVO, sqlBO.getSelectFieldList(), false); + dataGrid.setData(dataList); dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString())); } return dataGrid; @@ -1457,17 +1492,27 @@ } }); if (!CollectionUtils.isEmpty(userIds)) { + Map<String, User> userVOMap = new HashMap<>(); + for (String userId : userIds) { + if(!StringUtils.isNumeric(userId)){ + continue; + } + User data = iUserClient.userInfoById(Long.valueOf(userId)).getData(); + if(data != null){ + userVOMap.put(String.valueOf(data.getId()),data); + } + } // Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); -// dataMap.stream().forEach(data -> { -// String creator = data.getOrDefault("creator", null); -// if (StringUtils.isNotBlank(creator) && userVOMap.containsKey(creator.toLowerCase(Locale.ROOT))) { -// data.put("creator", creator + "(" + userVOMap.get(creator.toLowerCase(Locale.ROOT)).getName() + ")"); -// } -// String lastmodifier = data.getOrDefault("lastmodifier", null); -// if (StringUtils.isNotBlank(lastmodifier) && userVOMap.containsKey(lastmodifier.toLowerCase(Locale.ROOT))) { -// data.put("lastmodifier", lastmodifier + "(" + userVOMap.get(lastmodifier.toLowerCase(Locale.ROOT)).getName() + ")"); -// } -// }); + dataMap.stream().forEach(data -> { + String creator = data.getOrDefault("creator", null); + if (StringUtils.isNotBlank(creator) && userVOMap.containsKey(creator.toLowerCase(Locale.ROOT))) { + data.put("creator", creator + "(" + userVOMap.get(creator.toLowerCase(Locale.ROOT)).getRealName() + ")"); + } + String lastmodifier = data.getOrDefault("lastmodifier", null); + if (StringUtils.isNotBlank(lastmodifier) && userVOMap.containsKey(lastmodifier.toLowerCase(Locale.ROOT))) { + data.put("lastmodifier", lastmodifier + "(" + userVOMap.get(lastmodifier.toLowerCase(Locale.ROOT)).getRealName() + ")"); + } + }); } } @@ -1510,8 +1555,9 @@ //澶勭悊鏋氫妇鐨勫唴瀹癸紝涓轰簡鍏煎浠ュ墠鐨勬暟鎹�,濡傛灉鏁版嵁涓嶈兘浣跨敤鏋氫妇杞崲鐨勮瘽锛岄偅杩樻槸鏄剧ず浠ュ墠鐨勫�� if (!CollectionUtils.isEmpty(enumAttrVOs)) { enumAttrVOs.stream().forEach(enumAttrVO -> { +// String attrId = enumAttrVO.getId().toUpperCase(Locale.ROOT); String attrId = enumAttrVO.getId().toLowerCase(Locale.ROOT); - String oldValue = data.getOrDefault(attrId, null); + String oldValue = String.valueOf(data.getOrDefault(attrId, null)); if (StringUtils.isNotBlank(oldValue)) { List<KeyValue> comboxKVs = listComboboxItems(enumAttrVO); String newValue = oldValue; @@ -1560,9 +1606,11 @@ referVO.setValueField(VciQueryWrapperForDO.OID_FIELD); referVO.setTextField("name"); } - //琛ㄩ渶瑕佹敼 + //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃 + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referVO.getReferType())); // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); - String referTable = "pl_code_wupin"; + String referTable = listR.getData().get(0).getTableName(); +// String referTable = "pl_code_classify"; String referTableNick = attrVO.getId() + "0"; String left = " left join " + referTable + " " + referTableNick + " on " + referTableNick + "." + referVO.getValueField() + " = t." + attrVO.getId(); joinTableList.put(attrVO.getId(), left); @@ -1578,12 +1626,20 @@ selectFieldList.add(referTableNick + "." + showFieldInSource + " as " + referShowField); }); } - // 寰呭畬鍠� -// Optional.ofNullable(attributeService.getDefaultAttributeVOMap()).orElseGet(() -> new HashMap<>()).keySet().stream().forEach(attrId -> { -// if (!selectFieldList.contains(attrId) && !"secretgrade".equalsIgnoreCase(attrId)) { -// selectFieldList.add(attrId); + R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getDefaultAttrByBtmId(btmType); +// Optional.ofNullable(allAttributeByBtmId.getData()).orElseGet(allAttributeByBtmId.getData().getAttributes()).stream().forEach(attrId -> { +// if (!selectFieldList.contains(attrId.getOid()) && !"secretgrade".equalsIgnoreCase(attrId.getOid())) { +// selectFieldList.add(attrId.getOid()); // } // }); + if(allAttributeByBtmId.getData() != null ){ + for (BtmTypeAttributeVO attribute : allAttributeByBtmId.getData().getAttributes()) { + if (!selectFieldList.contains(attribute.getId()) && !"secretgrade".equalsIgnoreCase(attribute.getId())) { + selectFieldList.add(attribute.getId()); + } + } + } + if (!selectFieldList.contains(CODE_FIELD)) { selectFieldList.add(CODE_FIELD); } @@ -1653,7 +1709,10 @@ } //瑕佹敼锛岃〃鏄庤幏鍙栨湁闂 // String tableName = VciBaseUtil.getTableName(btmType); - String tableName = "pl_code_wupin"; +// String tableName = "pl_code_wupin"; + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); +// String referTable = VciBaseUtil.getTableName(referVO.getReferType()); + String tableName = listR.getData().get(0).getTableName(); String sql = "select " + selectFieldList.stream().map(s -> (s.contains(".") ? s : ("t." + s))).collect(Collectors.joining(",")) + " from " + tableName + SPACE + "t" + SPACE + joinTableList.values().stream().collect(Collectors.joining(SPACE)) @@ -1786,7 +1845,7 @@ */ private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) { StringBuilder sql = new StringBuilder(); - // 寰呭畬鍠� + //寰呭畬鍠� // if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || attributeService.isDefaultAttr(selectKey) || selectKey.matches(RegExpConstant.LETTER))) { // sql.append("t."); // } @@ -2420,10 +2479,20 @@ CodeClassifyVO topClassifyVO = classifyService.getTopClassifyVO(templateVO.getCodeclassifyoid()); String btmId = topClassifyVO.getBtmtypeid(); //鏌ヨ鏁版嵁 - Map<String, String> conditionMap = WebUtil.getOidQuery(oid); + Map<String, String> conditionMap = new HashMap<>(); + conditionMap.put("t.oid",oid); CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmId, templateVO, conditionMap, new PageHelper(-1)); //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� - List<Map> cbos = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); + List<Map> cbosB = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); + List<Map<String,String>> cbos = new ArrayList<>(); + cbosB.stream().forEach(map -> { + Map<String, String> data = new HashMap<>(); + for (Object o : map.keySet()) { + data.put(((String) o).toLowerCase(Locale.ROOT), String.valueOf(map.get(o))); + } + cbos.add(data); + }); + // List<ClientBusinessObject> cbos = boService.queryByOnlySql(sqlBO.getSqlUnPage()); if (CollectionUtils.isEmpty(cbos)) { throw new VciBaseException("鏁版嵁鍦ㄧ郴缁熶腑涓嶅瓨鍦紝鏄惁鍥犱负淇敼杩囦笟鍔$被鍨嬶紵"); @@ -2436,7 +2505,7 @@ wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), true); R<List<Map<String, String>>> result = R.data(Collections.singletonList(cbo)); //鎴戜滑瑕佺湅鏄惁涓嶆槸鍗囩増鐨勶紝鍗囩増鐨勮瘽锛岄渶瑕佸姣斾笉鐩哥瓑鐨勫睘鎬� - String copy = String.valueOf(cbo.get("COPYFROMVERSION")); + String copy = cbo.get("copyfromversion"); // if (StringUtils.isBlank(copy)) { // copy = cbo.getAttributeValue("copyfromversion"); // } @@ -2860,27 +2929,31 @@ MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid)); uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0); if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) { + List<Menu> buttonVOS = iSysClient.getMenuButtonByType(uiInfoVO.getTemplateVO().getBtmTypeId()).getData(); + //鍔熻兘鎸夐挳鏈嶅姟杩樻湭瀹炵幇锛岀瓑瀹炵幇浜嗭紝鍦ㄨ繘琛岃皟鐢� - //List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId); +// List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId); // if (operationVOS == null) { // operationVOS = new ArrayList<>(); // } - //鏌ヨ鎵╁睍鎸夐挳 +// //鏌ヨ鎵╁睍鎸夐挳 // List<CodeButtonVO> buttonVOS = listButtonInToolbarByClassifyOid(codeClassifyOid); -// if (!CollectionUtils.isEmpty(buttonVOS)) { -// for (int i = 0; i < buttonVOS.size(); i++) { -// CodeButtonVO buttonVO = buttonVOS.get(i); -// SmOperationVO operationVO = new SmOperationVO(); -// operationVO.setModuleNo(functionId); -// operationVO.setUniqueFlag(buttonVO.getId()); -// operationVO.setName(buttonVO.getName()); -// operationVO.setAlias(operationVO.getName()); -// operationVO.setExecuteJs(buttonVO.getExecutejs()); -// operationVO.setIconCls(buttonVO.getIconcls()); -// operationVOS.add(operationVO); -// } -// } -// uiInfoVO.setButtons(operationVOS); + List<SmOperationVO> operationVOS = new ArrayList<>(); + if (!CollectionUtils.isEmpty(buttonVOS)) { + for (int i = 0; i < buttonVOS.size(); i++) { + Menu buttonVO = buttonVOS.get(i); + SmOperationVO operationVO = new SmOperationVO(); + operationVO.setModuleNo(functionId); + operationVO.setUniqueFlag(buttonVO.getCode()); + operationVO.setName(buttonVO.getName()); + operationVO.setAlias(buttonVO.getAlias()); + operationVO.setOrderNo(String.valueOf(buttonVO.getSort())); +// operationVO.setExecuteJs(buttonVO.getExecuteJs()); +// operationVO.setIconCls(buttonVO.getIconCls()); + operationVOS.add(operationVO); + } + } + uiInfoVO.setButtons(operationVOS); } return uiInfoVO; } @@ -3013,7 +3086,7 @@ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(boName)); String userName = AuthUtil.getUser().getUserName(); BaseModel bo = new BaseModel(); - bo.setOid(VciBaseUtil.getPk()); +// bo.setOid(VciBaseUtil.getPk()); // bo.setRevisionid(VciBaseUtil.getPk()); // bo.setNameoid(VciBaseUtil.getPk()); bo.setBtmname(boName); @@ -3038,7 +3111,7 @@ bo.setLctid(listR.getData().get(0).getLifeCycleId()); // if(StringUtils.isNotBlank(listR.getData().get(0).getLifeCycleId())){ // OsLifeCycleVO lifeCycleVO = lifeService.getLifeCycleById(listR.getData().get(0).getLifeCycleId()); - bo.setLcStatus("Editing"); + bo.setLcStatus("Editing"); // } bo.setId(""); bo.setName(""); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index 689147f..526c013 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -21,6 +21,7 @@ import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; import com.vci.ubcs.starter.web.pagemodel.DataGrid; import com.vci.ubcs.starter.web.pagemodel.KeyValue; +import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.VciDateUtil; import lombok.AllArgsConstructor; @@ -37,6 +38,7 @@ import javax.annotation.Resource; import java.io.File; +import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -255,15 +257,60 @@ String redisUUid=batchImportCodes(orderDTO,templateVO,dataSet,errorMap,true); CodeImProtRusultVO codeImProtRusultVO = new CodeImProtRusultVO(); List<String> needRowIndexList = new ArrayList<>(); -// String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); -// if(StringUtils.isNotBlank(filePath)) { -// codeImProtRusultVO.setFilePath(filePath); -// } -// if(StringUtils.isNotBlank(redisUUid)){ -// codeImProtRusultVO.setRedisUuid(redisUUid); -// } - return null; -// return codeImProtRusultVO; + String filePath = returnErrorToExcel(dataSet.getRowData(), errorMap, needRowIndexList, dataSet.getColName()); + if(StringUtils.isNotBlank(filePath)) { + codeImProtRusultVO.setFilePath(filePath); + } + if(StringUtils.isNotBlank(redisUUid)){ + codeImProtRusultVO.setRedisUuid(redisUUid); + } +// return null; + return codeImProtRusultVO; + } + + /** + * 閿欒淇℃伅杩斿洖excel + * @param rowDataList 鎵�鏈夌殑瀵煎叆鏁版嵁 + * @param errorMap 閿欒鐨勪俊鎭� + * @param needRowIndexList 闇�瑕佸啓鍏ョ殑鏁版嵁鐨勮鍙� + * @param titleRowData 鏍囬琛� + * + * @return 閿欒鐨別xcel鏂囦欢锛屾病鏈夐敊璇細杩斿洖绌� + */ + private String returnErrorToExcel(Collection<SheetRowData> rowDataList, + Map<String,String> errorMap, + List<String> needRowIndexList,List<String> titleRowData){ + if(CollectionUtils.isEmpty(errorMap)){ + return ""; + } + Map<String, SheetRowData> rowIndexDataMap = rowDataList.stream().filter(s -> !needRowIndexList.contains(s.getRowIndex())).collect(Collectors.toMap(s -> s.getRowIndex(), t -> t)); + List<WriteExcelData> errorDataList = new ArrayList<>(); + errorDataList.add(new WriteExcelData(0,0,"閿欒淇℃伅")); + for (int i = 0; i < titleRowData.size(); i++) { + //閿欒淇℃伅鍦ㄦ渶鍚� + errorDataList.add(new WriteExcelData(0,i+1,titleRowData.get(i))); + } + Integer[] newRowIndex = new Integer[]{1}; + errorMap.forEach((index,error)->{ + //閿欒淇℃伅鍏ㄩ儴缁勫悎鍒颁竴璧� + SheetRowData rowData = rowIndexDataMap.getOrDefault(index, null); + if(rowData!=null){ + errorDataList.add(new WriteExcelData(newRowIndex[0],0,error)); + rowData.getData().forEach((colIndex,value)->{ + errorDataList.add(new WriteExcelData(newRowIndex[0],colIndex+1,value)); + }); + newRowIndex[0]++; + } + }); + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒淇℃伅.xls"; + WriteExcelOption eo = new WriteExcelOption(errorDataList); + try { + new File(excelFileName).createNewFile(); + } catch (IOException e) { + throw new VciBaseException(LangBaseUtil.getErrorMsg(e)); + } + ExcelUtil.writeDataToFile(excelFileName,eo); + return excelFileName; } /** diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml index dc5e143..88358b5 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml @@ -240,4 +240,60 @@ order by id asc </select> + <select id="selectCodeClassifyDOByTree" resultMap="plCodeClassifyResultMap"> + select codeclassify0.OWNER as owner, + codeclassify0.BTMTYPEID as btmtypeid, + codeclassify0.CREATOR as creator, + codeclassify0.CREATETIME as createtime, + codeclassify0.LASTMODIFIER as lastmodifier, + codeclassify0.DESCRIPTION as description, + codeclassify0.ORDERNUM as ordernum, + codeclassify0.CODERULEOID as coderuleoid, + codeclassify0.OID as oid, + codeclassify0.BTMNAME as btmname, + codeclassify0.BTMTYPENAME as btmtypename, + codeclassify0.CODEKEYATTRREPEATOID as codekeyattrrepeatoid, + codeclassify0.PARENTCODECLASSIFYOID as parentcodeclassifyoid, + codeclassify0.NAME as name, + codeclassify0.LASTMODIFYTIME as lastmodifytime, + codeclassify0.ID as id, + codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, + codeclassify0.LCSTATUS as lcstatus, + codeclassify0.TS as ts, + coderuleoid.name as codeRuleOidName, + codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, + coderesembleruleoid.name as codeResembleRuleOidName + from pl_code_classify codeclassify0 + left join pl_code_rule coderuleoid + on codeclassify0.codeRuleOid = coderuleoid.oid + left join pl_code_keyattrrepeat codekeyattrrepeatoid + on codeclassify0.codeKeyAttrRepeatOid = codekeyattrrepeatoid.oid + left join pl_code_resemblerule coderesembleruleoid + on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid + where codeclassify0.lcstatus = #{lcstatus} + <if test="parentcodeclassifyoid != null and parentcodeclassifyoid != ''"> + and codeclassify0.parentcodeclassifyoid = #{parentcodeclassifyoid} + </if> + <if test="parentcodeclassifyoid == null or parentcodeclassifyoid == ''"> + and codeclassify0.parentcodeclassifyoid is null + and codeclassify0.id = #{id} + </if> + order by id asc + </select> + + <select id="selectClassifyByKeyAndReseRel" resultMap="plCodeClassifyResultMap"> + SELECT PCC.*, + PCK.NAME AS CODEKEYATTRREPEATOIDNAME, + PCR.NAME AS CODERESEMBLERULEOIDNAME, + PCE.NAME CODERULEOIDNAME + FROM PL_CODE_CLASSIFY PCC + LEFT JOIN PL_CODE_KEYATTRREPEAT PCK + ON PCC.CODEKEYATTRREPEATOID = PCK.OID + LEFT JOIN PL_CODE_RESEMBLERULE PCR + ON PCC.CODERESEMBLERULEOID = PCR.OID + LEFT JOIN PL_CODE_RULE PCE + ON PCC.CODERULEOID = PCE.OID + WHERE PCC.OID IN (${oids}) + </select> + </mapper> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml index 640e301..c94b4c4 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml @@ -100,5 +100,13 @@ where codeclstempattr0.classifytemplateoid = #{oid} </select> + <select id="selectByClassifytemplateoidRel" resultMap="CodeClstempattrResultMap"> + select PCC.*, PLT.NAME classifyTemplateOidName + from PL_CODE_CLSTEMPATTR PCC, PL_CODE_CLSTEMPLATE PLT + where PCC.CLASSIFYTEMPLATEOID = PLT.OID + AND PCC.classifytemplateoid IN (${oid}) + ORDER BY PCC.ORDERNUM ASC + </select> + </mapper> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml new file mode 100644 index 0000000..16a84be --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeResembleRule.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.code.mapper.CodeResembleRuleMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="CodeResembleRuleResultMap" type="com.vci.ubcs.code.entity.CodeResembleRule"> + <id property="oid" column="OID"/> + <result property="btmname" column="BTMNAME"/> + <result property="revisionOid" column="REVISIONOID"/> + <result property="nameOid" column="NAMEOID"/> + <result property="lastR" column="LASTR"/> + <result property="firstR" column="FIRSTR"/> + <result property="lastV" column="LASTV"/> + <result property="firstV" column="FIRSTV"/> + <result property="creator" column="CREATOR"/> + <result property="createTime" column="CREATETIME"/> + <result property="lastModifier" column="LASTMODIFIER"/> + <result property="lastModifyTime" column="LASTMODIFYTIME"/> + <result property="revisionRule" column="REVISIONVALUE"/> + <result property="versionRule" column="VISIONRULE"/> + <result property="revisionValue" column="REVISIONRULE"/> + <result property="versionValue" column="VERSIONVALUE"/> + <result property="revisionSeq" column="REVISIONSEQ"/> + <result property="versionSeq" column="VERSIONSEQ"/> + <result property="lctid" column="LCTID"/> + <result property="lcStatus" column="LCSTATUS"/> + <result property="ts" column="TS"/> + <result property="id" column="ID"/> + <result property="name" column="NAME"/> + <result property="description" column="DESCRIPTION"/> + <result property="owner" column="OWNER"/> + <result property="copyFromVersion" column="COPYFROMVERSION"/> + <result property="ignoreCaseFlag" column="IGNORECASEFLAG"/> + <result property="ignoreSpaceFlag" column="IGNORESPACEFLAG"/> + <result property="ignoreAllSpaceFlag" column="IGNOREALLSPACEFLAG"/> + <result property="ignoreWidthFlag" column="IGNOREWIDTHFLAG"/> + <result property="linkCharacter" column="LINKCHARACTER"/> + </resultMap> + +</mapper> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml index 9f357d7..e53c1fc 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml @@ -22,6 +22,10 @@ ${inSql} </select> + <select id="queryByOnlySqlForMap" resultType="java.util.Map"> + ${inSql} + </select> + <insert id="insertByBaseModel" parameterType="java.util.Map"> insert into ${tableName} ( diff --git a/Source/UBCS/ubcs-service/ubcs-omd/pom.xml b/Source/UBCS/ubcs-service/ubcs-omd/pom.xml index 64fa44e..5b2fc51 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-omd/pom.xml @@ -69,6 +69,12 @@ <artifactId>orai18n</artifactId> <version>${orai18n.version}</version> </dependency> + <dependency> + <groupId>com.vci.ubcs</groupId> + <artifactId>ubcs-code-api</artifactId> + <version>3.0.1.RELEASE</version> + <scope>compile</scope> + </dependency> </dependencies> <build> diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java index 5f1dca7..4480390 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java @@ -21,10 +21,7 @@ import lombok.AllArgsConstructor; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.List; @@ -65,6 +62,11 @@ public R<Menu> getMenu(Long id) { return R.data(menuService.getById(id)); } + @Override + @GetMapping(MENU_BUTTON) + public R<List<Menu>> getMenuButtonByType(String btmType) { + return R.data(menuService.getMenuButtonByType(btmType)); + } @Override @GetMapping(DEPT) diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java index 64bfdc7..f66512a 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MenuMapper.java @@ -124,6 +124,12 @@ * @return */ List<Menu> allMenu(); + /** + * 鏍规嵁涓氬姟绫诲瀷鏌ヨ鑿滃崟鐨勫瓙鎸夐挳 + * + * @return + */ + List<Menu> selectMenuChildByBtnType(String btmType); /** * 鏉冮檺閰嶇疆鑿滃崟 diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java index ea50eeb..b6b738a 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.core.secure.BladeUser; +import org.springblade.core.tool.api.R; import org.springblade.core.tool.node.TreeNode; import org.springblade.core.tool.support.Kv; import com.vci.ubcs.system.entity.Menu; @@ -162,5 +163,11 @@ * @return */ boolean submit(Menu menu); - + /** + * 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽� + * + * @param btmType 涓氬姟绫诲瀷 + * @return List<Menu> + */ + List<Menu> getMenuButtonByType(String btmType); } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java index b926374..dc5af71 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java @@ -30,9 +30,10 @@ import com.vci.ubcs.system.service.ITopMenuSettingService; import com.vci.ubcs.system.wrapper.MenuWrapper; import lombok.AllArgsConstructor; -import org.springblade.core.log.exception.ServiceException; +import com.vci.ubcs.core.log.exception.ServiceException; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.node.TreeNode; @@ -294,4 +295,9 @@ return saveOrUpdate(menu); } + @Override + public List<Menu> getMenuButtonByType(String btmType) { + return baseMapper.selectMenuChildByBtnType(btmType); + } + } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml index bda18b0..50d8103 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml @@ -475,4 +475,13 @@ GROUP BY m.path </select> + <select id="selectMenuChildByBtnType" resultMap="menuResultMap"> + select pm.* + from pl_sys_menu ps, pl_sys_menu pm + where ps.is_deleted = 0 + and ps.category = 1 + and ps.alias = #{btmType} + and ps.id = pm.parent_id order by pm.sort asc + </select> + </mapper> -- Gitblit v1.9.3