|
@@ -1,11 +1,9 @@
|
|
|
using Hotline.Api.Filter;
|
|
|
-using Hotline.Application.FlowEngine;
|
|
|
using Hotline.Caching.Interfaces;
|
|
|
using Hotline.File;
|
|
|
using Hotline.JudicialManagement;
|
|
|
using Hotline.Orders;
|
|
|
using Hotline.Repository.SqlSugar.Extensions;
|
|
|
-using Hotline.Repository.SqlSugar.Orders;
|
|
|
using Hotline.Settings;
|
|
|
using Hotline.Settings.TimeLimits;
|
|
|
using Hotline.Share.Dtos;
|
|
@@ -19,7 +17,6 @@ using SqlSugar;
|
|
|
using XF.Domain.Authentications;
|
|
|
using XF.Domain.Exceptions;
|
|
|
using XF.Domain.Repository;
|
|
|
-using XF.Utility.EnumExtensions;
|
|
|
|
|
|
namespace Hotline.Api.Controllers
|
|
|
{
|
|
@@ -28,25 +25,21 @@ namespace Hotline.Api.Controllers
|
|
|
private readonly IRepository<JudicialComplaintsEventType> _judicialComplaintsEventTypeRepository;
|
|
|
private readonly IRepository<EnforcementHotspot> _enforcementHotspotRepository;
|
|
|
private readonly IMapper _mapper;
|
|
|
- private readonly IWorkflowApplication _workflowApplication;
|
|
|
private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
|
|
|
private readonly IRepository<SystemOrganize> _systemOrganizeRepository;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IRepository<SystemArea> _systemAreaRepository;
|
|
|
- // private readonly IOrderRepository _orderRepository;
|
|
|
private readonly IRepository<JudicialManagementOrders> _judicialManagementOrdersRepository;
|
|
|
private readonly IFileRepository _fileRepository;
|
|
|
private readonly IJudicialManagementOrdersService _judicialManagementOrdersService;
|
|
|
private readonly IRepository<EnforcementOrdersHandler> _enforcementOrdersHandlerRepository;
|
|
|
|
|
|
/// <summary>
|
|
|
- ///
|
|
|
+ ///
|
|
|
/// </summary>
|
|
|
- /// <param name="enforcementOrdersRepository"></param>
|
|
|
/// <param name="judicialComplaintsEventTypeRepository"></param>
|
|
|
/// <param name="enforcementHotspotRepository"></param>
|
|
|
/// <param name="mapper"></param>
|
|
|
- /// <param name="workflowApplication"></param>
|
|
|
/// <param name="sysDicDataCacheManager"></param>
|
|
|
/// <param name="systemOrganizeRepository"></param>
|
|
|
/// <param name="sessionContext"></param>
|
|
@@ -59,7 +52,6 @@ namespace Hotline.Api.Controllers
|
|
|
IRepository<JudicialComplaintsEventType> judicialComplaintsEventTypeRepository,
|
|
|
IRepository<EnforcementHotspot> enforcementHotspotRepository,
|
|
|
IMapper mapper,
|
|
|
- IWorkflowApplication workflowApplication,
|
|
|
ISystemDicDataCacheManager sysDicDataCacheManager,
|
|
|
IRepository<SystemOrganize> systemOrganizeRepository,
|
|
|
ISessionContext sessionContext,
|
|
@@ -73,7 +65,6 @@ namespace Hotline.Api.Controllers
|
|
|
_judicialComplaintsEventTypeRepository = judicialComplaintsEventTypeRepository;
|
|
|
_enforcementHotspotRepository = enforcementHotspotRepository;
|
|
|
_mapper = mapper;
|
|
|
- _workflowApplication = workflowApplication;
|
|
|
_sysDicDataCacheManager = sysDicDataCacheManager;
|
|
|
_systemOrganizeRepository = systemOrganizeRepository;
|
|
|
_sessionContext = sessionContext;
|
|
@@ -95,13 +86,28 @@ namespace Hotline.Api.Controllers
|
|
|
{
|
|
|
dto.InitAddress();
|
|
|
var order = _mapper.Map<JudicialManagementOrders>(dto);
|
|
|
- order.SignerId = _sessionContext.UserId;
|
|
|
- order.SignerName = _sessionContext.UserName;
|
|
|
order.InitId();
|
|
|
if (dto.Files.Any())
|
|
|
order.FileJson = await _fileRepository.AddFileAsync(dto.Files, order.Id, "", HttpContext.RequestAborted);
|
|
|
await _judicialManagementOrdersService.AddAsync(order, true, HttpContext.RequestAborted);
|
|
|
-
|
|
|
+ //处理执法部门
|
|
|
+ if (dto.EnforcementOrdersHandler != null && dto.EnforcementOrdersHandler.Any())
|
|
|
+ {
|
|
|
+ List<EnforcementOrdersHandler> enforcementOrdersHandlers = new();
|
|
|
+ foreach (var item in dto.EnforcementOrdersHandler)
|
|
|
+ {
|
|
|
+ enforcementOrdersHandlers.Add(new EnforcementOrdersHandler
|
|
|
+ {
|
|
|
+ OrderId = order.Id,
|
|
|
+ OrderNo = order.No,
|
|
|
+ OrderSoure = EOrderSoure.Enforcement,
|
|
|
+ OrgCode = item.Value,
|
|
|
+ OrgName = item.Key
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (enforcementOrdersHandlers != null && enforcementOrdersHandlers.Any())
|
|
|
+ await _enforcementOrdersHandlerRepository.AddRangeAsync(enforcementOrdersHandlers, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
return order.Id;
|
|
|
}
|
|
|
|
|
@@ -122,6 +128,30 @@ namespace Hotline.Api.Controllers
|
|
|
_mapper.Map(dto, order);
|
|
|
if (dto.Files.Any())
|
|
|
order.FileJson = await _fileRepository.AddFileAsync(dto.Files, order.Id, "", HttpContext.RequestAborted);
|
|
|
+ await _judicialManagementOrdersRepository.UpdateAsync(order, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ //处理执法部门
|
|
|
+ if (dto.EnforcementOrdersHandler != null && dto.EnforcementOrdersHandler.Any())
|
|
|
+ {
|
|
|
+ List<EnforcementOrdersHandler> enforcementOrdersHandlers = new();
|
|
|
+ foreach (var item in dto.EnforcementOrdersHandler)
|
|
|
+ {
|
|
|
+ enforcementOrdersHandlers.Add(new EnforcementOrdersHandler
|
|
|
+ {
|
|
|
+ OrderId = order.Id,
|
|
|
+ OrderNo = order.No,
|
|
|
+ OrderSoure = EOrderSoure.Enforcement,
|
|
|
+ OrgCode = item.Value,
|
|
|
+ OrgName = item.Key
|
|
|
+ });
|
|
|
+ if (enforcementOrdersHandlers != null && enforcementOrdersHandlers.Any())
|
|
|
+ {
|
|
|
+ await _enforcementOrdersHandlerRepository.RemoveAsync(p => p.OrderId == order.Id, false, HttpContext.RequestAborted);
|
|
|
+ await _enforcementOrdersHandlerRepository.AddRangeAsync(enforcementOrdersHandlers, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -183,6 +213,29 @@ namespace Hotline.Api.Controllers
|
|
|
await _judicialManagementOrdersRepository.UpdateAsync(order, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 查询工单详情
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="id"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("{id}")]
|
|
|
+ public async Task<JudicialManagementOrderDto> Get(string id)
|
|
|
+ {
|
|
|
+ var order = await _judicialManagementOrdersRepository.Queryable().FirstAsync(d => d.Id == id);
|
|
|
+ if (order == null)
|
|
|
+ return new();
|
|
|
+ var dto = _mapper.Map<JudicialManagementOrderDto>(order);
|
|
|
+
|
|
|
+ if (dto.FileJson != null && dto.FileJson.Any())
|
|
|
+ {
|
|
|
+ var ids = order.FileJson.Select(x => x.Id).ToList();
|
|
|
+ var files = await _fileRepository.GetFilesAsync(ids, HttpContext.RequestAborted);
|
|
|
+ //x.Classify == "办理上传" &&
|
|
|
+ dto.Files = files.Where(x => string.IsNullOrEmpty(x.FlowKey)).ToList();
|
|
|
+ }
|
|
|
+ return dto;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 删除工单
|
|
|
/// </summary>
|
|
@@ -259,10 +312,23 @@ namespace Hotline.Api.Controllers
|
|
|
if (tempOrg != null)
|
|
|
OrgsOptions.Add(tempOrg);
|
|
|
}
|
|
|
+ var listChannelOptions = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel).ToList();
|
|
|
+ var ChannelOptions = new List<Kv>();
|
|
|
+ foreach (var item in listChannelOptions)
|
|
|
+ {
|
|
|
+ ChannelOptions.Add(new Kv { Key = item.DicDataName, Value = item.DicDataValue });
|
|
|
+ }
|
|
|
+ ChannelOptions.Add(new Kv { Key = "自定义", Value = "ZDY" });
|
|
|
+ var listAcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType).ToList();
|
|
|
+ var AcceptTypeOptions = new List<Kv>();
|
|
|
+ foreach (var item in listAcceptTypeOptions)
|
|
|
+ {
|
|
|
+ AcceptTypeOptions.Add(new Kv { Key = item.DicDataName, Value = item.DicDataValue });
|
|
|
+ }
|
|
|
var rsp = new
|
|
|
{
|
|
|
- AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType),
|
|
|
- ChannelOptions = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel),
|
|
|
+ AcceptTypeOptions,
|
|
|
+ ChannelOptions,
|
|
|
OrgsOptions,
|
|
|
EnforcementHotspot = await _enforcementHotspotRepository.Queryable().ToTreeAsync(it => it.Children, it => it.ParentId, null, it => it.Id)
|
|
|
};
|