|
- 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.ReceiveSendFeeManagement
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-06-04 15:14
- /// 描 述:收费标准设置
- /// </summary>
- public class FinaChargesStandardService : RepositoryFactory
- {
- #region 获取数据
-
- /// <summary>
- /// 获取页面显示列表数据
- /// <summary>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- public IEnumerable<FinaChargesStandardEntity> GetPageList(Pagination pagination, string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("SELECT ");
- strSql.Append(@"
- t.ChargeStandardID,
- t.AcademicYearNo,
- t.Semester,
- t.MajorNo
- ");
- strSql.Append(" FROM FinaChargesStandard t ");
- strSql.Append(" WHERE 1=1 ");
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
- 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 ");
- }
- return this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(strSql.ToString(), dp, pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取页面显示列表数据
- /// <summary>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- public IEnumerable<FinaChargesStandardEntity> GetTreeList(string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("select CONVERT(varchar,t.ChargeStandardID)+'Temp' as TempId,t.ChargeStandardID,t.ChargeItemID,i.ChargeItemName,t.Standard,t.MajorNo,m.MajorName,t.AcademicYearNo,t.Semester,t.Grade,t.MajorNo as ParentId ");
- strSql.Append(" FROM [dbo].[CdMajor] m left join [dbo].[FinaChargesStandard] t on m.MajorNo=t.MajorNo left join [dbo].[FinaChargeItem] i on t.ChargeItemID=i.ChargeItemID ");
- strSql.Append(" WHERE 1=1 ");
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
- 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 ");
- }
- if (!queryParam["Grade"].IsEmpty())
- {
- dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
- strSql.Append(" AND t.Grade = @Grade ");
- }
- strSql.Append(" union ");
- strSql.Append(" select m.MajorNo as TempId,0 as ChargeStandardID,0 as ChargeItemID,null as ChargeItemName, ");
- strSql.Append(" (select SUM(t.Standard) from [dbo].[FinaChargesStandard] t where t.MajorNo=m.MajorNo ");
- if (!queryParam["AcademicYearNo"].IsEmpty())
- {
- strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
- }
- if (!queryParam["Semester"].IsEmpty())
- {
- strSql.Append(" AND t.Semester = @Semester ");
- }
- if (!queryParam["Grade"].IsEmpty())
- {
- dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String);
- strSql.Append(" AND t.Grade = @Grade ");
- }
- strSql.Append(" ) as Standard,m.MajorNo,m.MajorName,null as AcademicYearNo,null as Semester,null as Grade,'0' as ParentId");
- strSql.Append(" from [dbo].[CdMajor] m ");
- strSql.Append(" WHERE 1=1 ");
- return this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(strSql.ToString(), dp);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取FinaChargesStandard表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<FinaChargesStandardEntity> GetFinaChargesStandardList(string keyValue)
- {
- try
- {
- var keyvalue = Convert.ToInt32(keyValue);
- return this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(t => t.ChargeStandardID == keyvalue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取FinaChargesStandard表数据
- /// <summary>
- /// <param name="majorNo">专业</param>
- /// <param name="academicYearNo">学年</param>
- /// <param name="semester">学期</param>
- /// <param name="grade">年级</param>
- /// <returns></returns>
- public IEnumerable<FinaChargesStandardEntity> GetFinaChargesStandardListByMajorNo(string majorNo, string academicYearNo, string semester, string grade)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("select i.ChargeItemID,REPLACE(i.ChargeItemName,'','') as ChargeItemName,t.ChargeStandardID,t.Standard as Standard");
- strSql.Append(" from [dbo].[FinaChargeItem] i left join [dbo].[FinaChargesStandard] t on i.ChargeItemID=t.ChargeItemID ");
- strSql.Append(" and t.AcademicYearNo='" + academicYearNo + "' and t.Semester='" + semester + "' and t.Grade='" + grade + "' and t.MajorNo='" + majorNo + "' ");
- return this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(strSql.ToString());
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取FinaChargesStandard表数据
- /// <summary>
- /// <param name="majorNo">专业</param>
- /// <param name="academicYearNo">学年</param>
- /// <param name="semester">学期</param>
- /// <param name="grade">年级</param>
- /// <returns></returns>
- public IEnumerable<FinaChargesStandardEntity> GetFinaChargesStandardListByMajorNoOfNotAll(string majorNo, string academicYearNo, string semester, string grade)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("select i.ChargeItemID,REPLACE(i.ChargeItemName,'','') as ChargeItemName,t.ChargeStandardID,t.Standard as Standard");
- strSql.Append(" from [dbo].[FinaChargesStandard] t inner join [dbo].[FinaChargeItem] i on t.ChargeItemID=i.ChargeItemID ");
- strSql.Append(" and t.AcademicYearNo='" + academicYearNo + "' and t.Semester='" + semester + "' and t.Grade='" + grade + "' and t.MajorNo='" + majorNo + "' ");
- return this.BaseRepository("CollegeMIS").FindList<FinaChargesStandardEntity>(strSql.ToString());
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取FinaChargesStandard表实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public FinaChargesStandardEntity GetFinaChargesStandardEntity(string keyValue)
- {
- try
- {
- var keyvalue = Convert.ToInt32(keyValue);
- return this.BaseRepository("CollegeMIS").FindEntity<FinaChargesStandardEntity>(keyvalue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取FinaChargesStandard表实体数据
- /// <param name="chargeItemID">收费项目主键</param>
- /// <summary>
- /// <returns></returns>
- public FinaChargesStandardEntity GetFinaChargesStandardEntityByChargeItemID(string chargeItemID)
- {
- try
- {
- var aa = Convert.ToInt32(chargeItemID);
- return this.BaseRepository("CollegeMIS").FindEntity<FinaChargesStandardEntity>(x => x.ChargeItemID == aa);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- #endregion
-
- #region 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void DeleteEntity(string keyValue)
- {
- try
- {
- var keyvalue = Convert.ToInt32(keyValue);
- this.BaseRepository("CollegeMIS").Delete<FinaChargesStandardEntity>(t => t.ChargeStandardID == keyvalue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void SaveEntity(string keyValue, FinaChargesStandardEntity 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);
- }
- }
- }
-
- #endregion
-
- #region 扩展数据
-
- /// <summary>
- /// 新增保存
- /// </summary>
- public void SaveFinaChargesStandardList(string majorNo, string academicYearNo, string semester, string grade, List<FinaChargesStandardEntity> finaChargesStandardList)
- {
- var db = this.BaseRepository("CollegeMIS");
- try
- {
- db.BeginTrans();
-
- //删除学年学期年级某专业下的收费标准
- var preResult = db.ExecuteBySql("delete from FinaChargesStandard where AcademicYearNo='" + academicYearNo + "' and Semester='" + semester + "' and Grade='" + grade + "' and MajorNo='" + majorNo + "' ");
- //增加收费标准
- foreach (var item in finaChargesStandardList)
- {
- var entity = new FinaChargesStandardEntity()
- {
- ChargeItemID = item.ChargeItemID,
- Grade = grade,
- DeptNo = "-1",
- MajorNo = majorNo,
- Standard = item.Standard,
- AcademicYearNo = academicYearNo,
- Semester = semester,
- CheckMark = "0"
- };
- entity.Create();
- db.Insert(entity);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 某专业的收费标准是否已使用
- /// </summary>
- /// <param name="majorNo"></param>
- /// <param name="academicYearNo"></param>
- /// <param name="semester"></param>
- /// <param name="grade"></param>
- /// <returns></returns>
- public bool IsChargeByMajorNo(string majorNo, string academicYearNo, string semester, string grade)
- {
- var result = false;
- try
- {
- var strSql = new StringBuilder();
- strSql.Append("select top 1 t.ChargeListID from FinaChargeList t where t.AcademicYearNo='" + academicYearNo + "' and t.Semester='" + semester + "' and t.grade='" + grade + "' and t.MajorNo='" + majorNo + "'");
- var aa = this.BaseRepository("CollegeMIS").FindList<FinaChargeListModel>(strSql.ToString()).ToList();
- if (aa.Any())
- {
- result = true;
- }
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- public class FinaChargeListModel
- {
- public int ChargeListID { get; set; }
- }
- #endregion
-
- }
- }
|