Kaynağa Gözat

有效工时率编写,待威派格提供人员名单,代码修改

yusm 1 yıl önce
ebeveyn
işleme
f316cffb61

+ 19 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -11274,6 +11274,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             LaborHourRateVo laborHourRateVo = new LaborHourRateVo();
             laborHourRateVo.setRoot_id(department.getDepartmentId());
             laborHourRateVo.setDepartment_name(department.getDepartmentName());
+
             ArrayList<Integer> deptIds = new ArrayList<>();
             setDeptIdList(department.getDepartmentId(),deptIds);
             deptIds.add(department.getDepartmentId());
@@ -11310,11 +11311,27 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             laborHourRateVo.setDate_count(dayCount);
             laborHourRateVo.setCount(isActiveCount);
             laborHourRateVo.setTotal_time((long) (inActiveList.size()*8*inActiveDays+isActiveCount*8*dayCount));//应报工时还少了在职的加上可能辞职的
-            System.out.println("============="+inActiveDays);
-            System.out.println("============="+isActiveCount);
+//            System.out.println("============="+inActiveDays);
+//            System.out.println("============="+isActiveCount);
             laborHourRateVo.setDay_time(8);
+            laborHourRateVo.setRate(timeSum/(inActiveList.size()*8*inActiveDays+isActiveCount*8*dayCount)*100);
             laborHourRateVos.add(laborHourRateVo);
         }
+
+        double totalWorkTime = laborHourRateVos.stream().mapToDouble(LaborHourRateVo::getWorking_time).sum();
+        int totalPeopleCount = laborHourRateVos.stream().mapToInt(LaborHourRateVo::getCount).sum();
+        long sumTotalTime = laborHourRateVos.stream().mapToLong(LaborHourRateVo::getTotal_time).sum();
+        LaborHourRateVo laborHourRateVo = new LaborHourRateVo();
+        laborHourRateVo.setDepartment_name("合计");
+        laborHourRateVo.setWorking_time(totalWorkTime);
+        laborHourRateVo.setCount(totalPeopleCount);
+        laborHourRateVo.setTotal_time(sumTotalTime);
+        laborHourRateVo.setDay_time(8);
+        laborHourRateVo.setDate_count(dayCount);
+        laborHourRateVo.setRate(totalWorkTime/sumTotalTime*100);
+
+        laborHourRateVos.add(laborHourRateVo);
+
         HttpRespMsg msg = new HttpRespMsg();
         msg.setData(laborHourRateVos);
         return msg;