using OpenAuth.App.BaseApp.Base; using OpenAuth.Repository.Domain.DataMaintenance; using OpenAuth.Repository; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OpenAuth.App.Interface; using SqlSugar; using OpenAuth.Repository.Domain.FireManagement; using Infrastructure; using OpenAuth.App.ServiceApp.FireManagement.Request; using Yitter.IdGenerator; using OpenAuth.App.Const; using DocumentFormat.OpenXml.Spreadsheet; using OpenAuth.Repository.Domain; using OpenAuth.App.ServiceApp.FireManagement.Response; namespace OpenAuth.App.ServiceApp.FireManagement { public class FireManagementApp : SqlSugarBaseApp { public FireManagementApp(ISugarUnitOfWork unitWork, ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) { _auth = auth; } /// /// 下发防火线索任务 /// /// /// public async Task> IssuedFireClueTask(FmFireclueTask info) { using (var db = base.UnitWork.CreateContext()) { info.Id = YitIdHelper.NextId(); info.State = (int)TaskState.待接收; info.TaskTime = DateTime.Now; info.IsDelete = false; await db.FmFireclueTask.InsertAsync(info); List fftuList = new List(); if (info.RecipientUsers == null || info.RecipientUsers.Count == 0) { var userList = await db.User.AsQueryable().Where(r => r.Status == 0).ToListAsync(); userList.ForEach(user => { FmFireTaskUser fftu = new FmFireTaskUser { Id = YitIdHelper.NextId(), UserId = user.Id.ToString(), TaskId = info.Id, ReceiveTime = DateTime.Now, State = (int)TaskState.待接收 }; fftuList.Add(fftu); }); } else { info.RecipientUsers.ForEach(user => { FmFireTaskUser fftu = new FmFireTaskUser { Id = YitIdHelper.NextId(), UserId = user, TaskId = info.Id, ReceiveTime = DateTime.Now, State = (int)TaskState.待接收 }; fftuList.Add(fftu); }); } await db.FmFireTaskUser.InsertRangeAsync(fftuList); if (db.Commit()) { return new Response { Result = true, Message = "操作成功" }; } else { return new Response { Result = false, Message = "操作失败" }; } } } /// /// 查询下发人员 /// /// /// public async Task>> LoadFireClueUser(string username, string unitname) { using (var db = base.UnitWork.CreateContext()) { var users = await db.User.AsQueryable() .WhereIF(!string.IsNullOrEmpty(username), r => r.Name.Contains(username)) .WhereIF(!string.IsNullOrEmpty(unitname), r => r.UnitName.Contains(username)) .Where(r => r.Status == 0) .Select(r => new SysUserResp { Id = r.Id, Name = r.Name }).ToListAsync(); return new Response> { Result = users }; } } /// /// 查询任务列表 /// /// public async Task>> GetTaskList() { using (var db = base.UnitWork.CreateContext()) { var tasks = await db.FmFireclueTask.AsQueryable() .Where(r => r.IsDelete == false) .ToListAsync(); return new Response> { Result = tasks }; } } /// /// 查询人员单位信息 /// /// public async Task>> GetUserUnit() { using (var db = base.UnitWork.CreateContext()) { var userunit = await db.FmUserUnit.AsQueryable().ToListAsync(); return new Response> { Result = userunit }; } } } }