|
@@ -5457,34 +5457,59 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
HttpRespMsg data = getPlanDataWithStation(isFilterDept, filterDeptId, stationId, startDate, endDate, null, null);
|
|
|
Map<String, Object> objectMap = (Map<String, Object>) data.data;
|
|
|
+ boolean isViewUser = (boolean) objectMap.get("isViewUser");
|
|
|
List<Map<String, Object>> mapList = (List<Map<String, Object>>) objectMap.get("records");
|
|
|
List<String> title=new ArrayList<>();
|
|
|
- title.add("部门名称");
|
|
|
+ if (isViewUser) {
|
|
|
+ title.add("人员名称");
|
|
|
+ } else {
|
|
|
+ title.add("部门名称");
|
|
|
+ }
|
|
|
List<String> headerList = (List<String>) objectMap.get("header");
|
|
|
title.addAll(headerList);
|
|
|
title.add("合计");
|
|
|
List<List<String>> dataList=new ArrayList<>();
|
|
|
dataList.add(title);
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
- List<String> item=new ArrayList<>();
|
|
|
- item.add((String) map.get("departmentCascade"));
|
|
|
- List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("deptList");
|
|
|
- for (String dateString : headerList) {
|
|
|
- Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- Map<String, Object> target = first.get();
|
|
|
- item.add("计划数:"+target.get("planNum")+" "+target.get("planHour")+"分钟"+" "+target.get("planCost")+"元"+"\n"+
|
|
|
- "实际数:"+target.get("nowNum")+" "+target.get("nowHour")+"分钟"+" "+target.get("nowCost")+"元"+"\n"+
|
|
|
- "进度:"+target.get("progress"));
|
|
|
- }else {
|
|
|
- item.add("");
|
|
|
+ if(isViewUser){
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ item.add((String) map.get("userName"));
|
|
|
+ List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("userList");
|
|
|
+ for (String dateString : headerList) {
|
|
|
+ Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ Map<String, Object> target = first.get();
|
|
|
+ item.add("计划数:"+" "+target.get("planHour")+"分钟"+" "+target.get("planCost")+"元"+"\n"+
|
|
|
+ "实际数:"+" "+target.get("nowHour")+"分钟"+" "+target.get("nowCost")+"元"+"\n"
|
|
|
+ );
|
|
|
+ }else {
|
|
|
+ item.add("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ item.add("计划数:"+" "+map.get("totalPlanHour")+"分钟"+" "+map.get("totalPlanCost")+"元"+"\n"+
|
|
|
+ "实际数:"+" "+map.get("totalNowHour")+"分钟"+" "+map.get("totalNowCost")+"元"+"\n"
|
|
|
+ );
|
|
|
+ dataList.add(item);
|
|
|
+ }else {
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ item.add((String) map.get("departmentCascade"));
|
|
|
+ List<Map<String, Object>> deptList = (List<Map<String, Object>>) map.get("deptList");
|
|
|
+ for (String dateString : headerList) {
|
|
|
+ Optional<Map<String, Object>> first = deptList.stream().filter(d -> String.valueOf(d.get("startDate")).equals(dateString)).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ Map<String, Object> target = first.get();
|
|
|
+ item.add("计划数:"+target.get("planNum")+" "+target.get("planHour")+"分钟"+" "+target.get("planCost")+"元"+"\n"+
|
|
|
+ "实际数:"+target.get("nowNum")+" "+target.get("nowHour")+"分钟"+" "+target.get("nowCost")+"元"+"\n"+
|
|
|
+ "进度:"+target.get("progress"));
|
|
|
+ }else {
|
|
|
+ item.add("");
|
|
|
+ }
|
|
|
}
|
|
|
+ item.add("计划数:"+map.get("totalPlanNum")+" "+map.get("totalPlanHour")+"分钟"+" "+map.get("totalPlanCost")+"元"+"\n"+
|
|
|
+ "实际数:"+map.get("totalNowNum")+" "+map.get("totalNowHour")+"分钟"+" "+map.get("totalNowCost")+"元"+"\n"+
|
|
|
+ "进度:"+map.get("totalProgress"));
|
|
|
+ dataList.add(item);
|
|
|
}
|
|
|
- item.add("计划数:"+map.get("totalPlanNum")+" "+map.get("totalPlanHour")+"分钟"+" "+map.get("totalPlanCost")+"元"+"\n"+
|
|
|
- "实际数:"+map.get("totalNowNum")+" "+map.get("totalNowHour")+"分钟"+" "+map.get("totalNowCost")+"元"+"\n"+
|
|
|
- "进度:"+map.get("totalProgress"));
|
|
|
- dataList.add(item);
|
|
|
-
|
|
|
}
|
|
|
Company company = companyMapper.selectById(companyId);
|
|
|
String fileName=("车间工位计划表_")+company.getCompanyName()+System.currentTimeMillis();
|