Sfoglia il codice sorgente

【修改】学生课表请假审核:增加考勤签到表的去重判断;

黑艺新账号
dyy 1 anno fa
parent
commit
a5b7fe1f5b
5 ha cambiato i file con 103 aggiunte e 36 eliminazioni
  1. +46
    -32
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuAttendanceLeaveController.cs
  2. +24
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceBLL.cs
  3. +6
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceIBLL.cs
  4. +23
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceService.cs
  5. +4
    -4
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/list.vue

+ 46
- 32
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/StuAttendanceLeaveController.cs Vedi File

@@ -143,39 +143,53 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
if (entity.IsCheck == "1")
{
var gender = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo)?.GenderNo;
StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity();
stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
stuAttendanceEntity.ClassName = entity.ClassName;
stuAttendanceEntity.ClassNo = entity.ClassNo;
stuAttendanceEntity.DeptName = entity.DeptName;
stuAttendanceEntity.DeptNo = entity.DeptNo;
stuAttendanceEntity.EmpNo = entity.EmpNo;
stuAttendanceEntity.Grade = entity.Grade;
stuAttendanceEntity.InertDate = DateTime.Now;
stuAttendanceEntity.LessonDate = entity.LessonDate;
stuAttendanceEntity.LessonName = entity.LessonName;
stuAttendanceEntity.LessonNo = entity.LessonNo;
stuAttendanceEntity.LessonSortName = entity.LessonSortName;
stuAttendanceEntity.LessonSortNo = entity.LessonSortNo;
stuAttendanceEntity.LessonTime = entity.LessonTime;
stuAttendanceEntity.MajorName = entity.MajorName;
stuAttendanceEntity.MajorNo = entity.MajorNo;
stuAttendanceEntity.PlanWeek = null;
stuAttendanceEntity.Semester = entity.Semester;
stuAttendanceEntity.StuName = entity.StuName;
stuAttendanceEntity.StuNo = entity.StuNo;
stuAttendanceEntity.TeachClassNo = entity.TeachClassNo;
stuAttendanceEntity.Sort = "请假";
stuAttendanceEntity.AttendOrNo = "否";
stuAttendanceEntity.ClassRoomName = entity.ClassRoomName;
stuAttendanceEntity.ClassRoomNo = entity.ClassRoomNo;
stuAttendanceEntity.Gender = Convert.ToBoolean(gender) ? "男" : "女";
stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
stuAttendanceEntity.CheckMarkDept = "";
stuAttendanceEntity.CheckMark = "";
//查找是否存在同一门课的考勤信息:存在则修改,不存在则新增;
var model = stuAttendanceIBLL.GetStuAttendanceEntityByQuery(entity);
if (model != null)
{
model.AttendOrNo = "否";
model.Sort = "请假";
model.Remark = "PC端-学生课表请假管理-审核同意";
model.InertDate = DateTime.Now;
stuAttendanceIBLL.SaveEntity(model.ID, model);
}
else
{
var gender = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo)?.GenderNo;
StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity();
stuAttendanceEntity.AcademicYearNo = entity.AcademicYearNo;
stuAttendanceEntity.Semester = entity.Semester;
stuAttendanceEntity.StuNo = entity.StuNo;
stuAttendanceEntity.StuName = entity.StuName;
stuAttendanceEntity.Gender = Convert.ToBoolean(gender) ? "男" : "女";
stuAttendanceEntity.Grade = entity.Grade;
stuAttendanceEntity.DeptNo = entity.DeptNo;
stuAttendanceEntity.DeptName = entity.DeptName;
stuAttendanceEntity.MajorNo = entity.MajorNo;
stuAttendanceEntity.MajorName = entity.MajorName;
stuAttendanceEntity.ClassNo = entity.ClassNo;
stuAttendanceEntity.ClassName = entity.ClassName;
stuAttendanceEntity.LessonNo = entity.LessonNo;
stuAttendanceEntity.LessonName = entity.LessonName;
stuAttendanceEntity.TeachClassNo = entity.TeachClassNo;
stuAttendanceEntity.LessonSortNo = entity.LessonSortNo;
stuAttendanceEntity.LessonSortName = entity.LessonSortName;
stuAttendanceEntity.LessonDate = entity.LessonDate;
stuAttendanceEntity.PlanWeek = null;
stuAttendanceEntity.LessonTime = entity.LessonTime;
stuAttendanceEntity.AttendOrNo = "否";
stuAttendanceEntity.Sort = "请假";
stuAttendanceEntity.EmpNo = entity.EmpNo;
stuAttendanceEntity.Remark = "PC端-学生课表请假管理-审核同意";
stuAttendanceEntity.CheckMarkDept = "0";
stuAttendanceEntity.CheckMark = "0";
stuAttendanceEntity.InertDate = DateTime.Now;
stuAttendanceEntity.ClassRoomNo = entity.ClassRoomNo;
stuAttendanceEntity.ClassRoomName = entity.ClassRoomName;

stuAttendanceIBLL.SaveEntity("", stuAttendanceEntity);
stuAttendanceIBLL.SaveEntity("", stuAttendanceEntity);

}

}
}


+ 24
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceBLL.cs Vedi File

@@ -196,6 +196,30 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}
}

/// <summary>
/// 按条件查找同一门课的考勤信息
/// <summary>
/// <returns></returns>
public StuAttendanceEntity GetStuAttendanceEntityByQuery(StuAttendanceLeaveEntity entity)
{
try
{
return stuAttendanceService.GetStuAttendanceEntityByQuery(entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

#region 提交数据


+ 6
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceIBLL.cs Vedi File

@@ -54,6 +54,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<StuAttendanceEntity> GetAttendancePageList(Pagination pagination, string queryJson);

/// <summary>
/// 按条件查找同一门课的考勤信息
/// <summary>
/// <returns></returns>
StuAttendanceEntity GetStuAttendanceEntityByQuery(StuAttendanceLeaveEntity entity);
#endregion

#region 提交数据


+ 23
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendance/StuAttendanceService.cs Vedi File

@@ -426,6 +426,29 @@ where 1=1 ");
}
}

/// <summary>
/// 按条件查找同一门课的考勤信息
/// <summary>
/// <returns></returns>
public StuAttendanceEntity GetStuAttendanceEntityByQuery(StuAttendanceLeaveEntity entity)
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<StuAttendanceEntity>(x => x.StuNo == entity.StuNo && x.AcademicYearNo == entity.AcademicYearNo && x.Semester == entity.Semester && x.DeptNo == entity.DeptNo && x.MajorNo == entity.MajorNo && x.ClassNo == entity.ClassNo && x.LessonNo == entity.LessonNo && x.LessonSortNo == entity.LessonSortNo && x.LessonDate == entity.LessonDate && x.LessonTime == entity.LessonTime && x.EmpNo == entity.EmpNo && x.ClassRoomNo == entity.ClassRoomNo);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

#endregion

#region 提交数据


+ 4
- 4
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/list.vue Vedi File

@@ -9,7 +9,7 @@
<l-scroll-list v-if="ready" @pullDown="pullDown" @toBottom="fetchList()" ref="list">
<l-customlist :tips="loadState" showTips>
<!-- 单条记录 -->
<view class="customlist-item" v-for="item of list" :key="item.Id">
<view class="customlist-item" v-for="item of list" :key="item.ID">
<view class="customlist-item-field">
<text class="customlist-item-field-title">学年度:</text>
@@ -62,7 +62,7 @@
</view>
<l-customlist-action showButton buttonText="审核" @join="action('check',item.Id)" @view="action('view', item.Id)" />
<l-customlist-action showButton buttonText="审核" @join="action('check',item.ID)" @view="action('view', item.ID)" />
</view>
</l-customlist>
</l-scroll-list>
@@ -195,14 +195,14 @@ export default {
// 拉取列表
async fetchList() {
if (this.page > this.total) { return }
const result = await this.HTTP_GET(
'learun/adms/EducationalAdministration/StuAttendanceLeave/pagelist',
{
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序)
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序
pagination: { rows: 10, page: this.page, sidx: 'Id', sord: 'DESC' },
queryJson: JSON.stringify(this.searchData)
queryJson: JSON.stringify(Object.assign(this.searchData, {ClassManagerNo: this.GET_GLOBAL('loginUser').account}))
},
'加载数据时出错'
)


Caricamento…
Annulla
Salva