Commit 387c0206 authored by Fuzy's avatar Fuzy

重构计算方法

parent ca108cfe
...@@ -111,13 +111,11 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -111,13 +111,11 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
voList.add(vo); voList.add(vo);
} }
List<WagesDetailsOriginalExcelDAO> collect = wagesDetails.parallelStream().filter(v -> !unitList.contains(v.getUnitName())).collect(Collectors.toList()); List<WagesDetailsOriginalExcelDAO> collect = wagesDetails.parallelStream().filter(v -> !unitList.contains(v.getUnitName())).collect(Collectors.toList());
System.out.println(collect.size());
// 第二轮处理wagesDetails,过滤掉已处理过的部门 // 第二轮处理wagesDetails,过滤掉已处理过的部门
for (WagesDetailsOriginalExcelDAO dao : collect) { for (WagesDetailsOriginalExcelDAO dao : collect) {
WagesFormulaVo vo2 = new WagesFormulaVo(); WagesFormulaVo vo2 = new WagesFormulaVo();
vo2.setLabel(wagesFormulaDto.getLabel()); vo2.setLabel(wagesFormulaDto.getLabel());
vo2.setDep(dao.getUnitName()); vo2.setDep(dao.getUnitName());
System.out.println(dao.getUnitName());
vo2.setValue(dao.getPeopleCount().toString()); vo2.setValue(dao.getPeopleCount().toString());
vo2.setWorker("0"); vo2.setWorker("0");
vo2.setCadre("0"); vo2.setCadre("0");
...@@ -165,7 +163,6 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -165,7 +163,6 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
} }
} }
List<WagesDetailsOriginalExcelDAO> collect = wagesDetails.parallelStream().filter(v -> !unitList.contains(v.getUnitName())).collect(Collectors.toList()); List<WagesDetailsOriginalExcelDAO> collect = wagesDetails.parallelStream().filter(v -> !unitList.contains(v.getUnitName())).collect(Collectors.toList());
for (WagesDetailsOriginalExcelDAO wagesDetail : collect) { for (WagesDetailsOriginalExcelDAO wagesDetail : collect) {
WagesFormulaVo vo = new WagesFormulaVo(); WagesFormulaVo vo = new WagesFormulaVo();
vo.setLabel(wagesFormulaDto.getLabel()); vo.setLabel(wagesFormulaDto.getLabel());
...@@ -197,12 +194,16 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -197,12 +194,16 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
vo.setCadre("0"); vo.setCadre("0");
vo.setC(wagesFormulaDto.getC()); vo.setC(wagesFormulaDto.getC());
for (String s : formula) { for (String s : formula) {
String sqlResult = fieldMapping.get(s); if (fieldMapping.containsKey(s)){
Field wagesField = null; String sqlResult = fieldMapping.get(s);
wagesField = WagesDetailsOriginalExcelDAO.class.getDeclaredField(sqlResult); Field wagesField = null;
wagesField.setAccessible(true); wagesField = WagesDetailsOriginalExcelDAO.class.getDeclaredField(sqlResult);
Object fieldValue = wagesField.get(wagesDetail); wagesField.setAccessible(true);
value = StringUtils.replaceOnce(value, s, fieldValue.toString()); Object fieldValue = wagesField.get(wagesDetail);
value = StringUtils.replaceOnce(value, s, fieldValue.toString());
}else {
value = StringUtils.replaceOnce(value, s, s);
}
} }
vo.setValue(count(value)); vo.setValue(count(value));
voList.add(vo); voList.add(vo);
...@@ -221,7 +222,7 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -221,7 +222,7 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
value = value.replaceAll(" ", ""); value = value.replaceAll(" ", "");
char sta = value.charAt(0); char sta = value.charAt(0);
char end = value.charAt(value.length() - 1); char end = value.charAt(value.length() - 1);
if (sta < 48 || sta > 57) { if ((sta < 48 || sta > 57) && sta != '-') {
return "公式填写有误"; return "公式填写有误";
} }
if (end < 48 || end > 57) { if (end < 48 || end > 57) {
...@@ -250,8 +251,12 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver ...@@ -250,8 +251,12 @@ public class WagesCalculateConversionServiceImpl implements WagesCalculateConver
accordPositionTwo = i; accordPositionTwo = i;
break; break;
} else if (FH.contains(charAt)) { } else if (FH.contains(charAt)) {
if (i == 0 && value.charAt(i) == '-') continue;
ifAccordOne = false; ifAccordOne = false;
accordPositionOne = i; accordPositionOne = i;
if (value.charAt(i + 1) == '-'){
i++;
}
} }
} }
String sta = value.substring(0, accordPositionOne); String sta = value.substring(0, accordPositionOne);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment