Kaynağa Gözat

1、成绩录入班级搜索报错
2、课表发布后,通知督导处

dzx 11 ay önce
ebeveyn
işleme
de012f8bca

+ 7 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerStudentMapper.java

@@ -40,4 +40,11 @@ public interface AssessmentPlanAnswerStudentMapper extends MPJBaseMapper<Assessm
 
     @Select("SELECT submit_status FROM assessment_plan_answer_student WHERE delete_mark = 0 AND assessment_template_plan_id = #{id} and student_user_id = #{loginId}")
     Integer getSubmitStatus(Long id, Long loginId);
+
+    @Select("SELECT COUNT(t1.id) FROM assessment_plan_answer_student t1" +
+            " INNER JOIN base_student_school_roll t2 ON t1.student_user_id = t2.user_id" +
+            " INNER JOIN assessment_template_plan t3 ON t1.assessment_template_plan_id = t3.id" +
+            " WHERE t1.delete_mark = 0 AND t1.assessment_template_plan_id = #{id}" +
+            " AND t3.stduy_status like concat('%', t2.stduy_status,'%') AND t2.archives_status = 'FB2901' and t1.submit_status = 1")
+    Integer getSubmitStudentCount(Long id);
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -457,7 +457,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     public AssessmentTemplatePlanResultVo getQuestionResult(Long id) {
         AssessmentTemplatePlan templatePlan = templatePlanMapper.selectById(id);
         AssessmentTemplatePlanResultVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplatePlanResultVo.class);
-        vo.setStudentCount(studentMapper.getStudentCount(id));
+        vo.setStudentCount(studentMapper.getSubmitStudentCount(id));
         List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
             new QueryWrapper<AssessmentPlanQuestion>().lambda()
             .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())

+ 62 - 6
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -23,12 +23,18 @@ import com.xjrsoft.module.courseTable.dto.ClassTeacherDto;
 import com.xjrsoft.module.courseTable.entity.CourseTable;
 import com.xjrsoft.module.courseTable.service.ICourseTableService;
 import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
+import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.service.IDepartmentService;
 import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.organization.service.IWeChatService;
+import com.xjrsoft.module.schedule.entity.CourseReceiveMsg;
 import com.xjrsoft.module.schedule.entity.CourseTableBak;
+import com.xjrsoft.module.schedule.entity.JianyueData;
 import com.xjrsoft.module.schedule.entity.WfCourseAdjust;
+import com.xjrsoft.module.schedule.service.ICourseReceiveMsgService;
 import com.xjrsoft.module.schedule.service.ICourseTableBakService;
+import com.xjrsoft.module.schedule.service.IJianyueDataService;
 import com.xjrsoft.module.schedule.service.IWfCourseAdjustService;
 import com.xjrsoft.module.schedule.util.DataUtil;
 import com.xjrsoft.module.teacher.entity.BaseTeacher;
@@ -55,6 +61,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -113,6 +120,7 @@ public class JianyuekbScheduleTask {
     private XjrWorkflowOperateRecordMapper xjrWorkflowOperateRecordMapper;
 
     private final static String wechatTemplate = "OO5Ryu9_6Hh5LQW0aKG7qu3g5uV8VxvBusq1i5UFesk";
+    private final static String noticeTeacherTemplate = "sHsmz7LRj7HLd7GSTS3r2jCLvK-4Wp19iGzEvYK8n_I";
 
     @Autowired
     private IWeChatService weChatService;
@@ -126,6 +134,15 @@ public class JianyuekbScheduleTask {
     @Autowired
     private IWorkflowExtraService workflowExtraService;
 
+    @Autowired
+    private IJianyueDataService jianyueDataService;
+
+    @Autowired
+    private IDepartmentService departmentService;
+
+    @Autowired
+    private ICourseReceiveMsgService receiveMsgService;
+
     @Scheduled(cron = "0 */10 * * * ?")
     public void execute(){
         doExecute();
@@ -267,15 +284,54 @@ public class JianyuekbScheduleTask {
         Map<String, String> classroomMap = dataMap.get(tableName);
 
         Set<String> techerIds = dataUtil.insertCourseTableEntiy(scheduleInfo, classroomMap, courseMap, semesterMap, teacherMap, classMap, courseReceiveMsgId);
-        sendMsg(techerIds);
+        sendMsg(techerIds, courseReceiveMsgId);
         dataUtil.insertClassTime(scheduleInfo);
     }
 
-    void sendMsg(Set<String> techerIds){
-        //通知对应教师
-        List<User> userList = userService.listByIds(new ArrayList<>(techerIds));
-        for (User user : userList) {
-            
+    void sendMsg(Set<String> techerIds, Long courseReceiveMsgId){
+        try {
+            CourseReceiveMsg receiveMsg = receiveMsgService.getById(courseReceiveMsgId);
+            JianyueData jianyueData = jianyueDataService.getOne(
+                    new QueryWrapper<JianyueData>().lambda()
+                            .eq(JianyueData::getSourceId, receiveMsg.getEduYearSerialNo())
+            );
+            String[] sourceId = jianyueData.getSourceId().split("_");
+            Department department = departmentService.getById(sourceId[0]);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            //通知对应教师
+            List<User> userList = userService.listByIds(new ArrayList<>(techerIds));
+            for (User user : userList) {
+                WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
+                weChatSendMessageDto.setTemplateId(wechatTemplate);
+                JSONObject paramJson = new JSONObject();
+
+                JSONObject thing8 = new JSONObject();
+                thing8.put("value", "课表更新");
+                paramJson.put("thing8", thing8);
+
+                JSONObject thing2 = new JSONObject();
+                thing2.put("value", department.getName());
+                paramJson.put("thing2", thing2);
+
+                JSONObject thing6 = new JSONObject();
+                thing6.put("value", "教务处");
+                paramJson.put("thing6", thing6);
+
+                JSONObject time3 = new JSONObject();
+                time3.put("value", sdf.format(receiveMsg.getCreateDate()));
+                paramJson.put("time3", time3);
+
+                weChatSendMessageDto.setContent(paramJson);
+                weChatSendMessageDto.setMsgId(IdUtil.getSnowflakeNextId() + "");
+
+                String openId = user.getOpenId();
+                if(openId != null && !"".equals(openId)){
+                    weChatSendMessageDto.setUserId(openId);
+                    weChatService.sendTemplateMessage(weChatSendMessageDto);
+                }
+            }
+        }catch (Exception e){
+            Log.error(e.getMessage(), e);
         }
     }