using Edu.Model.Entity.EduTask; using Edu.Model.ViewModel.EduTask; using System; using System.Collections.Generic; using System.Text; using System.Linq; using VT.FW.DB.Dapper; using VT.FW.DB; using Edu.Repository.Flow; using Edu.Model.ViewModel.Flow; using Edu.Repository.User; using Edu.Repository.Course; using Edu.Repository.Grade; using Edu.Repository.Sell; using System.Web; using Edu.Common.Plugin; using Edu.Common; namespace Edu.Repository.EduTask { /// <summary> /// 教务单据仓储层 /// </summary> public class RB_Education_ReceiptRepository : BaseRepository<RB_Education_Receipt> { /// <summary> /// 教务单据审核人员信息仓储层对象 /// </summary> private readonly RB_Education_RelevanceRepository student_BackRelevanceRepository = new RB_Education_RelevanceRepository(); /// <summary> /// 教务单据审核记录仓储层对象 /// </summary> private readonly RB_Education_RecordRepository student_BackRecordRepository = new RB_Education_RecordRepository(); /// <summary> /// 流程仓储层对象 /// </summary> private readonly RB_FlowRepository flowRepository = new RB_FlowRepository(); /// <summary> /// 账号仓储层对象 /// </summary> private readonly RB_AccountRepository accountRepository = new RB_AccountRepository(); /// <summary> /// 班级仓储层对象 /// </summary> private readonly RB_ClassRepository classRepository = new RB_ClassRepository(); /// <summary> /// 订单仓储层对象 /// </summary> private readonly RB_OrderRepository orderRepository = new RB_OrderRepository(); /// <summary> /// 获取教务单据分页列表 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="rowsCount"></param> /// <param name="query"></param> /// <returns></returns> public List<RB_Education_Receipt_ViewModel> GetEducationReceiptPageRepository(int pageIndex, int pageSize, out long rowsCount, EducationReceiptQuery query) { var parameters = new DynamicParameters(); string isSpecNode = ""; if (query.Conditon == Common.Enum.Course.EduReceiptConditionEnum.WaitAgree) { isSpecNode = string.Format(",IFNULL((SELECT SpecialNode FROM rb_Education_relevance WHERE Id IN(SELECT AuditId FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus=1 AND AuditEmId={0})),0) AS SpecialNode ", query.CreateBy); } StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName ,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName {0} FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId LEFT JOIN rb_school AS D ON A.School_Id=D.SId LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId WHERE 1=1 ", isSpecNode); if (query != null) { if (query.Group_Id > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.Group_Id), query.Group_Id); } if (!string.IsNullOrEmpty(query.QIds)) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.Id), query.QIds); } if (!string.IsNullOrEmpty(query.Title)) { builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title)); parameters.Add("Title", "%" + query.Title.Trim() + "%"); } if (!string.IsNullOrEmpty(query.StartTime)) { builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.StartTime); } if (!string.IsNullOrEmpty(query.EndTime)) { builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.EndTime); } if (query.ReceiptType > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.ReceiptType); } if (query.RelationId > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.RelationId); } if (query.Conditon != null && query.Conditon > 0) { switch (query.Conditon) { //待我审批 case Common.Enum.Course.EduReceiptConditionEnum.WaitAgree: builder.AppendFormat(" AND A.VerifyStatus NOT IN(6) AND EXISTS (SELECT 1 FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus=1 AND AuditEmId={0}) ", query.CreateBy); break; //已审批的 case Common.Enum.Course.EduReceiptConditionEnum.Agree: builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus NOT IN(1,5) AND AuditEmId={0}) ", query.CreateBy); break; //我发起的 case Common.Enum.Course.EduReceiptConditionEnum.Launch: builder.AppendFormat(" AND A.CreateBy={0} ", query.CreateBy); break; //抄送给我的 case Common.Enum.Course.EduReceiptConditionEnum.CarbonCopy: builder.AppendFormat(" AND FIND_IN_SET({0},A.RecipientIds) ", query.CreateBy); break; } } if (query.VerifyStatus > -1) { if (query.VerifyStatus == 3) { builder.AppendFormat(@" AND A.{0} IN(3,4) ", nameof(RB_Education_Receipt_ViewModel.VerifyStatus)); } else { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.VerifyStatus), query.VerifyStatus); } } } builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Education_Receipt_ViewModel.Id)); return GetPage<RB_Education_Receipt_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); } /// <summary> /// 获取教务单据列表 /// </summary> /// <param name="query"></param> /// <returns></returns> public List<RB_Education_Receipt_ViewModel> GetEducationReceiptListRepository(EducationReceiptQuery query) { var parameters = new DynamicParameters(); StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName ,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId LEFT JOIN rb_school AS D ON A.School_Id=D.SId LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId WHERE 1=1 "); if (query != null) { if (query.Group_Id > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.Group_Id), query.Group_Id); } if (!string.IsNullOrEmpty(query.QIds)) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.Id), query.QIds); } if (query.RelationId > 0) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.RelationId); } if (!string.IsNullOrEmpty(query.QRelationIds)) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.QRelationIds); } if (!string.IsNullOrEmpty(query.Title)) { builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title)); parameters.Add("Title", "%" + query.Title.Trim() + "%"); } if (!string.IsNullOrEmpty(query.StartTime)) { builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.StartTime); } if (!string.IsNullOrEmpty(query.EndTime)) { builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.EndTime); } if (query.ReceiptType > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.ReceiptType); } if (query.VerifyStatus > -1) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.VerifyStatus), query.VerifyStatus); } if (!string.IsNullOrEmpty(query.QEffectiveDate)) { builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.EffectiveDate), query.QEffectiveDate); } } return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList(); } /// <summary> /// 获取教务单据列表 /// </summary> /// <param name="query"></param> /// <returns></returns> public List<RB_Education_Receipt_ViewModel> GetEducationReceiptListExtRepository(EducationReceiptQuery query) { var parameters = new DynamicParameters(); StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName ,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName,IFNULL(backClass.GuestId,0) AS BackClassGuestId ,IFNULL(stopClass.OrderGuestId,0) AS StopClassGuestId,IFNULL(orderChange.OrderGuestId,0) AS OrderChangeGuestId,IFNULL(tempinvitation.OrderGuestIds,'') AS TempinvitationGuestIds FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId LEFT JOIN rb_school AS D ON A.School_Id=D.SId LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId LEFT JOIN rb_student_backclass AS backClass ON A.RelationId=backClass.BackId AND A.ReceiptType=2 LEFT JOIN rb_student_stopclass AS stopClass ON A.RelationId=stopClass.Id AND A.ReceiptType=3 LEFT JOIN rb_order_change AS orderChange ON A.RelationId=orderChange.Id AND A.ReceiptType IN(5,6) LEFT JOIN rb_student_tempinvitation AS tempinvitation ON A.RelationId=tempinvitation.Id AND A.ReceiptType=4 WHERE 1=1 "); if (query != null) { if (query.Group_Id > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.Group_Id), query.Group_Id); } if (!string.IsNullOrEmpty(query.QIds)) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.Id), query.QIds); } if (query.RelationId > 0) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.RelationId); } if (!string.IsNullOrEmpty(query.QRelationIds)) { builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), query.QRelationIds); } if (!string.IsNullOrEmpty(query.Title)) { builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title)); parameters.Add("Title", "%" + query.Title.Trim() + "%"); } if (!string.IsNullOrEmpty(query.StartTime)) { builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.StartTime); } if (!string.IsNullOrEmpty(query.EndTime)) { builder.AppendFormat(@" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Education_Receipt_ViewModel.CreateTime), query.EndTime); } if (query.ReceiptType > 0) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.ReceiptType); } if (!string.IsNullOrEmpty(query.QReceiptTypes)) { builder.AppendFormat(@" AND A.{0} IN({1}) ", nameof(RB_Education_Receipt_ViewModel.ReceiptType), query.QReceiptTypes); } if (query.VerifyStatus > -1) { builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.VerifyStatus), query.VerifyStatus); } if (!string.IsNullOrEmpty(query.QEffectiveDate)) { builder.AppendFormat(@" AND A.{0}>='{1}' ", nameof(RB_Education_Receipt_ViewModel.EffectiveDate), query.QEffectiveDate); } if (!string.IsNullOrEmpty(query.QGuestIds)) { builder.AppendFormat("AND (backClass.GuestId IN({0}) OR stopClass.OrderGuestId IN({0}) OR orderChange.OrderGuestId IN({0}) OR tempinvitation.OrderGuestIds IN({0}) ) ", query.QGuestIds); } } return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList(); } /// <summary> /// 新增修改教务单据 /// </summary> /// <param name="model"></param> /// <param name="message"></param> /// <returns></returns> public bool SetEducationReceiptRepository(RB_Education_Receipt model, out string message) { message = ""; bool flag = false; var newId = base.Insert(model); model.Id = newId; flag = newId > 0; //审核流程 var flowModel = new RB_Flow_ViewModel(); //退课流程 if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.BackClassFlowId); if (flowModel == null) { message = "未配置退课流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ChangeClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.ChangeClassFlowId); if (flowModel == null) { message = "未配置调课流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.StopClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.StopClassFlowId); if (flowModel == null) { message = "未配置停课流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.TempInvitationClassFlowId); if (flowModel == null) { message = "未配置临时上课邀请流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.OrderTransClassFlowId); if (flowModel == null) { message = "未配置订单转班流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderSplitClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.OrderSplitClassFlowId); if (flowModel == null) { message = "未配置订单分拆流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.LeaveClass) { flowModel = flowRepository.GetFlowRepository(Common.Config.StudentLeaveFlowId); if (flowModel == null) { message = "未配置学生请假流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ZuJuan) { flowModel = flowRepository.GetFlowRepository(Common.Config.ZuJuanFlowId); if (flowModel == null) { message = "未配置组卷审批流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ExamApply) { flowModel = flowRepository.GetFlowRepository(Common.Config.ExamApplyFlowId); if (flowModel == null) { message = "未配置考试申请审批流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.Contribute) { flowModel = flowRepository.GetFlowRepository(Common.Config.ContributeFlowId); if (flowModel == null) { message = "未配置投稿审批流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.VipCourse) { flowModel = flowRepository.GetFlowRepository(Common.Config.VipCourseFlowId); if (flowModel == null) { message = "未配置VIP课程申请流程!"; return false; } } else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.TeacherAssessment) { flowModel = flowRepository.GetFlowRepository(Common.Config.TeacherAssessmentFlowId); if (flowModel == null) { message = "未配置教师考核审核流程!"; return false; } } if (flowModel?.FlowNodeList?.Count == 0) { message = "未配置审核流程!"; return false; } int index = 0; foreach (var item in flowModel.FlowNodeList) { if (item.FlowAduitList != null && item.FlowAduitList.Count > 0) { string AuditedId = "";//审核人 foreach (var subItem in item.FlowAduitList) { //指定人员 if (subItem.AuditType == Common.Enum.User.WFTAuditTypeEnum.SpecifiedMember) { AuditedId += subItem.UserId + ","; } //指定角色 else if (subItem.AuditType == Common.Enum.User.WFTAuditTypeEnum.Role) { //本班教师审核 if (subItem.PostType == 1) { var teacherId = GetTeacherIdRepository(model.ClassId); if (teacherId <= 0) { message = "未找到此班级的配置的教师信息!"; return false; } AuditedId += teacherId + ","; subItem.UserId = teacherId; } //关联销售审核 else if (subItem.PostType == 2) { var EnterId = GetOrderSaleIdRepository(model.OrderId); AuditedId += EnterId + ","; subItem.UserId = EnterId; } //分区校长审核 else if (subItem.PostType == 3) { var headmasterId = GetSchoolMasterIdRepository(model.Group_Id); AuditedId += headmasterId + ","; subItem.UserId = headmasterId; } //教务长审核 else if (subItem.PostType == 4) { var jiaoWuZhangId = GetSchoolJiaoWuZhangIdRepository(model.Group_Id); AuditedId += jiaoWuZhangId + ","; subItem.UserId = jiaoWuZhangId; } } //系统角色 else if (subItem.AuditType == Common.Enum.User.WFTAuditTypeEnum.Post) { var postIds = GetPostIdsRepository(model.Group_Id, subItem.PostType.ToString()); if (postIds != null && postIds.Count > 0) { AuditedId += string.Join(",", postIds) + ","; subItem.PostUserIds = string.Join(",", postIds); } } } var levance = new RB_Education_Relevance() { ConditionId = model.Id, AuditDescription = item.NodeName, AuditedId = "", AuditWay = item.FlowAduitList[0].AuditWay, AuditType = item.FlowAduitList[0].AuditType, OriginalAuditId = 0, RoleOrInitiator = 0, PostIds = "", UserIds = "", SysPostIds = "", ToAuditId = AuditedId.TrimEnd(','), Sort = item.SortNum, SpecialNode = item.FlowAduitList[0].IsSpecNode, Stauts = Common.Enum.EduTask.EduTaskRrocessStatus.AuditIng, }; //指定人员审核 if (levance.AuditType == Common.Enum.User.WFTAuditTypeEnum.SpecifiedMember) { levance.UserIds = string.Join(",", item.FlowAduitList.Where(qitem => qitem.AuditType == Common.Enum.User.WFTAuditTypeEnum.SpecifiedMember).Select(qitem => qitem.UserId)); } //指定角色审核 else if (levance.AuditType == Common.Enum.User.WFTAuditTypeEnum.Role) { levance.PostIds = string.Join(",", item.FlowAduitList.Where(qitem => qitem.AuditType == Common.Enum.User.WFTAuditTypeEnum.Role).Select(qitem => qitem.PostType)); } //系统角色审核 else if (levance.AuditType == Common.Enum.User.WFTAuditTypeEnum.Post) { //系统角色编号 levance.SysPostIds = string.Join(",", item.FlowAduitList.Where(qitem => qitem.AuditType == Common.Enum.User.WFTAuditTypeEnum.Post).Select(qitem => qitem.PostType)); } if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass) { levance.WorkFlowId = Common.Config.BackClassFlowId; } if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ChangeClass) { levance.WorkFlowId = Common.Config.ChangeClassFlowId; } var backLevanceId = student_BackRelevanceRepository.Insert(levance); levance.Id = backLevanceId; flag = backLevanceId > 0; if (index == 0) { foreach (var subItem in item.FlowAduitList) { var recordModel = new RB_Education_Record_ViewModel() { ConditionId = model.Id, AuditStatus = Common.Enum.EduTask.EduTaskRrocessStatus.AuditIng, AuditId = levance.Id, CreateBy = model.CreateBy, CreateTime = DateTime.Now, UpdateBy = model.CreateBy, UpdateTime = DateTime.Now, Description = "", }; //系统岗位审核; if (!string.IsNullOrEmpty(subItem.PostUserIds)) { var userList = Common.ConvertHelper.StringToList(subItem.PostUserIds); foreach (var tItem in userList) { recordModel.Id = 0; recordModel.AuditEmId = tItem; flag = student_BackRecordRepository.Insert(recordModel) > 0; #region 审核通知 var account = new RB_AccountRepository().GetEmployeeInfo(tItem); if (account != null && !string.IsNullOrEmpty(account.WorkUserId)) { var recipientPath = HttpUtility.UrlEncode($"/teacher/change-class-manager?tab=3&id={model.Id}"); var content = $"待审通知 你有一张业务单据等待审核\n>**概要信息** \n>单据信息:<font color='comment'>{EnumHelper.ToName(model.ReceiptType)}单据 ({model.Id})</font>\n>创 建 人:<font color='comment'>{account.EmployeeName}</font>\n>创建时间:<font color='comment'>{DateTime.Now.ToString("MM-dd HH-mm")}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={tItem}&target={recipientPath})"; PushWorkChatHelper.PushToWorkChat(content, account.WorkUserId, "业务单据待审通知"); } #endregion } } else { recordModel.AuditEmId = subItem.UserId; flag = student_BackRecordRepository.Insert(recordModel) > 0; #region 审核通知 var account = new RB_AccountRepository().GetEmployeeInfo(subItem.UserId); if (account != null && !string.IsNullOrEmpty(account.WorkUserId)) { var recipientPath = HttpUtility.UrlEncode($"/teacher/change-class-manager?tab=3&id={model.Id}"); var content = $"待审通知 你有一张业务单据等待审核\n>**概要信息** \n>单据信息:<font color='comment'>{EnumHelper.ToName(model.ReceiptType)}单据 ({model.Id})</font>\n>创 建 人:<font color='comment'>{account.EmployeeName}</font>\n>创建时间:<font color='comment'>{DateTime.Now.ToString("MM-dd HH-mm")}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={subItem.UserId}&target={recipientPath})"; PushWorkChatHelper.PushToWorkChat(content, account.WorkUserId, "业务单据待审通知"); } #endregion } } } } index++; } return flag; } /// <summary> /// 获取班级教师编号 /// </summary> /// <param name="classId"></param> /// <returns></returns> public int GetTeacherIdRepository(int classId) { var teacherId = 0; //班级实体类 var classModel = classRepository.GetEntity(classId); if (classModel != null && classModel.Teacher_Id > 0) { //获取教师实体信息 var teacherModel = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel() { AccountId = (classModel?.Teacher_Id ?? 0), AccountType = Common.Enum.User.AccountTypeEnum.Teacher })?.FirstOrDefault(); teacherId = teacherModel?.Id ?? 0; } return teacherId; } /// <summary> /// 获取订单销售人员编号 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public int GetOrderSaleIdRepository(int orderId) { var orderModel = orderRepository.GetEntity(orderId); var enterId = (orderModel?.EnterID ?? 0); return enterId; } /// <summary> /// 获取学校校长编号 /// </summary> /// <param name="GroupId"></param> /// <returns></returns> public int GetSchoolMasterIdRepository(int GroupId) { var headmaster = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel() { Post_Id = Common.Config.SchoolPostId, Group_Id = GroupId })?.FirstOrDefault(); var headmasterId = (headmaster?.Id ?? 0); return headmasterId; } /// <summary> /// 获取教务长编号 /// </summary> /// <param name="GroupId"></param> /// <returns></returns> public int GetSchoolJiaoWuZhangIdRepository(int GroupId) { var headmaster = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel() { Post_Id = Common.Config.JiaoWuZhang, Group_Id = GroupId })?.FirstOrDefault(); var jiaoWuZhangId = (headmaster?.Id ?? 0); return jiaoWuZhangId; } /// <summary> /// 根据岗位编号获取人员 /// </summary> /// <param name="GroupId"></param> /// <param name="PostId"></param> /// <returns></returns> public List<int> GetPostIdsRepository(int GroupId, string PostId) { List<int> result = new List<int>(); var list = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel() { Group_Id = GroupId, QPostIds = PostId }); if (list != null && list.Count > 0) { foreach (var item in list) { result.Add(item.Id); } } return result; } } }