using Abp.Auditing; using Abp.Authorization; using Abp.Domain.Repositories; using Abp.Runtime.Caching; using Abp.Web.Mvc.Authorization; using IwbZero.ToolCommon.StringModel; using System.Threading.Tasks; using System.Web.Mvc; using System.Web.WebPages; using WeApp.BaseSystem.Query; using WeApp.CommonManager.MqttClient; using WeApp.Configuration; using WeApp.TrainingCamp; using WeApp.TrainingCamp.Dto; using WeApp.TrainingPortrait; using WeApp.Views.Shared.Camp; namespace WeApp.Controllers { [DisableAuditing] [AbpMvcAuthorize] public class TrainController : IwbControllerBase { public TrainController(ICacheManager cacheManager, QueryAppService queryApp, WeAppMsgClientManager weAppClient, IRepository campRepository, PortraitAppService portraitApp) { QueryApp = queryApp; WeAppClient = weAppClient; CampRepository = campRepository; PortraitApp = portraitApp; CacheManager = cacheManager; } private WeAppMsgClientManager WeAppClient { get; } protected QueryAppService QueryApp { get; } protected PortraitAppService PortraitApp { get; } protected IRepository CampRepository { get; } [AbpMvcAuthorize] public async Task Camp() { ViewBag.State = await QueryApp.GetCampStateSelectStr(); ViewBag.AutidState = await QueryApp.GetCampStateSelectStr(CampStateDefinition.New.ToInt() + "", CampStateDefinition.Audit.ToInt() + ""); ViewBag.SthHelp = await QueryApp.GetStuHelpSelectStr(); return View(); } [AbpMvcAuthorize] public async Task CampGroup(string id) { if (StringExtensions.IsEmpty(id)) { CheckErrors("未发现培训营编号,请检查后再试!"); } ViewBag.CampNo = id; ViewBag.State = await QueryApp.GetCampGroupStateSelectStr(); return View(); } [AbpMvcAuthorize] public async Task CampAttach(string id) { if (StringExtensions.IsEmpty(id)) { CheckErrors("未发现培训营编号,请检查后再试!"); } var camp = await CampRepository.FirstOrDefaultAsync(a => a.Id == id); if (camp == null) { CheckErrors($"未查询到编号为{id}的培训营!"); return null; } ViewBag.CampNo = id; ViewBag.PackageNo = camp.PackageNo; ViewBag.PhoneQuestion = await QueryApp.GetQuestionsSelectStr(); return View(); } [AbpMvcAuthorize] public async Task Eval(string id) { if (StringExtensions.IsEmpty(id)) { ViewBag.Select = new SelectCampModel() { HasGroup = false, PageTitle = "选择培训营-演练培训营评估", PageUrl = "/Train/Eval", CampSelect = await QueryApp.GetCampSelectStr(CampStateDefinition.Audit, CampStateDefinition.Run) }; return View("_Select"); } var camp = await CampRepository.FirstOrDefaultAsync(a => a.Id == id); if (camp == null) { CheckErrors($"未查询到编号为{id}的培训营!"); } ViewBag.CampNo = id; ViewBag.Camp = ObjectMapper.Map(camp); ViewBag.Groups = await QueryApp.GetCampGroups(id); ViewBag.CampState = await QueryApp.GetCampStateSelectStr(); ViewBag.GroupState = await QueryApp.GetCampGroupStateSelectStr(); return View(); } [AbpMvcAuthorize] public async Task Portrait(string id) { if (StringExtensions.IsEmpty(id)) { ViewBag.Select = new SelectCampModel() { HasGroup = false, PageTitle = "选择培训营-演练培训营画像", PageUrl = "/Train/Portrait", CampSelect = await QueryApp.GetCampSelectStr(CampStateDefinition.End) }; return View("_Select"); } var camp = await CampRepository.FirstOrDefaultAsync(a => a.Id == id); if (camp == null) { CheckErrors($"未查询到编号为{id}的培训营!"); } ViewBag.CampNo = id; ViewBag.Camp = ObjectMapper.Map(camp); ViewBag.IsEdit = false; ViewBag.Groups = await QueryApp.GetCampGroups(id); ViewBag.CampState = await QueryApp.GetCampStateSelectStr(); ViewBag.GroupState = await QueryApp.GetCampGroupStateSelectStr(); return View(); } [AbpMvcAuthorize] public async Task GeneratePortrait(string id) { if (StringExtensions.IsEmpty(id)) { ViewBag.Select = new SelectCampModel() { HasGroup = false, PageTitle = "选择培训营-演练培训营画像", PageUrl = "/Train/GeneratePortrait", CampSelect = await QueryApp.GetCampSelectStr(CampStateDefinition.Audit, CampStateDefinition.Run) }; return View("_Select"); } var camp = await CampRepository.FirstOrDefaultAsync(a => a.Id == id); if (camp == null) { CheckErrors($"未查询到编号为{id}的培训营!"); } ViewBag.CampNo = id; ViewBag.Camp = ObjectMapper.Map(camp); ViewBag.IsEdit = true; ViewBag.Groups = await QueryApp.GetCampGroups(id); ViewBag.CampState = await QueryApp.GetCampStateSelectStr(); ViewBag.GroupState = await QueryApp.GetCampGroupStateSelectStr(); return View("Portrait"); } [AbpAllowAnonymous, AllowAnonymous] public async Task Report(string id) { if (string.IsNullOrEmpty(id)) { CheckErrors("分组编号不能为空!"); } var group = await PortraitApp.GetGroupReportBase(id); if (group == null) { CheckErrors("未查询到演练!"); } return View(group); } } }