ソースを参照

feat:衔接老师

Joburgess 4 年 前
コミット
993b22ae3f

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -428,7 +428,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 
     List<Date> getCourseScheduleDateWithOrgan(@Param("organIds") List<Integer> organIds,
                                               @Param("month") Date month,
-                                              @Param("type") String type);
+                                              @Param("type") String type,
+                                              @Param("transactionTeacherId") Integer transactionTeacherId);
 
     /**
      * @Author: Joburgess

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

@@ -48,6 +48,17 @@ public class CourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "结束上课日期")
     private String endClassDate;
 
+    @ApiModelProperty(value = "衔接老师编号")
+    private Integer transactionTeacherId;
+
+    public Integer getTransactionTeacherId() {
+        return transactionTeacherId;
+    }
+
+    public void setTransactionTeacherId(Integer transactionTeacherId) {
+        this.transactionTeacherId = transactionTeacherId;
+    }
+
     public CourseStatusEnum getStatus() {
         return status;
     }

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

@@ -209,7 +209,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @return java.util.List<java.util.Date>
 	 * @describe 获取
 	 */
-	List<Date> getCourseScheduleDates(Date month, String organIdList, String type);
+	List<Date> getCourseScheduleDates(Date month, String organIdList, String type, Integer transactionTeacherId);
 
 	/**
 	 * @describe 课程调整

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

@@ -988,7 +988,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
     @Override
-    public List<Date> getCourseScheduleDates(Date month, String organIdList, String type) {
+    public List<Date> getCourseScheduleDates(Date month, String organIdList, String type, Integer transactionTeacherId) {
 //		Map<String, Object> params = new HashMap<>();
 //		params.put("organIdList", organIdList);
 //

+ 18 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -531,6 +531,9 @@
             LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=cs.actual_teacher_id_
             LEFT JOIN school s ON cs.schoole_id_=s.id_
+            <if test="transactionTeacherId!=null">
+                LEFT JOIN music_group mg ON cs.music_group_id_=mg.id_
+            </if>
         WHERE
             (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
             <if test="organIds!=null and organIds.size()>0">
@@ -552,6 +555,9 @@
             <if test="musicGroupId!=null">
                 AND cs.music_group_id_=#{musicGroupId} AND cs.group_type_='MUSIC'
             </if>
+            <if test="transactionTeacherId!=null">
+                AND mg.transaction_teacher_id_=#{transactionTeacherId}
+            </if>
             AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
             ORDER BY CONCAT(cs.class_date_,' ',cs.start_class_time_)
             <include refid="global.limit"/>
@@ -565,6 +571,9 @@
             <if test="classGroupIds != null and organIdList!=null">
                 LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
             </if>
+            <if test="transactionTeacherId!=null">
+                LEFT JOIN music_group mg ON cs.music_group_id_=mg.id_
+            </if>
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
         AND cs.id_ IS NOT NULL
@@ -586,6 +595,9 @@
         <if test="musicGroupId!=null">
             AND cs.music_group_id_=#{musicGroupId} AND cs.group_type_='MUSIC'
         </if>
+        <if test="transactionTeacherId!=null">
+            AND mg.transaction_teacher_id_=#{transactionTeacherId}
+        </if>
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
     </select>
 
@@ -996,6 +1008,9 @@
             cs.class_date_
         FROM
             course_schedule cs
+            <if test="transactionTeacherId!=null">
+                LEFT JOIN music_group mg ON cs.music_group_id_=mg.id_
+            </if>
         WHERE
             (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
             <if test="organIds!=null and organIds.size()>0">
@@ -1013,6 +1028,9 @@
             <if test="type!=null and type!=''">
                 AND cs.group_type_=#{type}
             </if>
+            <if test="transactionTeacherId!=null">
+                AND mg.transaction_teacher_id_=#{transactionTeacherId}
+            </if>
         GROUP BY cs.class_date_
     </select>
 

+ 6 - 6
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -517,10 +517,10 @@
 		<where>
 			EXISTS (SELECT user_id_ FROM student_registration sr LEFT JOIN music_group mg ON mg.id_=sr.music_group_id_ WHERE sr.user_id_ = eer.user_id_ AND sr.music_group_status_='NORMAL' AND mg.status_ = 'PROGRESS' AND mg.transaction_teacher_id_=#{transactionTeacherId})
 			<if test="startTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= DATE_FORMAT(#{startTime}, "%Y-%m-%d")
 			</if>
 			<if test="endTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= #{endTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= DATE_FORMAT(#{endTime}, "%Y-%m-%d")
 			</if>
 		</where>
 	</sql>
@@ -572,10 +572,10 @@
 				</foreach>
 			</if>
 			<if test="startTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= DATE_FORMAT(#{startTime}, "%Y-%m-%d")
 			</if>
 			<if test="endTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= #{endTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= DATE_FORMAT(#{endTime}, "%Y-%m-%d")
 			</if>
 		GROUP BY sr.music_group_id_
 	</select>
@@ -595,10 +595,10 @@
 		WHERE sr.music_group_status_='NORMAL'
 			AND sr.music_group_id_ = #{groupId}
 			<if test="startTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= DATE_FORMAT(#{startTime}, "%Y-%m-%d")
 			</if>
 			<if test="endTime!=null">
-				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= #{endTime}
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= DATE_FORMAT(#{endTime}, "%Y-%m-%d")
 			</if>
 		GROUP BY sr.actual_subject_id_
 	</select>

+ 4 - 4
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -492,10 +492,10 @@
             AND mg.status_ = "PROGRESS"
             AND sr.music_group_status_='NORMAL'
             <if test="startTime!=null">
-                AND cs.class_date_ &gt;= #{startTime}
+                AND cs.class_date_ &gt;= DATE_FORMAT(#{startTime}, "%Y-%m-%d")
             </if>
             <if test="endTime!=null">
-                AND cs.class_date_ &lt;= #{endTime}
+                AND cs.class_date_ &lt;= DATE_FORMAT(#{endTime}, "%Y-%m-%d")
             </if>
         </where>
     </sql>
@@ -557,10 +557,10 @@
                 </foreach>
             </if>
             <if test="startTime!=null">
-                AND cs.class_date_ &gt;= #{startTime}
+                AND cs.class_date_ &gt;= DATE_FORMAT(#{startTime}, "%Y-%m-%d")
             </if>
             <if test="endTime!=null">
-                AND cs.class_date_ &lt;= #{endTime}
+                AND cs.class_date_ &lt;= DATE_FORMAT(#{endTime}, "%Y-%m-%d")
             </if>
         GROUP BY ch.music_group_id_
     </select>

+ 14 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EducationCourseScheduleController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller.education;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
@@ -16,6 +17,7 @@ import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -46,7 +48,13 @@ public class EducationCourseScheduleController extends BaseController {
         if(Objects.isNull(employee)){
             throw new BizException("员工信息不存在");
         }
-        return succeed(scheduleService.getCourseScheduleDates(month,employee.getOrganIdList(),type));
+        Integer transactionTeacherId = null;
+        List<Integer> userRole = employeeDao.queryUserRole(user.getId());
+        //如果只是衔接老师
+        if (!user.getIsSuperAdmin() && userRole.size() == 1 && userRole.get(0)==58) {
+            transactionTeacherId = user.getId();
+        }
+        return succeed(scheduleService.getCourseScheduleDates(month,employee.getOrganIdList(),type, transactionTeacherId));
     }
 
     @ApiOperation(value = "根据日期获取当日排课")
@@ -60,6 +68,11 @@ public class EducationCourseScheduleController extends BaseController {
         if(Objects.nonNull(employee)){
             queryInfo.setOrganIdList(employee.getOrganIdList());
         }
+        List<Integer> userRole = employeeDao.queryUserRole(user.getId());
+        //如果只是衔接老师
+        if (!user.getIsSuperAdmin() && userRole.size() == 1 && userRole.get(0)==58) {
+            queryInfo.setTransactionTeacherId(user.getId());
+        }
         return succeed(scheduleService.getCourseSchedulesWithDateByEdu(queryInfo));
     }