Explorar el Código

Merge remote-tracking branch 'origin/master'

Joburgess hace 5 años
padre
commit
a327abea7d

+ 3 - 3
mec-education/src/main/java/com/ym/mec/education/controller/StudentAttendanceController.java

@@ -1,7 +1,7 @@
 package com.ym.mec.education.controller;
 
 import com.ym.mec.education.base.PageResponse;
-import com.ym.mec.education.req.StudentAttendanceReq;
+import com.ym.mec.education.req.ClassGroupReq;
 import com.ym.mec.education.service.IStudentAttendanceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -29,8 +29,8 @@ public class StudentAttendanceController {
 
     @PostMapping("/list")
     @ApiOperation("点名记录列表")
-    public PageResponse list(@RequestBody StudentAttendanceReq studentAttendanceReq) {
-        return studentAttendanceService.getPage(studentAttendanceReq);
+    public PageResponse list(@RequestBody ClassGroupReq classGroupReq) {
+        return studentAttendanceService.getPage(classGroupReq);
     }
 
 }

+ 7 - 6
mec-education/src/main/java/com/ym/mec/education/entity/CourseSchedule.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.sql.Time;
 import java.util.Date;
 
 /**
@@ -48,12 +49,12 @@ public class CourseSchedule extends Model<CourseSchedule> {
      * 上课时间
      */
     @TableField("start_class_time_")
-    private Date startClassTime;
+    private Time startClassTime;
     /**
      * 结束时间
      */
     @TableField("end_class_time_")
-    private Date endClassTime;
+    private Time endClassTime;
     /**
      * 上课教师
      */
@@ -125,20 +126,20 @@ public class CourseSchedule extends Model<CourseSchedule> {
         return this;
     }
 
-    public Date getStartClassTime() {
+    public Time getStartClassTime() {
         return startClassTime;
     }
 
-    public CourseSchedule setStartClassTime(Date startClassTime) {
+    public CourseSchedule setStartClassTime(Time startClassTime) {
         this.startClassTime = startClassTime;
         return this;
     }
 
-    public Date getEndClassTime() {
+    public Time getEndClassTime() {
         return endClassTime;
     }
 
-    public CourseSchedule setEndClassTime(Date endClassTime) {
+    public CourseSchedule setEndClassTime(Time endClassTime) {
         this.endClassTime = endClassTime;
         return this;
     }

+ 0 - 22
mec-education/src/main/java/com/ym/mec/education/req/StudentAttendanceReq.java

@@ -1,22 +0,0 @@
-package com.ym.mec.education.req;
-
-import com.ym.mec.education.base.BaseQuery;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @program: mec
- * @description: 考勤记录请求参数
- * @author: xw
- * @create: 2019-09-25 21:53
- */
-@Data
-@ApiModel(description = "考勤入参")
-public class StudentAttendanceReq extends BaseQuery {
-
-    @ApiModelProperty(value = "乐团id",required = true)
-    private Integer musicGroupId;
-    @ApiModelProperty(value = "班级id",required = true)
-    private Integer classGroupId;
-}

+ 2 - 2
mec-education/src/main/java/com/ym/mec/education/resp/StudentListResp.java

@@ -1,10 +1,10 @@
 package com.ym.mec.education.resp;
 
-import com.ym.mec.education.base.BaseQuery;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
+import java.io.Serializable;
 
 /**
  * @program: mec
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
 @Data
 @ApiModel(description = "学员名单出参")
 @Accessors(chain = true)
-public class StudentListResp extends BaseQuery {
+public class StudentListResp implements Serializable {
 
     @ApiModelProperty(value = "学员名称",required = true)
     private String studentName;

+ 2 - 2
mec-education/src/main/java/com/ym/mec/education/service/IStudentAttendanceService.java

@@ -3,7 +3,7 @@ package com.ym.mec.education.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.education.base.PageResponse;
 import com.ym.mec.education.entity.StudentAttendance;
-import com.ym.mec.education.req.StudentAttendanceReq;
+import com.ym.mec.education.req.ClassGroupReq;
 
 /**
  * <p>
@@ -15,6 +15,6 @@ import com.ym.mec.education.req.StudentAttendanceReq;
  */
 public interface IStudentAttendanceService extends IService<StudentAttendance> {
 
-    PageResponse getPage(StudentAttendanceReq studentAttendanceReq);
+    PageResponse getPage(ClassGroupReq classGroupReq);
 
 }

+ 2 - 2
mec-education/src/main/java/com/ym/mec/education/service/impl/CourseScheduleServiceImpl.java

@@ -56,8 +56,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleMapper,
         courseScheduleIPage.getRecords().forEach(item ->{
             CourseScheduleResp courseScheduleResp = new CourseScheduleResp();
             courseScheduleResp.setClassDate(DateUtil.date2String(item.getClassDate())
-                    + "" + DateUtil.date2Week(item.getClassDate()))
-                    .setClassTime(item.getStartClassTime() + "-" + item.getEndClassTime())
+                    + " " + DateUtil.date2Week(item.getClassDate()))
+                    .setClassTime(DateUtil.time2String(item.getStartClassTime()) + "-" + DateUtil.time2String(item.getEndClassTime()))
                     .setClassGroupName(classGroup.getName());
             QueryWrapper<ClassGroupTeacherMapper> classGroupTeacherMapperQueryWrapper = new QueryWrapper<>();
             classGroupTeacherMapperQueryWrapper.lambda().eq(true, ClassGroupTeacherMapper::getClassGroupId, item.getClassGroupId())

+ 22 - 20
mec-education/src/main/java/com/ym/mec/education/service/impl/StudentAttendanceServiceImpl.java

@@ -11,7 +11,7 @@ import com.ym.mec.education.entity.CourseSchedule;
 import com.ym.mec.education.entity.StudentAttendance;
 import com.ym.mec.education.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.education.mapper.StudentAttendanceMapper;
-import com.ym.mec.education.req.StudentAttendanceReq;
+import com.ym.mec.education.req.ClassGroupReq;
 import com.ym.mec.education.resp.StudentAttendanceResq;
 import com.ym.mec.education.service.IClassGroupService;
 import com.ym.mec.education.service.ICourseScheduleService;
@@ -20,6 +20,7 @@ import com.ym.mec.education.utils.DateUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.List;
 import java.util.Objects;
 
@@ -40,13 +41,11 @@ public class StudentAttendanceServiceImpl extends ServiceImpl<StudentAttendanceM
     private IClassGroupService groupService;
 
     @Override
-    public PageResponse getPage(StudentAttendanceReq studentAttendanceReq) {
-        Page<StudentAttendance> pageParam = new Page(studentAttendanceReq.getPageNo(), studentAttendanceReq.getPageSize());
+    public PageResponse getPage(ClassGroupReq classGroupReq) {
+        Page<StudentAttendance> pageParam = new Page(classGroupReq.getPageNo(), classGroupReq.getPageSize());
         QueryWrapper<StudentAttendance> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(Objects.nonNull(studentAttendanceReq.getMusicGroupId()),
-                StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
-                .eq(Objects.nonNull(studentAttendanceReq.getClassGroupId()),
-                        StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId());
+        queryWrapper.lambda().eq(Objects.nonNull(classGroupReq.getGroupId()),
+                StudentAttendance::getClassGroupId, classGroupReq.getGroupId());
         IPage<StudentAttendance> page = page(pageParam, queryWrapper);
         IPage<StudentAttendanceResq> pageResult = new Page<>();
         BeanUtils.copyProperties(page, pageResult);
@@ -56,27 +55,30 @@ public class StudentAttendanceServiceImpl extends ServiceImpl<StudentAttendanceM
         //总人数
         Integer totalCount = count();
         //请假
-        leaveWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
-                .eq(true, StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId())
+        leaveWrapper.lambda().eq(true, StudentAttendance::getClassGroupId, classGroupReq.getGroupId())
                 .eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.LEAVE.getCode());
         Integer leaveCount = count(leaveWrapper);
         //正常
-        normalWrapper.lambda().eq(true, StudentAttendance::getMusicGroupId, studentAttendanceReq.getMusicGroupId())
-                .eq(true, StudentAttendance::getClassGroupId, studentAttendanceReq.getClassGroupId())
+        normalWrapper.lambda().eq(true, StudentAttendance::getClassGroupId, classGroupReq.getGroupId())
                 .eq(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.NORMAL.getCode());
         Integer normalCount = count(normalWrapper);
-        page.getRecords().forEach(item ->{
+        page.getRecords().forEach(item -> {
             StudentAttendanceResq studentAttendanceResq = new StudentAttendanceResq();
+            studentAttendanceResq.setLeaveNum(leaveCount).setAttendanceRate(normalCount + "/" + totalCount);
             QueryWrapper<CourseSchedule> courseScheduleQueryWrapper = new QueryWrapper<>();
-            courseScheduleQueryWrapper.lambda().eq(true, CourseSchedule::getClassGroupId, studentAttendanceReq.getClassGroupId());
+            courseScheduleQueryWrapper.lambda().eq(true, CourseSchedule::getClassGroupId, classGroupReq.getGroupId())
+                    .eq(true, CourseSchedule::getTeacherId, item.getTeacherId());
             CourseSchedule courseSchedule = courseScheduleService.getOne(courseScheduleQueryWrapper);
-            ClassGroup classGroup = groupService.getById(studentAttendanceReq.getClassGroupId());
-            studentAttendanceResq.setClassDate(DateUtil.date2String(courseSchedule.getClassDate())
-                    + "" + DateUtil.date2Week(courseSchedule.getClassDate()))
-                    .setClassTime(courseSchedule.getStartClassTime() + "-" + courseSchedule.getEndClassTime())
-                    .setClassGroupName(classGroup.getName())
-                    .setLeaveNum(leaveCount).setAttendanceRate(normalCount + "/" + totalCount);
-            list.add(studentAttendanceResq);
+            if (Objects.nonNull(courseSchedule)) {
+                studentAttendanceResq.setClassDate(DateUtil.date2String(courseSchedule.getClassDate())
+                        + " " + DateUtil.date2Week(courseSchedule.getClassDate()))
+                        .setClassTime(courseSchedule.getStartClassTime() + "-" + courseSchedule.getEndClassTime());
+            }
+            ClassGroup classGroup = groupService.getById(classGroupReq.getGroupId());
+            if (Objects.nonNull(classGroup)) {
+                studentAttendanceResq.setClassGroupName(classGroup.getName());
+                list.add(studentAttendanceResq);
+            }
         });
         pageResult.setRecords(list);
         return PageResponse.success(pageResult);

+ 8 - 0
mec-education/src/main/java/com/ym/mec/education/utils/DateUtil.java

@@ -1,8 +1,10 @@
 package com.ym.mec.education.utils;
 
 import java.math.BigDecimal;
+import java.sql.Time;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -15,6 +17,7 @@ import java.util.Date;
 public class DateUtil {
 
     private static final String DATE_FORMAT = "MM月dd日";
+    private static final String TIME_FORMAT = "HH:mm";
     private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>();
 
     public static DateFormat getDateFormat(String dateFormat) {
@@ -35,6 +38,11 @@ public class DateUtil {
         return format;
     }
 
+    public static String time2String(Time time) {
+        String format = time.toLocalTime().format(DateTimeFormatter.ofPattern(TIME_FORMAT));
+        return format;
+    }
+
     public static String date2Week(Date date) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);