using Edu.Common.API; using Edu.Common.Enum.Course; using Edu.Common.Enum.Finance; using Edu.Common.Plugin; using Edu.Model.ViewModel.EduTask; using Edu.Module.EduTask; using Edu.WebApi.Filter; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Edu.WebApi.Controllers.EduTask { /// <summary> /// 流程设置相关接口 /// </summary> [Route("api/[controller]/[action]")] [ApiExceptionFilter] [ApiController] [EnableCors("AllowCors")] public class EducationReceiptController : BaseController { /// <summary> /// 教务单据处理类对象 /// </summary> private readonly EducationReceiptModule educationReceiptModule = AOP.AOPHelper.CreateAOPObject<EducationReceiptModule>(); /// <summary> /// 获取教务单据分页列表 /// </summary> /// <returns></returns> [HttpPost] public ApiResult GetEducationReceiptPage() { var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var query = new EducationReceiptQuery() { Group_Id = base.UserInfo.Group_Id, StartTime = base.ParmJObj.GetStringValue("StartTime"), EndTime = base.ParmJObj.GetStringValue("EndTime"), Conditon = (EduReceiptConditionEnum)base.ParmJObj.GetInt("Conditon"), ReceiptType = base.ParmJObj.GetInt("ReceiptType"), Title = base.ParmJObj.GetStringValue("Title"), }; if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("VerifyStatus"))) { query.VerifyStatus = base.ParmJObj.GetInt("VerifyStatus", -1); } var id = base.ParmJObj.GetInt("Id"); if (id > 0) { query.QIds = id.ToString(); } query.CreateBy = base.UserInfo.Id; var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); pageModel.PageData = list; pageModel.Count = rowsCount; return ApiResult.Success(data: pageModel); } /// <summary> /// 获取教务单据当前审核人列表 /// </summary> /// <returns></returns> [HttpPost] public ApiResult GetCurrentAuditMan() { var Id = base.ParmJObj.GetInt("Id"); var Info = educationReceiptModule.GetCurrentAuditManModule(Id); return ApiResult.Success(data: Info); } /// <summary> /// 教务单据作废 /// </summary> /// <returns></returns> [HttpPost] public ApiResult InvalidReceipt() { var Id = base.ParmJObj.GetInt("Id"); var flag = educationReceiptModule.InvalidReceiptModule(Id); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// <summary> /// 修改教务单据当前审核人 /// </summary> /// <returns></returns> [HttpPost] public ApiResult EditAuditMan() { List<RB_Education_Record_ViewModel> list = new List<RB_Education_Record_ViewModel>(); JArray jArray = JArray.Parse(base.ParmJObj.GetStringValue("Info")); if (jArray != null && jArray.Count > 0) { foreach (var item in jArray) { JObject jObj = JObject.Parse(item.ToString()); RB_Education_Record_ViewModel model = new RB_Education_Record_ViewModel() { Id=jObj.GetInt("Id"), ConditionId=jObj.GetInt("ConditionId"), AuditId=jObj.GetInt("AuditId"), AuditEmId=jObj.GetInt("AuditEmId"), NewAuditEmId=jObj.GetInt("NewAuditEmId"), }; list.Add(model); } } var flag = educationReceiptModule.EditAuditManModule(list); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// <summary> /// 获取教务单据类型 /// </summary> /// <returns></returns> [HttpPost] public ApiResult GetEduReceiptInfo() { var Id = base.ParmJObj.GetInt("Id"); var Info = educationReceiptModule.GetEducationReceiptInfoModule(Id); return ApiResult.Success(data: Info); } /// <summary> /// 教务单据审核 /// </summary> /// <param name="model">审核信息</param> /// <param name="user">登录用户信息</param> /// <param name="message">返回提示信息</param> /// <returns></returns> public ApiResult AduitEducationReceipt() { var auditModel = new EduReceiptAudit() { Id = base.ParmJObj.GetInt("Id"), AuditStatus = base.ParmJObj.GetInt("AuditStatus"), BackMoney = base.ParmJObj.GetDecimal("BackMoney"), Description = base.ParmJObj.GetStringValue("Description"), RecipientIds = base.ParmJObj.GetStringValue("RecipientIds"), SpecialNode = base.ParmJObj.GetInt("SpecialNode"), }; var flag = educationReceiptModule.AduitEducationReceiptModule(auditModel, base.UserInfo, out string message); return flag?ApiResult.Success():ApiResult.Failed(message: message); } /// <summary> /// 获取单据类型 /// </summary> /// <returns></returns> [HttpPost] public ApiResult GetEducationReceiptType() { var list = Common.Plugin.EnumHelper.EnumToList(typeof(ReceiptTypeEnum)); return ApiResult.Success(data: list); } } }