瀏覽代碼

学生考勤判断

黑艺新账号
liangkun 1 年之前
父節點
當前提交
5348417fb4
共有 12 個文件被更改,包括 154 次插入15 次删除
  1. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs
  2. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Attendance.js
  3. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js
  4. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config
  5. +17
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/AttendanceApi.cs
  6. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config
  7. +10
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs
  8. +10
    -10
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs
  9. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs
  10. +10
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionEntity.cs
  11. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs
  12. +80
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs 查看文件

@@ -330,7 +330,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName),
lessonName = e.LessonName,
teacher = e.EmpName,
classRoom = e.ClassroomName?.Trim(),
classRoom = e?.ClassroomName?.Trim(),
academicyear = semesterAndYear.AcademicYearShort,
semester = strSemester,
lessonNo = e?.LessonNo,
@@ -338,7 +338,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
empno = e?.EmpNo,
lessonTime = e.LessonTime,
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
classRoomNo = e?.ClassRoomNo.Trim(),
classRoomNo = e?.ClassRoomNo?.Trim(),
lessonSortNo = e.LessonSortNo,
e.OLPEId,
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Attendance.js 查看文件

@@ -83,7 +83,7 @@ var bootstrap = function ($, learun) {
item.className +
'</div>' +
'<div>教室:' +
item.classRoom +
(item.classRoom ? item.classRoom : '') +
'</div>';

});


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js 查看文件

@@ -85,7 +85,7 @@ var bootstrap = function ($, learun) {
item.className +
'</div>' +
'<div>教室:' +
item.classRoom +
(item.classRoom ? item.classRoom:'') +
'</div>';
});
html += '</td>';


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config 查看文件

@@ -41,7 +41,7 @@
<add name="BaseDb" connectionString="Server=123.57.209.16;Initial Catalog=adms7ultimate2_黑龙江艺术;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />
<add name="CollegeMIS" connectionString="Server=123.57.209.16;Initial Catalog=CollegeMIS_黑龙江艺术;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />
<add name="hangfireString" connectionString="Server=123.57.209.16;Initial Catalog=Hangfire;User ID=sa;Password=bjqjkj@2014~2015!" providerName="System.Data.SqlClient" />
<add name="paikeDbString" connectionString="Data Source=10.30.0.11;Database=paike;User ID=root;Password=12345678;" providerName="MySql.Data.MySqlClient" />
<add name="paikeDbString" connectionString="Data Source=8.141.155.183;port=23306;Database=cspaike;User ID=root;Password=QJKJ@bjqj@123;" providerName="MySql.Data.MySqlClient" />
<!--塔里木中间库一卡通-->
<!--<add name="TLMYKTDBString" connectionString="Data Source=orcl;Persist Security Info=True;User ID=bjqj;Password=bjqj;" providerName="System.Data.OracleClient" />-->
<add name="TLMZYMIDDLEString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TLMZYMIDDLE)));Persist Security Info=True;User ID=digitalschool;Password=digitalschool;" providerName="Oracle.ManagedDataAccess.Client" />

+ 17
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/AttendanceApi.cs 查看文件

@@ -23,6 +23,8 @@ namespace Learun.Application.WebApi.Modules
Post["/clockin"] = ClockIn;
//获取考勤打卡记录
Get["/getrecordpagelist"] = GetRecordPageList;
//判断学生当前打卡状态
Get["IsAttendanceStudent"] = IsAttendanceStudent;
}
private ADR_RestrictionIBLL adr_RestrictionBLL = new ADR_RestrictionBLL();
private ADR_RecordIBLL adr_RecordBLL = new ADR_RecordBLL();
@@ -42,6 +44,21 @@ namespace Learun.Application.WebApi.Modules
};
return Success(jsondata);
}
/// <summary>
/// 学生打卡判断
/// </summary>
/// <param name="_"></param>
/// <returns></returns>
public Response IsAttendanceStudent(dynamic _)
{
var res = adr_RestrictionBLL.IsAttendanceStudent();
var jsondata =
new
{
data = res
};
return Success(jsondata);
}

public class Attendance
{


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config 查看文件

@@ -111,5 +111,7 @@
<add key="OnlineElectiveLessonApplyMax" value="2" />
<!--系主任角色Id-->
<add key="DeptDirectorRoleId" value="9310c5f3-1a0a-4f23-9452-3e5a15b3b722" />
<!--最早上课打卡时间(分钟)-->
<add key="StuAttendanceEarliestMinute" value="15" />
</appSettings>

+ 10
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs 查看文件

@@ -28,6 +28,16 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("LESSONDATE")]
public DateTime? LessonDate { get; set; }
/// <summary>
/// 上课开始时间
/// </summary>
[Column("StartTime")]
public string StartTime { get; set; }
/// <summary>
/// 上课结束时间
/// </summary>
[Column("ENDTIME")]
public string EndTime { get; set; }
/// <summary>
/// 学年度
/// </summary>
/// <returns></returns>


+ 10
- 10
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs 查看文件

@@ -809,7 +809,7 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest
//判断有无上课时间
if (LessontimesList.Count() > 0 && LessontimesList.First().studyhour != null && LessontimesList.First().studyhour.Contains(","))
{
timelist = new List<string>(LessontimesList.First().studyhour.Split(','));
timelist = new List<string>(LessontimesList.First().studyhour.Split(','));
}
var oldArrangeLessonTermList = (await BaseRepository("CollegeMIS").FindListAsync<ArrangeLessonTermEntity>()).ToList();
var insertDataList = new List<ArrangeLessonTermEntity>();
@@ -819,22 +819,22 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest
var timesArr = item.timetext.Substring(0, item.timetext.Length - 1).Split(',');
foreach (var timesItem in timesArr)
{
string ltime = "";
string datestr = timesItem;
if (timelist.Count()>0&& timelist[Convert.ToInt32(item.section)]!=null)
string starttime = "";
string endtime = "";
if (timelist.Count() > 0 && timelist[Convert.ToInt32(item.section) - 1] != null)
{
ltime = timelist[Convert.ToInt32(item.section)];
DateTime dt = DateTime.Parse(datestr);
if (dt.Hour==0&&dt.Minute==0)
if (timelist[Convert.ToInt32(item.section) - 1].Contains("-"))
{
dt.Add(TimeSpan.Parse(ltime));
starttime = timelist[Convert.ToInt32(item.section) - 1].Split('-')[0];
endtime = timelist[Convert.ToInt32(item.section) - 1].Split('-')[1];
}
datestr = dt.ToString();
}
var insertData = new ArrangeLessonTermEntity
{
ALTId = Guid.NewGuid().ToString(),
LessonDate = DateTime.Parse(datestr),
LessonDate = DateTime.Parse(timesItem),
StartTime = starttime,
EndTime = endtime,
AcademicYearNo = item.year,
Semester = item.semester,
DeptNo = classinfo?.DeptNo,


+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs 查看文件

@@ -243,6 +243,25 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}

public ADR_RestrictionEntity IsAttendanceStudent()
{
try
{
return aDR_RestrictionService.IsAttendanceStudent();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

}


+ 10
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionEntity.cs 查看文件

@@ -157,6 +157,16 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
/// </summary>
[NotMapped]
public string AttendanceTypeString { get; set; }
[NotMapped]
public string LessonName { get; set; }
[NotMapped]
public string EmpName { get; set; }
[NotMapped]
public string StartTime { get; set; }
[NotMapped]
public string EndTime { get; set; }
[NotMapped]
public string Classroom { get; set; }

#endregion



+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs 查看文件

@@ -61,5 +61,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
ADR_RestrictionEntity GetADR_RestrictionEntityEnabled();
IEnumerable<ADR_RestrictionDayEntity> GetADR_RestrictionDay(string keyValue);
void SaveFormDay(string keyValue, List<ADR_RestrictionDayEntity> entity);
ADR_RestrictionEntity IsAttendanceStudent();
}
}

+ 80
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs 查看文件

@@ -1092,6 +1092,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
attendancerulEntity = this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m => m.REnable == true && m.AType == 1);
}
//考勤范围
adrresult.GPSLon = attendancerulEntity.GPSLon;
adrresult.GPSLat = attendancerulEntity.GPSLat;
adrresult.GPSRange = attendancerulEntity.GPSRange;
adrresult.GPSAddr = attendancerulEntity.GPSAddr;
//上班时间
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime);
//上班考勤时间段
@@ -1404,5 +1409,80 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}
}

public ADR_RestrictionEntity IsAttendanceStudent()
{
try
{
var adrresult = new ADR_RestrictionEntity();
var userinfo = LoginUserInfo.Get();
var stuInfoBasic = BaseRepository("").FindEntity<StuInfoBasicEntity>(m => m.StuNo == userinfo.account);
//当前服务器日期
var datenow = DateTime.Now.ToString("yyyy-MM-dd");
var datetimenow = DateTime.Now;
var StuNo = LoginUserInfo.Get().account;
//首先获取考勤规则
ADR_RestrictionEntity attendancerulEntity = null;
if (stuInfoBasic !=null)
{
attendancerulEntity = this.BaseRepository("CollegeMIS")
.FindEntity<ADR_RestrictionEntity>(m => m.REnable == true && m.AType == 2);
}
else
{
adrresult.AttendanceType = 5;
adrresult.AttendanceTypeString = "非学生用户不能签到";
return adrresult;
}
//考勤范围
adrresult.GPSLon = attendancerulEntity.GPSLon;
adrresult.GPSLat = attendancerulEntity.GPSLat;
adrresult.GPSRange = attendancerulEntity.GPSRange;
adrresult.GPSAddr = attendancerulEntity.GPSAddr;
//获取课表信息
//当前学年学期信息
var say=Common.GetSemesterAndYear();
//当天课程
var lessons = BaseRepository("").FindList<ArrangeLessonTermEntity>(m => m.AcademicYearNo == say.AcademicYearShort&&m.Semester==say.Semester
&&m.DeptNo==stuInfoBasic.DeptNo&&m.MajorNo==stuInfoBasic.MajorNo&&m.TeachClassNo.Contains(stuInfoBasic.ClassNo)&&m.LessonDate.Value.ToString("yyyy-MM-dd") == datenow);
//当前打卡课程判断
foreach (var arrangeLessonTermEntity in lessons)
{
TimeSpan start = TimeSpan.Parse(arrangeLessonTermEntity.StartTime);
int StuAttendanceEarliestMinute=string.IsNullOrEmpty(Util.Config.GetValue("StuAttendanceEarliestMinute"))?Convert.ToInt32(Util.Config.GetValue("StuAttendanceEarliestMinute")) :0;
//当前时间小于等于上课时间,且大于开课前指定分钟
if (datetimenow.TimeOfDay<=start && datetimenow.TimeOfDay< start.Add(-TimeSpan.FromMinutes(StuAttendanceEarliestMinute)))
{
adrresult.AttendanceType = 1;
adrresult.AttendanceTypeString = "正常签到";
adrresult.LessonName = arrangeLessonTermEntity.LessonName;
adrresult.StartTime = arrangeLessonTermEntity.StartTime;
adrresult.EndTime = arrangeLessonTermEntity.EndTime;
adrresult.EmpName = arrangeLessonTermEntity.EmpName;
adrresult.Classroom = BaseRepository("").FindEntity<ClassroomInfoEntity>(m => m.ClassroomNo == arrangeLessonTermEntity.ClassroomNo)?.ClassroomName;
return adrresult;
}
else
{
continue;
}
}
adrresult.AttendanceType = 5;
adrresult.AttendanceTypeString = "不在考勤时间范围";
return adrresult;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
}
}

Loading…
取消
儲存