Parcourir la source

【修改】学业成绩考核记载表;

长阳分支推送专用
dyy il y a 2 ans
Parent
révision
ec657cfd99
6 fichiers modifiés avec 288 ajouts et 178 suppressions
  1. +17
    -12
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ScoreCheckInfoController.cs
  2. +167
    -166
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ScoreCheckInfo/RecordTablePrint.cshtml
  3. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ScoreCheckInfo/ScoreCheckInfoEntity.cs
  4. +26
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveBLL.cs
  5. +7
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveIBLL.cs
  6. +69
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveService.cs

+ 17
- 12
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/ScoreCheckInfoController.cs Voir le fichier

@@ -24,6 +24,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
private StuPunishmentIBLL stuPunishmentIBLL = new StuPunishmentBLL();
private StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
private StudentCertificateIBLL studentCertificateIBLL = new StudentCertificateBLL();
private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();

#region 视图功能

@@ -86,24 +87,28 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
entity = new ScoreCheckInfoEntity();
}
//意见盖章
var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(entity.FilePath);
if (annexesFileEntity != null)
if (!string.IsNullOrEmpty(entity.FilePath))
{
entity.FilePath = annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource")-1);
}
else
{
entity.FilePath = "";
var annexesFileEntity = annexesFileIBLL.GetEntityByFolderId(entity.FilePath);
if (annexesFileEntity != null)
{
entity.FilePath = annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource") - 1);
}
else
{
entity.FilePath = "";
}
}
//职业资格证书(-表中无学年学期字段)
entity.StudentCertificateList = studentCertificateIBLL.GetList(entity.StuNo).OrderByDescending(x=>x.CreateTime).ToList();
//职业资格证书(-表中无学年学期字段???待增加 todo:)
entity.StudentCertificateList = studentCertificateIBLL.GetList(entity.StuNo).OrderByDescending(x => x.CreateTime).ToList();
//奖罚情况
entity.StuEncourgementList = stuEncourgementIBLL.GetEncourgementListByStuNo(entity.AcademicYearNo,entity.Semester,entity.StuNo).ToList();
entity.StuEncourgementList = stuEncourgementIBLL.GetEncourgementListByStuNo(entity.AcademicYearNo, entity.Semester, entity.StuNo).ToList();
entity.StuPunishmentList = stuPunishmentIBLL.GetPunishmentListByStuNo(entity.AcademicYearNo, entity.Semester, entity.StuNo).ToList();
//学习成绩
entity.StuScoreList = stuScoreIBLL.GetAllScoreListByStuNo(entity.StuNo).Where(x => x.AcademicYearNo ==entity.AcademicYearNo && x.Semester == entity.Semester && x.CheckMark=="1").ToList();
entity.StuScoreList = stuScoreIBLL.GetScoreListByStuInfo("{\"AcademicYearNo\":\"" + entity.AcademicYearNo + "\",\"Semester\":\"" + entity.Semester + "\",\"StuNo\":\"" + entity.StuNo + "\"}").ToList();
//考勤
//todo:
entity.StuAttendanceLeaveList = stuAttendanceLeaveIBLL.GetListByJson("{\"AcademicYearNo\":\"" + entity.AcademicYearNo + "\",\"Semester\":\"" + entity.Semester + "\",\"StuNo\":\"" + entity.StuNo + "\"}").ToList();


return View(entity);


+ 167
- 166
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ScoreCheckInfo/RecordTablePrint.cshtml Voir le fichier

@@ -1,4 +1,5 @@
@model Learun.Application.TwoDevelopment.EducationalAdministration.ScoreCheckInfoEntity
@using Learun.Application.TwoDevelopment.EducationalAdministration
@model Learun.Application.TwoDevelopment.EducationalAdministration.ScoreCheckInfoEntity
@{
ViewBag.Title = "学业成绩考核记载表";
Layout = null;
@@ -21,182 +22,180 @@
<div class="table-page">
<h1 class="table-title">学生成绩考核记载表( @Model.AcademicYearNo 学年,第 @Model.Semester 学期)</h1>
<table id="table" border="1" cellspacing="0" cellpadding="10" width="100%" align="center">
<tr>
<td rowspan="9">
<div style="width:20px;display: inline-block;">学业成绩</div>
</td>
<td rowspan="2">学科名称</td>
<td colspan="2">成 绩</td>
<td rowspan="2">学科名称</td>
<td colspan="2">成 绩</td>
</tr>
<tr>
<td>正考</td>
<td>补考</td>
<td>正考</td>
<td>补考</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="2">学校教务部门审核意见</td>
<td colspan="5">
<div style="text-align:left;">@Model.CheckOpinion</div>
<div class="text-right" style="padding-right: 64px;margin-top: 10px;position:relative;">(盖&nbsp; 章)
<img id="FilePath" src="" style="position:absolute;bottom:0;right:5px;width:50px;height:30px;"/>
</div>
<div class="text-right" style="padding-right: 8px;">
@{
if (Model.CheckTime.HasValue)
@{
var scoreList = Model.StuScoreList as IEnumerable<StuScoreEntity>;
//两个为一组
var scoreListTemp = scoreList.Select((x, i) => new { Index = i, Value = x }).GroupBy(x => x.Index / 2).Select(x => x.Select(y => y.Value).ToList()).ToList();
//第一列占多少行
int rowNum = 9;
if (scoreList.Count() > 14)
{
rowNum = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(scoreList.Count() / 2))) + 2;
}

<tr>
<td rowspan="@rowNum">
<div style="width:20px;display: inline-block;">学业成绩</div>
</td>
<td rowspan="2">学科名称</td>
<td colspan="2">成 绩</td>
<td rowspan="2">学科名称</td>
<td colspan="2">成 绩</td>
</tr>
<tr>
<td>正考</td>
<td>补考</td>
<td>正考</td>
<td>补考</td>
</tr>
for (int i = 0; i < rowNum - 2; i++)
{
<tr>
@if (i < scoreListTemp.Count())
{
for (int j = 0; j < 2; j++)
{
<span>@Model.CheckTime.Value.Year 年 @Model.CheckTime.Value.Month 月 @Model.CheckTime.Value.Day 日</span>
if (j < scoreListTemp[i].Count())
{
<td>@scoreListTemp[i][j].LessonName</td>
<td>@(scoreListTemp[i][j].Score == null ? 0 : scoreListTemp[i][j].Score)</td>
<td>@(Convert.ToInt32(scoreListTemp[i][j].ScoreOfNotPassTwo) > 0 ? scoreListTemp[i][j].ScoreOfNotPassTwo : scoreListTemp[i][j].ScoreOfNotPass)</td>
}
else
{
<td></td>
<td></td>
<td></td>
}

}
else
}
else
{
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
}
</tr>
}
<tr>
<td colspan="2">学校教务部门审核意见</td>
<td colspan="5">
<div style="text-align:left;">@Model.CheckOpinion</div>
<div class="text-right" style="padding-right: 64px;margin-top: 10px;position:relative;">
(盖&nbsp; 章)
@if (!string.IsNullOrEmpty(Model.FilePath))
{
<span>年 &nbsp; &nbsp; &nbsp; 月 &nbsp; &nbsp; &nbsp; 日</span>
<img id="FilePath" src="@Model.FilePath" style="position:absolute;bottom:0;right:5px;width:50px;height:30px;" />
}
</div>
<div class="text-right" style="padding-right: 8px;">
@{
if (Model.CheckTime.HasValue)
{
<span>@Model.CheckTime.Value.Year 年 @Model.CheckTime.Value.Month 月 @Model.CheckTime.Value.Day 日</span>
}
else
{
<span>年 &nbsp; &nbsp; &nbsp; 月 &nbsp; &nbsp; &nbsp; 日</span>
}
}
}

</div>
</td>
</tr>
<tr>
<td rowspan="2">考勤</td>
<td style="padding: 6px;">事假(节)</td>
<td colspan="5" style="border: none;padding:0">
<table border="1" cellspacing="0" cellpadding="6" width="100%" align="center"
style="border-width: 0px;">
<tr>
<td>病假(节)</td>
<td>旷课(节)</td>
<td>迟到(次)</td>
<td>早退(次)</td>
</tr>
</table>
</td>
</div>
</td>
</tr>
<tr>
<td rowspan="2">考勤</td>
<td style="padding: 6px;">事假(节)</td>
<td colspan="5" style="border: none;padding:0">
<table border="1" cellspacing="0" cellpadding="6" width="100%" align="center"
style="border-width: 0px;">
<tr>
<td>病假(节)</td>
<td>旷课(节)</td>
<td>迟到(次)</td>
<td>早退(次)</td>
</tr>
</table>
</td>

</tr>
<tr>
<td></td>
<td colspan="5" style="border: none;padding:0">
<table border="1" cellspacing="0" cellpadding="10" width="100%" align="center"
style="border-width: 0px;">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">职业资格证书获得情况</td>
<td colspan="5">
<div style="text-align:left">
@foreach (var item in Model.StudentCertificateList)
{
<span>@(Model.StudentCertificateList.IndexOf(item)+1)、@item.SCName @item.CreateTime.Value.ToShortDateString().Replace("/", "-")</span><br>
}
</div>
</td>
</tr>
<tr>
<td colspan="2">奖 惩 记 载</td>
<td colspan="5">
<div style="height: 42px;">
@foreach (var item in Model.StuEncourgementList)
{
<div class="tableTxt">@(Model.StuEncourgementList.IndexOf(item) + 1)、@item.EncourgeDate.Value.ToShortDateString().Replace("/", "-") @item.EncourgeName @item.Fee</div>
}
@foreach (var item in Model.StuPunishmentList)
{
<div class="tableTxt">@(Model.StuPunishmentList.IndexOf(item) + 1 + Model.StuEncourgementList.Count())、@item.PunishDate.Value.ToShortDateString().Replace("/", "-") @item.PunishName</div>
}
</div>
</td>
</tr>
<tr>
<td rowspan="2">
<div style="width:20px;display: inline-block;">操行鉴定</div>
</td>
<td>操行等级</td>
<td colspan="5" id="OperatingLevel">@Model.OperatingLevel </td>
</tr>
<tr>
<td><div style="width:20px;display: inline-block;">班主任评估</div></td>
<td colspan="5">
<div style="text-align:left;">@Model.TeacherDemo</div>
<div class="text-right" style="padding-right: 64px;margin-top: 140px;">班主任签名:<span id="Signed">@Model.Signed </span></div>
<div class="text-right" style="padding-right: 8px;margin-top: 12px;">
@{
if (Model.TDate.HasValue)
</tr>
<tr>
@{
var leaveList = Model.StuAttendanceLeaveList as IEnumerable<StuAttendanceLeaveEntity>;

<td>@leaveList.Where(x=>x.LeaveType=="事假").Count()</td>
<td colspan="5" style="border: none;padding:0">
<table border="1" cellspacing="0" cellpadding="10" width="100%" align="center"
style="border-width: 0px;">
<tr>
<td>@leaveList.Where(x => x.LeaveType == "病假").Count()</td>
<td>@leaveList.Where(x => x.LeaveType == "旷课").Count()</td>
<td>@leaveList.Where(x => x.LeaveType == "迟到").Count()</td>
<td>@leaveList.Where(x => x.LeaveType == "早退").Count()</td>
</tr>
</table>
</td>
}

</tr>
<tr>
<td colspan="2">职业资格证书获得情况</td>
<td colspan="5">
<div style="text-align:left">
@foreach (var item in Model.StudentCertificateList)
{
<span>@Model.TDate.Value.Year 年 @Model.TDate.Value.Month 月 @Model.TDate.Value.Day 日</span>
<span>@(Model.StudentCertificateList.IndexOf(item) + 1)、@item.CreateTime.Value.ToShortDateString().Replace("/", "-") @item.SCName </span><br>
}
else
</div>
</td>
</tr>
<tr>
<td colspan="2">奖 惩 记 载</td>
<td colspan="5">
<div style="text-align:left;">
@foreach (var item in Model.StuEncourgementList)
{
<span>年 &nbsp; &nbsp; &nbsp; 月 &nbsp; &nbsp; &nbsp; 日</span>
<div class="tableTxt">奖励 @(Model.StuEncourgementList.IndexOf(item) + 1)、@item.EncourgeDate.Value.ToShortDateString().Replace("/", "-") @item.EncourgeName @item.Fee</div>
}
@foreach (var item in Model.StuPunishmentList)
{
<div class="tableTxt">处分 @(Model.StuPunishmentList.IndexOf(item) + 1)、@item.PunishDate.Value.ToShortDateString().Replace("/", "-") @item.PunishName</div>
}
</div>
</td>
</tr>
<tr>
<td rowspan="2">
<div style="width:20px;display: inline-block;">操行鉴定</div>
</td>
<td>操行等级</td>
<td colspan="5" id="OperatingLevel">@Model.OperatingLevel </td>
</tr>
<tr>
<td><div style="width:20px;display: inline-block;">班主任评估</div></td>
<td colspan="5">
<div style="text-align:left;">@Model.TeacherDemo</div>
<div class="text-right" style="padding-right: 64px;margin-top: 140px;">班主任签名:<span id="Signed">@Model.Signed </span></div>
<div class="text-right" style="padding-right: 8px;margin-top: 12px;">
@{
if (Model.TDate.HasValue)
{
<span>@Model.TDate.Value.Year 年 @Model.TDate.Value.Month 月 @Model.TDate.Value.Day 日</span>
}
else
{
<span>年 &nbsp; &nbsp; &nbsp; 月 &nbsp; &nbsp; &nbsp; 日</span>
}
}
}

</div>
</td>
</tr>
</div>
</td>
</tr>
}
</table>
<div style="padding-left: 8px;margin-top: 4px;">注:操行等级分优、良、中、差四等</div>
<style>
@@ -215,6 +214,7 @@
td {
text-align: center;
font-size: 14px;
height:21px;
}

.text-right {
@@ -430,6 +430,7 @@
GetDataItemStr("OperatingLevel", "@Model.OperatingLevel","#OperatingLevel");
GetDataSourceStr("BaseUser", "f_account", "f_realname", "@Model.Signed", "#Signed");


</script>
</body>


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ScoreCheckInfo/ScoreCheckInfoEntity.cs Voir le fichier

@@ -162,6 +162,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[NotMapped] public List<StuScoreEntity> StuScoreList { get; set; }

[NotMapped] public List<StudentCertificateEntity> StudentCertificateList { get; set; }
[NotMapped] public List<StuAttendanceLeaveEntity> StuAttendanceLeaveList { get; set; }

#endregion
}
}


+ 26
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveBLL.cs Voir le fichier

@@ -111,6 +111,32 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}


/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<StuAttendanceLeaveEntity> GetListByJson(string queryJson)
{
try
{
return stuAttendanceLeaveService.GetListByJson(queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}


#endregion

#region 提交数据


+ 7
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveIBLL.cs Voir le fichier

@@ -36,6 +36,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <summary>
/// <returns></returns>
StuAttendanceLeaveEntity GetStuAttendanceLeaveEntity(string keyValue);

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<StuAttendanceLeaveEntity> GetListByJson(string queryJson);
#endregion

#region 提交数据


+ 69
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuAttendanceLeave/StuAttendanceLeaveService.cs Voir le fichier

@@ -211,6 +211,75 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<StuAttendanceLeaveEntity> GetListByJson(string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT t.* ");
strSql.Append(" FROM StuAttendanceLeave t");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (!queryParam["LessonName"].IsEmpty())
{
dp.Add("LessonName", "%" + queryParam["LessonName"].ToString() + "%", DbType.String);
strSql.Append(" AND t.LessonName Like @LessonName ");
}
if (!queryParam["Grade"].IsEmpty())
{
dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
strSql.Append(" AND t.Grade = @Grade ");
}
if (!queryParam["StuNo"].IsEmpty())
{
dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String);
strSql.Append(" AND t.StuNo = @StuNo ");
}
if (!queryParam["StuName"].IsEmpty())
{
dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
strSql.Append(" AND t.StuName Like @StuName ");
}
if (!queryParam["EmpNo"].IsEmpty())
{
dp.Add("EmpNo", "%" + queryParam["EmpNo"].ToString() + "%", DbType.String);
strSql.Append(" AND t.EmpNo Like @EmpNo ");
}
if (!queryParam["AcademicYearNo"].IsEmpty())
{
dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
}
if (!queryParam["Semester"].IsEmpty())
{
dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
strSql.Append(" AND t.Semester = @Semester ");
}
var result = this.BaseRepository("CollegeMIS").FindList<StuAttendanceLeaveEntity>(strSql.ToString(), dp);

return result;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}


#endregion

#region 提交数据


Chargement…
Annuler
Enregistrer