|
@@ -11975,9 +11975,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
titleList.add("工时(H)");
|
|
titleList.add("工时(H)");
|
|
titleList.add("FTE(工时/当月工时基数)");
|
|
titleList.add("FTE(工时/当月工时基数)");
|
|
if(user.getCompanyId()==876){
|
|
if(user.getCompanyId()==876){
|
|
- titleList.add("FTE(工时/固定工时基数(163.125))");
|
|
|
|
|
|
+ titleList.add("非项目工时(H)");
|
|
|
|
+ } else {
|
|
|
|
+ titleList.add("非项目工时(H)(当月工时基数-项目工时合计工时数)");
|
|
}
|
|
}
|
|
- titleList.add("非项目工时(H)(当月工时基数-项目工时合计工时数)");
|
|
|
|
|
|
+
|
|
dataList.add(titleList);
|
|
dataList.add(titleList);
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
@@ -11987,13 +11989,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
subtitle.add("");
|
|
- if(user.getCompanyId()==876){
|
|
|
|
- subtitle.add("");
|
|
|
|
- }
|
|
|
|
subtitle.add("当月工时:" + monthTime);
|
|
subtitle.add("当月工时:" + monthTime);
|
|
dataList.add(subtitle);
|
|
dataList.add(subtitle);
|
|
Map<String, List<Map<String, Object>>> listMap = resultList.stream().collect(Collectors.groupingBy(i -> String.valueOf(i.get("area"))));
|
|
Map<String, List<Map<String, Object>>> listMap = resultList.stream().collect(Collectors.groupingBy(i -> String.valueOf(i.get("area"))));
|
|
List<String> areaList = resultList.stream().map(i -> String.valueOf(i.get("area"))).distinct().collect(Collectors.toList());
|
|
List<String> areaList = resultList.stream().map(i -> String.valueOf(i.get("area"))).distinct().collect(Collectors.toList());
|
|
|
|
+ BigDecimal nonTotal = new BigDecimal(0.0);
|
|
for (String areaName : areaList) {
|
|
for (String areaName : areaList) {
|
|
List<Map<String, Object>> mapList = listMap.get(areaName);
|
|
List<Map<String, Object>> mapList = listMap.get(areaName);
|
|
Map<String, List<Map<String, Object>>> listMap1 = mapList.stream().collect(Collectors.groupingBy(m -> String.valueOf(m.get("id"))));
|
|
Map<String, List<Map<String, Object>>> listMap1 = mapList.stream().collect(Collectors.groupingBy(m -> String.valueOf(m.get("id"))));
|
|
@@ -12004,7 +12004,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
if(maps==null){
|
|
if(maps==null){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- //计算当前人员的合计
|
|
|
|
|
|
+ //计算当前人员的每个项目
|
|
for (int i = 0; i < maps.size(); i++) {
|
|
for (int i = 0; i < maps.size(); i++) {
|
|
Map<String, Object> map = maps.get(i);
|
|
Map<String, Object> map = maps.get(i);
|
|
List<String> item=new ArrayList<>();
|
|
List<String> item=new ArrayList<>();
|
|
@@ -12031,10 +12031,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
item.add(workTime + "");
|
|
item.add(workTime + "");
|
|
Float FTE = Float.valueOf(map.get("workTime").toString()) / monthTime;
|
|
Float FTE = Float.valueOf(map.get("workTime").toString()) / monthTime;
|
|
item.add(new BigDecimal(FTE).setScale(2, RoundingMode.HALF_UP) + "");
|
|
item.add(new BigDecimal(FTE).setScale(2, RoundingMode.HALF_UP) + "");
|
|
- if(user.getCompanyId()==876){
|
|
|
|
- Float FTERegular = Float.valueOf(map.get("workTime").toString()) / (Float.valueOf(String.valueOf("163.125"))*(period.getMonths()+1));
|
|
|
|
- item.add(new BigDecimal(FTERegular).setScale(2, RoundingMode.HALF_UP) + "");
|
|
|
|
- }
|
|
|
|
item.add("");
|
|
item.add("");
|
|
dataList.add(item);
|
|
dataList.add(item);
|
|
}
|
|
}
|
|
@@ -12061,12 +12057,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
}).sum();
|
|
}).sum();
|
|
item.add(new BigDecimal(FTESum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
item.add(new BigDecimal(FTESum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
if(user.getCompanyId()==876){
|
|
if(user.getCompanyId()==876){
|
|
- double FTERegularSum = maps.stream().mapToDouble(m -> {
|
|
|
|
- return Float.valueOf(m.get("workTime").toString()) / (Float.valueOf(String.valueOf("163.125"))*(period.getMonths()+1));
|
|
|
|
- }).sum();
|
|
|
|
- item.add(new BigDecimal(FTERegularSum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
|
|
|
|
+ double nonProjectSum = (double)maps.get(0).get("nonProjectWorkingTime");
|
|
|
|
+ BigDecimal nonBd = new BigDecimal(nonProjectSum).setScale(2,RoundingMode.HALF_UP);
|
|
|
|
+ item.add(nonBd+"");
|
|
|
|
+ nonTotal = nonTotal.add(nonBd);
|
|
|
|
+ } else {
|
|
|
|
+ item.add(new BigDecimal(monthTime-workTimeSum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
}
|
|
}
|
|
- item.add(new BigDecimal(monthTime-workTimeSum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
|
|
|
|
+
|
|
dataList.add(item);
|
|
dataList.add(item);
|
|
}
|
|
}
|
|
//增加自定义维度合计行
|
|
//增加自定义维度合计行
|
|
@@ -12080,8 +12078,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
double workTimeSum = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("workTime")))).sum();
|
|
double workTimeSum = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("workTime")))).sum();
|
|
item.add(new BigDecimal(workTimeSum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
item.add(new BigDecimal(workTimeSum).setScale(2,RoundingMode.HALF_UP)+"");
|
|
item.add("");
|
|
item.add("");
|
|
- item.add("");
|
|
|
|
- item.add(new BigDecimal((monthTime-workTimeSum)).setScale(2,RoundingMode.HALF_UP)+"");
|
|
|
|
|
|
+ if(user.getCompanyId()==876){
|
|
|
|
+ //直接抽取非项目工时
|
|
|
|
+ item.add(nonTotal.setScale(2,RoundingMode.HALF_UP)+"");
|
|
|
|
+ } else {
|
|
|
|
+ item.add(new BigDecimal((monthTime-workTimeSum)).setScale(2,RoundingMode.HALF_UP)+"");
|
|
|
|
+ }
|
|
|
|
+
|
|
dataList.add(item);
|
|
dataList.add(item);
|
|
}
|
|
}
|
|
String fileName = "FTE报表"+System.currentTimeMillis();
|
|
String fileName = "FTE报表"+System.currentTimeMillis();
|