Sfoglia il codice sorgente

经营报表定时任务

zouxuan 4 mesi fa
parent
commit
40243bb5d3

+ 7 - 0
mec-application/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -765,4 +765,11 @@ public class TaskController extends BaseController {
     public void deleteOverdueHomework(){
         studentCourseHomeworkService.deleteOverdueHomework();
     }
+
+
+	@ApiOperation("每月最后一天执行统计SQL")
+	@GetMapping("/executeMonthEndStatistics")
+	public void monthEndStatistics() {
+		courseScheduleStatisticsService.executeMonthEndStatistics();
+	}
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStatisticsDao.java

@@ -31,4 +31,8 @@ public interface CourseScheduleStatisticsDao extends BaseDAO<Long, CourseSchedul
     void updateLastSubmitTime(@Param("courseScheduleId") Long courseScheduleId,
                               @Param("teacherId") Integer teacherId,
                               @Param("userId") Integer userId);
+
+    void executeStoredProcedure(@Param("firstDayOfNextMonth") String firstDayOfNextMonth,
+                                @Param("firstDayOfMonth") String firstDayOfMonth,
+                                @Param("lastDayOfMonth") String lastDayOfMonth);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStatisticsService.java

@@ -9,4 +9,6 @@ public interface CourseScheduleStatisticsService extends BaseService<Long, Cours
 
     //更新乐团课统计信息
     void courseScheduleStatistics();
+
+    void executeMonthEndStatistics();
 }

+ 16 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStatisticsServiceImpl.java

@@ -5,15 +5,13 @@ import com.ym.mec.biz.dal.entity.CourseScheduleStatistics;
 import com.ym.mec.biz.service.CourseScheduleStatisticsService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -46,4 +44,18 @@ public class CourseScheduleStatisticsServiceImpl extends BaseServiceImpl<Long, C
 			courseScheduleStatisticsDao.delWaitByCourseId(delCourseId);
 		}
 	}
+
+    @Override
+	public void executeMonthEndStatistics() {
+		// 获取当前月份的第一天和最后一天
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_MONTH, 1);
+		String firstDayOfMonth = DateUtil.format(calendar.getTime(), DateUtil.DEFAULT_PATTERN);
+		String lastDayOfMonth = DateUtil.format(new Date(), DateUtil.DEFAULT_PATTERN);
+
+		// 获取下个月的第一天
+		calendar.add(Calendar.MONTH, 1);
+		String firstDayOfNextMonth = DateUtil.format(calendar.getTime(), DateUtil.DEFAULT_PATTERN);
+		courseScheduleStatisticsDao.executeStoredProcedure(firstDayOfNextMonth, firstDayOfMonth, lastDayOfMonth);
+	}
 }

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStatisticsMapper.xml

@@ -202,4 +202,12 @@
 		WHERE cs.group_type_ = 'MUSIC' AND css.course_schedule_id_ IS NULL
 		GROUP BY cssw.course_schedule_id_;
 	</select>
+    <select id="executeStoredProcedure">
+		select firstMonthVipReportStatis(#{firstDayOfNextMonth});
+		select firstMonthMusicClassReportStatis(#{firstDayOfNextMonth});
+		select currentMonthVipReportStatis(#{firstDayOfMonth},#{lastDayOfMonth});
+		select currentMonthMusicClassReportStatis(#{firstDayOfMonth},#{lastDayOfMonth});
+		select lastMonthVipReportStatis(#{lastDayOfMonth});
+		select lastMonthMusicClassReportStatis(#{lastDayOfMonth});
+	</select>
 </mapper>

+ 2 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -331,4 +331,6 @@ public interface TaskRemoteService {
     @GetMapping("/task/deleteOverdueHomework")
     void deleteOverdueHomework();
 
+    @GetMapping("/task/executeMonthEndStatistics")
+    void executeMonthEndStatistics();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -381,4 +381,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
     public void deleteOverdueHomework() {
         logger.error("删除过期作业失败");
     }
+
+    @Override
+    public void executeMonthEndStatistics() {
+        logger.error("执行月末统计失败");
+    }
 }

+ 21 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/ExecuteMonthEndStatisticsTask.java

@@ -0,0 +1,21 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ExecuteMonthEndStatisticsTask extends BaseTask {
+
+    @Autowired
+    private TaskRemoteService taskRemoteService;
+
+    @Override
+    public void execute() throws TaskException {
+        taskRemoteService.executeMonthEndStatistics();
+    }
+
+}
+