Commit 387c0206 authored by Fuzy's avatar Fuzy

重构计算方法

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