123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Hotline.Share.Dtos.Users;
- using Hotline.Share.Enums.Order;
- using Hotline.Share.Enums.Settings;
- using Hotline.Share.Requests;
- using XF.Utility.EnumExtensions;
- namespace Hotline.Share.Dtos.Order
- {
- public record QueryOrderDto : PagedKeywordRequest
- {
- /// <summary>
- /// 诉求内容
- /// </summary>
- public string? Content { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public List<string> AcceptTypes { get; set; } = new();
- /// <summary>
- /// 来源渠道
- /// </summary>
- public List<string> Channels { get; set; } = new();
- /// <summary>
- /// 转接号码(转接来源)
- /// </summary>
- public string? TransferPhone { get; set; }
- /// <summary>
- /// 热点分类
- /// </summary>
- public List<string> HotspotIds { get; set; } = new();
- /// <summary>
- /// 接办部门
- /// </summary>
- public List<string> OrgCodes { get; set; } = new();
- /// <summary>
- /// 受理坐席名字或工号
- /// </summary>
- public string? NameOrNo { get; set; }
- /// <summary>
- /// 受理时间(工单创建时间)
- /// </summary>
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- /// <summary>
- /// 紧急程度
- /// </summary>
- public List<EEmergencyLevel> EmergencyLevels { get; set; } = new();
- /// <summary>
- /// 来电或联系电话
- /// </summary>
- public string? PhoneNo { get; set; }
- /// <summary>
- /// 推送分类
- /// </summary>
- public string? PushTypeCode { get; set; }
- /// <summary>
- /// 过期时间
- /// </summary>
- public DateTime? ExpiredTimeStart { get; set; }
- public DateTime? ExpiredTimeEnd { get; set; }
- /// <summary>
- /// 工单状态
- /// </summary>
- public List<EOrderStatus> Statuses { get; set; } = new();
- }
- public record QueryOrderPublishDto : PagedKeywordRequest
- {
- /// <summary>
- /// 发布状态
- /// </summary>
- public EPubState? PubState { get; set; }
- /// <summary>
- /// 工单标题
- /// </summary>
- public string? OrderTitle { get; set; }
- /// <summary>
- /// 发布人
- /// </summary>
- public string? PubMan { get; set; }
- /// <summary>
- /// 发布范围
- /// </summary>
- public EPublicState? PubRange { get; set; }
- /// <summary>
- /// 受理类型
- /// </summary>
- public List<string>? AcceptTypes { get; set; } = new();
- /// <summary>
- /// 热点分类
- /// </summary>
- public List<string>? HotspotIds { get; set; } = new();
- /// <summary>
- /// 受理时间(工单创建时间)
- /// </summary>
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- /// <summary>
- /// 归档时间
- /// </summary>
- public DateTime? FiledTimeStart { get; set; }
- public DateTime? FiledTimeEnd { get; set; }
- }
- public record QueryOrderVisitDto : PagedKeywordRequest
- {
- public EVisitStateQuery VisitState { get; set; }
- }
- public record VisitDetailListDto : PagedKeywordRequest
- {
- public EVisitStateQuery VisitState { get; set; }
- }
- public record DistributionVisitDto
- {
- public List<string> Ids { get; set; }
- public string EmployeeId { get; set; }
- }
- public record VisitDto
- {
- /// <summary>
- /// 回访主表主键
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 是否接通
- /// </summary>
- public bool IsPutThrough { get; set; }
- /// <summary>
- /// 是否重办
- /// </summary>
- public bool IsAgain { get; set; }
- public List<VisitDetailDto> VisitDetails { get; set; }
- }
- public record VisitDetailDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 回访主表ID
- /// </summary>
- public string VisitId { get; set; }
- /// <summary>
- /// 语音评价(话务评价)
- /// </summary>
- public EVoiceEvaluate? VoiceEvaluate { get; set; }
-
- /// <summary>
- /// 话务员评价(话务评价)
- /// </summary>
- public ESeatEvaluate? SeatEvaluate { get; set; }
- /// <summary>
- /// 部门办件结果
- /// </summary>
- public Kv? OrgProcessingResults { get; set; }
- /// <summary>
- /// 不满意原因
- /// </summary>
- public List<Kv>? OrgNoSatisfiedReason { get; set; }
- /// <summary>
- /// 部门办件态度
- /// </summary>
- public Kv? OrgHandledAttitude { get; set; }
- /// <summary>
- /// 回访内容
- /// </summary>
- public string? VisitContent { get; set; }
- /// <summary>
- /// 回访部门名称
- /// </summary>
- public string? VisitOrgName { get; set; }
- /// <summary>
- /// 回访部门Code
- /// </summary>
- public string? VisitOrgCode { get; set; }
- /// <summary>
- /// 回访对象类型 10:话务员 20:部门
- /// </summary>
- public EVisitTarget? VisitTarget { get; set; }
- }
- public record QueryOrderRedoRecordDto: PagedKeywordRequest
- {
- }
- public record CanDelayOrderListDto : PagedKeywordRequest
- {
- }
- public record ApplyDelayDto
- {
- public string OrderId { get; set; }
- public int DelayNum { get; set; }
- public ETimeType DelayUnit { get; set; }
- public string DelayReason { get; set; }
- public List<string> FileIds { get; set; }
- }
- public record OrderDelayDto
- {
- /// <summary>
- /// 工单编号(冗余)
- /// </summary>
- public string No { get; set; }
- /// <summary>
- /// 工单ID
- /// </summary>
- public string OrderId { get; set; }
- public OrderDto? Order { get; set; }
- /// <summary>
- /// 延期申请时间
- /// </summary>
- public DateTime ApplyDelayTime { get; set; }
- /// <summary>
- /// 申请部门Code
- /// </summary>
- public string ApplyOrgCode { get; set; }
- /// <summary>
- /// 申请部门名称
- /// </summary>
- public string ApplyOrgName { get; set; }
- /// <summary>
- /// 申请人
- /// </summary>
- public string EmployeeId { get; set; }
- /// <summary>
- ///
- /// </summary>
- public string? EmployeeName { get; set; }
- /// <summary>
- /// 延期申请时限
- /// </summary>
- public int DelayNum { get; set; }
- /// <summary>
- /// 延期申请单位
- /// </summary>
- public ETimeType DelayUnit { get; set; }
- public string DelayUnitText => DelayUnit.GetDescription();
- /// <summary>
- /// 延期申请理由
- /// </summary>
- public string DelayReason { get; set; }
- /// <summary>
- /// 申请前期满时间
- /// </summary>
- public DateTime? BeforeDelay { get; set; }
- /// <summary>
- /// 申请后期满时间
- /// </summary>
- public DateTime? AfterDelay { get; set; }
- /// <summary>
- /// 审批状态
- /// </summary>
- public EDelayState DelayState { get; set; }
- public string DelayStateText => DelayState.GetDescription();
- /// <summary>
- /// 是否省延期
- /// </summary>
- public bool IsProDelay { get; set; }
- /// <summary>
- /// 流程ID
- /// </summary>
- public string? WorkflowId { get; set; }
- public DateTime CreationTime { get; set; }
- public string Id { get; set; }
- public string? CreatorId { get; set; }
- public string? CreatorName { get; set; }
- public string? CreatorOrgId { get; set; }
- public string? CreatorOrgName { get; set; }
- public int CreatorOrgLevel { get; set; }
- /// <summary>
- /// 一级部门Id
- /// </summary>
- public string? AreaId { get; set; }
- /// <summary>
- /// 当前办理节点
- /// </summary>
- public string? CurrentStepName { get; set; }
- /// <summary>
- /// 当前办理人
- /// </summary>
- public string? ActualHandlerName { get; set; }
- /// <summary>
- /// 是否可办理
- /// </summary>
- public bool IsCanHandle { get; set; }
- }
- public record DelayCalcEndTimeDto
- {
- public DateTime BeginTime { get; set; }
- public int DelayNum { get; set; }
- public ETimeType DelayUnit { get; set; }
- }
- public record DelayListDto : PagedKeywordRequest
- {
- /// <summary>
- /// 是否已办 true:已办 false:待办
- /// </summary>
- public bool IsApply { get; set; }
- public EDelayState? DelayState { get; set; }
- }
- public record ApplySuperviseDto
- {
- public string OrderId { get; set; }
- }
- public record SuperviseListDto : PagedKeywordRequest
- {
- /// <summary>
- /// 督办回复状态
- /// </summary>
- public int? SuperviseState { get; set; }
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- }
- public record ScreenListDto : PagedKeywordRequest
- {
- /// <summary>
- /// 甄别申请状态
- /// </summary>
- public EScreenStatus? Status { get; set; }
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- public string? OrderId { get; set; }
- }
- public record MayScreenListDto : PagedKeywordRequest
- {
- /// <summary>
- /// 部门编号
- /// </summary>
- public string VisitOrgCode { get; set; }
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- }
- public record UrgeListDto : PagedKeywordRequest
- {
- /// <summary>
- /// 回复状态
- /// </summary>
- public int? UrgeState { get; set; }
- public DateTime? CreationTimeStart { get; set; }
- public DateTime? CreationTimeEnd { get; set; }
- }
- public class QueryRepeatableEventDto {
- public string? HotspotSpliceName { get; set; }
- public string? Address { get; set; }
- }
- public enum EVisitStateQuery
- {
- /// <summary>
- /// 全部
- /// </summary>
- [Description("全部")]
- All = 0,
- /// <summary>
- /// 已回访
- /// </summary>
- [Description("已回访")]
- Visited = 1,
- /// <summary>
- /// 未回访
- /// </summary>
- [Description("未回访")]
- NoVisit = 2,
- }
- public enum EPublicState
- {
- /// <summary>
- /// 全部
- /// </summary>
- [Description("全部")]
- All = 0,
- /// <summary>
- /// 公开
- /// </summary>
- [Description("公开")]
- Pub = 1,
- /// <summary>
- /// 不公开
- /// </summary>
- [Description("不公开")]
- NoPub = 2,
- }
- public enum EPubState
- {
- /// <summary>
- /// 全部
- /// </summary>
- [Description("全部")]
- All = 0,
- /// <summary>
- /// 已发布
- /// </summary>
- [Description("已发布")]
- Pub = 1,
- /// <summary>
- /// 未发布
- /// </summary>
- [Description("未发布")]
- NoPub = 2
- }
- public class AddVisitApplyDto
- {
- public string OrderNo { get; set; }
- public string OrderId { get; set; }
- public string VisitReason { get; set; }
- public string OrderVisitId { get; set; }
- public List<string> FileIds { get; set; }
- }
- public class VisitApplyDto
- {
- public string OrderNo { get; set; }
- public string OrderId { get; set; }
- public OrderDto Order { get; set; }
- public string EmployeeId { get; set; }
- public UserDto Employee { get; set; }
- public string VisitReason { get; set; }
- /// <summary>
- /// 源单号
- /// </summary>
- public string OrderVisitId { get; set; }
- public OrderVisitDto OrderVisit { get; set; }
- /// <summary>
- /// 流程ID
- /// </summary>
- public string? WorkflowId { get; set; }
- public EVisitApplyState VisitApplyState { get; set; }
- public string Id { get; set; }
- public string? CreatorId { get; set; }
- public string? CreatorName { get; set; }
- public string? CreatorOrgId { get; set; }
- public string? CreatorOrgName { get; set; }
- public int CreatorOrgLevel { get; set; }
- /// <summary>
- /// 一级部门Id
- /// </summary>
- public string? AreaId { get; set; }
- }
- public record VisitApplyListDto: PagedKeywordRequest
- {
- public EVisitApplyState? VisitApplyState { get; set; }
- }
- }
|