Explorar el Código

【修改】学生考勤记录、教师考勤记录接口修改;

黑艺新账号
dyy hace 1 año
padre
commit
2f6bcc98c5
Se han modificado 5 ficheros con 172 adiciones y 113 borrados
  1. +27
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs
  2. +20
    -26
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs
  3. +31
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceEntity.cs
  4. +3
    -12
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs
  5. +91
    -73
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs

+ 27
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs Ver fichero

@@ -1217,7 +1217,7 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest
if (userType == "学生")
{
sql = @"SELECT
b.LessonNo,b.AcademicYearNo as AcademicYear,b.LessonName,b.LessonTime,b.LessonDate,b.Empname EmpName,b.EmpNo,c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,e.EnName,sa.AttendOrNo,sa.Sort
b.LessonNo,b.AcademicYearNo as AcademicYear,b.LessonName,b.LessonTime,b.LessonDate,b.Empname EmpName,b.EmpNo,c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,e.EnName,sa.AttendOrNo,sa.Sort,sa.ClockPlace,sa.ADPhoto,sa.ALon,sa.ALat,sa.AIsOut,sa.ARemark
from StuSelectLessonList a
left join ArrangeLessonTerm b on b.TeachClassNo=RTRIM(a.LessonName) + RTRIM(a.PartCode) + RTRIM(a.TeachClassNo)
left join ClassroomInfo c on c.ClassroomNo=b.classroomNo
@@ -2249,9 +2249,34 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
/// </summary>
public string AttendOrNo { get; set; }
/// <summary>
/// 出勤情况分类:准时、迟到、
/// 出勤情况分类:准时、迟到、请假、
/// </summary>
public string Sort { get; set; }
/// <summary>
/// 打卡地点
/// </summary>
public string ClockPlace { get; set; }
/// <summary>
/// 考勤照片
/// </summary>
public string ADPhoto { get; set; }
/// <summary>
/// 经度
/// </summary>
public decimal ALon { get; set; }
/// <summary>
/// 纬度
/// </summary>
public decimal ALat { get; set; }
/// <summary>
/// 是否外勤
/// </summary>
public bool AIsOut { get; set; }
/// <summary>
/// 备注
/// </summary>
public string ARemark { get; set; }


}



+ 20
- 26
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs Ver fichero

@@ -633,45 +633,39 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
string sql;
if (userType == "学生")
{
//sql = @"select a.LessonDate,a.AcademicYearNo as AcademicYear,a.Semester,a.LessonNo,a.LessonName+'[选修]' as LessonName,a.LessonSection as LessonTime,a.EmpNo,a.EmpName,a.ClassRoomName as ClassroomName,a.ClassRoomNo,a.LessonSortNo,b.OLPEId
// from StuSelectLessonListOfElective b
// left join ArrangeLessonTermOfElective a on b.OLPEId=a.PaiKeId
// where b.StuNo=@userAccount and b.Status=2
// and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
// and a.AcademicYearNo=@strAcademicYear and a.Semester=@strSemester
// and a.LessonDate >= @startDate and a.LessonDate <=@endDate
// and a.CheckMark='1'";
sql = @" select e.EnName,a.LessonDate,a.AcademicYearNo as AcademicYear,a.Semester,a.LessonNo,e.LessonName,a.LessonSection as LessonTime,a.EmpNo,emp.EmpName,cr.ClassroomName,a.ClassRoomNo,a.LessonSortNo,ccc.olpoeid as OLPEId
//选修课管理使用合班模式
sql = @" select e.EnName,a.LessonDate,a.AcademicYearNo as AcademicYear,a.Semester,a.LessonNo,e.LessonName,a.LessonSection as LessonTime,a.EmpNo,emp.EmpName,cr.ClassroomName,a.ClassRoomNo,a.LessonSortNo,ccc.olpoeid as OLPEId,st.AttendOrNo,st.Sort,st.ClockPlace,st.ADPhoto,st.ALon,st.ALat,st.AIsOut,st.ARemark
from
(select olpoeid from ElectiveMergeItem
where emid in (select emid from ElectiveMergeItem aa left
join StuSelectLessonListOfElective bb on aa.olpoeid = bb.olpeid

join StuSelectLessonListOfElective bb on aa.olpoeid = bb.olpeid
where bb.StuNo = @userAccount and bb.Status = 2
and bb.AcademicYearNo = @strAcademicYear and bb.Semester = @strSemester
)) as ccc
left join
left join
ArrangeLessonTermOfElective a on ccc.olpoeid = a.PaiKeId
left join LessonInfo e on a.LessonNo=e.LessonNo
left join EmpInfo emp on a.EmpNo=emp.EmpNo
left join ClassroomInfo cr on a.ClassRoomNo=cr.ClassroomNo
left join StuAttendance st on st.StuNo=@userAccount and st.AcademicYearNo=a.AcademicYearNo and st.Semester=a.Semester and st.LessonNo=a.LessonNo and st.LessonSortNo=a.LessonSortNo and st.LessonTime=a.LessonSection and st.EmpNo=a.EmpNo and st.ClassRoomNo=a.ClassRoomNo
where
a.AcademicYearNo = @strAcademicYear and a.Semester = @strSemester
and a.LessonDate >= @startDate and a.LessonDate <=@endDate
and a.CheckMark = '1'
union
select e.EnName,a.LessonDate,a.AcademicYearNo as AcademicYear,a.Semester,a.LessonNo,e.LessonName,a.LessonSection as LessonTime,a.EmpNo,emp.EmpName,cr.ClassroomName,a.ClassRoomNo,a.LessonSortNo,b.OLPEId
from StuSelectLessonListOfElective b
left join ArrangeLessonTermOfElective a on b.OLPEId=a.PaiKeId
left join LessonInfo e on a.LessonNo=e.LessonNo
left join EmpInfo emp on a.EmpNo=emp.EmpNo
left join ClassroomInfo cr on a.ClassRoomNo=cr.ClassroomNo
where b.StuNo=@userAccount and b.Status=2
and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
and a.AcademicYearNo=@strAcademicYear and a.Semester=@strSemester
and a.LessonDate >= @startDate and a.LessonDate <=@endDate
and a.CheckMark='1'
";
and a.CheckMark = '1' ";

//选修课管理不使用合班模式,则采用以下语句;
//sql = @"select e.EnName,a.LessonDate,a.AcademicYearNo as AcademicYear,a.Semester,a.LessonNo,e.LessonName,a.LessonSection as LessonTime,a.EmpNo,emp.EmpName,cr.ClassroomName,a.ClassRoomNo,a.LessonSortNo,b.OLPEId,st.AttendOrNo,st.Sort,st.ClockPlace,st.ADPhoto,st.ALon,st.ALat,st.AIsOut,st.ARemark
// from StuSelectLessonListOfElective b
// left join ArrangeLessonTermOfElective a on b.OLPEId=a.PaiKeId
// left join LessonInfo e on a.LessonNo=e.LessonNo
// left join EmpInfo emp on a.EmpNo=emp.EmpNo
// left join ClassroomInfo cr on a.ClassRoomNo=cr.ClassroomNo
// left join StuAttendance st on st.StuNo=@userAccount and st.AcademicYearNo=a.AcademicYearNo and st.Semester=a.Semester and st.LessonNo=a.LessonNo and st.LessonSortNo=a.LessonSortNo and st.LessonTime=a.LessonSection and st.EmpNo=a.EmpNo and st.ClassRoomNo=a.ClassRoomNo
// where b.StuNo=@userAccount and b.Status=2
// and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester
// and a.AcademicYearNo=@strAcademicYear and a.Semester=@strSemester
// and a.LessonDate >= @startDate and a.LessonDate <=@endDate
// and a.CheckMark='1' ";
}
else
{


+ 31
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceEntity.cs Ver fichero

@@ -202,6 +202,37 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
[Column("CLASSROOMNAME")]
public string ClassRoomName { get; set; }

/// <summary>
/// 打卡地点
/// </summary>
[Column("CLOCKPLACE")]
public string ClockPlace { get; set; }
/// <summary>
/// 考勤照片
/// </summary>
[Column("ADPHOTO")]
public string ADPhoto { get; set; }
/// <summary>
/// 经度
/// </summary>
[Column("ALON")]
public decimal? ALon { get; set; }
/// <summary>
/// 纬度
/// </summary>
[Column("ALAT")]
public decimal? ALat { get; set; }
/// <summary>
/// 是否外勤
/// </summary>
[Column("AISOUT")]
public bool? AIsOut { get; set; }
/// <summary>
/// 备注
/// </summary>
[Column("AREMARK")]
public string ARemark { get; set; }
#endregion

#region 扩展操作


+ 3
- 12
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs Ver fichero

@@ -110,19 +110,10 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
var baseDataName = this.BaseRepository().getDbConnection().Database;
var strSql = new StringBuilder();
strSql.Append(@"SELECT t.ID,
strSql.Append(@"SELECT t.*,
emp.F_RealName as UserName,
t.UserNo,
d.F_FullName as Department ,
c.F_ItemName as ADType,
t.ADTime,
t.ClockTime,
t.ClockStatus,
t.ClockPlace,
t.ADYear,
t.ADMonth,
t.ADDay,
t.ADPhoto,t.AISOut
d.F_FullName as Department,
c.F_ItemName as ADType
");
strSql.Append($" FROM ADR_Record t left JOIN {baseDataName}.dbo.LR_Base_User emp ON t.UserNo=emp.F_Account ");
strSql.Append($" left join {baseDataName}.dbo.LR_Base_Department d ON t.UserNo=emp.F_DepartmentId ");


+ 91
- 73
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs Ver fichero

@@ -206,7 +206,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement

//设备事件时间(在这里,=当前时间)
DateTime devicetime = Convert.ToDateTime(strTime);
//上班时间
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime);
//上班考勤时间段
@@ -1470,7 +1470,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
TimeSpan start = TimeSpan.Parse(arrangeLessonTermEntity.StartTime);
TimeSpan end = TimeSpan.Parse(arrangeLessonTermEntity.EndTime);
int StuAttendanceEarliestMinute = string.IsNullOrEmpty(Util.Config.GetValue("StuAttendanceEarliestMinute")) ? Convert.ToInt32(Util.Config.GetValue("StuAttendanceEarliestMinute")) : 0;
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)))
{
@@ -1486,10 +1486,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
//签到记录
var classnotemp = arrangeLessonTermEntity.TeachClassNo.Replace(arrangeLessonTermEntity.LessonName, "");
var attendanceEntity = BaseRepository("CollegeMIS").FindEntity<StuAttendanceEntity>(m => m.AcademicYearNo == say.AcademicYearShort && m.Semester == say.Semester
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo &&
m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == classnotemp &&
m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.StuNo == stuInfoBasic.StuNo);
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo
&& m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == classnotemp
&& m.LessonSortNo == arrangeLessonTermEntity.LessonSortNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonTime == arrangeLessonTermEntity.LessonTime
&& m.ClassRoomNo == arrangeLessonTermEntity.ClassroomNo && m.StuNo == stuInfoBasic.StuNo);
if (attendanceEntity != null)
{
adrresult.UserWorkTime = attendanceEntity.InertDate.ToString();
@@ -1511,10 +1512,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
//签到记录
var classnotemp = arrangeLessonTermEntity.TeachClassNo.Replace(arrangeLessonTermEntity.LessonName, "");
var attendanceEntity = BaseRepository("CollegeMIS").FindEntity<StuAttendanceEntity>(m => m.AcademicYearNo == say.AcademicYearShort && m.Semester == say.Semester
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo &&
m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == classnotemp &&
m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.StuNo == stuInfoBasic.StuNo);
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo
&& m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == classnotemp
&& m.LessonSortNo == arrangeLessonTermEntity.LessonSortNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonTime == arrangeLessonTermEntity.LessonTime
&& m.ClassRoomNo == arrangeLessonTermEntity.ClassroomNo && m.StuNo == stuInfoBasic.StuNo);
if (attendanceEntity != null)
{
adrresult.UserWorkTime = attendanceEntity.InertDate.ToString();
@@ -1523,71 +1525,75 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}
//选修课
var AcademicYearNo = Common.GetSemesterAndYear();
//当前学年学期选修课数据
var arrangeLessonTermOfElectiveListOfCurrentSemester = BaseRepository("CollegeMIS").FindList<ArrangeLessonTermOfElectiveEntity>(m => m.AcademicYearNo == AcademicYearNo.AcademicYearShort && m.Semester == AcademicYearNo.Semester);
//选课数据
var stuselectlessonofelective = BaseRepository("CollegeMIS").FindList<StuSelectLessonListOfElectiveEntity>(m => m.StuNo == stuInfoBasic.StuNo && m.AcademicYearNo == AcademicYearNo.AcademicYearShort && m.Semester == AcademicYearNo.Semester);
//选修课课表集合
List<ArrangeLessonTermOfElectiveEntity> arrangeLessonTermOfElectiveList = new List<ArrangeLessonTermOfElectiveEntity>();
foreach (var electiveEntity in stuselectlessonofelective)
{
if (electiveEntity.LessonSection.Contains(","))
{
string[] lessonsection = electiveEntity.LessonSection.Split(',');
//foreach (var s in lessonsection)
//{
var currentstudentelective = arrangeLessonTermOfElectiveListOfCurrentSemester.Where(m => m.AcademicYearNo == electiveEntity.AcademicYearNo && m.Semester == electiveEntity.Semester
&& m.LessonNo == electiveEntity.LessonNo && m.EmpNo == electiveEntity.EmpNo && m.ClassRoomNo == electiveEntity.ClassRoomNo && (m.LessonSection == lessonsection[0] || m.LessonSection == lessonsection[1]));

//有可能报错?//todo
arrangeLessonTermOfElectiveList.InsertRange(0, currentstudentelective.ToList());
//}
}
else
{
var currentstudentelective = arrangeLessonTermOfElectiveListOfCurrentSemester.Where(m => m.AcademicYearNo == electiveEntity.AcademicYearNo && m.Semester == electiveEntity.Semester
&& m.LessonNo == electiveEntity.LessonNo && m.EmpNo == electiveEntity.EmpNo && m.ClassRoomNo == electiveEntity.ClassRoomNo && m.LessonSection == electiveEntity.LessonSection);

//有可能报错?//todo
arrangeLessonTermOfElectiveList.InsertRange(0, currentstudentelective.ToList());
}
}
var lessonelective = arrangeLessonTermOfElectiveList.Where(m => m.LessonDate.Value.ToString("yyyy-MM-dd") == datenow && m.LessonTime.Contains("-"));
var lessonelective = BaseRepository("CollegeMIS").FindList<ArrangeLessonTermOfElectiveEntity>($@"select a.* from
(select olpoeid from ElectiveMergeItem
where emid in (select emid from ElectiveMergeItem aa left
join StuSelectLessonListOfElective bb on aa.olpoeid = bb.olpeid
where bb.StuNo = '{stuInfoBasic.StuNo}' and bb.Status = 2 and bb.AcademicYearNo = '{say.AcademicYearShort}' and bb.Semester = '{say.Semester}' )
) as ccc
left join ArrangeLessonTermOfElective a on ccc.olpoeid = a.PaiKeId
where a.AcademicYearNo = '{say.AcademicYearShort}' and a.Semester = '{say.Semester}'
and a.LessonDate = '{datenow}'
and a.CheckMark = '1' ");
//当前打卡课程判断
foreach (var arrangeLessonTermEntity in lessonelective)
{
var lessontime = arrangeLessonTermEntity.LessonTime.Split('-');
TimeSpan start = TimeSpan.Parse(lessontime[0]);
TimeSpan end = TimeSpan.Parse(lessontime[1]);
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 = lessontime[0];
adrresult.EndTime = lessontime[1];
adrresult.EmpName = arrangeLessonTermEntity.EmpName;
adrresult.Classroom = BaseRepository("CollegeMIS").FindEntity<ClassroomInfoEntity>(m => m.ClassroomNo == arrangeLessonTermEntity.ClassRoomNo)?.ClassroomName;
adrresult.LessonSortNo = "2";
adrresult.ALTOEId = arrangeLessonTermEntity.Id;
return adrresult;
}
//迟到打卡
if (datetimenow.TimeOfDay > start && datetimenow.TimeOfDay <= end)
if (arrangeLessonTermEntity.LessonTime.Contains("-"))
{
adrresult.AttendanceType = 2;
adrresult.AttendanceTypeString = "迟到";
adrresult.LessonName = arrangeLessonTermEntity.LessonName;
adrresult.StartTime = lessontime[0];
adrresult.EndTime = lessontime[1];
adrresult.EmpName = arrangeLessonTermEntity.EmpName;
adrresult.Classroom = BaseRepository("CollegeMIS").FindEntity<ClassroomInfoEntity>(m => m.ClassroomNo == arrangeLessonTermEntity.ClassRoomNo)?.ClassroomName;
adrresult.LessonSortNo = "2";
adrresult.ALTOEId = arrangeLessonTermEntity.Id;
return adrresult;
var lessontime = arrangeLessonTermEntity.LessonTime.Split('-');
TimeSpan start = TimeSpan.Parse(lessontime[0]);
TimeSpan end = TimeSpan.Parse(lessontime[1]);
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 = lessontime[0];
adrresult.EndTime = lessontime[1];
adrresult.EmpName = arrangeLessonTermEntity.EmpName;
adrresult.Classroom = BaseRepository("CollegeMIS").FindEntity<ClassroomInfoEntity>(m => m.ClassroomNo == arrangeLessonTermEntity.ClassRoomNo)?.ClassroomName;
adrresult.LessonSortNo = "2";
adrresult.ALTOEId = arrangeLessonTermEntity.Id;
//签到记录
var attendanceEntity = BaseRepository("CollegeMIS").FindEntity<StuAttendanceEntity>(m => m.AcademicYearNo == say.AcademicYearShort && m.Semester == say.Semester
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo
&& m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == stuInfoBasic.ClassNo
&& m.LessonSortNo == arrangeLessonTermEntity.LessonSortNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonTime == arrangeLessonTermEntity.LessonSection
&& m.ClassRoomNo == arrangeLessonTermEntity.ClassRoomNo && m.StuNo == stuInfoBasic.StuNo);
if (attendanceEntity != null)
{
adrresult.UserWorkTime = attendanceEntity.InertDate.ToString();
}
return adrresult;
}
//迟到打卡
if (datetimenow.TimeOfDay > start && datetimenow.TimeOfDay <= end)
{
adrresult.AttendanceType = 2;
adrresult.AttendanceTypeString = "迟到";
adrresult.LessonName = arrangeLessonTermEntity.LessonName;
adrresult.StartTime = lessontime[0];
adrresult.EndTime = lessontime[1];
adrresult.EmpName = arrangeLessonTermEntity.EmpName;
adrresult.Classroom = BaseRepository("CollegeMIS").FindEntity<ClassroomInfoEntity>(m => m.ClassroomNo == arrangeLessonTermEntity.ClassRoomNo)?.ClassroomName;
adrresult.LessonSortNo = "2";
adrresult.ALTOEId = arrangeLessonTermEntity.Id;
//签到记录
var attendanceEntity = BaseRepository("CollegeMIS").FindEntity<StuAttendanceEntity>(m => m.AcademicYearNo == say.AcademicYearShort && m.Semester == say.Semester
&& m.DeptNo == stuInfoBasic.DeptNo && m.MajorNo == stuInfoBasic.MajorNo
&& m.LessonNo == arrangeLessonTermEntity.LessonNo && m.ClassNo == stuInfoBasic.ClassNo
&& m.LessonSortNo == arrangeLessonTermEntity.LessonSortNo && m.LessonDate == arrangeLessonTermEntity.LessonDate
&& m.EmpNo == arrangeLessonTermEntity.EmpNo && m.LessonTime == arrangeLessonTermEntity.LessonSection
&& m.ClassRoomNo == arrangeLessonTermEntity.ClassRoomNo && m.StuNo == stuInfoBasic.StuNo);
if (attendanceEntity != null)
{
adrresult.UserWorkTime = attendanceEntity.InertDate.ToString();
}
return adrresult;
}
}
}
adrresult.AttendanceType = 5;
@@ -1660,7 +1666,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
var datetimenow = DateTime.Now;
TimeSpan start = TimeSpan.Parse(arrangelessonterm.StartTime);
TimeSpan end = TimeSpan.Parse(arrangelessonterm.EndTime);
int StuAttendanceEarliestMinute = string.IsNullOrEmpty(Util.Config.GetValue("StuAttendanceEarliestMinute")) ? Convert.ToInt32(Util.Config.GetValue("StuAttendanceEarliestMinute")) : 0;
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)))
{
@@ -1681,6 +1687,12 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
attendanceEntity.InertDate = datetimenow;
attendanceEntity.ClassRoomNo = arrangelessonterm.ClassroomNo;
attendanceEntity.ClassRoomName = classroom.FirstOrDefault(m => m.ClassroomNo == arrangelessonterm.ClassroomNo)?.ClassroomName;
attendanceEntity.ClockPlace = clockPlace;
attendanceEntity.ADPhoto = adPhoto;
attendanceEntity.ALon = aLon;
attendanceEntity.ALat = aLat;
attendanceEntity.AIsOut = aIsOut;
attendanceEntity.ARemark = aRemark;
}
if (lessonSortNo == "2")
{
@@ -1712,7 +1724,7 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
var lessontime = arrangeLessonTermOfElective.LessonTime.Split('-');
TimeSpan start = TimeSpan.Parse(lessontime[0]);
TimeSpan end = TimeSpan.Parse(lessontime[1]);
int StuAttendanceEarliestMinute = string.IsNullOrEmpty(Util.Config.GetValue("StuAttendanceEarliestMinute")) ? Convert.ToInt32(Util.Config.GetValue("StuAttendanceEarliestMinute")) : 0;
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)))
{
@@ -1733,6 +1745,12 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
attendanceEntity.InertDate = datetimenow;
attendanceEntity.ClassRoomNo = arrangeLessonTermOfElective.ClassRoomNo;
attendanceEntity.ClassRoomName = classroom.FirstOrDefault(m => m.ClassroomNo == arrangeLessonTermOfElective.ClassRoomNo)?.ClassroomName;
attendanceEntity.ClockPlace = clockPlace;
attendanceEntity.ADPhoto = adPhoto;
attendanceEntity.ALon = aLon;
attendanceEntity.ALat = aLat;
attendanceEntity.AIsOut = aIsOut;
attendanceEntity.ARemark = aRemark;
}
base.BaseRepository("CollegeMIS").Insert(attendanceEntity);
return true;


Cargando…
Cancelar
Guardar