2025-03-21 16:42:48 +08:00
|
|
|
|
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<FmFireclueTask, SugarDbContext>
|
|
|
|
|
|
{
|
|
|
|
|
|
public FireManagementApp(ISugarUnitOfWork<SugarDbContext> unitWork,
|
|
|
|
|
|
ISimpleClient<FmFireclueTask> repository, IAuth auth) : base(unitWork, repository, auth)
|
|
|
|
|
|
{
|
|
|
|
|
|
_auth = auth;
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 下发防火线索任务
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="info"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<Response<bool>> 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<FmFireTaskUser> fftuList = new List<FmFireTaskUser>();
|
|
|
|
|
|
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<bool> { Result = true, Message = "操作成功" };
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<bool> { Result = false, Message = "操作失败" };
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-03-21 17:02:41 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 查询下发人员
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="username"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2025-03-22 08:42:21 +08:00
|
|
|
|
public async Task<Response<List<SysUserResp>>> LoadFireClueUser(string username, string unitname)
|
2025-03-21 16:42:48 +08:00
|
|
|
|
{
|
|
|
|
|
|
using (var db = base.UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var users = await db.User.AsQueryable()
|
2025-03-22 08:42:21 +08:00
|
|
|
|
.WhereIF(!string.IsNullOrEmpty(username), r => r.Name.Contains(username))
|
|
|
|
|
|
.WhereIF(!string.IsNullOrEmpty(unitname), r => r.UnitName.Contains(username))
|
2025-03-21 17:02:41 +08:00
|
|
|
|
.Where(r => r.Status == 0)
|
|
|
|
|
|
.Select(r => new SysUserResp
|
2025-03-21 16:42:48 +08:00
|
|
|
|
{
|
|
|
|
|
|
Id = r.Id,
|
|
|
|
|
|
Name = r.Name
|
2025-03-21 17:02:41 +08:00
|
|
|
|
}).ToListAsync();
|
2025-03-21 16:42:48 +08:00
|
|
|
|
return new Response<List<SysUserResp>> { Result = users };
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-03-21 17:02:41 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 查询任务列表
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<Response<List<FmFireclueTask>>> GetTaskList()
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = base.UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var tasks = await db.FmFireclueTask.AsQueryable()
|
|
|
|
|
|
.Where(r => r.IsDelete == false)
|
|
|
|
|
|
.ToListAsync();
|
|
|
|
|
|
return new Response<List<FmFireclueTask>> { Result = tasks };
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 查询人员单位信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<Response<List<FmUserUnit>>> GetUserUnit()
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = base.UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var userunit = await db.FmUserUnit.AsQueryable().ToListAsync();
|
|
|
|
|
|
return new Response<List<FmUserUnit>> { Result = userunit };
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-03-21 16:42:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|