From 0a1e8735df28380727ff3cbabc73c71b1fdee0e1 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 06 十二月 2023 22:22:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/FormTemplate/index.vue                                                  |   22 ++---
 Source/UBCS-WEB/src/components/Master/MasterTransfer.vue                                               |   29 +++---
 Source/UBCS-WEB/src/views/system/menu.vue                                                              |   10 +-
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                            |    4 
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml               |    4 +
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue                                            |   60 +++++++-------
 Source/UBCS-WEB/src/components/BatchImport/index.vue                                                   |   43 +++++-----
 Source/UBCS-WEB/src/views/modeling/Business.vue                                                        |   11 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java |   10 ++
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue                                           |   32 ++++----
 10 files changed, 121 insertions(+), 104 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index 9b76f3d..cb8caaa 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -61,24 +61,27 @@
       >
     </el-upload>
     <template #footer>
-      <div v-if="type !== 'groupCode'">
-        <el-button
-          v-if="type !== 'bulkEdit' "
-          :loading="downloadLoading"
-          size="small"
-          type="primary"
-          @click="downloadTemplateFun"
-        >涓嬭浇瀵煎叆妯℃澘
-        </el-button>
-        <el-button v-if="type === 'bulkEdit'"
-                   :loading="downloadLoading"
-                   size="small"
-                   type="primary"
-                   @click="downloadTemplateFun"
-        >涓嬭浇缂栬緫妯℃澘
-        </el-button>
-      </div>
-      <el-button size="small" @click="dialogVisible = false">鍏抽棴</el-button>
+      <div style="display: inline-block">
+          <el-button
+            v-if="type !== 'bulkEdit' "
+            :loading="downloadLoading"
+            size="small"
+            type="primary"
+            @click="downloadTemplateFun"
+          >涓嬭浇瀵煎叆妯℃澘
+          </el-button>
+          <el-button v-if="type === 'bulkEdit'"
+                     :loading="downloadLoading"
+                     size="small"
+                     type="primary"
+                     @click="downloadTemplateFun"
+          >涓嬭浇缂栬緫妯℃澘
+          </el-button>
+        </div>
+        <div style="display: inline-block">
+          <el-button size="small" @click="dialogVisible = false">鍏抽棴</el-button>
+        </div>
+
     </template>
     <ShowImportData
       v-if="showVisible"
@@ -169,7 +172,7 @@
       return this.currentTypeObj[this.type]["action"];
     },
     upParams() {
-      if (this.type === "historyImport" || this.type === "batchApplyCode" ) {
+      if (this.type === "historyImport" || this.type === "batchApplyCode") {
         return {
           codeClassifyOid: this.codeClassifyOid,
           classifyAttr: this.classifyAttr,
@@ -191,7 +194,7 @@
         return {
           codeClassifyOid: this.codeClassifyOid,
         };
-      }else if(this.type === 'groupCode'){
+      } else if (this.type === 'groupCode') {
         return {
           codeClassifyOid: this.codeClassifyOid,
         };
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 8c34f98..525f4f4 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -103,14 +103,14 @@
       type: String,
       default: "",
     },
-    selectRow:{
-      type:Array,
-      default:[]
+    selectRow: {
+      type: Array,
+      default: []
     }
   },
   data() {
     return {
-      selectValue:"",
+      selectValue: "",
       //骞翠唬鍙�
       dataYearCode: {
         type: "",
@@ -206,20 +206,20 @@
       }
     },
     dataYearCode: {
-      deep:true,
-      immediate:true,
+      deep: true,
+      immediate: true,
       handler(newV) {
         this.$emit("dataYearCode", newV)
       }
     },
-    selectRow:{
-      handler(newval){
+    selectRow: {
+      handler(newval) {
         console.log(newval);
         let ids = newval.map(item => item.id);
-        this.selectValue= ids.join(",");
+        this.selectValue = ids.join(",");
       },
-      deep:true,
-      immediate:true
+      deep: true,
+      immediate: true
     }
   },
   methods: {
@@ -248,7 +248,7 @@
         //绯诲垪鍙疯鍒�
         if (formItem.field === "codeStandardEditType") {
           if (this.status === "amend") {
-            console.log("formItem-amend",formItem)
+            console.log("formItem-amend", formItem)
             formItem.readOnly = true;
           }
         }
@@ -334,12 +334,12 @@
           valueFormat: formItem.dateFormate || "yyyy-MM-dd HH:mm:ss",
           format: formItem.dateFormate,
           keyAttr: formItem.keyAttr,
-          value:formItem.defaultValue || (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) ||
             (this.status === "amend" && formItem.field === "codeStandardEditType" ? "2" : null) ||
             //鐖剁粍浠跺鏋滄槸鍙傜収鏁版嵁浼氬皢selectRow缃┖,selectRow涓嶄负绌哄氨璇存槑涓嶆槸鍙傜収瑕佸洖濉簮鏍囧噯鍙锋暟鎹�
-          (this.status === "amend" ? (this.selectRow && (formItem.field === "oldcode" ? this.selectValue : null)) : null),
+            (this.status === "amend" ? (this.selectRow && (formItem.field === "oldcode" ? this.selectValue : null)) : null),
           placeholder: formItem.inputTip,
           comboxKey: formItem.comboxKey,
           tip: formItem.tooltips,
@@ -447,7 +447,7 @@
           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,
@@ -620,7 +620,7 @@
     // 鑾峰彇琛ㄥ崟璇︽儏鏁版嵁
     getFormDetail() {
       if (this.type === "add") return;
-      if(this.templateOid){
+      if (this.templateOid) {
         getFormDetail({templateOid: this.templateOid, oid: this.rowOid}).then(
           (res) => {
             this.form = Object.assign(this.form, res.data.data[0]);
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 6d01849..6270458 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -14,10 +14,10 @@
       v-if="dialogVisible" key="masterForm"
       ref="FormTemplate"
       v-bind="$attrs"
-      :selectRow="selectRow"
       :TreeValue="TreeValue"
       :eventList="eventList"
       :rowOid="rowOid"
+      :selectRow="selectRow"
       :status="status"
       :templateOid="templateOid"
       :type="type"
@@ -39,11 +39,11 @@
         <el-tab-pane v-if="showCodeApply" label="鐮佸�肩敵璇�" name="codeApply">
           <FormTemplate
             key="codeApplyForm" ref="CodeApply"
+            :selectRow="selectRow"
             :selfColumnConfig="selfColumnConfig"
             :selfColumnType="selfColumnType"
-            :type="type"
             :status="status"
-            :selectRow="selectRow"
+            :type="type"
             data-key="codeApplyForm"
             secDTOListv-bind="$attrs"
             @attrList="attrListForm"
@@ -142,9 +142,9 @@
       type: Object,
       default: () => ({}),
     },
-    selectRow:{
-      type:Array,
-      default:[]
+    selectRow: {
+      type: Array,
+      default: []
     }
   },
   data() {
@@ -248,9 +248,7 @@
       },
     },
   },
-  watch: {
-
-  },
+  watch: {},
   methods: {
     openDialog() {
       //鏂板鍜屼慨鏀瑰叡鍚岃皟鐢�(鏈夋敼鍔� 涓嶉渶瑕佸湪浣跨敤edit锛屾柟娉曟病浠�涔堝奖鍝�)
@@ -326,7 +324,7 @@
           that.secVOList = (res.data.data.secVOList || []).filter((item) =>
             typeList.includes(item.secType)
           );
-          if (that.secVOList.length > 0 && that.type === "add" ||(that.type !== "add" &&  that.status === "amend")) {
+          if (that.secVOList.length > 0 && that.type === "add" || (that.type !== "add" && that.status === "amend")) {
             that.showCodeApply = true;
             that.activeName = "codeApply";
 
@@ -416,7 +414,7 @@
       }
     },
     async submit() {
-      if(this.status){
+      if (this.status) {
         // 杩涜琛ㄥ崟鏍¢獙
         const formValidate = await this.$refs.FormTemplate.validate();
         if (!formValidate) return;
@@ -495,7 +493,7 @@
         resForm.codeRuleOid = this.codeRuleOid;
         resForm.templateOid = this.templateOid;
         this.$emit("submit", resForm);
-      }else {
+      } else {
         // 杩涜琛ㄥ崟鏍¢獙
         const formValidate = await this.$refs.FormTemplate.validate();
         if (!formValidate) return;
diff --git a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
index 6c7c8d5..00d593e 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -10,7 +10,8 @@
           <el-radio :label="1">鍏ㄩ儴</el-radio>
           <el-radio :label="2">椤电爜</el-radio>
         </el-radio-group>
-        <span v-if="radio === 2" style="margin-left: 20px;"><el-input v-model="pageExport" style="width: 150px"></el-input> 锛堣緭鍏ラ〉鐮佹垨鑰呴〉闈㈣寖鍥达紝濡傦細1-10锛�</span>
+        <span v-if="radio === 2" style="margin-left: 20px;"><el-input v-model="pageExport"
+                                                                      style="width: 150px"></el-input> 锛堣緭鍏ラ〉鐮佹垨鑰呴〉闈㈣寖鍥达紝濡傦細1-10锛�</span>
       </div>
     </div>
     <div style="text-align: center">
@@ -120,10 +121,10 @@
   mounted() {
   },
   methods: {
-    handlerFile(res){
+    handlerFile(res) {
       let reader = new FileReader();
       reader.readAsText(res.data);
-      reader.onload =  (result) =>{
+      reader.onload = (result) => {
         try {
           let resData = JSON.parse(result.target.result);  // 瑙f瀽瀵硅薄鎴愬姛
           if (resData.code != 200) {
@@ -173,8 +174,8 @@
               'conditionMap[oid]': this.ids, ...this.exportArrTwo,
               limit: -1
             }).then(res => {
-                this.handlerFile(res);
-                this.escHandler();
+              this.handlerFile(res);
+              this.escHandler();
             })
           } else {
 
@@ -183,8 +184,8 @@
               'conditionMap[oid]': this.ids, ...this.exportArr
             }).then(res => {
               // console.log('res',res)
-                this.handlerFile(res);
-                this.escHandler();
+              this.handlerFile(res);
+              this.escHandler();
 
             })
 
@@ -204,8 +205,8 @@
           })
         } else {
           exportCode({codeClassifyOid: this.codeClassifyOid, ...this.exportArr, limit: -1}).then(res => {
-              this.handlerFile(res);
-              this.escHandler();
+            this.handlerFile(res);
+            this.escHandler();
           })
         }
       } else if (this.radio === 2) {
@@ -241,8 +242,8 @@
             endPage: end
           }).then((res) => {
             // console.log('res',res)
-              this.handlerFile(res);
-              this.escHandler();
+            this.handlerFile(res);
+            this.escHandler();
 
           });
         } else {
@@ -256,9 +257,9 @@
             page: start,
             endPage: end
           }).then(res => {
-            console.log('res',res)
-              this.handlerFile(res);
-              this.escHandler();
+            console.log('res', res)
+            this.handlerFile(res);
+            this.escHandler();
           })
         }
       }
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 80377c8..4157faa 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -580,11 +580,11 @@
       }).then(res => {
         let reader = new FileReader();
         reader.readAsText(res.data)
-        reader.onload =  (result) =>{
+        reader.onload = (result) => {
           try {
             let resData = JSON.parse(result.target.result);  // 瑙f瀽瀵硅薄鎴愬姛
             if (!resData.success) {
-              console.log("resData",resData)
+              console.log("resData", resData)
               this.$message.error(resData.msg);
               this.isLoading = false;
             }
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 8cbc96c..0fe3d8e 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -2,49 +2,48 @@
 <template>
   <el-container>
     <!--    宸︿晶鑿滃崟-->
-    <el-aside style="width: 20%;">
+    <el-aside>
       <basic-container>
-        <el-collapse accordion>
-          <el-collapse-item style="padding-left: 3px;">
-            <template slot="title">
-              <div style="display: flex;justify-content: space-around;">
-                <el-button v-if="permissionList.TreeAddStatus" plain size="mini" type="primary" @click="TreeAdd">娣诲姞
+        <div>
+          <div>
+            <div style="display: flex; flex-direction: column;">
+              <div style="display: flex;">
+                <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">娣诲姞
                 </el-button>
-                <el-button v-if="permissionList.TreeEditStatus" plain size="mini" type="primary" @click="TreeEdit">淇敼
+                <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">淇敼
                 </el-button>
-                <el-button v-if="permissionList.TreeDelStatus" plain size="mini" type="primary" @click="TreeDel">鍒犻櫎
+                <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">鍒犻櫎
                 </el-button>
-                <el-button v-if="permissionList.flushedStatus" plain size="mini" type="primary" @click="flushed">鍒锋柊
+                <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">鍒锋柊
                 </el-button>
               </div>
-            </template>
-            <div>
-              <el-button v-if="permissionList.EnableStatus" plain size="mini" type="primary" @click="Enable">鍚敤
-              </el-button>
-              <el-button v-if="permissionList.DeactivateStatus" plain size="mini" type="primary" @click="Deactivate">
-                鍋滅敤
-              </el-button>
-              <el-button v-if="permissionList.ImportExcelStatus" plain size="mini" type="primary"
-                         @click.native="ImportExcel">瀵煎叆
-              </el-button>
-              <el-button v-if="permissionList.ExportExcelStatus" plain size="mini" type="primary"
-                         @click="ExportExcel">瀵煎嚭
+              <div style="display: flex; margin-top: 10px">
+                <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">鍚敤
+                </el-button>
+                <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate">
+                  鍋滅敤
+                </el-button>
+                <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary"
+                           @click.native="ImportExcel">瀵煎叆
+                </el-button>
+                <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary"
+                           @click="ExportExcel">瀵煎嚭
+                </el-button>
+              </div>
+            </div>
+            <div style="display: flex;margin-top: 5px;margin-bottom: 5px">
+              <el-button v-if="permissionList.flowingBtnStuatus" plain size="mini" type="primary" @click="testHandler">娴佹按澶勭悊
               </el-button>
             </div>
-            <div style="margin-top: 10px;margin-bottom: 10px">
-              <el-button v-if="permissionList.ExportExcelStatus" plain size="mini" type="primary" @click="testHandler">娴佹按澶勭悊
-              </el-button>
-            </div>
-          </el-collapse-item>
-        </el-collapse>
-
+          </div>
+        </div>
           <!--          宸︿晶鏍�-->
-          <div style="height: calc(100vh - 194px);overflow: auto;">
+          <div style="height: calc(100vh - 230px);overflow: auto">
             <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                        :defaultExpandAll="false"
                        :option="Treeoption"
                        class="classifyTree"
-                       style="height: calc(100vh - 280px);"
+                       style="height: calc(100vh - 280px)"
                        @node-click="nodeClick"
             >
             </avue-tree>
@@ -822,6 +821,7 @@
         FindStatus: this.vaildData(this.permission.classifyTree.manage_search, false),
         TemRefreshStatus: this.vaildData(this.permission.classifyTree.manage_break, false),
         CloneBtnStuatus: this.vaildData(this.permission.classifyTree.manage_clone, false),
+        flowingBtnStuatus: this.vaildData(this.permission.classifyTree.tree_flowing, false),
       }
     },
     crudTreeOption() {
diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue
index c9fcc0e..eef4952 100644
--- a/Source/UBCS-WEB/src/views/modeling/Business.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Business.vue
@@ -14,17 +14,20 @@
       </div>
     </el-header>
     <el-container>
-      <el-aside width="240px">
+      <el-aside style="width:250px">
         <basic-container class="businessTreeContainer">
-          <p style="margin-top: 10px;font-weight: 570;font-size: 19px">{{ treeOption.title }}</p>
-          <avue-tree id="basic" :data="treeData" :option="treeOption" class="businessTree" @node-click="nodeClick">
+          <div class="app">
+            <p style="margin-top: 10px;font-weight: 570;font-size: 19px">{{ treeOption.title }}</p>
+            <avue-tree id="basic" :data="treeData" :option="treeOption" class="businessTree" @node-click="nodeClick">
             <span slot-scope="{ node, data }" class="el-tree-node__label">
               <span>
                 <i :class="(node || {}).level === 2 ? 'el-icon-star-off' : 'el-icon-folder-opened'"></i>
                 {{ (node || {}).label }}
               </span>
             </span>
-          </avue-tree>
+            </avue-tree>
+          </div>
+
         </basic-container>
       </el-aside>
       <el-container>
diff --git a/Source/UBCS-WEB/src/views/system/menu.vue b/Source/UBCS-WEB/src/views/system/menu.vue
index aa5702d..5e3e267 100644
--- a/Source/UBCS-WEB/src/views/system/menu.vue
+++ b/Source/UBCS-WEB/src/views/system/menu.vue
@@ -55,11 +55,11 @@
     </avue-crud>
     <!-- 浠庡叾浠栬彍鍗曞厠闅嗘寜閽� -->
     <el-dialog :visible.sync="cloneOtherMenuButtons.cloneButtonSettingBox"
-               class="avue-dialog avue-dialog--top"
-               top="0"
                append-to-body
+               class="avue-dialog avue-dialog--top"
                style="height: 110vh; margin-top: -10vh;"
                title="浠庡叾浠栬彍鍗曞厠闅嗘寜閽�"
+               top="0"
                width="1100px"
                @close="cleanCloneSelections">
       <avue-crud ref="cloneCrud"
@@ -129,7 +129,7 @@
             label: "鑿滃崟鍚嶇О",
             prop: "name",
             search: true,
-            width:220,
+            width: 220,
             rules: [
               {
                 required: true,
@@ -444,8 +444,8 @@
         viewBtn: this.vaildData(this.permission.menu.menu_view, false),
         delBtn: this.vaildData(this.permission.menu.menu_delete, false),
         editBtn: this.vaildData(this.permission.menu.menu_edit, false),
-        cloneBtn: this.vaildData(this.permission.menu.menu_clone,false),
-        addChildBtn: this.vaildData(this.permission.menu.menu_add_child,false),
+        cloneBtn: this.vaildData(this.permission.menu.menu_clone, false),
+        addChildBtn: this.vaildData(this.permission.menu.menu_add_child, false),
       };
 
     },
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
index f05c6ee..97efe84 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
@@ -8,3 +8,7 @@
     url: ${ubcs.datasource.mdm.prod.url}
     username: ${ubcs.datasource.mdm.prod.username}
     password: ${ubcs.datasource.mdm.prod.password}
+#鍏抽棴椹煎嘲鍛藉悕鏄犲皠
+mybatis-plus:
+  configuration :
+    map-underscore-to-camel-case: false
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 04238fe..3e681d6 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
@@ -844,7 +844,7 @@
 	 */
 	@GetMapping("/exportGroupCodeExcel")
 	@VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�")
-	public R exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{
+	public R exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response){
 		try {
 			String excelName = mdmIOService.exportGroupCodeExcel(codeClassifyOid);
 			ControllerUtil.writeFileToResponse(response,excelName);
@@ -854,6 +854,14 @@
 			if(StringUtils.isBlank(msg)){
 				msg = "鏈煡閿欒";
 			}
+			String errorFile = LocalFileUtil.getDefaultTempFolder() + File.separator + "閿欒.txt";
+			LocalFileUtil.writeContentToFile(LangBaseUtil.getErrorMsg(e),errorFile);
+			try {
+				ControllerUtil.writeFileToResponse(response,errorFile);
+			} catch (IOException ex) {
+				ex.printStackTrace();
+			}
+			String uuid=ControllerUtil.putErrorFile(errorFile);
 			return R.fail(msg);
 		//	ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
 		}

--
Gitblit v1.9.3