任务下发
parent
7d83aa8e01
commit
5f1eac0f74
|
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.Const
|
||||
{
|
||||
class EnumInfo
|
||||
{
|
||||
}
|
||||
/// <summary>
|
||||
/// 任务状态
|
||||
/// </summary>
|
||||
public enum TaskState
|
||||
{
|
||||
[Description("待接收")]
|
||||
待接收 = 1,
|
||||
[Description("已接收")]
|
||||
已接收 = 2,
|
||||
[Description("已完成")]
|
||||
已完成 = 3,
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
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 = "操作失败" };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//查询下发人员
|
||||
public async Task<Response<List<SysUserResp>>> GetIssuedUsers(string username)
|
||||
{
|
||||
using (var db = base.UnitWork.CreateContext())
|
||||
{
|
||||
var users = await db.User.AsQueryable()
|
||||
.WhereIF(string.IsNullOrEmpty(username),r=>r.Name.Contains(username))
|
||||
.Where(r => r.Status==0)
|
||||
.Select(r=> new SysUserResp
|
||||
{
|
||||
Id = r.Id,
|
||||
Name = r.Name
|
||||
}) .ToListAsync();
|
||||
return new Response<List<SysUserResp>> { Result = users };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.ServiceApp.FireManagement.Response
|
||||
{
|
||||
public class SysUserResp
|
||||
{
|
||||
public long Id { get; set; }
|
||||
/// <summary>
|
||||
/// 用户姓名
|
||||
/// </summary>
|
||||
[Description("用户姓名")]
|
||||
public string Name { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -14,11 +14,7 @@ namespace OpenAuth.Repository.Domain.FireManagement
|
|||
/// 主键
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 接收人
|
||||
/// </summary>
|
||||
public string Recipient { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 任务内容
|
||||
|
|
@ -79,5 +75,7 @@ namespace OpenAuth.Repository.Domain.FireManagement
|
|||
/// 逻辑删除标志
|
||||
/// </summary>
|
||||
public bool IsDelete { get; set; }
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<string> RecipientUsers { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using Models;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using OpenAuth.Repository.Domain.DataMaintenance;
|
||||
using OpenAuth.Repository.Domain.FireManagement;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -66,7 +67,9 @@ namespace OpenAuth.Repository
|
|||
#endregion
|
||||
|
||||
#region 防火平台实体类
|
||||
|
||||
public SugarRepositiry<FmFireclueTask> FmFireclueTask { get; set; }
|
||||
public SugarRepositiry<FmFireTaskUser> FmFireTaskUser { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
public SugarRepositiry<DmModule> DmModule { get; set; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
using Infrastructure;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using OpenAuth.App.ServiceApp.FireManagement;
|
||||
using OpenAuth.App.ServiceApp.FireManagement.Response;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using OpenAuth.Repository.Domain.FireManagement;
|
||||
|
||||
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
||||
{
|
||||
/// <summary>
|
||||
/// 防火管理模块
|
||||
/// </summary>
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class FireManagementController : ControllerBase
|
||||
{
|
||||
private readonly FireManagementApp _app;
|
||||
|
||||
public FireManagementController(FireManagementApp app)
|
||||
{
|
||||
_app = app;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下发防火线索任务
|
||||
/// </summary>
|
||||
/// <param name="info">防火任信息</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> IssuedFireClueTask(FmFireclueTask info)
|
||||
{
|
||||
Response<bool> response = new Response<bool>();
|
||||
try
|
||||
{
|
||||
return await _app.IssuedFireClueTask(info);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询下发人员
|
||||
/// </summary>
|
||||
/// <param name="username"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Response<List<SysUserResp>>> GetIssuedUsers(string username)
|
||||
{
|
||||
Response<List<SysUserResp>> response = new Response<List<SysUserResp>>();
|
||||
try
|
||||
{
|
||||
return await _app.GetIssuedUsers(username);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Message = ex.InnerException?.Message ?? ex.Message;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue