diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseStudentSigninSetting.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseStudentSigninSetting.java index 57946f9f..98a56d2d 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseStudentSigninSetting.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseStudentSigninSetting.java @@ -38,14 +38,6 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{ //班级ID集合 private String schoolClassIds ; - public String getSchoolClassIdsText() { - return schoolClassIdsText; - } - - public void setSchoolClassIdsText(String schoolClassIdsText) { - this.schoolClassIdsText = schoolClassIdsText; - } - @FetchSql( "@if(strUtil.equalsIgnoreCase(schoolClassIds, 'ALL')) { \n" + "select '所有班级' \n" + @@ -59,6 +51,20 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{ "@}\n" ) private String schoolClassIdsText; + // 如果是全部的班级,则查询该课程关联的全部班级 + // 否则 取schoolClassIds 字段。 + @FetchSql( + "@if(strUtil.equalsIgnoreCase(schoolClassIds, 'ALL')) { \n" + + "select group_concat(distinct(school_class_id)) \n" + + " from teacher_open_course_merge_school_class t \n" + + " where t.teacher_open_course_id = #teacherOpenCourseId# \n" + + " and t.teacher_open_course_merge_school_class_status = 1 \n" + + " group by t.teacher_open_course_id \n" + + "@} else { \n" + + " select #schoolClassIds# " + + "@}\n" ) + private String schoolClassIdsRender; + // 所有班级标识 public static String ALL_SCHOOL_CLASS_IDS_SIGN = "ALL"; @@ -92,7 +98,40 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{ @Dict(type="global_status") private Integer teacherOpenCourseStudentSigninSettingStatus ; - + + // 这个开课ID下的签到场次总数量 + + @FetchSql("select count(1) from teacher_open_course_student_signin_setting " + + "where teacher_open_course_id = #teacherOpenCourseId# and teacher_open_course_student_signin_setting_status = 1 ") + private Integer signinSettingCount; + + // 签到总人数 + + @FetchSql("select count(1) " + + "from teacher_open_course_student_signin_log t " + + "left join teacher_open_course_student_signin_setting ta on ta.teacher_open_course_student_signin_setting_id = t.teacher_open_course_student_signin_setting_id " + + "where t.teacher_open_course_id = #teacherOpenCourseId# ") + private Integer signinTotalCount; + + // 学生总人数 + @FetchSql("select count(1) from student t where find_in_set(t.class_id, #schoolClassIdsIfAll#) ") + private Integer signinStudentTotalCount; + + // 缺勤 schoolClassIds + + @FetchSql("select if((count(tc.student_id) - #signinTotalCount#) < 0, 0, count(tc.student_id) - #signinTotalCount#) " + + "from teacher_open_course_student_signin_log t " + + "left join teacher_open_course_student_signin_setting ta on ta.teacher_open_course_student_signin_setting_id = t.teacher_open_course_student_signin_setting_id " + + "left join school_class tb on find_in_set(tb.class_id, ta.school_class_ids) " + + "left join student tc on tc.class_id = tb.class_id " + + "where t.teacher_open_course_id = #teacherOpenCourseId# ") + private Integer unsigninCount; + + // 合计到课率 100为单位 + + @FetchSql("select round(#signinTotalCount# / (if((#signinStudentTotalCount#) = 0, 1, (#signinStudentTotalCount#))) * 100, 1)") + private float signinTotalRate; + //组织ID private Long orgId ; @@ -264,4 +303,60 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{ public void setTeacherOpenCourseStudentSigninSettingSessionTime(Date teacherOpenCourseStudentSigninSettingSessionTime) { this.teacherOpenCourseStudentSigninSettingSessionTime = teacherOpenCourseStudentSigninSettingSessionTime; } + + public Integer getSigninSettingCount() { + return signinSettingCount; + } + + public void setSigninSettingCount(Integer signinSettingCount) { + this.signinSettingCount = signinSettingCount; + } + + public Integer getSigninTotalCount() { + return signinTotalCount; + } + + public void setSigninTotalCount(Integer signinTotalCount) { + this.signinTotalCount = signinTotalCount; + } + + public Integer getUnsigninCount() { + return unsigninCount; + } + + public void setUnsigninCount(Integer unsigninCount) { + this.unsigninCount = unsigninCount; + } + + public float getSigninTotalRate() { + return signinTotalRate; + } + + public void setSigninTotalRate(float signinTotalRate) { + this.signinTotalRate = signinTotalRate; + } + + public String getSchoolClassIdsRender() { + return schoolClassIdsRender; + } + + public void setSchoolClassIdsRender(String schoolClassIdsRender) { + this.schoolClassIdsRender = schoolClassIdsRender; + } + + public Integer getSigninStudentTotalCount() { + return signinStudentTotalCount; + } + + public void setSigninStudentTotalCount(Integer signinStudentTotalCount) { + this.signinStudentTotalCount = signinStudentTotalCount; + } + + public String getSchoolClassIdsText() { + return schoolClassIdsText; + } + + public void setSchoolClassIdsText(String schoolClassIdsText) { + this.schoolClassIdsText = schoolClassIdsText; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninSettingService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninSettingService.java index 19ecc195..1354ab44 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninSettingService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseStudentSigninSettingService.java @@ -166,8 +166,8 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic * @param id * @param status */ - public void editStatus(@NotNull(message = "签到配置ID不能为空!") Long id, - @NotNull(message = "签到状态不能为空!") + public void updateStatus(@NotNull(message = "签到配置ID不能为空!") Long id, + @NotNull(message = "签到状态不能为空!") @Pattern(regexp = "[12]",message = "状态只接收两个值:1开始 2结束") Integer status) { TeacherOpenCourseStudentSigninSetting model = new TeacherOpenCourseStudentSigninSetting(); diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseStudentSigninSettingController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseStudentSigninSettingController.java index 4c174519..c6e05c51 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseStudentSigninSettingController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseStudentSigninSettingController.java @@ -202,11 +202,11 @@ public class TeacherOpenCourseStudentSigninSettingController{ * @param status 1:开始 2:结束 * @return */ - @PostMapping(MODEL + "/editStatus.json") + @PostMapping(MODEL + "/updateStatus.json") @Function("teacherOpenCourseStudentSigninSetting.edit") @ResponseBody - public JsonResult editStatus(Long id, Integer status) { - teacherOpenCourseStudentSigninSettingService.editStatus(id, status); + public JsonResult updateStatus(Long id, Integer status) { + teacherOpenCourseStudentSigninSettingService.updateStatus(id, status); return JsonResult.success(); } diff --git a/web/src/main/resources/static/js/jlw/resourcesApplicationCourse/index.js b/web/src/main/resources/static/js/jlw/resourcesApplicationCourse/index.js index 35758a92..bc026483 100644 --- a/web/src/main/resources/static/js/jlw/resourcesApplicationCourse/index.js +++ b/web/src/main/resources/static/js/jlw/resourcesApplicationCourse/index.js @@ -132,6 +132,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) { }, initTableTool: table.on('tool(resourcesApplicationCourseTable)', function (obj) { var data = obj.data; if (obj.event === 'edit') { + // 实际是修改课程的数据,为了懒省事 var url = "/jlw/resourcesApplicationCourse/add.do?courseInfoId=" + data.courseInfoId; Common.openDlg(url, ""); } else if (obj.event === "del") { diff --git a/web/src/main/resources/static/js/jlw/teacherOpenCourseStudentSigninSetting/index.js b/web/src/main/resources/static/js/jlw/teacherOpenCourseStudentSigninSetting/index.js index 9ed27bd6..56949cf7 100644 --- a/web/src/main/resources/static/js/jlw/teacherOpenCourseStudentSigninSetting/index.js +++ b/web/src/main/resources/static/js/jlw/teacherOpenCourseStudentSigninSetting/index.js @@ -38,8 +38,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { align:"center", hideField :false, hide:$.isEmpty(sx_['teacherOpenCourseStudentSigninSettingId'])?false:sx_['teacherOpenCourseStudentSigninSettingId'], - - width : 60, + width : 60, }, { field : 'teacherOpenCourseStudentSigninSettingSessionTime', @@ -112,9 +111,11 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { hide:$.isEmpty(sx_['teacherOpenCourseStudentSigninSettingStartStatusText'])?false:sx_['teacherOpenCourseStudentSigninSettingStartStatusText'], }, { - field : 'operation_',title : '操作',align:"center", templet: function (d) { - var htm = ''; - htm += ''; + field : 'operation_',title : '操作',align:"center", width : 220, templet: function (d) { + var htm = ''; + htm += ''; + htm += ''; + htm += ''; return htm; } } @@ -192,6 +193,40 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { }); }); } + // 开始签到 + else if(obj.event == 'startSignin') { + layer.confirm('开始签到?', function (index) { + var ret = Common.postAjax( + "/jlw/teacherOpenCourseStudentSigninSetting/updateStatus.json", + { status: 1, id: data.teacherOpenCourseStudentSigninSettingId }); + layer.msg(ret.code == 0?"开始签到成功!":ret.msg, { + offset: ['50%'], + icon: ret.code == 0?1:2, + time: 1500 //2秒关闭(如果不配置,默认是3秒) + },function (){ + if(ret.code == 0){ + Lib.tableRefresh(); + } + }); + }); + } + // 结束签到 + else if(obj.event == 'endSignin') { + layer.confirm('结束签到?', function (index) { + var ret = Common.postAjax( + "/jlw/teacherOpenCourseStudentSigninSetting/updateStatus.json", + { status: 2, id: data.teacherOpenCourseStudentSigninSettingId }); + layer.msg(ret.code == 0?"已结束签到!":ret.msg, { + offset: ['50%'], + icon: ret.code == 0?1:2, + time: 1500 //2秒关闭(如果不配置,默认是3秒) + },function (){ + if(ret.code == 0){ + Lib.tableRefresh(); + } + }); + }); + } }) } exports('index',view); diff --git a/web/src/main/resources/templates/jlw/teacherOpenCourseScheduleSession/index.html b/web/src/main/resources/templates/jlw/teacherOpenCourseScheduleSession/index.html index 2f18b508..407e3de5 100644 --- a/web/src/main/resources/templates/jlw/teacherOpenCourseScheduleSession/index.html +++ b/web/src/main/resources/templates/jlw/teacherOpenCourseScheduleSession/index.html @@ -11,7 +11,7 @@ 搜索 添加 - 修改 + 删除 刷新