Ver código fonte

修改了月工时同步的问题。

verguenza 4 anos atrás
pai
commit
d7c2b81992

+ 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);
 }

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

@@ -552,7 +552,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);
             }