|
@@ -5279,28 +5279,42 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
BigDecimal arrangeTotalNowCost=new BigDecimal(0);
|
|
|
BigDecimal arrangeTotalPlanHour=new BigDecimal(0);
|
|
|
BigDecimal arrangeTotalNowHour=new BigDecimal(0);
|
|
|
+ Set set=new HashSet();
|
|
|
for (String userId : userIdList) {
|
|
|
Map<String,Object> item=new HashMap<>();
|
|
|
item.put("startDate",date.replaceAll("-",""));
|
|
|
List<Map<String, Object>> list = listMapGroupByUser.get(userId);
|
|
|
item.put("userId",userId);
|
|
|
+ boolean hasMoreUser = list.stream().anyMatch(l -> Integer.valueOf(String.valueOf(l.get("hasMoreUser"))).equals(1));
|
|
|
+ item.put("hasMoreUser",hasMoreUser);
|
|
|
BigDecimal planCost=new BigDecimal(0);
|
|
|
BigDecimal nowCost=new BigDecimal(0);
|
|
|
BigDecimal planHour=new BigDecimal(0);
|
|
|
BigDecimal nowHour=new BigDecimal(0);
|
|
|
+ List<String> pptIds=new ArrayList<>();
|
|
|
for (Map<String, Object> map : list) {
|
|
|
planCost=planCost.add(new BigDecimal((String.valueOf(map.get("planCost")))));
|
|
|
nowCost=nowCost.add(new BigDecimal((String.valueOf(map.get("nowCost")))));
|
|
|
planHour=planHour.add(new BigDecimal((String.valueOf(map.get("planHour")))));
|
|
|
nowHour=nowHour.add(new BigDecimal((String.valueOf(map.get("nowHour")))));
|
|
|
+ if(!pptIds.contains(String.valueOf(map.get("pptId")))){
|
|
|
+ pptIds.add(String.valueOf(map.get("pptId")));
|
|
|
+ }
|
|
|
+ if(set.contains(String.valueOf(map.get("pptId")))){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ set.add(String.valueOf(map.get("pptId")));
|
|
|
+ arrangeTotalPlanCost=arrangeTotalPlanCost.add(new BigDecimal((String.valueOf(map.get("planCost"))))).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ arrangeTotalPlanHour=arrangeTotalPlanHour.add(new BigDecimal((String.valueOf(map.get("planHour"))))).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+
|
|
|
}
|
|
|
+ String s = pptIds.stream().collect(Collectors.joining(","));
|
|
|
+ item.put("pptIds",s);
|
|
|
planCost=planCost.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
nowCost=nowCost.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
planHour=planHour.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
nowHour=nowHour.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
- arrangeTotalPlanCost=arrangeTotalPlanCost.add(planCost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
arrangeTotalNowCost=arrangeTotalNowCost.add(nowCost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
- arrangeTotalPlanHour=arrangeTotalPlanHour.add(planHour).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
arrangeTotalNowHour=arrangeTotalNowHour.add(nowHour).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
item.put("planCost",planCost.doubleValue());
|
|
|
item.put("nowCost",nowCost.doubleValue());
|
|
@@ -5597,4 +5611,49 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg getUserCommentPlanResult(String pptIds) {
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
+ if(StringUtils.isEmpty(pptIds)){
|
|
|
+ httpRespMsg.setData("无");
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ String[] split = pptIds.split(",");
|
|
|
+ List<String> list = Arrays.asList(split);
|
|
|
+ List<Integer> pptIdList = list.stream().map(l -> Integer.valueOf(l)).collect(Collectors.toList());
|
|
|
+ List<PlanProcedureTotal> planProcedureTotalList = planProcedureTotalMapper.selectList(new LambdaQueryWrapper<PlanProcedureTotal>().in(PlanProcedureTotal::getId, pptIdList));
|
|
|
+ List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, companyId));
|
|
|
+ List<ProdProcedureTeam> procedureTeamList = prodProcedureTeamMapper.selectList(new LambdaQueryWrapper<ProdProcedureTeam>().in(ProdProcedureTeam::getPlanProcedureId, pptIdList));
|
|
|
+ StringBuilder sb=new StringBuilder();
|
|
|
+ for (int j = 0; j < planProcedureTotalList.size(); j++) {
|
|
|
+ PlanProcedureTotal planProcedureTotal=planProcedureTotalList.get(j);
|
|
|
+ List<ProdProcedureTeam> targetList = procedureTeamList.stream().filter(p -> p.getPlanProcedureId().equals(planProcedureTotal.getId())).collect(Collectors.toList());
|
|
|
+ if(targetList.size()>1){
|
|
|
+ StringBuilder sb1=new StringBuilder();
|
|
|
+ sb1.append("[");
|
|
|
+ for (int i = 0; i < targetList.size(); i++) {
|
|
|
+ int finalI = i;
|
|
|
+ if(i<targetList.size()-1){
|
|
|
+ Optional<User> first = userList.stream().filter(u -> u.getId().equals(targetList.get(finalI).getUserId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ sb1.append(first.get().getName()+",");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ Optional<User> first = userList.stream().filter(u -> u.getId().equals(targetList.get(finalI).getUserId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ sb1.append(first.get().getName()+"]有共同计划"+planProcedureTotal.getTotalWorkingHours()+"分钟"+planProcedureTotal.getTotalWages()+"元");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(j<planProcedureTotalList.size()-1){
|
|
|
+ sb.append(sb1.toString()+",");
|
|
|
+ }else {
|
|
|
+ sb.append(sb1.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ httpRespMsg.setData(sb.toString());
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
}
|