From 6732cd7a4e0fd7ea083d4ae11254bde35adb1ee4 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期五, 17 十一月 2023 01:39:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 43 ++ Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 2 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java | 59 +--- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java | 5 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml | 4 Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 21 Source/UBCS-WEB/src/views/code/code.vue | 14 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java | 22 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 22 + Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java | 1 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue | 17 + Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java | 1 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java | 146 +++++++++ Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 141 +++++---- Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 59 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 50 +++ Source/UBCS-WEB/src/components/FormTemplate/index.vue | 14 + Source/UBCS-WEB/src/components/Master/MasterTransfer.vue | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 4 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue | 33 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java | 70 ++++ Source/UBCS-WEB/src/components/BatchImport/index.vue | 6 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java | 12 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java | 13 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java | 21 + 32 files changed, 608 insertions(+), 195 deletions(-) diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue index 1f156fe..0f7ca74 100644 --- a/Source/UBCS-WEB/src/components/BatchImport/index.vue +++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue @@ -182,7 +182,7 @@ tipList: [ "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」", "2.浼佷笟缂栫爜锛岄泦鍥㈢爜鍜岀姸鎬侀兘闇�瑕佸鍏�", - "3.姣忔浠呰兘鏈�澶氬鍏�10000鏉℃暟鎹紝濡傛灉鍑洪敊浼氳繑鍥為敊璇殑鏁版嵁鍜屽師鍥狅紝浣嗘槸姝g‘鐨勬暟鎹細淇濆瓨", + "3.姣忔浠呰兘鏈�澶氬鍏�5000鏉℃暟鎹�(鍙�氳繃nacos杩涜閰嶇疆锛屾帹鑽�5000/娆″鍏�)锛屽鏋滃嚭閿欎細杩斿洖閿欒鐨勬暟鎹拰鍘熷洜锛屼絾鏄纭暟鎹彲浠ョ户缁繚瀛�", "4.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粎濉啓褰撳墠閫夌殑鍒嗙被鏍戜笂鐨勪笅绾у垎绫荤殑璺緞锛屽鏋滃綋鍓嶅垎绫诲凡缁忔槸鍙跺瓙鑺傜偣锛屽垯涓嶅~鍐�", ], action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData", @@ -290,12 +290,12 @@ }, onError(err) { this.pageLoading.close(); - console.log('onError') + //console.log('onError') }, uploadChange(file) { if (file.status === "success" || file.status === "error") { this.pageLoading.close(); - console.log('uploadChange') + //console.log('uploadChange') } }, }, diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index ea31d7c..dff9401 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -3,37 +3,37 @@ <template> <div> <avue-form - v-model="form" - :option="option" - v-loading="loading" - ref="form" - :style="{ minHeight: loading ? '300px' : '' }" :key="updateIndex" + ref="form" + v-model="form" + v-loading="loading" + :option="option" + :style="{ minHeight: loading ? '300px' : '' }" > - <template :slot="item.prop + 'Label'" v-for="item in slotColumnList"> + <template v-for="item in slotColumnList" :slot="item.prop + 'Label'"> <span> <span>{{ item.label }} </span> <el-tooltip v-if="item.keyAttr" class="item" - effect="dark" content="璇ュ睘鎬т负鍏抽敭灞炴��" + effect="dark" placement="top-start" > <i class="el-icon-star-on key_attr_icon"></i> </el-tooltip> </span> </template> - <template :slot="item.prop + ''" v-for="item in slotColumnList"> + <template v-for="item in slotColumnList" :slot="item.prop + ''"> <vciWebRefer - :key="item.dataKey" :data-key="item.dataKey" - v-if="item.type == 'refer'" - :referConfig="item.referConfig || {}" - :value="form[item.referConfig.field] || item.value" - :text="form[item.referConfig.showField]" + v-if="item.type == 'refer'" :key="item.dataKey" + :data-key="item.dataKey" :disabled="item.disabled" :display="item.display" + :referConfig="item.referConfig || {}" :reloadData="item.referConfig.reloadData || false" + :text="form[item.referConfig.showField]" + :value="form[item.referConfig.field] || item.value" @setReferValue="setReferValue" ></vciWebRefer> </template> @@ -42,12 +42,13 @@ </template> <script> -import { getFormDetail } from "@/api/formTemplate"; -import { getEnumDictionary } from "../../api/system/dict"; +import {getFormDetail} from "@/api/formTemplate"; +import {getEnumDictionary} from "../../api/system/dict"; import vciWebRefer from "../refer/vciWebRefer.vue"; + export default { name: "FormTemplate", - components: { vciWebRefer }, + components: {vciWebRefer}, props: { // 榛樿绂佺敤鍏冪礌 disabledProp: { @@ -62,9 +63,9 @@ type: String, default: "", }, - LoadingStatus:{ + LoadingStatus: { type: String, - default : "code" + default: "code" }, // 鍒楄〃鏁版嵁oid rowOid: { @@ -91,21 +92,22 @@ type: Number, default: 8, }, - TreeValue:{ + TreeValue: { type: String, default: "", }, - eventList:{ - type:Array + eventList: { + type: Array } }, data() { return { - add:'', - codeattrsecValue:'', - ValidataValue:false, - eventFlag:{}, - TreeValueForm:'', + attrList: [], + add: '', + codeattrsecValue: '', + ValidataValue: false, + eventFlag: {}, + TreeValueForm: '', updateIndex: 0, form: {}, option: { @@ -160,24 +162,33 @@ immediate: true, handler(newV) { this.$emit("getFormData", newV); - // console.log("getFormData", newV) }, }, - TreeValue:{ - handler(newval,oldval){ - if(newval){ - this.TreeValueForm=newval; + + attrList: { + deep: true, + immediate: true, + handler(newVal, oldVal) { + if (newVal) { + this.$emit("attrList", newVal) + } + } + }, + TreeValue: { + handler(newval, oldval) { + if (newval) { + this.TreeValueForm = newval; } }, - deep:true, - immediate:true + deep: true, + immediate: true }, }, methods: { // 娓叉煋琛ㄥ崟妯℃澘 - templateRender(formItemList,TreeValue) { + templateRender(formItemList, TreeValue) { if (this.eventList) { - this.eventFlag= this.eventList.some(item => { + this.eventFlag = this.eventList.some(item => { if (item.classifyInvokeEditFlag === 'true') { this.eventObject = item; return true; @@ -192,9 +203,9 @@ formItemList.forEach((formItem) => { // console.log('formItem',formItem) formItem = this.resetFormConfig(formItem); - // if(formItem.type === "datetime"){ - // return; - // } + if (formItem.secType === "codeattrsec") { + this.attrList.push(formItem); + } if (formItem.type === "line") { group.push({ label: formItem.text, @@ -210,7 +221,7 @@ (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0) && (!Array.isArray(formItem.data) || formItem.data.length === 0) ) { - dictKeys.push({ dictKey: formItem.comboxKey, field: formItem.field }); + dictKeys.push({dictKey: formItem.comboxKey, field: formItem.field}); } // 绂佺敤閮ㄥ垎灞炴�э紙澶栭儴浼犲�肩鐢ㄥ拰鍙傜収绂佺敤锛� if (this.disabledProp.includes(formItem.field)) { @@ -227,23 +238,23 @@ message = "璇疯緭鍏�"; trigger = "blur"; } - let fieldMapKey='' - if( formItem.type == "refer" && !formItem.fieldMap){ - fieldMapKey=formItem.field+'Id' - formItem.fieldMap={} - formItem.fieldMap[fieldMapKey]='id' - formItem.fieldMap[formItem.field+'id']='id' + let fieldMapKey = '' + if (formItem.type == "refer" && !formItem.fieldMap) { + fieldMapKey = formItem.field + 'Id' + formItem.fieldMap = {} + formItem.fieldMap[fieldMapKey] = 'id' + formItem.fieldMap[formItem.field + 'id'] = 'id' } let columnItem = { - change:(val)=>{ - if(val.column.field === "drawingno"){ - this.codeattrsecValue=val.value; + change: (val) => { + if (val.column.field === "drawingno") { + this.codeattrsecValue = val.value; } // console.log(this.codeattrsecValue) }, - dataKey:formItem.dataKey || formItem.field, + dataKey: formItem.dataKey || formItem.field, label: formItem.text, labelslot: true, prop: this.$utilFunc.isValuableObj(formItem.referConfig) @@ -252,16 +263,16 @@ field: formItem.field, type: this.columnType[formItem.type], dicData: this.getDataList(formItem.type, formItem.data), - disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ?true : false) , + disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false), prepend: this.preOrSufFixShow("text", formItem.prefix), append: this.preOrSufFixShow("text", formItem.suffix), prefixIcon: this.preOrSufFixShow("icon", formItem.prefix), suffixIcon: this.preOrSufFixShow("icon", formItem.suffix), - valueFormat:formItem.dateFormate || "yyyy-MM-dd HH:mm:ss", + valueFormat: formItem.dateFormate || "yyyy-MM-dd HH:mm:ss", format: formItem.dateFormate, keyAttr: formItem.keyAttr, value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) || - (formItem.secType == "codedatesec" ? formItem.codeDateValue: null) || ( TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) || + (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) || (formItem.secType == "codeattrsec" ? this.add : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, @@ -277,7 +288,7 @@ title: formItem.text, showField: formItem.showField || formItem.field, field: formItem.field, - fieldMap:formItem.fieldMap || {}, + fieldMap: formItem.fieldMap || {}, placeholder: formItem.inputTip, options: formItem.referConfig } @@ -326,10 +337,10 @@ this.getFormDetail(); }, //淇敼绾ц仈椤� - changeChildItem(items,TreeValue) { + changeChildItem(items, TreeValue) { let column = this.option.column; let group = this.option.group; - let that=this; + let that = this; items.forEach((item) => { let formItem = this.resetFormConfig(item); @@ -352,8 +363,8 @@ formItem.fieldMap[formItem.field + 'id'] = 'id' } let columnItem = { - change:(val)=>{ - console.log('1',val) + change: (val) => { + console.log('1', val) }, label: formItem.text, labelslot: true, @@ -417,7 +428,7 @@ }; if (group.length === 0) { - that.slotColumnList.forEach((colItem,index) => { + that.slotColumnList.forEach((colItem, index) => { if (colItem.field == columnItem.field) { that.slotColumnList[index] = columnItem; column[index] = columnItem; @@ -425,14 +436,14 @@ } }) } else { - that.slotColumnList.forEach((colItem,index) => { + that.slotColumnList.forEach((colItem, index) => { if (colItem.field == columnItem.field) { that.slotColumnList[index] = columnItem; return; } }) - group.forEach((groupItem,index) => { - groupItem.column.forEach((colItem,colIndex) => { + group.forEach((groupItem, index) => { + groupItem.column.forEach((colItem, colIndex) => { if (colItem.field == columnItem.field) { group[index].column[colIndex] = columnItem; return; @@ -511,7 +522,7 @@ // 寮傛鑾峰彇瀛楀吀鏁版嵁 geDictData(dictKeys) { dictKeys.forEach((dictObj) => { - getEnumDictionary({ code: dictObj.dictKey }).then((res) => { + getEnumDictionary({code: dictObj.dictKey}).then((res) => { if (res.data && res.data.code === 200) { this.option.column = this.option.column.map((item) => { if (item.field === dictObj.field) { @@ -535,7 +546,7 @@ if (valid) { done(); resolve(true); - this.ValidataValue=true; + this.ValidataValue = true; } else { resolve(false); } @@ -545,7 +556,7 @@ // 鑾峰彇琛ㄥ崟璇︽儏鏁版嵁 getFormDetail() { if (this.type === "add") return; - getFormDetail({ templateOid: this.templateOid, oid: this.rowOid }).then( + getFormDetail({templateOid: this.templateOid, oid: this.rowOid}).then( (res) => { this.form = Object.assign(this.form, res.data.data[0]); this.loading = false; @@ -574,7 +585,7 @@ if (mapField.indexOf("attribute.") > -1) { temp = _item['attributes'][mapField.subString("attribute.".length)] || _item['attributes']['data'][mapField.subString("attribute.".length)]; } else { - temp = _item['attributes'][mapField] ||_item['attributes']['data'][mapField] || _item[mapField]; + temp = _item['attributes'][mapField] || _item['attributes']['data'][mapField] || _item[mapField]; } } else { //鏈夊涓� diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index d129e12..fb3a61b 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -41,6 +41,7 @@ :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData" + @attrList="attrListForm" @referConfigDataUpdate="referConfigDataUpdate" ></FormTemplate> </el-tab-pane> @@ -131,6 +132,7 @@ }, data() { return { + attrList:[], eventList:[], //鐮佸�肩殑绗簩绉嶅彧璇婚殣钘忔儏鍐� codeValueApplyStatus:'', @@ -318,6 +320,18 @@ }, getFormData(form) { this.form = form; + //灞炴�х爜娈佃祴鍊� + if (this.attrList) { + this.attrList.forEach(item => { + if (this.form.hasOwnProperty(item.referAttributeId)) { + this.codeApplyForm[item.oid] = this.form[item.referAttributeId]; + } + }) + } + }, + //灞炴�х爜娈佃祴鍊� + attrListForm(attrListForm){ + this.attrList=attrListForm; }, getCodeApplyFormData(codeApplyForm) { this.codeApplyForm = codeApplyForm; diff --git a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue index b7da7aa..8d3d9df 100644 --- a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue +++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue @@ -112,7 +112,7 @@ }, value: { handler(newval, oldval) { - console.log('value', newval) + //console.log('value', newval) } } }, diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index 77ae0da..0277de9 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -75,6 +75,18 @@ </el-table> </div> </el-row> + <!-- 鐢宠--> + <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid" + :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid" + :visible.sync="applyvisible" + type="add" + @submit="applySumbit"> + </FormTemplateDialog> + <!-- 淇--> + <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" + :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" + :visible.sync="amendvisible" + type="edit" @submit="amendSumbit"></FormTemplateDialog> <!-- 鏂板--> <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid" @@ -273,6 +285,8 @@ label: "name", }, tableHeadFindDatas: [], + applyvisible:false, + amendvisible:false, addvisible: false, editvisible: false, findvisible: false, @@ -505,11 +519,26 @@ }, //鏍囧噯鐢宠 codeApplyHandler(){ - console.log('1') + this.$nextTick(() => { + this.applyvisible = true; + }); + }, + applySumbit(){ + + }, + amendSumbit(){ + }, //鏍囧噯淇 codeAMENDHandler(){ - console.log('2') + if (this.selectRow.length !== 1) { + this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); + } else if (this.selectRow[0].lcstatus !== "Editing") { + this.$message.warning("缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫"); + } else { + this.amendvisible = true; + this.rowOid = this.selectRow[0].oid; + } }, addSaveHandler(){ this.$nextTick(() => { @@ -825,15 +854,13 @@ }, //缂栬緫 editHandler() { - if (this.selectRow.length <= 0) { + if (this.selectRow.length !== 1) { this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else if (this.selectRow.length > 1) { - this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�"); - } else if (this.selectRow[0].lcstatus != "Editing") { - this.$message.warning("缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥�,涓嶅彲缂栬緫"); + } else if (this.selectRow[0].lcstatus !== "Editing") { + this.$message.warning("缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫"); } else { this.editvisible = true; - this.rowOid = this.selectRow[0]['oid'] + this.rowOid = this.selectRow[0].oid; } }, //楂樼骇鏌ヨ鎸夐挳 diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue index a4aab94..5e44b6a 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue @@ -358,13 +358,14 @@ @blur="saveRows(row)" ></el-input> <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" + v-show="!AddCellFlag" v-model="row[item.prop]" :style="{width:(item.width-10)+'px'}" controls-position="right" size="small" @blur="saveRows"></el-input-number> - <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" + <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" :clearable="true" v-model="row[item.prop]" allow-create default-first-option - filterable + filterable v-show="!AddCellFlag" @blur="selectChangeHandler(item.editConfig,index)"> <el-option v-for="optionItem in item.data" @@ -374,7 +375,7 @@ </el-option> </el-select> <el-switch - v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true" + v-if="item.edit === 'switch'" v-model="row[item.prop]" :disabled="!editOpenFlag" active-value="true" v-show="!AddCellFlag" inactive-value="false"> </el-switch> <span v-else>{{ row[item.prop] }}</span> @@ -1850,8 +1851,8 @@ // 鏂板嚱鏁扮敤浜庢墽琛宐atchAddSave鏂规硶 const executeBatchAddSave = () => { batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => { - this.$message.success('淇濆瓨鎴愬姛') this.editOpenFlag = false; + this.$message.success('淇濆瓨鎴愬姛') // 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬� this.$emit('editCloseChildren') this.AddCellFlag = true; @@ -2104,15 +2105,17 @@ } else { this.injectOption.classifyNumber = 0; } + // console.log(this.ProData) this.injectVisible = false; }, //鍒嗙被娉ㄥ叆娓呯┖ injectHandleReset() { - this.$set(this.CurrentCell, 'classifyInvokeText', '') - this.$set(this.CurrentCell, 'classifyInvokeAttr:', '') - this.$set(this.CurrentCell, 'classitwInvokeAttrName', '') - this.$set(this.CurrentCell, 'classifyInvokeEditFlag', 'false') - this.$set(this.CurrentCell, 'classifyInvokeLevel', 'none') + this.CurrentCell.classifyInvokeText = null; + this.CurrentCell.classifyInvokeAttr = ''; + this.CurrentCell.classifyInvokeAttrName = ''; + this.CurrentCell.classifyInvokeEditFlag = ''; + this.CurrentCell.classifyInvokeLevel = null; + // console.log(this.ProData) this.injectVisible = false; }, // 鍒嗙被娉ㄥ叆鍙栨秷 diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue index 4ea4530..f21526d 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue @@ -392,7 +392,22 @@ focus: this.simFouce, readonly: true, }, - + { + label: '鏄惁鍙備笌鍏抽敭灞炴�ф牎楠�', + prop: 'isParticipateCheck', + type: 'switch', + activeColor: "#13ce66", + inactiveColor: "#ff4949", + labelWidth:160, + dicData: [{ + label: '鍚�', + value: 0 + }, { + label: '鏄�', + value: 1 + } + ] + } ] } diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue index ae3a1ef..69351e6 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue @@ -63,6 +63,16 @@ <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" style="width: 585px" @focus="Keyfouce"></el-input> </el-form-item> + <el-form-item label="鏄惁鍙備笌鍏抽敭灞炴�ф牎楠岋細" label-width="170px"> + <el-switch + v-model="TreeAddform.codeKeyAttrValue" + active-text="鏄�" + inactive-text="鍚�" + active-color="#13ce66" + inactive-color="#ff4949" + @change="switchChange"> + </el-switch> + </el-form-item> <el-form-item label="鐩镐技鏌ヨ瑙勫垯锛�" label-width="150px"> <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" style="width: 585px" @focus="simFouce"></el-input> @@ -586,7 +596,9 @@ //缂栫爜瑙勫垯 codeRuleOidName: "", //瀛樺偍鐨勪笟鍔$被鍨� - btmTypeName: "" + btmTypeName: "", + codeKeyAttrValue:true, + isParticipateCheck:1 }, rules: { id: [ @@ -853,6 +865,11 @@ created() { }, methods: { + // switch + switchChange(){ + this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0; + // console.log(this.TreeAddform.isParticipateCheck) + }, //瀛樺偍鐨勪笟鍔$被鍨嬪叧闂� BtmEscHandler() { this.SelectFInd = ''; @@ -1137,7 +1154,13 @@ }, //鏍戣妭鐐瑰彇娑堜簨浠� TreeEscHandler() { - this.TreeAddform = {}; + for (let key in this.TreeAddform) { + if (key !== 'codeKeyAttrValue' && key !== 'isParticipateCheck') { + this.TreeAddform[key] = ""; + } + } + this.TreeAddform.codeKeyAttrValue = true; + this.TreeAddform.isParticipateCheck = 1; this.TreeAddFormVisible = false; // 鍏抽棴寮圭獥娓呯┖鏍¢獙 this.$refs.myForm.clearValidate(); @@ -1157,6 +1180,8 @@ }); Object.keys(this.TreeAddform).forEach(key => { this.TreeAddform[key] = ""; + this.TreeAddform.codeKeyAttrValue = true; + this.TreeAddform.isParticipateCheck = 1; }); this.getAttr(); this.TreeAddFormVisible = false; @@ -1350,6 +1375,10 @@ this.crudOid = '' } this.TreeList = res3.data.data; + if(this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined ||this.TreeList.isParticipateCheck === ""){ + this.$set(this.TreeList,"isParticipateCheck",1) + return + } } catch (error) { this.$message.error(error); } diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 05af43c..023dbcb 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -886,7 +886,7 @@ :referConfig="this.referConfig || {}" :display="true" :value="form.customCodeSerialClass" - :text="form.customCodeSerialClassText" + :text="form.customCodeSerialClass" @setReferValue="setReferValue" ></vciWebRefer> <!-- <el-input--> @@ -1718,6 +1718,10 @@ //鑷畾涔夋祦姘村け鐒� setReferValue(data){ console.log(data) + if(data.field){ + this.form[data.field] = data.value || ""; + // this.form[data.showField] = data.text || ""; + } }, /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */ escapeOwner() { @@ -1777,7 +1781,7 @@ //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉 let submitFormJson = JSON.stringify(content); this.form.referConfig = submitFormJson || ""; - debugger; + // debugger; }, /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */ echoReferBtmType(content) { @@ -2522,8 +2526,7 @@ this.releadDisabled = false; }); } - }) - .catch((error) => { + }).catch((error) => { this.releadDisabled = false; }); this.releadDisabled = false; @@ -2798,6 +2801,7 @@ type: "success", message: "鎿嶄綔鎴愬姛!", }); + console.log(this.form) // 鍏抽棴瀵硅瘽妗� this.addBasicCodeSettingBox = false; // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 @@ -3284,6 +3288,7 @@ }, /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/ changeSectypeFormItems(row) { + console.log(row) if ( func.isEmpty(this.enumParam.secTypeList) || this.enumParam.secTypeList.length == 0 @@ -3304,6 +3309,7 @@ pkCodeRule: row != null ? row.pkCodeRule : this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒� prefixCode: row != null ? row.prefixCode : this.form.prefixCode, //鍓嶇紑 suffixCode: row != null ? row.suffixCode : this.form.suffixCode, //鍚庣紑 + // customCodeSerialClass: row != null ? row.customCodeSerialClass : this.form.customCodeSerialClass }; if (this.form.secType === "codefixedsec") { //鍥哄畾鐮佹 diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java index 31cf74e..aa84465 100644 --- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java +++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java @@ -96,6 +96,5 @@ public void setBasicSecTypes(String basicSecTypes) { this.basicSecTypes = basicSecTypes; } - - + } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java index 641a037..3390a5d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java @@ -69,6 +69,11 @@ */ private String codeResembleRuleOidName; + /** + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 + */ + private Integer isParticipateCheck; + public boolean getAblechildren() { return ablechildren; } @@ -207,6 +212,14 @@ this.codeResembleRuleOidName = codeResembleRuleOidName; } + public Integer getIsParticipateCheck() { + return isParticipateCheck; + } + + public void setIsParticipateCheck(Integer isParticipateCheck) { + this.isParticipateCheck = isParticipateCheck; + } + @Override public String toString() { return "CodeClassifyDTO{" + diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java index 9ae7955..f882c6a 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java @@ -89,6 +89,11 @@ private String codeResembleRuleOid; /** + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 + */ + private Integer isParticipateCheck; + + /** * 鐩镐技椤规煡璇㈣鍒欏悕绉� */ @Transient(referColumn = "codeResembleRuleOid.name") diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java index da6fbfe..9099f3d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java @@ -16,7 +16,6 @@ */ package com.vci.ubcs.code.entity; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.vci.ubcs.starter.constant.CodeTableNameConstant; import com.vci.ubcs.starter.revision.model.BaseModel; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java index fe274b5..e872c29 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java @@ -63,6 +63,11 @@ private Integer dataLevel; /** + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 + */ + private Integer isParticipateCheck; + + /** * 灞傜骇鐨勮矾寰� */ private String path; diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java index 36562a7..e8923b1 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java @@ -53,6 +53,7 @@ private String firstV; private String creator; + @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) @@ -62,6 +63,7 @@ private Date createTime; private String lastModifier; + @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java index 18c0cc2..e5bf696 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java @@ -58,7 +58,9 @@ }); tree.setOid((String)oidValues.stream().collect(Collectors.joining(wrapperOptions.getOidValueSep()))); tree.setName((String) VciBaseUtil.getValueFromField("name", doObject)); + // TODO:涓氬姟鏁版嵁鎬绘暟缁熻鏆傛椂娌″畬鍠� String total = (String) VciBaseUtil.getValueFromField("total", doObject); + Integer isParticipateCheck = (Integer) VciBaseUtil.getValueFromField("isParticipateCheck", doObject); if(Func.isNotEmpty(total)){ tree.setCount("銆�"+total+"銆�"); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java index ab54355..4e0bb26 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java @@ -51,6 +51,7 @@ baseModel.setLastR("1"); baseModel.setLastV("1"); baseModel.setRevisionSeq(1); + // TODO:鐩墠鍙湁缂栫爜瑙勫垯涓湁鐢ㄥ埌锛屽悗鏈熼渶瑕佸幓鎺夎繖娈典唬鐮佺殑璇濓紝灏辨妸浠栧姞鍦ㄧ紪鐮佽鍒欐柊澧炰腑鍘� if(Func.isBlank(baseModel.getOwner())){ // 璁剧疆鎵�鏈夎�� baseModel.setOwner(AuthUtil.getUserId().toString()); diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java index 892c52d..abaeb25 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java @@ -30,6 +30,8 @@ private String index; private Map<String, String> attributes = new HashMap(); + + public Tree() { } @@ -243,6 +245,7 @@ } } + @Override public String toString() { return "Tree{oid='" + this.oid + '\'' + ", text='" + this.text + '\'' + ", leaf=" + this.leaf + ", showCheckbox=" + this.showCheckbox + ", checked=" + this.checked + ", children=" + this.children + ", icon='" + this.icon + '\'' + ", iconCls='" + this.iconCls + '\'' + ", parentId='" + this.parentId + '\'' + ", parentName='" + this.parentName + '\'' + ", parentBtmName='" + this.parentBtmName + '\'' + ", expanded=" + this.expanded + ", href='" + this.href + '\'' + ", index='" + this.index + '\'' + ", attributes=" + this.attributes + '}'; diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java index b26ae59..87456e4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/WebUtil.java @@ -724,6 +724,7 @@ } return listHasList; } + /** * 鏄惁榛樿鐨勫睘鎬� * @param fieldNames 灞炴�х殑鍚嶅瓧 @@ -736,6 +737,5 @@ } return false; } - } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java index da07ebe..ae75383 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java @@ -48,38 +48,162 @@ * 瀵嗙骇鐨勫瓧娈� */ public static final String SECRET_FIELD = "secretgrade"; + /** * 鍒涘缓鑰呭瓧娈� */ public static final String CODE_CREATOR = "creator"; + /** * 鏇存敼鑰呭瓧娈� */ public static final String CODE_EDITOR = "lastmodifier"; + + /** + * 淇敼鏃堕棿 + */ + public static final String CODE_EDITOR_TIME = "lastmodifytime"; + + /** + * 鐗堟湰瑙勫垯 + */ + public static final String CODE_REVISION_RULE = "revisionrule"; + + /** + * 鐗堟湰姝ラ暱 + */ + public static final String CODE_REVISION_SEQ = "revisionseq"; + + /** + * 鐗堟湰瑙勫垯 + */ + public static final String CODE_VISION_RULE = "versionrule"; + + public static final String CODE_VISION_SEQ = "versionseq"; + + public static final String CODE_VISION_VLUE = "versionvalue"; + + public static final String CODE_LASTR = "lastr"; + + public static final String CODE_FIRSTR = "firstr"; + + public static final String CODE_LASTV = "lastv"; + + public static final String CODE_FIRSTV = "firstv"; + + /** + * 鐗堟湰瑙勫垯oid + */ + public static final String CODE_REVISION_OID = "revisionoid"; + + /** + * 绉熸埛 + */ + public static final String CODE_TENANTID = "tenantid"; + + /** + * nameoid + */ + public static final String CODE_NAME_OID = "nameOid"; + + /** + * 涓氬姟绫诲瀷鍚嶇О + */ + public static final String CODE_BTMNAME = "btmname"; + + /** + * 鍒涘缓鏃堕棿 + */ + public static final String CODE_CREATE_TIME = "createtime"; + + /** + * 鏃堕棿鎴� + */ + public static final String CODE_TS = "ts"; + + /** + * 鎵�鏈夎�� + */ + public static final String CODE_OWNER = "owner"; + + /** + * 鍗囩増 + */ + public static final String CODE_COPYFORMVERSION = "copyfromversion"; + + /** + * 涓婚敭 + */ + public static final String CODE_OID = "oid"; + /** * 榛樿鐨勫睘鎬у垪琛� */ public static final List DEFAULT_ATTR_LIST = new ArrayList(){{ add(CODE_FIELD); - add(CODE_STATUS_FILED); - add(CODE_GROUP_FIELD); - add(CODE_CLASSIFY_OID_FIELD); + add(CODE_STATUS_FILED); + add(CODE_GROUP_FIELD); + add(CODE_CLASSIFY_OID_FIELD); add(CODE_TEMPLATE_OID_FIELD); add(CODE_FULL_PATH_FILED); + add(SECRET_FIELD); + add(CODE_CREATOR); + add(CODE_EDITOR); + add(CODE_EDITOR_TIME); + add(CODE_REVISION_RULE); + add(CODE_REVISION_SEQ); + add(CODE_REVISION_RULE); + add(CODE_VISION_RULE); + add(CODE_VISION_SEQ); + add(CODE_LASTR); + add(CODE_FIRSTR); + add(CODE_LASTV); + add(CODE_FIRSTV); + add(CODE_REVISION_OID); + add(CODE_TENANTID); + add(CODE_NAME_OID); + add(CODE_BTMNAME); + add(CODE_CREATE_TIME); + add(CODE_TS); + add(CODE_OWNER); + add(CODE_COPYFORMVERSION); + add(CODE_OID); + add(CODE_VISION_VLUE); }}; /** * 榛樿鐨勫睘鎬у垪琛� */ public static final List DEFAULT_SYNC_ATTR_LIST = new ArrayList(){{ - add(CODE_FIELD); - add(CODE_STATUS_FILED); - add(CODE_GROUP_FIELD); - add(CODE_CLASSIFY_OID_FIELD); - add(CODE_TEMPLATE_OID_FIELD); - add(CODE_FULL_PATH_FILED); - add(CODE_EDITOR); - add(CODE_CREATOR); + add(CODE_FIELD); + add(CODE_STATUS_FILED); + add(CODE_GROUP_FIELD); + add(CODE_CLASSIFY_OID_FIELD); + add(CODE_TEMPLATE_OID_FIELD); + add(CODE_FULL_PATH_FILED); + add(SECRET_FIELD); + add(CODE_CREATOR); + add(CODE_EDITOR); + add(CODE_EDITOR_TIME); + add(CODE_REVISION_RULE); + add(CODE_REVISION_SEQ); + add(CODE_REVISION_RULE); + add(CODE_VISION_RULE); + add(CODE_VISION_SEQ); + add(CODE_LASTR); + add(CODE_FIRSTR); + add(CODE_LASTV); + add(CODE_FIRSTV); + add(CODE_REVISION_OID); + add(CODE_TENANTID); + add(CODE_NAME_OID); + add(CODE_BTMNAME); + add(CODE_CREATE_TIME); + add(CODE_TS); + add(CODE_OWNER); + add(CODE_COPYFORMVERSION); + add(CODE_OID); + add(CODE_VISION_VLUE); }}; /** diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java index c675937..fc6cc7b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeKeyAttrRepeatController.java @@ -49,7 +49,7 @@ @Api(value = "鍏抽敭灞炴�ф煡閲嶈鍒�", tags = "鍏抽敭灞炴�ф煡閲嶈鍒欐帴鍙�") public class CodeKeyAttrRepeatController extends BladeController { - private final ICodeKeyAttrRepeatService plCodeKeyattrrepeatService; + private final ICodeKeyAttrRepeatService codeKeyattrrepeatService; CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; @@ -59,73 +59,47 @@ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "璇︽儏", notes = "浼犲叆plCodeKeyattrrepeat") - public R<CodeKeyAttrRepeatVO> detail(CodeKeyAttrRepeat plCodeKeyattrrepeat) { - CodeKeyAttrRepeat detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(plCodeKeyattrrepeat)); + public R<CodeKeyAttrRepeatVO> detail(CodeKeyAttrRepeat codeKeyattrrepeat) { + CodeKeyAttrRepeat detail = codeKeyattrrepeatMapper.selectOne(Condition.getQueryWrapper(codeKeyattrrepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().entityVO(detail)); } + /** * 鍏抽敭灞炴�ф煡閲嶈鍒� 鍒嗛〉 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "鍒嗛〉", notes = "浼犲叆plCodeKeyattrrepeat") - public R<IPage<CodeKeyAttrRepeatVO>> list(CodeKeyAttrRepeat plCodeKeyattrrepeat, Query query) { - IPage<CodeKeyAttrRepeat> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(plCodeKeyattrrepeat)); + public R<IPage<CodeKeyAttrRepeatVO>> list(CodeKeyAttrRepeat codeKeyAttrRepeat, Query query) { + IPage<CodeKeyAttrRepeat> pages = codeKeyattrrepeatMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeKeyAttrRepeat)); return R.data(CodeKeyAttrRepeatWrapper.build().pageVO(pages)); } /** - * 鍏抽敭灞炴�ф煡閲嶈鍒� 鑷畾涔夊垎椤� - */ - @GetMapping("/page") - @ApiOperationSupport(order = 3) - @ApiOperation(value = "鍒嗛〉", notes = "浼犲叆plCodeKeyattrrepeat") - public R<IPage<CodeKeyAttrRepeatVO>> page(CodeKeyAttrRepeatVO plCodeKeyattrrepeat, Query query) { - IPage<CodeKeyAttrRepeatVO> pages = plCodeKeyattrrepeatService.selectPlCodeKeyattrrepeatPage(Condition.getPage(query), plCodeKeyattrrepeat); - return R.data(pages); - } - - /** - * 鍏抽敭灞炴�ф煡閲嶈鍒� 鏂板 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 4) - @ApiOperation(value = "鏂板", notes = "浼犲叆plCodeKeyattrrepeat") - public R save(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { - return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.insert(plCodeKeyattrrepeat))); - } - - /** - * 鍏抽敭灞炴�ф煡閲嶈鍒� 淇敼 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @ApiOperation(value = "淇敼", notes = "浼犲叆plCodeKeyattrrepeat") - public R update(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { - return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); - } - - /** * 鍏抽敭灞炴�ф煡閲嶈鍒� 鏂板鎴栦慨鏀� + * @param codeKeyAttrRepeat + * @return */ @PostMapping("/submit") @ApiOperationSupport(order = 6) - @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆plCodeKeyattrrepeat") - public R submit(@Valid @RequestBody CodeKeyAttrRepeat plCodeKeyattrrepeat) { - if(plCodeKeyattrrepeat.getOid() != null){ - return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.updateById(plCodeKeyattrrepeat))); + @ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "浼犲叆codeKeyattrrepeat") + public R submit(@Valid @RequestBody CodeKeyAttrRepeat codeKeyAttrRepeat) { + if(codeKeyAttrRepeat.getOid() != null){ + return R.status(codeKeyattrrepeatService.update(codeKeyAttrRepeat)); } - return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.insert(plCodeKeyattrrepeat))); + return R.status(codeKeyattrrepeatService.addSave(codeKeyAttrRepeat)); } /** * 鍏抽敭灞炴�ф煡閲嶈鍒� 鍒犻櫎 + * @param ids + * @return */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆ids") public R remove(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String ids) { - return R.status(SqlHelper.retBool(codeKeyattrrepeatMapper.deleteBatchIds(Func.toLongList(ids)))); + return R.status(codeKeyattrrepeatService.deleteByOids(ids)); } /** @@ -139,6 +113,5 @@ public R listCodeKeyAttrRepeatRuleByOids(@ApiParam(value = "涓婚敭闆嗗悎", required = true) @RequestParam String oids) { return R.data(codeKeyattrrepeatMapper.selectBatchIds(Func.toLongList(oids))); } - } 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 1cc49df..37533a7 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 @@ -35,6 +35,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.rmi.ServerException; import java.util.*; @RestController @@ -297,7 +298,6 @@ return R.success("鎿嶄綔鎴愬姛锛�"); } - /** * 鐢宠缂栫爜淇濆瓨 * @param orderDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭� @@ -308,7 +308,6 @@ public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.success(engineService.addSaveCode(orderDTO)); } - /** * 浣跨敤妯℃澘鐨勪富閿幏鍙栬〃鍗曠殑瀹氫箟 @@ -390,7 +389,6 @@ //TODO鍚庣画鍙互瀹氫箟鏌ヨ妯℃澘鏉ユ煡璇� return engineService.gridTableDataByClassifyOid(codeClassifyOid,templateOid,queryObject.getConditionMap(),queryObject.getPageHelper()); } - /*** * 鑾峰彇鍒嗙被瀵硅薄 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 8b842c9..d0b93e0 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 @@ -90,8 +90,7 @@ * @param oid 鍒嗙被鐨勪富閿� * @return 鏁版嵁闆嗗悎 */ - List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath); - + List<CodeClassify> selectAllLevelChildHasPath(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId")String tenantId); @MapKey("OID") List<Map<String,Object>> selectAllLevelParentByOid(@Param("oid") String oid); @@ -99,10 +98,8 @@ @MapKey("OID") List<Map<String,Object>> selectAllLevelParents(@Param("oid") String oid); - @MapKey("OID") List<Map<String,Object>> selectByFieldPath(@Param("fieldPath") String fieldPath); - /** * 鏌ユ牴鎹甶d灞傜骇鑾峰彇瀵硅薄 @@ -114,7 +111,6 @@ List<CodeClassify> selectByFieldNamePath(@Param("fieldPath") String fieldPath,@Param("fieldName") String fieldName); public List<CodeClassify> getIdPathToNamePathByParentId(@Param("parentId")String parentId); - CodeClassify selectByIdRel(@Param("oid") String oid); /** @@ -133,10 +129,12 @@ * @return */ List<CodeClassify> getRMLibByName(List<String> libNames,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); + /*** * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 * @param desc - * @param codeLibName + * @param lcstatus + * @param tenantId * @return */ List<CodeClassify> getRMTypeByDesc(@Param("desc")String desc,@Param("lcstatus")String lcstatus,@Param("tenantId") String tenantId); @@ -175,5 +173,14 @@ * @param oid * @return */ - List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("tenantId") String tenantId); + List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId") String tenantId); + + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + List<CodeClassify> selectLeafByParentClassifyOid(@Param("topOid") String topOid,@Param("currentOid")String currentOid); + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java index 1b0a786..54cc68f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java @@ -11,6 +11,7 @@ import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid;import com.vci.ubcs.starter.web.pagemodel.Tree; +import org.apache.ibatis.annotations.Param; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.api.R; import java.io.File; @@ -291,8 +292,17 @@ /** * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 * @param oid + * @param fieldInPath * @return */ - List<CodeClassifyVO> selectAllClassifyByOid(String oid); + List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath); + + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + String selectLeafByParentClassifyOid(String topOid, String currentOid); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java index c950e5a..340268e 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeKeyAttrRepeatService.java @@ -77,4 +77,26 @@ * @return 鍏抽敭鏁版嵁鏌ラ噸瑙勫垯鏄剧ず瀵硅薄 */ CodeKeyAttrRepeatRuleVO getObjectByOid(String oid); + + /** + * 淇敼鍏抽敭灞炴�ф煡閲嶈鍒� + * @param codeKeyattrrepeat + * @return + */ + boolean addSave(CodeKeyAttrRepeat codeKeyattrrepeat); + + /** + * 鏂板鍏抽敭灞炴�ф煡閲嶈鍒� + * @param codeKeyattrrepeat + * @return + */ + boolean update(CodeKeyAttrRepeat codeKeyattrrepeat); + + /** + * 鍒犻櫎鍏抽敭灞炴�ф煡閲嶈鍒� + * @param oids + * @return + */ + boolean deleteByOids(String oids); + } 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 5cdc488..ae01ddd 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -61,6 +62,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -179,6 +181,7 @@ * @return 鎵ц缁撴灉 */ @Override + @Transactional(rollbackFor = Exception.class) public R editSave(CodeClassify codeClassifyEntity) { if(codeClassifyEntity == null || codeClassifyEntity.getOid() == null){ return R.fail("浼犲叆鏁版嵁涓嶈兘涓虹┖锛�"); @@ -196,15 +199,28 @@ codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); codeClassifyEntity.setLastModifyTime(new Date()); codeClassifyEntity.setTs(new Date()); - int insertNumber = codeClassifyMapper.updateById(codeClassifyEntity); + int updateEntity = codeClassifyMapper.updateById(codeClassifyEntity); + // 濡傛灉涓嶆槸鍙跺瓙缁撶偣锛屽垯闇�瑕佷慨鏀瑰叾涓嬫墍鏈夌殑瀛愬垎绫伙紝鏄惁鍙備笌鍏抽敭灞炴�ф牎楠岀殑鍊� + String oid = codeClassifyEntity.getOid(); + List<CodeClassify> codeClassifies = codeClassifyMapper.selectStartWithCurrentOid(oid); + int updateAttr = 0; + // 涓嶄负绌哄氨闇�瑕佽褰撳墠鍒嗙被涓嬫墍鏈夊瓙鍒嗙被鐨刬sParticipateCheck + if(!codeClassifies.isEmpty()){ + List<String> oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.toList()); + updateAttr = codeClassifyMapper.update( + null, + Wrappers.<CodeClassify>update() + .lambda().in(CodeClassify::getOid, oids) + .set(CodeClassify::getIsParticipateCheck, codeClassifyEntity.getIsParticipateCheck()) + ); + } // //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆傚彧鏈夊惎鐢ㄧ姸鎬佺殑鍒嗙被鎵嶆帹閫� // if(FRAMEWORK_DATA_ENABLED.equals(codeClassifyDO.getLcStatus())); // { // codeDuckingServiceI.insertCache1(CACHE_TYPE_CLASSIFY_EDIT,FRAMEWORK_DATA_ENABLED,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, codeClassifyDO.getOid(), codeClassifyDTO.getTs()); // } - return R.status(SqlHelper.retBool(insertNumber)); -// return BaseResult.success(codeClassifyDO2VO(codeClassifyDO)); + return R.status(SqlHelper.retBool(updateAttr) & SqlHelper.retBool(updateEntity)); } /** @@ -639,12 +655,29 @@ * @param oid * @return */ - public List<CodeClassifyVO> selectAllClassifyByOid(String oid){ - List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId()); + public List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath){ + List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId(),fieldInPath); List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); return voList; } + + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + @Override + public String selectLeafByParentClassifyOid(String topOid, String currentOid) { + List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByParentClassifyOid(topOid, currentOid); + if(codeClassifies.isEmpty()){ + return ""; + } + String oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.joining(",")); + return oids; + } + /*** * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅 * @param desc @@ -807,9 +840,8 @@ @Override public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) { if(allLevel){ - List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath); + List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath,AuthUtil.getTenantId()); if(!CollectionUtils.isEmpty(classifyDOS)){ - // 杩欏効鐢╯tream鏈夌偣鎱� classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); } return codeClassifyDO2VOs(classifyDOS); @@ -928,7 +960,7 @@ Map<String/**璺緞**/,String/**涓婚敭**/> oidPathMap = new HashMap<>(); //鎴戜滑闇�瑕佹煡璇㈡墍鏈夊凡缁忓瓨鍦ㄧ殑鍒嗙被锛屼富瑕佹槸璺緞锛岀敤鏉ュ垽鏂垎绫荤殑鏁版嵁 - List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null); + List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null,AuthUtil.getTenantId()); Map<String/**璺緞**/, CodeClassify/**宸茬粡瀛樺湪鐨勬暟鎹�**/> pathDOMap = Optional.ofNullable(existClassifyDOs).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> { String path = s.getPath(); if(StringUtils.isNotBlank(path) && path.startsWith("#")){ @@ -1357,4 +1389,6 @@ return codeClassifyMapper.selectCount(wrapper).intValue(); } + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java index 760a3e1..6ea1ff0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyAttrRepeatServiceImpl.java @@ -17,6 +17,7 @@ package com.vci.ubcs.code.service.impl; import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeKeyAttrRepeat; import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; @@ -26,16 +27,22 @@ import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -50,12 +57,12 @@ @Service public class CodeKeyAttrRepeatServiceImpl implements ICodeKeyAttrRepeatService { - @Autowired - CodeKeyAttrRepeatMapper codeKeyattrrepeatMapper; + @Resource + CodeKeyAttrRepeatMapper codeKeyAttrRepeatMapper; @Override public IPage<CodeKeyAttrRepeatVO> selectPlCodeKeyattrrepeatPage(IPage<CodeKeyAttrRepeatVO> page, CodeKeyAttrRepeatVO plCodeKeyattrrepeat) { - return page.setRecords(codeKeyattrrepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); + return page.setRecords(codeKeyAttrRepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); } /** @@ -100,7 +107,7 @@ if(!CollectionUtils.isEmpty(oidCollections)){ Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); for(Collection<String> oids: oidCollectionsList){ - List<CodeKeyAttrRepeat> tempDOList = codeKeyattrrepeatMapper.selectBatchIds(oids); + List<CodeKeyAttrRepeat> tempDOList = codeKeyAttrRepeatMapper.selectBatchIds(oids); if(!CollectionUtils.isEmpty(tempDOList)){ codeKeyAttrRepeatRuleDOList.addAll(tempDOList); } @@ -173,6 +180,58 @@ BeanUtils.copyProperties(codeKeyAttrRepeatRuleVO,codeKeyattrrepeatVO); return codeKeyAttrRepeatRuleVO; } + + /** + * 淇敼鍏抽敭灞炴�ф煡閲嶈鍒� + * @param codeKeyattrrepeat + * @return + */ + @Override + public boolean addSave(CodeKeyAttrRepeat codeKeyattrrepeat) { + // 璁剧疆榛樿鍊� + codeKeyattrrepeat.setCreator(AuthUtil.getUserAccount()); + codeKeyattrrepeat.setCreatetime(new Date()); + codeKeyattrrepeat.setLastmodifier(AuthUtil.getUserAccount()); + codeKeyattrrepeat.setLastmodifytime(new Date()); + codeKeyattrrepeat.setBtmname(MdmBtmTypeConstant.CODE_KEY_ATTR_REPEAT_RULE); + codeKeyattrrepeat.setFirstr("1"); + codeKeyattrrepeat.setFirstv("1"); + codeKeyattrrepeat.setLastr("1"); + codeKeyattrrepeat.setLastv("1"); + codeKeyattrrepeat.setLcstatus("Enabled"); + codeKeyattrrepeat.setRevisionseq(1); + codeKeyattrrepeat.setRevisionoid(VciBaseUtil.getPk()); + codeKeyattrrepeat.setRevisionvalue("1"); + codeKeyattrrepeat.setRevisionrule("1"); + codeKeyattrrepeat.setVersionseq(1); + codeKeyattrrepeat.setVersionrule("0"); + codeKeyattrrepeat.setVersionvalue("1"); + return SqlHelper.retBool(codeKeyAttrRepeatMapper.insert(codeKeyattrrepeat)); + } + + /** + * 鏂板鍏抽敭灞炴�ф煡閲嶈鍒� + * @param codeKeyattrrepeat + * @return + */ + @Override + public boolean update(CodeKeyAttrRepeat codeKeyattrrepeat) { + // 璁剧疆榛樿鍊� + codeKeyattrrepeat.setLastmodifier(AuthUtil.getUserAccount()); + codeKeyattrrepeat.setLastmodifytime(new Date()); + return SqlHelper.retBool(codeKeyAttrRepeatMapper.updateById(codeKeyattrrepeat)); + } + + /** + * 鍒犻櫎鍏抽敭灞炴�ф煡閲嶈鍒� + * @param oids + * @return + */ + @Override + public boolean deleteByOids(String oids) { + return SqlHelper.retBool(codeKeyAttrRepeatMapper.deleteById(oids)); + } + /** * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 * @param oid 涓婚敭 @@ -182,11 +241,12 @@ private CodeKeyAttrRepeat selectByOid(String oid) { VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeKeyAttrRepeat codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); + CodeKeyAttrRepeat codeKeyAttrRepeatRuleDO = codeKeyAttrRepeatMapper.selectById(oid.trim()); // .selectByPrimaryKey(oid.trim()); if(codeKeyAttrRepeatRuleDO == null || StringUtils.isBlank(codeKeyAttrRepeatRuleDO.getOid())){ throw new VciBaseException(DATA_OID_NOT_EXIST); } return codeKeyAttrRepeatRuleDO; } + } 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 6db0334..f8946ea 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 @@ -995,7 +995,6 @@ } } - /** * 鍒濆鍖栦笟鍔$被鍨� * --鍒涘缓浜洪粯璁や负褰撳墠鐢ㄦ埛锛屽鏋滈渶瑕佷慨鏀癸紝鍙互鍦ㄨ幏鍙栧悗鑷澶勭悊 @@ -2774,6 +2773,7 @@ cbo.setName(orderDTO.getName()); //鏁版嵁鐨勬椂鍊欙紝缂栫爜鏄笉鍙樼殑 cbo.setCreateTime(cbo.getCreateTime()); + cbo.setCreator(cbo.getCreator()); cbo.setLastModifyTime(cbo.getLastModifyTime()); cbo.setTenantId(AuthUtil.getTenantId()); oldCbo.setLastV("0"); @@ -4191,7 +4191,7 @@ toBo.setLastV(String.valueOf(1)); // 鏁版嵁鍗囩増涓嶉渶瑕侀噸鏂拌缃垱寤轰汉锛屽彧瀵规渶鍚庝慨鏀逛汉鍋氭洿鏂板氨鍙互浜� //toBo.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); - toBo.setCreateTime(new Date()); + toBo.setCreateTime(fromBo.getCreateTime()); // toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); toBo.setLastModifyTime(new Date()); 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 57d9c79..0f6dfd2 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 @@ -856,7 +856,7 @@ String idFieldName = attrVOS.stream().filter(s -> VciQueryWrapperForDO.ID_FIELD.equalsIgnoreCase(s.getId())).findFirst().orElseGet(() -> new CodeClassifyTemplateAttrVO()).getName(); getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap); //鍏堜笉鐢ㄧ灞炴�ф槸鍚﹂兘瀛樺湪锛屽厛杞崲涓�涓嬫暟鎹� - List<ClientBusinessObject> cboList = new ArrayList<>(); + List<ClientBusinessObject> cboList = new CopyOnWriteArrayList<>(); String fullPath = getFullPath(classifyFullInfo); //鎴戜滑闇�瑕佽幏鍙栧埌鎵�鏈夌殑涓嬬骇鍒嗙被鐨刼id鐨勮矾寰勶紝鍥犱负鍚庨潰闇�瑕� Map<String/**涓婚敭**/, String/**璺緞**/> childOidPathMap = getChildClassifyPathMap(classifyFullInfo, fullPath); @@ -942,7 +942,7 @@ if (CollectionUtils.isEmpty(ruleOidMap.values())) { throw new VciBaseException("瀵煎叆鐨勬暟鎹墍閫夋嫨鐨勫垎绫婚兘娌℃湁璁剧疆缂栫爜瑙勫垯"); } - // TODO: 鏀圭敤oid鏌ヨ瑙勫垯鐨勶紝鍒敤id + // TODO: 璇ョ敤oid鏌ヨ瑙勫垯鐨勶紝鍒敤id Map<String, CodeRuleVO> ruleVOMap = ruleService.listCodeRuleByOids(ruleOidMap.values()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); //鏍¢獙缂栫爜瑙勫垯鍜岀爜娈垫槸鍚︽纭� Map<String, List<String>> ruleRowIndexMap = new ConcurrentHashMap<>(); @@ -1538,7 +1538,6 @@ total += commonsMapper.queryCountBySql(countSql); } }else{ - total = commonsMapper.queryCountBySql(countSql); } List<String> selectFieldList = new ArrayList<>(); @@ -1966,7 +1965,6 @@ //閮借浆鎹㈠畬浜嗐�傞渶瑕佹壒閲忔鏌� //濡傛灉鍑洪敊浜嗭紝鎴戜滑渚濈劧鎵ц鏈夋晥鐨勬暟鎹紝鏃犳晥鐨勬暟鎹啓鍥炲埌excel涓� - Map<String,String> errorKeyMap=new HashMap<>(); //1.鍒嗙被娉ㄥ叆 @@ -3149,6 +3147,7 @@ }); } + /** * excel杞崲涓篶bo鐨勫璞� * @param classifyFullInfo 鍒嗙被鐨勫叏閮ㄤ俊鎭� @@ -3166,7 +3165,7 @@ ClientBusinessObject cbo=new ClientBusinessObject(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId()); rowData.getData().forEach((index,value)->{ - String field = fieldIndexMap.get(index); + String field = fieldIndexMap.get(index); if (StringUtils.isBlank(field)) { throw new VciBaseException("绗�" + (index + 1) + "鍒楃殑鏍囬鍦ㄧ郴缁熶腑涓嶅瓨鍦�"); } @@ -3523,6 +3522,7 @@ }); } } + /*** * 鏍¢獙鍒嗙被瀵瑰簲鐨勬ā鏉夸俊鎭� * @param titleRowData @@ -3606,6 +3606,7 @@ } return codeClassifyTemplateVOList ; } + /** * 浠庡睘鎬т笂鑾峰彇鍙傜収鐨勫唴瀹� * @param attrVO 灞炴�х殑淇℃伅 @@ -3728,6 +3729,7 @@ } } } + /** * 澶勭悊鍒嗙被娉ㄥ叆 * @param attrVOS 妯℃澘灞炴�� @@ -3818,6 +3820,8 @@ //鍥犱负鏁版嵁閲忓緢澶э紝鎵�浠ュ緱鎯冲姙娉曞苟琛� //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); Map<String,List<BaseModel>> indexTODataMap=new ConcurrentHashMap<>(); + // 鏌ヨ涓嶉渶瑕佸弬涓庡叧閿睘鎬ф牎楠岀殑闄よ嚜宸变互澶栫殑鎵�鏈夊垎绫籵id + String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> { //姣忚閮藉緱鏌ヨ.濡傛灉鍏朵腑鍑虹幇浜嗛敊璇紝鎴戜滑灏辩洿鎺ユ姏鍑哄紓甯革紝鍏朵綑鐨勬樉绀� //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); @@ -3831,6 +3835,10 @@ engineService.wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); }); if (!CollectionUtils.isEmpty(ketAttrMap)) { + // 娣诲姞涓嶅弬涓庡叧閿睘鎬ф牎楠岀殑鍒嗙被oid鍒ゆ柇 + if(Func.isNotBlank(isParticipateCheckOids)){ + conditionMap.put("t.codeclsfid",QueryOptionConstant.NOTIN+isParticipateCheckOids); + } CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), templateVO, conditionMap, null); boolean isKeyCheck= commonsMapper.queryCountBySql(sqlBO.getSqlCount()) > 0; if(isKeyCheck){ @@ -3874,7 +3882,7 @@ if(StringUtils.isBlank(classifyPath)){ classifyPath = "#current#"; } - if ( !pathMap.containsKey(classifyPath)) { + if (!pathMap.containsKey(classifyPath)) { String row_index = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(row_index,errorMap.getOrDefault(row_index,"") + ";鍒嗙被璺緞涓嶅瓨鍦�"); } else { @@ -4014,7 +4022,7 @@ List<String>newOidList=new ArrayList<>(); newOidList.add(oid); if(keyAttrOkOidTORepeatOidMap.containsKey(okOid)){ - List<String> oldOidList= keyAttrOkOidTORepeatOidMap.get(okOid); + List<String> oldOidList = keyAttrOkOidTORepeatOidMap.get(okOid); newOidList.addAll(oldOidList); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index 7c4d378..e468dc1 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -1381,7 +1381,7 @@ TreeQueryObject treeQueryObject=new TreeQueryObject(); treeQueryObject.setParentOid(oid); treeQueryObject.setQueryAllLevel(true); - dataCodeClassifyVOList=classifyService.selectAllClassifyByOid(oid);//.selectCodeClassifyDOByTree(treeQueryObject); + dataCodeClassifyVOList=classifyService.selectAllClassifyByOid(oid,"oid");//.selectCodeClassifyDOByTree(treeQueryObject); //dataCodeClassifyVOList.add(CodeClassifyWrapper.build().entityVO(currentCodeClassify[0])); Map<String, CodeClassifyVO> oidCodeclassifyDOMap = dataCodeClassifyVOList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml index 97c678e..9ab3d4d 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml @@ -70,6 +70,8 @@ <result property="referBtmName" column="REFERBTMNAME" jdbcType="VARCHAR"/> <result property="referBtmId" column="REFERBTMID" jdbcType="VARCHAR"/> <result property="referCodeClassifyOidName" column="c__name" jdbcType="VARCHAR"/> + <result property="prefixCode" column="PREFIXCODE" jdbcType="VARCHAR"/> + <result property="suffixCode" column="SUFFIXCODE" jdbcType="VARCHAR"/> </resultMap> <select id="selectCodeBasicSecPage" resultMap="CodeBasicsecMap"> @@ -136,6 +138,8 @@ PL_CODE_BASICSEC.serialdependorder, PL_CODE_BASICSEC.nullableflag, PL_CODE_BASICSEC.codefilllimit, + PL_CODE_BASICSEC.prefixcode, + PL_CODE_BASICSEC.suffixcode, btm_codebasicsec_1.name as b__name, platformbtm_codeclassify.name as c__name, COUNT(*) OVER () "##VCI_COUNT_VCI##" 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 229b39f..dd22b32 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 @@ -37,6 +37,7 @@ <result column="CODERULEOID" property="codeRuleOid"/> <result column="CODEKEYATTRREPEATOID" property="codeKeyAttrRepeatOid"/> <result column="CODERESEMBLERULEOID" property="codeResembleRuleOid"/> + <result column="ISPARTICIPATECHECK" property="isParticipateCheck"/> <result column="TENANT_ID" property="tenantId"/> <result column="TOTAL" property="total"/> </resultMap> @@ -88,7 +89,8 @@ codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, - coderesembleruleoid.name as codeResembleRuleOidName + coderesembleruleoid.name as codeResembleRuleOidName, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid @@ -131,6 +133,7 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName, @@ -155,10 +158,13 @@ on codeclassify0.codeResembleRuleOid = coderesembleruleoid.oid START WITH <if test="oid != null "> - codeclassify0.parentCodeClassifyOid = '${oid}' + codeclassify0.parentCodeClassifyOid = #{oid} </if> <if test="oid == null "> codeclassify0.parentCodeClassifyOid is null + </if> + <if test="tenantId != null and tenantId != ''"> + and codeclassify0.tenant_id = #{tenantId} </if> CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid </select> @@ -209,8 +215,9 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.namePath as namepath, - codeclassify0.idPath as idpath + codeclassify0.namePath as namepath, + codeclassify0.idPath as idpath, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from (select plcodeclassify.*, SYS_CONNECT_BY_PATH(name, '#') as namePath, SYS_CONNECT_BY_PATH(id, '#') as idPath @@ -239,7 +246,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.paths as paths + codeclassify0.paths as paths, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from (select plcodeclassify.*, <choose> <when test='fieldName=="name"'> @@ -292,7 +300,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.TENANT_ID as tenantId , + codeclassify0.TENANT_ID as tenantId, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -355,7 +364,8 @@ codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, - coderesembleruleoid.name as codeResembleRuleOidName + coderesembleruleoid.name as codeResembleRuleOidName, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid @@ -377,7 +387,7 @@ </select> <select id="getRMLibByName" resultMap="plCodeClassifyResultMap"> - select codeclassify0.OWNER as owner, + select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, @@ -397,6 +407,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -442,6 +453,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -461,9 +473,10 @@ </if> order by id asc </select> + <!--鑾峰彇鎵�鏈変笅绾ц妭鐐�,涓嶈鍔ㄨ繖涓柟娉晄ql--> <select id="selectAllClassifyByOid" resultMap="plCodeClassifyResultMap"> - select codeclassify0.OWNER as owner, + select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, @@ -483,6 +496,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -526,7 +540,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.TENANT_ID as tenantId , + codeclassify0.TENANT_ID as tenantId, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -569,4 +584,28 @@ connect by p.oid = prior p.PARENTCODECLASSIFYOID </select> + <select id="selectLeafByParentClassifyOid" resultType="com.vci.ubcs.code.entity.CodeClassify"> + select * + from ( + select + oid, + name, + id, + level lvl, + isparticipatecheck, + nvl((select 'N' + from PL_CODE_CLASSIFY pcc1 + where pcc.oid = pcc1.PARENTCODECLASSIFYOID + and rownum < 2),'Y') is_leaf + from PL_CODE_CLASSIFY pcc + start with pcc.PARENTCODECLASSIFYOID = #{topOid} + connect by pcc.PARENTCODECLASSIFYOID = prior oid + ) plcls + where + is_leaf = 'Y' + and isparticipatecheck = 0 + and oid != #{currentOid} + </select> + + </mapper> -- Gitblit v1.9.3