From 114c0b5aa8bffa7120d7294ba0631d2ef78711c1 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 12 九月 2023 19:13:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/docking/data.vue | 61 +++ Source/UBCS-WEB/src/views/code/code.vue | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java | 8 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java | 37 + Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 6 Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue | 128 +++++-- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java | 12 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/DMS.xml | 12 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue | 3 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 45 + Source/UBCS-WEB/src/views/MasterData/items.vue | 10 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json | 152 ++++---- Source/UBCS-WEB/src/views/docking/task.vue | 97 +++++ Source/UBCS-WEB/package.json | 1 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue | 15 Source/UBCS-WEB/src/views/docking/loge.vue | 19 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 292 ++++++++++++++++ Source/UBCS-WEB/src/components/FormTemplate/index.vue | 9 Source/UBCS-WEB/src/main.js | 3 Source/UBCS-WEB/src/components/Master/MasterTree.vue | 4 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java | 42 ++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java | 16 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java | 9 24 files changed, 808 insertions(+), 177 deletions(-) diff --git a/Source/UBCS-WEB/package.json b/Source/UBCS-WEB/package.json index 7a6cde9..9c10428 100644 --- a/Source/UBCS-WEB/package.json +++ b/Source/UBCS-WEB/package.json @@ -23,6 +23,7 @@ "js-md5": "^0.7.3", "js-pinyin": "^0.2.4", "mockjs": "^1.0.1-beta3", + "moment": "^2.29.4", "node-gyp": "^5.0.6", "nprogress": "^0.2.0", "portfinder": "^1.0.23", diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index 610ff04..3ba7da9 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -84,10 +84,15 @@ trendsSpan: { type: Number, default: 8, - } + }, + TreeValue:{ + type: String, + default: "", + }, }, data() { return { + TreeValueForm:'', updateIndex: 0, form: {}, option: { @@ -114,7 +119,7 @@ slotColumnList: [], }; }, - mounted() { + mounted() { this.handleResize(); }, computed: { @@ -126,10 +131,31 @@ return 24 / Math.floor(windowWidth / 500); } }, + + }, + watch: { + // 琛ㄥ崟鏁版嵁淇敼鍙嶉鍒扮埗缁勪欢 + form: { + deep: true, + immediate: true, + handler(newV) { + this.$emit("getFormData", newV); + }, + }, + TreeValue:{ + handler(newval,oldval){ + if(newval){ + this.TreeValueForm=newval; + // console.log(this.TreeValueForm) + } + }, + deep:true, + immediate:true + } }, methods: { // 娓叉煋琛ㄥ崟妯℃澘 - templateRender(formItemList) { + templateRender(formItemList,TreeValue) { // 鏃犻渶鍒嗙粍鏁版嵁 let column = []; let group = []; @@ -138,7 +164,6 @@ let value='' formItemList.forEach((formItem) => { formItem = this.resetFormConfig(formItem); - // console.log('formItem',formItem) // console.log('formItem.dicData.value',formItem.dicData) if (formItem.type === "line") { group.push({ @@ -196,7 +221,7 @@ 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.codeDateFormatStr: null), + (formItem.secType == "codedatesec"?formItem.codeDateFormatStr: null) || ( TreeValue&& formItem.secType == "codelevelsec" ? TreeValue : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, tip: formItem.tooltips, @@ -415,16 +440,6 @@ this.$emit("getFormData", this.form); this.$emit("referConfigDataUpdate", data); } - }, - }, - watch: { - // 琛ㄥ崟鏁版嵁淇敼鍙嶉鍒扮埗缁勪欢 - form: { - deep: true, - immediate: true, - handler(newV) { - this.$emit("getFormData", newV); - }, }, }, }; diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index 2f714ce..0f09a76 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -13,6 +13,7 @@ <FormTemplate v-bind="$attrs" :type="type" + :TreeValue="TreeValue" :rowOid="rowOid" :templateOid="templateOid" v-if="dialogVisible" @@ -90,6 +91,10 @@ visible: { type: Boolean, default: false, + }, + TreeValue:{ + type: String, + default: "", }, type: { type: String, @@ -291,7 +296,7 @@ that.showCodeApply = true; that.activeName = "codeApply"; that.$nextTick(() => { - that.$refs.CodeApply.templateRender(that.secVOList); + that.$refs.CodeApply.templateRender(that.secVOList,this.TreeValue); }); } else { that.showCodeApply = false; @@ -319,7 +324,7 @@ } return item; }); - this.$refs.CodeApply.templateRender(this.secVOList); + this.$refs.CodeApply.templateRender(this.secVOList,this.TreeValue); }, resembleQuerySubmit() { this.activeName = "resembleQuery"; diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue index 7e248d2..e923ebc 100644 --- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue +++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue @@ -28,6 +28,7 @@ }, data() { return { + TreeValue:'', idData: '', masterVrBtnList: [], tableHeadFindData: [], @@ -165,6 +166,9 @@ //鏍戠偣鍑讳簨浠� async nodeClick(data) { try { + console.log(data) + this.TreeValue=data.label.split(" ")[0].trim(); + this.$emit('TreeValue',this.TreeValue) this.nodeClickList = data; this.tableHeadDataFateher = [] this.tableHeadFindData = [] diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index 6e24287..8813035 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -54,7 +54,7 @@ </el-row> <!-- 鏂板--> <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" - :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible" + :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible" :TreeValue="TreeValue" type="add" @submit="AddSumbit"> </FormTemplateDialog> @@ -155,6 +155,10 @@ tableDataArray: { type: Array, }, + TreeValue:{ + type: String, + default: "", + }, total: { type: String, default: "", diff --git a/Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue b/Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue index 28df3b8..9fe3956 100644 --- a/Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue +++ b/Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue @@ -1,26 +1,70 @@ <template> <div style="display: flex" > <el-form :inline="true" :model="formInline" class="demo-form-inline"> - <el-form-item label="绫诲瀷:" size="small"> - <el-select v-model="formInline.type" placeholder="璇疯緭鍏ョ被鍨�" @change="SelectChange"> +<!-- 闆嗘垚鏃ュ織 浠诲姟 鏁版嵁鍏ㄩ儴鍏敤--> + <el-form-item label="闆嗘垚鏌ヨ:" size="small"> + <el-select v-model="formInline.type" placeholder="璇烽�夋嫨鍒嗙被" @change="SelectChange"> <el-option :label="item.label" :value="item.value" v-for="item in SearchObject.searchData" ></el-option> </el-select> </el-form-item> - <el-form-item v-if="typeFlag" size="small"> - <el-select v-model="formInline.check" placeholder="璇烽�夋嫨鍒嗙被"> - <el-option label="1" value="0"></el-option> - <el-option label="2" value="1"></el-option> +<!-- 闆嗘垚鏃ュ織 鏄惁鎴愬姛--> + <el-form-item v-if="(status.type == 'loge' && status.stateFlag)" size="small"> + <el-select v-model="formInline.state" placeholder="璇烽�夋嫨鐘舵��"> + <el-option label="鏄�" value="true"></el-option> + <el-option label="鍚�" value="false"></el-option> </el-select> </el-form-item> - <el-form-item size="small" v-if="dateFlag"> +<!-- 闆嗘垚鏃ュ織绫诲瀷--> + <el-form-item v-if="(status.type == 'loge' && status.typeFlag)" size="small"> + <el-select v-model="formInline.cut" placeholder="璇烽�夋嫨绫诲瀷"> + <el-option label="鏁版嵁鎺ㄩ��" value="pushData"></el-option> + <el-option label="鍒嗙被鎺ㄩ��" value="pushClassifyData"></el-option> + <el-option label="缂栫爜鐢宠" value="applyCode"></el-option> + <el-option label="缂栫爜缁存姢" value="syncEditData"></el-option> + <el-option label="鍒嗙被鏌ヨ" value="queryClassify"></el-option> + <el-option label="鍚紪鐮佽鍒欑殑鍒嗙被鏌ヨ" value="queryClassifyRule"></el-option> + <el-option label="鏁版嵁鏌ヨ" value="queryData"></el-option> + </el-select> + </el-form-item> +<!-- 闆嗘垚浠诲姟 鏄惁鎺ㄩ�佹垚鍔� 闆嗘垚鏁版嵁 鏄惁鍒嗚В浠诲姟--> + <el-form-item v-if="((status.type == 'task' || status.type == 'data')&& status.stateTaskDataFlag)" size="small"> + <el-select v-model="formInline.stateTask" placeholder="璇烽�夋嫨鐘舵��"> + <el-option label="鏄�" value="true"></el-option> + <el-option label="鍚�" value="false"></el-option> + </el-select> + </el-form-item> +<!-- 闆嗘垚浠诲姟 闆嗘垚鏁版嵁 鎺ㄩ�佺被鍨�--> + <el-form-item v-if="((status.type === 'task' || status.type === 'data') && status.sendTypeFlga)" size="small"> + <el-select v-model="formInline.taskCut" placeholder="璇烽�夋嫨鎺ㄩ�佺被鍨�"> + <el-option label="鍙戝竷" value="Enabled"></el-option> + <el-option label="鍥炴敹" value="TakeBack"></el-option> + <el-option label="鍋滅敤" value="Disabled"></el-option> + </el-select> + </el-form-item> +<!-- 闆嗘垚浠诲姟 鍒涘缓鏃ユ湡 闆嗘垚鏃ュ織 璁板綍鏃堕棿--> + <el-form-item size="small" v-if="((status.type == 'loge' ||status.type == 'task') && status.dateFlag)"> <el-date-picker v-model="formInline.Date" type="date" placeholder="閫夋嫨鏃ユ湡鏃堕棿"> </el-date-picker> </el-form-item> - <el-form-item size="small" > +<!-- 闆嗘垚浠诲姟 鏈�鍚庢帹閫佹椂闂�--> + <el-form-item size="small" v-if="status.type == 'task' && status.lastDateFlag"> + <el-date-picker + v-model="formInline.lastDate" + type="date" + placeholder="閫夋嫨鏃ユ湡鏃堕棿"> + </el-date-picker> + </el-form-item> +<!-- 鍏敤妯″潡--> +<!-- 杈撳叆鍐呭--> + <el-form-item size="small" v-if="shouldShowInput"> <el-input v-model="formInline.text" placeholder="璇疯緭鍏ュ唴瀹�" @keyup.enter.native="SaveHandler"></el-input> + </el-form-item> +<!-- 鏌ヨ鎸夐挳--> + <el-form-item size="small" v-if="shouldShowButton"> + <el-button type="success" size="small" @click="handleSearch">鏌ヨ</el-button> </el-form-item> </el-form> </div> @@ -30,46 +74,60 @@ import {getList} from "@/api/docking/loge"; export default { name: "VciDockingSearch", - props:['SearchObject','page'], + props:['SearchObject','page','formInline','status'], data() { return { - typeFlag:false, - dateFlag:false, - formInline:{ - type:'', - check:'', - text:'', - Date:'' - }, + } + }, + computed: { + //杈撳叆妗嗗垽鏂� + shouldShowInput() { + const isLogeType = this.status.type === 'loge'; + const isTaskType = this.status.type === 'task'; + const isDataType = this.status.type === 'data'; + return ( + (isLogeType && !this.status.stateFlag && !this.status.dateFlag && !this.status.typeFlag) || + (isTaskType && !this.status.stateTaskDataFlag && !this.status.dateFlag && !this.status.lastDateFlag && !this.status.sendTypeFlga) || + (isDataType && !this.status.stateTaskDataFlag && !this.status.sendTypeFlga) + ); + }, + //鎸夐挳鍒ゆ柇 + shouldShowButton() { + const isLogeType = this.status.type === 'loge'; + const isTaskType = this.status.type === 'task'; + const isDataType = this.status.type === 'data'; + return( + (isLogeType && (this.status.dateFlag || this.status.stateFlag || this.status.typeFlag)) || + (isTaskType && (this.status.stateTaskDataFlag || this.status.dateFlag || this.status.lastDateFlag || this.status.sendTypeFlga)) || + (isDataType && (this.status.stateTaskDataFlag || this.status.sendTypeFlga)) + ); } }, methods:{ - SelectChange(val){ - this.typeFlag = (this.SearchObject.type === 'loge' && val === 5); - this.dateFlag = (this.SearchObject.type === 'loge' && val === 6); - // if(this.SearchObject.type === 'loge'){ - // if(val === 5){ - // this.typeFlag=true; - // }else { - // this.typeFlag=false; - // } - // if(val === 6){ - // this.dateFlag=true; - // }else { - // this.dateFlag=false; - // } - // } + SelectChange(val) { + const logeType = this.status.type === 'loge'; + const taskType = this.status.type === 'task'; + const dataType = this.status.type === 'data'; + this.status.typeFlag = logeType && val === 5; + this.status.dateFlag = (logeType && val === 6) || (taskType && val === 6); + this.status.stateFlag = logeType && val === 7; + this.status.lastDateFlag = taskType && val === 7; + this.status.stateTaskDataFlag = (taskType && val === 8) || (dataType && val === 4); + this.status.sendTypeFlga = (taskType && val === 5) || (dataType && val === 3); }, SaveHandler(){ let name = this.SearchObject.searchData[this.formInline.type].prop; - getList(this.page.currentPage, this.page.pageSize, {[name]: this.formInline.text}).then(res => { + getList(this.page.currentPage, this.page.pageSize, { [`conditionMap['${name}_like']`]: this.formInline.text}).then(res => { console.log(res); }); + }, + handleSearch(){ + let formattedDate = this.$moment(this.formInline.Date).format('YYYY-M-D'); + console.log('formattedDate',formattedDate); } } } </script> -<style scoped> - +<style lang="scss" scoped> </style> diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue index 8422b43..66e133e 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue @@ -183,6 +183,7 @@ label: '瀵嗙骇', width: 60, hidden: (!this.controllerSecret), + hide: (!this.controllerSecret), formatter:function (d){ return d.secretGradeText || d.data.secretGradeText } @@ -209,6 +210,8 @@ label: item.title, prop: item.field, formatter:formatter, + sortable:item.sort, + hide:item.hidden, search:this.options.tableConfig.queryColumns.some(qItem=>{ return qItem.field==item.field }) diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue index 522df5b..70ccbae 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue @@ -202,10 +202,16 @@ message: "璇疯緭鍏�" + item.field, trigger: "blur" }]; - item.formatter=function(d){ - return d.field || d.data.field - }; } + item.formatter=function(d){ + if(d[item.field]!=undefined){ + return d[item.field] + }else if(d.data[item.field] !=undefined){ + return d.data[item.field] + }else { + return '' + } + }; return { ...item, label: item.title, @@ -267,6 +273,8 @@ label: item.title, prop: item.field, formatter:formatter, + sortable:item.sort, + hide:item.hidden, search: this.options.tableConfig.queryColumns.some(qItem=>{ return qItem.field==item.field }) @@ -281,7 +289,6 @@ this.params=paramsData; }, setValue(){ - console.log('纭畾') if(this.selectionList.length==0){ this.$message.warning( '娌℃湁閫夋嫨鏁版嵁'); return false; diff --git a/Source/UBCS-WEB/src/main.js b/Source/UBCS-WEB/src/main.js index ab379e4..eecd5c0 100644 --- a/Source/UBCS-WEB/src/main.js +++ b/Source/UBCS-WEB/src/main.js @@ -78,6 +78,9 @@ //澶嶅埗鎻掍欢 import VueClipboard from 'vue-clipboard2' Vue.use( VueClipboard ) +//鏃堕棿鎻掍欢 +import moment from 'moment'; +Vue.prototype.$moment = moment; // 娉ㄥ唽鍏ㄥ眬瀹瑰櫒 Vue.component('basicContainer', basicContainer); Vue.component('basicBlock', basicBlock); diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue index be13f12..03db218 100644 --- a/Source/UBCS-WEB/src/views/MasterData/items.vue +++ b/Source/UBCS-WEB/src/views/MasterData/items.vue @@ -6,7 +6,7 @@ <master-tree @codeClassifyOid="codeClassifyOidList" @coderuleoid="coderuleoidList" :pageSize="this.pageSize" :currentPage="this.currentPage" @tableDataArray="tableDataArrays" @tableHeadDataFateher="tableHeadDatas" @tableHeadBttoms="tableHeadBttoms" @total="totals" @nodeClick="nodeClick" - @tableHeadFindData="tableHeadFindDatas" @Treedata="TreedataList"></master-tree> + @tableHeadFindData="tableHeadFindDatas" @Treedata="TreedataList" @TreeValue="TreeValueEmit"></master-tree> </basic-container> </el-aside> <el-main> @@ -14,7 +14,7 @@ <VciMasterCrud :page="this.page" :codeClassifyOid="this.codeClassifyOid" :coderuleoid="this.coderuleoid" @pageSize="pageSizes" @currentPage="currentPages" :tableDataArray="tableDataArray" :total="this.total" :tableHeadDataFateher="this.tableHeadDataFateher" :isLoading="isLoading" :templateOid="templateOid" - :tableHeadFindData="tableHeadFindData" :tableHeadBtnData="masterVrBtnList" :Treedata="Treedata"></VciMasterCrud> + :tableHeadFindData="tableHeadFindData" :tableHeadBtnData="masterVrBtnList" :Treedata="Treedata" :TreeValue="TreeValue"></VciMasterCrud> </el-main> </el-container> </template> @@ -42,12 +42,16 @@ tableHeadDataFateher: [], total: "", isLoading: false, - tableHeadFindData: {} + tableHeadFindData: {}, + TreeValue:'' } }, created() { }, methods: { + TreeValueEmit(val){ + this.TreeValue=val + }, codeClassifyOidList(val) { this.codeClassifyOid = val; }, diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 59f6ec1..dbc4044 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -1876,6 +1876,8 @@ oid: this.codefixedsecOrCodeclassifysec.oid, }); this.clearFixedOrClassifyForm("codefixedsec"); + this.$refs.crudFixedValue.refreshTable(); + this.$refs.crudFixedValue.doLayout(); this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!", diff --git a/Source/UBCS-WEB/src/views/docking/data.vue b/Source/UBCS-WEB/src/views/docking/data.vue index 61e3788..c556696 100644 --- a/Source/UBCS-WEB/src/views/docking/data.vue +++ b/Source/UBCS-WEB/src/views/docking/data.vue @@ -8,12 +8,16 @@ :permission="permissionList" ref="crud" @search-change="searchChange" + @cell-dblclick="cellDbClick" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> + <template slot-scope="scope" slot="menuLeft"> + <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status"></vci-docking-search> + </template> </avue-crud> </basic-container> </template> @@ -28,6 +32,50 @@ name: "data", data(){ return { + //鍚勪釜绫诲瀷鐘舵�� + status:{ + type:'data', + sendTypeFlga:false, + stateTaskDataFlag:false + }, + //model缁戝畾 + formInline:{ + type:'', + text:'', + stateTask:'', + taskCut:'' + }, + //闆嗘垚绫诲瀷姝绘暟鎹� + SearchObject:{ + searchData:[ + { + label:'鏁版嵁缂栫爜', + prop: "id", + value:0 + }, + { + label:'鍒嗙被浠e彿', + prop: "classifyId", + value:1 + }, + { + label:'鍒嗙被鍚嶇О', + prop: 'classifyName', + value:2 + }, + { + label:'鎺ㄩ�佺被鍨�', + prop: 'sendType', + value:3 + }, + { + label:'鏄惁鍒嗚В浠诲姟', + prop: 'sendFlag', + value:4 + }, + ] + }, + value:'', loading: false, query: {}, selectionList: [], @@ -141,6 +189,19 @@ } }, methods: { + async cellDbClick(row, column, cell, event) { + for (const key in row) { + if (key === column.property) { + this.value = row[key]; + } + } + try { + await this.$copyText(this.value); + this.$message.success('澶嶅埗鎴愬姛'); + } catch (error) { + this.$message.warning('澶嶅埗澶辫触'); + } + }, searchReset() { this.query = {}; this.onLoad(this.page); diff --git a/Source/UBCS-WEB/src/views/docking/loge.vue b/Source/UBCS-WEB/src/views/docking/loge.vue index 136ec29..37333e4 100644 --- a/Source/UBCS-WEB/src/views/docking/loge.vue +++ b/Source/UBCS-WEB/src/views/docking/loge.vue @@ -16,7 +16,7 @@ @refresh-change="refreshChange" @on-load="onLoad"> <template slot-scope="scope" slot="menuLeft"> - <vci-docking-search :SearchObject="SearchObject" :page="page"></vci-docking-search> + <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status"></vci-docking-search> </template> </avue-crud> </basic-container> @@ -32,8 +32,23 @@ data(){ return { value:'', - SearchObject:{ + //鍚勪釜绫诲瀷鐘舵�� + status:{ type:'loge', + typeFlag:false, + dateFlag:false, + stateFlag:false, + }, + //model缁戝畾 + formInline:{ + type:'', + cut:'', + text:'', + Date:'', + state:'' + }, + //闆嗘垚绫诲瀷姝绘暟鎹� + SearchObject:{ searchData:[ { label:'鏁版嵁缂栫爜', diff --git a/Source/UBCS-WEB/src/views/docking/task.vue b/Source/UBCS-WEB/src/views/docking/task.vue index 9ca5fc5..fd99ef0 100644 --- a/Source/UBCS-WEB/src/views/docking/task.vue +++ b/Source/UBCS-WEB/src/views/docking/task.vue @@ -8,6 +8,7 @@ :permission="permissionList" ref="crud" @search-change="searchChange" + @cell-dblclick="cellDbClick" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @@ -15,12 +16,15 @@ @refresh-change="refreshChange" @on-load="onLoad"> <template slot="menuLeft"> - <el-button type="primary" - size="small" - plain - icon="el-icon-refresh-right" - @click="handleSend">鎵嬪姩鎺ㄩ�� - </el-button> + <el-button type="primary" + size="small" + plain + icon="el-icon-refresh-right" + @click="handleSend">鎵嬪姩鎺ㄩ�� + </el-button> + <div style="float: right;margin-left: 10px"> + <vci-docking-search :formInline="formInline" :SearchObject="SearchObject" :page="page" :status="status"></vci-docking-search> + </div> </template> </avue-crud> </basic-container> @@ -36,6 +40,74 @@ name: "task", data(){ return { + //model缁戝畾 + formInline:{ + type:'', + stateTask:'', + lastDate:'', + Date:'', + text:'', + taskCut:'' + }, + //鍚勪釜绫诲瀷鐘舵�� + status:{ + type:'task', + stateTaskDataFlag:false, + dateFlag:false, + lastDateFlag:false, + sendTypeFlga:false + }, + //闆嗘垚绫诲瀷姝绘暟鎹� + SearchObject:{ + searchData:[ + { + label:'鏁版嵁缂栫爜', + prop: "id", + value:0 + }, + { + label:'鍒嗙被浠e彿', + prop: 'classifyId', + value:1 + }, + { + label:'鍒嗙被鍚嶇О', + prop: 'classifyName', + value:2 + }, + { + label:'闆嗘垚绯荤粺缂栧彿', + prop: 'systemCode', + value:3 + }, + { + label:'闆嗘垚绯荤粺鍚嶇О', + prop: 'systemName', + value:4 + }, + { + label:'鎺ㄩ�佺被鍨�', + prop: 'sendType', + value:5 + }, + { + label:'浠诲姟鍒涘缓鏃堕棿', + prop: 'createTime', + value:6 + }, + { + label:'鏈�鍚庢帹閫佹椂闂�', + prop: 'lastModifyTime', + value:7 + }, + { + label:'鏄惁鎺ㄩ�佹垚鍔�', + prop: 'sendFlag', + value:8 + } + ] + }, + value:'', loading: false, query: {}, selectionList: [], @@ -170,6 +242,19 @@ } }, methods: { + async cellDbClick(row, column, cell, event) { + for (const key in row) { + if (key === column.property) { + this.value = row[key]; + } + } + try { + await this.$copyText(this.value); + this.$message.success('澶嶅埗鎴愬姛'); + } catch (error) { + this.$message.warning('澶嶅埗澶辫触'); + } + }, searchReset() { this.query = {}; this.onLoad(this.page); diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/DMS.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/DMS.xml new file mode 100644 index 0000000..b63b345 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/DMS.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" ?> +<clsfs> + <clsf library="renyuan"> + <prop sourceKey="id" sourceName="缂栫爜" targetKey="lm_code" targetName="缂栫爜"/> + <prop sourceKey="group_code" sourceName="闆嗗洟鐮�" targetKey="ordernum" targetName="闆嗗洟鐮�"/> + <prop sourceKey="name" sourceName="鍚嶇О" targetKey="name" targetName="鍚嶇О"/> + <prop sourceKey="creator" sourceName="鍒涘缓浜�" targetKey=" creator " targetName="鍒涘缓浜�"/> + <prop sourceKey="createtime" sourceName="鍒涘缓鏃堕棿" targetKey="createtime" targetName="鍒涘缓鏃堕棿"/> + <prop sourceKey="modifier" sourceName="鏈�鍚庝慨鏀逛汉" targetKey="modifier" targetName="鏈�鍚庝慨鏀逛汉"/> + <prop sourceKey="modifytime" sourceName="鏈�鍚庝慨鏀规椂闂�" targetKey="modifytime" targetName="鏈�鍚庝慨鏀规椂闂�"/> + </clsf> +</clsfs> diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java index c96f200..a255829 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/EnumerableData.java @@ -17,4 +17,46 @@ * 鎻忚堪 */ private String descript; + + public String getMdm_code() { + return mdm_code; + } + + public void setMdm_code(String mdm_code) { + this.mdm_code = mdm_code; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescript() { + return descript; + } + + public void setDescript(String descript) { + this.descript = descript; + } + + @Override + public String toString() { + return "EnumerableData{" + + "mdm_code='" + mdm_code + '\'' + + ", code='" + code + '\'' + + ", name='" + name + '\'' + + ", descript='" + descript + '\'' + + '}'; + } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java index 9d0edef..4ee33f1 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/OrgMasterData.java @@ -106,7 +106,7 @@ private String link_fieldvalue; private String floy_middatastatus; private String originalcode; - private String pk_mdn; + private String pk_mdm; private String mdm_duplicate; private String mdm_code; private String mdm_version; @@ -366,12 +366,12 @@ this.originalcode = originalcode; } - public String getPk_mdn() { - return pk_mdn; + public String getPk_mdm() { + return pk_mdm; } - public void setPk_mdn(String pk_mdn) { - this.pk_mdn = pk_mdn; + public void setPk_mdm(String pk_mdn) { + this.pk_mdm = pk_mdn; } public String getMdm_duplicate() { @@ -464,7 +464,7 @@ ", link_fieldvalue='" + link_fieldvalue + '\'' + ", floy_middatastatus='" + floy_middatastatus + '\'' + ", originalcode='" + originalcode + '\'' + - ", pk_mdn='" + pk_mdn + '\'' + + ", pk_mdm='" + pk_mdm + '\'' + ", mdm_duplicate='" + mdm_duplicate + '\'' + ", mdm_code='" + mdm_code + '\'' + ", mdm_version='" + mdm_version + '\'' + diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java index d75d269..7c200d0 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/PersonMasterData.java @@ -187,7 +187,7 @@ private String flow_middatastatus; private String employer; private int mdm_duplicate; - private EnumerableData gerder_entity; + private EnumerableData gender_entity; private EnumerableData employment_type_entity; private String gerder; private String employment_type; @@ -561,12 +561,12 @@ this.mdm_duplicate = mdm_duplicate; } - public EnumerableData getGerder_entity() { - return gerder_entity; + public EnumerableData getGender_entity() { + return gender_entity; } - public void setGerder_entity(EnumerableData gerder_entity) { - this.gerder_entity = gerder_entity; + public void setGender_entity(EnumerableData gender_entity) { + this.gender_entity = gender_entity; } public EnumerableData getEmployment_type_entity() { @@ -659,7 +659,7 @@ @Override public String toString() { - return "MasterData{" + + return "PersonMasterData{" + "id='" + id + '\'' + ", lm_code='" + lm_code + '\'' + ", group_code='" + group_code + '\'' + @@ -705,8 +705,8 @@ ", flow_middatastatus='" + flow_middatastatus + '\'' + ", employer='" + employer + '\'' + ", mdm_duplicate=" + mdm_duplicate + - ", gerder_entity='" + gerder_entity + '\'' + - ", employment_type_entity='" + employment_type_entity + '\'' + + ", gender_entity=" + gender_entity + + ", employment_type_entity=" + employment_type_entity + ", gerder='" + gerder + '\'' + ", employment_type='" + employment_type + '\'' + ", employment_type_nane='" + employment_type_nane + '\'' + diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json index 78ec2df..1fbbea3 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/org..json @@ -1,79 +1,77 @@ { - msg:null, - masterData:[ - { - "departnent_code": "108040", - "is_virtual": 0, - "id_route": "2843121148743936]2843121413050624]", - "departnent_type": "1", - "nodifytime": "2023-06-1510:34:37", - "mdm_workflow_status":l, - "modifier":"鐜嬬", - "telephone_nunber":null, - "mdm_datastatus":3, - "parent_departnent_nane":鈥滆储鍔$鐞嗛儴", - "ndn_cleanstatus": "VAITING", + "msg": null, + "masterData": [{ + "country": "涓浗澶ч檰", + "education": "澶у鏈", + "mdm_workflow_status": 0, + "worker_category": "鍦ㄥ矖", + "modifier": "涓绘暟鎹郴缁�", + "mdm_datastatus": 3, "link_fieldvalue": null, - "dr:0," - dr_ndm_code - ":" - 0, - "enable_status :3," - ndn_parentcode - ";null," - departent - head - ":null," - floy_middatastatus - ":null," - originalcode - ":null," - node - type - ":" - 閮�, - "company_code": "20220423,department_level" - : - "2", - "nane_route": null, - "sort_order": "81鈥濓紝" - pk_mdn - ":" - 1720683591179436130 - ",display_status": "涓嶆樉绀�," - parent_department - _code - ":" - 108000 - ",creator:" - 鐜嬬憺娉� - 鈥�, - "createtine": 2023-05-08 - 10: 45 - : - 33 - 锛� - "departnent nane": 闆嗗洟璐㈠姟澶�6666 - 鈥� - . - "ndm duplicate": 0, - ndn - code - ? - : - "99", - /dcpartment_status - ":" - 浣滃簾 - 鈥� - 锛� - ndm_version - ":4,company name :涓浗鑸彂榛庢槑" - original - nane: null, - "departnent head code": null, - "ts :" - 2023-06-1510: 34 - : - 37.451 - "]], distributeToken=, code=0, systemCode=nhdept,ndType=departnent_basic, action=distribute_manual} + "dr": 0, + "flow_middatastatus": null, + "employer": "棰嗙剨鍔犲伐鍘�", + "parent_dept_code": "403000", + "politiccountenance": null, + "outer_email": null, + "id_number": "210104198806062312", + "worker_level": "鍒濈骇宸ャ�婂熀鏈敓浜с��", + "admin_division_code": null, + "work_title": null, + "mdm_duplicate":0, + "employer_code":"403000", + "birthplace": "杈藉畞鐪佹矆闃冲競鈥濓紝", + "nationality": "姹夋棌", + "gender_entity":{ + "mdm_code":"1", + "code":"5", + "name":"鐢锋��", + "descript":"鐢峰コ锛岄泦鍥㈡爣鍑嗚姹�: 鐢锋�� 1鍜�5锛屽コ鎬�2鍜�6" + }, + "name":"鐢拌嫍", + "position":"椋炴満鍙戝姩鏈洪閲戝伐", + "employment_type_entity":{ + "mdm_code":"1", + "code":"1,", + "name":"閮ㄩ棬涓昏亴", + "descript":"1銆侀儴闂ㄧ帇鑱� 2銆侀儴闂ㄥ吋鑱�" + }, + "parent_dept_name":"棰嗙剨鍔犲伐鍘�", + "brithday": "1988-06-06", + "employment_type": "1", + "employment_type_nane":"閮ㄩ棬涓昏亴", + "group_code":"19885013", + "gender":1, + "admin_division":null, + "modifytime" :"2023-08-29", + "worker_security_level":null, + "mdm_cleanstatus":"WAITINC", + "dr_mdm_code": "0", + "mdm_parentcode":null, + "mobile_phone":"15140256567", + "id_type":"韬唤璇�", + "dept_type":"鏈哄專鐏劙绛掑伐娈�", + "worker_email":null, + "pk_mdm":"1723S7091785C804868", + "employment_form":"姝e紡鍦ㄥ矖浜哄憳", + "lm_code":"19885013", + "creator":"涓绘暟鎹郴缁�" , + "createtime":"2023-06-1201:39:40", + "office_telephone":null, + "citizenship":"杈藉箍鐪佹矆闃冲競", + "dept_name":"403002", + "mdm_code":"16305", + "gender_name":"鐢锋�р��,", + "is_keyposion":"鏄�", + "worker_duty":"椋炴満鍙嬪姩鏈洪挘閲戝伐", + "marital_status":"鏈", + "mdm_version":"75,", + "ts":"2025-08-t9 17:52:19.026" + + }], + "distributeToken":"", + "code":0, + "systemCode":"mhperson", + "mdType": "person_basic", + "action": "distribute_subscribe" +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java index 695023c..5b7d4d4 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java @@ -7,10 +7,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * 鐢宠浜哄憳閮ㄩ棬鎺у埗鍣� @@ -37,7 +34,7 @@ * @throws Throwable */ @PostMapping("/syncDataForPerson") - public ResultOrgData syncDataForPerson(@RequestParam PersonData personData) { + public ResultOrgData syncDataForPerson(@RequestBody PersonData personData) { String result=""; try { return universalInterfaceI.syncDataForPerson(personData); @@ -55,7 +52,7 @@ * @throws Throwable */ @PostMapping("/syncDataForOrg") - public ResultOrgData syncDataForOrg(@RequestParam OrgData orgData) { + public ResultOrgData syncDataForOrg(@RequestBody OrgData orgData) { String result=""; try { return universalInterfaceI.syncDataForOrg(orgData); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java index d8aaf65..a5bd305 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java @@ -111,4 +111,12 @@ * @return 鏈夐敊璇俊鎭殑excel */ void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode); + + /*** + * 鐢宠闆嗗洟鐮佹帴鍙� + * @param idList 鏁版嵁oid + * @param btmName 涓氬姟绫诲瀷 + * @param operationType + */ + void sendApplyGroupcode(List<String> idList,String btmName,String operationType); } 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 17b4f7c..d83fddc 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 @@ -4455,7 +4455,7 @@ * @param idList * @param btmName */ - private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ + public void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ String oids=VciBaseUtil.array2String(idList.toArray(new String[]{})); if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) { mdmInterJtClient.applyGroupCode(oids,btmName); 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 fd19302..58a119c 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 @@ -352,14 +352,23 @@ */ @Override public ResultOrgData syncDataForPerson(PersonData personData) { + boolean isUsedFlag= personAndDeptConfig.isUsedFlag(); ResultOrgData resultOrgData=new ResultOrgData(); + + boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode(); + String systemCode=personData.getSystemCode(); List<ResultMdMapping> resultMdMappingList=new ArrayList<>(); boolean success=true; String message=""; if(isUsedFlag){ - List<PersonMasterData> masterDataList = personData.getMasterData(); + List<PersonMasterData> masterDataList=new ArrayList<>(); + List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields()); try { + if(personData==null){ + throw new Throwable("浼犲叆鍙傛暟涓簄ull"); + } + masterDataList = personData.getMasterData(); String personLibrary = personAndDeptConfig.getPersonLibrary(); if (StringUtils.isBlank(personLibrary)) { success=false; @@ -400,15 +409,31 @@ object.setEditor(personMasterData.getModifier());//淇敼鑰� object.setId(personMasterData.getId());//涓婚敭 object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂� - Map<String,String> dataMap= VciBaseUtil.objectToMapString(personMasterData); List<ProppertyVO> proppertyVOList=new ArrayList<>(); + /*** + * 鏍规嵁閰嶇疆鏂囦欢鑾峰彇鏋氫妇鍊� + */ + fields.stream().forEach(field->{ + if(dataMap.containsKey(field)){ + String enumFiled= dataMap.get(field); + EnumerableData enumerableData=JSONObject.toJavaObject(JSONObject.parseObject(enumFiled),EnumerableData.class); + String enumCode=enumerableData.getCode(); + //String enumCodeValue=enumerableData.getName(); + ProppertyVO proppertyVO=new ProppertyVO(); + proppertyVO.setKey(field); + proppertyVO.setValue(enumCode); + proppertyVOList.add(proppertyVO); + dataMap.remove(field); + } + }); dataMap.forEach((key,vaule)->{ ProppertyVO proppertyVO=new ProppertyVO(); proppertyVO.setKey(key); proppertyVO.setValue(vaule); proppertyVOList.add(proppertyVO); }); + object.setProp(proppertyVOList); if(personMasterData.getDr()==1){ object.setOperate("delete");//鎿嶄綔绫诲瀷 @@ -470,7 +495,7 @@ LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs=new LinkedList<>(); if(editDatasVO.getObject()!=null&&editDatasVO.getObject().size()>0){ DataObjectVO dataObjectVO = new DataObjectVO(); - this.getConfigDatas("ERP", personLibrary, editDatasVO, attrVOS, dataObjectVO); + this.getConfigDatas(systemCode, personLibrary, editDatasVO, attrVOS, dataObjectVO); log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�"); boolean personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode(); mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode); @@ -478,7 +503,7 @@ } if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) { DataObjectVO dataObjectVO = new DataObjectVO(); - this.getConfigDatas("ERP", personLibrary, editDatasVO, attrVOS, dataObjectVO); + this.getConfigDatas(systemCode, personLibrary, applyDatasVO, attrVOS, dataObjectVO); CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); @@ -492,6 +517,7 @@ CodeOrderDTO orderDTO = new CodeOrderDTO(); List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>(); orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭 + orderDTO.setTemplateOid(templateVO.getOid()); if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) { ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> { if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//瑙勫垯涔嬪畾涔変负鍙彉鐮佹瀛樺偍涓绘暟鎹紶閫掕繃鏉ョ殑鏁版嵁 @@ -503,6 +529,7 @@ } }); } + orderDTO.setCodeRuleOid(ruleVO.getOid()); orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜 orderDTO.setData(rowData.getFiledValue()); engineService.addSaveCode(orderDTO); @@ -533,6 +560,11 @@ resultMdMappingList.add(resultMdMapping); }); log.info("end锛氱敵璇疯幏鍙栧畬姣�"); + //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜 + if(isPersonApplyGroupCode){ + List<String> oidList=new ArrayList<>(); + mdmIOService.sendApplyGroupcode(oidList,templateVO.getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); + } } }catch (Throwable e){ success=false; @@ -554,10 +586,17 @@ resultOrgData.setSuccess(success); resultOrgData.setMdMappings(resultMdMappingList); Object object = JSONObject.toJSON(resultOrgData); - return resultOrgData; + } + String resultStr = JSONObject.toJSONString(resultOrgData); + String data = JSONObject.toJSONString(personData); + try { + //璁板綍鏃ュ織 + this.saveLogs(systemCode, systemCode, data, resultStr, success, msg, "syncDataForPerson"); + }catch (Throwable e){ + e.printStackTrace(); } } - Object object = JSONObject.toJSON(resultOrgData); + return resultOrgData; } /**** @@ -568,7 +607,246 @@ */ @Override public ResultOrgData syncDataForOrg(OrgData orgData) { - return null; + boolean isUsedFlag= personAndDeptConfig.isUsedFlag(); + ResultOrgData resultOrgData=new ResultOrgData(); + + boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode(); + List<ResultMdMapping> resultMdMappingList=new ArrayList<>(); + boolean success=true; + String message=""; + String systemCode=""; + if(isUsedFlag){ + List<OrgMasterData> orgMasterDataList=new ArrayList<>(); + List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields()); + try { + if(orgData==null){ + throw new Throwable("浼犲叆鍙傛暟涓簄ull"); + } + systemCode=orgData.getSystemCode(); + orgMasterDataList = orgData.getMasterData(); + String personLibrary = personAndDeptConfig.getPersonLibrary(); + if (StringUtils.isBlank(personLibrary)) { + success=false; + log.info("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary); + throw new Throwable("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary); + } + String personClassCode = personAndDeptConfig.getPersonClassCode(); + ClassfyVO classfyVO = new ClassfyVO(); + classfyVO.setLibrary(personLibrary); + classfyVO.setClassCode(personClassCode); + CodeClassifyVO codeClassifyVO=this.getClassfy(classfyVO,personLibrary); + log.info("end锛氬垎绫绘煡璇㈠畬姣�"); + //鑾峰彇鍒嗙被妯℃澘淇℃伅 + if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ + success=false; + throw new Throwable ("鏍规嵁閰嶇疆鍒嗙被鐨勫垎绫荤紪鍙凤紝鏈幏鍙栧埌鍒嗙被淇℃伅"); + } + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); + if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ + success=false; + throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�"); + } + + List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) + ).collect(Collectors.toList()); + List<Map> dataList=new ArrayList<>(); + List<String> codeList=new ArrayList<>(); + List<ApplyDataVO> applyDataVOList=new ArrayList<>(); + List<ApplyDataVO> deleteDataVOList=new ArrayList<>(); + orgMasterDataList.stream().forEach(personMasterData -> { + ApplyDataVO object=new ApplyDataVO(); + object.setCode(personMasterData.getMdm_code());//缂栫爜 + object.setCreator(personMasterData.getCreator());//鍒涘缓鑰� + object.setEditor(personMasterData.getModifier());//淇敼鑰� + object.setId(personMasterData.getPk_mdm());//涓婚敭 + object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂� + Map<String,String> dataMap= VciBaseUtil.objectToMapString(personMasterData); + List<ProppertyVO> proppertyVOList=new ArrayList<>(); + /*** + * 鏍规嵁閰嶇疆鏂囦欢鑾峰彇鏋氫妇鍊� + */ + fields.stream().forEach(field->{ + if(dataMap.containsKey(field)){ + String enumFiled= dataMap.get(field); + EnumerableData enumerableData=JSONObject.toJavaObject(JSONObject.parseObject(enumFiled),EnumerableData.class); + String enumCode=enumerableData.getCode(); + //String enumCodeValue=enumerableData.getName(); + ProppertyVO proppertyVO=new ProppertyVO(); + proppertyVO.setKey(field); + proppertyVO.setValue(enumCode); + proppertyVOList.add(proppertyVO); + dataMap.remove(field); + } + }); + dataMap.forEach((key,vaule)->{ + ProppertyVO proppertyVO=new ProppertyVO(); + proppertyVO.setKey(key); + proppertyVO.setValue(vaule); + proppertyVOList.add(proppertyVO); + }); + + object.setProp(proppertyVOList); + if(personMasterData.getDr()==1){ + object.setOperate("delete");//鎿嶄綔绫诲瀷 + deleteDataVOList.add(object); + }else{ + codeList.add(personMasterData.getMdm_code()); + object.setOperate("create"); + applyDataVOList.add(object); + } + }); + + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); + if(!r.isSuccess()) { + throw new Throwable(r.getMsg()); + } + BtmTypeVO btmTypeVO = r.getData(); + if (btmTypeVO == null) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�"); + } + String tableName = btmTypeVO.getTableName(); + if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�"); + } + StringBuffer sb=new StringBuffer(); + sb.append(" select * from "); + sb.append(tableName); + sb.append(" where 1=1 "); + sb.append(" and lastr=1 and lastv=1" ); + sb.append(" and id in ("); + sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0]))); + sb.append(")"); + List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString()); + List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList); + ApplyDatasVO applyDatasVO=new ApplyDatasVO(); + ApplyDatasVO editDatasVO=new ApplyDatasVO(); + if(!CollectionUtils.isEmpty(cboList)){ + Map<String,ClientBusinessObject> oldpplyDataVOMap= cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); + //鏁版嵁搴撲笉瀛樺湪鐨� + List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> { + String code =cbo.getCode(); + return !oldpplyDataVOMap.containsKey(code); + }).collect(Collectors.toList()); + applyDatasVO.setObject(applyApplyDataVOList); + //鏁版嵁搴撳瓨鍦ㄧ殑 + List<ApplyDataVO> editApplyDataVOList = applyDataVOList.stream().filter(cbo -> { + String code =cbo.getCode(); + if(oldpplyDataVOMap.containsKey(code)){ + cbo.setOperate("update"); + } + return oldpplyDataVOMap.containsKey(code); + }).collect(Collectors.toList()); + editApplyDataVOList.addAll(deleteDataVOList); + editDatasVO.setObject(editApplyDataVOList); + }else{ + applyDatasVO.setObject(applyDataVOList); + } + + LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs=new LinkedList<>(); + if(editDatasVO.getObject()!=null&&editDatasVO.getObject().size()>0){ + DataObjectVO dataObjectVO = new DataObjectVO(); + this.getConfigDatas(systemCode, personLibrary, editDatasVO, attrVOS, dataObjectVO); + log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�"); + boolean personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode(); + mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode); + log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�"); + } + if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) { + DataObjectVO dataObjectVO = new DataObjectVO(); + this.getConfigDatas(systemCode, personLibrary, applyDatasVO, attrVOS, dataObjectVO); + + CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); + CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); + if(ruleVO==null||"".equals(ruleVO.getOid())){ + throw new Throwable("缂栫爜瑙勫垯"); + } + List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>(); + dataObjectVO.getRowData().parallelStream().forEach(rowData->{ + String mesg=""; + try { + CodeOrderDTO orderDTO = new CodeOrderDTO(); + List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>(); + orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭 + orderDTO.setTemplateOid(templateVO.getOid()); + if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) { + ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> { + if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//瑙勫垯涔嬪畾涔変负鍙彉鐮佹瀛樺偍涓绘暟鎹紶閫掕繃鏉ョ殑鏁版嵁 + CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO(); + CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); + CodeOrderSecDTO.setSecValue(rowData.getCode()); + codeOrderSecDTOList.add(CodeOrderSecDTO); + + } + }); + } + orderDTO.setCodeRuleOid(ruleVO.getOid()); + orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜 + orderDTO.setData(rowData.getFiledValue()); + engineService.addSaveCode(orderDTO); + } catch (Exception e) { + mesg=e.getMessage(); + e.getMessage(); + e.printStackTrace(); + }finally { + XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO(); + x.setId(rowData.getOid()); + x.setCode(rowData.getCode()); + x.setMsg(mesg); + x.setErrorid("1"); + xDOs.add(x); + } + }); + resultDataObjectDetailDOs.addAll(xDOs); + boolean finalSuccess1 = success; + String finalMessage1 = message; + resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{ + ResultMdMapping resultMdMapping=new ResultMdMapping(); + resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId()); + resultMdMapping.setSuccess(finalSuccess1); + resultMdMapping.setEntityCode(" "); + resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode()); + resultMdMapping.setMessage(finalMessage1); + resultMdMapping.setSubMdMappings(null); + resultMdMappingList.add(resultMdMapping); + }); + log.info("end锛氱敵璇疯幏鍙栧畬姣�"); + //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜 + if(isPersonApplyGroupCode){ + List<String> oidList=new ArrayList<>(); + mdmIOService.sendApplyGroupcode(oidList,templateVO.getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); + } + } + }catch (Throwable e){ + success=false; + message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage(); + //缁勭粐杩斿洖缁撴灉 + boolean finalSuccess = success; + String finalMessage = message; + orgMasterDataList.stream().forEach(masterData -> { + ResultMdMapping resultMdMapping=new ResultMdMapping(); + resultMdMapping.setBusiDataId(masterData.getPk_mdm()); + resultMdMapping.setSuccess(finalSuccess); + resultMdMapping.setEntityCode(" "); + resultMdMapping.setMdmCode(masterData.getMdm_code()); + resultMdMapping.setMessage(finalMessage); + resultMdMapping.setSubMdMappings(null); + }); + }finally { + resultOrgData.setMessage(message); + resultOrgData.setSuccess(success); + resultOrgData.setMdMappings(resultMdMappingList); + Object object = JSONObject.toJSON(resultOrgData); + } + String resultStr = JSONObject.toJSONString(resultOrgData); + String data = JSONObject.toJSONString(orgData); + try { + //璁板綍鏃ュ織 + this.saveLogs(systemCode, systemCode, data, resultStr, success, msg, "syncDataForOrg"); + }catch (Throwable e){ + e.printStackTrace(); + } + } + return resultOrgData; } /*** * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java index 2156249..c14292b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java @@ -3,6 +3,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; +import java.util.List; + @ConfigurationProperties(prefix="org.applypersonanddept") @Component public class PersonAndDeptConfig { @@ -34,7 +36,16 @@ /*** * 鏄惁寮�鍚� */ - private boolean isUsedFlag; + private boolean usedFlag; + /*** + * 浜哄憳鎺ュ彛鏋氫妇鍊煎瓧娈� + */ + private String personFields; + + /*** + * 缁勭粐鎺ュ彛鏋氫妇鍊煎瓧娈� + */ + private String deptFields; public String getPersonLibrary() { return personLibrary; @@ -69,11 +80,11 @@ } public boolean isUsedFlag() { - return isUsedFlag; + return usedFlag; } public void setUsedFlag(boolean usedFlag) { - isUsedFlag = usedFlag; + this.usedFlag = usedFlag; } public boolean isPersonApplyGroupCode() { @@ -92,6 +103,22 @@ this.deptApplyGroupCode = deptApplyGroupCode; } + public String getPersonFields() { + return personFields; + } + + public void setPersonFields(String personFields) { + this.personFields = personFields; + } + + public String getDeptFields() { + return deptFields; + } + + public void setDeptFields(String deptFields) { + this.deptFields = deptFields; + } + @Override public String toString() { return "PersonAndDeptConfig{" + @@ -101,7 +128,9 @@ ", deptClassCode='" + deptClassCode + '\'' + ", personApplyGroupCode=" + personApplyGroupCode + ", deptApplyGroupCode=" + deptApplyGroupCode + - ", isUsedFlag=" + isUsedFlag + + ", usedFlag=" + usedFlag + + ", personFields='" + personFields + '\'' + + ", deptFields='" + deptFields + '\'' + '}'; } } -- Gitblit v1.9.3