From 7602a824e39e19260ae32bb45e799e6ce43300ac Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 14 七月 2023 21:15:29 +0800 Subject: [PATCH] 参照配置组件修改 --- Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue | 97 ++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 14 Source/UBCS-WEB/src/views/code/code.vue | 90 ++------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 137 ++++++++------ Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue | 2 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue | 121 ++++++------ Source/UBCS-WEB/src/main.js | 6 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java | 19 +- Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue | 13 + 10 files changed, 298 insertions(+), 205 deletions(-) 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 e6e2451..ff11590 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue @@ -343,7 +343,7 @@ export default { name: "formulaEditor", props: { - // 瀵硅瘽妗嗘樉绀洪殣钘忔帶鍒� + // 瀵硅瘽妗嗘樉绀洪殣钘忔帶鍒� visible: { type: "Boolean", default: false, diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue index e755f1a..adbf433 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue @@ -77,12 +77,13 @@ //import func from "@/util/func"; import { getReferConfigPage } from "@/api/code/codeReferConfig"; export default { - name: "referConfigDialog", + name: "referConfigCrudDialog", props: { + }, data() { return{ - isShowReferConfigCrud:false, + isShowReferConfigCrud: false, referConfigCrudOption: { border: true, height: '45vh', @@ -468,6 +469,14 @@ ], } }, + watch: { + // 鐩戝惉鐖剁粍浠朵紶鐨勭獥鍙f樉绀洪殣钘忕殑鍊� + isShowReferConfigCrud (){ + if(this.isShowReferConfigCrud){ + this.referConfigOnload(); + } + } + }, methods: { // 涓嬩竴姝ヨ杩涜鐨勬搷浣滈�夋嫨骞朵繚瀛樻垨閫夋嫨骞朵慨鏀� diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue new file mode 100644 index 0000000..4e3101f --- /dev/null +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue @@ -0,0 +1,97 @@ +<template> + <div v-if="display"> + <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 --> + <refer-config-form-dialog + ref="referConfigFormDialog" + @echoReferConfig="echoReferConfig"> + </refer-config-form-dialog> + <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 --> + <refer-config-crud-dialog + ref="referConfigCrudDialog" + @openReconfigInterFace="openReconfigInterFace" + @echoReferConfig="echoReferConfig"> + </refer-config-crud-dialog> + </div> +</template> + +<script> +import referConfigFormDialog from "./referConfigFormDialog.vue"; +import referConfigCrudDialog from "./referConfigCrudDialog.vue"; +import func from "@/util/func"; +export default { + name: "referConfigDialog", + props: ["referConfigOption","display"], + components: {referConfigFormDialog, referConfigCrudDialog}, + data() { + return { + + }; + }, + watch:{ + referConfigOption (){ + if(func.notEmpty(this.referConfigOption.referConfig) || func.notEmpty(this.referConfigOption.referBtmId)){ + this.openReconfigInterFace(this.referConfigOption); + }else{ + this.openTipsChooseOrCust(); + } + } + }, + methods: { + echoReferConfig(value) { + this.emitData = value; + }, + // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰 + openReconfigInterFace(preReferConfigForm){ + const form = preReferConfigForm; + let data = { + referTypeName: form.referBtmName, + referType: form.referBtmId, + } + if(this.referConfigOption.referConfig){ + // 缂栬緫鐮佹鏃秗eferConfig鍙兘浼氬湪涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庢敼鍙� + let referConfigValue =JSON.parse(form.referConfig); + if(referConfigValue.referType != form.referBtmId){ + referConfigValue.referType = form.referBtmId || ''; + referConfigValue.referTypeName = form.referBtmName || form.referBtmId; + this.referConfigOption.referConfig = JSON.stringify(referConfigValue); + } + this.$set(data,"referConfig",this.referConfigOption.referConfig) + } + // 棣栨鐐瑰嚮鎶ラ敊鏈畾涔� + this.$nextTick(()=>{ + this.$refs.referConfigFormDialog.isShowReferConfigForm = true; + this.$refs.referConfigFormDialog.initPageData(data); + }) + }, + // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐨勬彁绀烘 + openTipsChooseOrCust(){ + this.$confirm('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', { + distinguishCancelAndClose: true, + closeOnClickModal: false, + confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�', + cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆' + }) + .then(() => { + // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗� + this.$refs.referConfigFormDialog.isShowReferConfigForm = true; + }) + .catch(action => { + if (action === "cancel") { + // 鎵撳紑鐩存帴閫夋嫨鍙傜収閰嶇疆瀵硅瘽妗� + this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true; + + } + }); + }, + /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */ + echoReferConfig(content){ + this.$emit('setReferConfigValue', content) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠� + }, + + }, +} +</script> + +<style> + +</style> \ No newline at end of file diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue index c04a197..cf0f19d 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue @@ -6,6 +6,7 @@ :visible.sync="isShowReferConfigForm" width="90%" id="refer-config-form" + destroy-on-close @close="recoveryDataAndForm('initData')" style="height: 115vh; margin-top: -14vh; overflow-y: hidden"> <div style="width: 100%; overflow-y: auto; height: 70vh"> @@ -234,8 +235,9 @@ <script> import func from "@/util/func"; export default { - name: "referConfigDialog", + name: "referConfigFormDialog", props: { + }, data() { let element = ''; @@ -244,6 +246,7 @@ labelWidth: '150', // 鏍囬瀹藉害 isShowReferConfigForm: false, // 绗竴灞傚璇濇鏄剧ず闅愯棌鎺у埗 referTypeIsReadOnly: false, + // 琛ㄥ崟瀵硅薄 form: { referTypeName: '', //鏄剧ず鐨勫�� @@ -419,7 +422,7 @@ },{ value: "_notlike", label: "涓嶅寘鍚�", }, { - value: 'equal', label: '绛変簬' + value: '_equal', label: '绛変簬' }, { value: '_notequal', label: '涓嶇瓑浜�' }, { @@ -899,10 +902,6 @@ this.element = document.getElementById('refer-config-form'); this.element.addEventListener("click", (e) => { //<table cellspacing="0" cellpadding="0" border="0" class="el-table__body" style="width: 911px;"> - //console.log(e.target); - // console.log(this.$refs.crudAttr); - // console.log(this.$refs.crudAttr.$el.contains(e.target)); - //console.log(!this.$refs.crudAttr.$el.contains(e.target) && this.preClickAttrRow != null); if (!this.$refs.crudAttr.$el.contains(e.target) && this.preClickAttrRow != '') { this.preClickAttrRow.$cellEdit = false; @@ -917,58 +916,16 @@ // 璐煎潙锛屽垏鎹㈢被鍨嬫椂琛ㄦ牸锛岄殣钘忓啀鏄剧ず灏变細鍑虹幇琛ㄦ牸閿欎綅闂锛� 'form.type'(value) { this.onloadAttrData(); + }, + // 鐩戝惉鐖剁粍浠朵紶鐨勭獥鍙f樉绀洪殣钘忕殑鍊� + isShowReferConfigForm (){ + if(this.isShowReferConfigForm){ + this.onloadAttrData(); + } } }, methods: { - - // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈� - clickAttrEdit(row, column, event){ - if(this.preClickAttrRow && this.preClickAttrRow != row){ - //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); - this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false; - } - row.$cellEdit = true; - this.preClickAttrRow = row; - }, - // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉� - // updateAttrBlur(value){ - //console.log(this.codeShowFieldConfigVOS[0]); - - // }, - - // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈� - clickAddSearchCondtionEdit(row, column, event){ - if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){ - //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); - this.form.codeSrchCondConfigVOS[this.preClickAddSearchConditionRow.$index].$cellEdit = false; - } - row.$cellEdit = true; - this.preClickAddSearchConditionRow = row; - }, - //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌� - initPageData(val){ - //console.log(val); - if(func.notEmpty(val.referConfig)){ - this.form = JSON.parse(val.referConfig); - // console.log(this.form); - this.form.isPersistence = this.form.isPersistence == 'true' ? true:false; - // 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩笉鍙�� - this.referTypeIsReadOnly = true; - if((this.form.type == 'default' || this.form.type == 'grid') && (this.form.codeShowFieldConfigVOS != undefined && this.form.codeShowFieldConfigVOS.length > 0)){ - this.codeShowFieldConfigVOS = this.form.codeShowFieldConfigVOS; - } - return; - }else { - this.onloadAttrData() - } - if(func.notEmpty(val.referType)){ - this.form.referTypeName = val.referTypeName; - this.form.referType = val.referType; - this.referTypeIsReadOnly = true; - return; - } - //console.log(localStorage.getItem("userId")); - }, + // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙� async selectedListReferConfig(){ // 鏍囪鎵�鏈夎〃鍗曟槸鍚﹂�氳繃鏍¢獙鐨勫彉閲� @@ -996,6 +953,52 @@ this.isShowReferConfigForm = false; } }, + // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈� + clickAttrEdit(row, column, event){ + if(this.preClickAttrRow && this.preClickAttrRow != row){ + //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); + this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false; + } + row.$cellEdit = true; + this.preClickAttrRow = row; + }, + // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉� + // updateAttrBlur(value){ + //console.log(this.codeShowFieldConfigVOS[0]); + + // }, + + // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈� + clickAddSearchCondtionEdit(row, column, event){ + if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){ + //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); + this.form.codeSrchCondConfigVOS[this.preClickAddSearchConditionRow.$index].$cellEdit = false; + } + row.$cellEdit = true; + this.preClickAddSearchConditionRow = row; + }, + //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌� + initPageData(val){ + // console.log(val.referConfig); + if(func.notEmpty(val.referConfig)){ + this.form = JSON.parse(val.referConfig); + // 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩笉鍙�� + // this.referTypeIsReadOnly = true; + if((this.form.type == 'default' || this.form.type == 'grid') && (this.form.codeShowFieldConfigVOS != undefined && this.form.codeShowFieldConfigVOS.length > 0)){ + this.codeShowFieldConfigVOS = this.form.codeShowFieldConfigVOS; + } + return; + }else { + this.onloadAttrData() + } + if(func.notEmpty(val.referType)){ + this.form.referTypeName = val.referTypeName; + this.form.referType = val.referType; + this.referTypeIsReadOnly = true; + return; + } + //console.log(localStorage.getItem("userId")); + }, /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝 浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠oLayout鏂规硶*/ onloadAttrData(){ @@ -1022,9 +1025,9 @@ $cellEdit: false } ]; - this.$nextTick(() => { - this.$refs.crudAttr.doLayout() - }) + // this.$nextTick(() => { + // this.$refs.crudAttr.doLayout() + // }) }, // 灞炴�ч�夋嫨琛ㄦ牸涓殑绉婚櫎鎸夐挳鍔熻兘 removeCurrentRow(row,condition){ @@ -1198,7 +1201,7 @@ this.form.codeSrchCondConfigVOS.push( { filterField: item.id, - filterType: 'equal', + filterType: '_equal', filterTypeText: item.name, filterValue: '', $cellEdit: false diff --git a/Source/UBCS-WEB/src/main.js b/Source/UBCS-WEB/src/main.js index fe04f15..7ad2bdd 100644 --- a/Source/UBCS-WEB/src/main.js +++ b/Source/UBCS-WEB/src/main.js @@ -38,8 +38,7 @@ import TemplatePro from "@/components/Tree/TemplatePro" import attrCrud from "@/components/Tree/attrCrud" import formulaEditor from "@/components/code-dialog-page/formulaEditor" -import referConfigCrudDialog from "@/components/code-dialog-page/referConfigCrudDialog" -import referConfigFormDialog from "@/components/code-dialog-page/referConfigFormDialog" +import referConfigDialog from "@/components/code-dialog-page/referConfigDialog" import referBtmTypeCrudDialog from "@/components/code-dialog-page/referBtmTypeCrudDialog" import referSelectBtmAttrDialog from "@/components/code-dialog-page/referSelectBtmAttrDialog" import advancedQuery from "@/components/advanced-query/advancedQuery" @@ -90,8 +89,7 @@ Vue.component('classifyTreeform',classifyTreeform) Vue.component('TemplatePro',TemplatePro) Vue.component('formulaEditor',formulaEditor) -Vue.component('referConfigCrudDialog',referConfigCrudDialog) -Vue.component('referConfigFormDialog',referConfigFormDialog) +Vue.component('referConfigDialog',referConfigDialog) Vue.component('advancedQuery',advancedQuery) Vue.component('businessAdd',businessAdd) Vue.component('attrCrud',attrCrud) diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index b0facfa..2c009fa 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -767,8 +767,8 @@ <formula-editor ref="formulaEditor" @updateFormulaContent="updateFormulaContent" - :thisSceneTableData="formulaEditorParams.thisSceneTableData" :visible.sync="formulaEditorParams.formulaEditorSettingBox" + :thisSceneTableData="formulaEditorParams.thisSceneTableData" :systemVariableTableData="formulaEditorParams.systemVariableTableData"> </formula-editor> @@ -807,18 +807,12 @@ @echoReferBtmType="echoReferBtmType"> </refer-btm-type-crud-dialog> - <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 --> - <refer-config-form-dialog - ref="referConfigFormDialog" - @echoReferConfig="echoReferConfig"> - </refer-config-form-dialog> - - <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 --> - <refer-config-crud-dialog - ref="referConfigCrudDialog" - @openReconfigInterFace="openReconfigInterFace" - @echoReferConfig="echoReferConfig"> - </refer-config-crud-dialog> + <!-- 绗簩灞傚璇濇,鍙傜収閰嶇疆缁勪欢 --> + <refer-config-dialog + :display="referConfigVisble" + @setReferConfigValue="setReferConfigValue" + :referConfigOption="referConfigOption"> + </refer-config-dialog> </el-dialog> @@ -852,7 +846,6 @@ import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; import fixedValueOption from "@/const/code/fixedValueMgrDialog"; import {mapGetters} from "vuex"; - import func from "@/util/func"; import {getByRoleUserList} from "@/api/system/user"; export default { @@ -963,7 +956,6 @@ }, classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」 classifyValueTreeData: [], - //currentSelectClsValueTreeData: '', //褰撳墠閫変腑鐨勫垎绫荤爜鍊兼爲鑺傜偣 /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */ isShowSelectAttrOption: false, @@ -1112,6 +1104,10 @@ //conditionMapParams: {}, }, + //寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁� + referConfigOption: {}, + referConfigVisble: false, + }; }, computed: { @@ -1130,6 +1126,13 @@ }, mounted(){ this.loadTotalEnum(); + }, + // 瑙e喅琛ㄦ牸閿欒闂 + activated () { + this.$nextTick(() => { + this.$refs.crud.doLayout(); + this.$refs.crudBasic.doLayout(); + }) }, methods: { @@ -1182,7 +1185,7 @@ this.form.getValueClass = content; }, /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */ - echoReferConfig(content){ + setReferConfigValue(content){ // console.log(content.referTypeName); this.form.referBtmId = content.referType || ''; this.form.referBtmName = content.referTypeName || content.referType; @@ -2516,7 +2519,6 @@ // 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌 hideBasicTable(hideBoolean){ this.$refs.crudBasic.option.refreshBtn = hideBoolean; - this.$refs.crudBasic.option.columnBtn = hideBoolean; this.$refs.crudBasic.option.column[0].search = hideBoolean; this.$refs.crudBasic.option.column[1].search = hideBoolean; if(!hideBoolean){ @@ -2550,56 +2552,14 @@ // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹� this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad(); }else if(condition === 'referConfig'){ - if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){ - this.openReconfigInterFace(this.form); - }else{ - this.openTipsChooseOrCust(); + this.referConfigVisble = true; + this.referConfigOption = { + referBtmName: this.form.referBtmName, + referBtmId: this.form.referBtmId, + referConfig: this.form.referConfig || '', } + this.$refs.referConfig.$el.querySelector('input').blur(); } - }, - - // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰 - openReconfigInterFace(preReferConfigForm){ - const form = preReferConfigForm; - // 缂栬緫鐮佹鏃秗eferConfig鍙兘浼氬湪涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庢敼鍙� - let referConfigValue =JSON.parse(form.referConfig); - if(referConfigValue.referType != form.referBtmId){ - referConfigValue.referType = form.referBtmId || ''; - referConfigValue.referTypeName = form.referBtmName || form.referBtmId; - this.form.referConfig = JSON.stringify(referConfigValue); - } - let data = { - referTypeName: form.referBtmName, - referType: form.referBtmId, - referConfig: this.form.referConfig, - } - this.$refs.referConfigFormDialog.isShowReferConfigForm = true; - this.$refs.referConfigFormDialog.initPageData(data); - }, - // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐨勬彁绀烘 - openTipsChooseOrCust(){ - this.$confirm('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', { - distinguishCancelAndClose: true, - closeOnClickModal: false, - confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�', - cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆' - }) - .then(() => { - // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗� - this.$refs.referConfigFormDialog.isShowReferConfigForm = true; - // 琛ㄦ牸閿欒鐨勯棶棰� - this.$refs.referConfigFormDialog.onloadAttrData(); - }) - .catch(action => { - if (action === "cancel") { - // 鎵撳紑鐩存帴閫夋嫨鍙傜収閰嶇疆瀵硅瘽妗� - this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true; - this.$refs.referConfigCrudDialog.referConfigOnload(); - } - //console.log(action); - }); - // 璁╁弬鐓ч厤缃緭鍏ユ澶卞幓鐒︾偣锛屽惁鍒欒鎻愮ず妗嗘棤娉曡鍏抽棴 - this.$refs.referConfig.$el.querySelector('input').blur(); }, // 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java index 3ca0dac..df6cba9 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java @@ -148,10 +148,10 @@ /** * 浣跨敤瑙勫垯鐨勪富閿幏鍙栧搴旂殑鐮佹鍐呭 - * @param conditionMap 瑙勫垯鐨勫唴瀹� + * @param ruleOid 瑙勫垯鐨勫唴瀹� * @return 鐮佹鐨勫唴瀹� */ - List<CodeBasicSecVO> listCodeBasicSecByRuleOid(Map<String,Object> conditionMap); + List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String ruleOid); /** * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java index c8869c3..c69312c 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java @@ -2,6 +2,7 @@ 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.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -762,17 +763,18 @@ /** * 浣跨敤瑙勫垯鐨勪富閿幏鍙栧搴旂殑鐮佹鍐呭 * - * @param conditionMap 瑙勫垯鐨勫唴瀹� + * @param ruleOid 瑙勫垯鐨勫唴瀹� * @return 鐮佹鐨勫唴瀹� */ @Override - public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(Map<String,Object> conditionMap)throws ServiceException { - if(Func.isBlank(conditionMap.getOrDefault("pkCodeRule","").toString())){ + public List<CodeBasicSecVO> listCodeBasicSecByRuleOid(String ruleOid)throws ServiceException { + if(StringUtils.isBlank(ruleOid)){ return new ArrayList<>(); } - QueryWrapper<CodeBasicSec> wrapper = UBCSCondition.getQueryWrapper(conditionMap, CodeBasicSec.class); - wrapper.orderByAsc("orderNum"); - List<CodeBasicSec> secDOList = baseMapper.selectList(wrapper);//.selectByCondition(conditionMap, pageHelper); + LambdaQueryWrapper<CodeBasicSec> wrapper = Wrappers.<CodeBasicSec>query().lambda() + .eq(CodeBasicSec::getPkCodeRule, ruleOid) + .orderByAsc(CodeBasicSec::getOrderNum); + List<CodeBasicSec> secDOList = baseMapper.selectList(wrapper);// return codeBasicSecDO2VOs(secDOList,true); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java index 2d4778c..8bd5db7 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java @@ -17,6 +17,7 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.cloud.commons.lang.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -498,12 +499,14 @@ */ @Override public R checkLikeCodeRule(String oid) throws VciBaseException { - CodeRuleVO codeRuleVO = getObjectByOid(oid); - // 1銆佸幓鎺夋祦姘寸爜娈碉紝璁$畻鍑哄叾浠栫爜娈靛�奸暱搴︼紝鍦ㄥ凡鍙戝竷鐨勮鍒欎腑姣斿鍑洪暱搴︿竴鑷寸殑缂栫爜瑙勫垯 - HashMap<String, Object> condtionMap = new HashMap<>(); - condtionMap.put("pkCodeRule_equal",codeRuleVO.getOid()); - condtionMap.put("secType_notequal", CodeSecTypeEnum.CODE_SERIAL_SEC); - codeRuleVO.setSecVOList(codeBasicSecService.listCodeBasicSecByRuleOid(condtionMap)); + // 1銆佹煡璇㈠嚭褰撳墠瑕佸彂甯冪殑瑙勫垯 + CodeRuleVO codeRuleVO = getObjectHasSecByOid(oid); + // 2銆佹壘鍑轰笌褰撳墠鍙戝竷鐨勮鍒欑爜娈甸『搴忎竴鑷寸殑瑙勫垯 + if(Func.isNotEmpty(codeRuleVO.getSecVOList())){ + String secType = codeRuleVO.getSecVOList().stream().map(CodeBasicSecVO::getSecType).collect(Collectors.joining(",")); + + } + // TODO 寰呭畬鍠� @@ -555,9 +558,7 @@ //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 vo.setLcStatusText(CodeRuleLC.getTextByValue(vo.getLcStatus())); if (hasSec) { - Map<String, Object> condtionMap = new HashMap<>(); - condtionMap.put("pkCodeRule",vo.getOid()); - List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(condtionMap); + List<CodeBasicSecVO> codeBasicSecVOS = codeBasicSecService.listCodeBasicSecByRuleOid(vo.getOid()); //鏌ヨ鐮佹 vo.setSecVOList(codeBasicSecVOS); } 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 051c73b..35e96c2 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 @@ -963,13 +963,16 @@ CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyOid); List<UIFormItemVO> itemVOS = new ArrayList<>(); - Map<String, List<CodeClassifyTemplateAttrVO>> attrGroupMap = templateVO.getAttributes().stream(). - filter(s -> StringUtils.isNotBlank(s.getAttributeGroup())).collect(Collectors.groupingBy(s -> s.getAttributeGroup())); - templateVO.getAttributes().forEach(attrVO -> { - UIFormItemVO formItemVO = templateAttr2FormField(attrVO, templateVO.getBtmTypeId()); - itemVOS.add(formItemVO); - }); + Map<String, List<CodeClassifyTemplateAttrVO>> attrGroupMap = new HashMap<>(); + if (Func.isNotEmpty(templateVO.getAttributes())) { + attrGroupMap = templateVO.getAttributes().stream(). + filter(s -> StringUtils.isNotBlank(s.getAttributeGroup())).collect(Collectors.groupingBy(s -> s.getAttributeGroup())); + templateVO.getAttributes().forEach(attrVO -> { + UIFormItemVO formItemVO = templateAttr2FormField(attrVO, templateVO.getBtmTypeId()); + itemVOS.add(formItemVO); + }); + } //澶勭悊灞炴�у垎缁� if (!CollectionUtils.isEmpty(attrGroupMap)) { //鎸夌収鍒嗙粍鐨勫睘鎬ф帓鍒楋紝鎵惧埌姣忎竴涓垎缁勭殑绗竴涓睘鎬� @@ -1440,26 +1443,32 @@ } //鍏堣浆鎹竴涓嬫椂闂存牸寮� List<String> finalOnlySelectAttrIdList = onlySelectAttrIdList.stream().collect(Collectors.toList()); - List<CodeClassifyTemplateAttrVO> dateFormatAttrVOs = templateVO.getAttributes().stream().filter( - s -> StringUtils.isNotBlank(s.getCodeDateFormat()) && - (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) - ).collect(Collectors.toList()); - //鏋氫妇鐨勫唴瀹� - List<CodeClassifyTemplateAttrVO> enumAttrVOs = templateVO.getAttributes().stream().filter( - s -> (StringUtils.isNotBlank(s.getEnumId()) || StringUtils.isNotBlank(s.getEnumString())) - && - (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) - ).collect(Collectors.toList()); + List<CodeClassifyTemplateAttrVO> dateFormatAttrVOs = new ArrayList<>(); + List<CodeClassifyTemplateAttrVO> enumAttrVOs = new ArrayList<>(); + if (Func.isNotEmpty(templateVO.getAttributes())) { + dateFormatAttrVOs = templateVO.getAttributes().stream().filter( + s -> StringUtils.isNotBlank(s.getCodeDateFormat()) && + (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) + ).collect(Collectors.toList()); + //鏋氫妇鐨勫唴瀹� + enumAttrVOs = templateVO.getAttributes().stream().filter( + s -> (StringUtils.isNotBlank(s.getEnumId()) || StringUtils.isNotBlank(s.getEnumString())) + && + (finalOnlySelectAttrIdList.size() == 0 || finalOnlySelectAttrIdList.contains(s.getId().toLowerCase(Locale.ROOT))) + ).collect(Collectors.toList()); + } List<String> userIds = new ArrayList<>(); - dataMap.stream().forEach(data -> { + List<CodeClassifyTemplateAttrVO> finalDateFormatAttrVOs = dateFormatAttrVOs; + List<CodeClassifyTemplateAttrVO> finalEnumAttrVOs = enumAttrVOs; + dataMap.stream().forEach(data -> { //澶勭悊鏃堕棿 if (!form) { //琛ㄥ崟鐨勬椂鍊欏彧鑳界敤缁熶竴鐨勬椂闂存牸寮� - wrapperDateFormat(dateFormatAttrVOs, data); + wrapperDateFormat(finalDateFormatAttrVOs, data); } //澶勭悊鏋氫妇 - wrapperEnum(enumAttrVOs, data); + wrapperEnum(finalEnumAttrVOs, data); String lcstatus = data.get(VciQueryWrapperForDO.LC_STATUS_FIELD); String copyFromVersion = data.getOrDefault(COPY_FROM_VERSION, ""); if ((CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(lcstatus) || CodeDefaultLC.AUDITING.getValue().equalsIgnoreCase(lcstatus)) @@ -1574,17 +1583,25 @@ //鍥犱负鍙傜収涓嶄竴瀹氭槸鍦ㄥ钩鍙扮殑灞炴�ф睜閲岄潰璁剧疆锛屾墍浠ユ垜浠緱闇�瑕佽嚜琛屽鐞� //鍙傝�僔ciQueryWrapper鏉ュ鐞� //1. 鎵惧埌鎵�鏈夌殑瀛楁锛� - Map<String, CodeClassifyTemplateAttrVO> attrVOMap = templateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); - List<String> selectFieldList = attrVOMap.keySet().stream().collect(Collectors.toList()); + Map<String, CodeClassifyTemplateAttrVO> attrVOMap = new HashMap<>(); + List<String> selectFieldList = new ArrayList<>(); + if(Func.isNotEmpty(templateVO.getAttributes())){ + attrVOMap = templateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); + selectFieldList = attrVOMap.keySet().stream().collect(Collectors.toList()); + } //鎵�鏈夌殑鍙傜収鐨勫瓧娈� Map<String/**灞炴�у瓧娈�**/, String> joinTableList = new ConcurrentHashMap<>(); - List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( - s -> StringUtils.isNotBlank(s.getReferBtmId()) || StringUtils.isNotBlank(s.getReferConfig()) - ).collect(Collectors.toList()); + List<CodeClassifyTemplateAttrVO> referAttrVOs = null; + if (Func.isNotEmpty(templateVO.getAttributes())) { + referAttrVOs = templateVO.getAttributes().stream().filter( + s -> StringUtils.isNotBlank(s.getReferBtmId()) || StringUtils.isNotBlank(s.getReferConfig()) + ).collect(Collectors.toList()); + } Map<String/**鍙傜収鐨勫睘鎬�**/, String/**瀹為檯鐨勫瓧娈�**/> referFieldMap = new ConcurrentHashMap<>(); if (!CollectionUtils.isEmpty(referAttrVOs)) { - referAttrVOs.parallelStream().forEach(attrVO -> { + List<String> finalSelectFieldList = selectFieldList; + referAttrVOs.parallelStream().forEach(attrVO -> { UIFormReferVO referVO = null; if (StringUtils.isNotBlank(attrVO.getReferConfig())) { referVO = JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class); @@ -1614,7 +1631,7 @@ showFieldInSource = textFields.get(0); } referFieldMap.put(attrVO.getId(), referTableNick + "." + showFieldInSource); - selectFieldList.add(referTableNick + "." + showFieldInSource + " as " + referShowField); + finalSelectFieldList.add(referTableNick + "." + showFieldInSource + " as " + referShowField); }); } R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getDefaultAttrByBtmId(btmType); @@ -1658,11 +1675,12 @@ } }); - andCondtionMap.forEach((k, v) -> { - andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap, btmType)); + Map<String, CodeClassifyTemplateAttrVO> finalAttrVOMap = attrVOMap; + andCondtionMap.forEach((k, v) -> { + andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, finalAttrVOMap, btmType)); }); orConditionMap.forEach((k, v) -> { - orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap, btmType)); + orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, finalAttrVOMap, btmType)); }); } //缁勫悎璧锋潵 @@ -2858,38 +2876,43 @@ List<UITableFieldVO> fieldVOList = new ArrayList<>(); Map<String, String> comboxOrReferFieldMap = new HashMap<>(); - templateVO.getAttributes().forEach(attrVO -> { - UITableFieldVO tableFieldVO = templateAttr2TableField(attrVO, forEdit); - if ("combox".equalsIgnoreCase(tableFieldVO.getFieldType())) { - comboxOrReferFieldMap.put(tableFieldVO.getSortField(), tableFieldVO.getField()); - } - if ("refer".equalsIgnoreCase(tableFieldVO.getFieldType())) { - comboxOrReferFieldMap.put(tableFieldVO.getSortField(), tableFieldVO.getField()); - } - if (StringUtils.isNotBlank(tableFieldVO.getEdit())) { - tableDefineVO.setHasEditor(true); - } - fieldVOList.add(tableFieldVO); - }); + if (Func.isNotEmpty(templateVO.getAttributes())) { + templateVO.getAttributes().forEach(attrVO -> { + UITableFieldVO tableFieldVO = templateAttr2TableField(attrVO, forEdit); + if ("combox".equalsIgnoreCase(tableFieldVO.getFieldType())) { + comboxOrReferFieldMap.put(tableFieldVO.getSortField(), tableFieldVO.getField()); + } + if ("refer".equalsIgnoreCase(tableFieldVO.getFieldType())) { + comboxOrReferFieldMap.put(tableFieldVO.getSortField(), tableFieldVO.getField()); + } + if (StringUtils.isNotBlank(tableFieldVO.getEdit())) { + tableDefineVO.setHasEditor(true); + } + fieldVOList.add(tableFieldVO); + }); + } List<List<UITableFieldVO>> cols = new ArrayList<>(); cols.add(fieldVOList); tableDefineVO.setCols(cols); Map<String, UITableFieldVO> fieldVOMap = fieldVOList.stream().collect(Collectors.toMap(s -> s.getField().toLowerCase(Locale.ROOT), t -> t)); - //鏌ヨ灞炴�� - List<CodeClassifyTemplateAttrVO> queryAttrVOs = templateVO.getAttributes().stream().filter(s -> BooleanEnum.TRUE.getValue().equalsIgnoreCase(s.getQueryAttrFlag())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(queryAttrVOs)) { - List<UITableFieldVO> queryFieldVOs = new ArrayList<>(); - queryAttrVOs.stream().forEach(attrVO -> { - String attrId = attrVO.getId().toLowerCase(Locale.ROOT); - attrId = comboxOrReferFieldMap.getOrDefault(attrId, attrVO.getId()).toLowerCase(Locale.ROOT); - if (fieldVOMap.containsKey(attrId)) { - queryFieldVOs.add(fieldVOMap.get(attrId)); - } - }); - tableDefineVO.setQueryColumns(queryFieldVOs); - } - //楂樼骇灞炴�� - List<CodeClassifyTemplateAttrVO> seniorQueryAttrVOs = templateVO.getAttributes().stream().filter(s -> BooleanEnum.TRUE.getValue().equalsIgnoreCase(s.getSeniorQueryAttrFlag())).collect(Collectors.toList()); + List<CodeClassifyTemplateAttrVO> seniorQueryAttrVOs = null; + if (Func.isNotEmpty(templateVO.getAttributes())) { + //鏌ヨ灞炴�� + List<CodeClassifyTemplateAttrVO> queryAttrVOs = templateVO.getAttributes().stream().filter(s -> BooleanEnum.TRUE.getValue().equalsIgnoreCase(s.getQueryAttrFlag())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(queryAttrVOs)) { + List<UITableFieldVO> queryFieldVOs = new ArrayList<>(); + queryAttrVOs.stream().forEach(attrVO -> { + String attrId = attrVO.getId().toLowerCase(Locale.ROOT); + attrId = comboxOrReferFieldMap.getOrDefault(attrId, attrVO.getId()).toLowerCase(Locale.ROOT); + if (fieldVOMap.containsKey(attrId)) { + queryFieldVOs.add(fieldVOMap.get(attrId)); + } + }); + tableDefineVO.setQueryColumns(queryFieldVOs); + } + //楂樼骇灞炴�� + seniorQueryAttrVOs = templateVO.getAttributes().stream().filter(s -> BooleanEnum.TRUE.getValue().equalsIgnoreCase(s.getSeniorQueryAttrFlag())).collect(Collectors.toList()); + } if (!CollectionUtils.isEmpty(seniorQueryAttrVOs)) { List<UITableFieldVO> queryFieldVOs = new ArrayList<>(); seniorQueryAttrVOs.stream().forEach(attrVO -> { -- Gitblit v1.9.3