|
- using Dapper;
- using Learun.DataBase.Repository;
- using Learun.Util;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
-
- namespace Learun.Application.TwoDevelopment.EducationalAdministration
- {
- /// <summary>
- /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
- /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
- /// 创 建:超级管理员
- /// 日 期:2021-12-16 10:14
- /// 描 述:长阳迎新
- /// </summary>
- public class StuVolunteerService : RepositoryFactory
- {
- #region 获取数据
-
- /// <summary>
- /// 获取页面显示列表数据
- /// </summary>
- /// <param name="pagination">查询参数</param>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- public IEnumerable<StuVolunteerEntity> GetPageList(Pagination pagination, string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("SELECT ");
- strSql.Append(@" t.* ");
- strSql.Append(" FROM StuVolunteer t ");
- strSql.Append(" WHERE 1=1 ");
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
- if (!queryParam["Address"].IsEmpty())
- {
- dp.Add("Address", "%" + queryParam["Address"].ToString() + "%", DbType.String);
- strSql.Append(" AND t.Address Like @Address ");
- }
- if (!queryParam["BySchool"].IsEmpty())
- {
- dp.Add("BySchool", "%" + queryParam["BySchool"].ToString() + "%", DbType.String);
- strSql.Append(" AND t.BySchool Like @BySchool ");
- }
- if (!queryParam["StuName"].IsEmpty())
- {
- dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
- strSql.Append(" AND t.StuName Like @StuName ");
- }
- if (!queryParam["StuNo"].IsEmpty())
- {
- dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String);
- strSql.Append(" AND t.StuNo Like @StuNo ");
- }
- if (!queryParam["StuCode"].IsEmpty())
- {
- dp.Add("StuCode", "%" + queryParam["StuCode"].ToString() + "%", DbType.String);
- strSql.Append(" AND t.StuCode Like @StuCode ");
- }
- if (!queryParam["Sex"].IsEmpty())
- {
- dp.Add("Sex", queryParam["Sex"].ToString(), DbType.String);
- strSql.Append(" AND t.Sex = @Sex ");
- }
- if (!queryParam["CardNo"].IsEmpty())
- {
- dp.Add("CardNo", queryParam["CardNo"].ToString(), DbType.String);
- strSql.Append(" AND t.CardNo = @CardNo ");
- }
- if (!queryParam["ClassNo"].IsEmpty())
- {
- dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
- strSql.Append(" AND t.ClassNo = @ClassNo ");
- }
- if (!queryParam["ClassStatus"].IsEmpty())
- {
- dp.Add("ClassStatus", queryParam["ClassStatus"].ToString(), DbType.String);
- strSql.Append(" AND t.ClassStatus = @ClassStatus ");
- }
- if (!queryParam["StuCodeStatus"].IsEmpty())
- {
- dp.Add("StuCodeStatus", queryParam["StuCodeStatus"].ToString(), DbType.String);
- strSql.Append(" AND t.StuCodeStatus = @StuCodeStatus ");
- }
- if (!queryParam["MajorNo"].IsEmpty())
- {
- dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
- strSql.Append(" AND t.MajorNo = @MajorNo ");
- }
- if (!queryParam["MajorOne"].IsEmpty())
- {
- dp.Add("MajorOne", queryParam["MajorOne"].ToString(), DbType.String);
- strSql.Append(" AND t.MajorOne = @MajorOne ");
- }
- if (!queryParam["MajorTwo"].IsEmpty())
- {
- dp.Add("MajorTwo", queryParam["MajorTwo"].ToString(), DbType.String);
- strSql.Append(" AND t.MajorTwo = @MajorTwo ");
- }
- if (!queryParam["MajorThree"].IsEmpty())
- {
- dp.Add("MajorThree", queryParam["MajorThree"].ToString(), DbType.String);
- strSql.Append(" AND t.MajorThree = @MajorThree ");
- }
- if (!queryParam["SqlParameter"].IsEmpty())
- {
- strSql.Append(queryParam["SqlParameter"].ToString());
- }
- return this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(strSql.ToString(), dp, pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取StuVolunteer表实体数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <returns></returns>
- public StuVolunteerEntity GetStuVolunteerEntity(string keyValue)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindEntity<StuVolunteerEntity>(keyValue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 获取专业统计
- /// </summary>
- /// <param name="pagination">查询参数</param>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- public IEnumerable<StuVolunteerEntity> GetMajorStatistics(string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(" SELECT ");
- strSql.Append(@" t.* ");
- strSql.Append(" FROM StuVolunteer t ");
- strSql.Append(" WHERE 1=1 ");
-
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
- if (!queryParam["DeptNo"].IsEmpty())
- {
- dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
- strSql.Append(" AND t.DeptNo = @DeptNo ");
- }
- if (!queryParam["Grade"].IsEmpty())
- {
- dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
- strSql.Append(" AND t.Grade = @Grade ");
- }
- var data = this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(strSql.ToString(), dp);
- return data;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- #endregion
-
- #region 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void DeleteEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- //单个删除
- //this.BaseRepository("CollegeMIS").Delete<CdMajorEntity>(t => t.ID == keyValue);
- //多个删除
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- db.Delete<StuVolunteerEntity>(t => t.ID == item);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <param name="entity">实体</param>
- public void SaveEntity(string keyValue, StuVolunteerEntity entity)
- {
- try
- {
- if (!string.IsNullOrEmpty(keyValue))
- {
- entity.Modify(keyValue);
- this.BaseRepository("CollegeMIS").Update(entity);
- }
- else
- {
- entity.Create();
- this.BaseRepository("CollegeMIS").Insert(entity);
- }
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 分班
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="ClassNo"></param>
- public void SaveClassForm(string keyValue, string ClassNo)
- {
- try
- {
- var classinfo = this.BaseRepository("CollegeMIS").FindEntity<ClassInfoEntity>(x => x.ClassNo == ClassNo);
- if (classinfo != null)
- {
- var arr = keyValue.Split(',').ToList();
- foreach (var id in arr)
- {
- var stuNo = GetStuNo();
- string sql = $"update StuVolunteer set StuNo='{stuNo}' ,ClassNo='{ClassNo}',ClassStatus=0 where ID='{id}' and (StuNo is null or len(StuNo)=0); update StuVolunteer set ClassNo='{ClassNo}',ClassStatus=0 where ID='{id}' and (StuNo is not null or len(StuNo)>0)";
- this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
- }
- }
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 审核分班
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="ClassStatus">分班是否审核通过</param>
- public void CheckForm(string keyValue, int ClassStatus)
- {
- try
- {
- if (keyValue.Contains(","))
- {
- keyValue = string.Join("','", keyValue.Split(','));
- }
-
- string sql = $"update StuVolunteer set ClassStatus={ClassStatus} where ID in ('{keyValue}')";
- this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取学号
- /// </summary>
- /// <returns></returns>
- private string GetStuNo()
- {
- //当前学年
- var year = Common.GetSemesterAndYear().AcademicYearShort.Substring(0, 2);
- var StuNo = year + "36442000004";
- var maxSql = $"select Max(StuNo) as StuNo from StuVolunteer where StuNo like '{StuNo}%'";
- var maxStuNo = this.BaseRepository("CollegeMIS").FindObject(maxSql);
- if (maxStuNo == null || string.IsNullOrEmpty(maxStuNo.ToString()))
- {
- StuNo = StuNo + "00001";
- }
- else
- {
- int lastNum = int.Parse(maxStuNo.ToString().Substring(maxStuNo.ToString().Length - 5, 5));
- lastNum++;
- StuNo = StuNo + lastNum.ToString("00000");
- }
-
- return StuNo;
- }
-
- /// <summary>
- /// 生成学籍
- /// </summary>
- public void GenerateStu()
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- //只生成分班审核通过
- string updSql = $"update [dbo].[StuVolunteer] set StuCode='G'+CardNo, StuCodeStatus=1 where ClassStatus=1";
- db.ExecuteBySql(updSql);
-
- string addSql = @"insert into StuInfoBasic (
- Stuid,StuNo,StuCode,ClassNo,StuName,GenderNo,DeptNo,MajorNo,IdentityCardNo,ExamScore,ProvinceCode,AdmissionNo
- )
- select newid(),StuNo,'G'+CardNo,ClassNo,StuName,Sex,DeptNo,MajorNo,CardNo,StuScore,ProvinceCode,ExamNo
- from StuVolunteer t where t.ClassStatus=1
- and t.StuNo not in (select b.StuNo from StuInfoBasic b where b.StuNo=t.StuNo) ";
- db.ExecuteBySql(addSql);
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- #endregion
-
- #region 扩展代码
-
- /// <summary>
- /// 去重
- /// </summary>
- /// <param name="H_SchoolNo">初中学号</param>
- /// <param name="ApplyNo">报名号</param>
- /// <param name="CardNo">身份证号</param>
- /// <returns></returns>
- public List<StuVolunteerEntity> GetRepetitions(string H_SchoolNo, string ApplyNo, string CardNo)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindList<StuVolunteerEntity>(x =>
- x.H_SchoolNo == H_SchoolNo || x.ApplyNo == ApplyNo || x.CardNo == CardNo).ToList();
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
-
- /// <summary>
- /// 标注数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void LabelEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsIntention = true;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 取消标注数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void CancelLabel(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsIntention = false;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 志愿填报
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="entity"></param>
- public void IsOurSchool(string keyValue, StuVolunteerEntity entity)
- {
- try
- {
- if (!string.IsNullOrEmpty(keyValue))
- {
- entity.Modify(keyValue);
- this.BaseRepository("CollegeMIS").Update(entity);
- }
- else
- {
- entity.Create();
- this.BaseRepository("CollegeMIS").Insert(entity);
- }
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 录取学生
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void EnrollEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsEnroll = true;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 取消录取学生
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void CancelEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsEnroll = false;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <param name="entity">实体</param>
- public void DraftForm(string keyValue, StuVolunteerEntity entity)
- {
- try
- {
- entity.Modify(keyValue);
- entity.UpdateTime = DateTime.Now;
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <param name="entity">实体</param>
- public void SubmitForm(string keyValue, StuVolunteerEntity entity)
- {
- try
- {
- entity.Modify(keyValue);
- this.BaseRepository("CollegeMIS").Update(entity);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 获取StuVolunteer表实体数据
- /// </summary>
- /// <param name="CardNo">身份证号</param>
- /// <returns></returns>
- public StuVolunteerEntity GetEntityByCardNo(string CardNo)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindEntity<StuVolunteerEntity>(x => x.CardNo == CardNo);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 标注数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void JoinEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsOurSchool = true;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 取消标注数据
- /// </summary>
- /// <param name="keyValue">主键</param>
- public void CanJoin(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS").BeginTrans();
- try
- {
- var keyValueArr = keyValue.Split(',');
- foreach (var item in keyValueArr)
- {
- var entity = db.FindEntity<StuVolunteerEntity>(x => x.ID == item);
- entity.IsOurSchool = false;
- db.Update(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 专业审核
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="ClassStatus">状态</param>
- public void MajorForm(string keyValue, int ClassStatus)
- {
- try
- {
- if (keyValue.Contains(","))
- {
- keyValue = string.Join("','", keyValue.Split(','));
- }
- string sql = $"update StuVolunteer set MajorStatus={ClassStatus} where ID in ('{keyValue}')";
- this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 专业注册
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="ClassNo"></param>
- public void SaveMajorForm(string keyValue, string MajorNo)
- {
- try
- {
- string DeptNo = "";
- var CdMajorList = this.BaseRepository("CollegeMIS").FindEntity<CdMajorEntity>(x => x.CheckMark == true && x.MajorNo == MajorNo);
- if (CdMajorList != null)
- {
- DeptNo = CdMajorList.DeptNo;
- }
-
- var Majorinfo = this.BaseRepository("CollegeMIS").FindEntity<CdMajorEntity>(x => x.MajorNo == MajorNo);
- if (Majorinfo != null)
- {
- var arr = keyValue.Split(',').ToList();
- foreach (var id in arr)
- {
- string sql = $"update StuVolunteer set MajorNo = '{MajorNo}',ClassNo = '',DeptNo = '{DeptNo}', MajorStatus = 0 ,ClassStatus = 0 where ID='{id}' and (StuNo is null or len(StuNo)=0); update StuVolunteer set MajorNo='{MajorNo}', ClassNo = '',DeptNo = '{DeptNo}', MajorStatus =0,ClassStatus=0 where ID='{id}' and (StuNo is not null or len(StuNo)>0)";
- this.BaseRepository("CollegeMIS").ExecuteBySql(sql);
- }
- }
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- #endregion
- }
-
- public class MajorStatistics
- {
- /// <summary>
- /// 专业部
- /// </summary>
- public string DeptNo { get; set; }
- /// <summary>
- /// 专业部
- /// </summary>
- public string DeptName { get; set; }
- /// <summary>
- /// 专业名称
- /// </summary>
- public string MajorNo { get; set; }
- /// <summary>
- /// 专业名称
- /// </summary>
- public string MajorName { get; set; }
- /// <summary>
- /// 年级
- /// </summary>
- public string Grade { get; set; }
- /// <summary>
- /// 总人数
- /// </summary>
- public string ZRNum { get; set; }
- /// <summary>
- /// 录取人数
- /// </summary>
- public int? EnrollNum { get; set; }
- /// <summary>
- /// 报名人数
- /// </summary>
- public int? WillNum { get; set; }
- /// <summary>
- /// 男生
- /// </summary>
- public int? ManNum { get; set; }
- /// <summary>
- /// 女生
- /// </summary>
- public int? WoManNum { get; set; }
- }
- }
|