|
@@ -5497,6 +5497,13 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
public HttpRespMsg getPlanDataWithUserId(String userId, String startDate, String endDate) {
|
|
public HttpRespMsg getPlanDataWithUserId(String userId, String startDate, String endDate) {
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ DateTimeFormatter dtf1=DateTimeFormatter.ofPattern("yyyyMMdd");
|
|
|
|
+ List<LocalDate> dates = getDays(LocalDate.parse(startDate, dtf), LocalDate.parse(endDate, dtf));
|
|
|
|
+ List<String> dataStringList=new ArrayList<>();
|
|
|
|
+ for (LocalDate localDate : dates) {
|
|
|
|
+ dataStringList.add(localDate.format(dtf1));
|
|
|
|
+ }
|
|
List<Map<String, Object>> resultList = reportMapper.getPlanDataWithUserId(companyId,userId, startDate, endDate);
|
|
List<Map<String, Object>> resultList = reportMapper.getPlanDataWithUserId(companyId,userId, startDate, endDate);
|
|
List<String> procedureIdList = resultList.stream().map(r -> String.valueOf(r.get("procedureId"))).distinct().collect(Collectors.toList());
|
|
List<String> procedureIdList = resultList.stream().map(r -> String.valueOf(r.get("procedureId"))).distinct().collect(Collectors.toList());
|
|
Map<Object, List<Map<String, Object>>> listMap = resultList.stream().collect(Collectors.groupingBy(i -> String.valueOf(i.get("procedureId"))));
|
|
Map<Object, List<Map<String, Object>>> listMap = resultList.stream().collect(Collectors.groupingBy(i -> String.valueOf(i.get("procedureId"))));
|
|
@@ -5512,6 +5519,28 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
map.put("dataList",mapList);
|
|
map.put("dataList",mapList);
|
|
lastList.add(map);
|
|
lastList.add(map);
|
|
}
|
|
}
|
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
|
+ map.put("productName","小计");
|
|
|
|
+ List<Map<String,Object>> totalList=new ArrayList<>();
|
|
|
|
+ for (String date : dataStringList) {
|
|
|
|
+ Map<String,Object> map1=new HashMap<>();
|
|
|
|
+ BigDecimal decimalTime=new BigDecimal(0);
|
|
|
|
+ BigDecimal decimalCost=new BigDecimal(0);
|
|
|
|
+ BigDecimal decimalNum=new BigDecimal(0);
|
|
|
|
+ List<Map<String, Object>> list = resultList.stream().filter(r -> String.valueOf(r.get("createDate")).equals(date)).collect(Collectors.toList());
|
|
|
|
+ for (Map<String, Object> objectMap : list) {
|
|
|
|
+ decimalTime=decimalTime.add(new BigDecimal(String.valueOf(objectMap.get("workingTime")))).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ decimalCost=decimalCost.add(new BigDecimal(String.valueOf(objectMap.get("cost")))).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ decimalNum=decimalNum.add(new BigDecimal(String.valueOf(objectMap.get("finishNum")))).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ }
|
|
|
|
+ map1.put("workingTime",decimalTime.doubleValue());
|
|
|
|
+ map1.put("cost",decimalCost.doubleValue());
|
|
|
|
+ map1.put("finishNum",decimalNum.doubleValue());
|
|
|
|
+ map1.put("createDate",date);
|
|
|
|
+ totalList.add(map1);
|
|
|
|
+ }
|
|
|
|
+ map.put("dataList",totalList);
|
|
|
|
+ lastList.add(map);
|
|
msg.setData(lastList);
|
|
msg.setData(lastList);
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|