using Learun.Application.Base.SystemModule; using Learun.Application.TwoDevelopment.EducationalAdministration; using Learun.Application.TwoDevelopment.LogisticsManagement; using Learun.Application.TwoDevelopment.PersonnelManagement; using Learun.Util; using Nancy; using System; using System.Collections.Generic; using System.IO; namespace Learun.Application.WebApi.Modules { /// /// 考勤打卡功能 /// public class AttendanceApi : BaseApi { public AttendanceApi() : base("/learun/adms/attendance") { //判断当前时间是否可以打卡 Get["/IsAttendance"] = IsAttendance; //上下班打卡 Post["/clockin"] = ClockIn; //获取考勤打卡记录 Get["/getrecordpagelist"] = GetRecordPageList; //判断学生当前打卡状态 Get["IsAttendanceStudent"] = IsAttendanceStudent; //学生打卡 Post["/clockinStudent"] = ClockInStudent; //打卡记录 Get["/GetTeacherRecord"] = GetTeacherRecord; //教师上下课打卡:判断当前打卡状态 Get["IsAttendanceTeacher"] = IsAttendanceTeacher; //教师上下课打卡 Post["/clockinTeacher"] = ClockInTeacher; //判断教师是否授课 Get["JudgeTeacherIsHasLesson"] = JudgeTeacherIsHasLesson; } private ADR_RestrictionIBLL adr_RestrictionBLL = new ADR_RestrictionBLL(); private ADR_RecordIBLL adr_RecordBLL = new ADR_RecordBLL(); private EmpInfoIBLL empInfoIBLL = new EmpInfoBLL(); public Response GetTeacherRecord(dynamic _) { ReqPageParam parameter = this.GetReqData(); var res=adr_RecordBLL.GetList(parameter.queryJson); var jsondata = new { data = res }; return Success(jsondata); } /// /// 判断当前时间是否可以打卡 /// /// /// public Response IsAttendance(dynamic _) { var res = adr_RestrictionBLL.IsAttendance(); var jsondata = new { data = res }; return Success(jsondata); } /// /// 学生打卡判断 /// /// /// public Response IsAttendanceStudent(dynamic _) { var res = adr_RestrictionBLL.IsAttendanceStudent(); var jsondata = new { data = res }; return Success(jsondata); } public class Attendance { public decimal ALon { get; set; } public decimal ALat { get; set; } public bool AIsOut { get; set; } public string ARemark { get; set; } public string ADPhoto { get; set; } public string ClockPlace { get; set; } public string LessonSortNo { get; set; } public string ALTId { get; set; } public string ALTOEId { get; set; } } /// /// 上下班打卡 /// /// /// public Response ClockIn(dynamic _) { Attendance parameter = this.GetReqData(); adr_RestrictionBLL.ClockIn(parameter.ALon, parameter.ALat, parameter.AIsOut, parameter.ARemark,parameter.ADPhoto,parameter.ClockPlace); return Success("打卡成功"); } /// /// 学生打卡 /// /// /// public Response ClockInStudent(dynamic _) { Attendance parameter = this.GetReqData(); adr_RestrictionBLL.ClockInStudent(parameter.ALon, parameter.ALat, parameter.AIsOut, parameter.ARemark, parameter.ADPhoto, parameter.ClockPlace,parameter.LessonSortNo,parameter.ALTId,parameter.ALTOEId); return Success("打卡成功"); } /// /// 打卡 /// /// /// public Response GetRecordPageList(dynamic _) { ReqPageParam parameter = this.GetReqData(); var data = adr_RecordBLL.GetPageList(parameter.pagination, parameter.queryJson); var jsonData = new { rows = data, total = parameter.pagination.total, page = parameter.pagination.page, records = parameter.pagination.records }; return Success(jsonData); } /// /// 教师上下课打卡:判断当前打卡状态 /// /// /// public Response IsAttendanceTeacher(dynamic _) { var res = adr_RestrictionBLL.IsAttendanceTeacher(); var jsondata = new { data = res }; return Success(jsondata); } /// /// 教师上下课打卡 /// /// /// public Response ClockInTeacher(dynamic _) { Attendance parameter = this.GetReqData(); adr_RestrictionBLL.ClockInTeacher(parameter.ALon, parameter.ALat, parameter.AIsOut, parameter.ARemark, parameter.ADPhoto, parameter.ClockPlace, parameter.LessonSortNo, parameter.ALTId, parameter.ALTOEId); return Success("打卡成功"); } /// /// 判断教师是否授课 /// /// /// public Response JudgeTeacherIsHasLesson(dynamic _) { var jsondata = new { data = false }; var empInfo = empInfoIBLL.GetEmpInfoEntityByEmpNo(userInfo.account); if (empInfo == null) { return Success(jsondata); } if (empInfo.IsHasLesson == true)//授课 { jsondata = new { data = true }; return Success(jsondata); } return Success(jsondata); } } }