xuj 4 лет назад
Родитель
Сommit
13341e8979

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

@@ -33,9 +33,13 @@ public interface ChuanyunSelfCostDao extends GalaxisRepository<ChuanyunSelfCostD
      * 根据用户ID和项目ID,日期获取工时成本数据
      * @param userId    用户Id
      * @param projectId 项目Id
+     * @param status    工时状态
      * @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);
+    @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') AND status=?4",nativeQuery = true)
+    ChuanyunSelfCostDO getOldSelfDO(@Param("userId")String userId,@Param("projectId")String projectId,@Param("dayLogDate")String dayLogDate,String status);
 }

+ 7 - 4
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -370,6 +370,7 @@ public class ChuanyunProjectScheduledTask {
                 break;
             }
         }
+        updateChuanyunStandardWorkHour();
     }
 
     @Scheduled(fixedDelay = 3600000L)
@@ -495,6 +496,7 @@ public class ChuanyunProjectScheduledTask {
             }
         });
         log.info("周工时标准化"+(Instant.now().getEpochSecond()-start)+"秒");
+        updateChuanyunWeekHour();
     }
 
     /**
@@ -518,6 +520,7 @@ public class ChuanyunProjectScheduledTask {
                 flag = false;
             }
         }
+        updateChuanyunMonthHour();
     }
 
     /**
@@ -578,7 +581,10 @@ public class ChuanyunProjectScheduledTask {
             chuanyunSelfCostDO.setDayLogDate(projectMonth.getDayLogDate().withDayOfMonth(1));
             chuanyunSelfCostDO.setTotalHour(projectMonth.getStandardWorkHour());
             chuanyunSelfCostDO.setDepartmentId(chuanyunUserCompanyDO.getDepartmentId());
-            ChuanyunSelfCostDO oldSelfDO = chuanyunSelfCostDao.getOldSelfDO(chuanyunSelfCostDO.getUserId(),chuanyunSelfCostDO.getProjectId(),df.format(chuanyunSelfCostDO.getDayLogDate()));
+            ChuanyunSelfCostDO oldSelfDO = chuanyunSelfCostDao.getOldSelfDO(chuanyunSelfCostDO.getUserId(),
+                    chuanyunSelfCostDO.getProjectId(),
+                    df.format(chuanyunSelfCostDO.getDayLogDate()),
+                    projectMonth.getStatus());
             if (oldSelfDO !=null) {
                 chuanyunSelfCostDao.delete(oldSelfDO);
             }
@@ -652,7 +658,6 @@ public class ChuanyunProjectScheduledTask {
     /**
      * 定时更新氚云数据
      */
-    @Scheduled(fixedDelay = 3600000L)
     private void updateChuanyunStandardWorkHour(){
         var flag = true;
         var pageSize = 20;
@@ -706,7 +711,6 @@ public class ChuanyunProjectScheduledTask {
     /**
      * 人员-项目-周度工时汇总,更新氚云数据
      */
-    @Scheduled(fixedDelay = 3600000L)
     private void updateChuanyunWeekHour(){
         var flag = true;
         var pageSize = 20;
@@ -771,7 +775,6 @@ public class ChuanyunProjectScheduledTask {
     /**
      * 人员-项目-月度工时汇总,更新氚云数据
      */
-    @Scheduled(fixedDelay = 3600000L)
     private void updateChuanyunMonthHour(){
         var flag = true;
         var pageSize = 20;