|
@@ -69,8 +69,6 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
int numErrorData = 0;//记录异常数据的条数 异常数据是指外协项目为空或者外协单位为空的情况
|
|
|
List<KpiImportList> list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);//从excel表格中获取所有数据
|
|
|
List<KpiImportList> listDataBase = kpiImportListMapper.getKpiAll();//从数据库中获取所有数据
|
|
|
- System.out.println(listDataBase);
|
|
|
- List<KpiImportListRepeat> listDataBaseRepeat = kpiImportListMapper.getKpiRepeatAll();//从数据库中获取所有未处理的重复数据
|
|
|
Map<String, KpiImportList> listDataBaseMap = new HashMap<>();
|
|
|
for(KpiImportList kpiImportList:listDataBase){
|
|
|
listDataBaseMap.put(String.format("%s,%d",kpiImportList.getDepartment(), kpiImportList.getYear()), kpiImportList);
|
|
@@ -82,6 +80,8 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
if (!listNew.contains(kpiImportList1)) {
|
|
|
//列表中去除部门、指标、指标年份为null的数据,为异常数据
|
|
|
if (kpiImportList1.getDepartment() != null && kpiImportList1.getKpi() != null && kpiImportList1.getYear() != null) {
|
|
|
+ //添加数据的时候kpi是万元,需要换算成元在进行计算存储
|
|
|
+ kpiImportList1.setKpi(kpiImportList1.getKpi().multiply(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP));
|
|
|
//判断该数据是否与数据库中的数据重复
|
|
|
//完全重复忽略,部门年份相同,指标不同存入重复表
|
|
|
if(!listDataBase.contains(kpiImportList1)){
|
|
@@ -133,19 +133,25 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
|
|
|
}
|
|
|
List<KpiImportListRepeat> listNewRepeat2 = new ArrayList<>();
|
|
|
- //去除两个相似数据对应相同的数据库数据,只留一个数据库数据即可
|
|
|
- for(KpiImportListRepeat kpiImportListRepeat:listNewRepeat){
|
|
|
- if((!listNewRepeat2.contains(kpiImportListRepeat)) && (!listDataBaseRepeat.contains(kpiImportListRepeat))){
|
|
|
- KpiImportListRepeat kpiImportListRepeat2 = new KpiImportListRepeat();
|
|
|
- kpiImportListRepeat2.setDepartment(kpiImportListRepeat.getDepartment());
|
|
|
- kpiImportListRepeat2.setYear(kpiImportListRepeat.getYear());
|
|
|
- kpiImportListRepeat2.setKpi(kpiImportListRepeat.getKpi());
|
|
|
- if(kpiImportListRepeat2.getKpi().equals(BigDecimal.valueOf(0))){
|
|
|
- kpiImportListRepeat2.setKpiMonth(BigDecimal.valueOf(0));
|
|
|
- }else{
|
|
|
- kpiImportListRepeat2.setKpiMonth(kpiImportListRepeat2.getKpi().divide(BigDecimal.valueOf(12), 2, RoundingMode.HALF_UP));
|
|
|
+ if(listNewRepeat.size() == 0){
|
|
|
+ listNewRepeat2.addAll(listNewRepeat);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ List<KpiImportListRepeat> listDataBaseRepeat = kpiImportListMapper.getKpiRepeatAll();//从数据库中获取所有未处理的重复数据
|
|
|
+ //去除两个相似数据对应相同的数据库数据,只留一个数据库数据即可
|
|
|
+ for(KpiImportListRepeat kpiImportListRepeat:listNewRepeat){
|
|
|
+ if((!listNewRepeat2.contains(kpiImportListRepeat)) && (!listDataBaseRepeat.contains(kpiImportListRepeat))){
|
|
|
+ KpiImportListRepeat kpiImportListRepeat2 = new KpiImportListRepeat();
|
|
|
+ kpiImportListRepeat2.setDepartment(kpiImportListRepeat.getDepartment());
|
|
|
+ kpiImportListRepeat2.setYear(kpiImportListRepeat.getYear());
|
|
|
+ kpiImportListRepeat2.setKpi(kpiImportListRepeat.getKpi());
|
|
|
+ if(kpiImportListRepeat2.getKpi().equals(BigDecimal.valueOf(0))){
|
|
|
+ kpiImportListRepeat2.setKpiMonth(BigDecimal.valueOf(0));
|
|
|
+ }else{
|
|
|
+ kpiImportListRepeat2.setKpiMonth(kpiImportListRepeat2.getKpi().divide(BigDecimal.valueOf(12), 2, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ listNewRepeat2.add(kpiImportListRepeat2);
|
|
|
}
|
|
|
- listNewRepeat2.add(kpiImportListRepeat2);
|
|
|
}
|
|
|
}
|
|
|
System.out.println("新增指标数据:");
|
|
@@ -209,7 +215,6 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
int numErrorData = 0;//记录异常数据的条数 异常数据是指外协项目为空或者外协单位为空的情况
|
|
|
List<KpiImportList> list = ExcelImportUtil.importExcel(inputStream, clazz, params);//从excel表格中获取所有数据
|
|
|
List<KpiImportList> listDataBase = kpiImportListMapper.getKpiAll();//从数据库中获取所有数据
|
|
|
- List<KpiImportListRepeat> listDataBaseRepeat = kpiImportListMapper.getKpiRepeatAll();//从数据库中获取所有未处理的重复数据
|
|
|
Map<String, KpiImportList> listDataBaseMap = new HashMap<>();
|
|
|
for (KpiImportList kpiImportList : listDataBase) {
|
|
|
listDataBaseMap.put(String.format("%s,%d", kpiImportList.getDepartment(), kpiImportList.getYear()), kpiImportList);
|
|
@@ -221,6 +226,8 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
if (!listNew.contains(kpiImportList1)) {
|
|
|
//列表中去除部门、指标、指标年份为null的数据,为异常数据
|
|
|
if (kpiImportList1.getDepartment() != null && kpiImportList1.getKpi() != null && kpiImportList1.getYear() != null) {
|
|
|
+ //添加数据的时候kpi是万元,需要换算成元在进行计算存储
|
|
|
+ kpiImportList1.setKpi(kpiImportList1.getKpi().multiply(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP));
|
|
|
//判断该数据是否与数据库中的数据重复
|
|
|
//完全重复忽略,部门年份相同,指标不同存入重复表
|
|
|
if(!listDataBase.contains(kpiImportList1)){
|
|
@@ -269,17 +276,21 @@ public class KpiImportListServiceImpl extends ServiceImpl<KpiImportListMapper, K
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
List<KpiImportListRepeat> listNewRepeat2 = new ArrayList<>();
|
|
|
- //去除两个相似数据对应相同的数据库数据,只留一个数据库数据即可
|
|
|
- for (KpiImportListRepeat kpiImportListRepeat : listNewRepeat) {
|
|
|
- if ((!listNewRepeat2.contains(kpiImportListRepeat)) && (!listDataBaseRepeat.contains(kpiImportListRepeat))) {
|
|
|
- if (kpiImportListRepeat.getKpi().equals(BigDecimal.valueOf(0))) {
|
|
|
- kpiImportListRepeat.setKpiMonth(BigDecimal.valueOf(0));
|
|
|
- } else {
|
|
|
- kpiImportListRepeat.setKpiMonth(kpiImportListRepeat.getKpi().divide(BigDecimal.valueOf(12), 2, RoundingMode.HALF_UP));
|
|
|
+ if(listNewRepeat.size() == 0){
|
|
|
+ listNewRepeat2.addAll(listNewRepeat);
|
|
|
+ }else {
|
|
|
+ List<KpiImportListRepeat> listDataBaseRepeat = kpiImportListMapper.getKpiRepeatAll();//从数据库中获取所有未处理的重复数据
|
|
|
+ //去除两个相似数据对应相同的数据库数据,只留一个数据库数据即可
|
|
|
+ for (KpiImportListRepeat kpiImportListRepeat : listNewRepeat) {
|
|
|
+ if ((!listNewRepeat2.contains(kpiImportListRepeat)) && (!listDataBaseRepeat.contains(kpiImportListRepeat))) {
|
|
|
+ if (kpiImportListRepeat.getKpi().equals(BigDecimal.valueOf(0))) {
|
|
|
+ kpiImportListRepeat.setKpiMonth(BigDecimal.valueOf(0));
|
|
|
+ } else {
|
|
|
+ kpiImportListRepeat.setKpiMonth(kpiImportListRepeat.getKpi().divide(BigDecimal.valueOf(12), 2, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ listNewRepeat2.add(kpiImportListRepeat);
|
|
|
}
|
|
|
- listNewRepeat2.add(kpiImportListRepeat);
|
|
|
}
|
|
|
}
|
|
|
System.out.println("新增指标数据:");
|