Sfoglia il codice sorgente

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 4 anni fa
parent
commit
5dcb6d3351
30 ha cambiato i file con 426 aggiunte e 65 eliminazioni
  1. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java
  2. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java
  4. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServeCourseDto.java
  5. 23 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendancesDto.java
  6. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java
  7. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/InspectionQueryInfo.java
  9. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java
  10. 7 1
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanService.java
  11. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java
  12. 0 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  13. 28 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java
  14. 76 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java
  15. 20 18
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  16. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  17. 23 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  18. 9 5
      mec-biz/src/main/resources/config/mybatis/InspectionItemMapper.xml
  19. 19 3
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml
  20. 25 12
      mec-biz/src/main/resources/config/mybatis/InspectionMapper.xml
  21. 25 0
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  22. 8 1
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  23. 4 0
      mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java
  24. 5 0
      mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java
  25. 19 0
      mec-task/src/main/java/com/ym/mec/task/jobs/InspectionPlanTask.java
  26. 11 2
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  27. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  28. 16 0
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java
  29. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java
  30. 16 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -464,4 +464,14 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
                                                @Param("monday") String monday,
                                                @Param("groupId") String groupId,
                                                @Param("courseType")CourseSchedule.CourseScheduleType courseType);
+
+    /**
+     * @describe 获取学员班级主教关联记录
+     * @author Joburgess
+     * @date 2021/1/25 0025
+     * @param studentIds:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BaseMapDto>
+     */
+    List<BaseMapDto<Integer, Integer>> getStudentClassGroupBishopTeacherMap(@Param("studentIds") List<Integer> studentIds,
+                                                                            @Param("musicGroupId") String musicGroupId);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanDao.java

@@ -2,7 +2,25 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
 
 public interface InspectionItemPlanDao extends BaseDAO<Long, InspectionItemPlan> {
 
+    /**
+     * 获取开始的巡查日程
+     *
+     * @param planStart
+     * @return
+     */
+    List<InspectionItemPlan> getStartPlan(@Param("planStart") Date planStart);
+
+    /**
+     * 更新推送状态
+     * @param ids
+     * @return
+     */
+    int updatePushedStatus(@Param("ids") List<Long> ids);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -101,6 +101,8 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
                                                            @Param("nextMonday") String nextMonday,
                                                            @Param("studentIds") List<Integer> studentIds);
 
+    List<StudentServeCourseDto> getNoCourseBeServeStudentInfo(@Param("noCourseStudentIds") List<Integer> noCourseStudentIds);
+
     /**
      * @param monday:
      * @return java.util.List<com.ym.mec.biz.dal.dto.StudentServeDto>

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServeCourseDto.java

@@ -22,6 +22,8 @@ public class StudentServeCourseDto {
 
     private String musicGroupId;
 
+    private Long classGroupId;
+
     private CourseSchedule.CourseScheduleType type;
 
     private Integer actualTeacherId;
@@ -96,6 +98,14 @@ public class StudentServeCourseDto {
         this.musicGroupId = musicGroupId;
     }
 
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
     public CourseSchedule.CourseScheduleType getType() {
         return type;
     }

+ 23 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendancesDto.java

@@ -2,10 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.SignInStatusEnum;
-import com.ym.mec.biz.dal.enums.SignOutStatusEnum;
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.biz.dal.enums.*;
 
 import io.swagger.annotations.ApiModelProperty;
 
@@ -16,6 +13,9 @@ public class TeacherAttendancesDto {
     @ApiModelProperty(value = "老师名",required = false)
 	private String teacherName;
 
+    @ApiModelProperty(value = "工作性质(兼职 PART_JOB、全职FULL_JOB)", required = false)
+    private JobNatureEnum jobNature;
+
     private TeachTypeEnum teacherRole;
     
     private TeacherAttendance teacherAttendance = new TeacherAttendance();
@@ -70,6 +70,25 @@ public class TeacherAttendancesDto {
     @ApiModelProperty(value = "签退时间",required = false)
     private Date signOutTime;
 
+    @ApiModelProperty(value = "申述处理状态",required = false)
+    private ComplaintsStatusEnum complaintsStatus;
+
+    public ComplaintsStatusEnum getComplaintsStatus() {
+        return complaintsStatus;
+    }
+
+    public void setComplaintsStatus(ComplaintsStatusEnum complaintsStatus) {
+        this.complaintsStatus = complaintsStatus;
+    }
+
+    public JobNatureEnum getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(JobNatureEnum jobNature) {
+        this.jobNature = jobNature;
+    }
+
     public String getOrganName() {
         return organName;
     }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java

@@ -101,6 +101,12 @@ public class InspectionItemPlan {
     private Integer status;
 
     /**
+     * 是否已推送
+     */
+    @ApiModelProperty(value = "是否已推送 0 未推送 1 已推送")
+    private Integer isPushed;
+
+    /**
      * 创建时间
      */
     @ApiModelProperty(value = "创建时间")
@@ -313,4 +319,12 @@ public class InspectionItemPlan {
     public void setRealName(String realName) {
         this.realName = realName;
     }
+
+    public Integer getIsPushed() {
+        return isPushed;
+    }
+
+    public void setIsPushed(Integer isPushed) {
+        this.isPushed = isPushed;
+    }
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -162,7 +162,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_PAYMENT_CREATE("SMS_PAYMENT_CREATE","缴费项目创建提醒"),
     SMS_GOODS_REPERTORY_WARN("SMS_GOODS_REPERTORY_WARN","商品库存预警"),
     SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
-    SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知");
+    SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
+    SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒");
 
 
 

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/InspectionQueryInfo.java

@@ -23,6 +23,9 @@ public class InspectionQueryInfo extends QueryInfo {
 
     private Date endTime;
 
+    @ApiModelProperty(value = "ids",required = false)
+    private String ids;
+
 	public String getOrganId() {
 		return organId;
 	}
@@ -70,4 +73,12 @@ public class InspectionQueryInfo extends QueryInfo {
     public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
+
+    public String getIds() {
+        return ids;
+    }
+
+    public void setIds(String ids) {
+        this.ids = ids;
+    }
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.JobNatureEnum;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -37,6 +38,17 @@ public class TeacherCloseQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "分部")
     private String organId;
 
+    @ApiModelProperty(value = "工作性质(兼职 PART_JOB、全职FULL_JOB)", required = false)
+    private JobNatureEnum jobNature;
+
+    public JobNatureEnum getJobNature() {
+        return jobNature;
+    }
+
+    public void setJobNature(JobNatureEnum jobNature) {
+        this.jobNature = jobNature;
+    }
+
     public String getTeacherAttendanceId() {
         return teacherAttendanceId;
     }

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanService.java

@@ -5,6 +5,8 @@ import com.ym.mec.biz.dal.page.InspectionItemPlanQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.List;
+
 public interface InspectionItemPlanService extends BaseService<Long, InspectionItemPlan> {
 
     /**
@@ -28,7 +30,11 @@ public interface InspectionItemPlanService extends BaseService<Long, InspectionI
     InspectionItemPlan updatePlan(InspectionItemPlan inspectionItemPlan);
 
 
-
+    /**
+     * 推送有开始的巡查日程
+     * @return
+     */
+    List<InspectionItemPlan> pushNotice();
 }
 
 

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

@@ -160,13 +160,13 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	 * @param courseScheduleId
 	 * @param content
 	 */
-	void addComplaints(Long courseScheduleId, String content,String url);
+	void addComplaints(Long courseScheduleId, String content,String url,Integer userId);
 
 	/**
 	 * 撤销考勤申述
 	 * @param courseScheduleId
 	 */
-	void repealComplaints(Long courseScheduleId);
+	void repealComplaints(Long courseScheduleId,Integer userId);
 
 	/**
 	 * 获取教师申述列表

+ 0 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -1,20 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.*;
-import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.entity.ImGroupMember;
-import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
-import com.ym.mec.util.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 28 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java

@@ -5,12 +5,15 @@ import com.ym.mec.biz.dal.dto.CheckItemDto;
 import com.ym.mec.biz.dal.entity.Inspection;
 import com.ym.mec.biz.dal.entity.InspectionItem;
 import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.page.InspectionItemPlanQueryInfo;
 import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -18,8 +21,7 @@ import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.biz.service.InspectionItemPlanService;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -37,6 +39,8 @@ public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long, Inspect
     private InspectionItemPlanConclusionDao inspectionItemPlanConclusionDao;
     @Autowired
     private SysConfigDao sysConfigDao;
+    @Autowired
+    private SysMessageService sysMessageService;
 
     @Override
     public BaseDAO<Long, InspectionItemPlan> getDAO() {
@@ -139,6 +143,28 @@ public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long, Inspect
         inspectionItemPlanDao.update(inspectionItemPlan);
         return inspectionItemPlan;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<InspectionItemPlan> pushNotice() {
+        List<InspectionItemPlan> startPlans = inspectionItemPlanDao.getStartPlan(new Date());
+        Set<Integer> userIds = startPlans.stream().map(InspectionItemPlan::getUserId).collect(Collectors.toSet());
+        List<Long> ids = startPlans.stream().map(InspectionItemPlan::getId).collect(Collectors.toList());
+
+        inspectionItemPlanDao.updatePushedStatus(ids);
+
+        //发送推送信息
+        Map<Integer, String> userMap = new HashMap<>();
+        for (Integer userId : userIds) {
+            userMap.put(userId, userId.toString());
+        }
+
+        String baseApiUrl = sysConfigDao.findConfigValue(SysConfigService.EDU_TEACHER_BASE_URL);
+        String pushUrl = baseApiUrl + "/#/musicInspection";
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_INSPECTION_NOTICE,
+                userMap, null, 0, "8?" + pushUrl, "EDU_TEACHER");
+        return startPlans;
+    }
 }
 
 

+ 76 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -1,15 +1,15 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.StudentServeCourseDto;
-import com.ym.mec.biz.dal.dto.StudentServeCourseHomeworkDto;
-import com.ym.mec.biz.dal.dto.StudentServeDto;
-import com.ym.mec.biz.dal.dto.StudentServiceHomeworkDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.StudentServeService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.ArrayUtils;
@@ -47,6 +47,10 @@ public class StudentServeServiceImpl implements StudentServeService {
     private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
     @Autowired
     private StudentServeService studentServeService;
+    @Autowired
+    private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+    @Autowired
+    private SysConfigService sysConfigService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -307,6 +311,26 @@ public class StudentServeServiceImpl implements StudentServeService {
         LocalDate sunDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.SUNDAY.getValue());
         Date nextMonday = Date.from(sunDayDate.plusDays(1).atStartOfDay(DateUtil.zoneId).toInstant());
 
+        Set<String> holidayDays = new HashSet<>();
+        SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+        if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+            holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+        }
+        LocalDate everyDay=monDayDate;
+        boolean weekInHoliday = true;
+        while (everyDay.compareTo(sunDayDate)<=0){
+            if(!holidayDays.contains(everyDay.toString())){
+                weekInHoliday = false;
+                break;
+            }
+            everyDay = everyDay.plusDays(1);
+        }
+
+        if(weekInHoliday){
+            studentExtracurricularExercisesSituationDao.deleteByMonday(monDayDate.toString(), studentIds);
+            return;
+        }
+
 //        int weekServiceNum = studentExtracurricularExercisesSituationDao.countWeekServiceNum(monDayDate.toString());
 //        if(weekServiceNum>0&&CollectionUtils.isEmpty(studentIds)){
 //            return;
@@ -318,6 +342,14 @@ public class StudentServeServiceImpl implements StudentServeService {
         }
         Map<Integer, List<StudentServeCourseDto>> studentCourseMap = studentFutureCourseInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getStudentId));
 
+        Set<Integer> haveCourseBeServeStudentIds = studentCourseMap.keySet();
+        List<Integer> allServeStudentIds = studentDao.getServeStudentIds();
+        Set<Integer> noCourseServeStudentIds = allServeStudentIds.stream().filter(id -> !haveCourseBeServeStudentIds.contains(id)).collect(Collectors.toSet());
+        List<StudentServeCourseDto> noCourseBeServeStudentInfo = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(noCourseServeStudentIds)){
+            noCourseBeServeStudentInfo = studentDao.getNoCourseBeServeStudentInfo(new ArrayList<>(noCourseServeStudentIds));
+        }
+
         List<StudentExtracurricularExercisesSituation> results=new ArrayList<>();
 
         for (Map.Entry<Integer, List<StudentServeCourseDto>> studentCourseMapEntry : studentCourseMap.entrySet()) {
@@ -411,8 +443,12 @@ public class StudentServeServiceImpl implements StudentServeService {
 
                 Map<Integer, Integer> teacherNumMap = new HashMap<>();
                 for (String groupId : groupCourseInfo.keySet()) {
-                    CourseSchedule studentHistoryLastCourse = courseScheduleStudentPaymentDao.getStudentHistoryLastCourse(studentCourseMapEntry.getKey(), monDayDate.toString(), groupId, CourseSchedule.CourseScheduleType.SINGLE);
-                    Integer teacherId = Objects.isNull(studentHistoryLastCourse)?studentCourseMapEntry.getValue().get(0).getLeadTeacherId():studentHistoryLastCourse.getActualTeacherId();
+                    Integer teacherId = null;
+                    List<BaseMapDto<Integer, Integer>> studentTeacherIdList = courseScheduleStudentPaymentDao.getStudentClassGroupBishopTeacherMap(null, groupId);
+                    if(!CollectionUtils.isEmpty(studentTeacherIdList)){
+                        teacherId = studentTeacherIdList.get(0).getValue();
+                    }
+                    teacherId = Objects.isNull(teacherId)?studentCourseMapEntry.getValue().get(0).getLeadTeacherId():teacherId;
                     if(Objects.isNull(teacherId)){
                         continue;
                     }
@@ -468,6 +504,40 @@ public class StudentServeServiceImpl implements StudentServeService {
             }
         }
 
+        Map<Integer, Set<String>> noCourseStudentMusicIdsMap = noCourseBeServeStudentInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getStudentId, Collectors.mapping(StudentServeCourseDto::getMusicGroupId, Collectors.toSet())));
+        Map<Integer, List<StudentServeCourseDto>> noCourseStudentCourseMap = noCourseBeServeStudentInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getStudentId));
+        for (Map.Entry<Integer, Set<String>> noCourseStudentMusicIdsMapEntry : noCourseStudentMusicIdsMap.entrySet()) {
+            Map<Integer, Integer> teacherNumMap = new HashMap<>();
+            for (String groupId : noCourseStudentMusicIdsMapEntry.getValue()) {
+                Integer teacherId = null;
+                List<BaseMapDto<Integer, Integer>> studentTeacherIdList = courseScheduleStudentPaymentDao.getStudentClassGroupBishopTeacherMap(null, groupId);
+                if(!CollectionUtils.isEmpty(studentTeacherIdList)){
+                    teacherId = studentTeacherIdList.get(0).getValue();
+                }
+                teacherId = Objects.isNull(teacherId)?noCourseStudentCourseMap.get(noCourseStudentMusicIdsMapEntry.getKey()).get(0).getLeadTeacherId():teacherId;
+                if(Objects.isNull(teacherId)){
+                    continue;
+                }
+
+                if(!teacherNumMap.containsKey(teacherId)){
+                    teacherNumMap.put(teacherId, 1);
+                }else{
+                    teacherNumMap.put(teacherId, teacherNumMap.get(teacherId)+1);
+                }
+
+            }
+
+            for (Map.Entry<Integer, Integer> teacherNumMapEntry : teacherNumMap.entrySet()) {
+                StudentExtracurricularExercisesSituation studentExtracurricularExercisesSituation=new StudentExtracurricularExercisesSituation(noCourseStudentMusicIdsMapEntry.getKey(),
+                        teacherNumMapEntry.getKey(),
+                        nowDate.get(DateUtil.weekFields.weekOfYear()),
+                        DateUtil.stringToDate(monDayDate.toString(), "yyyy-MM-dd"), DateUtil.stringToDate(sunDayDate.toString(), "yyyy-MM-dd"),
+                        "EXERCISE", null);
+                studentExtracurricularExercisesSituation.setExpectExercisesNum(teacherNumMapEntry.getValue());
+                results.add(studentExtracurricularExercisesSituation);
+            }
+        }
+
         if(!CollectionUtils.isEmpty(results)){
 
             if(CollectionUtils.isEmpty(studentIds)){

+ 20 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -29,6 +29,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.ComplaintsStatusEnum.REPEAL;
+import static com.ym.mec.biz.dal.enums.JobNatureEnum.PART_TIME;
 import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
 
 @Service
@@ -710,13 +711,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public synchronized void addComplaints(Long courseScheduleId, String content,String url) {
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if(Objects.isNull(user)){
-			throw new BizException("请登录");
-		}
-		TeacherAttendance teacherAttendance = teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(), courseScheduleId);
-
+	public void addComplaints(Long courseScheduleId, String content,String url,Integer userId) {
+		TeacherAttendance teacherAttendance = teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(), courseScheduleId);
 		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
 		if(courseSchedule == null){
 			throw new BizException("课程不存在");
@@ -724,7 +720,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		if(teacherAttendance == null){
 			teacherAttendance = new TeacherAttendance();
 			teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
-			teacherAttendance.setTeacherId(user.getId());
+			teacherAttendance.setTeacherId(userId);
 			teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
 			teacherAttendance.setGroupType(courseSchedule.getGroupType());
 			teacherAttendance.setCourseScheduleId(courseScheduleId);
@@ -732,11 +728,21 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}else if(teacherAttendance.getComplaintsStatus() != null && teacherAttendance.getComplaintsStatus() != REPEAL){
             throw new BizException("请勿重复提交考勤申述");
         }
-		//如果课程时间在两天前
+		Teacher teacher = teacherDao.get(userId);
 		Date date = new Date();
-        int i = DateUtil.daysBetween(courseSchedule.getClassDate(), DateUtil.stringToDate(DateUtil.format(date,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN));
-        if(i > 1){
-			throw new BizException("超出可申述时间");
+		if(teacher.getJobNature() == PART_TIME){
+			//获取上课时间下个月5号
+			date = DateUtil.addDays(DateUtil.getFirstDayOfMonth(DateUtil.addMonths(courseSchedule.getClassDate(), 1)), 5);
+			int i = DateUtil.daysBetween(date,new Date());
+			if(i > 0){
+				throw new BizException("超出可申述时间");
+			}
+		}else {
+			//如果课程时间在两天前
+			int i = DateUtil.daysBetween(courseSchedule.getClassDate(), DateUtil.stringToDate(DateUtil.format(date,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN));
+			if(i > 1){
+				throw new BizException("超出可申述时间");
+			}
 		}
 		teacherAttendance.setIsComplaints(1);
 		teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.WAIT);
@@ -748,12 +754,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void repealComplaints(Long courseScheduleId) {
-		SysUser user = sysUserFeignService.queryUserInfo();
-		if(Objects.isNull(user)){
-			throw new BizException("请登录");
-		}
-		TeacherAttendance teacherAttendance = teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(), courseScheduleId);
+	public void repealComplaints(Long courseScheduleId,Integer userId) {
+		TeacherAttendance teacherAttendance = teacherAttendanceDao.findByTeacherAttendanceInfo(userId.longValue(), courseScheduleId);
 		if(teacherAttendance == null){
 			throw new BizException("考勤信息不存在");
 		}

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2140,6 +2140,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			surplusCourseFee=surplusCourseFee.add(coursePrices.get(i));
 		}
 		if(!CollectionUtils.isEmpty(courseScheduleStudentPaymentList)){
+			studentDao.updateStudentServiceTag(studentRecoverInfo.getUserId(), null, YesOrNoEnum.YES.getCode());
 			courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPaymentList);
 		}
 		sysUserCashAccountService.appendCourseBalance(studentRecoverInfo.getUserId(), surplusCourseFee.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE, "学生复学扣除课程余额");

+ 23 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -711,4 +711,27 @@
 			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
 		WHERE cs.new_course_id_=#{mainMergeCourseId}
 	</select>
+    <select id="getStudentClassGroupBishopTeacherMap" resultType="com.ym.mec.biz.dal.dto.BaseMapDto">
+		SELECT
+			cssp.user_id_ 'key',
+			cgtm.user_id_ 'value'
+		FROM
+			course_schedule_student_payment cssp
+				LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
+				LEFT JOIN class_group_teacher_mapper cgtm ON cssp.class_group_id_ = cgtm.class_group_id_
+		WHERE
+			( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
+			AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
+			AND cs.type_ IN ( 'SINGLE', 'TRAINING_SINGLE' )
+			AND cgtm.teacher_role_ = 'BISHOP'
+			<if test="musicGroupId!=null and musicGroupId!=''">
+				AND cssp.music_group_id_ = #{musicGroupId}
+			</if>
+		  	<if test="studentIds!=null and studentIds.size()>0">
+				AND cssp.user_id_ IN
+				<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+					#{studentId}
+				</foreach>
+			</if>
+	</select>
 </mapper>

+ 9 - 5
mec-biz/src/main/resources/config/mybatis/InspectionItemMapper.xml

@@ -11,7 +11,7 @@
         <result column="item_" property="item" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="times_" property="times"/>
         <result column="planned_times_" property="plannedTimes"/>
-        <result column="submitted_times" property="submittedTimes"/>
+        <result column="submitted_times_" property="submittedTimes"/>
         <result column="memo_" property="memo"/>
         <result column="operation_" property="operation"/>
         <result column="create_time_" property="createTime"/>
@@ -22,7 +22,7 @@
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, inspection_id_, organ_id_, user_id_, item_, times_, planned_times_, submitted_times,
+        id_, inspection_id_, organ_id_, user_id_, item_, times_, planned_times_, submitted_times_,
         memo_, operation_, create_time_, update_time_
     </sql>
     <select id="get" parameterType="java.lang.Long" resultMap="InspectionItem">
@@ -41,7 +41,7 @@
             useGeneratedKeys="true">
         <!--@mbg.generated-->
         insert into inspection_item (inspection_id_, organ_id_, user_id_, item_, times_, planned_times_,
-        submitted_times, memo_, operation_, create_time_, update_time_)
+        submitted_times_, memo_, operation_, create_time_, update_time_)
         values (#{inspectionId}, #{organId}, #{userId}, #{item,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{times}, #{plannedTimes},
         #{submittedTimes}, #{memo}, #{operation}, #{createTime}, #{updateTime})
@@ -69,7 +69,7 @@
                 planned_times_ = #{plannedTimes},
             </if>
             <if test="submittedTimes != null">
-                submitted_times = #{submittedTimes},
+                submitted_times_ = #{submittedTimes},
             </if>
             <if test="memo != null">
                 memo_ = #{memo},
@@ -141,7 +141,8 @@
         </foreach>
     </update>
     <delete id="deleteByInspectionId">
-        DELETE FROM inspection_item
+        DELETE
+        FROM inspection_item
         WHERE inspection_id_ = #{InspectionId}
     </delete>
 
@@ -174,6 +175,9 @@
             <if test="operation != null">
                 AND ii.operation_ = #{operation}
             </if>
+            <if test="ids != null">
+                AND FIND_IN_SET(ii.id_,#{ids})
+            </if>
             <if test="startTime != null">
                 AND i.month_ >= #{startTime}
             </if>

+ 19 - 3
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml

@@ -32,7 +32,7 @@
         music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_, create_time_,
         update_time_
     </sql>
-    <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan" >
+    <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan">
         <!--@mbg.generated-->
         select
         <include refid="Base_Column_List"/>
@@ -113,7 +113,8 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="InspectionItemPlan" parameterType="map">
-        SELECT iip.*,su.real_name_ realName,o.name_ organName,co.name_ cooperationName,mg.name_ musicGroupName FROM inspection_item_plan iip
+        SELECT iip.*,su.real_name_ realName,o.name_ organName,co.name_ cooperationName,mg.name_ musicGroupName FROM
+        inspection_item_plan iip
         LEFT JOIN sys_user su ON su.id_ = iip.user_id_
         LEFT JOIN organization o ON o.id_=iip.organ_id_
         LEFT JOIN cooperation_organ co ON co.id_=iip.cooperation_organ_id_
@@ -148,7 +149,7 @@
                 AND iip.music_group_id_ = #{musicGroupId}
             </if>
             <if test="conclusionStatus != null">
-                AND iip.conclusion_status = #{conclusionStatus}
+                AND iip.conclusion_status_ = #{conclusionStatus}
             </if>
             <if test="status !=null">
                 AND iip.status_ = #{status}
@@ -170,4 +171,19 @@
             </if>
         </where>
     </sql>
+
+    <select id="getStartPlan" resultMap="InspectionItemPlan">
+        <![CDATA[
+        SELECT *
+        FROM inspection_item_plan
+        WHERE plan_start_ <= #{planStart}
+          AND is_pushed_ = 0
+        ]]></select>
+
+    <update id="updatePushedStatus">
+        UPDATE inspection_item_plan SET is_pushed_ = 1 WHERE id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </update>
 </mapper>

+ 25 - 12
mec-biz/src/main/resources/config/mybatis/InspectionMapper.xml

@@ -14,7 +14,8 @@
         <result column="update_time_" property="updateTime"/>
         <result column="organName" property="organName"/>
         <result column="userName" property="userName"/>
-        <collection property="inspectionItems" ofType="com.ym.mec.biz.dal.entity.InspectionItem" resultMap="com.ym.mec.biz.dal.dao.InspectionItemDao.InspectionItem"/>
+        <collection property="inspectionItems" columnPrefix="ie_" ofType="com.ym.mec.biz.dal.entity.InspectionItem"
+                    resultMap="com.ym.mec.biz.dal.dao.InspectionItemDao.InspectionItem"/>
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
@@ -28,17 +29,14 @@
         where id_ = #{id}
     </select>
     <delete id="delete" parameterType="java.lang.Long">
-        <!--@mbg.generated-->
-        delete from inspection
+        delete
+        from inspection
         where id_ = #{id}
     </delete>
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.Inspection"
             useGeneratedKeys="true">
-        <!--@mbg.generated-->
-        insert into inspection (organ_id_, user_id_, month_, operation_, create_time_, update_time_
-        )
-        values (#{organId}, #{userId}, #{month}, #{operation}, #{createTime}, #{updateTime}
-        )
+        insert into inspection (organ_id_, user_id_, month_, operation_, create_time_, update_time_)
+        values (#{organId}, #{userId}, #{month}, #{operation}, #{createTime}, #{updateTime})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Inspection">
         <!--@mbg.generated-->
@@ -105,10 +103,25 @@
         </where>
     </sql>
     <select id="getInfo" resultMap="Inspection">
-        SELECT i.*,ii.*, o.name_ organName,su.real_name_ userName FROM inspection i
-        LEFT JOIN organization o ON o.id_ = i.organ_id_
-        LEFT JOIN sys_user su ON su.id_ = i.user_id_
-        LEFT JOIN inspection_item ii ON ii.inspection_id_ = i.id_
+        SELECT i.*,
+               ii.id_              ie_id_,
+               ii.inspection_id_   ie_inspection_id_,
+               ii.organ_id_        ie_organ_id_,
+               ii.user_id_         ie_user_id_,
+               ii.item_            ie_item_,
+               ii.times_           ie_times_,
+               ii.planned_times_   ie_planned_times_,
+               ii.submitted_times_ ie_submitted_times_,
+               ii.memo_            ie_memo_,
+               ii.operation_       ie_operation_,
+               ii.create_time_     ie_create_time_,
+               ii.update_time_     ie_update_time_,
+               o.name_             organName,
+               su.real_name_       userName
+        FROM inspection i
+                 LEFT JOIN organization o ON o.id_ = i.organ_id_
+                 LEFT JOIN sys_user su ON su.id_ = i.user_id_
+                 LEFT JOIN inspection_item ii ON ii.inspection_id_ = i.id_
         WHERE i.id_ = #{id}
     </select>
 </mapper>

+ 25 - 0
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -477,6 +477,7 @@
         <result column="course_schedule_id_" property="courseScheduleId"/>
         <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId"/>
+        <result column="class_group_id_" property="classGroupId"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="actual_teacher_id_" property="actualTeacherId"/>
         <result column="course_start_time_" property="courseStartTime"/>
@@ -490,6 +491,7 @@
             cs.id_ course_schedule_id_,
             cs.group_type_,
             cs.music_group_id_,
+            cs.class_group_id_,
             CASE cs.type_ WHEN 'TRAINING_SINGLE' THEN 'SINGLE' WHEN 'TRAINING_MIX' THEN 'MIX' ELSE cs.type_ END type_,
             cs.actual_teacher_id_,
             CONCAT(cs.class_date_, ' ', cs.start_class_time_) course_start_time_,
@@ -513,6 +515,29 @@
         ORDER BY cssp.user_id_,course_start_time_
     </select>
 
+    <select id="getNoCourseBeServeStudentInfo" resultMap="StudentServeCourseDto">
+        SELECT
+            sr.user_id_ student_id_,
+            stu.teacher_id_ lead_teacher_id_,
+            'MUSIC' group_type_,
+            sr.music_group_id_
+        FROM
+            student_registration sr
+            LEFT JOIN student stu ON sr.user_id_ = stu.user_id_
+            LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        WHERE
+            mg.del_flag_ = 0
+            AND mg.organ_id_ IS NOT NULL
+            AND mg.status_ = 'PROGRESS'
+            AND sr.music_group_status_ = 'NORMAL'
+            <if test="noCourseStudentIds!=null and noCourseStudentIds.size()>0">
+                AND sr.user_id_ IN
+                <foreach collection="noCourseStudentIds" item="noCourseStudentId" open="(" close=")" separator=",">
+                    #{noCourseStudentId}
+                </foreach>
+            </if>
+    </select>
+
     <select id="getStudentNames" resultType="string">
         SELECT username_ FROM sys_user WHERE id_ IN
         <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">

+ 8 - 1
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -233,12 +233,14 @@
         <result column="course_schedule_status_" property="courseScheduleStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="course_schedule_name_" property="courseScheduleName"/>
         <result column="teacher_name_" property="teacherName"/>
+        <result column="job_nature_" property="jobNature" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="organ_name_" property="organName"/>
         <result column="teacher_id_" property="teacherId"/>
         <result column="sign_in_status_" property="signInStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="sign_out_status_" property="signOutStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="sign_in_time_" property="signInTime"/>
         <result column="sign_out_time_" property="signOutTime"/>
+        <result column="complaints_status_" property="complaintsStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="remark_" property="remark"/>
         <result column="course_schedule_id_" property="courseScheduleId"/>
     </resultMap>
@@ -311,6 +313,9 @@
             <if test="teacherAttendanceId != null and teacherAttendanceId != ''">
                 AND FIND_IN_SET(ta.id_,#{teacherAttendanceId})
             </if>
+            <if test="jobNature != null">
+                AND t.job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
         </where>
     </sql>
 
@@ -334,11 +339,12 @@
         cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.type_ course_schedule_type_,
         IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
         IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_,
-        ta.sign_in_time_,ta.sign_out_time_,ta.remark_,o.name_ organ_name_
+        ta.sign_in_time_,ta.sign_out_time_,ta.remark_,o.name_ organ_name_,t.job_nature_,ta.complaints_status_
         FROM course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
         LEFT JOIN sys_user su ON su.id_ = csts.user_id_
+        LEFT JOIN teacher t ON t.id_ = csts.user_id_
         LEFT JOIN organization o ON o.id_ = cs.organ_id_
         <include refid="queryTeacherAttendancesCondition"/>
         ORDER BY cs.class_date_ ASC,cs.start_class_time_ ASC
@@ -357,6 +363,7 @@
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
         LEFT JOIN sys_user su ON su.id_ = csts.user_id_
+        LEFT JOIN teacher t ON t.id_ = csts.user_id_
         <include refid="queryTeacherAttendancesCondition"/>
     </select>
 

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

@@ -149,4 +149,8 @@ public interface TaskRemoteService {
 	//首页数据统计
 	@GetMapping("task/countIndexBaseData")
 	void countIndexBaseData();
+
+	//巡查日程提醒
+	@GetMapping("task/inspectionPlan")
+	void inspectionPlan();
 }

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

@@ -190,4 +190,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void countIndexBaseData() {
 		logger.info("首页数据统计失败");
 	}
+
+	@Override
+	public void inspectionPlan() {
+		logger.info("巡查日程提醒提送失败");
+	}
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/InspectionPlanTask.java

@@ -0,0 +1,19 @@
+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 InspectionPlanTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.inspectionPlan();
+	}
+}

+ 11 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.biz.service.TeacherAttendanceService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,14 +71,22 @@ public class TeacherAttendanceController extends BaseController {
     @ApiOperation(value = "提交考勤申述")
     @PostMapping("/addComplaints")
     public Object addComplaints(Long courseScheduleId,String content,String url){
-        teacherAttendanceService.addComplaints(courseScheduleId,content,url);
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(user)){
+            throw new BizException("请登录");
+        }
+        teacherAttendanceService.addComplaints(courseScheduleId,content,url,user.getId());
         return succeed();
     }
 
     @ApiOperation(value = "撤销考勤申述")
     @PostMapping("/repealComplaints")
     public Object repealComplaints(Long courseScheduleId){
-        teacherAttendanceService.repealComplaints(courseScheduleId);
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(user)){
+            throw new BizException("请登录");
+        }
+        teacherAttendanceService.repealComplaints(courseScheduleId,user.getId());
         return succeed();
     }
 }

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -345,9 +345,9 @@ public class ExportController extends BaseController {
         List rows = teacherAttendanceService.queryTeacherAttendances(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "老师编号", "老师姓名", "课程编号", "课程名称", "上课日期",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "老师编号", "老师姓名", "工作性质", "课程编号", "课程名称", "上课日期",
                     "课程开始时间", "课程结束时间", "课程类型", "签到时间", "签到状态", "签退时间", "签退状态", "备注"}, new String[]{
-                    "organName", "teacherId", "teacherName", "courseScheduleId", "courseScheduleName", "classDate",
+                    "organName", "teacherId", "teacherName", "jobNature.msg", "courseScheduleId", "courseScheduleName", "classDate",
                     "startClassTime", "endClassTime", "courseScheduleType.msg", "signInTime", "signInStatus.msg", "signOutTime", "signOutStatus.msg",
                     "remark"}, rows);
             response.setContentType("application/octet-stream");

+ 16 - 0
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java

@@ -85,4 +85,20 @@ public class InspectionItemPlanController extends BaseController {
         }
         return succeed(inspectionItemPlanService.queryPage(queryInfo));
     }
+
+
+    @ApiOperation(value = "修改处理信息")
+    @PostMapping("/updateMemo")
+    @PreAuthorize("@pcs.hasPermissions('inspectionItemPlan/updateMemo')")
+    public HttpResponseResult<InspectionItemPlan> updateMemo(Long id, String memo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        InspectionItemPlan inspectionItemPlan = inspectionItemPlanService.get(id);
+        inspectionItemPlan.setMemo(memo);
+        inspectionItemPlan.setUpdateTime(new Date());
+        inspectionItemPlanService.update(inspectionItemPlan);
+        return succeed(inspectionItemPlan);
+    }
 }

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

@@ -91,6 +91,9 @@ public class TaskController extends BaseController {
 	@Autowired
 	private IndexBaseMonthDataService indexBaseMonthDataService;
 
+	@Autowired
+	private InspectionItemPlanService inspectionItemPlanService;
+
 	@GetMapping(value = "/autoAffirmReceiveTask")
 	// 自动确认收货
 	public void affirmReceive(){
@@ -325,4 +328,9 @@ public class TaskController extends BaseController {
 	public void countIndexBaseData(String month){
 		indexBaseMonthDataService.indexBaseDataTask(month);
 	}
+
+	@GetMapping("/inspectionPlan")
+	public void inspectionPlan(){
+		inspectionItemPlanService.pushNotice();
+	}
 }

+ 16 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -128,4 +128,20 @@ public class TeacherAttendanceController extends BaseController {
         teacherAttendanceService.rejectTeacherAttendanceComplaints(teacherAttendanceId,content);
         return succeed();
     }
+
+    @ApiOperation(value = "提交考勤申述")
+    @PostMapping("/addComplaints")
+    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/addComplaints')")
+    public Object addComplaints(Long courseScheduleId,String content,String url,Integer userId){
+        teacherAttendanceService.addComplaints(courseScheduleId,content,url,userId);
+        return succeed();
+    }
+
+    @ApiOperation(value = "撤销考勤申述")
+    @PostMapping("/repealComplaints")
+    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/addComplaints')")
+    public Object repealComplaints(Long courseScheduleId,Integer userId){
+        teacherAttendanceService.repealComplaints(courseScheduleId,userId);
+        return succeed();
+    }
 }