From d74e1672af99afd7e6a24327deb22b308dd5fc88 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期一, 04 十二月 2023 08:38:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java | 4 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java | 3 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java | 9 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java | 8 Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java | 11 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 25 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrRnageDTO.java | 30 Source/UBCS-WEB/src/views/monitor/log/operateLog.vue | 8 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准系列修订(跨年).json | 0 Source/UBCS-WEB/src/api/code/codeCharcter.js | 45 + Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue | 289 +++++++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrMappingDTO.java | 50 + Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue | 282 ++++++++ Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 1 Source/UBCS-WEB/src/views/code/code.vue | 49 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/ExecGroupCodePortDataDTO.java | 32 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 209 ++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java | 2 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 8 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准修订(跨年).json | 0 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 6 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java | 22 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java | 4 Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java | 72 +- Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue | 282 ++++++++ Source/UBCS-WEB/src/components/FormTemplate/index.vue | 14 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java | 35 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 11 Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue | 282 ++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java | 70 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准系列申请.json | 0 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 24 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java | 6 34 files changed, 1,765 insertions(+), 131 deletions(-) diff --git a/Source/UBCS-WEB/src/api/code/codeCharcter.js b/Source/UBCS-WEB/src/api/code/codeCharcter.js new file mode 100644 index 0000000..3dd0f56 --- /dev/null +++ b/Source/UBCS-WEB/src/api/code/codeCharcter.js @@ -0,0 +1,45 @@ +import request from '@/router/axios'; + +export const getList = (params) => { + return request({ + url: '/api/ubcs-code/codeRuleCharacterController/list', + method: 'get', + params: { + ...params, + } + }) +} + +export const gridCodeRule = (params) => { + return request({ + url: '/api/ubcs-code/mdmRule/gridCodeRule', + method: 'get', + params: { + ...params, + }, + }) +} + +export const addSave = (codeRuleCharacterVO) => { + return request({ + url: '/api/ubcs-code/codeRuleCharacterController/addSave', + method: 'post', + data:codeRuleCharacterVO + }) +} + +export const editSave = (codeRuleCharacterVO) => { + return request({ + url: '/api/ubcs-code/codeRuleCharacterController/editSave', + method: 'post', + data:codeRuleCharacterVO + }) +} + +export const deleteSave = (codeRuleCharacterVO) => { + return request({ + url: '/api/ubcs-code/codeRuleCharacterController/delete', + method: 'post', + data:codeRuleCharacterVO + }) +} diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index bfd0254..e75483c 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -317,9 +317,10 @@ 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) || + value:formItem.defaultValue || (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 == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null), + (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) || + (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, tip: formItem.tooltips, @@ -427,7 +428,8 @@ 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 == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null), + (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) || + (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null), placeholder: formItem.inputTip, comboxKey: formItem.comboxKey, tip: formItem.tooltips, diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index 2567d87..340f056 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -444,7 +444,18 @@ ); } // 鎺掗櫎涓�浜涘瓧娈� - const noData = [ + const noData = this.status ? [ + "jiliangdwname", + "materialtypeText", + "morengongysname", + "$caigouwl", + "$xiaoshouwl", + "$shifoupihaoguanli", + "lcstatus_text", + "hesuanfenleiname", + "$kucunwl", + "lastmodifier" + ] : [ "jiliangdwname", "materialtypeText", "morengongysname", @@ -457,6 +468,7 @@ "oldcode", "lastmodifier" ]; + let resForm = {}; const {defaultValue, formValue} = this.getDefaultValueAndFormValues( this.form diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index a8121e9..36ca0b3 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -40,7 +40,7 @@ border class="cus-table" @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick" @select-all="handleSelectionAll" @selection-change="handleSelectionChange" - @sort-change="sortChange"> + @sort-change="sortChange" :header-cell-style="{background:'#FAFAFA',color:'#505050'}"> <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column> <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55"> </el-table-column> @@ -108,7 +108,7 @@ </FormTemplateDialog> <!-- 淇敼--> <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" - :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" + :disabledProp="disabledProp" rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" :visible.sync="editvisible" type="edit" @submit="EditSumbit"></FormTemplateDialog> <!-- 鎵归噺缂栬緫--> @@ -584,11 +584,24 @@ }, //鏍囧噯淇 codeAMENDHandler() { - if (this.selectRow.length !== 1) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else { + let foundItem = false; + + this.tableHeadFindData.forEach(item => { + if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) { + foundItem = true; + } + }); + + if (foundItem) { this.amendvisible = true; - this.rowOid = this.selectRow[0].oid; + this.rowOid = this.selectRow[0].oid ; + } else { + if (this.selectRow.length !== 1) { + this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); + }else { + this.amendvisible = true; + 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 5e44b6a..3ee51de 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue @@ -326,6 +326,7 @@ v-loading="loading" :data="ProData" :height="this.tableHeight" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" border style="width: 100%" @select="selectHandle" diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 4b0e705..9455958 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -2779,12 +2779,11 @@ } //console.log(this.form); //涓篺orm缁戝畾鍊� - this.changeSectypeFormItems(condition == "add" ? null : row); + this.changeSectypeFormItems(condition == "add" ? null:row); this.addBasicCodeSettingBox = true; }, /** 鏂板鍩虹鐮佹*/ async saveOrEditBasicCode() { - this.isLoadingSecCodeAddBtn = true; if ( this.selectionList[0].oid == null || this.selectionList[0].oid == "" @@ -2792,26 +2791,28 @@ this.$message.warning("缂哄け蹇呰鍙傛暟锛岃閲嶆柊閫夋嫨缂栫爜瑙勫垯鍚庡啀璇�!"); return; } + if (!this.checkForm()) { + return; + } + this.isLoadingSecCodeAddBtn = true; this.form.pkCodeRule = this.selectionList[0].oid; if (this.form.oid == "" || this.form.oid == null) { - if (this.checkForm()) { - await addSave(this.form).then( - () => { - this.$message({ - type: "success", - message: "鎿嶄綔鎴愬姛!", - }); - console.log(this.form) - // 鍏抽棴瀵硅瘽妗� - this.addBasicCodeSettingBox = false; - // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 - this.loadBasic(this.selectionList[0]); - }, - (error) => { - window.console.log(error); - } - ); - } + await addSave(this.form).then( + () => { + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!", + }); + console.log(this.form) + // 鍏抽棴瀵硅瘽妗� + this.addBasicCodeSettingBox = false; + // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 + this.loadBasic(this.selectionList[0]); + }, + (error) => { + window.console.log(error); + } + ); } else { // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉 if ( @@ -2825,7 +2826,7 @@ // let referValueInfo = JSON.parse(this.form.referValueInfo); // referValueInfo.referType = this.form.referBtmId; } - let oldBasicSec = this.selectionBasicList.at(-1); + let oldBasicSec = this.selectionBasicList.slice(-1)[0]; let secType = this.form.secType; Vue.set(this.form, 'isClearValue', false); if ((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType) { @@ -3066,7 +3067,7 @@ if (!this.tipsMessage(this.selectionBasicList)) { return; } - if (this.selectionList.at(-1).lcStatus != "Editing") { + if (this.selectionList.slice(-1)[0].lcStatus != "Editing") { this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽鍒犻櫎鐮佹!'); return; } @@ -3212,7 +3213,7 @@ }, /** 鍩虹鐮佹鍒锋柊鏃舵煡璇�*/ refreshChangeBasicSec() { - this.loadBasic(this.selectionList.at(-1)); + this.loadBasic(this.selectionList.slice(-1)[0]); }, /** 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌*/ hideBasicTable(hideBoolean) { @@ -3288,7 +3289,7 @@ }, /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/ changeSectypeFormItems(row) { - console.log(row) + //console.log(row) if ( func.isEmpty(this.enumParam.secTypeList) || this.enumParam.secTypeList.length == 0 diff --git a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue index 0a8653f..f8aee43 100644 --- a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue +++ b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue @@ -63,18 +63,18 @@ label: "鐢ㄦ埛鍚�", prop: "userName", search: true, - width:'100' + width:'120' }, { label: "濮撳悕", prop: "realName", search: true, - width:'100' + width:'120' }, { label: "鐢ㄦ埛ip", prop: "ip", - width:'100' + width:'130' }, { label: "妯″潡", @@ -89,7 +89,7 @@ { label: "鎿嶄綔缁撴灉", prop: "operateResult", - width:'100' + width:'110' }, { label: "鎻忚堪", diff --git a/Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue b/Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue index 867a34d..a78ad01 100644 --- a/Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue +++ b/Source/UBCS-WEB/src/views/ruleBasic/delimiterConfig.vue @@ -1,13 +1,289 @@ <template> + <basic-container> + <el-header> + <div style="margin-bottom: 15px"> + 缂栫爜瑙勫垯锛� + <el-select v-model="select" :filter-method="filterValue" filterable placeholder="璇烽�夋嫨" size="small" + @change="selectHandler"> + <el-option v-for="(item,index) in queryReleasedList" + :key="item.oid" + :label="item.name" + :value="item.oid"></el-option> + </el-select> + </div> + </el-header> + <el-main> + <el-table + v-loading="loading" + :data="tableData" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" + border + style="width: 100%;height: calc(100vh - 320px)" + @cell-click="cellClickHandler"> + <el-table-column + align="center" + label="1" + prop="1" + > + </el-table-column> + <el-table-column + align="center" + label="2" + prop="2" + > + </el-table-column> + <el-table-column + align="center" + label="3" + prop="3"> + </el-table-column> + <el-table-column + align="center" + label="4" + prop="4"> + </el-table-column> + <el-table-column + align="center" + label="5" + prop="5"> + </el-table-column> + <el-table-column + align="center" + label="6" + prop="6"> + </el-table-column> + <el-table-column + align="center" + label="7" + prop="7"> + </el-table-column> + <el-table-column + align="center" + label="8" + prop="8"> + </el-table-column> + <el-table-column + align="center" + label="9" + prop="9"> + </el-table-column> + <el-table-column + align="center" + label="10" + prop="10"> + </el-table-column> + <el-table-column + align="center" + label="11" + prop="11"> + </el-table-column> + <el-table-column + align="center" + label="12" + prop="12"> + </el-table-column> + <el-table-column + align="center" + label="13" + prop="13"> + </el-table-column> + <el-table-column + align="center" + label="14" + prop="14"> + </el-table-column> + <el-table-column + align="center" + label="15" + prop="15"> + </el-table-column> + </el-table> + </el-main> + <el-footer> + <div style="width: 260px; display: flex; align-items: center;margin-top: 5px"> + <p>鍊硷細</p> + <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input> + </div> + </el-footer> + <div style="margin-bottom: 10px;text-align: center"> + <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">娣诲姞</el-button> + <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">淇敼</el-button> + <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">鍒犻櫎</el-button> + </div> + </basic-container> </template> <script> +import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter" +import {gridCodeRule} from "@/api/code/codeCharcter" + export default { - name: "delimiterConfig" + name: "delimiterConfig", + data() { + return { + loading: false, + //涓嬫媺妗嗘暟缁� + queryReleasedList: [], + //涓嬫媺妗嗗垵濮嬫暟鎹暟缁� + characterReleasedList: [], + characterValue: "", + characterEditOldValue: "", + tableData: [], + select: "", + selectValue: "" + } + }, + watch: { + select: { + handler(newV) { + // console.log(newV) + } + } + }, + created() { + this.getCodeRule(); + }, + methods: { + cellClickHandler(row, column) { + this.characterValue = row[column.property]; + this.characterEditOldValue = row[column.property] + }, + async getCodeRule() { + try { + // 缂栫爜瑙勫垯宸插彂甯冩暟鎹簮 + const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"}); + this.characterReleasedList = res.data.data.records; + this.queryReleasedList = this.characterReleasedList; + this.select = this.characterReleasedList[0].oid; + this.loading = true; + const res2 = await getList({codeRuleId: this.select, chartType: "separator", chartValue: this.characterValue}); + this.tableData = res2.data.data; + this.loading = false; + // console.log("this.tableData", this.tableData); + } catch (error) { + this.$message.warning(error) + } + }, + //缂栫爜瑙勫垯涓嬫媺妗嗘悳绱� + filterValue(query) { + console.log(query) + if (query !== "") { + this.queryReleasedList = this.characterReleasedList.filter(item => { + return item.name.includes(query.toString()); + }); + } else { + this.queryReleasedList = this.characterReleasedList; + } + }, + selectHandler(val) { + this.selectValue = val; + this.characterValue = "" + this.getTableData() + }, + getTableData() { + this.loading = true; + // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue); + // const chartValue = targetObject.name; + getList({codeRuleId: this.select, chartType: "separator", chartValue: this.characterValue}).then(res => { + console.log(res.data.data); + this.tableData = res.data.data; + this.loading = false; + }); + }, + addSaveHandler() { + if (!this.characterValue) { + this.$message.warning('璇峰~鍐欒娣诲姞鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "separator", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + addSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('娣诲姞澶辫触'); + }); + }, + editSaveHandler() { + if (this.characterEditOldValue === "") { + this.$message.warning('璇烽�夋嫨淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇閫夋嫨鍊� + } + + if (this.characterValue === "") { + this.$message.warning('璇峰~鍐欒淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "separator", + chartValue: this.characterValue, + oldChartValue: this.characterEditOldValue, + chartTypeText: targetObject.name + }; + + editSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('淇敼澶辫触'); + }); + }, + delSaveHandler() { + //鍒ゆ柇閫夋嫨鏁版嵁characterEditOldValue + if (this.characterEditOldValue === "" || this.characterValue === "") { + this.$message.warning('璇烽�夋嫨瑕佸垹闄ょ殑鍊�'); + return; + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "separator", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + deleteSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('鍒犻櫎澶辫触'); + }); + } + } } </script> -<style scoped> - +<style lang="scss" scoped> +.el-header { + padding: 0; +} </style> diff --git a/Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue b/Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue index 9de161e..a1a9026 100644 --- a/Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue +++ b/Source/UBCS-WEB/src/views/ruleBasic/paddingCharacter.vue @@ -1,13 +1,289 @@ <template> + <basic-container> + <el-header> + <div style="margin-bottom: 15px"> + 缂栫爜瑙勫垯锛� + <el-select v-model="select" :filter-method="filterValue" filterable placeholder="璇烽�夋嫨" size="small" + @change="selectHandler"> + <el-option v-for="(item,index) in queryReleasedList" + :key="item.oid" + :label="item.name" + :value="item.oid"></el-option> + </el-select> + </div> + </el-header> + <el-main> + <el-table + v-loading="loading" + :data="tableData" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" + border + style="width: 100%;height: calc(100vh - 320px)" + @cell-click="cellClickHandler"> + <el-table-column + align="center" + label="1" + prop="1" + > + </el-table-column> + <el-table-column + align="center" + label="2" + prop="2" + > + </el-table-column> + <el-table-column + align="center" + label="3" + prop="3"> + </el-table-column> + <el-table-column + align="center" + label="4" + prop="4"> + </el-table-column> + <el-table-column + align="center" + label="5" + prop="5"> + </el-table-column> + <el-table-column + align="center" + label="6" + prop="6"> + </el-table-column> + <el-table-column + align="center" + label="7" + prop="7"> + </el-table-column> + <el-table-column + align="center" + label="8" + prop="8"> + </el-table-column> + <el-table-column + align="center" + label="9" + prop="9"> + </el-table-column> + <el-table-column + align="center" + label="10" + prop="10"> + </el-table-column> + <el-table-column + align="center" + label="11" + prop="11"> + </el-table-column> + <el-table-column + align="center" + label="12" + prop="12"> + </el-table-column> + <el-table-column + align="center" + label="13" + prop="13"> + </el-table-column> + <el-table-column + align="center" + label="14" + prop="14"> + </el-table-column> + <el-table-column + align="center" + label="15" + prop="15"> + </el-table-column> + </el-table> + </el-main> + <el-footer> + <div style="width: 260px; display: flex; align-items: center;margin-top: 5px"> + <p>鍊硷細</p> + <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input> + </div> + </el-footer> + <div style="margin-bottom: 10px;text-align: center"> + <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">娣诲姞</el-button> + <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">淇敼</el-button> + <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">鍒犻櫎</el-button> + </div> + </basic-container> </template> <script> +import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter" +import {gridCodeRule} from "@/api/code/codeCharcter" + export default { - name: "paddingCharacter" + name: "paddingCharacter", + data() { + return { + loading: false, + //涓嬫媺妗嗘暟缁� + queryReleasedList: [], + //涓嬫媺妗嗗垵濮嬫暟鎹暟缁� + characterReleasedList: [], + characterValue: "", + characterEditOldValue: "", + tableData: [], + select: "", + selectValue: "" + } + }, + watch: { + select: { + handler(newV) { + // console.log(newV) + } + } + }, + created() { + this.getCodeRule(); + }, + methods: { + cellClickHandler(row, column) { + this.characterValue = row[column.property]; + this.characterEditOldValue = row[column.property] + }, + async getCodeRule() { + try { + // 缂栫爜瑙勫垯宸插彂甯冩暟鎹簮 + const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"}); + this.characterReleasedList = res.data.data.records; + this.queryReleasedList = this.characterReleasedList; + this.select = this.characterReleasedList[0].oid; + this.loading = true; + const res2 = await getList({codeRuleId: this.select, chartType: "fillerChar", chartValue: this.characterValue}); + this.tableData = res2.data.data; + this.loading = false; + // console.log("this.tableData", this.tableData); + } catch (error) { + this.$message.warning(error) + } + }, + //缂栫爜瑙勫垯涓嬫媺妗嗘悳绱� + filterValue(query) { + console.log(query) + if (query !== "") { + this.queryReleasedList = this.characterReleasedList.filter(item => { + return item.name.includes(query.toString()); + }); + } else { + this.queryReleasedList = this.characterReleasedList; + } + }, + selectHandler(val) { + this.selectValue = val; + this.characterValue = "" + this.getTableData() + }, + getTableData() { + this.loading = true; + // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue); + // const chartValue = targetObject.name; + getList({codeRuleId: this.select, chartType: "fillerChar", chartValue: this.characterValue}).then(res => { + console.log(res.data.data); + this.tableData = res.data.data; + this.loading = false; + }); + }, + addSaveHandler() { + if (!this.characterValue) { + this.$message.warning('璇峰~鍐欒娣诲姞鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "fillerChar", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + addSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('娣诲姞澶辫触'); + }); + }, + editSaveHandler() { + if (this.characterEditOldValue === "") { + this.$message.warning('璇烽�夋嫨淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇閫夋嫨鍊� + } + + if (this.characterValue === "") { + this.$message.warning('璇峰~鍐欒淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "fillerChar", + chartValue: this.characterValue, + oldChartValue: this.characterEditOldValue, + chartTypeText: targetObject.name + }; + + editSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('淇敼澶辫触'); + }); + }, + delSaveHandler() { + //鍒ゆ柇閫夋嫨鏁版嵁characterEditOldValue + if (this.characterEditOldValue === "" || this.characterValue === "") { + this.$message.warning('璇烽�夋嫨瑕佸垹闄ょ殑鍊�'); + return; + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "fillerChar", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + deleteSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('鍒犻櫎澶辫触'); + }); + } + } } </script> -<style scoped> - +<style lang="scss" scoped> +.el-header { + padding: 0; +} </style> diff --git a/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue b/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue new file mode 100644 index 0000000..fe196c6 --- /dev/null +++ b/Source/UBCS-WEB/src/views/ruleBasic/prefixConfig.vue @@ -0,0 +1,289 @@ +<template> + <basic-container> + + <el-header> + <div style="margin-bottom: 15px"> + 缂栫爜瑙勫垯锛� + <el-select v-model="select" :filter-method="filterValue" filterable placeholder="璇烽�夋嫨" size="small" + @change="selectHandler"> + <el-option v-for="(item,index) in queryReleasedList" + :key="item.oid" + :label="item.name" + :value="item.oid"></el-option> + </el-select> + </div> + </el-header> + <el-main> + <el-table + v-loading="loading" + :data="tableData" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" + border + style="width: 100%;height: calc(100vh - 320px)" + @cell-click="cellClickHandler"> + <el-table-column + align="center" + label="1" + prop="1" + > + </el-table-column> + <el-table-column + align="center" + label="2" + prop="2" + > + </el-table-column> + <el-table-column + align="center" + label="3" + prop="3"> + </el-table-column> + <el-table-column + align="center" + label="4" + prop="4"> + </el-table-column> + <el-table-column + align="center" + label="5" + prop="5"> + </el-table-column> + <el-table-column + align="center" + label="6" + prop="6"> + </el-table-column> + <el-table-column + align="center" + label="7" + prop="7"> + </el-table-column> + <el-table-column + align="center" + label="8" + prop="8"> + </el-table-column> + <el-table-column + align="center" + label="9" + prop="9"> + </el-table-column> + <el-table-column + align="center" + label="10" + prop="10"> + </el-table-column> + <el-table-column + align="center" + label="11" + prop="11"> + </el-table-column> + <el-table-column + align="center" + label="12" + prop="12"> + </el-table-column> + <el-table-column + align="center" + label="13" + prop="13"> + </el-table-column> + <el-table-column + align="center" + label="14" + prop="14"> + </el-table-column> + <el-table-column + align="center" + label="15" + prop="15"> + </el-table-column> + </el-table> + </el-main> + <el-footer> + <div style="width: 260px; display: flex; align-items: center;margin-top: 5px"> + <p>鍊硷細</p> + <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input> + </div> + </el-footer> + <div style="margin-bottom: 10px;text-align: center"> + <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">娣诲姞</el-button> + <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">淇敼</el-button> + <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">鍒犻櫎</el-button> + </div> + </basic-container> +</template> + +<script> +import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter" +import {gridCodeRule} from "@/api/code/codeCharcter" + +export default { + name: "prefixConfig", + data() { + return { + loading: false, + //涓嬫媺妗嗘暟缁� + queryReleasedList: [], + //涓嬫媺妗嗗垵濮嬫暟鎹暟缁� + characterReleasedList: [], + characterValue: "", + characterEditOldValue: "", + tableData: [], + select: "", + selectValue: "" + } + }, + watch: { + select: { + handler(newV) { + // console.log(newV) + } + } + }, + created() { + this.getCodeRule(); + }, + methods: { + cellClickHandler(row, column) { + this.characterValue = row[column.property]; + this.characterEditOldValue = row[column.property] + }, + async getCodeRule() { + try { + // 缂栫爜瑙勫垯宸插彂甯冩暟鎹簮 + const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"}); + this.characterReleasedList = res.data.data.records; + this.queryReleasedList = this.characterReleasedList; + this.select = this.characterReleasedList[0].oid; + this.loading = true; + const res2 = await getList({codeRuleId: this.select, chartType: "prefix", chartValue: this.characterValue}); + this.tableData = res2.data.data; + this.loading = false; + // console.log("this.tableData", this.tableData); + } catch (error) { + this.$message.warning(error) + } + }, + //缂栫爜瑙勫垯涓嬫媺妗嗘悳绱� + filterValue(query) { + console.log(query) + if (query !== "") { + this.queryReleasedList = this.characterReleasedList.filter(item => { + return item.name.includes(query.toString()); + }); + } else { + this.queryReleasedList = this.characterReleasedList; + } + }, + selectHandler(val) { + this.selectValue = val; + this.characterValue = "" + this.getTableData() + }, + getTableData() { + this.loading = true; + // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue); + // const chartValue = targetObject.name; + getList({codeRuleId: this.select, chartType: "prefix", chartValue: this.characterValue}).then(res => { + console.log(res.data.data); + this.tableData = res.data.data; + this.loading = false; + }); + }, + addSaveHandler() { + if (!this.characterValue) { + this.$message.warning('璇峰~鍐欒娣诲姞鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "prefix", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + addSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('娣诲姞澶辫触'); + }); + }, + editSaveHandler() { + if (this.characterEditOldValue === "") { + this.$message.warning('璇烽�夋嫨淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇閫夋嫨鍊� + } + + if (this.characterValue === "") { + this.$message.warning('璇峰~鍐欒淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "prefix", + chartValue: this.characterValue, + oldChartValue: this.characterEditOldValue, + chartTypeText: targetObject.name + }; + + editSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('淇敼澶辫触'); + }); + }, + delSaveHandler() { + //鍒ゆ柇閫夋嫨鏁版嵁characterEditOldValue + if (this.characterEditOldValue === "" || this.characterValue === "") { + this.$message.warning('璇烽�夋嫨瑕佸垹闄ょ殑鍊�'); + return; + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "prefix", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + deleteSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('鍒犻櫎澶辫触'); + }); + } + } +} +</script> + +<style lang="scss" scoped> +.el-header { + padding: 0; +} +</style> diff --git a/Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue b/Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue index f983576..fc533eb 100644 --- a/Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue +++ b/Source/UBCS-WEB/src/views/ruleBasic/usableCharacter.vue @@ -1,13 +1,289 @@ <template> + <basic-container> + <el-header> + <div style="margin-bottom: 15px"> + 缂栫爜瑙勫垯锛� + <el-select v-model="select" :filter-method="filterValue" filterable placeholder="璇烽�夋嫨" size="small" + @change="selectHandler"> + <el-option v-for="(item,index) in queryReleasedList" + :key="item.oid" + :label="item.name" + :value="item.oid"></el-option> + </el-select> + </div> + </el-header> + <el-main> + <el-table + v-loading="loading" + :data="tableData" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" + border + style="width: 100%;height: calc(100vh - 320px)" + @cell-click="cellClickHandler"> + <el-table-column + align="center" + label="1" + prop="1" + > + </el-table-column> + <el-table-column + align="center" + label="2" + prop="2" + > + </el-table-column> + <el-table-column + align="center" + label="3" + prop="3"> + </el-table-column> + <el-table-column + align="center" + label="4" + prop="4"> + </el-table-column> + <el-table-column + align="center" + label="5" + prop="5"> + </el-table-column> + <el-table-column + align="center" + label="6" + prop="6"> + </el-table-column> + <el-table-column + align="center" + label="7" + prop="7"> + </el-table-column> + <el-table-column + align="center" + label="8" + prop="8"> + </el-table-column> + <el-table-column + align="center" + label="9" + prop="9"> + </el-table-column> + <el-table-column + align="center" + label="10" + prop="10"> + </el-table-column> + <el-table-column + align="center" + label="11" + prop="11"> + </el-table-column> + <el-table-column + align="center" + label="12" + prop="12"> + </el-table-column> + <el-table-column + align="center" + label="13" + prop="13"> + </el-table-column> + <el-table-column + align="center" + label="14" + prop="14"> + </el-table-column> + <el-table-column + align="center" + label="15" + prop="15"> + </el-table-column> + </el-table> + </el-main> + <el-footer> + <div style="width: 260px; display: flex; align-items: center;margin-top: 5px"> + <p>鍊硷細</p> + <el-input v-model="characterValue" size="small" style="flex: 1;"></el-input> + </div> + </el-footer> + <div style="margin-bottom: 10px;text-align: center"> + <el-button icon="el-icon-plus" plain size="small" type="success" @click="addSaveHandler">娣诲姞</el-button> + <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editSaveHandler">淇敼</el-button> + <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delSaveHandler">鍒犻櫎</el-button> + </div> + </basic-container> </template> <script> +import {getList, addSave, editSave, deleteSave} from "@/api/code/codeCharcter" +import {gridCodeRule} from "@/api/code/codeCharcter" + export default { -name: "usableCharacter" + name: "usableCharacter", + data() { + return { + loading: false, + //涓嬫媺妗嗘暟缁� + queryReleasedList: [], + //涓嬫媺妗嗗垵濮嬫暟鎹暟缁� + characterReleasedList: [], + characterValue: "", + characterEditOldValue: "", + tableData: [], + select: "", + selectValue: "" + } + }, + watch: { + select: { + handler(newV) { + // console.log(newV) + } + } + }, + created() { + this.getCodeRule(); + }, + methods: { + cellClickHandler(row, column) { + this.characterValue = row[column.property]; + this.characterEditOldValue = row[column.property] + }, + async getCodeRule() { + try { + // 缂栫爜瑙勫垯宸插彂甯冩暟鎹簮 + const res = await gridCodeRule({["conditionMap" + "[lcStatus_like]"]: "Released"}); + this.characterReleasedList = res.data.data.records; + this.queryReleasedList = this.characterReleasedList; + this.select = this.characterReleasedList[0].oid; + this.loading = true; + const res2 = await getList({codeRuleId: this.select, chartType: "charset", chartValue: this.characterValue}); + this.tableData = res2.data.data; + this.loading = false; + // console.log("this.tableData", this.tableData); + } catch (error) { + this.$message.warning(error) + } + }, + //缂栫爜瑙勫垯涓嬫媺妗嗘悳绱� + filterValue(query) { + console.log(query) + if (query !== "") { + this.queryReleasedList = this.characterReleasedList.filter(item => { + return item.name.includes(query.toString()); + }); + } else { + this.queryReleasedList = this.characterReleasedList; + } + }, + selectHandler(val) { + this.selectValue = val; + this.characterValue = "" + this.getTableData() + }, + getTableData() { + this.loading = true; + // const targetObject = this.characterReleasedList.find(obj => obj.oid === this.selectValue); + // const chartValue = targetObject.name; + getList({codeRuleId: this.select, chartType: "charset", chartValue: this.characterValue}).then(res => { + console.log(res.data.data); + this.tableData = res.data.data; + this.loading = false; + }); + }, + addSaveHandler() { + if (!this.characterValue) { + this.$message.warning('璇峰~鍐欒娣诲姞鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "charset", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + addSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('娣诲姞澶辫触'); + }); + }, + editSaveHandler() { + if (this.characterEditOldValue === "") { + this.$message.warning('璇烽�夋嫨淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇閫夋嫨鍊� + } + + if (this.characterValue === "") { + this.$message.warning('璇峰~鍐欒淇敼鐨勫�硷紒'); + return; // 鍒ゆ柇杈撳叆鍊� + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "charset", + chartValue: this.characterValue, + oldChartValue: this.characterEditOldValue, + chartTypeText: targetObject.name + }; + + editSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('淇敼澶辫触'); + }); + }, + delSaveHandler() { + //鍒ゆ柇閫夋嫨鏁版嵁characterEditOldValue + if (this.characterEditOldValue === "" || this.characterValue === "") { + this.$message.warning('璇烽�夋嫨瑕佸垹闄ょ殑鍊�'); + return; + } + + const targetObject = this.characterReleasedList.find(obj => obj.oid === this.select); + if (!targetObject) { + return; // 鏌ユ壘瀵瑰簲typeText + } + const codeRuleCharacterVO = { + codeRuleId: this.select, + chartType: "charset", + chartValue: this.characterValue, + chartTypeText: targetObject.name + }; + + deleteSave(codeRuleCharacterVO) + .then(res => { + this.$message.success(res.data.msg); + this.characterValue = ""; + this.getTableData(); + }).catch(error => { + this.$message.error('鍒犻櫎澶辫触'); + }); + } + } } </script> -<style scoped> - +<style lang="scss" scoped> +.el-header { + padding: 0; +} </style> diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java index 2070d62..1f416c8 100644 --- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java +++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowModelController.java @@ -18,19 +18,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.vci.ubcs.flow.core.utils.TaskUtil; import com.vci.ubcs.flow.engine.entity.FlowModel; import com.vci.ubcs.flow.engine.service.FlowEngineService; -import com.vci.ubcs.flow.engine.service.FlowTaskUserService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; -import org.springblade.core.launch.constant.FlowConstant; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; -import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java index fe14f86..0a2e420 100644 --- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java +++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java @@ -82,7 +82,7 @@ * @param logParentPath * @return */ - //@Override + @Override public List<LocalLogVO> getSystemLogList(String logParentPath) { List<LocalLogVO> localLogsVO = new ArrayList<>(); // 涓嶄负绌鸿鏄庢槸鍔犺浇褰撳墠杩欎釜鏈嶅姟璺緞涓嬬殑鏃ュ織鏂囦欢 @@ -90,44 +90,48 @@ File file = new File(logParentPath); if (file.isDirectory()) { File[] files = file.listFiles(); - Arrays.stream(files).forEach(item->{ - // 缁勫缓鏃ュ織鏂囦欢瀵硅薄 - LocalLogVO localLog = new LocalLogVO(); - localLog.setLogName(item.getName()); - localLog.setLogType(getLogType(item.getName())); - localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath)); - localLog.setLastModifier(getLastModifiedOrCreatTime(true,logParentPath)); - localLog.setLogPath(logParentPath); - String serviceId = getServiceId(logParentPath); - localLog.setServiceId(serviceId); - localLog.setServiceName(getServiceName(serviceId)); - localLog.setHasChildren(false); - localLogsVO.add(localLog); - }); + if(Func.isNotEmpty(files) && files.length>0){ + Arrays.stream(files).forEach(item->{ + // 缁勫缓鏃ュ織鏂囦欢瀵硅薄 + LocalLogVO localLog = new LocalLogVO(); + localLog.setLogName(item.getName()); + localLog.setLogType(getLogType(item.getName())); + localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath)); + localLog.setLastModifier(getLastModifiedOrCreatTime(true,logParentPath)); + localLog.setLogPath(logParentPath); + String serviceId = getServiceId(logParentPath); + localLog.setServiceId(serviceId); + localLog.setServiceName(getServiceName(serviceId)); + localLog.setHasChildren(false); + localLogsVO.add(localLog); + }); + } } }else { File fileDir = new File(PARENTPATH); File[] childDir = fileDir.listFiles(); - Arrays.stream(childDir).forEach(dir->{ - if(dir.getName().contains("ubcs_")){ - String fullPath = dir.getPath() + LOGPATH; - File file = new File(fullPath); - if(file.exists()){ - LocalLogVO localLogVO = new LocalLogVO(); - localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath)); - localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath)); - localLogVO.setLogPath(fullPath); - String serviceId = getServiceId(file.getPath()); - localLogVO.setServiceId(serviceId); - String serviceName = getServiceName(serviceId); - localLogVO.setServiceName(serviceName); - localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�"); - localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�"); - localLogVO.setHasChildren(true); - localLogsVO.add(localLogVO); + if(Func.isNotEmpty(childDir) && childDir.length > 0){ + Arrays.stream(childDir).forEach(dir->{ + if(dir.getName().contains("ubcs_")){ + String fullPath = dir.getPath() + LOGPATH; + File file = new File(fullPath); + if(file.exists()){ + LocalLogVO localLogVO = new LocalLogVO(); + localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath)); + localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath)); + localLogVO.setLogPath(fullPath); + String serviceId = getServiceId(file.getPath()); + localLogVO.setServiceId(serviceId); + String serviceName = getServiceName(serviceId); + localLogVO.setServiceName(serviceName); + localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�"); + localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�"); + localLogVO.setHasChildren(true); + localLogsVO.add(localLogVO); + } } - } - }); + }); + } } return localLogsVO; } diff --git a/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java index 42920c9..ddf5d0c 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java @@ -2,12 +2,15 @@ import com.vci.ubcs.code.applyjtcodeservice.vo.DockingClassifyModelAttrVO; +import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingReturnStoreVO; import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; /**** @@ -24,6 +27,7 @@ String RETURNGROUPCODE = API_PREFIX + "/getApplyGroupCode"; String PUBMDMMODEL = API_PREFIX + "/pubMdmModel"; String RECEIVE_EDITAPPLY =API_PREFIX + "/receiveEditApply"; + String LIST_MAPPING=API_PREFIX + "/listMapping"; /*** * 灏嗛泦鍥㈢敵璇锋垚鍔熺殑缂栫爜瀛樺叆鐩稿叧鏁版嵁涔嬩腑 @@ -34,6 +38,13 @@ @GetMapping(APPLYGROUPCODE) public R applyGroupCode(@RequestParam("oids")String oids,@RequestParam("btmName")String btmName); + /*** + * + * @param codeClassifyOid + * @return + */ + @GetMapping(LIST_MAPPING) + public R<List<DockingPreAttrMappingVO>> list_mapping(@RequestParam("codeClassifyOid")String codeClassifyOid); /*** * 闆嗗洟缂栫爜鏁版嵁淇敼 diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrMappingDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrMappingDTO.java new file mode 100644 index 0000000..cc86306 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrMappingDTO.java @@ -0,0 +1,50 @@ +package com.vci.ubcs.code.dto; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/*** + * 闆嗗洟鍩熷睘鎬ф槧灏勫叧绯� + */ +@Data +public class CodeAndGroupCodeAttrMappingDTO { + + /*** + * 榛樿鍊� + */ + private String defaultValue; + /*** + *灞炴�d + */ + private String metaListId; + + /*** + * 婧愬睘鎬у唴閮ㄥ悕绉� + */ + private String sourceAttrKey; + + /*** + * 婧愬睘鎬у悕绉� + */ + private String sourceAttrName; + + /** + * 鐩爣灞炴�id + */ + private String targetAttrId; + + /*** + * 鐩爣灞炴�у唴閮ㄥ悕绉� + */ + private String targetAttrKey; + + /*** + * 鐩爣灞炴�у悕绉� + */ + private String targetAttrName; + + List<CodeAndGroupCodeAttrRnageDTO> codeAndGroupCodeAttrRnageDTOList; + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrRnageDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrRnageDTO.java new file mode 100644 index 0000000..f1818c2 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeAndGroupCodeAttrRnageDTO.java @@ -0,0 +1,30 @@ +package com.vci.ubcs.code.dto; + +import lombok.Data; + +@Data +public class CodeAndGroupCodeAttrRnageDTO { + + /*** + *灞炴�d + */ + private String metaListId; + + /** + * 灞炴�ф灇涓炬樉绀哄悕绉� + */ + private String numText; + /** + * 灞炴�ф灇涓惧唴閮ㄥ悕绉� + */ + private String numTextValue; + + /** + * 婧愬睘鎬ф灇涓炬樉绀哄悕绉� + */ + private String targetNumText; + /** + * 婧愬睘鎬ф灇涓惧唴閮ㄥ悕绉� + */ + private String targetNumTextValue; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/ExecGroupCodePortDataDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/ExecGroupCodePortDataDTO.java new file mode 100644 index 0000000..451b70f --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/ExecGroupCodePortDataDTO.java @@ -0,0 +1,32 @@ +package com.vci.ubcs.code.dto; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +@Data +public class ExecGroupCodePortDataDTO { + /*** + * sheet鍚嶇О + */ + private String sheetName; + /*** + * 鍘熷瀛楁 + */ + private LinkedList<String> fieldList=new LinkedList<>(); + /** + * 鏁版嵁闆嗘垚 + */ + private List<Map<String,String>> dataList=new ArrayList<>(); + /*** + * 鍒楀悕 + */ + private LinkedList<String> colName=new LinkedList<>(); + /*** + * 闆嗗洟灞炴�т笌缂栫爜灞炴�ф槧灏勫叧绯� + */ + private List<CodeAndGroupCodeAttrMappingDTO> codeAttrMapGroupAttrDTOS=new ArrayList<>(); +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java index 74ce347..bad7da2 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java @@ -23,6 +23,10 @@ * 瀛楃闆� */ private String chartValue; + /** + * 闇�鏇挎崲鐨勫瓧绗� + */ + private String oldChartValue; /*** * 瀛楃绫诲瀷 */ diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\344\277\256\350\256\242\346\234\210\344\273\275\345\244\247\344\272\2161\347\232\204.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\344\277\256\350\256\242\050\350\267\250\345\271\264\051.json" similarity index 100% rename from "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\344\277\256\350\256\242\346\234\210\344\273\275\345\244\247\344\272\2161\347\232\204.json" rename to "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\344\277\256\350\256\242\050\350\267\250\345\271\264\051.json" diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\346\265\201\346\260\264\347\224\263\350\257\267\345\244\247\344\272\2161.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\263\273\345\210\227\344\277\256\350\256\242\357\274\210\350\267\250\345\271\264\357\274\211.json" similarity index 100% rename from "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\346\265\201\346\260\264\347\224\263\350\257\267\345\244\247\344\272\2161.json" rename to "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\263\273\345\210\227\344\277\256\350\256\242\357\274\210\350\267\250\345\271\264\357\274\211.json" diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\346\265\201\346\260\264.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\263\273\345\210\227\347\224\263\350\257\267.json" similarity index 100% rename from "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\347\263\273\345\210\227\346\265\201\346\260\264.json" rename to "Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\263\273\345\210\227\347\224\263\350\257\267.json" diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java new file mode 100644 index 0000000..f5e9c38 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java @@ -0,0 +1,35 @@ +package com.vci.ubcs.starter.util; + +import net.logstash.logback.encoder.org.apache.commons.lang3.StringEscapeUtils; + +/** + * + * @author ludc + * @date 2023/12/1 9:16 + */ +public class SpecialCharacterConverter { + + /** + * 鐗规畩瀛楃杞箟 + * @param input + * @return + */ + public static String escapeSpecialCharacters(String input) { + input = input.replace("'", "''"); // 杞箟鍗曞紩鍙� + input = input.replace("\"", "\\\""); // 杞箟鍙屽紩鍙� + input = input.replace("%", "\\%"); // 杞箟鐧惧垎鍙� + input = input.replace("_", "\\_"); // 杞箟涓嬪垝绾� + input = input.replace("\\", "\\\\"); // 杞箟鍙嶆枩鏉� + return input; + } + + public static String unescapeSpecialCharacters(String input) { + input = input.replace("''", "'"); // 鍙嶈浆涔夊崟寮曞彿 + input = input.replace("\\\"", "\""); // 鍙嶈浆涔夊弻寮曞彿 + input = input.replace("\\%", "%"); // 鍙嶈浆涔夌櫨鍒嗗彿 + input = input.replace("\\_", "_"); // 鍙嶈浆涔変笅鍒掔嚎 + input = input.replace("\\\\", "\\"); // 鍙嶈浆涔夊弽鏂滄潬 + return input; + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java index 0924909..42e4177 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java @@ -56,8 +56,10 @@ * 闆嗗洟鍒嗙被鐢宠鍗曟湇鍔� */ private final IDockingPreClassifyService dockingPreClassifyService; - - + /*** + * 灞炴�ф槧灏勬湇鍔� + */ + private final IDockingPreAttrMappingService dockingPreAttrMappingService; /** * 闆嗗洟鍙栧�艰寖鍥寸敵璇峰崟鏈嶅姟 */ @@ -81,6 +83,22 @@ return R.fail("闆嗗洟鐮佺敵璇峰け璐ワ細"+e.getMessage()); } } + + /*** + * 鏌ヨ闆嗗洟灞炴�ф槧灏� + * @param codeClassifyOid:缂栫爜鍒嗙被oid + * @return + */ + @Override + public R<List<DockingPreAttrMappingVO>> list_mapping(String codeClassifyOid) { + List<DockingPreAttrMapping> dockingPreAttrMappings= dockingPreAttrMappingService.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId,codeClassifyOid)); + List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingPreAttrMappings)){ + dockingPreAttrMappingVOList=dockingPreAttrMappingService.dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,true); + } + return R.data(dockingPreAttrMappingVOList); + } + /*** * 鐢宠闆嗗洟缂栫爜鏁版嵁缁存姢 * @return diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java index 28a6f73..b28d66d 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IDockingPreAttrMappingService.java @@ -8,6 +8,7 @@ import com.vci.ubcs.starter.exception.VciBaseException; import org.springblade.core.tool.api.R; +import java.util.Collection; import java.util.List; /** @@ -51,4 +52,12 @@ * @return */ public R search(DokingAttributeSerchVO dokingAttributeSerchVO); + + /*** + * 杞崲闆嗗洟灞炴�ф槧灏勯厤缃� + * @param dockingPreAttrMappings + * @param contain 鏄惁鏌ュ巻鍙叉暟鎹� + * @return + */ + List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings, boolean contain); } diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java index 86a2b9b..0711970 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java @@ -242,7 +242,8 @@ * @param dockingPreAttrMappings * @return */ - private List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) { + @Override + public List<DockingPreAttrMappingVO> dockingPreAttrMappingDO2VOS(Collection<DockingPreAttrMapping> dockingPreAttrMappings,boolean contain) { List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>(); dockingPreAttrMappingVOList=DockingPreAttrMappingWrapper.build().entityVOs(dockingPreAttrMappings); if(CollectionUtils.isEmpty(dockingPreAttrMappingVOList)){ diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java index 7dec639..9b44d22 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeFixedValueController.java @@ -132,7 +132,7 @@ dtoList.add(codeFixedValueDTO); } String codefixedsecoid = (String) param.get("codeFixedSecOid"); - VciBaseUtil.alertNotNull(dtoList,"鐮佸�煎璞¢泦鍚�",codefixedsecoid,"鍥哄畾鐮佹鐨勪富閿�"); + VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹鐨勪富閿�"); if (CollectionUtils.isEmpty(dtoList)){ return R.status(codeFixedValueService.batchDeleteBySecOid(codefixedsecoid)); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java index a7f08a7..5d6b29a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java @@ -35,7 +35,7 @@ */ @PostMapping("/addSave") public R addSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,1); } /** * 淇敼瑙勫垯瀵硅薄 @@ -44,7 +44,7 @@ */ @PostMapping("/editSave") public R editSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,2); } /** @@ -54,6 +54,6 @@ */ @PostMapping("/delete") public R delete(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,3); } } 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 dd8b910..e4e3328 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 @@ -312,7 +312,7 @@ s = engineService.addSaveCode(orderDTO); saveLogUtil.operateLog("缂栫爜鐢宠",false,orderDTO.toString()); }catch (Exception e){ - saveLogUtil.operateLog("缂栫爜鐢宠",true,e.getMessage()); + saveLogUtil.operateLog("缂栫爜鐢宠",true,e.toString()); throw e; } return R.success(s); @@ -769,4 +769,26 @@ public R addSaveBZ (@RequestBody CodeBZApplyDTO codeBZApplyDTO) throws Exception { return R.success(engineService.addSaveBZ(codeBZApplyDTO)); } + + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/exportGroupCodeExcel") + @VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�") + public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ + + try { + String excelName = mdmIOService.exportGroupCodeExcel(codeClassifyOid); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java index f96aada..f91c7cd 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java @@ -32,8 +32,9 @@ /*** * 淇濆瓨缂栫爜瑙勫垯瀛楃闆� * @param codeRuleCharacterVO + * @param operationType * @return */ - R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO)throws VciBaseException; + R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operationType)throws VciBaseException; } 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 d063ec2..4b2e394 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 @@ -1,5 +1,6 @@ package com.vci.ubcs.code.service; +import com.google.protobuf.ServiceException; import com.vci.ubcs.code.dto.CodeExportAttrDTO; import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; @@ -119,4 +120,11 @@ * @param operationType */ void sendApplyGroupcode(List<String> idList,String btmName,String operationType); + + /*** + * 瀵煎嚭闆嗗洟鐮佹ā鏉� + * @param classOid + * @return + */ + String exportGroupCodeExcel(String classOid) throws ServiceException; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java index aaabd6f..edff3be 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java @@ -10,6 +10,7 @@ import com.vci.ubcs.code.service.ICodeRuleCharacterService; import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.poi.bo.SheetRowData; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.tool.api.R; @@ -41,19 +42,22 @@ public List<Map<String, String>> getDataByRuleId(String codeRuleId,String chartType) throws VciBaseException { List<Map<String,String>> charValueList=new ArrayList<>(); CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType)); - List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); - for (int i = 0; i < characterList.size(); i += 15) { - final int startIndex = i; - final int endIndex = Math.min(i + 15, characterList.size()); - List<Character> subList = characterList.subList(startIndex, endIndex); - Map<String, String> chartMap=new HashMap<>(); - // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶 - for (int j=1;j<subList.size()+1;j++){ - String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString(); - chartMap.put(String.valueOf(j),String.valueOf(characterValue)); + if(codeRuleCharacter!=null&&StringUtils.isNotBlank(codeRuleCharacter.getOid())){ + List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + for (int i = 0; i < characterList.size(); i += 15) { + final int startIndex = i; + final int endIndex = Math.min(i + 15, characterList.size()); + List<Character> subList = characterList.subList(startIndex, endIndex); + Map<String, String> chartMap=new HashMap<>(); + // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶 + for (int j=1;j<subList.size()+1;j++){ + String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString(); + chartMap.put(String.valueOf(j),String.valueOf(characterValue)); + } + charValueList.add(chartMap); } - charValueList.add(chartMap); } + return charValueList; } /*** @@ -63,20 +67,48 @@ * @throws VciBaseException */ @Override - public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO) throws VciBaseException { + public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operation) throws VciBaseException { VciBaseUtil.alertNotNull(codeRuleCharacterVO.getCodeRuleId(),"缂栫爜瑙勫垯id",codeRuleCharacterVO.getChartType(),"瀛楃闆嗙被鍨�"); CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleCharacterVO.getCodeRuleId()).eq(CodeRuleCharacter::getChartType,codeRuleCharacterVO.getChartType())); if(codeRuleCharacter!=null&& StringUtils.isNotBlank(codeRuleCharacter.getOid())) { List<Character> oldCharacterList = StringUtils.isBlank(codeRuleCharacter.getChartValue())?new ArrayList<>():codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); List<Character> newCharacterList = StringUtils.isBlank(codeRuleCharacterVO.getChartValue())?new ArrayList<>():codeRuleCharacterVO.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); - List<Character> intersectList = intersect(oldCharacterList, newCharacterList); - if (intersectList.size() > 0) { - String ss = Joiner.on(",").join(intersectList); - throw new VciBaseException("绯荤粺涓瓨鍦ㄧ浉搴旂殑瀛楃:銆�" + ss + "銆�"); + if(operation==1) {//鏂板鏃跺�� + List<Character> intersectList = intersect(oldCharacterList, newCharacterList); + if (intersectList.size() > 0) { + String ss = Joiner.on(",").join(intersectList); + throw new VciBaseException("绯荤粺涓瓨鍦ㄧ浉搴旂殑瀛楃:銆�" + ss + "銆�"); + } + List<Character> allCharacterList = union(oldCharacterList, newCharacterList); + String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); + }else if(operation==2){//淇敼 + String oldChartValue= codeRuleCharacterVO.getOldChartValue(); + String chartValue= codeRuleCharacterVO.getChartValue(); + Map<String,String> oldChartNewChartMap=new HashMap<>(); + List<Character> chartValueList = StringUtils.isBlank(chartValue)?new ArrayList<>():chartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + List<Character> oldChartValueList = StringUtils.isBlank(oldChartValue)?new ArrayList<>():oldChartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + + if(chartValueList.size()!=oldChartValueList.size()){ + throw new VciBaseException("鏇挎崲鐨勫�间釜鏁颁笌閫変腑鍊肩殑涓暟涓嶇浉绛�"); + } + /*** + * id + */ + for (int i=0;i<oldChartValueList.size();i++){ + Character oldValue=oldChartValueList.get(i); + if(oldCharacterList.contains(oldValue)){ + int index =oldCharacterList.indexOf(oldValue); + oldCharacterList.set(index,chartValueList.get(i)); + } + } + String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); + }else{//鍒犻櫎 + oldCharacterList.removeAll(newCharacterList); + String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); } - List<Character> allCharacterList = union(oldCharacterList, newCharacterList); - String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer)?integer.toString():"").collect(Collectors.joining()); - codeRuleCharacter.setChartValue(str); codeRuleCharacterMapper.updateById(codeRuleCharacter); }else{ codeRuleCharacter=new CodeRuleCharacter(); 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 2dd56b5..2ddc23a 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 @@ -44,6 +44,7 @@ import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.util.SaveLogUtil; +import com.vci.ubcs.starter.util.SpecialCharacterConverter; import com.vci.ubcs.starter.util.UBCSSqlKeyword; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.constant.RegExpConstant; @@ -464,7 +465,7 @@ ); }catch (Exception e){ // 鎻掑叆鏇存敼鏃ュ織璁板綍 - saveLogUtil.operateLog(CodeDefaultLC.getTextByValue(baseModelDTO.getLcStatus()),true,e.getMessage()); + saveLogUtil.operateLog(CodeDefaultLC.getTextByValue(baseModelDTO.getLcStatus()),true,e.toString()); throw e; } } @@ -791,6 +792,7 @@ sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; } sql[0] += " and lastR = '1' and lastV = '1' "; + // 鑾峰彇涓嶅弬涓庢牎楠岀殑鍒嗙被oid String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); if(Func.isNotEmpty(isParticipateCheckOids)){ sql[0] += " and codeclsfid not in(" + isParticipateCheckOids + ")"; @@ -1193,12 +1195,12 @@ temp = "%s"; } queryKey = String.format(temp, "nvl("+ "t." + attrId +",'/')"); - queryValue = String.format(temp, "'" + (trim ? value.trim() : value) + "'"); + queryValue = String.format(temp, "'" + (trim ? SpecialCharacterConverter.escapeSpecialCharacters(value.trim()):SpecialCharacterConverter.escapeSpecialCharacters(value)) + "'"); conditionMap.put(queryKey, queryValue); } else { if(StringUtils.isNotBlank(value)) { //涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅 - conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + value + "'"); + conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + SpecialCharacterConverter.escapeSpecialCharacters(value) + "'"); }else{ conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL); } @@ -2472,7 +2474,6 @@ return getSqlByValue(key, value, attrVOMap,btmType); } }*/ - } /** @@ -3112,7 +3113,7 @@ saveLogUtil.operateLog("鏁版嵁鏇存敼",false, StringUtil.format("{}\n淇敼涓�:\n{}",JSON.toJSONString(Collections.singletonList(oldCbo)),JSON.toJSONString(Collections.singletonList(cbo)))); } catch (Exception vciError) { // 璁板綍鏁版嵁鏇存敼鎶ラ敊鏃剁殑鏃ュ織 - saveLogUtil.operateLog("鏁版嵁鏇存敼",true,vciError.getMessage()); + saveLogUtil.operateLog("鏁版嵁鏇存敼",true,vciError.toString()); throw new VciBaseException("鏁版嵁鏇存敼淇濆瓨鍑洪敊浜�", new String[0], vciError); } 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 371139a..dfc6153 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 @@ -5,12 +5,14 @@ import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.protobuf.ServiceException; +import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreAttrMapping; import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; +import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO; import com.vci.ubcs.code.bo.AttributeValue; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; -import com.vci.ubcs.code.dto.CodeExportAttrDTO; -import com.vci.ubcs.code.dto.CodeOrderDTO; +import com.vci.ubcs.code.constant.MdmEngineConstant; +import com.vci.ubcs.code.dto.*; import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; @@ -843,7 +845,7 @@ } // 鍗曟瀵煎叆鏁伴噺闄愬埗 if(sheetDataSetList.get(i).getRowData().size() > IMPORT_DATA_LIMIT){ - throw new ServiceException("涓轰簡淇濊瘉绯荤粺鐨勭ǔ瀹氭�э紝璇蜂竴娆′笉瑕佸鍏ヨ秴杩�"+IMPORT_DATA_LIMIT+"鏉$殑鏁版嵁"); + throw new ServiceException(StringUtil.format("涓轰簡淇濊瘉绯荤粺鐨勭ǔ瀹氭�э紝璇蜂竴娆′笉瑕佸鍏ヨ秴杩噞}鏉$殑鏁版嵁",IMPORT_DATA_LIMIT)); } //鍘嗗彶瀵煎叆鐨勬椂鍊欎笉澶勭悊缂栫爜 //----閫昏緫鍐呭---- @@ -1132,7 +1134,7 @@ if(StringUtils.isNotBlank(excelFileName)) { codeImProtRusultVO.setFilePath(excelFileName); codeImProtRusultVO.setFileOid(""); - saveLogUtil.operateLog("鍘嗗彶鏁版嵁瀵煎叆",true, StringUtil.format("閿欒淇℃伅锛歿}",JSON.toJSONString(shetNameMap)) ); + saveLogUtil.operateLog("鍘嗗彶鏁版嵁瀵煎叆",true, StringUtil.format("閿欒淇℃伅锛歿}",JSON.toJSONString(shetNameMap))); }else{ saveLogUtil.operateLog("鍘嗗彶鏁版嵁瀵煎叆",false, StringUtil.format("瀵煎叆鍒板垎绫粄}涓紝瀵煎叆鎴愬姛鎬绘暟涓猴細{}", JSON.toJSONString(classifyFullInfo),importCount.get(0))); } @@ -1141,7 +1143,7 @@ } return codeImProtRusultVO; }catch (Exception e){ - saveLogUtil.operateLog("鍘嗗彶鏁版嵁瀵煎叆",true,e.getMessage()); + saveLogUtil.operateLog("鍘嗗彶鏁版嵁瀵煎叆",true,e.toString()); throw e; } } @@ -1456,7 +1458,7 @@ } saveLogUtil.operateLog("鎵归噺鐢宠缂栫爜",false, StringUtil.format("鎵归噺瀵煎叆鐢宠鎴愬姛鍏眥}鏉℃暟鎹紝鐢熸垚鐨勭爜鍊煎涓嬨�恵}銆�",codeList.size(),codeList)); }catch (Exception e){ - saveLogUtil.operateLog("鎵归噺鐢宠缂栫爜",true,e.getMessage()); + saveLogUtil.operateLog("鎵归噺鐢宠缂栫爜",true,e.toString()); throw e; } return uuid; @@ -3824,7 +3826,7 @@ private void batchSwitchClassifyAttrOnOrder(Collection<CodeClassifyTemplateAttrVO> attrVOS,List<ClientBusinessObject> dataList, CodeClassifyFullInfoBO classifyFullInfo,boolean isImPort) { Map<String, CodeClassifyTemplateAttrVO> dateAttrVOMap = attrVOS.stream().filter( - s -> StringUtils.isNotBlank(s.getClassifyInvokeAttr()) && StringUtils.isNotBlank(s.getClassifyInvokeAttr()) + s -> StringUtils.isNotBlank(s.getClassifyInvokeAttr()) ).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); Map<String,CodeClassifyFullInfoBO> classifyFullInfoMap=new HashMap<>(); classifyFullInfoMap.put(classifyFullInfo.getCurrentClassifyVO().getOid(),classifyFullInfo); @@ -3861,6 +3863,7 @@ } else { Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO); String value = classifyDataMap.getOrDefault(attrVO.getClassifyInvokeAttr(), ""); + log.error("================================褰撳墠鍒嗙被娉ㄥ叆鐨剉alue鍊间负锛�==========================",value); cbo.setAttributeValue(attrId, value); } } catch (Throwable e) { @@ -4605,4 +4608,196 @@ } } + /*** + * @param codeClassifyOid + * @return + */ + @Override + public String exportGroupCodeExcel(String codeClassifyOid) throws ServiceException { + VciBaseUtil.alertNotNull(codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭"); + CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyOid); + CodeClassifyVO codeClassifyVO= classifyFullInfo.getCurrentClassifyVO(); + //鑾峰彇鏈�鏂扮殑妯℃澘 + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); + LinkedList<String> colName=new LinkedList<>();//鍒楀ご + LinkedList<String> fieldList=new LinkedList<>();//鍒楀瓧娈� + + ExecGroupCodePortDataDTO execGroupCodePortDataDTO=new ExecGroupCodePortDataDTO(); + createExportGroupCodeMapConfig(templateVO,execGroupCodePortDataDTO);//缁勭粐鏁版嵁 + if(!CollectionUtils.isEmpty(execGroupCodePortDataDTO.getCodeAttrMapGroupAttrDTOS())){ + throw new ServiceException("闆嗗洟灞炴�ф槧灏勬湭閰嶇疆"); + } + fieldList=execGroupCodePortDataDTO.getFieldList(); + List<Map<String,String>>dataList=new ArrayList<>(); + getDatas(classifyFullInfo,templateVO,fieldList,dataList); + execGroupCodePortDataDTO.setDataList(dataList);//鏀炬暟鎹� + execGroupCodePortDataDTO.setSheetName(codeClassifyVO.getName()+"闆嗗洟鐮佸鍏ユā鏉�"); + String tempFolder = LocalFileUtil.getDefaultTempFolder(); + String excelName = tempFolder + File.separator + + classifyFullInfo.getCurrentClassifyVO().getId() + "_" + classifyFullInfo.getCurrentClassifyVO().getName() + "_闆嗗洟鐮佸鍑烘ā鏉�.xls"; + try { + new File(excelName).createNewFile(); + } catch (Throwable e) { + throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelName}, e); + } + LinkedList<String> finalFieldList = fieldList; + Map<String, CodeClassifyTemplateAttrVO> attrVOMap = templateVO.getAttributes().stream().filter(s-> finalFieldList.contains(s.getId().toLowerCase(Locale.ROOT))).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); + List<WriteExcelData> excelDataList = new ArrayList<>(); + Workbook workbook = new HSSFWorkbook(); + List<CodeAndGroupCodeAttrMappingDTO> codeAndGroupCodeAttrMappingDTOList= execGroupCodePortDataDTO.getCodeAttrMapGroupAttrDTOS(); + + Map<String, CodeAndGroupCodeAttrMappingDTO> jAttrVOMap = codeAndGroupCodeAttrMappingDTOList.stream().filter(s-> finalFieldList.contains(s.getTargetAttrKey().toLowerCase(Locale.ROOT))).collect(Collectors.toMap(s -> s.getTargetAttrKey().toLowerCase(Locale.ROOT), t -> t)); + + WriteExcelData codeExcelData = new WriteExcelData(0, 0, "浼佷笟缂栫爜"); + WriteExcelData groupExcelData = new WriteExcelData(0, 1, "闆嗗洟鐮�"); + excelDataList.add(codeExcelData); + excelDataList.add(groupExcelData); + for (int i = 0; i < fieldList.size(); i++) { + String attrId=fieldList.get(i); + if(attrId.equals(CODE_FIELD)||attrId.equals(CODE_GROUP_FIELD)){ + continue; + } + if (attrVOMap.containsKey(attrId)) { + CodeClassifyTemplateAttrVO attrVO = attrVOMap.get(attrId); + //Object text = attrVO.getName(); + CodeAndGroupCodeAttrMappingDTO codeAttrMappingDTO = jAttrVOMap.get(attrId); + Object text = codeAttrMappingDTO.getSourceAttrName(); + text = exportKeyAndRequired(workbook, attrVO, text); + WriteExcelData excelData = new WriteExcelData(0, i, text); + if (text instanceof RichTextString) { + excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); + } + excelDataList.add(excelData); + } + } + final Integer[] rowIndex = {0}; + dataList.stream().forEach(data -> { + rowIndex[0]++; + String id=data.getOrDefault("id", ""); + excelDataList.add(new WriteExcelData(rowIndex[0], 0, id)); + String groupCode=data.getOrDefault("groupcode", ""); + excelDataList.add(new WriteExcelData(rowIndex[0], 1, groupCode)); + List<String> newFieldList = finalFieldList.stream().filter(e -> !e.equals("id") &&!e.equals("groupcode")).collect(Collectors.toList()); + + for (int i = 0; i < newFieldList.size(); i++) { + String attrId = newFieldList.get(i).toLowerCase(Locale.ROOT); + if(attrId.equals("id")){ + + }else if(attrId.equals("groupcode")){ + + }else{ + if (attrVOMap.containsKey(attrId)) { + CodeClassifyTemplateAttrVO attrVO = attrVOMap.get(attrId); + if (StringUtils.isNotBlank(attrVO.getEnumId()) || StringUtils.isNotBlank(attrVO.getEnumString())) { + attrId = attrId + "Text"; + } + if (StringUtils.isNotBlank(attrVO.getReferBtmId()) || StringUtils.isNotBlank(attrVO.getReferConfig())) { + attrId = attrId + "name"; + } + if (VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(attrId)) { + attrId = VciQueryWrapperForDO.LC_STATUS_FIELD_TEXT.toLowerCase(Locale.ROOT); + } + excelDataList.add(new WriteExcelData(rowIndex[0], i+2, data.getOrDefault(attrId, ""))); + } + } + } + }); + WriteExcelOption excelOption = new WriteExcelOption(); + excelOption.addSheetDataList(execGroupCodePortDataDTO.getSheetName(),excelDataList); + + //澧炲姞妯℃澘鐨勪俊鎭鍏� + LinkedList<WriteExcelData> tempEDList = new LinkedList<>(); + tempEDList.add(new WriteExcelData(0,0,"妯℃澘涓婚敭")); + tempEDList.add(new WriteExcelData(0,1,"妯℃澘浠e彿")); + tempEDList.add(new WriteExcelData(0,2,"妯℃澘鍚嶇О")); + tempEDList.add(new WriteExcelData(1,0,templateVO.getOid())); + tempEDList.add(new WriteExcelData(1,1,templateVO.getId())); + tempEDList.add(new WriteExcelData(1,2,templateVO.getName())); + excelOption.addSheetDataList("妯℃澘淇℃伅銆愯鍕垮垹闄ゆ垨绉诲姩銆�",tempEDList); + ExcelUtil.writeDataToFile(excelName, excelOption); + log.info("鏂囦欢璺緞"+excelName); + return excelName; + } + + /*** + * 闆嗗洟瀵煎嚭妯℃澘灞炴�ф槧灏勪俊鎭幏鍙� + * @param templateVO + * @param execGroupCodePortDataDTO + */ + private void createExportGroupCodeMapConfig(CodeClassifyTemplateVO templateVO,ExecGroupCodePortDataDTO execGroupCodePortDataDTO){ + String classOid=templateVO.getCodeclassifyoid(); + String templateOid=templateVO.getOid(); + R r=mdmInterJtClient.list_mapping(classOid); + if(r.isSuccess()){ + List<DockingPreAttrMappingVO>dockingPreAttrMappingVOList= (List<DockingPreAttrMappingVO>) r.getData(); + List<CodeAndGroupCodeAttrMappingDTO> codeAttrMapGroupAttrDTOS=new ArrayList<>(); + LinkedList<String> fieldList=new LinkedList<>(); + LinkedList<String> colNameList=new LinkedList<>(); + dockingPreAttrMappingVOList.stream().forEach(dockingPreAttrMappingVO -> { + CodeAndGroupCodeAttrMappingDTO codeAndGroupCodeAttrMappingDTO=new CodeAndGroupCodeAttrMappingDTO(); + if(StringUtils.isNotBlank(dockingPreAttrMappingVO.getTargetAttrId())){ + codeAndGroupCodeAttrMappingDTO.setDefaultValue(dockingPreAttrMappingVO.getDefaultValue()); + codeAndGroupCodeAttrMappingDTO.setMetaListId(dockingPreAttrMappingVO.getMetaListId()); + codeAndGroupCodeAttrMappingDTO.setSourceAttrKey(dockingPreAttrMappingVO.getSourceAttrKey()); + codeAndGroupCodeAttrMappingDTO.setSourceAttrName(dockingPreAttrMappingVO.getSourceAttrName()); + codeAndGroupCodeAttrMappingDTO.setTargetAttrId(dockingPreAttrMappingVO.getTargetAttrId()); + codeAndGroupCodeAttrMappingDTO.setTargetAttrKey(dockingPreAttrMappingVO.getTargetAttrKey()); + codeAndGroupCodeAttrMappingDTO.setTargetAttrName(dockingPreAttrMappingVO.getTargetAttrName()); + fieldList.add(dockingPreAttrMappingVO.getTargetAttrKey()); + colNameList.add(dockingPreAttrMappingVO.getSourceAttrName()); + } + codeAttrMapGroupAttrDTOS.add(codeAndGroupCodeAttrMappingDTO); + }); + execGroupCodePortDataDTO.setCodeAttrMapGroupAttrDTOS(codeAttrMapGroupAttrDTOS); + execGroupCodePortDataDTO.setFieldList(fieldList); + execGroupCodePortDataDTO.setColName(colNameList); + } + } + + /*** + * 鏌ヨ鏈湁闆嗗洟鐮佺殑鏁版嵁 + * @param classifyFullInfo + * @param templateVO + * @param selectFieldList + * @param dataList + */ + private void getDatas(CodeClassifyFullInfoBO classifyFullInfo,CodeClassifyTemplateVO templateVO,LinkedList<String> selectFieldList,List<Map<String,String>>dataList){ + //鍏堟煡璇㈡暟鎹� + String btmTypeId = classifyFullInfo.getTopClassifyVO().getBtmTypeId(); + String codeClassifyOid=classifyFullInfo.getCurrentClassifyVO().getOid(); + Map<String, String> conditionMap = new HashMap<>(); + if(conditionMap == null){ + conditionMap = new HashMap<>(); + } + if(conditionMap.containsKey(VciQueryWrapperForDO.OID_FIELD)){ + conditionMap.put(VciQueryWrapperForDO.OID_FIELD,QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(conditionMap.get(VciQueryWrapperForDO.OID_FIELD)) + ")"); + } + conditionMap.put("codeclsfpath","*" + codeClassifyOid + "*"); + conditionMap.put("groupcode_null", "null"); + conditionMap.put("lastr", "1"); + conditionMap.put("lastv", "1"); + + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Arrays.asList(btmTypeId)); + String tableName = ""; + if(listR.isSuccess() && !listR.getData().isEmpty()){ + tableName = Func.isNotBlank(listR.getData().get(0).getTableName()) ? listR.getData().get(0).getTableName():VciBaseUtil.getTableName(btmTypeId); + }else{ + tableName = VciBaseUtil.getTableName(btmTypeId); + } + PageHelper pageHelper = new PageHelper(); + pageHelper.setLimit(1000000); + pageHelper.setPage(1); + pageHelper.addDefaultDesc("createTime"); + DataGrid<Map<String, String>> dataGrid = engineService.queryGrid(btmTypeId, templateVO, conditionMap, pageHelper); + //杞崲鏁版嵁 + if(!CollectionUtils.isEmpty(dataGrid.getData())){ + dataList.addAll(dataGrid.getData()); + } + //灏佽鏌ヨ鍑烘潵鐨勬暟鎹� + engineService.wrapperData(dataList, templateVO, selectFieldList,false); + //modify by weidy@2022-09-27 + //鍥犱负鍦ㄥ垪琛ㄥ拰琛ㄥ崟鐨勬樉绀虹殑鏃跺�欙紝鎴戜滑鐨勫紑鍏崇被鍨嬮〉闈細澶勭悊锛屼絾鏄湪瀵煎嚭鐨勬椂鍊欙紝鎴戜滑闇�瑕佸皢true鍜宖alse閮芥浛鎹㈡垚涓枃 + engineService.wrapperBoolean(dataList,templateVO); + log.info("瀵煎嚭妯℃澘鐨勬暟鎹潯鐩暟:"+dataList.size()); + } } 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 dd22b32..049f925 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 @@ -559,12 +559,6 @@ connect by prior codeclassify0.PARENTCODECLASSIFYOID = codeclassify0.oid </select> - <select id="selectStartWithCurrentOid" resultMap="plCodeClassifyResultMap"> - select * from <include refid="tableName"/> - start with oid = #{oid} - connect by prior oid = parentcodeclassifyoid; - </select> - <update id="batchUpdateLcStatus" parameterType="java.util.List"> BEGIN <foreach collection="records" item="item" index="index" separator=";"> -- Gitblit v1.9.3