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("/api/ht/attendance")
{
//判断当前时间是否可以打卡
//Get["/IsAttendance"] = IsAttendance;
//上下班打卡
Post["/clockin"] = ClockIn;
Get["/clockstat"] = ClockStat;
//获取考勤打卡记录
//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 ClockStat(dynamic _)
{
//Attendance parameter = this.GetReqData();
var userinfo = LoginUserInfo.Get();
//员工账号
string EmpNo = userinfo.account;
var res = adr_RecordBLL.GetTodayClock(EmpNo);
var jsondata =
new
{
start = res.Item1,
startTime = res.Item2,
end = res.Item3,
endTime = res.Item4
};
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 string Img { get; set; }
}
///
/// 上下班打卡
///
///
///
public Response ClockIn(dynamic _)
{
Attendance parameter = this.GetReqData();
var userinfo = LoginUserInfo.Get();
//员工账号
string EmpNo = userinfo.account;
//string result = "0";
//根据用户编号获取用户头像
//var einfo = empInfoIBLL.GetEmpInfoEntityByEmpNo(EmpNo);
//if (einfo == null)
//{
// return Fail("用户数据错误!");
//}
//string userimg = einfo.Photo;
//string imgid = parameter.Img;
//if (result == "1")
//{
adr_RestrictionBLL.ClockIn(parameter.ALon, parameter.ALat, parameter.AIsOut, parameter.ARemark, parameter.ADPhoto, parameter.ClockPlace, parameter.Img);
return Success("打卡成功");
//}
//else
//{
// return Fail("打卡失败!");
//}
}
///
/// 学生打卡
///
///
///
//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();
// var userinfo = LoginUserInfo.Get();
// //员工账号
// string EmpNo = userinfo.account;
// //根据用户编号获取用户头像
// var einfo = empInfoIBLL.GetEmpInfoEntityByEmpNo(EmpNo);
// if (einfo == null)
// {
// return Fail("用户数据错误!");
// }
// string userimg = einfo.Photo;
// string imgid = parameter.Img;
// var url = Config.GetValue("FaceCheckApi");
// string result = Util.HttpMethods.HttpGet($"{url}{userimg}/{imgid}");
// if (result == "1")
// {
// adr_RestrictionBLL.ClockInTeacher(parameter.ALon, parameter.ALat, parameter.AIsOut, parameter.ARemark, parameter.ADPhoto, parameter.ClockPlace, parameter.LessonSortNo, parameter.ALTId, parameter.ALTOEId, parameter.Img);
// return Success("打卡成功");
// }
// else
// {
// return Fail("打卡照片异常,请重新拍照!");
// }
//}
///
/// 判断教师是否授课
///
///
///
//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);
//}
}
}