|
@@ -283,9 +283,15 @@ public class OrderController : BaseController
|
|
.Where(x => x.Status == EOrderStatus.Filed)
|
|
.Where(x => x.Status == EOrderStatus.Filed)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.No == dto.No)
|
|
- .WhereIF(dto.PubState == EPubState.Pub, d => d.Status >= EOrderStatus.Published)
|
|
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), d => d.Title == dto.Title)
|
|
|
|
+ .WhereIF(dto.PubState == EPubState.Pub, d => d.Status >= EOrderStatus.Published)
|
|
.WhereIF(dto.PubState == EPubState.NoPub, d => d.Status < EOrderStatus.Published)
|
|
.WhereIF(dto.PubState == EPubState.NoPub, d => d.Status < EOrderStatus.Published)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Channel), d => d.SourceChannelCode == dto.Channel)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Channel), d => d.SourceChannelCode == dto.Channel)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.TagNames), d => d.TagNames.Contains(dto.TagNames!)) //工单标签
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.CenterToOrgHandlerName), d => d.CenterToOrgHandlerName == dto.CenterToOrgHandlerName! ) //派单人
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.AcceptorName == dto.NameOrNo! || d.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FromPhone), d => d.FromPhone == dto.FromPhone) //来电号码
|
|
//.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
|
|
//.WhereIF(!string.IsNullOrEmpty(dto.PubMan),
|
|
// d => d.AcceptorName.Contains(dto.PubMan!) || d.AcceptorStaffNo.Contains(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.Pub, d => d.OrderPublish.PublishState)
|
|
@@ -650,7 +656,18 @@ public class OrderController : BaseController
|
|
.Includes(x => x.Order)
|
|
.Includes(x => x.Order)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.StartsWith(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Order.Title.StartsWith(dto.Keyword!))
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.Order.No == dto.No!)
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), d => d.Order.No == dto.No!)
|
|
- .WhereIF(dto.Resolve.HasValue, x => x.Resolve == dto.Resolve)
|
|
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), d => d.Order.Title == dto.Title!)
|
|
|
|
+ .WhereIF(dto.CreationTimeStart.HasValue, d => d.Order.CreationTime >= dto.CreationTimeStart)
|
|
|
|
+ .WhereIF(dto.CreationTimeEnd.HasValue, d => d.Order.CreationTime <= dto.CreationTimeEnd)
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.FromPhone), d => d.Order.FromPhone == dto.FromPhone) //来电号码
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.ActualHandleOrgName), d => d.Order.ActualHandleOrgName.Contains(dto.ActualHandleOrgName)) //接办部门(综合查询模糊)
|
|
|
|
+ .WhereIF(dto.AcceptTypes.Any(), d => dto.AcceptTypes.Contains(d.Order.AcceptType))
|
|
|
|
+ .WhereIF(dto.HotspotIds.Any(), d => dto.HotspotIds.Contains(d.Order.HotspotId))
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.PublishName), d => d.CreatorName.Contains(dto.PublishName!))
|
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo), d => d.Order.AcceptorName == dto.NameOrNo! || d.Order.AcceptorStaffNo == dto.NameOrNo!) //受理人/坐席
|
|
|
|
+ .WhereIF(dto.StartTime.HasValue, d => d.CreationTime >= dto.StartTime)
|
|
|
|
+ .WhereIF(dto.EndTime.HasValue, d => d.CreationTime <= dto.EndTime)
|
|
|
|
+ .WhereIF(dto.Resolve.HasValue, x => x.Resolve == dto.Resolve)
|
|
.OrderByDescending(d => d.CreationTime)
|
|
.OrderByDescending(d => d.CreationTime)
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
|
@@ -798,8 +815,10 @@ public class OrderController : BaseController
|
|
{
|
|
{
|
|
var rsp = new
|
|
var rsp = new
|
|
{
|
|
{
|
|
- ChannelOptions = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel)
|
|
|
|
- };
|
|
|
|
|
|
+ ChannelOptions = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel),
|
|
|
|
+ AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType),
|
|
|
|
+ OrderTags = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.OrderTag)
|
|
|
|
+ };
|
|
return rsp;
|
|
return rsp;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -5734,40 +5753,82 @@ public class OrderController : BaseController
|
|
[HttpGet("order_observe/list")]
|
|
[HttpGet("order_observe/list")]
|
|
public async Task<PagedDto<OrderObserveDto>> List([FromQuery] OrderObserveListDto dto)
|
|
public async Task<PagedDto<OrderObserveDto>> List([FromQuery] OrderObserveListDto dto)
|
|
{
|
|
{
|
|
- var (total, items) = await _orderObserveRepository.Queryable()
|
|
|
|
- .Includes(x => x.Order)
|
|
|
|
- .WhereIF(dto.IsProvince.HasValue, x => x.Order.IsProvince == dto.IsProvince)
|
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Keyword),
|
|
|
|
- x => x.Order.No.Contains(dto.Keyword!) || x.Order.Title.Contains(dto.Keyword!))
|
|
|
|
- //.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Order.Title.Contains(dto.Title!))
|
|
|
|
- //.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.Order.No.Contains(dto.No!))
|
|
|
|
- .OrderByDescending(x => x.CreationTime)
|
|
|
|
- .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
|
|
|
+ var quer = _orderApplication.OrderObserveList(dto);
|
|
|
|
+ var (total, items) = await
|
|
|
|
+ quer.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
return new PagedDto<OrderObserveDto>(total, _mapper.Map<IReadOnlyList<OrderObserveDto>>(items));
|
|
return new PagedDto<OrderObserveDto>(total, _mapper.Map<IReadOnlyList<OrderObserveDto>>(items));
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 获取工单观察
|
|
|
|
|
|
+ /// 获取工单观察列表导出
|
|
/// </summary>
|
|
/// </summary>
|
|
- /// <param name="id"></param>
|
|
|
|
|
|
+ /// <param name="dto"></param>
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
- [HttpGet("order_observe/{id}")]
|
|
|
|
|
|
+ [HttpGet("order_observe/list/export")]
|
|
|
|
+ public async Task<FileStreamResult> ListExport([FromBody] ExportExcelDto<OrderObserveListDto> dto)
|
|
|
|
+ {
|
|
|
|
+ var query = _orderApplication.OrderObserveList(dto.QueryDto);
|
|
|
|
+ List<OrderObserve> data;
|
|
|
|
+ if (dto.IsExportAll)
|
|
|
|
+ {
|
|
|
|
+ data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
|
+ data = items;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var dataDtos = _mapper.Map<ICollection<OrderObserveDto>>(data);
|
|
|
|
+
|
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
|
+
|
|
|
|
+ var dtos = dataDtos
|
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderObserveDto), dynamicClass))
|
|
|
|
+ .Cast<object>()
|
|
|
|
+ .ToList();
|
|
|
|
+
|
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
|
+
|
|
|
|
+ return ExcelStreamResult(stream, "工单关注列表");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取工单观察
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="id"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpGet("order_observe/{id}")]
|
|
public async Task<OrderObserve> OrderObserveEntity(string id)
|
|
public async Task<OrderObserve> OrderObserveEntity(string id)
|
|
{
|
|
{
|
|
return await _orderObserveRepository.Queryable()
|
|
return await _orderObserveRepository.Queryable()
|
|
.FirstAsync(x => x.Id == id);
|
|
.FirstAsync(x => x.Id == id);
|
|
}
|
|
}
|
|
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- #region 工单终结
|
|
|
|
-
|
|
|
|
- /// <summary>
|
|
|
|
- /// 新增工单终结
|
|
|
|
- /// </summary>
|
|
|
|
- /// <param name="dtos"></param>
|
|
|
|
- /// <returns></returns>
|
|
|
|
- [Permission(EPermission.AddOrderFinality)]
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 列表页面基础数据
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [HttpGet("order_observe/base-data")]
|
|
|
|
+ public async Task<object> OrderObserveBaseData()
|
|
|
|
+ {
|
|
|
|
+ var rsp = new
|
|
|
|
+ {
|
|
|
|
+ AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType)
|
|
|
|
+ };
|
|
|
|
+ return rsp;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region 工单终结
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 新增工单终结
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="dtos"></param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ [Permission(EPermission.AddOrderFinality)]
|
|
[HttpPost("order_finality")]
|
|
[HttpPost("order_finality")]
|
|
[LogFilter("新增工单终结")]
|
|
[LogFilter("新增工单终结")]
|
|
public async Task Add([FromBody] OrderFinalityAddDto dto)
|
|
public async Task Add([FromBody] OrderFinalityAddDto dto)
|