|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using Learun.Application.TwoDevelopment.EducationalAdministration;
- using Learun.Util;
- using Nancy;
- using Newtonsoft.Json;
-
- namespace Learun.Application.WebApi.Modules
- {
- public class StuScoreApi : BaseNoLoginApi
- {
- public StuScoreApi()
- : base("/Learun/adms/EducationalAdministration/StuScore")
- {
- Get["/scoreListByStuInfo"] = GetScoreListByStuInfo;
-
- }
-
- private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
- private StuScoreIBLL stuScoreIBLL = new StuScoreBLL();
- private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
- private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
-
- /// <summary>
- /// 全院学生成绩查看-打印成绩单
- /// </summary>
- /// <param name="_"></param>
- /// <returns></returns>
- private Response GetScoreListByStuInfo(dynamic _)
- {
- var param = this.GetReq<Model>();
-
- ScoreListByStuInfo result = new ScoreListByStuInfo();
-
- var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(param.StuNo);
- if (stuInfoBasicEntity != null)
- {
- result.StuNo = stuInfoBasicEntity.StuNo;
- result.StuName = stuInfoBasicEntity.StuName;
- result.MajorNo = stuInfoBasicEntity.MajorNo;
- result.ClassNo = stuInfoBasicEntity.ClassNo;
- if (!string.IsNullOrEmpty(stuInfoBasicEntity.MajorNo))
- {
- result.MajorName = cdMajorIBLL.GetCdMajorEntityByMajorNo(stuInfoBasicEntity.MajorNo)?.MajorName;
- }
- if (!string.IsNullOrEmpty(stuInfoBasicEntity.ClassNo))
- {
- result.ClassName = classInfoIBLL.GetClassInfoEntityByClassNo(stuInfoBasicEntity.ClassNo)?.ClassName;
- }
- }
- var queryJson = JsonConvert.SerializeObject(param);
-
- var data = stuScoreIBLL.GetScoreListByStuInfo(queryJson);
- var dataTemp = data.GroupBy(x => new { x.AcademicYearNo, x.Semester }).Select(x => new ScoreList()
- {
- AcademicYearNo = x.Key.AcademicYearNo,
- Semester = x.Key.Semester,
- StuScoreEntityList = x.Select(y => new StuScoreModel()
- {
- AcademicYearNo = y.AcademicYearNo,
- Semester = y.Semester,
- LessonSortNo = y.LessonSortNo,
- LessonSortName = y.LessonSortName,
- LessonNo = y.LessonNo,
- LessonName = y.LessonName,
- StudyScore = y.StudyScore,
- Score = y.Score,
- ScoreOfNotPass = y.ScoreOfNotPass,
- ScoreOfNotPassTwo = y.ScoreOfNotPassTwo
- }).OrderBy(a=>a.LessonSortNo).ThenBy(a=>a.LessonNo).ToList()
- }).ToList().OrderByDescending(x=>x.AcademicYearNo).ThenByDescending(x=>x.Semester);
- result.ScoreList = dataTemp.ToList();
-
- return Success(result);
-
- }
-
- public class Model
- {
- /// <summary>
- /// 学年(18-19)
- /// </summary>
- public string AcademicYearNo { get; set; }
- /// <summary>
- /// 学期(1)
- /// </summary>
- public string Semester { get; set; }
- /// <summary>
- /// 学号
- /// </summary>
- public string StuNo { get; set; }
-
- }
- public class ScoreListByStuInfo {
- public string StuNo { get; set; }
- public string StuName { get; set; }
- public string MajorNo { get; set; }
- public string MajorName { get; set; }
- public string ClassNo { get; set; }
- public string ClassName { get; set; }
- public List<ScoreList> ScoreList { get; set; }
- }
- public class ScoreList {
- public string AcademicYearNo { get; set; }
- public string Semester { get; set; }
- public List<StuScoreModel> StuScoreEntityList { get; set; }
- }
- public class StuScoreModel {
- public string AcademicYearNo { get; set; }
- public string Semester { get; set; }
- /// <summary>
- /// 课程类别码
- /// </summary>
- public string LessonSortNo { get; set; }
- /// <summary>
- /// 课程类别名称
- /// </summary>
- public string LessonSortName { get; set; }
- public string LessonNo { get; set; }
- public string LessonName { get; set; }
- /// <summary>
- /// 学分
- /// </summary>
- public decimal? StudyScore { get; set; }
- /// <summary>
- /// 成绩
- /// </summary>
- public decimal? Score { get; set; }
- /// <summary>
- /// 第一次补考成绩
- /// </summary>
- public string ScoreOfNotPass { get; set; }
- /// <summary>
- /// 第二次补考成绩
- /// </summary>
- public string ScoreOfNotPassTwo { get; set; }
-
- }
-
- }
- }
|