|
|
@@ -442,7 +442,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
this.BaseRepository("CollegeMIS").ExecuteBySql("insert into ADR_Record(ID, UserNo, ADType, ADTime, ClockTime, ClockStatus, ClockPlace, ADYear, ADMonth, ADDay, ADPhoto,ALon,ALat,AIsOut,ARemark) values(" + |
|
|
|
"'" + adrRecordEntity.ID + "','" + adrRecordEntity.UserNo + "','" + adrRecordEntity.ADType + "','" + adrRecordEntity.ADTime + "'," + |
|
|
|
"'" + adrRecordEntity.ClockTime + "','" + adrRecordEntity.ClockStatus + "','" + adrRecordEntity.ClockPlace + "','" + adrRecordEntity.ADYear + "'," + |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "',"+adrRecordEntity.ALon+","+adrRecordEntity.ALat+","+adrRecordEntity.AIsOut+",'"+adrRecordEntity.ARemark+"')"); |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "',"+adrRecordEntity.ALon+","+adrRecordEntity.ALat+",'"+adrRecordEntity.AIsOut+"','"+adrRecordEntity.ARemark+"')"); |
|
|
|
return true; |
|
|
|
} |
|
|
|
#endregion |
|
|
@@ -557,7 +557,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
this.BaseRepository("CollegeMIS").ExecuteBySql("insert into ADR_Record(ID, UserNo, ADType, ADTime, ClockTime, ClockStatus, ClockPlace, ADYear, ADMonth, ADDay, ADPhoto,ALon,ALat,AIsOut,ARemark) values(" + |
|
|
|
"'" + adrRecordEntity.ID + "','" + adrRecordEntity.UserNo + "','" + adrRecordEntity.ADType + "','" + adrRecordEntity.ADTime + "'," + |
|
|
|
"'" + adrRecordEntity.ClockTime + "','" + adrRecordEntity.ClockStatus + "','" + adrRecordEntity.ClockPlace + "','" + adrRecordEntity.ADYear + "'," + |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + "," + adrRecordEntity.AIsOut + ",'" + adrRecordEntity.ARemark + "')"); |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + ",'" + adrRecordEntity.AIsOut + "','" + adrRecordEntity.ARemark + "')"); |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
@@ -647,7 +647,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
this.BaseRepository("CollegeMIS").ExecuteBySql("insert into ADR_Record(ID, UserNo, ADType, ADTime, ClockTime, ClockStatus, ClockPlace, ADYear, ADMonth, ADDay, ADPhoto,ALon,ALat,AIsOut,ARemark) values(" + |
|
|
|
"'" + adrRecordEntity.ID + "','" + adrRecordEntity.UserNo + "','" + adrRecordEntity.ADType + "','" + adrRecordEntity.ADTime + "'," + |
|
|
|
"'" + adrRecordEntity.ClockTime + "','" + adrRecordEntity.ClockStatus + "','" + adrRecordEntity.ClockPlace + "','" + adrRecordEntity.ADYear + "'," + |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + "," + adrRecordEntity.AIsOut + ",'" + adrRecordEntity.ARemark + "')"); |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + ",'" + adrRecordEntity.AIsOut + "','" + adrRecordEntity.ARemark + "')"); |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
@@ -1036,7 +1036,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
this.BaseRepository("CollegeMIS").ExecuteBySql("insert into ADR_Record(ID, UserNo, ADType, ADTime, ClockTime, ClockStatus, ClockPlace, ADYear, ADMonth, ADDay, ADPhoto,ALon,ALat,AIsOut,ARemark) values(" + |
|
|
|
"'" + adrRecordEntity.ID + "','" + adrRecordEntity.UserNo + "','" + adrRecordEntity.ADType + "','" + adrRecordEntity.ADTime + "'," + |
|
|
|
"'" + adrRecordEntity.ClockTime + "','" + adrRecordEntity.ClockStatus + "','" + adrRecordEntity.ClockPlace + "','" + adrRecordEntity.ADYear + "'," + |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + "," + adrRecordEntity.AIsOut + ",'" + adrRecordEntity.ARemark + "')"); |
|
|
|
"'" + adrRecordEntity.ADMonth + "','" + adrRecordEntity.ADDay + "','" + adrRecordEntity.ADPhoto + "'," + adrRecordEntity.ALon + "," + adrRecordEntity.ALat + ",'" + adrRecordEntity.AIsOut + "','" + adrRecordEntity.ARemark + "')"); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
@@ -1074,7 +1074,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
var adrresult = new ADR_RestrictionEntity(); |
|
|
|
var userinfo = LoginUserInfo.Get(); |
|
|
|
var empinfo = BaseRepository("").FindEntity<EmpInfoEntity>(m=>m.EmpNo==userinfo.account); |
|
|
|
var empinfo = BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(m=>m.EmpNo==userinfo.account); |
|
|
|
//当前服务器日期 |
|
|
|
var datenow = DateTime.Now.ToString("yyyy-MM-dd"); |
|
|
|
|
|
|
@@ -1083,6 +1083,12 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
|
|
|
|
//首先获取考勤规则 |
|
|
|
ADR_RestrictionEntity attendancerulEntity =null; |
|
|
|
if (empinfo==null) |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 5; |
|
|
|
adrresult.AttendanceTypeString = "不在考勤时间范围"; |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//代课老师全天可以考勤 |
|
|
|
if (empinfo.IsHasLesson==true) |
|
|
|
{ |
|
|
@@ -1092,11 +1098,21 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
attendancerulEntity = this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m => m.REnable == true && m.AType == 1); |
|
|
|
} |
|
|
|
//获取考勤日期 |
|
|
|
var listday = this.BaseRepository("CollegeMIS").FindList<ADR_RestrictionDayEntity>(m=>m.RId== attendancerulEntity.ID); |
|
|
|
if (listday==null||listday.Count(m => m.WorkDay.ToString("yyyy-MM-dd")== datenow)==0) |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 5; |
|
|
|
adrresult.AttendanceTypeString = "不在考勤时间范围"; |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//考勤范围 |
|
|
|
adrresult.GPSLon = attendancerulEntity.GPSLon; |
|
|
|
adrresult.GPSLat = attendancerulEntity.GPSLat; |
|
|
|
adrresult.GPSRange = attendancerulEntity.GPSRange; |
|
|
|
adrresult.GPSAddr = attendancerulEntity.GPSAddr; |
|
|
|
adrresult.WorkTime = attendancerulEntity.WorkTime; |
|
|
|
adrresult.CloseTime = attendancerulEntity.CloseTime; |
|
|
|
//上班时间 |
|
|
|
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime); |
|
|
|
//上班考勤时间段 |
|
|
@@ -1108,7 +1124,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
//下班考勤时间段 |
|
|
|
DateTime signOutStartTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutStartTime); |
|
|
|
DateTime signOutEndTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutEndTime); |
|
|
|
|
|
|
|
//小于上班考勤开始时间或大于下班考勤结束时间,(超出打卡时间范围黄色) |
|
|
|
if (datetimenow < signInStartTime || datetimenow > signOutEndTime) |
|
|
|
{ |
|
|
@@ -1149,7 +1164,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 3; |
|
|
|
adrresult.AttendanceTypeString = "早退打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//超过上班最晚签到时间 小于下班最早签退时间,黄色 |
|
|
@@ -1165,8 +1180,8 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
//更新最晚下班时间 |
|
|
|
adrresult.AttendanceType = 1; |
|
|
|
adrresult.AttendanceTypeString = "正常打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.Where(m=>m.ADType=="1").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.CloseTime = attendancerecordList.Where(m => m.ADType == "2").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.Where(m=>m.ADType=="1").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserCloseTime = attendancerecordList.Where(m => m.ADType == "2").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
} |
|
|
@@ -1204,7 +1219,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 3; |
|
|
|
adrresult.AttendanceTypeString = "早退打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//超过上班最晚签到时间 小于中午下班最早签退时间,黄色 |
|
|
@@ -1220,8 +1235,8 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
//更新最晚下班时间 |
|
|
|
adrresult.AttendanceType = 1; |
|
|
|
adrresult.AttendanceTypeString = "正常打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.Where(m => m.ADType == "1").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.CloseTime = attendancerecordList.Where(m => m.ADType == "8").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.Where(m => m.ADType == "1").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserCloseTime = attendancerecordList.Where(m => m.ADType == "8").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//超过中午下班结束时间 小于中午上班开始时间 |
|
|
@@ -1246,8 +1261,8 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 3; |
|
|
|
adrresult.AttendanceTypeString = "早退打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.Where(m => m.ADType == "7").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.CloseTime = attendancerecordList.Where(m => m.ADType == "8").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.Where(m => m.ADType == "7").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserCloseTime = attendancerecordList.Where(m => m.ADType == "8").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
//下班 大于下班最早签退时间,小于 下班结束时间 |
|
|
@@ -1255,7 +1270,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement |
|
|
|
{ |
|
|
|
adrresult.AttendanceType = 1; |
|
|
|
adrresult.AttendanceTypeString = "正常打卡"; |
|
|
|
adrresult.WorkTime = attendancerecordList.Where(m => m.ADType == "7").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
adrresult.UserWorkTime = attendancerecordList.Where(m => m.ADType == "7").OrderByDescending(m => m.ADTime).First().ADTime.Value.ToString(); |
|
|
|
return adrresult; |
|
|
|
} |
|
|
|
|
|
|
|