From e213e25673421c0ac41713171f9cd5ce90bc221f Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 24 十一月 2023 14:35:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/statistic/statisticPage.vue                                                          |   37 ++++
 Source/UBCS-WEB/src/views/wel/Statistic.vue                                                                    |   11 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java          |   16 +
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                                    |   29 +++
 Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue                                               |  105 +++++--------
 Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue                                           |  121 +++++++++++++++
 Source/UBCS-WEB/src/api/GetItem.js                                                                             |   16 ++
 Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue                                                |   84 ++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java |    4 
 9 files changed, 336 insertions(+), 87 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/GetItem.js b/Source/UBCS-WEB/src/api/GetItem.js
index 2ba7b96..f8c50ce 100644
--- a/Source/UBCS-WEB/src/api/GetItem.js
+++ b/Source/UBCS-WEB/src/api/GetItem.js
@@ -45,6 +45,22 @@
     data
   })
 }
+//鐢宠
+export function applySaveCode(data) {
+  return request({
+    url: 'api/ubcs-code/mdmEngineController/addSaveBZ',
+    method: 'post',
+    data
+  })
+}
+//淇
+export function amendEditCode(data) {
+  return request({
+    url: 'api/ubcs-code/mdmEngineController/addSaveBZ',
+    method: 'post',
+    data
+  })
+}
 //宸插彂甯冩暟鎹洿鏀�
 export function upSaveCode(data) {
   return request({
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 5025b4b..483d080 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -72,7 +72,7 @@
                                  align="center">
                 </el-table-column>
                 <!--               鍙傜収鏁版嵁-->
-                <el-table-column v-for="(item,index) in referArray" key="index" v-if="Object.keys(item.referConfig).length > 0 && !item.hidden" :label="item.title" prop="jiliangdw"
+                <el-table-column v-for="(item,index) in referArray" :key="index" v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden" :label="item.title" prop="jiliangdw"
                                  :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
                                  align="center">
                   <template slot-scope="scope">
@@ -176,7 +176,8 @@
   deleteCode,
   upSaveCode,
   applyGroupCode,
-  receiveEditApply
+  receiveEditApply,
+  applySaveCode
 } from "@/api/GetItem";
 import {processTS, changeStatus} from "@/api/template/setPersonnel"
 import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -553,10 +554,28 @@
         this.applyvisible = true;
       });
     },
-    applySumbit(){
-
+    applySumbit(val){
+      // console.log('val',val)
+      if(func.notEmpty(val.ts)) {
+        val.ts = func.formattedDateTime(val.ts);
+        //console.log(val.ts);
+      }
+      applySaveCode(val).then(res => {
+        this.$nextTick(() => {
+          this.applyvisible = false;
+          this.$message.success("淇濆瓨鎴愬姛");
+          this.onLoad()
+        })
+      })
     },
-    amendSumbit(){
+    amendSumbit(val){
+      applySaveCode(val).then(res => {
+        this.$nextTick(() => {
+          this.amendvisible = false;
+          this.$message.success("淇濆瓨鎴愬姛");
+          this.onLoad()
+        })
+      })
 
     },
     //鏍囧噯淇
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
new file mode 100644
index 0000000..2d84725
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
@@ -0,0 +1,121 @@
+<template>
+  <basic-container>
+    <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
+  </basic-container>
+
+</template>
+
+<script>
+import 'echarts'
+import 'echarts/lib/chart/line'
+import 'echarts/lib/chart/pie'
+import 'echarts/lib/chart/bar'
+import 'echarts/lib/component/tooltip'
+import 'echarts/lib/component/title'
+import 'echarts/lib/component/legend'
+
+var data = [
+  [120, 132, 101, 134, 90, 230, 210, 130, 0, 122, 100, 80],
+  [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
+];
+
+// 鎵惧埌姣忎竴椤规暟鎹腑鐨勬渶澶у�煎苟淇濆瓨鍒版暟缁�
+var maxValues = data[0].map(function (_, i) {
+  return Math.max.apply(null, data.map(function (item) {
+    return item[i];
+  }));
+});
+
+var colors = ['#91CC75', '#5470C6'];
+// 鐢熸垚鏌辩姸鍥剧殑 series 鏁版嵁
+var seriesData = [];
+for (var i = 0; i < data.length; i++) {
+  var curSeriesData = [];
+  // 璁$畻鏁版嵁涓殑姣忕粍鏁版嵁鐨勬渶澶у��
+  for (var j = 0; j < data[i].length; j++) {
+    var borderRadius = [0, 0, 0, 0];  // 榛樿涓嶈缃渾瑙�
+    if (data[i][j] === maxValues[j]) {  // 濡傛灉褰撳墠鏌卞瓙鐨勫�肩瓑浜庡搴斿垪鐨勬渶澶у�硷紝璁剧疆鍦嗚
+      borderRadius = [50, 50, 0, 0];  // 璁剧疆鍥涗釜瑙掗兘涓哄渾瑙�
+    }
+    curSeriesData.push({
+      value: data[i][j],
+      itemStyle: {
+        normal: {
+          barBorderRadius: borderRadius,  // 璁剧疆鍦嗚
+          color: colors[i],
+          show: function (params) {
+            // 鏍规嵁鏁版嵁鍊肩殑澶у皬鏉ュ垽鏂槸鍚︽樉绀� label
+            return params.value > 30;
+          }
+        }
+      }
+    });
+  }
+  var seriesName = '';
+  if (i === 0) {
+    seriesName = '鎬婚噺';
+  } else if (i === 1) {
+    seriesName = '鏂板';
+  }
+  seriesData.push({
+    name: seriesName,
+    type: 'bar',
+    stack: '鎬婚噺',
+    data: curSeriesData,
+    label: {
+      show: true,
+      position: 'top'
+    },
+    itemStyle: {
+      color: colors[i]  // 璁剧疆鏌卞瓙鐨勯鑹�
+    },
+    emphasis: {
+      focus: 'series'
+    }
+  });
+}
+
+export default {
+  name: "ColumnarChart",
+  data() {
+    return {
+      chartOptions: {
+        title: {
+          text: '浜哄憳涓绘暟鎹粺璁�'
+        },
+        grid: {
+          left: '3%',
+          right: '4%',
+          bottom: '3%',
+          containLabel: true
+        },
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'shadow'
+          }
+        },
+        legend: {
+          data: ['鎬婚噺', '鏂板'],
+          left: 'center'
+        },
+        xAxis: {
+          type: 'category',
+          data: ['涓�鏈�', '浜屾湀', '涓夋湀', '鍥涙湀', '浜旀湀', '鍏湀', '涓冩湀', '鍏湀', '涔濇湀', '鍗佹湀', '鍗佷竴鏈�', '鍗佷簩鏈�']
+        },
+        yAxis: {
+          type: 'value'
+        },
+        series: seriesData,
+      }
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+#chart {
+  width: 1280px;
+  height: 800px;
+}
+</style>
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
index 6ea8c1d..d51df80 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
@@ -1,103 +1,78 @@
 <template>
   <div id="main">
     <basic-container>
-      <v-chart :options="option" ref="chart" style="width: 100%;height:100vh"></v-chart>
+      <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
     </basic-container>
   </div>
 </template>
 
 <script>
 import 'echarts'
-import 'echarts/lib/chart/line';
-import 'echarts/lib/component/tooltip';
-import 'echarts/lib/component/title';
-import 'echarts/lib/component/legend';
+import 'echarts/lib/chart/line'
+import 'echarts/lib/chart/pie'
+import 'echarts/lib/chart/bar'
+import 'echarts/lib/component/tooltip'
+import 'echarts/lib/component/title'
+import 'echarts/lib/component/legend'
+
 export default {
-  name: "statisticPage",
+  name: "lineChart",
   data() {
     return {
-      option: {
-        color: ['red','black'],
-        legend: {
-          data: ['鍥句緥1', '鍥句緥2', '鍥句緥3'],
-        },
-        dataset: [
-          {
-            id: 'dataset_raw',
-            source: [
-              { month: 1, total: 1000, newly: 800 },
-              { month: 2, total: 5000, newly: 1000 },
-              { month: 3, total: 1800, newly: 1400 },
-              { month: 4, total: 1500, newly: 1200 },
-              { month: 5, total: 1000, newly: 1200 },
-              { month: 6, total: 1500, newly: 1200 },
-              { month: 7, total: 1500, newly: 1200 },
-              { month: 8, total: 1500, newly: 1000 },
-              { month: 9, total: 1500, newly: 1200 },
-              { month: 10, total: 1500, newly: 1200 },
-              { month: 11, total: 1500, newly: 1200 },
-              { month: 12, total: 1500, newly: 1200 },
-            ],
-          },
-        ],
+      chartOptions: {
+        color:['#2eadd6  ','#FFA500 '],
         title: {
-          text: '涓婚搴撴暟鎹粺璁″垎鏋�',
-          left:'center',
-          textAlign:'center'
+          text: '鐗╁搧涓绘暟鎹粺璁�'
         },
         tooltip: {
-          trigger: 'axis',
+          trigger: 'axis'
+        },
+        legend: {
+          data: ['鎬婚噺', '鏂板']
         },
         xAxis: {
+          boundaryGap: true, // 鎺у埗鍧愭爣杞翠袱渚х暀鐧�
           type: 'category',
-          nameLocation: 'middle',
-          name:'month',
-          // data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] // 鏈堜唤鏁版嵁
+          data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�']
         },
         yAxis: {
-          name: 'Number',
-          type: 'value',
+          type: 'value'
         },
         series: [
           {
+            name: '鎬婚噺',
             type: 'line',
-            datasetId: 'dataset_raw',
-            showSymbol: false,
-            encode: {
-              x: 'month',
-              y: 'total',
-              itemName: 'month',
-              tooltip: ['total'],
+            smooth: true,
+            stack: 'Total',
+            label: {
+              show: true,
+              position: 'top'
             },
+            data: [5000, 2000, 3600, 1000, 1000, 2000, 500, 2000, 500, 2000, 500, 2000]
           },
           {
+            name: '鏂板',
             type: 'line',
-            datasetId: 'dataset_raw',
-            showSymbol: false,
-            encode: {
-              x: 'month',
-              y: 'newly',
-              itemName: 'month',
-              tooltip: ['newly'],
+            smooth: true,
+            stack: 'Total',
+            label: {
+              show: true,
+              position: 'top'
             },
-          },
-        ],
-      }
+            data: [1510, 1010, 2610, 2010, 3010, 1010, 1510, 3010, 1010, 1510, 3010, 2000]
+          }
+        ]
+      },
     };
   },
   mounted() {
-    import('echarts').then((echarts) => {
-      // console.log(echarts)
-      this.$nextTick(() => {
-        const chartDom = this.$refs.chart.$el;
-        const myChart = echarts.init(chartDom);
-        myChart.setOption(this.option);
-      });
-    });
   },
 }
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
+#chart {
+  width: 1280px;
+}
 
 </style>
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue
new file mode 100644
index 0000000..9b757c3
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue
@@ -0,0 +1,84 @@
+<template>
+  <basic-container>
+    <v-chart :options="chartOptions" :auto-resize="true" id="chart"></v-chart>
+  </basic-container>
+</template>
+
+<script>
+import 'echarts'
+import 'echarts/lib/chart/pie'
+import 'echarts/lib/component/tooltip'
+import 'echarts/lib/component/legend'
+export default {
+  name: "pieChart",
+  data() {
+    return {
+      chartOptions: {
+        title: {
+          text: '渚涘簲鍟嗕富鏁版嵁缁熻',
+          left: 'center'
+        },
+        tooltip: {
+          trigger: 'item',
+          formatter: function (params) {
+            var result = '';
+            if (params.componentType === 'series') {
+              result += params.name + '<br/>';
+              result += '鏂板锛�' + params.data.newValue + '<br/>';
+              result += '鎬婚噺锛�' + params.data.value + '<br/>';
+              result += '鐧惧垎姣旓細' + params.percent + '%';
+            }
+            return result;
+          }
+        },
+        legend: {
+          orient: 'vertical',
+          right: 10,
+          top: 'middle',
+          data: ['涓�鏈�', '浜屾湀', '涓夋湀', '鍥涙湀', '浜旀湀', '鍏湀', '涓冩湀', '鍏湀', '涔濇湀', '鍗佹湀', '鍗佷竴鏈�', '鍗佷簩鏈�']
+        },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: ['40%', '70%'],
+            avoidLabelOverlap:false,
+            label: {
+              formatter: '{b}\n{d}%',
+              fontSize:14
+            },
+            itemStyle: {
+              color: function(params) {
+                // 鏍规嵁鍏蜂綋闇�姹傝缃鑹�
+                var colorList = ['#5470C6', '#91CC75', '#fac858', '#EE6666', '#3BA272', '#FC8452', '#9A60B4', '#e34d4d', '#b3e9b9', '#eaaaed', '#1bc6e4', '#c6b3e9'];
+                return colorList[params.dataIndex % colorList.length];
+              }
+            },
+            data: [
+              { value: 110, name: '涓�鏈�', newValue: 10, totalValue: 110 },
+              { value: 220, name: '浜屾湀', newValue: 20, totalValue: 220 },
+              { value: 330, name: '涓夋湀', newValue: 30, totalValue: 330 },
+              { value: 440, name: '鍥涙湀', newValue: 40, totalValue: 440 },
+              { value: 550, name: '浜旀湀', newValue: 50, totalValue: 550 },
+              { value: 660, name: '鍏湀', newValue: 60, totalValue: 660 },
+              { value: 770, name: '涓冩湀', newValue: 70, totalValue: 770 },
+              { value: 880, name: '鍏湀', newValue: 80, totalValue: 880 },
+              { value: 990, name: '涔濇湀', newValue: 90, totalValue: 990 },
+              { value: 1100, name: '鍗佹湀', newValue: 100, totalValue: 1100 },
+              { value: 1210, name: '鍗佷竴鏈�', newValue: 110, totalValue: 1210 },
+              { value: 1320, name: '鍗佷簩鏈�', newValue: 120, totalValue: 1320 }
+            ]
+          }
+        ]
+      },
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+#chart {
+  width: 800px;
+  height: 600px;
+}
+</style>
diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index 8707be1..415865a 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -1,18 +1,45 @@
 <template>
-<lineChart></lineChart>
+  <!--  鏂板鍙充晶鎸夐挳-->
+  <div>
+    <div style=" display: flex; justify-content: flex-end;">
+      <el-button plain type="primary" @click="addHandler">鏂板</el-button>
+    </div>
+    <!--  鏂板瀵硅瘽妗�-->
+    <el-dialog
+      :visible.sync="addVisible"
+      append-to-body
+      title="鏂板鏁版嵁缁熻鍒嗘瀽"
+    >
+    </el-dialog>
+    <!--    echarts缁勪欢-->
+    <div>
+            <lineChart></lineChart>
+            <pieChart></pieChart>
+            <ColumnarChart></ColumnarChart>
+    </div>
+  </div>
 </template>
 
 <script>
 import lineChart from "../../components/StatisticsComponent/lineChart"
+import pieChart from "../../components/StatisticsComponent/pieChart"
+import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart"
 
 export default {
   components: {
-    lineChart
+    lineChart,
+    pieChart,
+    ColumnarChart
   },
   name: "statisticPage",
-  data(){
-    return{
-
+  data() {
+    return {
+      addVisible: false,
+    }
+  },
+  methods: {
+    addHandler() {
+      this.addVisible = true;
     }
   }
 }
diff --git a/Source/UBCS-WEB/src/views/wel/Statistic.vue b/Source/UBCS-WEB/src/views/wel/Statistic.vue
index 0eda3f5..4b74518 100644
--- a/Source/UBCS-WEB/src/views/wel/Statistic.vue
+++ b/Source/UBCS-WEB/src/views/wel/Statistic.vue
@@ -9,7 +9,6 @@
                top='-40px'>
       <el-table
         ref="TableBox"
-        v-loading="TableLoading"
         :data="Crud.data"
         border
         style="width: 100%"
@@ -54,7 +53,7 @@
         </el-table-column>
       </el-table>
       <div slot="footer" class="dialog-footer">
-        <el-button plain type="primary" @click="SaveHandler">淇濆瓨</el-button>
+        <el-button plain type="primary" @click="SaveHandler" v-loading="BtnLoading">淇濆瓨</el-button>
       </div>
     </el-dialog>
   </div>
@@ -67,7 +66,7 @@
   name: "Statistic",
   data() {
     return {
-      TableLoading: false,
+      BtnLoading: false,
       loading: true,
       Crud: {
         form: '',
@@ -127,7 +126,7 @@
         this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹紒');
         return;
       }
-      this.TableLoading = true;
+      this.BtnLoading = true;
       try {
         const {data: {code}} = await save(this.userId, this.SelectRow.map(item => item.code));
         if (code === 200) {
@@ -136,12 +135,12 @@
           this.option.data = [];
           this.MasterGetList();
           this.dialogTableVisible = false;
-          this.TableLoading = false;
+          this.BtnLoading = false;
           this.loading = true;
           this.FontInfo();
         }
       } catch {
-        this.TableLoading = false;
+        this.BtnLoading = false;
       }
     },
     MoreHandler() {
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 f8d4959..52470cd 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
@@ -2020,9 +2020,10 @@
 		//鏈�鍚庡紕缁勫悎瑙勫垯
 		batchSwitchComponentAttrOnOrder(attrVOS,cboList);
 		//3.鍒ゆ柇鍏抽敭灞炴��
-		CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList,errorMap);
+		CodeImportResultVO keyResultVO = batchCheckKeyAttrOnOrder(classifyFullInfo, templateVO, cboList,errorKeyMap);
 		Set<String> selfRepeatRowIndexList = keyResultVO.getSelfRepeatRowIndexList();
 		Set<String> keyAttrRepeatRowIndexList = keyResultVO.getKeyAttrRepeatRowIndexList();
+
 		Map<String,List<String>>keyAttrOkOidTORepeatOidMap= keyResultVO.getKeyAttrOkOidTORepeatOidMap();
 		if(!CollectionUtils.isEmpty(selfRepeatRowIndexList)){
 			selfRepeatRowIndexList.stream().forEach(rowIndex->{
@@ -2052,7 +2053,11 @@
                 resultDataObjectDetailDO.setMsg(errorMap.getOrDefault(rowIndex,"") + ";鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅" );
                 resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
                 */
-				errorKeyMap.put(rowIndex, "鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅;" + errorMap.getOrDefault(rowIndex,""));
+				Map<String, List<BaseModel>> indexTODataMap=keyResultVO.getIndexTODataMap();
+				if(indexTODataMap.containsKey(rowIndex)){
+					List<BaseModel> baseModelList= indexTODataMap.get(rowIndex);
+				}
+				errorKeyMap.put(rowIndex, "鍏抽敭灞炴�т笌绯荤粺涓殑閲嶅;" + errorKeyMap.getOrDefault(rowIndex,""));
 			});
 		}
 		//鏍¢獙灞炴�ф槸鍚︽纭敊璇俊鎭�
@@ -2688,7 +2693,7 @@
 				return;
 			}
 			//final String[] sql = {"select count(*) from " + tableName + " t where 1 = 1 "};
-			final String[] sql = {"select id from " + tableName + " t where 1 = 1 "};
+			final String[] sql = {"select t.id from " + tableName + " t where 1 = 1 "};
 			conditionMap.forEach((key, value) -> {
 				if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)){
 					sql[0] += " and " + key + " is null ";
@@ -3775,7 +3780,7 @@
 			if(!CollectionUtils.isEmpty(nullRowIndex)){
 				String checkAttr = requiredAttrMap.values().stream().map(CodeClassifyTemplateAttrVO::getName).collect(Collectors.joining(","));
 				nullRowIndex.stream().forEach(rowIndex->{
-					errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鏍¢獙瑙勫垯涓嶉�氳繃锛屾湁鏍¢獙鐨勫睘鎬т负" + checkAttr);
+					errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鏍¢獙瑙勫垯蹇呭~椤逛笉閫氳繃锛屽鏋滄湁蹇呭~灞炴�т负绌猴紝鍒欏~銆�/銆戜唬鏇�,鏈夋牎楠岀殑灞炴�т负" + checkAttr);
 				});
 			}
 		}
@@ -4019,6 +4024,9 @@
 				childOidPathMap.put(childPath.getOid(),thisClassifyPath);
 			});
 		}
+		String path=classifyFullInfo.getCurrentClassifyVO().getId();
+		//鏍规嵁瀹㈡埛閫夋嫨鐨勫垎绫昏矾寰勬湭id锛岃繕鏄痭ame纭畾璺緞鎷兼帴
+		childOidPathMap.put(classifyFullInfo.getCurrentClassifyVO().getOid(),fullPath);
 		return childOidPathMap;
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
index fcdd558..3e1bc24 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -108,7 +108,7 @@
 			//涓昏鏄负浜嗗綍鍏ユ渶澶ф祦姘村彿鍜宎llcode
 			//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 			List<CodeAllCode> allCodeDOList = new CopyOnWriteArrayList<>();
-			Map<String/**娴佹按渚濇嵁**/, ConcurrentHashMap<String/**鐮佹鐨勪富閿�**/,String/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new ConcurrentHashMap<>();
+			Map<String/**娴佹按渚濇嵁**/, HashMap<String/**鐮佹鐨勪富閿�**/,String/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new HashMap<>();
 			// TODO 澶氱嚎绋嬫祦寮曞彂鐨勯棶棰樺凡淇敼
 			dataCBOList.parallelStream().forEach(cbo->{
 				log.info("code:----->"+cbo.getId());
@@ -180,7 +180,7 @@
 								OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()));
 						}
 						Double newSerialDb= CustomSerialEnum.getDoubleCustomSerialValue(secValue,secVO.getCustomCodeSerialType());
-						ConcurrentHashMap<String, String> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new ConcurrentHashMap<>());
+						HashMap<String, String> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
 						Double maxValue=newSerialDb;
 						if(thisUnitMaxMap.containsKey(secOid)){
 							String 	newMaxValue=  thisUnitMaxMap.getOrDefault(secOid,"");

--
Gitblit v1.9.3