|
@@ -65,17 +65,7 @@ using XF.Domain.Repository;
|
|
|
using XF.Utility.EnumExtensions;
|
|
|
using Hotline.Application.Contracts.Validators.FlowEngine;
|
|
|
using Hotline.Authentications;
|
|
|
-using Microsoft.AspNetCore.Components;
|
|
|
-using Quartz.Simpl;
|
|
|
-using static Lucene.Net.Util.Fst.Util;
|
|
|
-using DocumentFormat.OpenXml.Spreadsheet;
|
|
|
-using System.Threading;
|
|
|
-using Hotline.Caching.Services;
|
|
|
-using Hotline.CallCenter.Calls;
|
|
|
-using Hotline.CallCenter.BlackLists;
|
|
|
-using Hotline.Share.Mq;
|
|
|
using Hotline.Share.Dtos.CallCenter;
|
|
|
-using NPOI.SS.Formula.Functions;
|
|
|
|
|
|
namespace Hotline.Api.Controllers;
|
|
|
|
|
@@ -314,8 +304,8 @@ public class OrderController : BaseController
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.FromPhone), d => d.FromPhone == dto.FromPhone) //来电号码
|
|
|
//.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
|
|
|
// d => d.AcceptorName.Contains(dto.PubMan!) || d.AcceptorStaffNo.Contains(dto.PubMan!))
|
|
|
- //.WhereIF(dto.PubRange == EPublicState.Pub, d => d.OrderPublish.PublishState)
|
|
|
- //.WhereIF(dto.PubRange == EPublicState.NoPub, d => !d.OrderPublish.PublishState)
|
|
|
+ //.WhereIF(dto.PubRange == EPublicState.Pub, d => d.OrderPublish.PublishState)
|
|
|
+ //.WhereIF(dto.PubRange == EPublicState.NoPub, d => !d.OrderPublish.PublishState)
|
|
|
.WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == true, d => d.Source == ESource.ProvinceStraight)
|
|
|
.WhereIF(dto.IsProvinceOrder.HasValue && dto.IsProvinceOrder == false, d => d.Source != ESource.ProvinceStraight)
|
|
|
.WhereIF(dto.FiledType != null && dto.FiledType == FiledType.CenterFiled, d => d.ProcessType == EProcessType.Zhiban)
|
|
@@ -592,7 +582,7 @@ public class OrderController : BaseController
|
|
|
.Select(x => new Kv { Key = x.DicDataValue, Value = x.DicDataName }).ToList()
|
|
|
};
|
|
|
var (idName, idNames) = await _workflowDomainService.GetHandleOrgsAsync(order.WorkflowId, HttpContext.RequestAborted);
|
|
|
- res.ActualHandleOrgName = new Kv() { Key=order.ActualHandleOrgCode, Value= order.ActualHandleOrgName };
|
|
|
+ res.ActualHandleOrgName = new Kv() { Key = order.ActualHandleOrgCode, Value = order.ActualHandleOrgName };
|
|
|
res.idNames = order.CounterSignType == null
|
|
|
? null
|
|
|
: idNames.Where(d => d.Key != idName.Key).ToList();
|
|
@@ -740,9 +730,9 @@ public class OrderController : BaseController
|
|
|
var users = await _userRepository.Queryable()
|
|
|
.Includes(d => d.Organization)
|
|
|
.Includes(d => d.Roles)
|
|
|
- .WhereIF(!_appOptions.Value.IsZiGong,d => d.Roles.Any(x => roles.Contains(x.Name)))
|
|
|
+ .WhereIF(!_appOptions.Value.IsZiGong, d => d.Roles.Any(x => roles.Contains(x.Name)))
|
|
|
.WhereIF(_appOptions.Value.IsZiGong, d => d.OrgId == OrgSeedData.CenterId)
|
|
|
- .ToListAsync(HttpContext.RequestAborted);
|
|
|
+ .ToListAsync(HttpContext.RequestAborted);
|
|
|
return users.Select(d => new OrderMigrationHandler
|
|
|
{
|
|
|
UserId = d.Id,
|
|
@@ -865,8 +855,8 @@ public class OrderController : BaseController
|
|
|
(d.Order.ExpiredTime > d.Order.ActualHandleTime && d.Order.Status >= EOrderStatus.Filed)) //否 超期
|
|
|
.WhereIF(dto.StartTime.HasValue, d => d.VisitTime >= dto.StartTime)
|
|
|
.WhereIF(dto.EndTime.HasValue, d => d.VisitTime <= dto.EndTime)
|
|
|
- .WhereIF(dto.StartPublishTime.HasValue && dto.EndPublishTime.HasValue,d=> d.PublishTime>= dto.StartPublishTime && d.PublishTime <= dto.EndPublishTime) // 发布时间
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName),d=>d.Order.ActualHandleOrgName == dto.ActualHandleOrgName) //接办部门
|
|
|
+ .WhereIF(dto.StartPublishTime.HasValue && dto.EndPublishTime.HasValue, d => d.PublishTime >= dto.StartPublishTime && d.PublishTime <= dto.EndPublishTime) // 发布时间
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.Order.ActualHandleOrgName == dto.ActualHandleOrgName) //接办部门
|
|
|
.OrderByDescending(x => x.PublishTime)
|
|
|
.WhereIF(dto.Channel.NotNullOrEmpty(), d => d.Order.SourceChannelCode == dto.Channel)
|
|
|
.OrderByDescending(d => d.PublishTime)
|
|
@@ -1286,8 +1276,8 @@ public class OrderController : BaseController
|
|
|
var users = await _userRepository.Queryable()
|
|
|
.Includes(d => d.Organization)
|
|
|
.Includes(d => d.Roles)
|
|
|
- .WhereIF(!_appOptions.Value.IsZiGong,d => d.Roles.Any(x => roles.Contains(x.Name)))
|
|
|
- .WhereIF(_appOptions.Value.IsZiGong,d=> d.OrgId == OrgSeedData.CenterId)
|
|
|
+ .WhereIF(!_appOptions.Value.IsZiGong, d => d.Roles.Any(x => roles.Contains(x.Name)))
|
|
|
+ .WhereIF(_appOptions.Value.IsZiGong, d => d.OrgId == OrgSeedData.CenterId)
|
|
|
.ToListAsync(HttpContext.RequestAborted);
|
|
|
return users.Select(d => new OrderMigrationHandler
|
|
|
{
|
|
@@ -1312,60 +1302,60 @@ public class OrderController : BaseController
|
|
|
.ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 部门满意度明细
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("org-visitdetail-list")]
|
|
|
- public async Task<PagedDto<OrgVisitDetailListResp>> OrgVisitDetailList([FromQuery] OrgVisitDetailListReq dto)
|
|
|
- {
|
|
|
- var query = _orderRepository.OrgVisitDetailFiltrationList(dto);
|
|
|
- var (total, items) = await query.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- return new PagedDto<OrgVisitDetailListResp>(total, _mapper.Map<IReadOnlyList<OrgVisitDetailListResp>>(items));
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 部门满意度明细导出
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("org-visitdetail-list-export")]
|
|
|
- public async Task<FileStreamResult> OrgVisitDetailListExport([FromBody] ExportExcelDto<OrgVisitDetailListReq> dto)
|
|
|
- {
|
|
|
- var query = _orderRepository.OrgVisitDetailFiltrationList(dto.QueryDto);
|
|
|
-
|
|
|
- List<OrgVisitDetailListResp> orders;
|
|
|
- if (dto.IsExportAll)
|
|
|
- {
|
|
|
- orders = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
- orders = items;
|
|
|
- }
|
|
|
- dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
- var dtos = orders
|
|
|
- .Select(stu => _mapper.Map(stu, typeof(OrgVisitDetailListResp), dynamicClass))
|
|
|
- .Cast<object>()
|
|
|
- .ToList();
|
|
|
-
|
|
|
- var stream = ExcelHelper.CreateStream(dtos);
|
|
|
- return ExcelStreamResult(stream, "部门满意度明细");
|
|
|
- }
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- #region 二次回访申请
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 可二次回访申请列表
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("visitapply/visitagainlist")]
|
|
|
+ /// <summary>
|
|
|
+ /// 部门满意度明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("org-visitdetail-list")]
|
|
|
+ public async Task<PagedDto<OrgVisitDetailListResp>> OrgVisitDetailList([FromQuery] OrgVisitDetailListReq dto)
|
|
|
+ {
|
|
|
+ var query = _orderRepository.OrgVisitDetailFiltrationList(dto);
|
|
|
+ var (total, items) = await query.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ return new PagedDto<OrgVisitDetailListResp>(total, _mapper.Map<IReadOnlyList<OrgVisitDetailListResp>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 部门满意度明细导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("org-visitdetail-list-export")]
|
|
|
+ public async Task<FileStreamResult> OrgVisitDetailListExport([FromBody] ExportExcelDto<OrgVisitDetailListReq> dto)
|
|
|
+ {
|
|
|
+ var query = _orderRepository.OrgVisitDetailFiltrationList(dto.QueryDto);
|
|
|
+
|
|
|
+ List<OrgVisitDetailListResp> orders;
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ orders = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ orders = items;
|
|
|
+ }
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+ var dtos = orders
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrgVisitDetailListResp), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+ return ExcelStreamResult(stream, "部门满意度明细");
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 二次回访申请
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 可二次回访申请列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("visitapply/visitagainlist")]
|
|
|
public async Task<PagedDto<OrderCanVisitAgainDto>> OrderVisitAgainList([FromQuery] OrderVisitAgainListDto dto)
|
|
|
{
|
|
|
var (total, items) = await _orderVisitedDetailRepository.Queryable()
|
|
@@ -1903,10 +1893,10 @@ public class OrderController : BaseController
|
|
|
.WhereIF(dto.QueryDelayState is EQueryDelayState.Examining, d => d.DelayState == EDelayState.Examining)
|
|
|
.WhereIF(dto.QueryDelayState is EQueryDelayState.Pass, d => d.DelayState == EDelayState.Pass)
|
|
|
.WhereIF(dto.QueryDelayState is EQueryDelayState.NoPass, d => d.DelayState == EDelayState.NoPass)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName),d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName),d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName),d => d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
|
|
|
- .WhereIF(dto.StartCreationTime.HasValue && dto.EndCreationTime.HasValue, d=>d.CreationTime >= dto.StartCreationTime && d.CreationTime <= dto.EndCreationTime) // 申请时间
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName), d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName), d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName), d => d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
|
|
|
+ .WhereIF(dto.StartCreationTime.HasValue && dto.EndCreationTime.HasValue, d => d.CreationTime >= dto.StartCreationTime && d.CreationTime <= dto.EndCreationTime) // 申请时间
|
|
|
.OrderByDescending(d => d.ApplyDelayTime)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
@@ -2281,7 +2271,9 @@ public class OrderController : BaseController
|
|
|
try
|
|
|
{
|
|
|
dto.NextWorkflow.WorkflowId = screen.WorkflowId;
|
|
|
- await _workflowApplication.NextAsync(dto.NextWorkflow, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ //await _workflowApplication.NextAsync(dto.NextWorkflow, cancellationToken: HttpContext.RequestAborted);
|
|
|
+ await _workflowDomainService.NextAsync(_sessionContext, dto.NextWorkflow,
|
|
|
+ cancellationToken: HttpContext.RequestAborted);
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
@@ -3762,8 +3754,9 @@ public class OrderController : BaseController
|
|
|
var flowStepHandler = nextDto.NextHandlers.FirstOrDefault();
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Order()
|
|
|
{
|
|
|
- CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username
|
|
|
- }).Where(o=>o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ CenterToOrgHandlerId = flowStepHandler.UserId,
|
|
|
+ CenterToOrgHandlerName = flowStepHandler.Username
|
|
|
+ }).Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
await _workflowDomainService.NextAsync(_sessionContext, nextDto, order.ExpiredTime, isAutoFillSummaryOpinion, cancellationToken);
|
|
@@ -3775,7 +3768,7 @@ public class OrderController : BaseController
|
|
|
orderHandleFlowDto.CrossSteps = orderHandleFlowDto.CrossSteps.OrderBy(d => d.Sort).ToList();
|
|
|
var stepCount = orderHandleFlowDto.CrossSteps.Count;
|
|
|
var unhandleSteps = new List<WorkflowStep> { startStep };
|
|
|
- for (int i = 0;i < stepCount;i++)
|
|
|
+ for (int i = 0; i < stepCount; i++)
|
|
|
{
|
|
|
var crossStep = orderHandleFlowDto.CrossSteps[i];
|
|
|
var tempSteps = new List<WorkflowStep>();
|
|
@@ -4135,29 +4128,40 @@ public class OrderController : BaseController
|
|
|
[HttpGet("waited")]
|
|
|
public async Task<PagedDto<OrderDto>> QueryWaited([FromQuery] QueryOrderWaitedDto dto)
|
|
|
{
|
|
|
+ var a = await _orderRepository.Queryable()
|
|
|
+ .LeftJoin<WorkflowStep>((o, s) => o.Id == s.ExternalId)
|
|
|
+ .Select((o, s) => new
|
|
|
+ {
|
|
|
+ no = o.No,
|
|
|
+ time = o.CreationTime,
|
|
|
+ sId = s.Id,
|
|
|
+ name = s.Name,
|
|
|
+ //sStatus = s.Status,
|
|
|
+ rn = SqlFunc.RowNumber(SqlFunc.Desc(s.CreationTime), o.Id)
|
|
|
+ })
|
|
|
+ .MergeTable()
|
|
|
+ .Where(d => d.rn == 1)
|
|
|
+ .OrderByDescending(d => d.time)
|
|
|
+ .Take(100)
|
|
|
+ .ToListAsync(HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ var b = await _orderRepository.Queryable()
|
|
|
+ .Includes(d => d.WorkflowSteps.Where(s=>s.HandlerOrgId == _sessionContext.OrgId
|
|
|
+ && s.Status != EWorkflowStepStatus.Handled)
|
|
|
+ .OrderByDescending(s=>s.CreationTime)
|
|
|
+ .Take(1)
|
|
|
+ .ToList())
|
|
|
+ .Where(d => d.WorkflowSteps.Any(s => s.HandlerOrgId == _sessionContext.OrgId
|
|
|
+ && s.Status != EWorkflowStepStatus.Handled
|
|
|
+ && s.StepType != EStepType.End))
|
|
|
+ .OrderByDescending(d => d.CreationTime)
|
|
|
+ .Take(100)
|
|
|
+ .ToListAsync(HttpContext.RequestAborted);
|
|
|
+
|
|
|
+
|
|
|
var isHandledStep = dto.IsHandled.HasValue && dto.IsHandled.Value;
|
|
|
if (isHandledStep)
|
|
|
dto.QueryType = null;
|
|
|
-
|
|
|
-
|
|
|
- //var orderWithSteps = await _orderRepository.Queryable()
|
|
|
- // .LeftJoin<WorkflowStep>((o,s)=>o.Id== s.ExternalId)
|
|
|
- // .Select((o,s)=> new
|
|
|
- // {
|
|
|
- // order = o,
|
|
|
- // step = s
|
|
|
- // })
|
|
|
- // .MergeTable()
|
|
|
- // .Where(d=>d.step.Status!= EWorkflowStepStatus.Handled
|
|
|
- // && (d.step.FlowAssignType == EFlowAssignType.Org && d.step.HandlerOrgId == _sessionContext.OrgId
|
|
|
- // || d.step.FlowAssignType == EFlowAssignType.User && d.step.HandlerOrgId == _sessionContext.UserId
|
|
|
- // || d.step.FlowAssignType == EFlowAssignType.Role && _sessionContext.Roles.Contains(d.step.HandlerOrgId))
|
|
|
- // && d.step.StepType!= EStepType.End
|
|
|
- // )
|
|
|
- // .OrderByDescending(d=>d.order.CreationTime)
|
|
|
- // .Take(100)
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
-
|
|
|
|
|
|
var isAdmin = _orderDomainService.IsCheckAdmin();
|
|
|
var query = _orderRepository
|
|
@@ -4181,7 +4185,7 @@ public class OrderController : BaseController
|
|
|
.Where(d => SqlFunc.Subqueryable<OrderDelay>().Where(od => od.OrderId == d.Id && od.IsDeleted == false && od.DelayState == EDelayState.Examining).NotAny())
|
|
|
.Where(d => SqlFunc.Subqueryable<OrderSendBackAudit>().Where(osba => osba.OrderId == d.Id && osba.IsDeleted == false && osba.State == ESendBackAuditState.Apply)
|
|
|
.NotAny())
|
|
|
- .Where(d=> SqlFunc.Subqueryable<OrderSpecial>().Where(s=>s.OrderId == d.Id).NotAny() || SqlFunc.Subqueryable<OrderSpecial>().Where(s=> s.OrderId == d.Id && s.State > 0).Any())
|
|
|
+ .Where(d => SqlFunc.Subqueryable<OrderSpecial>().Where(s => s.OrderId == d.Id).NotAny() || SqlFunc.Subqueryable<OrderSpecial>().Where(s => s.OrderId == d.Id && s.State > 0).Any())
|
|
|
.WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
@@ -4275,12 +4279,12 @@ public class OrderController : BaseController
|
|
|
// .ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
|
|
|
var (total, items) = await _orderRepository.Queryable()
|
|
|
- .Includes(d=>d.Workflow.Steps)
|
|
|
+ .Includes(d => d.Workflow.Steps)
|
|
|
.Where(d => SqlFunc.Subqueryable<WorkflowTrace>()
|
|
|
.Where(step => step.ExternalId == d.Id &&
|
|
|
step.HandlerOrgId == OrgSeedData.CenterId &&
|
|
|
step.Status < EWorkflowStepStatus.Handled)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.CenterToOrgHandlerName),step=>step.BusinessType == EBusinessType.Send && step.HandlerName.Contains(dto.CenterToOrgHandlerName)).Any() ||
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.CenterToOrgHandlerName), step => step.BusinessType == EBusinessType.Send && step.HandlerName.Contains(dto.CenterToOrgHandlerName)).Any() ||
|
|
|
(string.IsNullOrEmpty(d.WorkflowId) && string.IsNullOrEmpty(dto.CenterToOrgHandlerName))
|
|
|
)
|
|
|
.Where(d => d.Source < ESource.MLSQ || d.Source > ESource.WZSC)
|
|
@@ -4496,10 +4500,10 @@ public class OrderController : BaseController
|
|
|
audit.AuditTime = DateTime.Now;
|
|
|
if (prevStep.BusinessType == EBusinessType.Send)
|
|
|
{
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = dto.Handler.UserId, CenterToOrgHandlerName = dto.Handler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = dto.Handler.UserId, CenterToOrgHandlerName = dto.Handler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
- var flowDirection = await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
|
|
|
+ var flowDirection = await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
|
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
|
? EProcessType.Zhiban
|
|
|
: EProcessType.Jiaoban;
|
|
@@ -4517,10 +4521,10 @@ public class OrderController : BaseController
|
|
|
audit.AuditTime = DateTime.Now;
|
|
|
if (prevStep.BusinessType == EBusinessType.Send)
|
|
|
{
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = dto.Handler.UserId, CenterToOrgHandlerName = dto.Handler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = dto.Handler.UserId, CenterToOrgHandlerName = dto.Handler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
- var flowDirection = await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
|
|
|
+ var flowDirection = await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
|
|
|
var processType = flowDirection == EFlowDirection.OrgToCenter || flowDirection == EFlowDirection.CenterToCenter
|
|
|
? EProcessType.Zhiban
|
|
|
: EProcessType.Jiaoban;
|
|
@@ -4529,8 +4533,8 @@ public class OrderController : BaseController
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, SendBackNum = order.SendBackNum })
|
|
|
.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
|
|
|
- //发送短信TODO
|
|
|
- }
|
|
|
+ //发送短信TODO
|
|
|
+ }
|
|
|
|
|
|
await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
|
|
|
}
|
|
@@ -4577,8 +4581,8 @@ public class OrderController : BaseController
|
|
|
sendBack.SendBackData.Handler = handler;
|
|
|
}
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = sendBack.SendBackData.Handler.UserId, CenterToOrgHandlerName = sendBack.SendBackData.Handler.Username })
|
|
|
- .Where(o => o.Id == sendBack.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
+ .Where(o => o.Id == sendBack.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//string applicantId, string applicantOrgId, string[] applicantRoleIds,
|
|
@@ -4596,8 +4600,8 @@ public class OrderController : BaseController
|
|
|
order.SendBackNum = order.SendBackNum.HasValue ? order.SendBackNum.Value + 1 : 1;
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, SendBackNum = order.SendBackNum })
|
|
|
.Where(o => o.Id == sendBack.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- //发送短信TODO
|
|
|
- }
|
|
|
+ //发送短信TODO
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { Status = sendBack.Status.Value })
|
|
@@ -4649,8 +4653,8 @@ public class OrderController : BaseController
|
|
|
sendBack.SendBackData.Handler = handler;
|
|
|
}
|
|
|
await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = sendBack.SendBackData.Handler.UserId, CenterToOrgHandlerName = sendBack.SendBackData.Handler.Username })
|
|
|
- .Where(o => o.Id == sendBack.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
+ .Where(o => o.Id == sendBack.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
sendBack.SendBackData.ExpiredTime = order.ExpiredTime;
|
|
@@ -5116,10 +5120,10 @@ public class OrderController : BaseController
|
|
|
await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
|
|
|
cancellationToken: HttpContext.RequestAborted);
|
|
|
var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- //}
|
|
|
- await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ //}
|
|
|
+ await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
HttpContext.RequestAborted);
|
|
|
|
|
|
if (order.Status >= EOrderStatus.Filed)
|
|
@@ -5305,10 +5309,10 @@ public class OrderController : BaseController
|
|
|
var processType = dto.FlowDirection is EFlowDirection.OrgToCenter or EFlowDirection.CenterToCenter or EFlowDirection.FiledToCenter
|
|
|
? EProcessType.Zhiban
|
|
|
: EProcessType.Jiaoban;
|
|
|
- var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- await _workflowApplication.RecallAsync(recall, endTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Redo,
|
|
|
+ var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ await _workflowApplication.RecallAsync(recall, endTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Redo,
|
|
|
HttpContext.RequestAborted);
|
|
|
//var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == dto.OrderId);
|
|
|
//if (publish != null)
|
|
@@ -5450,13 +5454,13 @@ public class OrderController : BaseController
|
|
|
var orderDto = _mapper.Map<OrderDto>(order);
|
|
|
await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
|
|
|
cancellationToken: HttpContext.RequestAborted);
|
|
|
- //}
|
|
|
- var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
|
+ //}
|
|
|
+ var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
|
|
|
|
- await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
+ await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
HttpContext.RequestAborted);
|
|
|
if (order.Status >= EOrderStatus.Filed)
|
|
|
{
|
|
@@ -5600,13 +5604,13 @@ public class OrderController : BaseController
|
|
|
var orderDto = _mapper.Map<OrderDto>(order);
|
|
|
await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
|
|
|
cancellationToken: HttpContext.RequestAborted);
|
|
|
- //}
|
|
|
- var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
- await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
- .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
- //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
|
+ //}
|
|
|
+ var flowStepHandler = recall.NextHandlers.FirstOrDefault();
|
|
|
+ await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
|
|
|
+ .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
+ //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
|
|
|
|
- await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
+ await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
|
|
|
HttpContext.RequestAborted);
|
|
|
if (order.Status >= EOrderStatus.Filed)
|
|
|
{
|
|
@@ -5851,7 +5855,7 @@ public class OrderController : BaseController
|
|
|
var order = await _orderRepository.GetAsync(id, HttpContext.RequestAborted);
|
|
|
var isInstaShot = order.SourceChannel.Contains("随手拍");
|
|
|
var defaultStepKey = string.Empty;
|
|
|
- List<Kv> orgs = new();
|
|
|
+ List<Kv> orgs = new();
|
|
|
if (order == null) throw UserFriendlyException.SameMessage("无效工单信息!");
|
|
|
//中心会签调取方法
|
|
|
var org = await _workflowDomainService.GetLevelOneOrgsAsync(order.WorkflowId, HttpContext.RequestAborted);
|
|
@@ -5859,14 +5863,14 @@ public class OrderController : BaseController
|
|
|
var step = await _workflowApplication.GetRecallStepsAsync(order.WorkflowId, HttpContext.RequestAborted);
|
|
|
if (_appOptions.Value.IsZiGong)
|
|
|
{
|
|
|
- step.Steps = step.Steps.Where(x => x.Key.ToLower() != "start").ToList();
|
|
|
- if (step.Steps.Where(x => x.BusinessType == EBusinessType.Department && x.OrgLevel == 1 ).Any())
|
|
|
- {
|
|
|
- var stepdDefault = step.Steps.Where(x => x.BusinessType == EBusinessType.Department && x.OrgLevel == 1)
|
|
|
- .FirstOrDefault();
|
|
|
- defaultStepKey = stepdDefault.Key;
|
|
|
- }
|
|
|
- }
|
|
|
+ step.Steps = step.Steps.Where(x => x.Key.ToLower() != "start").ToList();
|
|
|
+ if (step.Steps.Where(x => x.BusinessType == EBusinessType.Department && x.OrgLevel == 1).Any())
|
|
|
+ {
|
|
|
+ var stepdDefault = step.Steps.Where(x => x.BusinessType == EBusinessType.Department && x.OrgLevel == 1)
|
|
|
+ .FirstOrDefault();
|
|
|
+ defaultStepKey = stepdDefault.Key;
|
|
|
+ }
|
|
|
+ }
|
|
|
//获取部门信息
|
|
|
var rsp = new
|
|
|
{
|
|
@@ -5880,7 +5884,7 @@ public class OrderController : BaseController
|
|
|
Step = step,
|
|
|
Orgs = orgs,
|
|
|
DefaultStepKey = defaultStepKey
|
|
|
- };
|
|
|
+ };
|
|
|
return rsp;
|
|
|
}
|
|
|
|
|
@@ -6583,7 +6587,7 @@ public class OrderController : BaseController
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- [HttpGet("order/about_expire/list_count")]
|
|
|
+ [HttpGet("order/about_expire/list_count")]
|
|
|
public async Task<int> AboutListCountAsnc([FromQuery] AboutToExpireListDto dto)
|
|
|
{
|
|
|
var version = _systemSettingCacheManager.GetAboutToExpireVersion;
|
|
@@ -7573,12 +7577,12 @@ public class OrderController : BaseController
|
|
|
.Where(o => o.Id == dto.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
else if (step.BusinessType == EBusinessType.Send)
|
|
|
- {
|
|
|
+ {
|
|
|
await _orderRepository.Updateable()
|
|
|
.SetColumns(o => new Orders.Order() { Status = status, CenterToOrgHandlerId = dto.Handler.UserId, CenterToOrgHandlerName = dto.Handler.Username })
|
|
|
.Where(o => o.Id == dto.OrderId).ExecuteCommandAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
- else
|
|
|
+ else
|
|
|
{
|
|
|
await _orderRepository.Updateable()
|
|
|
.SetColumns(o => new Orders.Order() { Status = status })
|