master
董哲奇 1 month ago
parent fe30b2562e
commit 33d945c594

@ -5,6 +5,7 @@ import cn.xluobo.business.sc.course.domain.resp.time.RespBusinessClaTimeCalendar
import cn.xluobo.business.sc.course.domain.resp.time.RespClaTime;
import cn.xluobo.business.sc.course.domain.resp.time.RespClaTimeCalendar;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeVo;
import cn.xluobo.business.sc.course.service.BusinessClaTimeService;
import cn.xluobo.business.sc.student.domain.req.ReqClaTimeAttend;
import cn.xluobo.core.api.APIResponse;
@ -89,7 +90,7 @@ public class ScClaTimeController {
* @return
*/
@PutMapping("/update/updateScClaTime")
public APIResponse updateScClaTime(@RequestBody ScClaTime scClaTime) {
public APIResponse updateScClaTime(@RequestBody ScClaTimeVo scClaTime) {
return claTimeService.updateClaTime(scClaTime);
}

@ -1,6 +1,7 @@
package cn.xluobo.business.sc.course.domain.req.time;
import cn.xluobo.core.page.ReqPageBase;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import org.joda.time.DateTime;
@ -14,10 +15,10 @@ import java.io.Serializable;
public class ReqSearchClaTime extends ReqPageBase implements Serializable {
// 排课 编号
private Long courseTimeId;
private String courseTimeId;
// 课程
private Long courseId;
private String courseId;
// 校区
private Long deptId;
@ -26,10 +27,10 @@ public class ReqSearchClaTime extends ReqPageBase implements Serializable {
private String userId;
// 班级
private Long claId;
private String claId;
// 学生
private Long studentId;
private String studentId;
private Long teacherId;
@ -58,6 +59,12 @@ public class ReqSearchClaTime extends ReqPageBase implements Serializable {
*/
private String orderByType;
private String tenantId;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
public void setDiffNowDay(Integer diffNowDay) {
this.diffNowDay = diffNowDay;
if(null != diffNowDay) {

@ -1,6 +1,7 @@
package cn.xluobo.business.sc.course.domain.req.time;
import cn.xluobo.core.page.ReqPageBase;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@ -19,6 +20,11 @@ public class ReqSearchScClaTimeRule extends ReqPageBase implements Serializable
private Boolean filterHoliday;
private String beginDate;
private String endDate;
private String tenantId;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
public void setClaDate(String[] claDate) {
this.claDate = claDate;

@ -11,7 +11,7 @@ import lombok.Data;
@Data
public class ClaTimeCalendarItem {
private Long courseTimeId;
private String courseTimeId;
private String claName;
@ -40,7 +40,7 @@ public class ClaTimeCalendarItem {
private String claTimeStatus;
public ClaTimeCalendarItem transfer(RespClaTimeCalendar respClaTime) {
this.courseTimeId = respClaTime.getCourseTimeId();
this.courseTimeId = respClaTime.getCourseTimeId()+"";
this.claName = respClaTime.getClaName();
this.courseName = respClaTime.getCourseName();
this.claDate = respClaTime.getClaDate();

@ -13,13 +13,13 @@ import java.util.Date;
@Data
public class RespClaTime {
private Long courseTimeId;
private String courseTimeId;
private Long claId;
private String claId;
private String claName;
private Long courseId;
private String courseId;
private String courseName;

@ -1,15 +1,21 @@
package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*
* @author zhangbaoyu
* @date Created in 2020/9/18 14:50
*/
@Data
public class RespClaTimeCalendar extends ScClaTime {
public class RespClaTimeCalendar {
private String claColor;
@ -23,4 +29,181 @@ public class RespClaTimeCalendar extends ScClaTime {
private Integer studentCount;
/**
*
*/
@TableId(value = "course_time_id", type = IdType.ASSIGN_ID)
private String courseTimeId;
/**
*
*/
@TableField("rule_id")
private String ruleId;
/**
* id
*/
@TableField("cla_id")
private String claId;
/**
*
*/
@TableField("teacher_id")
private Long teacherId;
/**
*
*/
@TableField("room_id")
private String roomId;
/**
*
*/
@TableField("room_name")
private String roomName;
/**
*
*/
@TableField("class_theme")
private String classTheme;
/**
* :2020-02-05
*/
@TableField("cla_date")
private String claDate;
/**
*
*/
@TableField("start_time")
private String startTime;
/**
*
*/
@TableField("end_time")
private String endTime;
/**
*
*/
@TableField("real_cla_date")
private String realClaDate;
/**
*
*/
@TableField("real_start_time")
private String realStartTime;
/**
*
*/
@TableField("real_end_time")
private String realEndTime;
/**
*
*/
@TableField("pay_hour")
private BigDecimal payHour;
/**
*
*/
@TableField("pay_total_hour")
private BigDecimal payTotalHour;
/**
*
*/
@TableField("pay_total_fee")
private BigDecimal payTotalFee;
/**
* 1: 2: 3:
*/
@TableField("source")
private String source;
/**
* 1: 2:
*/
@TableField("status")
private String status;
/**
*
*/
@TableField("book_attend_cnt")
private Integer bookAttendCnt;
/**
*
*/
@TableField("real_attend_cnt")
private Integer realAttendCnt;
/**
*
*/
@TableField("at_class_cnt")
private Integer atClassCnt;
/**
*
*/
// @TableField("leave_cnt")
// private Integer leaveCnt;
/**
*
*/
@TableField("out_cnt")
private Integer outCnt;
/**
*
*/
@TableField("memo")
private String memo;
/**
*
*/
@TableField("create_user")
private Long createUser;
/**
*
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("last_update_user")
private Long lastUpdateUser;
/**
*
*/
@TableField("last_update_time")
private Date lastUpdateTime;
@TableField(exist = false)
private Long deptId;
@TableField(exist = false)
private String courseName;
@TableField(exist = false)
private String claName;
@TableField(exist = false)
private String deptName;
}

@ -1,11 +1,16 @@
package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRule;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
*
* @author zhangbaoyu
@ -15,7 +20,7 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RespClaTimeRule extends ScClaTimeRule {
public class RespClaTimeRule {
private String courseName;
private String claName;
@ -26,4 +31,130 @@ public class RespClaTimeRule extends ScClaTimeRule {
private String weekDayName;
/**
* id
*/
@TableId(value = "rule_id", type = IdType.ASSIGN_ID)
private String ruleId;
/**
*
*/
@TableField("cla_id")
private String claId;
/**
* 1 2
*/
@TableField("rule_type")
private String ruleType;
/**
*
*/
@TableField("begin_date")
private String beginDate;
/**
*
*/
@TableField("end_date")
private String endDate;
/**
*
*/
@TableField("once_date")
private String onceDate;
/**
* 1 2 3
*/
@TableField("repeat_type")
private String repeatType;
/**
*
*/
@TableField("week_day")
private String weekDay;
/**
* 1 0
*/
@TableField("filter_holiday")
private boolean filterHoliday;
/**
*
*/
@TableField("start_time")
private String startTime;
/**
*
*/
@TableField("end_time")
private String endTime;
/**
*
*/
@TableField("teacher_id")
private Long teacherId;
/**
*
*/
@TableField("room_id")
private String roomId;
/**
*
*/
@TableField("room_name")
private String roomName;
/**
*
*/
@TableField("class_theme")
private String classTheme;
/**
*
*/
@TableField("create_user")
private Long createUser;
/**
*
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("last_update_user")
private Long lastUpdateUser;
/**
*
*/
@TableField("last_update_time")
private Date lastUpdateTime;
/**
*
*/
@TableField(exist = false)
private String[] chooseDate;
/**
*
*/
@TableField(exist = false)
private Long deptId;
}

@ -68,7 +68,7 @@
left join sc_course course on cc.course_id=course.course_id,
sc_cla_time ct
left join sys_staff s on ct.teacher_id=s.staff_id
where cc.cla_id = ct.cla_id
where cc.cla_id = ct.cla_id and cc.tenant_id=#{searchClaTime.tenantId}
<if test="searchClaTime.beginDate != null and searchClaTime.beginDate != '' and searchClaTime.endDate != null and searchClaTime.endDate != ''">
and ct.cla_date between #{searchClaTime.beginDate} and #{searchClaTime.endDate}
</if>

@ -4,9 +4,9 @@
<select id="selectByCondition" resultType="cn.xluobo.business.sc.course.domain.resp.time.RespClaTimeRule">
select b.*,fcn_dict_name_list(b.week_day,'week_day') as week_day_name,
a.cla_name,c.course_name,d.nick_name
a.cla_name,c.course_name,d.nick_name staff_name
from sc_course_cla a, sc_cla_time_rule b, sc_course c, sys_user d
where a.cla_id = b.cla_id and a.course_id=c.course_id and b.teacher_id=d.user_id
where a.cla_id = b.cla_id and a.course_id=c.course_id and b.teacher_id=d.user_id and a.tenant_id=#{reqSearchScClaTimeRule.tenantId}
<if test="reqSearchScClaTimeRule.deptId != null">
and a.depart_id=#{reqSearchScClaTimeRule.deptId}
</if>

@ -0,0 +1,185 @@
package cn.xluobo.business.sc.course.repo.model;
import cn.xluobo.business.sc.course.repo.enums.ClaTimeRepeatTypeEnums;
import cn.xluobo.business.sc.course.repo.enums.ClaTimeRuleTypeEnums;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author zhangby
* @since 2020-09-14
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sc_cla_time_rule")
public class ScClaTimeRuleVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "rule_id", type = IdType.ASSIGN_ID)
private String ruleId;
/**
*
*/
@TableField("cla_id")
private String claId;
/**
* 1 2
*/
@TableField("rule_type")
private String ruleType;
/**
*
*/
@TableField("begin_date")
private String beginDate;
/**
*
*/
@TableField("end_date")
private String endDate;
/**
*
*/
@TableField("once_date")
private String onceDate;
/**
* 1 2 3
*/
@TableField("repeat_type")
private String repeatType;
/**
*
*/
@TableField("week_day")
private String weekDay;
/**
* 1 0
*/
@TableField("filter_holiday")
private boolean filterHoliday;
/**
*
*/
@TableField("start_time")
private String startTime;
/**
*
*/
@TableField("end_time")
private String endTime;
/**
*
*/
@TableField("teacher_id")
private Long teacherId;
/**
*
*/
@TableField("room_id")
private String roomId;
/**
*
*/
@TableField("room_name")
private String roomName;
/**
*
*/
@TableField("class_theme")
private String classTheme;
/**
*
*/
@TableField("create_user")
private Long createUser;
/**
*
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("last_update_user")
private Long lastUpdateUser;
/**
*
*/
@TableField("last_update_time")
private Date lastUpdateTime;
/**
*
*/
@TableField(exist = false)
private String[] chooseDate;
/**
*
*/
@TableField(exist = false)
private Long deptId;
public boolean checkParam() {
if (null == claId || null == teacherId) {
return false;
}
if (StringUtils.isAnyEmpty(ruleType)) {
return false;
}
if (ClaTimeRuleTypeEnums.ONCE_RULE.getRuleType().equals(ruleType)) {
if (StringUtils.isAnyEmpty(startTime, endTime)) {
return false;
} else if (null == chooseDate || chooseDate.length == 0) {
return false;
}
}
if ("1".equals(ruleType) && StringUtils.isAnyEmpty(repeatType)) {
return false;
}
if (ClaTimeRepeatTypeEnums.EVERY_WEEK.getRepeatType().equals(repeatType)
|| ClaTimeRepeatTypeEnums.EVERY_SECOND_WEEK.getRepeatType().equals(repeatType)) {
return !StringUtils.isAnyEmpty(startTime, endTime, beginDate, endDate);
} else {
return !StringUtils.isAnyEmpty(startTime, endTime);
}
}
}

@ -0,0 +1,231 @@
package cn.xluobo.business.sc.course.repo.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author zhangby
* @since 2020-09-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sc_cla_time")
public class ScClaTimeVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "course_time_id", type = IdType.ASSIGN_ID)
private String courseTimeId;
/**
*
*/
@TableField("rule_id")
private String ruleId;
/**
* id
*/
@TableField("cla_id")
private String claId;
/**
*
*/
@TableField("teacher_id")
private Long teacherId;
/**
*
*/
@TableField("room_id")
private String roomId;
/**
*
*/
@TableField("room_name")
private String roomName;
/**
*
*/
@TableField("class_theme")
private String classTheme;
/**
* :2020-02-05
*/
@TableField("cla_date")
private String claDate;
/**
*
*/
@TableField("start_time")
private String startTime;
/**
*
*/
@TableField("end_time")
private String endTime;
/**
*
*/
@TableField("real_cla_date")
private String realClaDate;
/**
*
*/
@TableField("real_start_time")
private String realStartTime;
/**
*
*/
@TableField("real_end_time")
private String realEndTime;
/**
*
*/
@TableField("pay_hour")
private BigDecimal payHour;
/**
*
*/
@TableField("pay_total_hour")
private BigDecimal payTotalHour;
/**
*
*/
@TableField("pay_total_fee")
private BigDecimal payTotalFee;
/**
* 1: 2: 3:
*/
@TableField("source")
private String source;
/**
* 1: 2:
*/
@TableField("status")
private String status;
/**
*
*/
@TableField("book_attend_cnt")
private Integer bookAttendCnt;
/**
*
*/
@TableField("real_attend_cnt")
private Integer realAttendCnt;
/**
*
*/
@TableField("at_class_cnt")
private Integer atClassCnt;
/**
*
*/
// @TableField("leave_cnt")
// private Integer leaveCnt;
/**
*
*/
@TableField("out_cnt")
private Integer outCnt;
/**
*
*/
@TableField("memo")
private String memo;
/**
*
*/
@TableField("create_user")
private Long createUser;
/**
*
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("last_update_user")
private Long lastUpdateUser;
/**
*
*/
@TableField("last_update_time")
private Date lastUpdateTime;
@TableField(exist = false)
private Long deptId;
@TableField(exist = false)
private String courseName;
@TableField(exist = false)
private String claName;
@TableField(exist = false)
private String deptName;
public boolean checkUpdateParam() {
if (StringUtils.isAnyEmpty(claDate, startTime, endTime)) {
return false;
}
if (null == teacherId) {
return false;
}
return true;
}
public boolean checkAddParam() {
if(null == claId || null == teacherId) {
return false;
}
if (StringUtils.isAnyEmpty(claDate, startTime, endTime)) {
return false;
}
return true;
}
}

@ -80,7 +80,7 @@ public class ScCourseVo implements Serializable {
*
*/
@TableField("create_user")
private Long createUser;
private String createUser;
/**
*

@ -1,5 +1,6 @@
package cn.xluobo.business.sc.course.service;
import cn.hutool.core.bean.BeanUtil;
import cn.xluobo.business.sc.base.repo.model.ScRoom;
import cn.xluobo.business.sc.base.service.IScRoomService;
import cn.xluobo.business.sc.course.domain.req.time.ReqSearchScClaTimeRule;
@ -7,6 +8,7 @@ import cn.xluobo.business.sc.course.domain.resp.time.RespClaTimeRule;
import cn.xluobo.business.sc.course.repo.mapper.ScClaTimeRuleMapper;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRule;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRuleVo;
import cn.xluobo.business.sc.course.repo.model.ScCourseCla;
import cn.xluobo.core.api.APIResponse;
import cn.xluobo.core.api.ApiResEnums;
@ -88,12 +90,15 @@ public class BusinessClaTimeRuleService {
return APIResponse.toAPIResponse(null);
}
ScClaTimeRule claTimeRule = claTimeRuleService.getById(ruleId);
ScClaTimeRuleVo scClaTimeRuleVo = new ScClaTimeRuleVo();
BeanUtil.copyProperties(claTimeRule,scClaTimeRuleVo);
// 设置deptId
Long claId = claTimeRule.getClaId();
ScCourseCla courseCla = courseClaService.getById(claId);
claTimeRule.setDeptId(courseCla.getDepartId());
scClaTimeRuleVo.setDeptId(courseCla.getDepartId());
return APIResponse.toAPIResponse(claTimeRule);
return APIResponse.toAPIResponse(scClaTimeRuleVo);
}

@ -1,15 +1,13 @@
package cn.xluobo.business.sc.course.service;
import cn.hutool.core.bean.BeanUtil;
import cn.xluobo.business.sc.base.repo.model.ScRoom;
import cn.xluobo.business.sc.base.service.IScRoomService;
import cn.xluobo.business.sc.course.domain.req.time.ReqSearchClaTime;
import cn.xluobo.business.sc.course.domain.resp.time.*;
import cn.xluobo.business.sc.course.repo.enums.ClaTimeStatusEnums;
import cn.xluobo.business.sc.course.repo.mapper.ScClaTimeMapper;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeAttend;
import cn.xluobo.business.sc.course.repo.model.ScCourse;
import cn.xluobo.business.sc.course.repo.model.ScCourseCla;
import cn.xluobo.business.sc.course.repo.model.*;
import cn.xluobo.business.sc.student.domain.req.ReqClaTimeAttend;
import cn.xluobo.business.sc.student.service.BusinessScStudentCourseService;
import cn.xluobo.business.sc.student.service.IScStudentCourseService;
@ -245,7 +243,10 @@ public class BusinessClaTimeService {
}
}
return APIResponse.toAPIResponse(claTime);
ScClaTimeVo scClaTimeVo = new ScClaTimeVo();
BeanUtil.copyProperties(claTime,scClaTimeVo);
return APIResponse.toAPIResponse(scClaTimeVo);
}
/**
@ -254,7 +255,7 @@ public class BusinessClaTimeService {
* @param claTime
* @return
*/
public APIResponse updateClaTime(ScClaTime claTime) {
public APIResponse updateClaTime(ScClaTimeVo claTime) {
if (null == claTime.getCourseTimeId()) {
return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL);
}

@ -166,8 +166,8 @@ public class BusinessScCourseClaService {
// 教师
if (null != courseCla.getStaffId()) {
SysStaff staff = teacherService.getById(courseCla.getStaffId());
courseCla.setTeacherName(staff.getStaffName());
SysUser staff = userService.selectUserById(courseCla.getStaffId());
courseCla.setTeacherName(staff.getNickName());
}
// 上课时间

@ -1,6 +1,7 @@
package cn.xluobo.business.sc.student.domain.req;
import cn.xluobo.core.page.ReqPageBase;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import java.io.Serializable;
@ -19,4 +20,8 @@ public class ReqSearchScStudent extends ReqPageBase implements Serializable {
private String sex;
private String phone;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
}

@ -16,7 +16,7 @@ import java.math.BigDecimal;
@Data
public class RespStudentCourse {
private Long studentCourseId;
private String studentCourseId;
private String courseName;

@ -7,7 +7,7 @@
b.school_name,
(select group_concat(sc.contact_nick,'(',fcn_dict_name(sc.contact_relation,'contact_relation'),') ',sc.contact_phone separator ';') from sc_student_contact sc where sc.student_id=a.student_id) as contact_info
from sc_student a left join sc_school b on a.school_id=b.school_id
where a.delete_flag='0'
where a.delete_flag='0' and a.tenant_id=#{reqSearchScStudent.tenantId}
<if test="reqSearchScStudent.schoolId != null and reqSearchScStudent.schoolId != ''">
and a.school_id = #{reqSearchScStudent.schoolId}
</if>

Loading…
Cancel
Save