Просмотр исходного кода

1.修改人力成本,添加注释

WoNiu 4 лет назад
Родитель
Сommit
5ec5c7876c

+ 4 - 0
src/main/java/com/galaxis/manatee/controller/GetController.java

@@ -115,6 +115,10 @@ public class GetController {
         return ResponseEntity.ok(list);
     }
 
+    /**
+     * 更新人员所属部门
+     * @param code
+     */
     @GetMapping("/test/updateProjectDept")
     public void updateProjectDept(String code) {
         chuanyunService.updateChuanyunDept(code);

+ 6 - 6
src/main/java/com/galaxis/manatee/dao/ChuanyunLaborCostDao.java

@@ -9,10 +9,10 @@ import java.util.List;
 
 @Repository
 public interface ChuanyunLaborCostDao extends GalaxisRepository<ChuanyunLaborCostDO,String> {
-
-    @Query(value="SELECT project_id AS object_id,chuanyun_user.name,(SUM(chuanyun_day_log.hours_worked)/184)*chuanyun_payroll.wages_payable AS owner_payroll,chuanyun_user.object_id AS userId"+
-    " FROM chuanyun_project LEFT JOIN chuanyun_day_log ON chuanyun_day_log.project_id = chuanyun_project.object_id LEFT JOIN chuanyun_log ON chuanyun_log.object_id = chuanyun_day_log.parent_object_id LEFT JOIN chuanyun_user ON chuanyun_user.object_id = chuanyun_log.user_id"+
-            " LEFT JOIN chuanyun_payroll ON chuanyun_payroll.employee_id = chuanyun_user.employee_number AND DATE_FORMAT(chuanyun_day_log.day_log_date,'%Y-%m') = DATE_FORMAT(chuanyun_payroll.period,'%Y-%m')"+
-            " WHERE project_id = ? GROUP BY chuanyun_day_log.project_id,chuanyun_log.user_id,DATE_FORMAT(chuanyun_day_log.day_log_date,'%Y-%m')",nativeQuery = true)
-    List<ChuanyunLaborCostDO> findLaborCost(String projectCode);
+//
+//    @Query(value="SELECT project_id AS object_id,chuanyun_user.name,(SUM(chuanyun_day_log.hours_worked)/184)*chuanyun_payroll.wages_payable AS owner_payroll,chuanyun_user.object_id AS userId"+
+//    " FROM chuanyun_project LEFT JOIN chuanyun_day_log ON chuanyun_day_log.project_id = chuanyun_project.object_id LEFT JOIN chuanyun_log ON chuanyun_log.object_id = chuanyun_day_log.parent_object_id LEFT JOIN chuanyun_user ON chuanyun_user.object_id = chuanyun_log.user_id"+
+//            " LEFT JOIN chuanyun_payroll ON chuanyun_payroll.employee_id = chuanyun_user.employee_number AND DATE_FORMAT(chuanyun_day_log.day_log_date,'%Y-%m') = DATE_FORMAT(chuanyun_payroll.period,'%Y-%m')"+
+//            " WHERE project_id = ? GROUP BY chuanyun_day_log.project_id,chuanyun_log.user_id,DATE_FORMAT(chuanyun_day_log.day_log_date,'%Y-%m')",nativeQuery = true)
+//    List<ChuanyunLaborCostDO> findLaborCost(String projectCode);
 }

+ 10 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunMemberCostDao.java

@@ -12,9 +12,19 @@ import java.util.List;
 @Repository
 public interface ChuanyunMemberCostDao extends GalaxisRepository<ChuanyunMemberCostDO,String> {
 
+    /**
+     * 获取项目人员总工时总成本
+     * @return
+     */
     @Query(value="SELECT chuanyun_self_cost.object_id,SUM(chuanyun_self_cost.total_hour) AS total_hour,SUM(chuanyun_self_cost.cost) AS cost,chuanyun_self_cost.project_id,chuanyun_self_cost.user_id"+
             " FROM chuanyun_self_cost GROUP BY chuanyun_self_cost.project_id,chuanyun_self_cost.user_id",nativeQuery = true)
     List<ChuanyunMemberCostDO> getMemberCost();
 
+    /**
+     * 根据项目ID和人员ID获取工时成本数据
+     * @param userId
+     * @param projectId
+     * @return
+     */
     ChuanyunMemberCostDO findByUserIdAndProjectId(String userId,String projectId);
 }

+ 1 - 1
src/main/java/com/galaxis/manatee/dao/ChuanyunPersonDaysDao.java

@@ -31,7 +31,7 @@ public interface ChuanyunPersonDaysDao extends GalaxisRepository<ChuanyunPersonD
     List<ChuanyunPersonDaysDO> getSelfWorkHour(String projectId);
 
     /**
-     * 项目总工时
+     * 每人在项目总工时
      * @param projectId
      * @return
      */

+ 9 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunProjectCostDao.java

@@ -11,9 +11,18 @@ import java.util.List;
 @Repository
 public interface ChuanyunProjectCostDao extends GalaxisRepository<ChuanyunProjectCostDO,String> {
 
+    /**
+     * 获取项目总工时成本
+     * @return
+     */
     @Query(value="SELECT chuanyun_member_cost.object_id,SUM(chuanyun_member_cost.cost) AS cost,SUM(chuanyun_member_cost.total_hour) AS total_hour,chuanyun_member_cost.project_id FROM chuanyun_member_cost GROUP BY chuanyun_member_cost.project_id",nativeQuery = true)
     List<ChuanyunProjectCostDO> getProjectCost();
 
+    /**
+     * 根据项目号获取工时数据
+     * @param projectId
+     * @return
+     */
     ChuanyunProjectCostDO findByProjectId(String projectId);
 
 }

+ 11 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunSelfCostDao.java

@@ -12,10 +12,21 @@ import java.util.List;
 @Repository
 public interface ChuanyunSelfCostDao extends GalaxisRepository<ChuanyunSelfCostDO,String> {
 
+    /**
+     * 获取项目人员总工时
+     * @return
+     */
     @Query(value="SELECT chuanyun_self_cost.object_id,SUM(chuanyun_self_cost.total_hour) AS total_hour,SUM(chuanyun_self_cost.cost) AS cost,chuanyun_self_cost.project_id,chuanyun_self_cost.user_id"+
             " FROM chuanyun_self_cost GROUP BY chuanyun_self_cost.project_id,chuanyun_self_cost.user_id",nativeQuery = true)
     List<ChuanyunSelfCostDO> getMemberCost();
 
+    /**
+     * 根据用户ID和项目ID,日期获取工时成本数据
+     * @param userId
+     * @param projectId
+     * @param dayLogDate
+     * @return
+     */
     @Query(value="SELECT * FROM chuanyun_self_cost WHERE user_id = ?1 AND project_id = ?2 AND DATE_FORMAT(chuanyun_self_cost.day_log_date,'%Y-%m')=DATE_FORMAT(?3,'%Y-%m')",nativeQuery = true)
     ChuanyunSelfCostDO getOldSelfDO(@Param("userId")String userId,@Param("projectId")String projectId,@Param("dayLogDate")String dayLogDate);
 

+ 18 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunSelfWorkHourDao.java

@@ -14,12 +14,30 @@ import java.util.List;
 @Repository
 public interface ChuanyunSelfWorkHourDao extends GalaxisRepository<ChuanyunSelfWorkHourDO,String> {
 
+    /**
+     * 根据项目id,用户id,日期获取工时数据
+     * @param userId
+     * @param projectId
+     * @param dayLogDate
+     * @return
+     */
     ChuanyunSelfWorkHourDO findByUserIdAndAndProjectIdAndAndDayLogDate(String userId, String projectId, LocalDateTime dayLogDate);
 
+    /**
+     * 获取人员总工时
+     * @param userId
+     * @return
+     */
     @Query(value="SELECT SUM(chuanyun_self_work_hour.standard_work_hour) AS standard_work_hour,chuanyun_self_work_hour.day_log_date,chuanyun_self_work_hour.user_id,chuanyun_self_work_hour.project_id,chuanyun_self_work_hour.object_id FROM chuanyun_self_work_hour WHERE chuanyun_self_work_hour.user_id=?"+
             " GROUP BY chuanyun_self_work_hour.user_id,FROM_UNIXTIME(chuanyun_self_work_hour.day_log_date,'%Y-%m'),chuanyun_self_work_hour.project_id",nativeQuery = true)
     List<ChuanyunSelfWorkHourDO> getMonthProjectHour(String userId);
 
+    /**
+     * 获取人员不同日期工时
+     * @param userId
+     * @param dayLogDate
+     * @return
+     */
     @Query(value="SELECT SUM(chuanyun_self_work_hour.standard_work_hour) AS standard_work_hour,chuanyun_self_work_hour.day_log_date,chuanyun_self_work_hour.user_id,chuanyun_self_work_hour.project_id,chuanyun_self_work_hour.object_id"+
             " FROM chuanyun_self_work_hour WHERE chuanyun_self_work_hour.user_id= ?1 AND DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')=DATE_FORMAT(?2,'%Y-%m')"+
             " GROUP BY chuanyun_self_work_hour.user_id,DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')",nativeQuery = true)

+ 9 - 8
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -15,6 +15,7 @@ import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -195,14 +196,14 @@ public class ChuanyunProjectScheduledTask {
         var page = 0;
         while (flag) {
             var pageable= PageRequest.of(page,pageSize);
-            var chuanyunGroupProjectDOS = chuanyunProjectDao.findAllByIsCreate(null,pageable);
-            if (page<=chuanyunGroupProjectDOS.getTotalPages()){
+            var chuanyunProjectDOS = chuanyunProjectDao.findAllByIsCreate(null,pageable);
+            if (page<=chuanyunProjectDOS.getTotalPages()){
                 page += 1;
             }else {
                 flag = false;
                 break;
             }
-            List<ChuanyunProjectDO> list = chuanyunGroupProjectDOS.getContent();
+            List<ChuanyunProjectDO> list = chuanyunProjectDOS.getContent();
             list.forEach(chuanyunProjectDO -> {
                 ChuanyunAdjustAccountDO chuanyunAdjustAccountDO = new ChuanyunAdjustAccountDO();
                 //项目号
@@ -220,7 +221,7 @@ public class ChuanyunProjectScheduledTask {
                 //核算人天
                 chuanyunAdjustAccountDO.setPersonDays(personDays(chuanyunProjectDO.getObjectId()));
                 //新增
-                if (!chuanyunAdjustAccountDO.getPersonDays().toString().equals("0")){
+                if (chuanyunAdjustAccountDO.getPersonDays().intValue()>0){
                     try {
                         List<String> macthers = new ArrayList<>();
                         macthers.add("F0000002_2,"+chuanyunProjectDO.getProjectCode());
@@ -302,7 +303,7 @@ public class ChuanyunProjectScheduledTask {
            //项目总工时
            ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),projectId);
            if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
-               BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, BigDecimal.ROUND_HALF_UP)).multiply(standard);
+               BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
                personDays= personDays.add(totalDays);
            }
        }
@@ -312,7 +313,7 @@ public class ChuanyunProjectScheduledTask {
     /**
      * 人力成本
      */
-//    @Scheduled(fixedDelay = 3600000L)
+    @Scheduled(fixedDelay = 3600000L)
     private void laborcost() {
         var flag = true;
         var pageSize = 20;
@@ -383,7 +384,7 @@ public class ChuanyunProjectScheduledTask {
                 if (chuanyunWorkHourDO.getHoursWorked().intValue()<8) {
                     chuanyunSelfWorkHourDO.setStandardWorkHour(self.getHoursWorked());
                 }else {
-                    BigDecimal personDays = (self.getHoursWorked().divide(chuanyunWorkHourDO.getHoursWorked(), 2, BigDecimal.ROUND_HALF_UP)).multiply(standard);
+                    BigDecimal personDays = (self.getHoursWorked().divide(chuanyunWorkHourDO.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
                     chuanyunSelfWorkHourDO.setStandardWorkHour(personDays);
                 }
                 ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO1 = chuanyunSelfWorkHourDao.findByUserIdAndAndProjectIdAndAndDayLogDate(chuanyunUserCompanyDO.getUserId(),self.getProjectId(),self.getDayLogDate());
@@ -409,7 +410,7 @@ public class ChuanyunProjectScheduledTask {
             ChuanyunPayrollDO chuanyunPayrollDO = chuanyunPayrollDao.getPayroll(projectMonth.getUserId(),df.format(projectMonth.getDayLogDate()));
             ChuanyunSelfCostDO chuanyunSelfCostDO = new ChuanyunSelfCostDO();
             if (chuanyunPayrollDO != null) {
-                BigDecimal cost = (projectMonth.getStandardWorkHour().divide(monthHour.getStandardWorkHour(), 2, BigDecimal.ROUND_HALF_UP)).multiply(chuanyunPayrollDO.getWagesPayable());
+                BigDecimal cost = (projectMonth.getStandardWorkHour().divide(monthHour.getStandardWorkHour(), 2, RoundingMode.HALF_UP)).multiply(chuanyunPayrollDO.getWagesPayable());
                 chuanyunSelfCostDO.setCost(cost);
             }
             chuanyunSelfCostDO.setProjectId(projectMonth.getProjectId());