using Dapper; using Learun.Application.Organization; 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 { /// /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 /// 创 建:超级管理员 /// 日 期:2022-07-18 17:52 /// 描 述:疫情 /// public class VaccinationInfoService : RepositoryFactory { #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// 查询参数 /// public IEnumerable GetPageList(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" t.Id,t.StuNo,t.StuName,s.IdentityCardNo as CardId,s.DeptNo,s.MajorNo,s.ClassNo,s.Mobile,t.VaccineType, t.VaccineAddress,t.FirstNeedle,t.SecondNeedle,t.ThirdNeedle,t.NotReason,t.Remark,t.CreateTime,t.CreateUser,t.LastTime,t.LastUser "); strSql.Append(" FROM VaccinationInfo t "); strSql.Append(" left join StuInfoBasic s on s.stuno=t.stuno "); strSql.Append(" left join ClassInfo c on s.classno = c.classno "); strSql.Append(" WHERE 1=1 "); var login = LoginUserInfo.Get(); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); var StuOrTeach = queryParam["StuOrTeach"].ToString(); if (StuOrTeach == "0") { if (!queryParam["StuOrTeach"].IsEmpty()) { dp.Add("StuOrTeach", queryParam["StuOrTeach"].ToString(), DbType.Int32); strSql.Append(" AND t.StuOrTeach = @StuOrTeach "); } if (!queryParam["StuNo"].IsEmpty()) { dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.StuNo Like @StuNo "); } if (!queryParam["StuName"].IsEmpty()) { dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String); strSql.Append(" AND t.StuName Like @StuName "); } if (!queryParam["DeptNo"].IsEmpty()) { dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String); strSql.Append(" AND t.DeptNo = @DeptNo "); } if (!queryParam["MajorNo"].IsEmpty()) { dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String); strSql.Append(" AND t.MajorNo = @MajorNo "); } if (!queryParam["ClassNo"].IsEmpty()) { dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String); strSql.Append(" AND t.ClassNo = @ClassNo "); } if (!queryParam["CardId"].IsEmpty()) { dp.Add("CardId", "%" + queryParam["CardId"].ToString() + "%", DbType.String); strSql.Append(" AND t.CardId like @CardId "); } if (!queryParam["VaccineType"].IsEmpty()) { dp.Add("VaccineType", "%" + queryParam["VaccineType"].ToString() + "%", DbType.String); strSql.Append(" AND t.VaccineType like @VaccineType "); } if (!queryParam["Mobile"].IsEmpty()) { dp.Add("Mobile", "%" + queryParam["Mobile"].ToString() + "%", DbType.String); strSql.Append(" AND t.Mobile like @Mobile "); } //if (login.Description == "教师") //{ // strSql.Append(" AND c.ClassDiredctorno = '" + login.account + "' "); //} //班主任查看自己班的学生数据 var roleid = this.BaseRepository().FindEntity(a => a.F_FullName == "班主任")?.F_RoleId; if (!string.IsNullOrEmpty(roleid)) { if (login.roleIds.Contains(roleid)) { strSql.Append(" AND c.ClassDiredctorno = '" + login.account + "' "); } } } var data = this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); if (data.Count() > 0 && StuOrTeach == "0") { foreach (var item in data) { if (!string.IsNullOrEmpty(item.CardId)) { item.Age = DateTime.Now.Year - Convert.ToInt32(item.CardId.ToString().Substring(6, 4)); } } } return data; } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取页面显示列表数据(老师) /// /// 查询参数 /// 查询参数 /// public IEnumerable GetPageListForTeacher(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" t.Id,t.EmpNo,s.EmpName,s.IdentityCardNo as CardId,s.F_DepartmentId as DepartmentId,s.Mobile,s.IsInActiveStatus,t.VaccineType, t.VaccineAddress,t.FirstNeedle,t.SecondNeedle,t.ThirdNeedle,t.NotReason,t.Remark,t.CreateTime,t.CreateUser,t.LastTime,t.LastUser "); strSql.Append(" FROM VaccinationInfo t "); strSql.Append(" left join empinfo s on s.empno=t.empno "); strSql.Append(" WHERE 1=1 "); var login = LoginUserInfo.Get(); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); var StuOrTeach = queryParam["StuOrTeach"].ToString(); if (!queryParam["StuOrTeach"].IsEmpty()) { dp.Add("StuOrTeach", queryParam["StuOrTeach"].ToString(), DbType.Int32); strSql.Append(" AND t.StuOrTeach = @StuOrTeach "); } if (!queryParam["VaccineType"].IsEmpty()) { dp.Add("VaccineType", queryParam["VaccineType"].ToString(), DbType.String); strSql.Append(" AND t.VaccineType =@VaccineType "); } if (!queryParam["DepartmentId"].IsEmpty()) { dp.Add("DepartmentId", queryParam["DepartmentId"].ToString(), DbType.String); strSql.Append(" AND t.DepartmentId = @DepartmentId "); } if (!queryParam["CardId"].IsEmpty()) { dp.Add("CardId", "%" + queryParam["CardId"].ToString() + "%", DbType.String); strSql.Append(" AND t.CardId like @CardId "); } if (!queryParam["Mobile"].IsEmpty()) { dp.Add("Mobile", "%" + queryParam["Mobile"].ToString() + "%", DbType.String); strSql.Append(" AND t.Mobile like @Mobile "); } if (!queryParam["EmpNo"].IsEmpty()) { dp.Add("EmpNo", "%" + queryParam["EmpNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.EmpNo Like @EmpNo "); } if (!queryParam["EmpName"].IsEmpty()) { dp.Add("EmpName", "%" + queryParam["EmpName"].ToString() + "%", DbType.String); strSql.Append(" AND t.EmpName Like @EmpName "); } var data = this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); if (data.Count() > 0 && StuOrTeach == "0") { foreach (var item in data) { if (!string.IsNullOrEmpty(item.CardId)) { item.Age = DateTime.Now.Year - Convert.ToInt32(item.CardId.ToString().Substring(6, 4)); } } } return data; } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取VaccinationInfo表实体数据 /// /// 主键 /// public VaccinationInfoEntity GetVaccinationInfoEntity(string keyValue) { try { return this.BaseRepository("CollegeMIS").FindEntity(keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion #region 提交数据 /// /// 删除实体数据 /// /// 主键 public void DeleteEntity(string keyValue) { try { this.BaseRepository("CollegeMIS").Delete(t => t.Id == keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 保存实体数据(新增、修改) /// /// 主键 /// 实体 public void SaveEntity(string keyValue, VaccinationInfoEntity entity) { try { var logininfo = LoginUserInfo.Get(); if (!string.IsNullOrEmpty(keyValue)) { entity.LastTime = DateTime.Now; entity.LastUser = logininfo.userId; 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 /// /// 生成实体数据 /// /// 主键 public void CreateEntity(string userId, string Description) { try { if (Description == "0") { this.BaseRepository("CollegeMIS").ExecuteBySql(@"insert into VaccinationInfo( Id, StuOrTeach, stuno, stuname, CardId, deptno, majorno, classno, Mobile, birthday, CreateTime, CreateUser) select NEWID(),'" + Description + "',stuno,stuname,IdentityCardNo,DeptNo,MajorNo,ClassNo,Mobile,birthday,'" + DateTime.Now + "','" + userId + "' from StuInfoBasic where CheckMark = '1' and stuno not in (select stuno from VaccinationInfo where stuno is not null)"); } else { this.BaseRepository("CollegeMIS").ExecuteBySql(@"insert into VaccinationInfo( Id,StuOrTeach,CardId,empno,empname,DepartmentId,Mobile,birthday,CreateTime,CreateUser) select NEWID(),'" + Description + "',IdentityCardNo,EmpNo,empname,F_DepartmentId,Mobile,birthday,'" + DateTime.Now + "','" + userId + "' from empinfo where CheckMark = '1' and EmpNo not in (select EmpNo from VaccinationInfo where EmpNo is not null)"); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } } }