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