Compare commits

...

2 Commits

Author SHA1 Message Date
董哲奇 33d945c594 修正bug
2 months ago
董哲奇 fe30b2562e 修正bug
2 months ago

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

@ -1,6 +1,7 @@
package cn.xluobo.business.sc.course.domain.req; package cn.xluobo.business.sc.course.domain.req;
import cn.xluobo.core.page.ReqPageBase; import cn.xluobo.core.page.ReqPageBase;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -44,4 +45,10 @@ public class ReqSearchScCourse extends ReqPageBase implements Serializable {
* *
*/ */
private Long studentId; private Long studentId;
private String tenantId;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
} }

@ -11,8 +11,8 @@ import java.io.Serializable;
*/ */
@Data @Data
public class ReqSearchScCourseCla extends ReqPageBase implements Serializable { public class ReqSearchScCourseCla extends ReqPageBase implements Serializable {
private Long courseId; private String courseId;
private Long staffId; private String staffId;
private String claName; private String claName;
private String courseTime; private String courseTime;
private Long departId; private Long departId;
@ -20,4 +20,6 @@ public class ReqSearchScCourseCla extends ReqPageBase implements Serializable {
* *
*/ */
private String chargeType; private String chargeType;
private String tenantId;
} }

@ -12,7 +12,7 @@ import java.math.BigDecimal;
@Data @Data
public class ReqAddScCourseChargeItem { public class ReqAddScCourseChargeItem {
private Long chargeId; private String chargeId;
/** /**
* id * id

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

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

@ -10,7 +10,7 @@ import lombok.Data;
@Data @Data
public class RespCourseClaInfo { public class RespCourseClaInfo {
private Long claId; private String claId;
private String claName; private String claName;
@ -24,13 +24,13 @@ public class RespCourseClaInfo {
private String openDate; private String openDate;
private Long courseId; private String courseId;
private String courseName; private String courseName;
private Long staffId; private Long staffId;
private String staffName; private String teacherName;
private String deptName; private String deptName;

@ -3,6 +3,8 @@ package cn.xluobo.business.sc.course.domain.resp.cla;
import cn.xluobo.business.sc.course.domain.resp.RespBusinessChooseCourseCharge; import cn.xluobo.business.sc.course.domain.resp.RespBusinessChooseCourseCharge;
import cn.xluobo.business.sc.course.repo.model.ScCourse; 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.ScCourseCla;
import cn.xluobo.business.sc.course.repo.model.ScCourseClaVo;
import cn.xluobo.business.sc.course.repo.model.ScCourseVo;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -18,10 +20,10 @@ import java.util.List;
public class RespClaAllDetailInfo { public class RespClaAllDetailInfo {
// 班级信息 // 班级信息
private ScCourseCla courseCla; private ScCourseClaVo courseCla;
// 课程信息 // 课程信息
private ScCourse course; private ScCourseVo course;
// 收费方式 // 收费方式
private List<RespBusinessChooseCourseCharge> courseChargeList; private List<RespBusinessChooseCourseCharge> courseChargeList;

@ -12,7 +12,7 @@ import lombok.Data;
@Data @Data
public class RespScCourseDetail extends ReqAddScCourse { public class RespScCourseDetail extends ReqAddScCourse {
private Long courseId; private String courseId;
private String courseTypeName; private String courseTypeName;

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

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

@ -1,15 +1,21 @@
package cn.xluobo.business.sc.course.domain.resp.time; package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTime; 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 lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* *
* @author zhangbaoyu * @author zhangbaoyu
* @date Created in 2020/9/18 14:50 * @date Created in 2020/9/18 14:50
*/ */
@Data @Data
public class RespClaTimeCalendar extends ScClaTime { public class RespClaTimeCalendar {
private String claColor; private String claColor;
@ -23,4 +29,181 @@ public class RespClaTimeCalendar extends ScClaTime {
private Integer studentCount; 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; package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRule; 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.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date;
/** /**
* *
* @author zhangbaoyu * @author zhangbaoyu
@ -15,7 +20,7 @@ import lombok.NoArgsConstructor;
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class RespClaTimeRule extends ScClaTimeRule { public class RespClaTimeRule {
private String courseName; private String courseName;
private String claName; private String claName;
@ -26,4 +31,130 @@ public class RespClaTimeRule extends ScClaTimeRule {
private String weekDayName; 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, left join sc_course course on cc.course_id=course.course_id,
sc_cla_time ct sc_cla_time ct
left join sys_staff s on ct.teacher_id=s.staff_id 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 != ''"> <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} and ct.cla_date between #{searchClaTime.beginDate} and #{searchClaTime.endDate}
</if> </if>

@ -4,9 +4,9 @@
<select id="selectByCondition" resultType="cn.xluobo.business.sc.course.domain.resp.time.RespClaTimeRule"> <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, select b.*,fcn_dict_name_list(b.week_day,'week_day') as week_day_name,
a.cla_name,c.course_name,d.staff_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_staff d 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.staff_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"> <if test="reqSearchScClaTimeRule.deptId != null">
and a.depart_id=#{reqSearchScClaTimeRule.deptId} and a.depart_id=#{reqSearchScClaTimeRule.deptId}
</if> </if>

@ -8,7 +8,7 @@
(select count(1) from sc_student_course sc where sc.cla_id=a.cla_id and sc.status='1') as student_cnt, (select count(1) from sc_student_course sc where sc.cla_id=a.cla_id and sc.status='1') as student_cnt,
a.capacity,a.recruit_status,a.open_date, a.capacity,a.recruit_status,a.open_date,
b.course_id,b.course_name, b.course_id,b.course_name,
c.staff_id,c.staff_name, a.staff_id,a.teacher_name,
sd.dept_name, sd.dept_name,
(select group_concat(fcn_dict_name_list(r.week_day,'week_day'),' ',substr(r.start_time,1,5),'~',substr(r.end_time,1,5),' (',r.begin_date,'~',r.end_date,')' SEPARATOR ';') (select group_concat(fcn_dict_name_list(r.week_day,'week_day'),' ',substr(r.start_time,1,5),'~',substr(r.end_time,1,5),' (',r.begin_date,'~',r.end_date,')' SEPARATOR ';')
from sc_cla_time_rule r from sc_cla_time_rule r
@ -18,9 +18,8 @@
and (date_format(now(),'%Y-%m-%d') between r.begin_date and r.end_date or date_format(now(),'%Y-%m-%d') <![CDATA[ < ]]> r.begin_date)) as week_day and (date_format(now(),'%Y-%m-%d') between r.begin_date and r.end_date or date_format(now(),'%Y-%m-%d') <![CDATA[ < ]]> r.begin_date)) as week_day
from sc_course_cla a from sc_course_cla a
left join sc_course b on a.course_id=b.course_id left join sc_course b on a.course_id=b.course_id
left join sys_staff c on a.staff_id=c.staff_id
left join sys_dept sd on a.depart_id=sd.dept_id left join sys_dept sd on a.depart_id=sd.dept_id
where a.delete_flag='0' where a.delete_flag='0' and a.tenant_id=#{reqSearchScCourseCla.tenantId}
<if test="reqSearchScCourseCla.courseId != null"> <if test="reqSearchScCourseCla.courseId != null">
and a.course_id=#{reqSearchScCourseCla.courseId} and a.course_id=#{reqSearchScCourseCla.courseId}
</if> </if>
@ -44,6 +43,7 @@
and a.delete_flag='0' and a.delete_flag='0'
order by a.create_time desc order by a.create_time desc
</select> </select>
<select id="selectForSelect" resultType="cn.xluobo.business.sc.course.domain.resp.RespCourseClaSelectInfo"> <select id="selectForSelect" resultType="cn.xluobo.business.sc.course.domain.resp.RespCourseClaSelectInfo">
select a.cla_id,a.cla_name,b.course_id,b.course_name,c.staff_name, select a.cla_id,a.cla_name,b.course_id,b.course_name,c.staff_name,
dept.dept_id, dept.dept_id,

@ -14,7 +14,7 @@
a.course_intro a.course_intro
from sc_course a from sc_course a
left join sc_course_type b on a.course_type_id = b.course_type_id and b.in_use='1' left join sc_course_type b on a.course_type_id = b.course_type_id and b.in_use='1'
where a.delete_flag='0' where a.delete_flag='0' and a.tenant_id=#{reqSearchScCourse.tenantId}
<if test="reqSearchScCourse.courseName != null and reqSearchScCourse.courseName != ''"> <if test="reqSearchScCourse.courseName != null and reqSearchScCourse.courseName != ''">
and a.course_name like concat('%',#{reqSearchScCourse.courseName} ,'%') and a.course_name like concat('%',#{reqSearchScCourse.courseName} ,'%')
</if> </if>

@ -175,15 +175,10 @@ public class ScClaTimeRule implements Serializable {
} }
if (ClaTimeRepeatTypeEnums.EVERY_WEEK.getRepeatType().equals(repeatType) if (ClaTimeRepeatTypeEnums.EVERY_WEEK.getRepeatType().equals(repeatType)
|| ClaTimeRepeatTypeEnums.EVERY_SECOND_WEEK.getRepeatType().equals(repeatType)) { || ClaTimeRepeatTypeEnums.EVERY_SECOND_WEEK.getRepeatType().equals(repeatType)) {
if (StringUtils.isAnyEmpty(weekDay, startTime, endTime, beginDate, endDate)) { return !StringUtils.isAnyEmpty(startTime, endTime, beginDate, endDate);
return false;
}
} else { } else {
if (StringUtils.isAnyEmpty(startTime, endTime)) { return !StringUtils.isAnyEmpty(startTime, endTime);
return false;
}
} }
return true;
} }

@ -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;
}
}

@ -4,6 +4,7 @@ import cn.xluobo.core.api.APIBaseResponse;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -146,13 +147,16 @@ public class ScCourseCla implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String deptName; private String deptName;
@TableField(exist = false)
private String teacherName; private String teacherName;
// 当前班级人数 // 当前班级人数
@TableField(exist = false) @TableField(exist = false)
private Integer studentCnt; private Integer studentCnt;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
/** /**
* *
* @return * @return

@ -0,0 +1,175 @@
package cn.xluobo.business.sc.course.repo.model;
import cn.xluobo.core.api.APIBaseResponse;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.utils.SecurityUtils;
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-08-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sc_course_cla")
public class ScCourseClaVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "cla_id")
private String claId;
/**
*
*/
@TableField("tenant_id")
private String tenantId;
/**
* id
*/
@TableField("course_id")
private String courseId;
/**
*
*/
@TableField("depart_id")
private Long departId;
/**
* id
*/
@TableField("staff_id")
private Long staffId;
/**
*
*/
@TableField("cla_name")
private String claName;
/**
*
*/
@TableField("cla_color")
private String claColor;
/**
*
*/
@TableField("capacity")
private Integer capacity;
/**
* 1 2 0
*/
@TableField("recruit_status")
private String recruitStatus;
/**
*
*/
@TableField("every_stu_lose_hour")
private BigDecimal everyStuLoseHour;
/**
*
*/
@TableField("every_tea_get_hour")
private BigDecimal everyTeaGetHour;
/**
*
*/
@TableField("open_date")
private String openDate;
/**
*
*/
@TableField("close_date")
private String closeDate;
/**
*
*/
@TableField("memo")
private String memo;
/**
* 1 0
*/
@TableField("delete_flag")
private String deleteFlag;
/**
*
*/
@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 deptName;
@TableField(exist = false)
private String teacherName;
// 当前班级人数
@TableField(exist = false)
private Integer studentCnt;
public String getTenantId(){
return SecurityUtils.getLoginUser().getNowTenantId();
}
/**
*
* @return
*/
public APIBaseResponse checkParam(){
if(StringUtils.isAnyEmpty(claName,claColor,recruitStatus,openDate)){
return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
}
if(null == courseId || null == departId || null == staffId || null == capacity || null == everyStuLoseHour || null == everyTeaGetHour){
return APIBaseResponse.fail("请求参数错误,请全部填写后,重新提交");
}
return APIBaseResponse.success();
}
}

@ -0,0 +1,111 @@
package cn.xluobo.business.sc.course.repo.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author zhangby
* @since 2020-03-17 11:25:55
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sc_course")
public class ScCourseVo implements Serializable {
/**
* id
*/
@TableId(value = "course_id")
private String courseId;
/**
*
*/
@TableField("tenant_id")
private String tenantId;
/**
*
*/
@TableField("course_name")
private String courseName;
/**
*
*/
@TableField("course_type_id")
private String courseTypeId;
/**
* 1 2
*/
@TableField("teaching_mode")
private String teachingMode;
/**
*
*/
@TableField("course_intro")
private String courseIntro;
/**
* 1 0
*/
@TableField("sale")
private String sale;
/**
* 1 0
*/
@TableField("delete_flag")
@TableLogic
private String deleteFlag;
/**
*
*/
@TableField("create_user")
private String createUser;
/**
*
*/
@TableField("create_time")
private Date createTime;
/**
*
*/
@TableField("last_update_user")
@JsonIgnore
private Long lastUpdateUser;
/**
*
*/
@TableField("last_update_time")
@JsonIgnore
private Date lastUpdateTime;
/**
* id
*/
@TableField(value = "import_id")
@JsonIgnore
private Long importId;
}

@ -1,5 +1,6 @@
package cn.xluobo.business.sc.course.service; 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.repo.model.ScRoom;
import cn.xluobo.business.sc.base.service.IScRoomService; import cn.xluobo.business.sc.base.service.IScRoomService;
import cn.xluobo.business.sc.course.domain.req.time.ReqSearchScClaTimeRule; 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.mapper.ScClaTimeRuleMapper;
import cn.xluobo.business.sc.course.repo.model.ScClaTime; 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.ScClaTimeRule;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRuleVo;
import cn.xluobo.business.sc.course.repo.model.ScCourseCla; import cn.xluobo.business.sc.course.repo.model.ScCourseCla;
import cn.xluobo.core.api.APIResponse; import cn.xluobo.core.api.APIResponse;
import cn.xluobo.core.api.ApiResEnums; import cn.xluobo.core.api.ApiResEnums;
@ -88,12 +90,15 @@ public class BusinessClaTimeRuleService {
return APIResponse.toAPIResponse(null); return APIResponse.toAPIResponse(null);
} }
ScClaTimeRule claTimeRule = claTimeRuleService.getById(ruleId); ScClaTimeRule claTimeRule = claTimeRuleService.getById(ruleId);
ScClaTimeRuleVo scClaTimeRuleVo = new ScClaTimeRuleVo();
BeanUtil.copyProperties(claTimeRule,scClaTimeRuleVo);
// 设置deptId // 设置deptId
Long claId = claTimeRule.getClaId(); Long claId = claTimeRule.getClaId();
ScCourseCla courseCla = courseClaService.getById(claId); ScCourseCla courseCla = courseClaService.getById(claId);
claTimeRule.setDeptId(courseCla.getDepartId()); 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; 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.repo.model.ScRoom;
import cn.xluobo.business.sc.base.service.IScRoomService; 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.req.time.ReqSearchClaTime;
import cn.xluobo.business.sc.course.domain.resp.time.*; 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.enums.ClaTimeStatusEnums;
import cn.xluobo.business.sc.course.repo.mapper.ScClaTimeMapper; 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.*;
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.student.domain.req.ReqClaTimeAttend; import cn.xluobo.business.sc.student.domain.req.ReqClaTimeAttend;
import cn.xluobo.business.sc.student.service.BusinessScStudentCourseService; import cn.xluobo.business.sc.student.service.BusinessScStudentCourseService;
import cn.xluobo.business.sc.student.service.IScStudentCourseService; 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 * @param claTime
* @return * @return
*/ */
public APIResponse updateClaTime(ScClaTime claTime) { public APIResponse updateClaTime(ScClaTimeVo claTime) {
if (null == claTime.getCourseTimeId()) { if (null == claTime.getCourseTimeId()) {
return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL); return APIResponse.toExceptionResponse(ApiResEnums.PARAM_FAIL);
} }

@ -1,14 +1,13 @@
package cn.xluobo.business.sc.course.service; package cn.xluobo.business.sc.course.service;
import cn.hutool.core.bean.BeanUtil;
import cn.xluobo.business.sc.course.domain.req.ReqAddScCourseCla; import cn.xluobo.business.sc.course.domain.req.ReqAddScCourseCla;
import cn.xluobo.business.sc.course.domain.req.ReqSearchScCourseCla; import cn.xluobo.business.sc.course.domain.req.ReqSearchScCourseCla;
import cn.xluobo.business.sc.course.domain.resp.RespBusinessChooseCourseCharge; import cn.xluobo.business.sc.course.domain.resp.RespBusinessChooseCourseCharge;
import cn.xluobo.business.sc.course.domain.resp.RespCourseClaInfo; import cn.xluobo.business.sc.course.domain.resp.RespCourseClaInfo;
import cn.xluobo.business.sc.course.domain.resp.cla.RespClaAllDetailInfo; import cn.xluobo.business.sc.course.domain.resp.cla.RespClaAllDetailInfo;
import cn.xluobo.business.sc.course.repo.mapper.ScCourseClaMapper; import cn.xluobo.business.sc.course.repo.mapper.ScCourseClaMapper;
import cn.xluobo.business.sc.course.repo.model.ScClaTime; import cn.xluobo.business.sc.course.repo.model.*;
import cn.xluobo.business.sc.course.repo.model.ScCourse;
import cn.xluobo.business.sc.course.repo.model.ScCourseCla;
import cn.xluobo.business.sc.student.repo.mapper.ScStudentMapper; import cn.xluobo.business.sc.student.repo.mapper.ScStudentMapper;
import cn.xluobo.business.sc.student.repo.model.ScStudentCourse; import cn.xluobo.business.sc.student.repo.model.ScStudentCourse;
import cn.xluobo.business.sc.student.service.IScStudentCourseService; import cn.xluobo.business.sc.student.service.IScStudentCourseService;
@ -23,8 +22,10 @@ import cn.xluobo.core.page.RespPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -65,6 +66,9 @@ public class BusinessScCourseClaService {
@Autowired @Autowired
private IScClaTimeService claTimeService; private IScClaTimeService claTimeService;
@Autowired
private ISysUserService userService;
/** /**
* *
* *
@ -73,6 +77,8 @@ public class BusinessScCourseClaService {
*/ */
public APIResponse searchList(ReqSearchScCourseCla reqSearchScCourseCla) { public APIResponse searchList(ReqSearchScCourseCla reqSearchScCourseCla) {
RespPage<RespCourseClaInfo> page = new RespPage(reqSearchScCourseCla.getPageNum(), reqSearchScCourseCla.getPageSize()); RespPage<RespCourseClaInfo> page = new RespPage(reqSearchScCourseCla.getPageNum(), reqSearchScCourseCla.getPageSize());
String nowTenantId = SecurityUtils.getLoginUser().getNowTenantId();
reqSearchScCourseCla.setTenantId(nowTenantId);
List<RespCourseClaInfo> claList = scCourseClaMapper.selectClaList(reqSearchScCourseCla, page); List<RespCourseClaInfo> claList = scCourseClaMapper.selectClaList(reqSearchScCourseCla, page);
page.setRows(claList); page.setRows(claList);
return APIResponse.toAPIResponse(page); return APIResponse.toAPIResponse(page);
@ -91,17 +97,28 @@ public class BusinessScCourseClaService {
Map<String, Object> resultMap = Maps.newHashMap(); Map<String, Object> resultMap = Maps.newHashMap();
// 班级信息 // 班级信息
ScCourseCla detailInfo = scCourseClaService.getById(claId); ScCourseCla detailInfo = scCourseClaService.getById(claId);
if (null == detailInfo) { if (null == detailInfo) {
return APIResponse.toAPIResponse(null); return APIResponse.toAPIResponse(null);
} }
ScCourseClaVo scCourseCla = new ScCourseClaVo();
BeanUtil.copyProperties(detailInfo,scCourseCla);
scCourseCla.setClaId(detailInfo.getClaId().toString());
scCourseCla.setCourseId(detailInfo.getCourseId().toString());
// 课程信息 // 课程信息
ScCourse scCourse = courseService.getById(detailInfo.getCourseId()); ScCourse scCourse = courseService.getById(detailInfo.getCourseId());
ScCourseVo scCourseVo = new ScCourseVo();
BeanUtil.copyProperties(scCourse,scCourseVo);
scCourseVo.setCourseId(scCourse.getCourseId().toString());
// 是否允许变更课程,有报名不允许变更课程 // 是否允许变更课程,有报名不允许变更课程
APIBaseResponse canChangeCourse = scCourseClaService.canChangeCourse(claId); APIBaseResponse canChangeCourse = scCourseClaService.canChangeCourse(claId);
resultMap.put("canChangeCourse", canChangeCourse.isSuccess()); resultMap.put("canChangeCourse", canChangeCourse.isSuccess());
resultMap.put("claInfo", detailInfo); resultMap.put("claInfo", scCourseCla);
resultMap.put("claCourseInfo", scCourse); resultMap.put("claCourseInfo", scCourseVo);
return APIResponse.toAPIResponse(resultMap); return APIResponse.toAPIResponse(resultMap);
} }
@ -118,17 +135,25 @@ public class BusinessScCourseClaService {
} }
// 班级信息 // 班级信息
ScCourseCla courseCla = scCourseClaService.getById(claId); ScCourseCla courseCla = scCourseClaService.getById(claId);
if (null == courseCla) { if (null == courseCla) {
return null; return null;
} }
ScCourseClaVo scCourseClaVo = new ScCourseClaVo();
BeanUtil.copyProperties(courseCla,scCourseClaVo);
scCourseClaVo.setClaId(courseCla.getClaId().toString());
// 班级当前学员数量 // 班级当前学员数量
Integer studentCnt = scCourseClaService.selectStudentCnt(claId); Integer studentCnt = scCourseClaService.selectStudentCnt(claId);
courseCla.setStudentCnt(studentCnt); scCourseClaVo.setStudentCnt(studentCnt);
// 课程信息 // 课程信息
ScCourse scCourse = courseService.getById(courseCla.getCourseId()); ScCourse scCourse = courseService.getById(courseCla.getCourseId());
ScCourseVo scCourseVo = new ScCourseVo();
BeanUtil.copyProperties(scCourse,scCourseVo);
scCourseVo.setCourseId(scCourse.getCourseId().toString());
// 课程收费信息 // 课程收费信息
List<RespBusinessChooseCourseCharge> courseChargeList = courseChargeService.courseChargeList(scCourse.getCourseId(), null); List<RespBusinessChooseCourseCharge> courseChargeList = courseChargeService.courseChargeList(scCourse.getCourseId(), null);
@ -141,16 +166,16 @@ public class BusinessScCourseClaService {
// 教师 // 教师
if (null != courseCla.getStaffId()) { if (null != courseCla.getStaffId()) {
SysStaff staff = teacherService.getById(courseCla.getStaffId()); SysUser staff = userService.selectUserById(courseCla.getStaffId());
courseCla.setTeacherName(staff.getStaffName()); courseCla.setTeacherName(staff.getNickName());
} }
// 上课时间 // 上课时间
List<String> claTimeInfo = claTimeRuleService.selectClaTimeInfo(claId); List<String> claTimeInfo = claTimeRuleService.selectClaTimeInfo(claId);
return RespClaAllDetailInfo.builder() return RespClaAllDetailInfo.builder()
.courseCla(courseCla) .courseCla(scCourseClaVo)
.course(scCourse) .course(scCourseVo)
.courseChargeList(courseChargeList) .courseChargeList(courseChargeList)
.claTimeList(claTimeInfo) .claTimeList(claTimeInfo)
.build(); .build();
@ -173,13 +198,14 @@ public class BusinessScCourseClaService {
} }
// 教师是否存在 // 教师是否存在
SysStaff teacher = teacherService.getById(scCourseCla.getStaffId()); SysUser teacher = userService.selectUserById(scCourseCla.getStaffId());
if (null == teacher) { if (null == teacher) {
return APIResponse.toExceptionResponse("教师不存在,请重新选择后提交。"); return APIResponse.toExceptionResponse("教师不存在,请重新选择后提交。");
} }
// 新建班级 // 新建班级
ScCourseCla cla = scCourseCla.getScCourseCla(loginUser); ScCourseCla cla = scCourseCla.getScCourseCla(loginUser);
cla.setTeacherName(teacher.getNickName());
APIBaseResponse checkParam = cla.checkParam(); APIBaseResponse checkParam = cla.checkParam();
if (!checkParam.isSuccess()) { if (!checkParam.isSuccess()) {
return APIResponse.toExceptionResponse(checkParam.getRespMsg()); return APIResponse.toExceptionResponse(checkParam.getRespMsg());
@ -213,7 +239,7 @@ public class BusinessScCourseClaService {
} }
// 教师是否存在 // 教师是否存在
SysStaff teacher = teacherService.getById(scCourseCla.getStaffId()); SysUser teacher = userService.selectUserById(scCourseCla.getStaffId());
if (null == teacher) { if (null == teacher) {
return APIResponse.toExceptionResponse("教师不存在,请重新选择后提交。"); return APIResponse.toExceptionResponse("教师不存在,请重新选择后提交。");
} }
@ -227,6 +253,7 @@ public class BusinessScCourseClaService {
} }
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
scCourseCla.setTeacherName(teacher.getNickName());
scCourseCla.setLastUpdateUser(loginUser.getUserId()); scCourseCla.setLastUpdateUser(loginUser.getUserId());
scCourseCla.setLastUpdateTime(new Date()); scCourseCla.setLastUpdateTime(new Date());
boolean updateScCourseCla = scCourseClaService.updateById(scCourseCla); boolean updateScCourseCla = scCourseClaService.updateById(scCourseCla);

@ -133,7 +133,7 @@ public class BusinessScCourseService {
RespScCourseDetail respScCourseDetail = new RespScCourseDetail(); RespScCourseDetail respScCourseDetail = new RespScCourseDetail();
respScCourseDetail.setCourseId(detailInfo.getCourseId()); respScCourseDetail.setCourseId(detailInfo.getCourseId()+"");
respScCourseDetail.setCourseName(detailInfo.getCourseName()); respScCourseDetail.setCourseName(detailInfo.getCourseName());
respScCourseDetail.setCourseTypeId(detailInfo.getCourseTypeId()); respScCourseDetail.setCourseTypeId(detailInfo.getCourseTypeId());
respScCourseDetail.setTeachingMode(detailInfo.getTeachingMode()); respScCourseDetail.setTeachingMode(detailInfo.getTeachingMode());
@ -174,7 +174,7 @@ public class BusinessScCourseService {
partCampusList.add(departId.toString()); partCampusList.add(departId.toString());
} }
String chargeType = courseCharge.getChargeType(); String chargeType = courseCharge.getChargeType();
chargeItem.setChargeId(courseCharge.getChargeId()); chargeItem.setChargeId(courseCharge.getChargeId()+"");
chargeItem.setCampusId(courseCharge.getDepartId()); chargeItem.setCampusId(courseCharge.getDepartId());
chargeItem.setCampusName(campusMap.get(courseCharge.getDepartId())); chargeItem.setCampusName(campusMap.get(courseCharge.getDepartId()));
if ("hour".equals(chargeType)) { if ("hour".equals(chargeType)) {
@ -238,6 +238,7 @@ public class BusinessScCourseService {
scCourse.setCourseIntro(reqAddScCourse.getCourseIntro()); scCourse.setCourseIntro(reqAddScCourse.getCourseIntro());
scCourse.setCreateUser(loginUser.getUserId()); scCourse.setCreateUser(loginUser.getUserId());
scCourse.setLastUpdateUser(loginUser.getUserId()); scCourse.setLastUpdateUser(loginUser.getUserId());
scCourse.setTenantId(loginUser.getNowTenantId());
boolean addScCourse = scCourseService.save(scCourse); boolean addScCourse = scCourseService.save(scCourse);
// course_charge保存 // course_charge保存
@ -310,6 +311,9 @@ public class BusinessScCourseService {
updateCourse.setCourseIntro(reqChangeScCourse.getCourseIntro()); updateCourse.setCourseIntro(reqChangeScCourse.getCourseIntro());
updateCourse.setLastUpdateUser(loginUser.getUserId()); updateCourse.setLastUpdateUser(loginUser.getUserId());
updateCourse.setLastUpdateTime(new Date()); updateCourse.setLastUpdateTime(new Date());
updateCourse.setTenantId(loginUser.getNowTenantId());
updateCourse.setSale("1");
updateCourse.setImportId(-1L);
boolean updateScCourse = scCourseService.updateById(updateCourse); boolean updateScCourse = scCourseService.updateById(updateCourse);
// course_charge 删除 // course_charge 删除

@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -85,7 +86,7 @@ public class ScClaTimeRuleServiceImpl extends ServiceImpl<ScClaTimeRuleMapper, S
// 节假日缓存 // 节假日缓存
if (null == holidayMap) { if (null == holidayMap) {
holidayMap = holidayService.getHolidayMap(); holidayMap = new HashMap<>();
} }
@ -239,18 +240,6 @@ public class ScClaTimeRuleServiceImpl extends ServiceImpl<ScClaTimeRuleMapper, S
return resultClaTimeList; return resultClaTimeList;
} }
@Override
public List<RespClaTimeRule> getClaTimeListByRule(ScClaTimeRule claTimeRule, Map<String, String> holidayMap) {
RespClaTimeRule respClaTime = RespClaTimeRule.builder()
.claTimeBegin(claTimeRule.getStartTime())
.claTimeEnd(claTimeRule.getEndTime())
.build();
BeanUtils.copyProperties(claTimeRule, respClaTime);
return this.getClaTimeListByRule(respClaTime, holidayMap);
}
@Override @Override
public List<String> checkDayRepeat(Long claId, String[] day, Long notEqRuleId) { public List<String> checkDayRepeat(Long claId, String[] day, Long notEqRuleId) {
if (null == claId || null == day || day.length == 0) { if (null == claId || null == day || day.length == 0) {
@ -269,6 +258,18 @@ public class ScClaTimeRuleServiceImpl extends ServiceImpl<ScClaTimeRuleMapper, S
return list.stream().map(ScClaTime::getClaDate).collect(Collectors.toList()); return list.stream().map(ScClaTime::getClaDate).collect(Collectors.toList());
} }
@Override
public List<RespClaTimeRule> getClaTimeListByRule(ScClaTimeRule claTimeRule, Map<String, String> holidayMap) {
RespClaTimeRule respClaTime = RespClaTimeRule.builder()
.claTimeBegin(claTimeRule.getStartTime())
.claTimeEnd(claTimeRule.getEndTime())
.build();
BeanUtils.copyProperties(claTimeRule, respClaTime);
return this.getClaTimeListByRule(respClaTime, holidayMap);
}
@Override @Override
public List<String> checkDayRepeat(ScClaTimeRule claTimeRule) { public List<String> checkDayRepeat(ScClaTimeRule claTimeRule) {
Long claId = claTimeRule.getClaId(); Long claId = claTimeRule.getClaId();

@ -24,14 +24,12 @@ import java.util.List;
@Service @Service
public class ScCourseServiceImpl extends ServiceImpl<ScCourseMapper, ScCourse> implements IScCourseService { public class ScCourseServiceImpl extends ServiceImpl<ScCourseMapper, ScCourse> implements IScCourseService {
@Autowired
private ScCourseMapper courseMapper;
@Autowired @Autowired
private ScCourseChargeMapper courseChargeMapper; private ScCourseChargeMapper courseChargeMapper;
@Override @Override
public RespPage<RespSearchCourse> searchCourse(ReqSearchScCourse reqSearchScCourse) { public RespPage<RespSearchCourse> searchCourse(ReqSearchScCourse reqSearchScCourse) {
RespPage respPage = new RespPage(reqSearchScCourse.getPageNum(),reqSearchScCourse.getPageSize()); RespPage<RespSearchCourse> respPage = new RespPage<>(reqSearchScCourse.getPageNum(),reqSearchScCourse.getPageSize());
List<RespSearchCourse> courseList = baseMapper.selectCourseList(reqSearchScCourse, respPage); List<RespSearchCourse> courseList = baseMapper.selectCourseList(reqSearchScCourse, respPage);
respPage.setRows(courseList); respPage.setRows(courseList);
return respPage; return respPage;

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

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

@ -7,7 +7,7 @@
b.school_name, 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 (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 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 != ''"> <if test="reqSearchScStudent.schoolId != null and reqSearchScStudent.schoolId != ''">
and a.school_id = #{reqSearchScStudent.schoolId} and a.school_id = #{reqSearchScStudent.schoolId}
</if> </if>

@ -5,6 +5,9 @@ import cn.xluobo.business.sys.staff.domain.req.ReqBusinessAddStaff;
import cn.xluobo.business.sys.staff.domain.req.ReqSearchStaff; import cn.xluobo.business.sys.staff.domain.req.ReqSearchStaff;
import cn.xluobo.business.sys.staff.service.BusinessSysStaffService; import cn.xluobo.business.sys.staff.service.BusinessSysStaffService;
import cn.xluobo.core.api.APIResponse; import cn.xluobo.core.api.APIResponse;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -24,6 +27,9 @@ public class SysStaffController {
@Autowired @Autowired
private BusinessSysStaffService sysStaffService; private BusinessSysStaffService sysStaffService;
@Autowired
private ISysUserService userService;
/** /**
* *
* *
@ -41,8 +47,11 @@ public class SysStaffController {
* @return * @return
*/ */
@GetMapping("/list/teacherSelect") @GetMapping("/list/teacherSelect")
public APIResponse teacherSelect(ReqSelect reqSelect) { public AjaxResult teacherSelect(ReqSelect reqSelect) {
return sysStaffService.teacherSelect(reqSelect); SysUser sysUser = new SysUser();
sysUser.setTeacher(1);
List<SysUser> sysUsers = userService.selectUserList(sysUser);
return AjaxResult.success(sysUsers);
} }
/** /**

Loading…
Cancel
Save