|
@@ -169,6 +169,7 @@ public class OrderController : BaseController
|
|
|
private readonly IRepository<Hotline.Special.SpecialNumber> _specialNumberRepository;
|
|
|
private readonly IRepository<OrderVisitDetailCopy> _orderVisitDetailCopyRepository;
|
|
|
private readonly IRedPackAuditRepository _redPackAuditRepository;
|
|
|
+ private readonly IRepository<OrderPublishTemp> _orderPublishTempRepository;
|
|
|
|
|
|
public OrderController(
|
|
|
IOrderDomainService orderDomainService,
|
|
@@ -248,7 +249,8 @@ public class OrderController : BaseController
|
|
|
IRedPackAuditRepository redPackAuditRepository,
|
|
|
IRepository<Hotline.Special.SpecialNumber> specialNumberRepository,
|
|
|
IRepository<OrderVisitDetailCopy> orderVisitDetailCopyRepository,
|
|
|
- ISystemLogRepository systemLogRepository)
|
|
|
+ ISystemLogRepository systemLogRepository,
|
|
|
+ IRepository<OrderPublishTemp> orderPublishTempRepository)
|
|
|
{
|
|
|
_orderDomainService = orderDomainService;
|
|
|
_orderRepository = orderRepository;
|
|
@@ -328,6 +330,7 @@ public class OrderController : BaseController
|
|
|
_specialNumberRepository = specialNumberRepository;
|
|
|
_orderVisitDetailCopyRepository = orderVisitDetailCopyRepository;
|
|
|
_systemLogRepository = systemLogRepository;
|
|
|
+ _orderPublishTempRepository = orderPublishTempRepository;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
@@ -368,8 +371,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("publishorder/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportPublishOrders([FromBody] ExportExcelDto<QueryOrderPublishDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportPublishOrders([FromBody] ExportExcelDto<QueryOrderPublishDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.GetPublishOrderList(dto.QueryDto);
|
|
|
List<Order> orders;
|
|
@@ -813,6 +816,101 @@ public class OrderController : BaseController
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 临时待发布(集合)
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("publish/temp/items")]
|
|
|
+ public async Task<IReadOnlyList<PublishDto>> GetPublishTempOrderListAsync([FromQuery] QueryOrderPublishDto dto)
|
|
|
+ {
|
|
|
+ var orders = await _orderApplication.GetPublishTempOrderList(dto)
|
|
|
+ .ToPageListWithoutTotalAsync(dto, HttpContext.RequestAborted);
|
|
|
+ return _mapper.Map<IReadOnlyList<PublishDto>>(orders);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 临时待发布
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("publish/temp/count")]
|
|
|
+ public async Task<int> GetPublishTempOrderCount([FromQuery] QueryOrderPublishDto dto)
|
|
|
+ {
|
|
|
+ return await _orderApplication.GetPublishTempOrderList(dto).CountAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 临时待发布--导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("publishorder/temp/export")]
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportPublishTempOrders([FromBody] ExportExcelDto<QueryOrderPublishDto> dto)
|
|
|
+ {
|
|
|
+ var query = _orderApplication.GetPublishTempOrderList(dto.QueryDto);
|
|
|
+ List<Order> orders;
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ orders = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ orders = items;
|
|
|
+ }
|
|
|
+
|
|
|
+ var orderDtos = _mapper.Map<ICollection<PublishDto>>(orders);
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass<PublishDto>(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = orderDtos
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(PublishDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "临时发布待办数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 临时待发布(发布)
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("publish/temp")]
|
|
|
+ [LogFilter("临时发布")]
|
|
|
+ public async Task PublishTempOrder([FromBody] PublishOrderDto dto)
|
|
|
+ {
|
|
|
+ //验证订单
|
|
|
+ var order = await _orderRepository.GetAsync(dto.Id, HttpContext.RequestAborted)
|
|
|
+ ?? throw UserFriendlyException.SameMessage("未找到工单,无法发布");
|
|
|
+
|
|
|
+ if (order.Status != EOrderStatus.Filed)
|
|
|
+ throw UserFriendlyException.SameMessage("当前状态无法发布");
|
|
|
+
|
|
|
+ var enabled = _systemSettingCacheManager.CancelPublishOrderEnabled;
|
|
|
+ if (enabled)
|
|
|
+ {
|
|
|
+ // 获取上一次被取消发布的发布信息
|
|
|
+ var publishedDeleted = await _orderPublishRepository.Queryable().Where(m => m.OrderId == dto.Id && m.IsDeleted == true)
|
|
|
+ .OrderByDescending(m => m.CreationTime).FirstAsync(HttpContext.RequestAborted);
|
|
|
+ if (publishedDeleted != null && _sessionContext.RequiredUserId != publishedDeleted.CreatorId)
|
|
|
+ {
|
|
|
+ throw UserFriendlyException.SameMessage($"该工单被取消发布过, 之前的发布人是 [{publishedDeleted.CreatorName}], 您不能发布;");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //新增发布工单
|
|
|
+ var orderPublish = _mapper.Map<OrderPublishTemp>(dto);
|
|
|
+ orderPublish.OrderId = order.Id;
|
|
|
+ orderPublish.No = order.No;
|
|
|
+
|
|
|
+ // 新增临时待发布
|
|
|
+ string id = await _orderPublishTempRepository.AddAsync(orderPublish);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 已发布列表
|
|
|
/// </summary>
|
|
@@ -886,8 +984,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("publishedorder/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportPublishedOrders([FromBody] ExportExcelDto<PublishedPagedRequest> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportPublishedOrders([FromBody] ExportExcelDto<PublishedPagedRequest> dto)
|
|
|
{
|
|
|
var query = _orderApplication.GetPublishedOrder(dto.QueryDto);
|
|
|
List<OrderPublish> orders;
|
|
@@ -1174,8 +1272,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("visit/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportOrderVisit([FromBody] ExportExcelDto<QueryOrderVisitDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportOrderVisit([FromBody] ExportExcelDto<QueryOrderVisitDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.QueryOrderVisitList(dto.QueryDto);
|
|
|
List<OrderVisit> orders;
|
|
@@ -1620,8 +1718,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("visit/judge-query-export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> VisitJudgeQueryExport([FromBody] ExportExcelDto<VisitJudgeQueryReq> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> VisitJudgeQueryExport([FromBody] ExportExcelDto<VisitJudgeQueryReq> dto)
|
|
|
{
|
|
|
var query = _orderRepository.VisitJudgeQuery(dto.QueryDto);
|
|
|
|
|
@@ -1751,8 +1849,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("org-visitdetail-list-export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> OrgVisitDetailListExport([FromBody] ExportExcelDto<OrgVisitDetailListReq> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> OrgVisitDetailListExport([FromBody] ExportExcelDto<OrgVisitDetailListReq> dto)
|
|
|
{
|
|
|
//特殊需求:管理员账号使用该查询条件查询的数据,与富顺的账号查询的数据一致;
|
|
|
var isAdmin = _orderDomainService.IsCheckAdmin();
|
|
@@ -2599,8 +2697,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("delay/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportDelayList([FromBody] ExportExcelDto<DelayListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportDelayList([FromBody] ExportExcelDto<DelayListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.DelayList(dto.QueryDto);
|
|
|
List<OrderDelay> orders;
|
|
@@ -2648,8 +2746,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("wait_delay/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportWaitDelayList([FromBody] ExportExcelDto<DelayListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportWaitDelayList([FromBody] ExportExcelDto<DelayListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.WaitDelayList(dto.QueryDto);
|
|
|
List<OrderDelay> orders;
|
|
@@ -2808,8 +2906,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("mayscreen/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<MayScreenListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<MayScreenListDto> dto)
|
|
|
{
|
|
|
if (_appOptions.Value.IsYiBin) dto.QueryDto.ScreenType = EOrderScreenType.Org;
|
|
|
|
|
@@ -2867,8 +2965,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("screen_list/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<ScreenListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<ScreenListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.OrderScreenList(dto.QueryDto);
|
|
|
List<OrderScreen> data;
|
|
@@ -3425,8 +3523,8 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
|
|
|
[HttpPost("supervise/travel/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportTravel([FromBody] ExportExcelDto<QueryOrderDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportTravel([FromBody] ExportExcelDto<QueryOrderDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.QueryTravel(dto.QueryDto);
|
|
|
List<Order> orders;
|
|
@@ -4152,8 +4250,8 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
|
|
|
[HttpPost("order/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExportOrders([FromBody] ExportExcelDto<QueryOrderDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExportOrders([FromBody] ExportExcelDto<QueryOrderDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.QueryOrders(dto.QueryDto);
|
|
|
List<Order> orders;
|
|
@@ -6653,8 +6751,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("order_previous_list/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> OrgDataListDetailExport([FromBody] ExportExcelDto<SendBackListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> OrgDataListDetailExport([FromBody] ExportExcelDto<SendBackListDto> dto)
|
|
|
{
|
|
|
var query = _orderSendBackAuditApplication.AuditList(dto.QueryDto);
|
|
|
List<OrderSendBackAudit> data;
|
|
@@ -8494,8 +8592,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("order_word/list/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ListExport([FromBody] ExportExcelDto<OrderWordListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ListExport([FromBody] ExportExcelDto<OrderWordListDto> dto)
|
|
|
{
|
|
|
var query = _orderRepository.QueryOrderWordList(dto.QueryDto);
|
|
|
List<OrderWord> list;
|
|
@@ -8620,8 +8718,8 @@ public class OrderController : BaseController
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("order_observe/list/export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ListExport([FromBody] ExportExcelDto<OrderObserveListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ListExport([FromBody] ExportExcelDto<OrderObserveListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.OrderObserveList(dto.QueryDto);
|
|
|
List<OrderObserve> data;
|
|
@@ -8817,8 +8915,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("order/about_expire/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> AboutListExport([FromBody] ExportExcelDto<AboutToExpireListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> AboutListExport([FromBody] ExportExcelDto<AboutToExpireListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.GetAboutToExpireAsync(dto.QueryDto);
|
|
|
List<Hotline.Orders.Order> orders;
|
|
@@ -8871,8 +8969,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("order/expire/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> ExpireListExport([FromBody] ExportExcelDto<AboutToExpireListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> ExpireListExport([FromBody] ExportExcelDto<AboutToExpireListDto> dto)
|
|
|
{
|
|
|
var query = _orderApplication.GetToExpireAsync(dto.QueryDto);
|
|
|
List<Hotline.Orders.Order> orders;
|
|
@@ -9255,8 +9353,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("secondary_handling/apply_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> OrderSecondaryHandlingApplyExport([FromBody] ExportExcelDto<MayScreenListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> OrderSecondaryHandlingApplyExport([FromBody] ExportExcelDto<MayScreenListDto> dto)
|
|
|
{
|
|
|
var query = _orderSecondaryHandlingApplication.ApplyQuery(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
List<OrderVisitDetail> visitDetails;
|
|
@@ -9302,8 +9400,8 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("secondary_handling/_export")]
|
|
|
- [LogFilterAlpha("导出日志")]
|
|
|
- public async Task<FileStreamResult> OrderSecondaryHandlingExport([FromBody] ExportExcelDto<SecondaryHandlingListDto> dto)
|
|
|
+ [LogFilterAlpha("导出日志")]
|
|
|
+ public async Task<FileStreamResult> OrderSecondaryHandlingExport([FromBody] ExportExcelDto<SecondaryHandlingListDto> dto)
|
|
|
{
|
|
|
var query = _orderSecondaryHandlingApplication.Query(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
List<OrderSecondaryHandling> secondaryHandling;
|