|
@@ -717,74 +717,74 @@ public class OrderController : BaseController
|
|
//update order
|
|
//update order
|
|
//if (dto.IsPutThrough)
|
|
//if (dto.IsPutThrough)
|
|
//{
|
|
//{
|
|
- visit.VisitState = Share.Enums.Order.EVisitState.Visited;
|
|
|
|
- visit.VisitTime = DateTime.Now;
|
|
|
|
- if (!string.IsNullOrEmpty(visit.CallId))
|
|
|
|
- {
|
|
|
|
- visit.VisitType = EVisitType.CallVisit;
|
|
|
|
- }
|
|
|
|
- if (visit.VisitType is null)
|
|
|
|
- {
|
|
|
|
- visit.VisitType = EVisitType.ArtificialVisit;
|
|
|
|
- }
|
|
|
|
- if (first != null)
|
|
|
|
- {
|
|
|
|
- visit.Order.Visited(first.OrgProcessingResults.Key, first.OrgProcessingResults.Value);
|
|
|
|
- }
|
|
|
|
|
|
+ visit.VisitState = Share.Enums.Order.EVisitState.Visited;
|
|
|
|
+ visit.VisitTime = DateTime.Now;
|
|
|
|
+ if (!string.IsNullOrEmpty(visit.CallId))
|
|
|
|
+ {
|
|
|
|
+ visit.VisitType = EVisitType.CallVisit;
|
|
|
|
+ }
|
|
|
|
+ if (visit.VisitType is null)
|
|
|
|
+ {
|
|
|
|
+ visit.VisitType = EVisitType.ArtificialVisit;
|
|
|
|
+ }
|
|
|
|
+ if (first != null)
|
|
|
|
+ {
|
|
|
|
+ visit.Order.Visited(first.OrgProcessingResults.Key, first.OrgProcessingResults.Value);
|
|
|
|
+ }
|
|
|
|
|
|
- //_mapper.Map(dto.VisitDetails,visit.OrderVisitDetails);
|
|
|
|
- for (int i = 0; i < visit.OrderVisitDetails.Count; i++)
|
|
|
|
|
|
+ //_mapper.Map(dto.VisitDetails,visit.OrderVisitDetails);
|
|
|
|
+ for (int i = 0; i < visit.OrderVisitDetails.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ var detail = visit.OrderVisitDetails[i];
|
|
|
|
+ var detaildto = dto.VisitDetails.FirstOrDefault(x => x.Id == detail.Id);
|
|
|
|
+ if (detaildto != null)
|
|
{
|
|
{
|
|
- var detail = visit.OrderVisitDetails[i];
|
|
|
|
- var detaildto = dto.VisitDetails.FirstOrDefault(x => x.Id == detail.Id);
|
|
|
|
- if (detaildto != null)
|
|
|
|
- {
|
|
|
|
- _mapper.Map(detaildto, visit.OrderVisitDetails[i]);
|
|
|
|
- }
|
|
|
|
|
|
+ _mapper.Map(detaildto, visit.OrderVisitDetails[i]);
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- await _orderVisitRepository.UpdateAsync(visit, HttpContext.RequestAborted);
|
|
|
|
- await _orderVisitedDetailRepository.UpdateRangeAsync(visit.OrderVisitDetails, HttpContext.RequestAborted);
|
|
|
|
- await _orderRepository.UpdateAsync(visit.Order, HttpContext.RequestAborted);
|
|
|
|
- var orderDto = _mapper.Map<OrderDto>(visit.Order);
|
|
|
|
- if (first != null)
|
|
|
|
- {
|
|
|
|
- //推省上
|
|
|
|
- await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisited,
|
|
|
|
- new PublishVisitDto()
|
|
|
|
- {
|
|
|
|
- Order = orderDto,
|
|
|
|
- No = visit.No,
|
|
|
|
- VisitType = visit.VisitType,
|
|
|
|
- VisitName = visit.CreatorName,
|
|
|
|
- VisitTime = visit.VisitTime,
|
|
|
|
- VisitRemark = first.VisitContent,
|
|
|
|
- AreaCode = visit.Order.AreaCode!,
|
|
|
|
- SubjectResultSatifyCode = first.OrgProcessingResults.Key,
|
|
|
|
- FirstSatisfactionCode = visit.Order.FirstVisitResultCode!,
|
|
|
|
- ClientGuid = ""
|
|
|
|
- }, cancellationToken: HttpContext.RequestAborted);
|
|
|
|
-
|
|
|
|
- //推门户
|
|
|
|
- await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisitedWeb, new PublishVisitAllDto()
|
|
|
|
- {
|
|
|
|
- Id = visit.Id,
|
|
|
|
- Order = orderDto,
|
|
|
|
- OrderVisitDetails = _mapper.Map<List<VisitDetailDto>>(visit.OrderVisitDetails),
|
|
|
|
- VisitName = _sessionContext.UserName,
|
|
|
|
- VisitTime = visit.VisitTime,
|
|
|
|
- VisitType = visit.VisitType,
|
|
|
|
- VisitState = visit.VisitState,
|
|
|
|
- PublishTime = visit.PublishTime,
|
|
|
|
- }, cancellationToken: HttpContext.RequestAborted);
|
|
|
|
- }
|
|
|
|
|
|
+ await _orderVisitRepository.UpdateAsync(visit, HttpContext.RequestAborted);
|
|
|
|
+ await _orderVisitedDetailRepository.UpdateRangeAsync(visit.OrderVisitDetails, HttpContext.RequestAborted);
|
|
|
|
+ await _orderRepository.UpdateAsync(visit.Order, HttpContext.RequestAborted);
|
|
|
|
+ var orderDto = _mapper.Map<OrderDto>(visit.Order);
|
|
|
|
+ if (first != null)
|
|
|
|
+ {
|
|
|
|
+ //推省上
|
|
|
|
+ await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisited,
|
|
|
|
+ new PublishVisitDto()
|
|
|
|
+ {
|
|
|
|
+ Order = orderDto,
|
|
|
|
+ No = visit.No,
|
|
|
|
+ VisitType = visit.VisitType,
|
|
|
|
+ VisitName = visit.CreatorName,
|
|
|
|
+ VisitTime = visit.VisitTime,
|
|
|
|
+ VisitRemark = first.VisitContent,
|
|
|
|
+ AreaCode = visit.Order.AreaCode!,
|
|
|
|
+ SubjectResultSatifyCode = first.OrgProcessingResults.Key,
|
|
|
|
+ FirstSatisfactionCode = visit.Order.FirstVisitResultCode!,
|
|
|
|
+ ClientGuid = ""
|
|
|
|
+ }, cancellationToken: HttpContext.RequestAborted);
|
|
|
|
|
|
- if (first != null)
|
|
|
|
|
|
+ //推门户
|
|
|
|
+ await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisitedWeb, new PublishVisitAllDto()
|
|
{
|
|
{
|
|
- //写入质检
|
|
|
|
- await _qualityApplication.AddQualityAsync(EQualitySource.Visit, visit.Order.Id, visit.Id,
|
|
|
|
- HttpContext.RequestAborted);
|
|
|
|
- }
|
|
|
|
|
|
+ Id = visit.Id,
|
|
|
|
+ Order = orderDto,
|
|
|
|
+ OrderVisitDetails = _mapper.Map<List<VisitDetailDto>>(visit.OrderVisitDetails),
|
|
|
|
+ VisitName = _sessionContext.UserName,
|
|
|
|
+ VisitTime = visit.VisitTime,
|
|
|
|
+ VisitType = visit.VisitType,
|
|
|
|
+ VisitState = visit.VisitState,
|
|
|
|
+ PublishTime = visit.PublishTime,
|
|
|
|
+ }, cancellationToken: HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (first != null)
|
|
|
|
+ {
|
|
|
|
+ //写入质检
|
|
|
|
+ await _qualityApplication.AddQualityAsync(EQualitySource.Visit, visit.Order.Id, visit.Id,
|
|
|
|
+ HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
//}
|
|
//}
|
|
//else
|
|
//else
|
|
//{
|
|
//{
|
|
@@ -1389,7 +1389,7 @@ public class OrderController : BaseController
|
|
{
|
|
{
|
|
dto.CreationTimeEnd = DateTime.Now;
|
|
dto.CreationTimeEnd = DateTime.Now;
|
|
dto.CreationTimeStart = DateTime.Now;
|
|
dto.CreationTimeStart = DateTime.Now;
|
|
- if (dto.IsHomePage!=null && dto.IsHomePage==true)
|
|
|
|
|
|
+ if (dto.IsHomePage != null && dto.IsHomePage == true)
|
|
{
|
|
{
|
|
dto.CreationTimeStart = _timeLimitDomainService.CalcWorkTimeReduce(DateTime.Now, 5);
|
|
dto.CreationTimeStart = _timeLimitDomainService.CalcWorkTimeReduce(DateTime.Now, 5);
|
|
}
|
|
}
|
|
@@ -1400,7 +1400,7 @@ public class OrderController : BaseController
|
|
.Includes(x => x.OrderVisit, y => y.Employee)
|
|
.Includes(x => x.OrderVisit, y => y.Employee)
|
|
.LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && (int)s.Status < 2 && s.IsDeleted == false)
|
|
.LeftJoin<OrderScreen>((x, s) => x.Id == s.VisitDetailId && (int)s.Status < 2 && s.IsDeleted == false)
|
|
.Where((x, s) => s.Id == null)
|
|
.Where((x, s) => s.Id == null)
|
|
- .WhereIF(dto.IsHomePage.HasValue && dto.IsHomePage==true ,x=>x.OrderVisit.VisitTime< dto.CreationTimeEnd && x.OrderVisit.VisitTime> dto.CreationTimeStart)
|
|
|
|
|
|
+ .WhereIF(dto.IsHomePage.HasValue && dto.IsHomePage == true, x => x.OrderVisit.VisitTime < dto.CreationTimeEnd && x.OrderVisit.VisitTime > dto.CreationTimeStart)
|
|
.Where((x, s) => x.OrderVisit.VisitState != EVisitState.None && x.OrderVisit.IsCanHandle);
|
|
.Where((x, s) => x.OrderVisit.VisitState != EVisitState.None && x.OrderVisit.IsCanHandle);
|
|
if (_sessionContext.OrgId != null && !_sessionContext.OrgIsCenter)
|
|
if (_sessionContext.OrgId != null && !_sessionContext.OrgIsCenter)
|
|
{
|
|
{
|
|
@@ -1770,7 +1770,7 @@ public class OrderController : BaseController
|
|
await _orderSuperviseRepository.UpdateAsync(supervise, HttpContext.RequestAborted);
|
|
await _orderSuperviseRepository.UpdateAsync(supervise, HttpContext.RequestAborted);
|
|
var order = await _orderRepository.GetAsync(supervise.OrderId, HttpContext.RequestAborted);
|
|
var order = await _orderRepository.GetAsync(supervise.OrderId, HttpContext.RequestAborted);
|
|
//推省上
|
|
//推省上
|
|
- if (supervise.Province.HasValue && supervise.Province.Value)
|
|
|
|
|
|
+ if (supervise.Province.HasValue && supervise.Province.Value)
|
|
{
|
|
{
|
|
var orderDto = _mapper.Map<OrderDto>(order);
|
|
var orderDto = _mapper.Map<OrderDto>(order);
|
|
var superviseDto = _mapper.Map<SuperviseOrderDto>(supervise);
|
|
var superviseDto = _mapper.Map<SuperviseOrderDto>(supervise);
|
|
@@ -2062,12 +2062,12 @@ public class OrderController : BaseController
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!)) //标题
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.Contains(dto.Keyword!)) //标题
|
|
.WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), d => d.ProvinceNo.Contains(dto.ProvinceNo)) //省本地编号
|
|
.WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), d => d.ProvinceNo.Contains(dto.ProvinceNo)) //省本地编号
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No.Contains(dto.No)) //工单编码
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No.Contains(dto.No)) //工单编码
|
|
- //.WhereIF(!string.IsNullOrEmpty(dto.Content), d => d.Content.Contains(dto.Content!))
|
|
|
|
|
|
+ //.WhereIF(!string.IsNullOrEmpty(dto.Content), d => d.Content.Contains(dto.Content!))
|
|
.WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.AcceptType)) //受理类型
|
|
.WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.AcceptType)) //受理类型
|
|
.WhereIF(dto.Channels.Any(), d => dto.Channels.Contains(d.SourceChannelCode)) //来源渠道
|
|
.WhereIF(dto.Channels.Any(), d => dto.Channels.Contains(d.SourceChannelCode)) //来源渠道
|
|
.WhereIF(dto.HotspotIds.Any(), d => dto.HotspotIds.Contains(d.HotspotId)) //热点类型
|
|
.WhereIF(dto.HotspotIds.Any(), d => dto.HotspotIds.Contains(d.HotspotId)) //热点类型
|
|
.WhereIF(!string.IsNullOrEmpty(dto.TransferPhone), d => d.TransferPhone.Contains(dto.TransferPhone!)) //转接号码
|
|
.WhereIF(!string.IsNullOrEmpty(dto.TransferPhone), d => d.TransferPhone.Contains(dto.TransferPhone!)) //转接号码
|
|
- //.WhereIF(dto.OrgCodes.Any(), d => d.Workflow.Assigns.Any(s => dto.OrgCodes.Contains(s.OrgCode)))
|
|
|
|
|
|
+ //.WhereIF(dto.OrgCodes.Any(), d => d.Workflow.Assigns.Any(s => dto.OrgCodes.Contains(s.OrgCode)))
|
|
.WhereIF(dto.OrgCodes.Any(), d => dto.OrgCodes.Contains(d.ActualHandleOrgCode)) //接办部门
|
|
.WhereIF(dto.OrgCodes.Any(), d => dto.OrgCodes.Contains(d.ActualHandleOrgCode)) //接办部门
|
|
.WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName.Contains(dto.NameOrNo!) || d.AcceptorStaffNo.Contains(dto.NameOrNo!)) //受理人/坐席
|
|
.WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName.Contains(dto.NameOrNo!) || d.AcceptorStaffNo.Contains(dto.NameOrNo!)) //受理人/坐席
|
|
.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart) //受理时间开始
|
|
.WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart) //受理时间开始
|
|
@@ -2621,8 +2621,8 @@ public class OrderController : BaseController
|
|
d => d.No.Contains(dto.Keyword) || d.Title.Contains(dto.Keyword))
|
|
d => d.No.Contains(dto.Keyword) || d.Title.Contains(dto.Keyword))
|
|
.WhereIF(dto.IsCounterSign.HasValue && dto.IsCounterSign == true, d => d.CounterSignType.HasValue)
|
|
.WhereIF(dto.IsCounterSign.HasValue && dto.IsCounterSign == true, d => d.CounterSignType.HasValue)
|
|
.WhereIF(dto.IsCounterSign.HasValue && dto.IsCounterSign == false, d => !d.CounterSignType.HasValue)
|
|
.WhereIF(dto.IsCounterSign.HasValue && dto.IsCounterSign == false, d => !d.CounterSignType.HasValue)
|
|
- .WhereIF(dto.ExpiredOrAlmostOverdue.HasValue && dto.ExpiredOrAlmostOverdue == true,d=> d.ExpiredTime < DateTime.Now) //超期 未办
|
|
|
|
- .WhereIF(dto.ExpiredOrAlmostOverdue.HasValue && dto.ExpiredOrAlmostOverdue == false,d=>d.NearlyExpiredTime< DateTime.Now && d.ExpiredTime>DateTime.Now)//即将超期 未办
|
|
|
|
|
|
+ .WhereIF(dto.ExpiredOrAlmostOverdue.HasValue && dto.ExpiredOrAlmostOverdue == true, d => d.ExpiredTime < DateTime.Now) //超期 未办
|
|
|
|
+ .WhereIF(dto.ExpiredOrAlmostOverdue.HasValue && dto.ExpiredOrAlmostOverdue == false, d => d.NearlyExpiredTime < DateTime.Now && d.ExpiredTime > DateTime.Now)//即将超期 未办
|
|
.Where(x => x.Source < ESource.MLSQ || x.Source > ESource.WZSC)
|
|
.Where(x => x.Source < ESource.MLSQ || x.Source > ESource.WZSC)
|
|
.Where(x => x.Status != EOrderStatus.BackToProvince)
|
|
.Where(x => x.Status != EOrderStatus.BackToProvince)
|
|
.OrderByDescending(d => d.StartTime)
|
|
.OrderByDescending(d => d.StartTime)
|
|
@@ -2641,7 +2641,7 @@ public class OrderController : BaseController
|
|
handleStatuses = handleStatuses.WhereIF(dto.IsHandled.HasValue,
|
|
handleStatuses = handleStatuses.WhereIF(dto.IsHandled.HasValue,
|
|
d => dto.IsHandled!.Value
|
|
d => dto.IsHandled!.Value
|
|
? d is not EOrderStatus.WaitForAccept and not EOrderStatus.BackToUnAccept and not EOrderStatus.SpecialToUnAccept
|
|
? d is not EOrderStatus.WaitForAccept and not EOrderStatus.BackToUnAccept and not EOrderStatus.SpecialToUnAccept
|
|
- : d is EOrderStatus.WaitForAccept or EOrderStatus.BackToUnAccept or EOrderStatus.SpecialToUnAccept)
|
|
|
|
|
|
+ : d is EOrderStatus.WaitForAccept or EOrderStatus.BackToUnAccept or EOrderStatus.SpecialToUnAccept)
|
|
.ToArray();
|
|
.ToArray();
|
|
|
|
|
|
var (total, items) = await _orderRepository.Queryable(viewFilter: false)
|
|
var (total, items) = await _orderRepository.Queryable(viewFilter: false)
|
|
@@ -2755,7 +2755,7 @@ public class OrderController : BaseController
|
|
//执行退回
|
|
//执行退回
|
|
if (sendBack.State == ESendBackAuditState.End)
|
|
if (sendBack.State == ESendBackAuditState.End)
|
|
{
|
|
{
|
|
- await _workflowApplication.OrderPreviousAsync(sendBack.SendBackData, sendBack.WorkflowUserId, HttpContext.RequestAborted);
|
|
|
|
|
|
+ await _workflowApplication.PreviousAsync(sendBack.SendBackData, sendBack.WorkflowUserId, HttpContext.RequestAborted);
|
|
//发送短信TODO
|
|
//发送短信TODO
|
|
|
|
|
|
}
|
|
}
|
|
@@ -3044,7 +3044,7 @@ public class OrderController : BaseController
|
|
// var expiredTimeConfig = _timeLimitDomainService.CalcExpiredTime(DateTime.Now, EFlowDirection.CenterToOrg, order.AcceptTypeCode);
|
|
// var expiredTimeConfig = _timeLimitDomainService.CalcExpiredTime(DateTime.Now, EFlowDirection.CenterToOrg, order.AcceptTypeCode);
|
|
// _mapper.Map(expiredTimeConfig, order);
|
|
// _mapper.Map(expiredTimeConfig, order);
|
|
// await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
|
|
// await _orderRepository.UpdateAsync(order, HttpContext.RequestAborted);
|
|
-
|
|
|
|
|
|
+
|
|
//}
|
|
//}
|
|
|
|
|
|
await _workflowApplication.RecallAsync(recall, order.ExpiredTime, HttpContext.RequestAborted);
|
|
await _workflowApplication.RecallAsync(recall, order.ExpiredTime, HttpContext.RequestAborted);
|
|
@@ -3102,7 +3102,10 @@ public class OrderController : BaseController
|
|
[LogFilter("审批工单特提")]
|
|
[LogFilter("审批工单特提")]
|
|
public async Task Update([FromBody] AuditOrderSpecialDto dto)
|
|
public async Task Update([FromBody] AuditOrderSpecialDto dto)
|
|
{
|
|
{
|
|
- var special = await _orderSpecialRepository.GetAsync(dto.Id);
|
|
|
|
|
|
+ var special = await _orderSpecialRepository
|
|
|
|
+ .Queryable()
|
|
|
|
+ .Includes(d => d.Order)
|
|
|
|
+ .FirstAsync(d => d.Id == dto.Id);
|
|
if (special is null) throw UserFriendlyException.SameMessage("无效特提审批信息!");
|
|
if (special is null) throw UserFriendlyException.SameMessage("无效特提审批信息!");
|
|
if (special.State != 0) throw UserFriendlyException.SameMessage("无效特提审批信息,特提审批信息错误,该信息已审核!");
|
|
if (special.State != 0) throw UserFriendlyException.SameMessage("无效特提审批信息,特提审批信息错误,该信息已审核!");
|
|
if (string.IsNullOrEmpty(dto.NextStepName)) dto.NextStepName = special.NextStepName;
|
|
if (string.IsNullOrEmpty(dto.NextStepName)) dto.NextStepName = special.NextStepName;
|
|
@@ -3129,7 +3132,7 @@ public class OrderController : BaseController
|
|
|
|
|
|
//todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
//todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
|
|
|
|
|
|
- await _workflowApplication.RecallAsync(recall, null, HttpContext.RequestAborted);
|
|
|
|
|
|
+ await _workflowApplication.RecallAsync(recall, special.Order.ExpiredTime, HttpContext.RequestAborted);
|
|
var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == special.OrderId);
|
|
var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == special.OrderId);
|
|
if (publish != null)
|
|
if (publish != null)
|
|
{
|
|
{
|
|
@@ -3328,12 +3331,12 @@ public class OrderController : BaseController
|
|
{
|
|
{
|
|
step.Steps = step.Steps.Where(x => x.Key == "start").ToList();
|
|
step.Steps = step.Steps.Where(x => x.Key == "start").ToList();
|
|
}
|
|
}
|
|
- var rsp = new
|
|
|
|
|
|
+ var rsp = new
|
|
{
|
|
{
|
|
SpecialTimeType = EnumExts.GetDescriptions<ETimeType>(),
|
|
SpecialTimeType = EnumExts.GetDescriptions<ETimeType>(),
|
|
SpecialReason = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.SpecialReason),
|
|
SpecialReason = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.SpecialReason),
|
|
Step = step
|
|
Step = step
|
|
- };
|
|
|
|
|
|
+ };
|
|
return rsp;
|
|
return rsp;
|
|
}
|
|
}
|
|
|
|
|