Ver código fonte

Merge branch 'master' of http://git.12345lm.cn/Fengwo/hotline

田爽 1 ano atrás
pai
commit
72a989644c

+ 2 - 2
NuGet.Config

@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <packageSources>
     <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
-    <add key="fengwo.org" value="http://110.188.24.182:5555/v3/index.json" />
+    <add key="fengwo.org" value="http://nuget.12345lm.cn/v3/index.json" />
   </packageSources>
 </configuration>

+ 1 - 1
src/Hotline.Api/Controllers/FileController.cs

@@ -41,7 +41,7 @@ namespace Hotline.Api.Controllers
 		/// <summary>
 		/// 新增附件
 		/// </summary>
-		/// <param name="dto"></param>
+		/// <param name="dtos"></param>
 		/// <returns></returns>
 		[Permission(EPermission.AddFile)]
 		[HttpPost]

+ 5 - 1
src/Hotline.Api/Controllers/HomeController.cs

@@ -66,7 +66,11 @@ public class HomeController : BaseController
     {
         if (!string.IsNullOrEmpty(_sessionContext.UserId))
         {
-            return await _userRepository.Queryable().Includes(x => x.Organization).FirstAsync(x => x.Id == _sessionContext.UserId);
+            return await _userRepository.Queryable()
+                .Includes(x => x.Organization)
+                .Includes(x=>x.Account)
+                .Includes(x=>x.Roles)
+                .FirstAsync(x => x.Id == _sessionContext.UserId);
             //return await _userRepository.GetAsync(_sessionContext.UserId);
         }
         throw UserFriendlyException.SameMessage("无效登录信息");

+ 19 - 9
src/Hotline.Api/Controllers/OrderController.cs

@@ -1,6 +1,5 @@
 using DotNetCore.CAP;
 using Hotline.Application.FlowEngine;
-using Hotline.Application.TimeLimits;
 using Hotline.Caching.Interfaces;
 using Hotline.File;
 using Hotline.FlowEngine.Definitions;
@@ -17,6 +16,7 @@ using Hotline.Settings.TimeLimits;
 using Hotline.Share.Dtos;
 using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Dtos.Order;
+using Hotline.Share.Dtos.Settings;
 using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Settings;
 using Hotline.Share.Mq;
@@ -24,10 +24,8 @@ using Hotline.Share.Requests;
 using MapsterMapper;
 using MediatR;
 using Microsoft.AspNetCore.Mvc;
-using Microsoft.IdentityModel.Tokens;
 using MongoDB.Driver;
 using SqlSugar;
-using System.Threading;
 using XF.Domain.Authentications;
 using XF.Domain.Constants;
 using XF.Domain.Exceptions;
@@ -59,7 +57,7 @@ public class OrderController : BaseController
     private readonly IRepository<OrderVisitDetail> _orderVisitedDetailRepository;
     private readonly ICapPublisher _capPublisher;
     private readonly IRepository<OrderDelay> _orderDelayRepository;
-    private readonly ITimeLimitApplication _timeLimitApplication;
+    private readonly ITimeLimitDomainService _timeLimitDomainService;
     private readonly ISystemSettingCacheManager _systemSettingCacheManager;
     private readonly IRepository<OrderRedo> _orderRedoRepository;
     private readonly IRepository<OrderSupervise> _orderSuperviseRepository;
@@ -89,7 +87,7 @@ public class OrderController : BaseController
         IRepository<OrderVisitDetail> orderVisitedDetailRepository,
         ICapPublisher capPublisher,
         IRepository<OrderDelay> orderDelayRepository,
-        ITimeLimitApplication timeLimitApplication,
+        ITimeLimitDomainService timeLimitDomainService,
         ISystemSettingCacheManager systemSettingCacheManager,
         IRepository<OrderRedo> orderRedoRepository,
         IRepository<OrderSupervise> orderSuperviseRepository,
@@ -118,7 +116,7 @@ public class OrderController : BaseController
         _orderVisitedDetailRepository = orderVisitedDetailRepository;
         _capPublisher = capPublisher;
         _orderDelayRepository = orderDelayRepository;
-        _timeLimitApplication = timeLimitApplication;
+        _timeLimitDomainService = timeLimitDomainService;
         _systemSettingCacheManager = systemSettingCacheManager;
         _orderRedoRepository = orderRedoRepository;
         _orderSuperviseRepository = orderSuperviseRepository;
@@ -220,12 +218,12 @@ public class OrderController : BaseController
         await _mediator.Publish(new AddVisitNotify(visitedDetail), HttpContext.RequestAborted);
 
         //TODO 中国政府网
-        if (order.SourceChannel == "ZGZFW")
+        if (order.SourceChannelCode == "ZGZFW")
         {
 
         }
         //TODO 省政民互动
-        if (order.SourceChannel == "ZMHD")
+        if (order.SourceChannelCode == "ZMHD")
         {
 
         }
@@ -640,7 +638,7 @@ public class OrderController : BaseController
         model.DelayState = EDelayState.Examining;
         if (model.BeforeDelay != null)
         {
-            model.AfterDelay = _timeLimitApplication.CalcEndTime(model.BeforeDelay.Value, dto.DelayUnit, dto.DelayNum)?.EndTime;
+            model.AfterDelay = _timeLimitDomainService.CalcEndTime(model.BeforeDelay.Value, dto.DelayUnit, dto.DelayNum, false)?.EndTime;
         }
         model.ApplyDelayTime = DateTime.Now;
         model.No = order.No;
@@ -682,6 +680,18 @@ public class OrderController : BaseController
             .FirstAsync(x => x.Id == id);
     }
 
+    /// <summary>
+    /// 计算期满时间
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    [Permission(EPermission.DelayCalcEndTime)]
+    [HttpPost("delay-calc-endtime")]
+    public async Task<TimeResult?> DelayCalcEndTime([FromBody]DelayCalcEndTimeDto dto)
+    {
+        return _timeLimitDomainService.CalcEndTime(dto.BeginTime, dto.DelayUnit, dto.DelayNum, false);
+    }
+
     #endregion
 
     #region 工单甄别

+ 0 - 1
src/Hotline.Api/Controllers/PbxController.cs

@@ -327,7 +327,6 @@ namespace Hotline.Api.Controllers
         /// <summary>
         /// 开始分机休息
         /// </summary>
-        /// <param name="id"></param>
         /// <returns></returns>
         [Permission(EPermission.Rest)]
         [HttpGet("begin-rest")]

+ 1 - 2
src/Hotline.Api/Controllers/SettingController.cs

@@ -213,7 +213,7 @@ namespace Hotline.Api.Controllers
 		/// <summary>
 		/// 新增标签(支持批量)
 		/// </summary>
-		/// <param name="dto"></param>
+		/// <param name="dtos"></param>
 		/// <returns></returns>
 		[HttpPost("businessTag")]
 		public async Task Add([FromBody] List<BusinessTagDto> dtos)
@@ -272,7 +272,6 @@ namespace Hotline.Api.Controllers
 		/// <summary>
 		/// 获取标签基本数据
 		/// </summary>
-		/// <param name="id"></param>
 		/// <returns></returns>
 		[HttpGet("businessTag/baseData")]
 		public async Task<object> TagBaseData()

+ 16 - 6
src/Hotline.Api/Controllers/SysController.cs

@@ -14,6 +14,7 @@ using MapsterMapper;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using System.Diagnostics.CodeAnalysis;
+using XF.Domain.Authentications;
 using XF.Domain.Exceptions;
 using XF.Domain.Repository;
 using XF.Utility.EnumExtensions;
@@ -34,6 +35,7 @@ namespace Hotline.Api.Controllers
         private readonly IRepository<SystemArea> _systemAreaRepository;
         private readonly ISystemCommonOpinionDomainService _commonOpinionDomainService;
         private readonly IRepository<SystemCommonOpinion> _commonOpinionRepository;
+        private readonly ISessionContext _sessionContext;
 
         /// <summary>
         /// 系统管理相关接口
@@ -43,6 +45,11 @@ namespace Hotline.Api.Controllers
         /// <param name="systemMenuRepository"></param>
         /// <param name="sysDicDataRepository"></param>
         /// <param name="sysDicTypeRepository"></param>
+        /// <param name="commonOpinionDomainService"></param>
+        /// <param name="commonOpinionRepository"></param>
+        /// <param name="sessionContext"></param>
+        /// <param name="systemAreaDomainService"></param>
+        /// <param name="systemAreaRepository"></param>
         public SysController(
             IMapper mapper,
             IRepository<SystemSetting> systemSettingsRepository,
@@ -52,7 +59,8 @@ namespace Hotline.Api.Controllers
             ISystemAreaDomainService systemAreaDomainService,
             IRepository<SystemArea> systemAreaRepository,
             ISystemCommonOpinionDomainService commonOpinionDomainService,
-            IRepository<SystemCommonOpinion> commonOpinionRepository
+            IRepository<SystemCommonOpinion> commonOpinionRepository,
+            ISessionContext sessionContext
             )
         {
             _mapper = mapper;
@@ -64,6 +72,7 @@ namespace Hotline.Api.Controllers
             _systemAreaRepository = systemAreaRepository;
             _commonOpinionDomainService = commonOpinionDomainService;
             _commonOpinionRepository = commonOpinionRepository;
+            _sessionContext = sessionContext;
         }
 
         #region 菜单管理
@@ -437,9 +446,9 @@ namespace Hotline.Api.Controllers
         /// </summary>
         /// <returns></returns>
         [HttpGet("common-list")]
-        public async Task<IReadOnlyList<SystemCommonOpinion>> GetCommon([FromQuery]ECommonType commonType)
+        public async Task<IReadOnlyList<SystemCommonOpinion>> GetCommon([FromQuery]ECommonType commonType,bool isOpen)
         {
-            return await _commonOpinionRepository.Queryable().Where(x => x.CommonType == commonType).ToListAsync();
+            return await _commonOpinionRepository.Queryable().Where(x => x.CommonType == commonType && x.IsOpen == isOpen && x.CreatorId == _sessionContext.RequiredUserId).ToListAsync();
         }
 
         /// <summary>
@@ -474,7 +483,7 @@ namespace Hotline.Api.Controllers
         {
             var rsp = new
             {
-                CommonType = EnumExts.GetDescriptions<ECommonType>()
+                CommonType = EnumExts.GetDescriptions<ECommonType>(),
             };
 
             return rsp;
@@ -488,11 +497,12 @@ namespace Hotline.Api.Controllers
         /// </summary>
         /// <returns></returns>
         [Permission(EPermission.QueryOpenCommonOpinionList)]
-        [HttpGet("open-common/{code}")]
+        [HttpGet("open-common")]
         public async Task<PagedDto<SystemCommonOpinion>> QueryOpenCommonOpinionList([FromQuery]QueryCommonDto dto)
         {
             var (total,items) = await _commonOpinionRepository.Queryable()
-                .Where(x => x.IsOpen)
+                .WhereIF(dto.IsOpen != null,x=>x.IsOpen == dto.IsOpen)
+                .WhereIF(!string.IsNullOrEmpty(dto.UserName),x=>x.CreatorName.Contains(dto.UserName))
                 .WhereIF(dto.CommonType!=null, x => x.CommonType == dto.CommonType)
                 .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
             return new PagedDto<SystemCommonOpinion>(total, items);

+ 1 - 25
src/Hotline.Api/Controllers/TestController.cs

@@ -1,5 +1,4 @@
-using Hotline.Application.TimeLimits;
-using Hotline.CallCenter.BlackLists;
+using Hotline.CallCenter.BlackLists;
 using Hotline.CallCenter.Devices;
 using Hotline.CallCenter.Ivrs;
 using Hotline.Identity.Roles;
@@ -9,8 +8,6 @@ using Hotline.Repository.SqlSugar;
 using Hotline.Repository.SqlSugar.Ts;
 using Hotline.Settings.TimeLimits;
 using Hotline.Share.Dtos.Realtime;
-using Hotline.Share.Dtos.Settings;
-using Hotline.Share.Enums.Settings;
 using Hotline.Users;
 using MediatR;
 using Microsoft.AspNetCore.Authorization;
@@ -19,10 +16,8 @@ using Microsoft.AspNetCore.SignalR;
 using Microsoft.Extensions.Options;
 using NewRock.Sdk;
 using NewRock.Sdk.Security;
-using NpgsqlTypes;
 using SqlSugar;
 using Wex.Sdk;
-using Wex.Sdk.Tel;
 using XC.RSAUtil;
 using XF.Domain.Authentications;
 using XF.Domain.Cache;
@@ -53,13 +48,11 @@ public class TestController : BaseController
     private readonly IRepository<Role> _roleRepository;
     private readonly IMediator _mediator;
 
-    private readonly ITimeLimitApplication _timeLimitApplication;
     private readonly IDistributedLock _distributedLock;
     private readonly IWexClient _wexClient;
     private readonly ISugarUnitOfWork<WexDbContext> _uowWex;
     private readonly IRepository<OrderUrge> _orderUrgeRepository;
     private readonly IRepositoryTextSearch<OrderTs> _repositoryts;
-    private readonly IGroupManager _goupManager;
 
     private readonly ITimeLimitDomainService _timeLimitDomainService;
 
@@ -83,7 +76,6 @@ public class TestController : BaseController
         ISugarUnitOfWork<HotlineDbContext> uow,
         IRepository<Role> roleRepository,
         IMediator mediator,
-        ITimeLimitApplication timeLimitApplication,
         IDistributedLock distributedLock,
         IWexClient wexClient,
         ISugarUnitOfWork<WexDbContext> uowWex,
@@ -103,7 +95,6 @@ public class TestController : BaseController
         _uow = uow;
         _roleRepository = roleRepository;
         _mediator = mediator;
-        _timeLimitApplication = timeLimitApplication;
         _distributedLock = distributedLock;
         _wexClient = wexClient;
         _uowWex = uowWex;
@@ -178,21 +169,6 @@ public class TestController : BaseController
         return a;
     }
 
-    [AllowAnonymous]
-    [HttpGet("testtime")]
-    public async Task<TimeResult> TestTime(DateTime beginTime, ETimeType timeType, int timeValue)
-    {
-        return _timeLimitApplication.CalcEndTime(beginTime, timeType, timeValue);
-    }
-
-    [AllowAnonymous]
-    [HttpGet("timeend")]
-    public async Task<DateTime> GetWorkDayEnd(DateTime date, int days)
-    {
-        return _timeLimitApplication.GetEndDateWork(date, days);
-    }
-
-
     //[AllowAnonymous]
     [HttpGet("hash")]
     public async Task Hash()

+ 1 - 1
src/Hotline.Api/config/appsettings.json

@@ -23,7 +23,7 @@
   },
   "Swagger": true,
   "Cors": {
-    "Origins": [ "http://localhost:8888", "http://admin.hotline.fw.com", "http://hotline.fw.com", "http://110.188.24.28:50101", "http://110.188.24.28:50102" ]
+    "Origins": [ "http://localhost:8888", "http://hotline.12345lm.cn", "http://hotline.fw.com", "http://110.188.24.28:50101", "http://110.188.24.28:50102" ]
   },
   "IdentityConfiguration": {
     "Password": {

+ 0 - 22
src/Hotline.Application/TimeLimits/ITimeLimitApplication.cs

@@ -1,22 +0,0 @@
-using Hotline.Share.Dtos.Settings;
-using Hotline.Share.Enums.Settings;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Hotline.Application.TimeLimits
-{
-    public interface ITimeLimitApplication
-    {
-        TimeResult CalcEndTime(DateTime beginTime, ETimeType timeType, int timeValue);
-        /// <summary>
-        /// 计算工作时间(跳过休息日)
-        /// </summary>
-        /// <param name="date">开始时间</param>
-        /// <param name="days">天数</param>
-        /// <returns></returns>
-        DateTime GetEndDateWork(DateTime date, int days);
-    }
-}

+ 0 - 201
src/Hotline.Application/TimeLimits/TimeLimitApplication.cs

@@ -1,201 +0,0 @@
-
-using Hotline.Settings.TimeLimits;
-using Hotline.Share.Dtos.Settings;
-using Hotline.Share.Enums.Settings;
-using System.Data;
-using XF.Domain.Dependency;
-
-namespace Hotline.Application.TimeLimits
-{
-    public class TimeLimitApplication:ITimeLimitApplication, IScopeDependency
-    {
-        private readonly ITimeLimitRepository _timeLimitRepository;
-        private readonly IDaySettingRepository _daySettingRepository;
-
-        public TimeLimitApplication(ITimeLimitRepository timeLimitRepository, IDaySettingRepository daySettingRepository)
-        {
-            _timeLimitRepository = timeLimitRepository;
-            _daySettingRepository = daySettingRepository;
-        }
-
-
-
-        /// <summary>
-        /// 计算结束时间
-        /// </summary>
-        /// <param name="beginTime"></param>
-        /// <param name="timeType"></param>
-        /// <param name="timeValue"></param>
-        public TimeResult CalcEndTime(DateTime beginTime, ETimeType timeType, int timeValue)
-        {
-           
-            var time = beginTime;
-            switch (timeType)
-            {
-                //新增对应小时
-                case ETimeType.Hour:
-                    return new TimeResult { EndTime = beginTime.AddHours(timeValue), RuleStr = timeValue + "小时" };
-                //新增工作日
-                case ETimeType.WorkDay:
-                    //检查时间段内是否存在休息日或者工作日
-                    int day = 1;
-                    for (int i = 1; i < timeValue + 1; i++)
-                    {
-                        if (IsWorkDay(beginTime.AddDays(day)))
-                        {
-                            beginTime = beginTime.AddDays(day);
-                            day = 1;
-                        }
-                        else
-                        {
-                            i--;
-                            day++;
-                        }
-                    }
-                    return new TimeResult { EndTime = beginTime, RuleStr = timeValue + "个工作日" };
-                //新增自然日
-                case ETimeType.Day:
-                    return new TimeResult { EndTime = beginTime.AddDays(timeValue), RuleStr = timeValue + "个自然日" };
-                default:
-                    return null;
-            }
-        }
-
-        private bool IsWorkDay(DateTime date)
-        {
-            return _daySettingRepository.IsWorkDay(date).GetAwaiter().GetResult();
-        }
-
-        /// <summary>
-        /// 计算工作时间(跳过休息日)
-        /// </summary>
-        /// <param name="date"></param>
-        /// <param name="days"></param>
-        /// <returns></returns>
-        public DateTime GetEndDateWork(DateTime date,int days)
-        {
-            for (int i = 0; i < days; )
-            {
-                date = date.AddDays(1);
-                if (IsWorkDay(date))
-                    i++;
-            }
-            return date;
-        }
-
-        //public async Task<TimeResult> Get(string WorkflowCode, DateTime BeginTime, Dictionary<string, string> param)
-        //{
-        //    //1>> 取出对应已启用的配置
-        //    var model = await _timeLimitRepository.GetAsync(x => x.WorkflowCode == WorkflowCode && x.TimeLimitState == Share.Enums.Settings.ETimeLimitState.Enable);
-        //    if (model != null)
-        //    {
-        //        #region  组合优先级
-        //        //2>> 优先级 组合逻辑判定 (组合重复取最短时间)
-        //        if (model.Combination?.Count > 0)
-        //        {
-        //            //待计算集合
-        //            List<CombinationModel> list = new List<CombinationModel>();
-        //            foreach (var item in model.Combination)
-        //            {
-        //                //判断是否包含当前组合的所有参数
-        //                int countx = item.CombinationParam.Count(x => param.Any(d => d.Key == x.Code && d.Value == x.ParamValue));
-        //                //如果包含 就加入到待计算的集合中
-        //                if (countx == item.CombinationParam.Count)
-        //                {
-        //                    list.Add(item);
-        //                }
-        //            }
-        //            if (list.Count > 0)
-        //            {
-        //                //获取符合参数条件的组合最小时间单位
-        //                var comHavMinParam = list.OrderBy(x => x.Hour).FirstOrDefault();
-        //                if (comHavMinParam != null && comHavMinParam?.TimeLimit != ETimeType.WorkDay)
-        //                {
-        //                    return CalcEndTime(BeginTime, comHavMinParam.TimeLimit, comHavMinParam.TimeLimitValue);
-        //                }
-        //                else
-        //                {
-        //                    //获取符合参数条件的组合(工作日)最小单位
-        //                    var comHavMinParamWorkDay = list.OrderBy(x => x.Hour).FirstOrDefault(x => x.TimeLimit == ETimeType.WorkDay);
-
-        //                    //如果符合条件的组合和符合条件的组合(工作日)都存在
-        //                    if (comHavMinParam != null && comHavMinParamWorkDay != null)
-        //                    {
-        //                        var comMinParamResult = CalcEndTime(BeginTime, comHavMinParam.TimeLimit, comHavMinParam.TimeLimitValue);
-        //                        var comMinParamWorkDayResult = CalcEndTime(BeginTime, comHavMinParamWorkDay.TimeLimit, comHavMinParamWorkDay.TimeLimitValue);
-        //                        if (comMinParamResult.EndTime != null && comMinParamWorkDayResult.EndTime != null && DateTime.Compare(comMinParamResult.EndTime.Value, comMinParamWorkDayResult.EndTime.Value) <= 0)
-        //                        {
-        //                            return comMinParamResult;
-        //                        }
-        //                        else
-        //                        {
-        //                            return comMinParamWorkDayResult;
-        //                        }
-        //                    }
-        //                }
-        //            }
-        //        }
-        //        #endregion
-
-        //        #region 排序优先级
-        //        //3>> 优先级 排序逻辑判定
-        //        if (model.Priority?.Count > 0)
-        //        {
-        //            var firstModel = model.Priority.OrderBy(x => x.Sort).FirstOrDefault(x => param.Any(d => d.Key == x.Code && d.Value == x.ParamTypeValue));
-        //            //如果找到排序条件 走排序逻辑
-        //            if (firstModel != null)
-        //            {
-        //                var CanUseModel = model.ParamArr?.FirstOrDefault(x => x.ParamType == firstModel.ParamType && x.Id == firstModel.Code);
-        //                if (CanUseModel != null)
-        //                {
-        //                    #region 计算结束时间
-        //                    return CalcEndTime(BeginTime, CanUseModel.TimeLimitType, CanUseModel.TimeLimitValue);
-        //                    #endregion
-        //                }
-        //            }
-
-        //        }
-        //        #endregion
-
-        //        #region 配置优先级
-        //        // 4>> 优先级 配置逻辑判定
-        //        if (model.ParamArr?.Count > 0)
-        //        {
-        //            //获取符合参数条件的配置最小时间单位
-        //            var havMinParam = model.ParamArr.OrderBy(x => x.Hour).FirstOrDefault(x => x.TimeLimitType != ETimeType.WorkDay && param.Any(d => d.Key == x.ParamType && d.Value == x.Id));
-        //            //获取符合参数条件的配置(工作日)最小时间单位
-        //            var havMinParamWorkDay = model.ParamArr.OrderBy(x => x.Hour).FirstOrDefault(x => x.TimeLimitType == ETimeType.WorkDay && param.Any(d => d.Key == x.ParamType && d.Value == x.Id));
-        //            //如果符合条件的参数和符合条件的参数(工作日)都存在
-        //            if (havMinParam != null && havMinParamWorkDay != null)
-        //            {
-        //                var minParamResult = CalcEndTime(BeginTime, havMinParam.TimeLimitType, havMinParam.TimeLimitValue);
-        //                var minParamWorkDayResult = CalcEndTime(BeginTime, havMinParam.TimeLimitType, havMinParam.TimeLimitValue);
-        //                if (minParamResult.EndTime != null && minParamWorkDayResult.EndTime != null && DateTime.Compare(minParamResult.EndTime.Value, minParamWorkDayResult.EndTime.Value) <= 0)
-        //                {
-        //                    return minParamResult;
-        //                }
-        //                else
-        //                {
-        //                    return minParamWorkDayResult;
-        //                }
-        //            }
-        //            else
-        //            {
-        //                return new TimeResult() { EndTime = null, RuleId = "", RuleStr = "" };
-        //            }
-        //        }
-        //        else
-        //        {
-        //            return new TimeResult() { EndTime = null, RuleId = "", RuleStr = "" };
-        //        }
-
-        //        #endregion
-
-        //    }
-        //    return null;
-        //}
-
-
-
-    }
-}

+ 4 - 4
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -304,10 +304,10 @@ namespace Hotline.Share.Dtos.Order
         /// </summary>
         public string OrderTypeText => OrderType.GetDescription();
 
-        /// <summary>
-        /// 受理类型
-        /// </summary>
-        //public string AcceptTypeText => AcceptType.GetDescription();
+        ///// <summary>
+        ///// 受理类型
+        ///// </summary>
+        ////public string AcceptTypeText => AcceptType.GetDescription();
 
         /// <summary>
         /// 紧急程度

+ 9 - 0
src/Hotline.Share/Dtos/Order/QueryOrderDto.cs

@@ -241,6 +241,15 @@ namespace Hotline.Share.Dtos.Order
         public List<string> FileIds { 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>

+ 32 - 17
src/Hotline.Share/Dtos/Push/FWMessage/SendSmsModelDto.cs

@@ -4,90 +4,105 @@ namespace Hotline.Share.Dtos.Push.FWMessage
 {
     public class SendSmsModelDto
     {
-        [DataMember]
         /// <summary>
         /// 待发ID
         /// </summary>
-        public int nWaitID;
         [DataMember]
+        public int nWaitID;
         /// <summary>
         /// 帐号
         /// </summary>
-        public string strAccountUser;
         [DataMember]
+        public string strAccountUser;
+
         /// <summary>
         /// 密码
         /// </summary>
-        public string strAccountPwd;
         [DataMember]
+        public string strAccountPwd;
+
         /// <summary>
         /// 短信类型
         /// </summary>
-        public string strType;
         [DataMember]
+        public string strType;
+
         /// <summary>
         /// 流程ID
         /// </summary>
-        public int nFlowID;
         [DataMember]
+        public int nFlowID;
+
         /// <summary>
         /// 接收姓名
         /// </summary>
-        public string strPhoneName;
         [DataMember]
+        public string strPhoneName;
+
         /// <summary>
         /// 接收号码
         /// </summary>
-        public string strPhoneNumber;
         [DataMember]
+        public string strPhoneNumber;
+
         /// <summary>
         /// 接收号码
         /// </summary>
-        public string strPhoneNumberAll;
         [DataMember]
+        public string strPhoneNumberAll;
+
         /// <summary>
         /// 批量发送号码格式为,姓名,号码
         /// </summary>
-        public List<object[]> listSendTelNumber;
         [DataMember]
+        public List<object[]> listSendTelNumber;
+
         /// <summary>
         /// 批量发送号码
         /// </summary>
-        public System.Data.DataTable dtTelNumber;
         [DataMember]
+        public System.Data.DataTable dtTelNumber;
+
         /// <summary>
         /// 短信内容
         /// </summary>
-        public string strPhoneConnent;
         [DataMember]
+        public string strPhoneConnent;
+
         /// <summary>
         /// 备注
         /// </summary>
-        public string strRemark;
         [DataMember]
+        public string strRemark;
+
         /// <summary>
         /// 添加时间
         /// </summary>
-        public DateTime dAddTime;
         [DataMember]
+        public DateTime dAddTime;
+
         /// <summary>
         /// 用户ID
         /// </summary>
-        public int nUserID;
         [DataMember]
+        public int nUserID;
+
         /// <summary>
         /// 用户姓名
         /// </summary>
-        public string strUserName;
         [DataMember]
+        public string strUserName;
+
         /// <summary>
         /// 发送部门ID
         /// </summary>
-        public int nBMID;
         [DataMember]
+        public int nBMID;
+
         /// <summary>
         /// 发送部门名称
         /// </summary>
+        [DataMember]
         public string strBMName;
     }
 }

+ 7 - 1
src/Hotline.Share/Dtos/Settings/CommonDto.cs

@@ -2,6 +2,7 @@
 using Hotline.Share.Requests;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -37,14 +38,19 @@ namespace Hotline.Share.Dtos.Settings
     public record QueryCommonDto: PagedRequest
     {
         public ECommonType? CommonType { get; set; }
+        
+        public string? UserName { get; set; }
+
+        public bool? IsOpen{ get; set; }
     }
 
 
 
+
     public class AddAreaDto
     {
         public string AreaName { get; set; }
-
+            
         public string ParentId { get; set; }
 
         public string AreaNameAbbreviation { get; set; }

+ 1 - 1
src/Hotline/Orders/Order.cs

@@ -237,7 +237,7 @@ namespace Hotline.Orders
         public bool IsPublicity { get; set; }
 
         /// <summary>
-        /// 是否为省工单(省派发工单字段:get_case_result_receive == "中国政府网来源工单" 为true)
+        /// 是否为省工单(省派发工单字段:receive_case_info 表中 TROWGUID !='【政民互动直派】' 为true)
         /// </summary>
         [SugarColumn(DefaultValue = "f")]
         public bool IsProvince { get; set; }

+ 0 - 4
src/Hotline/Orders/OrderRedo.cs

@@ -38,10 +38,6 @@ namespace Hotline.Orders
         [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)]
         public List<string> FileIds { get; set; }
 
-        public string CreatorName { get; set; }
-
-        public string CreatorOrgName { get; set; }
-
         /// <summary>
         /// 重办部门code
         /// </summary>

+ 9 - 5
src/Hotline/Permissions/EPermission.cs

@@ -999,13 +999,19 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName = "OrderDelay",Name = "延期详情",Description ="延期详情")]
         DelayEntity = 500403,
-		#endregion
 
-		#region 工单督办管理
+        /// <summary>
+        /// 计算期满时间
+        /// </summary>
+        [Display(GroupName = "OrderDelay",Name ="计算期满时间",Description ="计算期满时间")]
+        DelayCalcEndTime = 500404,
+        #endregion
+
+        #region 工单督办管理
         /// <summary>
         ///工单督办列表
         /// </summary>
-		[Display(GroupName = "OrderSupervise", Name = "工单督办列表", Description = "工单督办列表")]
+        [Display(GroupName = "OrderSupervise", Name = "工单督办列表", Description = "工单督办列表")]
 		SuperviseOrderList = 500601,
 
 		/// <summary>
@@ -1282,7 +1288,5 @@ namespace Hotline.Permissions
 		#endregion
 
 		#endregion
-
-
 	}
 }

+ 4 - 0
src/Hotline/Settings/CommonOpinions/SystemCommonOpinion.cs

@@ -1,6 +1,7 @@
 using Hotline.Share.Enums.Settings;
 using SqlSugar;
 using XF.Domain.Repository;
+using XF.Utility.EnumExtensions;
 
 namespace Hotline.Settings.CommonOpinions
 {
@@ -14,5 +15,8 @@ namespace Hotline.Settings.CommonOpinions
         public bool IsOpen { get; set; }
 
         public ECommonType CommonType { get; set; }
+
+        [SugarColumn(IsIgnore = true)]
+        public string CommonTypeText => CommonType.GetDescription();
     }
 }