Explorar o código

1.修改人天

WoNiu %!s(int64=4) %!d(string=hai) anos
pai
achega
675f318460

+ 33 - 34
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -223,7 +223,7 @@ public class ChuanyunProjectScheduledTask {
                 chuanyunAdjustAccountDO.setImplementationCosts(money);
 
                 //核算人天
-                chuanyunAdjustAccountDO.setPersonDays(personDays(chuanyunProjectDO.getObjectId()));
+//                chuanyunAdjustAccountDO.setPersonDays(personDays(chuanyunProjectDO.getObjectId()));
                 //新增
                 if (chuanyunAdjustAccountDO.getPersonDays().intValue()>0){
                     try {
@@ -301,26 +301,26 @@ public class ChuanyunProjectScheduledTask {
         log.info("项目销售合同回款信息保存保存"+totalCount);
     }
 
-    /**
-     * 计算人天
-     * @param projectId 项目Id
-     * @return  计算人天
-     */
-    private BigDecimal personDays(String projectId){
-        BigDecimal standard = new BigDecimal(8);
-        BigDecimal personDays = new BigDecimal(0);
-        //项目每人每天工时
-       List<ChuanyunPersonDaysDO> selfWorkHourList = chuanyunPersonDaysDao.getSelfWorkHour(projectId);
-       for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : selfWorkHourList) {
-           //人员-项目总工时
-           ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),projectId);
-           if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
-               BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
-               personDays= personDays.add(totalDays);
-           }
-       }
-       return personDays;
-    }
+//    /**
+//     * 计算人天
+//     * @param projectId 项目Id
+//     * @return  计算人天
+//     */
+//    private BigDecimal personDays(String projectId){
+//        BigDecimal standard = new BigDecimal(8);
+//        BigDecimal personDays = new BigDecimal(0);
+//        //项目每人每天工时
+//       List<ChuanyunPersonDaysDO> selfWorkHourList = chuanyunPersonDaysDao.getSelfWorkHour(projectId);
+//       for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : selfWorkHourList) {
+//           //人员-项目总工时
+//           ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),projectId);
+//           if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
+//               BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
+//               personDays= personDays.add(totalDays);
+//           }
+//       }
+//       return personDays;
+//    }
 
     /**
      * 人力成本
@@ -355,18 +355,17 @@ public class ChuanyunProjectScheduledTask {
                     log.info("########"+chuanyunMemberCostDO+"");
                 }else{
                     //计算项目中每人人天
-                    //TODO 计算人天是不是可以直接用总工时除8来计算
-                    List<ChuanyunPersonDaysDO> personDaysList = chuanyunPersonDaysDao.getSelfUserWorkHour(chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getUserId());
+//                    List<ChuanyunPersonDaysDO> personDaysList = chuanyunPersonDaysDao.getSelfUserWorkHour(chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getUserId());
+//                    BigDecimal personDays = new BigDecimal(0);
+//                    for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : personDaysList) {
+//                        //人员-项目总工时
+//                        ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),chuanyunMemberCostDO.getProjectId());
+//                        if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
+//                            BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
+//                            personDays= personDays.add(totalDays);
+//                        }
+//                    }
                     BigDecimal standard = new BigDecimal(8);
-                    BigDecimal personDays = new BigDecimal(0);
-                    for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : personDaysList) {
-                        //人员-项目总工时
-                        ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),chuanyunMemberCostDO.getProjectId());
-                        if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
-                            BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
-                            personDays= personDays.add(totalDays);
-                        }
-                    }
                     ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
                     memberCostDO.setCost(chuanyunMemberCostDO.getCost());
                     memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
@@ -374,7 +373,7 @@ public class ChuanyunProjectScheduledTask {
                     memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
                     memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
                     memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
-                    memberCostDO.setPersonDays(personDays);
+                    memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
                     ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
                     if (oldCostDO !=null) {
                         chuanyunMemberCostDao.delete(oldCostDO);
@@ -390,7 +389,7 @@ public class ChuanyunProjectScheduledTask {
                         chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
                         chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
                         chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
-                        chuanyunProjectMemberCostDTO.setPersonDays(personDays);
+                        chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
                         List<String> matchers = new ArrayList<>();
                         matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
                         matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());