Browse Source

出入境费用-草稿-移动端 api代码编写

LEIYI 5 months ago
parent
commit
3e9567b706
39 changed files with 1978 additions and 1709 deletions
  1. 12 3
      OASystem/OASystem.Api/Controllers/AuthController.cs
  2. 6 10
      OASystem/OASystem.Api/Controllers/BusinessController.cs
  3. 1133 1072
      OASystem/OASystem.Api/Controllers/GroupsController.cs
  4. 8 0
      OASystem/OASystem.Api/OASystem.API.csproj
  5. 4 4
      OASystem/OASystem.Domain/Common/QiYeWeChatVerify/Cryptography.cs
  6. 1 1
      OASystem/OASystem.Domain/Common/QiYeWeChatVerify/Sample.cs
  7. 1 1
      OASystem/OASystem.Domain/Common/QiYeWeChatVerify/WXBizMsgCrypt.cs
  8. 1 1
      OASystem/OASystem.Domain/Dtos/Financial/PostPayRequestByDateRangeDto.cs
  9. 372 362
      OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDto.cs
  10. 4 5
      OASystem/OASystem.Domain/Dtos/Groups/TourClientListDto.cs
  11. 4 2
      OASystem/OASystem.Domain/Dtos/Groups/VisaCommissionDto.cs
  12. 3 3
      OASystem/OASystem.Domain/Dtos/PersonnelModule/TreeNode.cs
  13. 4 4
      OASystem/OASystem.Domain/Dtos/Resource/TicketBlackCodeDto.cs
  14. 3 3
      OASystem/OASystem.Domain/Dtos/System/UserDto.cs
  15. 1 1
      OASystem/OASystem.Domain/Dtos/Tencent/OCRVerifyMethod.cs
  16. 3 3
      OASystem/OASystem.Domain/Entities/Groups/Grp_CostTypeHotelNumber.cs
  17. 3 3
      OASystem/OASystem.Domain/Entities/Groups/Grp_ScheduleInfo.cs
  18. 4 4
      OASystem/OASystem.Domain/Entities/Resource/Air_TicketBlackCode.cs
  19. 6 2
      OASystem/OASystem.Domain/Enums/MonthEnum.cs
  20. 8 0
      OASystem/OASystem.Domain/OASystem.Domain.csproj
  21. 19 15
      OASystem/OASystem.Domain/ViewModels/Financial/Fin_DailyFeePaymentView.cs
  22. 281 1
      OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostDraftView.cs
  23. 6 179
      OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostView.cs
  24. 1 1
      OASystem/OASystem.Domain/ViewModels/PersonnelModule/TaskAllocationView.cs
  25. 8 2
      OASystem/OASystem.Domain/ViewModels/PersonnelModule/WageSheetView.cs
  26. 1 1
      OASystem/OASystem.Domain/ViewModels/QiYeWeChat/Access_TokenView.cs
  27. 6 3
      OASystem/OASystem.Domain/ViewModels/QiYeWeChat/ApprovalDataView.cs
  28. 1 1
      OASystem/OASystem.Domain/ViewModels/Resource/InvitationOfficialActivityDataView.cs
  29. 8 0
      OASystem/OASystem.Infrastructure/OASystem.Infrastructure.csproj
  30. 2 2
      OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs
  31. 1 1
      OASystem/OASystem.Infrastructure/Repositories/Financial/DailyFeePaymentRepository.cs
  32. 2 2
      OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs
  33. 43 3
      OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostDraftRepository.cs
  34. 3 3
      OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs
  35. 2 2
      OASystem/OASystem.Infrastructure/Repositories/Groups/TourClientListRepository.cs
  36. 1 1
      OASystem/OASystem.Infrastructure/Repositories/Groups/VisaFeeInfoRepository.cs
  37. 1 1
      OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/TaskAllocationRepository.cs
  38. 3 7
      OASystem/OASystem.Infrastructure/Tools/CommonFun.cs
  39. 8 0
      OASystem/OASystem.RedisRepository/OASystem.RedisRepository.csproj

+ 12 - 3
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -42,7 +42,18 @@ namespace OASystem.API.Controllers
         private readonly IHubContext<ChatHub, IChatClient> _hubContext;
         private readonly IHubContext<ChatHub, IChatClient> _hubContext;
         private readonly DeviceTokenRepository _deviceTokenRepository;
         private readonly DeviceTokenRepository _deviceTokenRepository;
 
 
-
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="config"></param>
+        /// <param name="loginRep"></param>
+        /// <param name="mapper"></param>
+        /// <param name="message"></param>
+        /// <param name="systemMenuPermissionRepository"></param>
+        /// <param name="qiYeWeChatApiService"></param>
+        /// <param name="messageRep"></param>
+        /// <param name="deviceRep"></param>
+        /// <param name="hubContext"></param>
         public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper, MessageRepository message,
         public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper, MessageRepository message,
             SystemMenuPermissionRepository systemMenuPermissionRepository, IQiYeWeChatApiService qiYeWeChatApiService, MessageRepository messageRep,
             SystemMenuPermissionRepository systemMenuPermissionRepository, IQiYeWeChatApiService qiYeWeChatApiService, MessageRepository messageRep,
             DeviceTokenRepository deviceRep,
             DeviceTokenRepository deviceRep,
@@ -264,7 +275,6 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// <summary>
         /// 申请注册 数据Data
         /// 申请注册 数据Data
         /// </summary>
         /// </summary>
-        /// <param name="dto"></param>
         /// <returns></returns>
         /// <returns></returns>
         //[Authorize]
         //[Authorize]
         [HttpPost]
         [HttpPost]
@@ -873,7 +883,6 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// <summary>
         /// ClientTest
         /// ClientTest
         /// </summary>
         /// </summary>
-        /// <param name="depId">部门Id</param>
         /// <returns></returns>
         /// <returns></returns>
         [HttpPost("ClientTest")]
         [HttpPost("ClientTest")]
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]

+ 6 - 10
OASystem/OASystem.Api/Controllers/BusinessController.cs

@@ -321,7 +321,9 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// <summary>
         /// 根据团组Id币种Id及类型Id查询团组汇率
         /// 根据团组Id币种Id及类型Id查询团组汇率
         /// </summary>
         /// </summary>
-        /// <param name="dto"></param>
+        /// <param name="DiId"></param>
+        /// <param name="CId"></param>
+        /// <param name="CurrencyId"></param>
         /// <returns></returns>
         /// <returns></returns>
         [HttpGet, HttpPost]
         [HttpGet, HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
@@ -359,19 +361,13 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         /// <returns></returns>
         [HttpPost]
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> PostPageLinkCTable(PageLinkCTableDto dto)
+        public IActionResult PostPageLinkCTable(PageLinkCTableDto dto)
         {
         {
             try
             try
             {
             {
-                if (dto == null)
+                if (dto == null) return Ok(JsonView(false, "请求参数不能为空!"));
-                {
-                    return Ok(JsonView(false, "请求参数不能为空!"));
-                }
 
 
-                if (dto.PageId == 0)
+                if (dto.PageId == 0) return Ok(JsonView(false, "页面Id不能为0!"));
-                {
-                    return Ok(JsonView(false, "页面Id不能为0!"));
-                }
 
 
                 List<CTableCorrelationPageDatas> data = AppSettingsHelper.Get<CTableCorrelationPageDatas>("CTableCorrelationPageDatas");
                 List<CTableCorrelationPageDatas> data = AppSettingsHelper.Get<CTableCorrelationPageDatas>("CTableCorrelationPageDatas");
                 CTableCorrelationPageDatas correlationPageDatas = new CTableCorrelationPageDatas();
                 CTableCorrelationPageDatas correlationPageDatas = new CTableCorrelationPageDatas();

File diff suppressed because it is too large
+ 1133 - 1072
OASystem/OASystem.Api/Controllers/GroupsController.cs


+ 8 - 0
OASystem/OASystem.Api/OASystem.API.csproj

@@ -8,6 +8,14 @@
 <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
 <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
   </PropertyGroup>
   </PropertyGroup>
 
 
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <Compile Remove="Include\**" />
     <Compile Remove="Include\**" />
     <Compile Remove="Logs\**" />
     <Compile Remove="Logs\**" />

+ 4 - 4
OASystem/OASystem.Domain/Common/QiYeWeChatVerify/Cryptography.cs

@@ -29,8 +29,8 @@ namespace Tencent
         /// </summary>
         /// </summary>
         /// <param name="Input">密文</param>
         /// <param name="Input">密文</param>
         /// <param name="EncodingAESKey"></param>
         /// <param name="EncodingAESKey"></param>
+        /// <param name="corpid"></param>
         /// <returns></returns>
         /// <returns></returns>
-        /// 
         public static string AES_decrypt(String Input, string EncodingAESKey, ref string corpid)
         public static string AES_decrypt(String Input, string EncodingAESKey, ref string corpid)
         {
         {
             byte[] Key;
             byte[] Key;
@@ -107,7 +107,7 @@ namespace Tencent
             aes.Key = Key;
             aes.Key = Key;
             aes.IV = Iv;
             aes.IV = Iv;
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
 
 
             using (var ms = new MemoryStream())
             using (var ms = new MemoryStream())
             {
             {
@@ -136,7 +136,7 @@ namespace Tencent
             aes.Key = Key;
             aes.Key = Key;
             aes.IV = Iv;
             aes.IV = Iv;
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
 
 
             #region 自己进行PKCS7补位,用系统自己带的不行
             #region 自己进行PKCS7补位,用系统自己带的不行
             byte[] msg = new byte[Input.Length + 32 - Input.Length % 32];
             byte[] msg = new byte[Input.Length + 32 - Input.Length % 32];
@@ -203,7 +203,7 @@ namespace Tencent
             aes.Key = Key;
             aes.Key = Key;
             aes.IV = Iv;
             aes.IV = Iv;
             var decrypt = aes.CreateDecryptor(aes.Key, aes.IV);
             var decrypt = aes.CreateDecryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
             using (var ms = new MemoryStream())
             using (var ms = new MemoryStream())
             {
             {
                 using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Write))
                 using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Write))

+ 1 - 1
OASystem/OASystem.Domain/Common/QiYeWeChatVerify/Sample.cs

@@ -88,7 +88,7 @@ namespace MsgCryptTest
 			// For example:
 			// For example:
 			XmlDocument doc = new XmlDocument();
 			XmlDocument doc = new XmlDocument();
             doc.LoadXml(sMsg);
             doc.LoadXml(sMsg);
-            XmlNode root = doc.FirstChild;
+            XmlNode? root = doc.FirstChild;
             string content = root["Content"].InnerText;
             string content = root["Content"].InnerText;
 			System.Console.WriteLine(content);
 			System.Console.WriteLine(content);
 			// ...
 			// ...

+ 1 - 1
OASystem/OASystem.Domain/Common/QiYeWeChatVerify/WXBizMsgCrypt.cs

@@ -101,7 +101,7 @@ namespace Tencent
 				return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_IllegalAesKey;
 				return (int)WXBizMsgCryptErrorCode.WXBizMsgCrypt_IllegalAesKey;
 			}
 			}
             XmlDocument doc = new XmlDocument();
             XmlDocument doc = new XmlDocument();
-            XmlNode root;
+            XmlNode? root;
             string sEncryptMsg;
             string sEncryptMsg;
             try
             try
             {
             {

+ 1 - 1
OASystem/OASystem.Domain/Dtos/Financial/PostPayRequestByDateRangeDto.cs

@@ -20,7 +20,7 @@ namespace OASystem.Domain.Dtos.Financial
 
 
     public class PayRequestRateChangeDto: PostPayRequestByDateRangeDto
     public class PayRequestRateChangeDto: PostPayRequestByDateRangeDto
     {
     {
-        public int UserId { get; set; }
+        public new int UserId { get; set; }
         public int Id { get; set; }
         public int Id { get; set; }
 
 
         /// <summary>
         /// <summary>

+ 372 - 362
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDto.cs

@@ -719,15 +719,15 @@ namespace OASystem.Domain.Dtos.Groups
 
 
         public int CurrUserId { get; set; }
         public int CurrUserId { get; set; }
 
 
-        /// <summary>
+        ///// <summary>
-        /// 数据主表Id
+        ///// 数据主表Id
-        /// </summary>
+        ///// </summary>
         //public int ParentId { get; set; }
         //public int ParentId { get; set; }
 
 
-        /// <summary>
+        ///// <summary>
-        /// 复选框
+        ///// 复选框
-        /// 0 未选中 1 选中
+        ///// 0 未选中 1 选中
-        /// </summary>
+        ///// </summary>
         //public int IsSelect { get; set; }
         //public int IsSelect { get; set; }
 
 
         /// <summary>
         /// <summary>
@@ -827,368 +827,378 @@ namespace OASystem.Domain.Dtos.Groups
     #endregion
     #endregion
 
 
 
 
-    //#region Draft Mobile Request Dto
+    #region Draft Mobile Request Dto
+
+    public class PostEnterExitCostDraftMobileGroupDataDto : DtoBase
+    {
+
+        public string GroupName { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileCurrencyDataDto : DtoBase
+    {
+        public string CurrencyName { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOtherItemCurrencyDataDto : PortDtoBase
+    {
+        public int DraftId { get; set; }
+    }
+
+    public class EnterExitCostDraftMobileFeeTipsDto : PortDtoBase
+    {
+
+        /// <summary>
+        /// 提示数据类型
+        /// 1 实时汇率
+        /// 2 签证费用
+        /// 3 机票费用
+        /// </summary>
+        public int TipsType { get; set; }
+    }
+
+    public class EnterExitCostDraftMobileParentInfoDto
+    {
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+    }
+
+
+    #region op
+
+    public class PostEnterExitCostDraftMobileUpdateDtoBase : PortDtoBase
+    {
+
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+    }
+
+    public class EnterExitCostDraftMobileSetViewPermissiionDto
+    {
+        public int DraftId { get; set; }
+
+        public int[] UserIds { get; set; }
+
+        public int CurrUserId { get; set; }
+    }
 
 
-    //public class PostEnterExitCostDraftMobileGroupDataDto : DtoBase
+    public class PostEnterExitCostDraftMobileFeeRateOpDto : PostEnterExitCostDraftMobileUpdateDtoBase
-    //{
+    {
+        /// <summary>
+        ///  多个币种存储
+        ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
+        /// </summary>
+        public CurrencyInfo[] Currencys { get; set; }
+    }
 
 
-    //    public string GroupName { get; set; }
+    public class PostEnterExitCostDraftMobileFeeOpCheckboxDto : PostEnterExitCostDraftMobileUpdateDtoBase
-    //}
+    {
 
 
-    //public class PostEnterExitCostDraftMobileCurrencyDataDto : DtoBase
+        /// <summary>
-    //{
+        ///  境内费用(其他费用)选择框
-    //    public string CurrencyName { get; set; }
+        /// </summary>
-    //}
+        public int ChoiceOne { get; set; }
 
 
-    //public class PostEnterExitCostDraftMobileOtherItemCurrencyDataDto : PortDtoBase
+        /// <summary>
-    //{
+        ///  国际旅费合计选择框
-    //    public int DraftId { get; set; }
+        /// </summary>
-    //}
+        public int ChoiceTwo { get; set; }
 
 
-    //public class EnterExitCostDraftMobileFeeTipsDto : PortDtoBase
+        /// <summary>
-    //{
+        ///  经济舱小计选择框
+        /// </summary>
+        public int SumJJC { get; set; }
 
 
-    //    /// <summary>
+        /// <summary>
-    //    /// 提示数据类型
+        ///  公务舱小计选择框
-    //    /// 1 实时汇率
+        /// </summary>
-    //    /// 2 签证费用
+        public int SumGWC { get; set; }
-    //    /// 3 机票费用
-    //    /// </summary>
-    //    public int TipsType { get; set; }
-    //}
-
-    //public class EnterExitCostDraftMobileParentInfoDto
-    //{
-    //    public int DraftId { get; set; }
-    //}
-
-
-    //#region op
-
-    //public class PostEnterExitCostMobileUpdateDtoBase : PortDtoBase
-    //{
-
-    //    public int Id { get; set; }
-
-    //    public int DiId { get; set; }
-
-    //    public int CurrUserId { get; set; }
-
-    //}
-
-    //public class PostEnterExitCostMobileFeeRateOpDto : PostEnterExitCostMobileUpdateDtoBase
-    //{
-    //    /// <summary>
-    //    ///  多个币种存储
-    //    ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
-    //    /// </summary>
-    //    public CurrencyInfo[] Currencys { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileFeeOpCheckboxDto : PostEnterExitCostMobileUpdateDtoBase
-    //{
-
-    //    /// <summary>
-    //    ///  境内费用(其他费用)选择框
-    //    /// </summary>
-    //    public int ChoiceOne { get; set; }
-
-    //    /// <summary>
-    //    ///  国际旅费合计选择框
-    //    /// </summary>
-    //    public int ChoiceTwo { get; set; }
-
-    //    /// <summary>
-    //    ///  经济舱小计选择框
-    //    /// </summary>
-    //    public int SumJJC { get; set; }
-
-    //    /// <summary>
-    //    ///  公务舱小计选择框
-    //    /// </summary>
-    //    public int SumGWC { get; set; }
-
-    //    /// <summary>
-    //    ///  公务舱小计选择框
-    //    /// </summary>
-    //    public int SumTDC { get; set; }
-
-    //    /// <summary>
-    //    ///  住宿费合计选择框
-    //    /// </summary>
-    //    public int ChoiceThree { get; set; }
-
-    //    /// <summary>
-    //    ///  伙食费合计选择框
-    //    /// </summary>
-    //    public int ChoiceFour { get; set; }
-
-    //    /// <summary>
-    //    ///  公杂费合计选择框
-    //    /// </summary>
-    //    public int ChoiceFive { get; set; }
-
-    //    /// <summary>
-    //    ///  培训费用选择框
-    //    /// </summary>
-    //    public int ChoiceSix { get; set; }
-
-    //    /// <summary>
-    //    ///  其他费用选择框
-    //    /// </summary>
-    //    public int OtherExpenses_Checked { get; set; }
-    //}
-
-
-    //public class EnterExitCostMobileOpSingleCheckboxDto : PostEnterExitCostMobileUpdateDtoBase
-    //{
-    //    /// <summary>
-    //    /// 子项复选框类型
-    //    /// 3:住宿费; 4:伙食费; 5:公杂费; 6:培训费;7:其他;
-    //    /// </summary>
-    //    public int ItemType { get; set; }
-
-    //    /// <summary>
-    //    /// 是否选中
-    //    /// 0 未选择 1 选中
-    //    /// </summary>
-    //    public int IsSelected { get; set; }
-    //}
-    //public class PostEnterExitCostMobileOpStep1Dto : PostEnterExitCostMobileUpdateDtoBase
-    //{
-    //    /// <summary>
-    //    /// 复选框选中
-    //    ///  0 未选中 1 选中
-    //    /// </summary>
-    //    public int ChoiceOne { get; set; }
-
-    //    /// <summary>
-    //    /// 签证费
-    //    /// </summary>
-    //    public decimal Visa { get; set; }
-
-    //    /// <summary>
-    //    /// 签证费描述
-    //    /// </summary>
-    //    public string? VisaRemark { get; set; }
-
-    //    /// <summary>
-    //    /// 疫苗费
-    //    /// </summary>
-    //    public decimal YiMiao { get; set; }
-
-    //    /// <summary>
-    //    /// 核酸检测费用
-    //    /// </summary>
-    //    public decimal HeSuan { get; set; }
-
-    //    /// <summary>
-    //    /// 服务费用
-    //    /// </summary>
-    //    public decimal Service { get; set; }
-
-    //    /// <summary>
-    //    /// 参展门票
-    //    /// </summary>
-    //    public decimal Ticket { get; set; }
-
-    //    /// <summary>
-    //    /// 保险费
-    //    /// </summary>
-    //    public decimal Safe { get; set; }
-
-    //    public string FirstItemRemark { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileOpStep2Dto : PostEnterExitCostMobileUpdateDtoBase
-    //{
-    //    /// <summary>
-    //    /// 复选框选中(经济舱)
-    //    /// 0 未选中 1 选中
-    //    /// </summary>
-
-    //    public int ChoiceTwoJJ { get; set; }
-
-    //    /// <summary>
-    //    /// 国际旅费合计(经济舱)
-    //    /// </summary>
-    //    public decimal OutsideJJPay { get; set; }
-
-    //    /// <summary>
-    //    /// 复选框选中(公务舱)
-    //    /// 0 未选中 1 选中
-    //    /// </summary>
-
-    //    public int ChoiceTwoGW { get; set; }
-    //    /// <summary>
-    //    ///  国际旅费合计(公务舱)
-    //    /// </summary>
-    //    public decimal OutsideGWPay { get; set; }
-
-    //    /// <summary>
-    //    /// 复选框选中(头等舱)
-    //    /// 0 未选中 1 选中
-    //    /// </summary>
-
-    //    public int ChoiceTwoTD { get; set; }
-
-    //    /// <summary>
-    //    /// 国际旅费合计(头等舱)
-    //    /// </summary>
-    //    public decimal OutsideTDPay { get; set; }
-
-    //    /// <summary>
-    //    ///  国际机票(经济舱)
-    //    /// </summary>
-    //    public decimal AirJJ { get; set; }
-
-    //    /// <summary>
-    //    ///  国际机票(公务舱)
-    //    /// </summary>
-    //    public decimal AirGW { get; set; }
-
-    //    /// <summary>
-    //    ///  国际机票(头等舱)
-    //    /// </summary>
-    //    public decimal AirTD { get; set; }
-
-    //    /// <summary>
-    //    ///  国外城市间交通费
-    //    /// </summary>
-    //    public decimal CityTranffic { get; set; }
-    //    public string TwoItemRemark { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileOpStep3To6Dto
-    //{
-    //    public int PortType { get; set; }
-    //    public int DiId { get; set; }
-
-    //    public int CurrUserId { get; set; }
-
-    //    /// <summary>
-    //    /// 费用类型
-    //    /// 1 住宿费;2 伙食费;3 公杂费;4 培训费
-    //    /// </summary>
-    //    public int FeeType { get; set; }
-
-    //    /// <summary>
-    //    /// 详情
-    //    /// </summary>
-    //    public DayAndCostMobileInfoDto[] Infos { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileOpSingleStep3To6Dto : DayAndCostMobileInfoDto
-    //{
-    //    public int PortType { get; set; }
-    //    public int DiId { get; set; }
-
-    //    public int CurrUserId { get; set; }
-
-    //    /// <summary>
-    //    /// 数据主表Id
-    //    /// </summary>
-    //    //public int ParentId { get; set; }
-
-    //    /// <summary>
-    //    /// 复选框
-    //    /// 0 未选中 1 选中
-    //    /// </summary>
-    //    //public int IsSelect { get; set; }
-
-    //    /// <summary>
-    //    /// 费用类型
-    //    /// 3 住宿费;4 伙食费;5 公杂费;6 培训费
-    //    /// </summary>
-    //    public int FeeType { get; set; }
-
-    //}
-
-    //public class DayAndCostMobileInfoDto
-    //{
-    //    /// <summary>
-    //    /// 数据子表Id
-    //    /// </summary>
-    //    public int SubId { get; set; }
-
-    //    /// <summary>
-    //    /// 天数
-    //    /// </summary>
-    //    public int Days { get; set; }
-
-    //    /// <summary>
-    //    /// 地名Id
-    //    /// </summary>
-    //    public int NationalTravelFeeId { get; set; }
-
-    //    /// <summary>
-    //    /// 费用标准
-    //    /// </summary>
-    //    public decimal Cost { get; set; }
-
-    //    /// <summary>
-    //    /// 币种
-    //    /// Sys_SetData STid = 66
-    //    /// </summary>
-    //    public int Currency { get; set; }
-
-    //    /// <summary>
-    //    /// 小计
-    //    /// </summary>
-    //    public decimal SubTotal { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileOpStep7Dto
-    //{
-    //    public int PortType { get; set; }
-    //    public int DiId { get; set; }
-
-    //    public int CurrUserId { get; set; }
-
-    //    /// <summary>
-    //    /// 详情
-    //    /// </summary>
-    //    public DayOtherPriceMobileInfoDto[] Infos { get; set; }
-    //}
-
-    //public class PostEnterExitCostMobileOpSingleStep7Dto : DayOtherPriceMobileInfoDto
-    //{
-    //    public int PortType { get; set; }
-    //    //public int DiId { get; set; }
-
-    //    public int CurrUserId { get; set; }
-
-    //    ///// <summary>
-    //    ///// 数据主表Id
-    //    ///// </summary>
-    //    //public int ParentId { get; set; }
-
-    //    ///// <summary>
-    //    ///// 复选框
-    //    ///// 0 未选中 1 选中
-    //    ///// </summary>
-    //    //public int IsSelect { get; set; }
-
-    //}
-
-    //public class DayOtherPriceMobileInfoDto
-    //{
-    //    public int SubId { get; set; }
-    //    public int Diid { get; set; }
-
-    //    public int SetDataId { get; set; }
 
 
-    //    public int Index { get; set; }
+        /// <summary>
-
+        ///  公务舱小计选择框
-    //    public decimal Cost { get; set; }
+        /// </summary>
+        public int SumTDC { get; set; }
 
 
-    //    public int Currency { get; set; }
+        /// <summary>
-
+        ///  住宿费合计选择框
-    //    public decimal SubTotal { get; set; }
+        /// </summary>
-
+        public int ChoiceThree { get; set; }
-    //    public string Remark { get; set; }
+
-    //}
+        /// <summary>
-    //#endregion
+        ///  伙食费合计选择框
+        /// </summary>
+        public int ChoiceFour { get; set; }
+
+        /// <summary>
+        ///  公杂费合计选择框
+        /// </summary>
+        public int ChoiceFive { get; set; }
+
+        /// <summary>
+        ///  培训费用选择框
+        /// </summary>
+        public int ChoiceSix { get; set; }
+
+        /// <summary>
+        ///  其他费用选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+    }
+
+
+    public class EnterExitCostDarftMobileOpSingleCheckboxDto : PostEnterExitCostDraftMobileUpdateDtoBase
+    {
+        /// <summary>
+        /// 子项复选框类型
+        /// 3:住宿费; 4:伙食费; 5:公杂费; 6:培训费;7:其他;
+        /// </summary>
+        public int ItemType { get; set; }
+
+        /// <summary>
+        /// 是否选中
+        /// 0 未选择 1 选中
+        /// </summary>
+        public int IsSelected { get; set; }
+    }
+    public class PostEnterExitCostDraftMobileOpStep1Dto : PostEnterExitCostDraftMobileUpdateDtoBase
+    {
+        /// <summary>
+        /// 复选框选中
+        ///  0 未选中 1 选中
+        /// </summary>
+        public int ChoiceOne { get; set; }
+
+        /// <summary>
+        /// 签证费
+        /// </summary>
+        public decimal Visa { get; set; }
+
+        /// <summary>
+        /// 签证费描述
+        /// </summary>
+        public string? VisaRemark { get; set; }
+
+        /// <summary>
+        /// 疫苗费
+        /// </summary>
+        public decimal YiMiao { get; set; }
+
+        /// <summary>
+        /// 核酸检测费用
+        /// </summary>
+        public decimal HeSuan { get; set; }
+
+        /// <summary>
+        /// 服务费用
+        /// </summary>
+        public decimal Service { get; set; }
+
+        /// <summary>
+        /// 参展门票
+        /// </summary>
+        public decimal Ticket { get; set; }
+
+        /// <summary>
+        /// 保险费
+        /// </summary>
+        public decimal Safe { get; set; }
+
+        public string FirstItemRemark { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOpStep2Dto : PostEnterExitCostDraftMobileUpdateDtoBase
+    {
+        /// <summary>
+        /// 复选框选中(经济舱)
+        /// 0 未选中 1 选中
+        /// </summary>
 
 
-    //#endregion
+        public int ChoiceTwoJJ { get; set; }
+
+        /// <summary>
+        /// 国际旅费合计(经济舱)
+        /// </summary>
+        public decimal OutsideJJPay { get; set; }
+
+        /// <summary>
+        /// 复选框选中(公务舱)
+        /// 0 未选中 1 选中
+        /// </summary>
+
+        public int ChoiceTwoGW { get; set; }
+        /// <summary>
+        ///  国际旅费合计(公务舱)
+        /// </summary>
+        public decimal OutsideGWPay { get; set; }
+
+        /// <summary>
+        /// 复选框选中(头等舱)
+        /// 0 未选中 1 选中
+        /// </summary>
+
+        public int ChoiceTwoTD { get; set; }
+
+        /// <summary>
+        /// 国际旅费合计(头等舱)
+        /// </summary>
+        public decimal OutsideTDPay { get; set; }
+
+        /// <summary>
+        ///  国际机票(经济舱)
+        /// </summary>
+        public decimal AirJJ { get; set; }
+
+        /// <summary>
+        ///  国际机票(公务舱)
+        /// </summary>
+        public decimal AirGW { get; set; }
+
+        /// <summary>
+        ///  国际机票(头等舱)
+        /// </summary>
+        public decimal AirTD { get; set; }
+
+        /// <summary>
+        ///  国外城市间交通费
+        /// </summary>
+        public decimal CityTranffic { get; set; }
+        public string TwoItemRemark { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOpStep3To6Dto
+    {
+        public int PortType { get; set; }
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+        /// <summary>
+        /// 费用类型
+        /// 1 住宿费;2 伙食费;3 公杂费;4 培训费
+        /// </summary>
+        public int FeeType { get; set; }
+
+        /// <summary>
+        /// 详情
+        /// </summary>
+        public DayAndCostMobileInfoDto[] Infos { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOpSingleStep3To6Dto : DayAndCostDraftMobileInfoDto
+    {
+        public int PortType { get; set; }
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+        ///// <summary>
+        ///// 数据主表Id
+        ///// </summary>
+        //public int ParentId { get; set; }
+       
+        ///// <summary>
+        ///// 复选框
+        ///// 0 未选中 1 选中
+        ///// </summary>
+        //public int IsSelect { get; set; }
+
+        /// <summary>
+        /// 费用类型
+        /// 3 住宿费;4 伙食费;5 公杂费;6 培训费
+        /// </summary>
+        public int FeeType { get; set; }
+
+    }
+
+    public class DayAndCostDraftMobileInfoDto
+    {
+        /// <summary>
+        /// 数据子表Id
+        /// </summary>
+        public int SubId { get; set; }
+
+        /// <summary>
+        /// 天数
+        /// </summary>
+        public int Days { get; set; }
+
+        /// <summary>
+        /// 地名Id
+        /// </summary>
+        public int NationalTravelFeeId { get; set; }
+
+        /// <summary>
+        /// 费用标准
+        /// </summary>
+        public decimal Cost { get; set; }
+
+        /// <summary>
+        /// 币种
+        /// Sys_SetData STid = 66
+        /// </summary>
+        public int Currency { get; set; }
+
+        /// <summary>
+        /// 小计
+        /// </summary>
+        public decimal SubTotal { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOpStep7Dto
+    {
+        public int PortType { get; set; }
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+        /// <summary>
+        /// 详情
+        /// </summary>
+        public DayOtherPriceMobileInfoDto[] Infos { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileOpSingleStep7Dto : DayOtherPriceDraftMobileInfoDto
+    {
+        public int PortType { get; set; }
+        //public int DiId { get; set; }
+
+        public int CurrUserId { get; set; }
+
+        ///// <summary>
+        ///// 数据主表Id
+        ///// </summary>
+        //public int ParentId { get; set; }
+
+        ///// <summary>
+        ///// 复选框
+        ///// 0 未选中 1 选中
+        ///// </summary>
+        //public int IsSelect { get; set; }
+
+    }
+
+    public class DayOtherPriceDraftMobileInfoDto
+    {
+        public int SubId { get; set; }
+        public int DarftId { get; set; }
+
+        public int SetDataId { get; set; }
+
+        public int Index { get; set; }
+
+        public decimal Cost { get; set; }
+
+        public int Currency { get; set; }
+
+        public decimal SubTotal { get; set; }
+
+        public string Remark { get; set; }
+    }
+    #endregion
+
+
+    #endregion
 }
 }

+ 4 - 5
OASystem/OASystem.Domain/Dtos/Groups/TourClientListDto.cs

@@ -48,9 +48,8 @@ namespace OASystem.Domain.Dtos.Groups
     {
     {
         /// <summary>
         /// <summary>
         /// 数据Id
         /// 数据Id
-        /// Id==0 Add 
+        /// Id == 0 Add 
-        /// Id>0 Update 
+        /// Id >= 1 Update 
-        /// Id<0 无效
         /// </summary>
         /// </summary>
         public int Id { get; set; }
         public int Id { get; set; }
 
 
@@ -345,11 +344,11 @@ namespace OASystem.Domain.Dtos.Groups
         /// <summary>
         /// <summary>
         /// 生日
         /// 生日
         /// </summary>
         /// </summary>
-        public string Birthday { get; set; } = null;
+        public string Birthday { get; set; }
         /// <summary>
         /// <summary>
         /// 身份证
         /// 身份证
         /// </summary>
         /// </summary>
-        public string IDcard { get; set; } = null;
+        public string IDcard { get; set; } 
         /// <summary>
         /// <summary>
         /// 单位
         /// 单位
         /// </summary>
         /// </summary>

+ 4 - 2
OASystem/OASystem.Domain/Dtos/Groups/VisaCommissionDto.cs

@@ -44,10 +44,12 @@ namespace OASystem.Domain.Dtos.Groups
     {
     {
         /// <summary>
         /// <summary>
         /// ID
         /// ID
-        /// ID<1 添加
+        /// ID<=0 添加
-        /// ID>0 修改
+        /// ID>=1 修改
         /// </summary>
         /// </summary>
         public int Id { get; set; }
         public int Id { get; set; }
+
+        /// <summary>
         /// 用户ID
         /// 用户ID
         /// </summary>
         /// </summary>
         public int CurrUserId { get; set; }
         public int CurrUserId { get; set; }

+ 3 - 3
OASystem/OASystem.Domain/Dtos/PersonnelModule/TreeNode.cs

@@ -105,9 +105,9 @@ namespace OASystem.Domain.Dtos.PersonnelModule
         /// </summary>
         /// </summary>
         public int HigherUpUserId { get; set; }
         public int HigherUpUserId { get; set; }
 
 
-        /// <summary>
+        ///// <summary>
-        /// 详细信息
+        ///// 详细信息
-        /// </summary>
+        ///// </summary>
         //public string Details { get; set; }
         //public string Details { get; set; }
 
 
     }
     }

+ 4 - 4
OASystem/OASystem.Domain/Dtos/Resource/TicketBlackCodeDto.cs

@@ -43,12 +43,12 @@ namespace OASystem.Domain.Dtos.Resource
         /// </summary>
         /// </summary>
         public string BlackCode { get; set; }
         public string BlackCode { get; set; }
         /// <summary>
         /// <summary>
-        ///  报价
+        /// 报价
-        /// <summary>
+        /// </summary>
         public string Price { get; set; }
         public string Price { get; set; }
         /// <summary>
         /// <summary>
-        ///  最新报价
+        /// 最新报价
-        /// <summary>
+        /// </summary>
         public string NowPrice { get; set; }
         public string NowPrice { get; set; }
         /// <summary>
         /// <summary>
         /// 公务舱单价
         /// 公务舱单价

+ 3 - 3
OASystem/OASystem.Domain/Dtos/System/UserDto.cs

@@ -65,9 +65,9 @@ namespace OASystem.Domain.Dtos.System
         /// 试用期
         /// 试用期
         /// </summary>
         /// </summary>
         public string UsePeriod { get; set; }
         public string UsePeriod { get; set; }
-        /// <summary>
+        ///// <summary>
-        /// 人事审核 0未审核(初始状态) 1 已通过(可用)2已拒绝
+        ///// 人事审核 0未审核(初始状态) 1 已通过(可用)2已拒绝
-        /// </summary>
+        ///// </summary>
         //public int HrAudit { get; set; }
         //public int HrAudit { get; set; }
     }
     }
 
 

+ 1 - 1
OASystem/OASystem.Domain/Dtos/Tencent/OCRVerifyMethod.cs

@@ -31,7 +31,7 @@ namespace OASystem.Domain.Dtos.Tencent
         /// TencentOCR图片大小处理
         /// TencentOCR图片大小处理
         /// 不能大于7MB
         /// 不能大于7MB
         /// </summary>
         /// </summary>
-        /// <param name="type"></param>
+        /// <param name="picBase64"></param>
         /// <returns></returns>
         /// <returns></returns>
         public static bool ImageSize(string picBase64)
         public static bool ImageSize(string picBase64)
         {
         {

+ 3 - 3
OASystem/OASystem.Domain/Entities/Groups/Grp_CostTypeHotelNumber.cs

@@ -45,9 +45,9 @@ namespace OASystem.Domain.Entities.Groups
 
 
     }
     }
 
 
-    /// <summary>
+    ///// <summary>
-    /// 分段类型枚举
+    ///// 分段类型枚举
-    /// </summary>
+    ///// </summary>
     //public enum GrouopCostType
     //public enum GrouopCostType
     //{
     //{
     //    Default, A, B
     //    Default, A, B

+ 3 - 3
OASystem/OASystem.Domain/Entities/Groups/Grp_ScheduleInfo.cs

@@ -27,9 +27,9 @@ namespace OASystem.Domain.Entities.Groups
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public GrpSchedulePrimaryStepEnum PrimaryStep { get; set; }
         public GrpSchedulePrimaryStepEnum PrimaryStep { get; set; }
 
 
-        /// <summary>
+        ///// <summary>
-        /// 当前子流程
+        ///// 当前子流程
-        /// </summary>
+        ///// </summary>
         //[SugarColumn(IsNullable = true, ColumnDataType = "int")]
         //[SugarColumn(IsNullable = true, ColumnDataType = "int")]
         //public int DetailStep { get; set; }
         //public int DetailStep { get; set; }
 
 

+ 4 - 4
OASystem/OASystem.Domain/Entities/Resource/Air_TicketBlackCode.cs

@@ -33,13 +33,13 @@ namespace OASystem.Domain.Entities.Resource
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(800)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(800)")]
         public string ReturnCode { get; set; }
         public string ReturnCode { get; set; }
         /// <summary>
         /// <summary>
-        ///  报价
+        /// 报价
-        /// <summary>
+        /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string Price { get; set; }
         public string Price { get; set; }
         /// <summary>
         /// <summary>
-        ///  最新报价
+        /// 最新报价
-        /// <summary>
+        /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string NowPrice { get; set; }
         public string NowPrice { get; set; }
         /// <summary>
         /// <summary>

+ 6 - 2
OASystem/OASystem.Domain/Enums/MonthEnum.cs

@@ -79,8 +79,12 @@ namespace OASystem.Domain.Enums
         public static string GetDescription(this Enum val)
         public static string GetDescription(this Enum val)
         {
         {
             var field = val.GetType().GetField(val.ToString());
             var field = val.GetType().GetField(val.ToString());
-            var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
+            if (field != null)
-            return customAttribute == null ? val.ToString() : ((DescriptionAttribute)customAttribute).Description;
+            {
+                var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
+                return customAttribute == null ? val.ToString() : ((DescriptionAttribute)customAttribute).Description;
+            }
+            return string.Empty;
         }
         }
     }
     }
 }
 }

+ 8 - 0
OASystem/OASystem.Domain/OASystem.Domain.csproj

@@ -7,6 +7,14 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
   </PropertyGroup>
   </PropertyGroup>
 
 
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <None Include="..\.editorconfig" Link=".editorconfig" />
     <None Include="..\.editorconfig" Link=".editorconfig" />
   </ItemGroup>
   </ItemGroup>

+ 19 - 15
OASystem/OASystem.Domain/ViewModels/Financial/Fin_DailyFeePaymentView.cs

@@ -583,9 +583,9 @@ namespace OASystem.Domain.ViewModels.Financial
 
 
         //public int IsDel { get; set; }
         //public int IsDel { get; set; }
 
 
-        /// <summary>
+        ///// <summary>
-        /// 示例:费用名称:[2024.07.11招商信用卡还款]   单价:[20000.00]   数量:[1.00]   小计:[20000.00]   备注:[]
+        ///// 示例:费用名称:[2024.07.11招商信用卡还款]   单价:[20000.00]   数量:[1.00]   小计:[20000.00]   备注:[]
-        /// </summary>
+        ///// </summary>
         //public string ViewStr
         //public string ViewStr
         //{
         //{
         //    get
         //    get
@@ -771,6 +771,7 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <param name="year"></param>
         /// <param name="year"></param>
         /// <param name="month"></param>
         /// <param name="month"></param>
         /// <param name="quantity"></param>
         /// <param name="quantity"></param>
+        /// <param name="aitTicketInfos"></param>
         /// <param name="linkGroupIds"></param>
         /// <param name="linkGroupIds"></param>
         public AirTicketReturnView(int year, int month, int quantity, List<AitTicketInfo> aitTicketInfos, List<int> linkGroupIds)
         public AirTicketReturnView(int year, int month, int quantity, List<AitTicketInfo> aitTicketInfos, List<int> linkGroupIds)
         {
         {
@@ -806,6 +807,7 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <param name="year"></param>
         /// <param name="year"></param>
         /// <param name="month"></param>
         /// <param name="month"></param>
         /// <param name="quantity"></param>
         /// <param name="quantity"></param>
+        /// <param name="cityData"></param>
         /// <param name="linkGroupIds"></param>
         /// <param name="linkGroupIds"></param>
         public AirTicketCityReturnView(int year, int month, int quantity, List<AirTicketCityInfo> cityData, List<int> linkGroupIds)
         public AirTicketCityReturnView(int year, int month, int quantity, List<AirTicketCityInfo> cityData, List<int> linkGroupIds)
             : base(year, month, quantity, linkGroupIds)
             : base(year, month, quantity, linkGroupIds)
@@ -1261,12 +1263,13 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// <summary>
         /// 构造函数
         /// 构造函数
         /// </summary>
         /// </summary>
-        /// <param name="year"></param>
+        /// <param name="feeId"></param>
-        /// <param name="month"></param>
+        /// <param name="feeName"></param>
-        /// <param name="thisAmount"></param>
+        /// <param name="currPeriodFee"></param>
-        /// <param name="lastAmount"></param>
+        /// <param name="samePeriodFee"></param>
-        /// <param name="thisIds"></param>
+        /// <param name="currPeriodGroupTotal"></param>
-        /// <param name="lastIds"></param>
+        /// <param name="samePeriodGroupTotal"></param>
+        /// <param name="subFeeData"></param>
         public StatisticsOPYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
         public StatisticsOPYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
            int currPeriodGroupTotal ,int samePeriodGroupTotal, StatisticsOPSubFeeYOY[] subFeeData)
            int currPeriodGroupTotal ,int samePeriodGroupTotal, StatisticsOPSubFeeYOY[] subFeeData)
         {
         {
@@ -1295,12 +1298,13 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// <summary>
         /// 构造函数
         /// 构造函数
         /// </summary>
         /// </summary>
-        /// <param name="year"></param>
+        /// <param name="feeId"></param>
-        /// <param name="month"></param>
+        /// <param name="feeName"></param>
-        /// <param name="thisAmount"></param>
+        /// <param name="currPeriodFee"></param>
-        /// <param name="lastAmount"></param>
+        /// <param name="samePeriodFee"></param>
-        /// <param name="thisIds"></param>
+        /// <param name="currPeriodGroupTotal"></param>
-        /// <param name="lastIds"></param>
+        /// <param name="samePeriodGroupTotal"></param>
+        /// <param name="cityData"></param>
         public StatisticsOPSubFeeYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
         public StatisticsOPSubFeeYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
            int currPeriodGroupTotal, int samePeriodGroupTotal, StatisticsOPCityYOY[] cityData)
            int currPeriodGroupTotal, int samePeriodGroupTotal, StatisticsOPCityYOY[] cityData)
         {
         {

+ 281 - 1
OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostDraftView.cs

@@ -1,4 +1,5 @@
 using OASystem.Domain.Dtos;
 using OASystem.Domain.Dtos;
+using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.Entities.Groups;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
@@ -284,7 +285,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 出入境国家费用标准 - 城市
         /// 出入境国家费用标准 - 城市
         /// </summary>
         /// </summary>
-        public string? City { get; set; }
+        public string City { get; set; }
 
 
         ///// <summary>
         ///// <summary>
         ///// 地名
         ///// 地名
@@ -436,4 +437,283 @@ namespace OASystem.Domain.ViewModels.Groups
     /// </summary>
     /// </summary>
     public class EnterExitCostDraftSubItemDelDto : DelBaseDto
     public class EnterExitCostDraftSubItemDelDto : DelBaseDto
     { }
     { }
+
+
+    #region 移动端 草稿
+
+    #region Info Parent View
+
+    public class DayAndCostDraftMobileInfoView
+    {
+        public int SubId { get; set; }
+
+        public int ParentId { get; set; }
+
+        public int Type { get; set; }
+
+        public int Days { get; set; }
+
+        public int NationalTravelFeeId { get; set; }
+
+        public string Arae { get; set; }
+
+        public decimal Cost { get; set; }
+
+        public int Currency { get; set; }
+
+        public string CurrencyName { get; set; }
+
+        public decimal SubTotal { get; set; }
+    }
+
+    public class DayOtherPriceDraftMobileInfoView
+    {
+        public int SubId { get; set; }
+
+        public int ParentId { get; set; }
+
+        public int Index { get; set; }
+
+        public int SetDataId { get; set; }
+
+        public string SetDataName { get; set; }
+
+        public decimal Cost { get; set; }
+
+        public int Currency { get; set; }
+
+        public string CurrencyName { get; set; }
+
+        public decimal SubTotal { get; set; }
+        public string Remark { get; set; }
+    }
+
+
+    public class EnterExitCostDraftMobileParentInfoView
+    {
+        public int Id { get; set; }
+
+
+        #region 汇率币种
+
+        /// <summary>
+        ///  多个币种存储
+        ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
+        /// </summary>
+        public List<CurrencyInfo> Currencys { get; set; } = new List<CurrencyInfo> { };
+
+        #endregion
+
+        #region 1:境内费用(其他费用)
+        /// <summary>
+        ///  境内费用(其他费用)选择框
+        /// </summary>
+        public int ChoiceOne { get; set; }
+
+        /// <summary>
+        /// 境内费用(其他费用) 合计
+        /// </summary>
+        public decimal ChoiceOneTotalCost { get; set; }
+
+        #endregion
+
+        #region 2:国际旅费
+        /// <summary>
+        ///  国际旅费合计选择框 (经济舱)
+        /// </summary>
+        public int ChoiceTwoJJ { get; set; }
+
+        /// <summary>
+        /// 国际旅费合计(经济舱)
+        /// </summary>
+        public decimal OutsideJJPay { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计选择框(公务舱)
+        /// </summary>
+        public int ChoiceTwoGW { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计(公务舱)
+        /// </summary>
+        public decimal OutsideGWPay { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计选择框(头等舱)
+        /// </summary>
+        public int ChoiceTwoTD { get; set; }
+
+        /// <summary>
+        /// 国际旅费合计(头等舱)
+        /// </summary>
+        public decimal OutsideTDPay { get; set; }
+
+        #endregion
+
+        #region 3:住宿费
+        /// <summary>
+        /// 住宿费合计 选择框
+        /// </summary>
+        public int ChoiceThree { get; set; }
+
+        /// <summary>
+        /// 住宿费合计
+        /// </summary>
+        public decimal ChoiceThreeTotalCost { get; set; }
+
+
+        #endregion
+
+        #region 4:伙食费
+        /// <summary>
+        ///  伙食费合计 选择框
+        /// </summary>
+        public int ChoiceFour { get; set; }
+
+        /// <summary>
+        /// 伙食费合计
+        /// </summary>
+        public decimal ChoiceFourTotalCost { get; set; }
+
+
+        #endregion
+
+        #region 5:公杂费
+        /// <summary>
+        ///  公杂费合计 选择框
+        /// </summary>
+        public int ChoiceFive { get; set; }
+
+        /// <summary>
+        /// 公杂费合计
+        /// </summary>
+        public decimal ChoiceFiveTotalCost { get; set; }
+
+
+        #endregion
+
+        #region 6:培训费
+
+        /// <summary>
+        ///  培训费用选择框
+        /// </summary>
+        public int ChoiceSix { get; set; }
+
+        /// <summary>
+        /// 公杂费合计
+        /// </summary>
+        public decimal ChoiceSixTotalCost { get; set; }
+
+        #endregion
+
+        #region 7:其他
+        /// <summary>
+        /// 其他款项 选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+
+        /// <summary>
+        /// 其他款项 选择框
+        /// </summary>
+        public decimal OtherExpensesTotalCost { get; set; }
+
+        #endregion
+
+        /// <summary>
+        /// 经济舱费用总计
+        /// </summary>
+        public decimal TouristClassTotalCost
+        {
+            get
+            {
+                return OutsideJJPay <= 0 ? 0.00M : OutsideJJPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
+            }
+        }
+
+        /// <summary>
+        /// 公务舱费用总计
+        /// </summary>
+        public decimal BusinessClassTotalCost
+        {
+            get
+            {
+                return OutsideGWPay <= 0 ? 0.00M : OutsideGWPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
+            }
+        }
+
+        /// <summary>
+        /// 头等舱费用总计
+        /// </summary>
+        public decimal FirstClassTotalCost
+        {
+            get
+            {
+                return OutsideTDPay <= 0 ? 0.00M : OutsideTDPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
+            }
+        }
+    }
+
+    /// <summary>
+    /// 出入境费用详情 Dto
+    /// </summary>
+    public class EnterExitCostDraftInfobyDiIdDto : PortDtoBase
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int DraftId { get; set; }
+
+        public int CurrUserId { get; set; }
+    }
+
+    public class PostEnterExitCostDraftMobileSubInfoDto : EnterExitCostDraftInfobyDiIdDto
+    {
+        /// <summary>
+        /// 费用项Type
+        /// 1:境内费用 2:国际旅费 3:住宿费 4:伙食费 5:公杂费 6:培训费 7:其他
+        /// </summary>
+        public int SubType { get; set; }
+    }
+
+    public class ChoiceDraftMobileSubInfo3To6View
+    {
+        /// <summary>
+        /// 主表Id
+        /// </summary>
+        public int ParentId { get; set; }
+        /// <summary>
+        /// 住宿费合计 选择框
+        /// </summary>
+        public int Choice { get; set; }
+
+        /// <summary>
+        /// 住宿费合计
+        /// </summary>
+        public decimal TotalCost { get; set; }
+
+        public DayAndCostDraftMobileInfoView[] Details { get; set; }
+    }
+    public class ChoiceSevenDraftMobileSubInfoView
+    {
+        /// <summary>
+        /// 主表Id
+        /// </summary>
+        public int ParentId { get; set; }
+
+        /// <summary>
+        /// 其他款项 选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+
+        /// <summary>
+        /// 其他款项 选择框
+        /// </summary>
+        public decimal OtherExpensesTotalCost { get; set; }
+
+        public DayOtherPriceDraftMobileInfoView[] Details { get; set; }
+    }
+    #endregion
+
+    #endregion
+
 }
 }

+ 6 - 179
OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostView.cs

@@ -556,7 +556,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 住宿费子项 Data
         /// 住宿费子项 Data
         /// </summary>
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceThreeDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceThreeDetails { get; set; }
 
 
         #endregion
         #endregion
 
 
@@ -574,7 +574,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 伙食费子项Data
         /// 伙食费子项Data
         /// </summary>
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceFourDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceFourDetails { get; set; }
 
 
         #endregion
         #endregion
 
 
@@ -592,7 +592,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 公杂费子项Data
         /// 公杂费子项Data
         /// </summary>
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceFiveDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceFiveDetails { get; set; }
 
 
         #endregion
         #endregion
 
 
@@ -611,7 +611,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 培训费子项Data
         /// 培训费子项Data
         /// </summary>
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceSixDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceSixDetails { get; set; }
         #endregion
         #endregion
 
 
         #region 7:其他
         #region 7:其他
@@ -1038,180 +1038,7 @@ namespace OASystem.Domain.ViewModels.Groups
 
 
     #endregion
     #endregion
 
 
-    //#region 移动端 草稿
+   
-
-    //#region Info Parent View
-
-    //public class EnterExitCostDraftMobileParentInfoView
-    //{
-    //    public int Id { get; set; }
-
-
-    //    #region 汇率币种
-
-    //    /// <summary>
-    //    ///  多个币种存储
-    //    ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
-    //    /// </summary>
-    //    public List<CurrencyInfo> Currencys { get; set; } = new List<CurrencyInfo> { };
-
-    //    #endregion
-
-    //    #region 1:境内费用(其他费用)
-    //    /// <summary>
-    //    ///  境内费用(其他费用)选择框
-    //    /// </summary>
-    //    public int ChoiceOne { get; set; }
-
-    //    /// <summary>
-    //    /// 境内费用(其他费用) 合计
-    //    /// </summary>
-    //    public decimal ChoiceOneTotalCost { get; set; }
-
-    //    #endregion
-
-    //    #region 2:国际旅费
-    //    /// <summary>
-    //    ///  国际旅费合计选择框 (经济舱)
-    //    /// </summary>
-    //    public int ChoiceTwoJJ { get; set; }
-
-    //    /// <summary>
-    //    /// 国际旅费合计(经济舱)
-    //    /// </summary>
-    //    public decimal OutsideJJPay { get; set; }
-
-    //    /// <summary>
-    //    ///  国际旅费合计选择框(公务舱)
-    //    /// </summary>
-    //    public int ChoiceTwoGW { get; set; }
-
-    //    /// <summary>
-    //    ///  国际旅费合计(公务舱)
-    //    /// </summary>
-    //    public decimal OutsideGWPay { get; set; }
-
-    //    /// <summary>
-    //    ///  国际旅费合计选择框(头等舱)
-    //    /// </summary>
-    //    public int ChoiceTwoTD { get; set; }
-
-    //    /// <summary>
-    //    /// 国际旅费合计(头等舱)
-    //    /// </summary>
-    //    public decimal OutsideTDPay { get; set; }
-
-    //    #endregion
-
-    //    #region 3:住宿费
-    //    /// <summary>
-    //    /// 住宿费合计 选择框
-    //    /// </summary>
-    //    public int ChoiceThree { get; set; }
-
-    //    /// <summary>
-    //    /// 住宿费合计
-    //    /// </summary>
-    //    public decimal ChoiceThreeTotalCost { get; set; }
-
-
-    //    #endregion
-
-    //    #region 4:伙食费
-    //    /// <summary>
-    //    ///  伙食费合计 选择框
-    //    /// </summary>
-    //    public int ChoiceFour { get; set; }
-
-    //    /// <summary>
-    //    /// 伙食费合计
-    //    /// </summary>
-    //    public decimal ChoiceFourTotalCost { get; set; }
-
-
-    //    #endregion
-
-    //    #region 5:公杂费
-    //    /// <summary>
-    //    ///  公杂费合计 选择框
-    //    /// </summary>
-    //    public int ChoiceFive { get; set; }
-
-    //    /// <summary>
-    //    /// 公杂费合计
-    //    /// </summary>
-    //    public decimal ChoiceFiveTotalCost { get; set; }
-
-
-    //    #endregion
-
-    //    #region 6:培训费
-
-    //    /// <summary>
-    //    ///  培训费用选择框
-    //    /// </summary>
-    //    public int ChoiceSix { get; set; }
-
-    //    /// <summary>
-    //    /// 公杂费合计
-    //    /// </summary>
-    //    public decimal ChoiceSixTotalCost { get; set; }
-
-    //    #endregion
-
-    //    #region 7:其他
-    //    /// <summary>
-    //    /// 其他款项 选择框
-    //    /// </summary>
-    //    public int OtherExpenses_Checked { get; set; }
-
-    //    /// <summary>
-    //    /// 其他款项 选择框
-    //    /// </summary>
-    //    public decimal OtherExpensesTotalCost { get; set; }
-
-    //    #endregion
-
-    //    /// <summary>
-    //    /// 经济舱费用总计
-    //    /// </summary>
-    //    public decimal TouristClassTotalCost
-    //    {
-    //        get
-    //        {
-    //            return OutsideJJPay <= 0 ? 0.00M : OutsideJJPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
-    //        }
-    //    }
-
-    //    /// <summary>
-    //    /// 公务舱费用总计
-    //    /// </summary>
-    //    public decimal BusinessClassTotalCost
-    //    {
-    //        get
-    //        {
-    //            return OutsideGWPay <= 0 ? 0.00M : OutsideGWPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
-    //        }
-    //    }
-
-    //    /// <summary>
-    //    /// 头等舱费用总计
-    //    /// </summary>
-    //    public decimal FirstClassTotalCost
-    //    {
-    //        get
-    //        {
-    //            return OutsideTDPay <= 0 ? 0.00M : OutsideTDPay + ChoiceOneTotalCost + ChoiceThreeTotalCost + ChoiceFourTotalCost + ChoiceFiveTotalCost + ChoiceSixTotalCost + OtherExpensesTotalCost;
-    //        }
-    //    }
-    //}
-
-    //#endregion
-
-    //#endregion
-
-
-
     /// <summary>
     /// <summary>
     /// 出入境国家(城市)费用标准子项Info  View
     /// 出入境国家(城市)费用标准子项Info  View
     /// </summary>
     /// </summary>
@@ -1266,7 +1093,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 出入境国家费用标准 - 城市
         /// 出入境国家费用标准 - 城市
         /// </summary>
         /// </summary>
-        public string? City { get; set; }
+        public string City { get; set; }
 
 
         ///// <summary>
         ///// <summary>
         ///// 地名
         ///// 地名

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/PersonnelModule/TaskAllocationView.cs

@@ -28,7 +28,7 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// <summary>
         /// <summary>
         /// 任务名称 Items
         /// 任务名称 Items
         /// </summary>
         /// </summary>
-        public List<string>? TaskNameInfos { get; set; }
+        public List<string?>? TaskNameInfos { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 执行任务人员信息 Items
         /// 执行任务人员信息 Items

+ 8 - 2
OASystem/OASystem.Domain/ViewModels/PersonnelModule/WageSheetView.cs

@@ -364,13 +364,15 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// <summary>
         /// <summary>
         /// 
         /// 
         /// </summary>
         /// </summary>
-        public int Id { get; set; }
+        public new int Id { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 年月
         /// 年月
         /// </summary>
         /// </summary>
+#pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
         public string? YearMonth { get; set; }
         public string? YearMonth { get; set; }
 
 
+
         /// <summary>
         /// <summary>
         /// 工资日期 起
         /// 工资日期 起
         /// </summary>
         /// </summary>
@@ -390,7 +392,7 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// 员工Id
         /// 员工Id
         /// </summary>
         /// </summary>
         public int UserId { get; set; }
         public int UserId { get; set; }
-
+#pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
         /// <summary>
         /// <summary>
         /// 员工Name
         /// 员工Name
         /// </summary>
         /// </summary>
@@ -410,12 +412,14 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// <summary>
         /// <summary>
         /// 实发合计(税后工资)
         /// 实发合计(税后工资)
         /// </summary>
         /// </summary>
+#pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
         public decimal TotalRealHair { get; set; }
         public decimal TotalRealHair { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 最后操作人
         /// 最后操作人
         /// </summary>
         /// </summary>
         public int LastUpdateUserId { get; set; }
         public int LastUpdateUserId { get; set; }
+#pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
 
 
         /// <summary>
         /// <summary>
         /// 员工Name
         /// 员工Name
@@ -425,7 +429,9 @@ namespace OASystem.Domain.ViewModels.PersonnelModule
         /// <summary>
         /// <summary>
         /// 最后操作时间
         /// 最后操作时间
         /// </summary>
         /// </summary>
+#pragma warning disable CS0108 // 成员隐藏继承的成员;缺少关键字 new
         public DateTime? LastUpdateDt { get; set; }
         public DateTime? LastUpdateDt { get; set; }
+#pragma warning restore CS0108 // 成员隐藏继承的成员;缺少关键字 new
     }
     }
 
 
     /// <summary>
     /// <summary>

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/QiYeWeChat/Access_TokenView.cs

@@ -14,7 +14,7 @@ namespace OASystem.Domain.ViewModels.QiYeWeChat
         /// <summary>
         /// <summary>
         /// 获取到的凭证,最长为512字节
         /// 获取到的凭证,最长为512字节
         /// </summary>
         /// </summary>
-        public string access_token { get; set; } = null;
+        public string access_token { get; set; } 
 
 
         /// <summary>
         /// <summary>
         /// 凭证的有效时间(秒)
         /// 凭证的有效时间(秒)

+ 6 - 3
OASystem/OASystem.Domain/ViewModels/QiYeWeChat/ApprovalDataView.cs

@@ -890,10 +890,13 @@ namespace OASystem.Domain.ViewModels.QiYeWeChat
         {
         {
             get
             get
             {
             {
-                if (id == "checkin-time" && value != null)
+                if (id == "checkin-time")
                 {
                 {
-                    long timeSpan = long.Parse(value.ToString()) / 1000;
+                    if (value != null)
-                    return new DateTime(timeSpan * 10000000 + 621355968000000000L).ToLocalTime();
+                    {
+                        long timeSpan = long.Parse(value.ToString()) / 1000;
+                        return new DateTime(timeSpan * 10000000 + 621355968000000000L).ToLocalTime();
+                    }
                 }
                 }
 
 
                 return null;
                 return null;

+ 1 - 1
OASystem/OASystem.Domain/ViewModels/Resource/InvitationOfficialActivityDataView.cs

@@ -148,7 +148,7 @@ namespace OASystem.Domain.ViewModels.Resource
                         urls.Add(@$"{filePath}{str}");
                         urls.Add(@$"{filePath}{str}");
                     }
                     }
                 }
                 }
-                catch (Exception ex)
+                catch (Exception)
                 {
                 {
                     urls.Add(@$"{filePath}{SndFileName}");
                     urls.Add(@$"{filePath}{SndFileName}");
                 }
                 }

+ 8 - 0
OASystem/OASystem.Infrastructure/OASystem.Infrastructure.csproj

@@ -6,6 +6,14 @@
     <Nullable>enable</Nullable>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   </PropertyGroup>
 
 
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;0168;8601;1998;</NoWarn>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <PackageReference Include="Autofac" Version="6.4.0" />
     <PackageReference Include="Autofac" Version="6.4.0" />
     <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
     <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs

@@ -1005,7 +1005,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
 
 
             if (string.IsNullOrWhiteSpace(dto.PassportDate))
             if (string.IsNullOrWhiteSpace(dto.PassportDate))
             {
             {
-                dto.PassportDate = null;
+                dto.PassportDate = string.Empty;
             }
             }
 
 
             var newClientDataUnEncrypted = _mapper.Map<Crm_NewClientData>(dto);
             var newClientDataUnEncrypted = _mapper.Map<Crm_NewClientData>(dto);
@@ -1544,7 +1544,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 #endregion
                 #endregion
 
 
                 var NewClientDataView = new List<NewClientDataExcelDownloadView>();
                 var NewClientDataView = new List<NewClientDataExcelDownloadView>();
-                var count = 0;
+                //var count = 0;
                 string contact = dto.Contact, location = dto.Location, clientDto = dto.Client;
                 string contact = dto.Contact, location = dto.Location, clientDto = dto.Client;
 
 
                 var isSelectSearch = false;
                 var isSelectSearch = false;

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/Financial/DailyFeePaymentRepository.cs

@@ -62,7 +62,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
             var priceTypeData = setTypeData.Where(s => typeIds.Contains(s.Id)).ToList();
             var priceTypeData = setTypeData.Where(s => typeIds.Contains(s.Id)).ToList();
             var priceSubTypeData = setData.Where(s => typeIds.Contains(s.STid)).ToList();
             var priceSubTypeData = setData.Where(s => typeIds.Contains(s.STid)).ToList();
 
 
-            var isEnable = false;
+            //var isEnable = false;
             //员工姓名列表
             //员工姓名列表
             var userData = _sqlSugar.Queryable<Sys_Users>()
             var userData = _sqlSugar.Queryable<Sys_Users>()
                 .LeftJoin<Sys_Department>((u, d) => u.DepId == d.Id)
                 .LeftJoin<Sys_Department>((u, d) => u.DepId == d.Id)

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs

@@ -178,7 +178,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// </summary>
         /// </summary>
         /// <param name="teamName"></param>
         /// <param name="teamName"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public string FormartTeamName(string teamName) 
+        public string FormartTeamName(string? teamName) 
         {
         {
             string str = "";
             string str = "";
             if (!string.IsNullOrEmpty(teamName))
             if (!string.IsNullOrEmpty(teamName))
@@ -236,7 +236,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 int startIndex = (dto.PageIndex - 1) * dto.PageSize + 1;
                 int startIndex = (dto.PageIndex - 1) * dto.PageSize + 1;
                 int endIndex = startIndex + dto.PageSize - 1;
                 int endIndex = startIndex + dto.PageSize - 1;
 
 
-                int taskUserId = -1;
+                //int taskUserId = -1;
                 string taskGroupIds = string.Empty;
                 string taskGroupIds = string.Empty;
                 #region 处理用户团组操作权限
                 #region 处理用户团组操作权限
                 if (dto.UserId != -1)
                 if (dto.UserId != -1)

+ 43 - 3
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostDraftRepository.cs

@@ -50,21 +50,61 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// <param name="groupId">草稿Id</param>
         /// <param name="groupId">草稿Id</param>
         /// <param name="permission">操作权限 1:查看;2:新增;3:编辑;4:删除;5:下载; </param>
         /// <param name="permission">操作权限 1:查看;2:新增;3:编辑;4:删除;5:下载; </param>
         /// <returns></returns>
         /// <returns></returns>
-        public async Task<bool> PermissionValidationAsync(int groupId, int userId, int permission=1)
+        public async Task<bool> PermissionValidationAsync(int darftId, int userId, int permission=1)
         {
         {
             //参数验证
             //参数验证
-            if (groupId < 1) return false;
+            if (darftId < 1) return false;
             var permissionIds = new List<int>() { 1, 2, 3, 4, 5 };
             var permissionIds = new List<int>() { 1, 2, 3, 4, 5 };
             if (!permissionIds.Contains(permission)) return false;
             if (!permissionIds.Contains(permission)) return false;
 
 
             var info = await _sqlSugar.Queryable<Grp_EnterExitCostDraftPermission>()
             var info = await _sqlSugar.Queryable<Grp_EnterExitCostDraftPermission>()
-                     .Where(it => it.DraftId == groupId && it.UserId == userId && it.Permission == permission)
+                     .Where(it => it.DraftId == darftId && it.UserId == userId && it.Permission == permission)
                      .FirstAsync();
                      .FirstAsync();
             if (info != null) return true;
             if (info != null) return true;
 
 
             return false;
             return false;
         }
         }
 
 
+        /// <summary>
+        /// 移动端操作权限验证
+        /// </summary>
+        /// <param name="groupId"></param>
+        /// <param name="currUserId"></param>
+        /// <param name="permissionType">1 查看 2 编辑</param>
+        /// <returns></returns>
+        public async Task<(bool, string)> MobilePermissionsValidationAsync(int id, int currUserId, int permissionType = 1)
+        {
+            bool status = false;
+            string msg = string.Empty;
+
+            var enterExitCostData = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>().OrderByDescending(x => x.CreateTime).FirstAsync(it => it.Id == id && it.IsDel == 0);
+            if (permissionType == 1)
+            {
+                status = await PermissionValidationAsync(id, currUserId);//查看权限
+                if (enterExitCostData.CreateUserId == currUserId) status = true; //查看权限
+                if (!status)
+                {
+                    var setUserName = await _sqlSugar.Queryable<Sys_Users>().Where(x => x.Id == enterExitCostData.CreateUserId).Select(x => x.CnName).FirstAsync();
+
+                    msg = $"{setUserName}设置了你不能查看当前团组的出入境费用明细数据,如要查看,请联系{setUserName}!";
+                }
+                return (status, msg);
+            }
+            else if (permissionType == 2)
+            {
+                if (enterExitCostData.CreateUserId == currUserId) status = true; //编辑权限
+                if (!status)
+                {
+                    var setUserName = await _sqlSugar.Queryable<Sys_Users>().Where(x => x.Id == enterExitCostData.CreateUserId).Select(x => x.CnName).FirstAsync();
+
+                    msg = $"您没有编辑权限,“{setUserName}”才可编辑!";
+                }
+                return (status, msg);
+
+            }
+            else msg = $"请传入正确的权限验证类型!";
+            return (status, msg);
+        }
 
 
         /// <summary>
         /// <summary>
         /// 查询 根据 Id 查询
         /// 查询 根据 Id 查询

+ 3 - 3
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -101,7 +101,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         }
         }
 
 
         /// <summary>
         /// <summary>
-        /// 
+        /// 移动端操作权限验证
         /// </summary>
         /// </summary>
         /// <param name="groupId"></param>
         /// <param name="groupId"></param>
         /// <param name="currUserId"></param>
         /// <param name="currUserId"></param>
@@ -530,7 +530,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// </summary>
         /// </summary>
         /// <param name="dto"></param>
         /// <param name="dto"></param>
         /// <returns></returns>
         /// <returns></returns>
-        public async Task<Result> PostEnterExitCostSubItemDel(EnterExitCostSubItemDelDto dto)
+        public Task<Result> PostEnterExitCostSubItemDel(EnterExitCostSubItemDelDto dto)
         {
         {
             Result result = new Result();
             Result result = new Result();
 
 
@@ -547,7 +547,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
             if (del > 0) result.Code = 0;
             if (del > 0) result.Code = 0;
             else result.Msg = string.Format("删除失败!");
             else result.Msg = string.Format("删除失败!");
 
 
-            return result;
+            return Task.FromResult(result);
         }
         }
 
 
         /// <summary>
         /// <summary>

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Groups/TourClientListRepository.cs

@@ -667,7 +667,7 @@ WHERE
                         Sex = item.Sex,
                         Sex = item.Sex,
                         Phone = item.Phone
                         Phone = item.Phone
                     };
                     };
-                    string temp_birthDay = "";
+                    //string temp_birthDay = "";
                     DateTime tempDt_Birthday;
                     DateTime tempDt_Birthday;
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     _DeleClientInfo.BirthDay = b_birth ? tempDt_Birthday : null;
                     _DeleClientInfo.BirthDay = b_birth ? tempDt_Birthday : null;
@@ -736,7 +736,7 @@ WHERE
                         Sex = item.Sex,
                         Sex = item.Sex,
                         Phone = item.Phone
                         Phone = item.Phone
                     };
                     };
-                    string temp_birthDay = "";
+                    //string temp_birthDay = "";
                     DateTime tempDt_Birthday;
                     DateTime tempDt_Birthday;
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     _DeleClient.BirthDay = b_birth ? tempDt_Birthday : null;
                     _DeleClient.BirthDay = b_birth ? tempDt_Birthday : null;

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/Groups/VisaFeeInfoRepository.cs

@@ -81,7 +81,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
 
                 if (countrys.Count > 0)
                 if (countrys.Count > 0)
                 {
                 {
-                    int dataRow = 0;
+                    //int dataRow = 0;
 
 
                     foreach (var country in countrys)
                     foreach (var country in countrys)
                     {
                     {

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/TaskAllocationRepository.cs

@@ -69,7 +69,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 }
                 }
 
 
                 //任务名称
                 //任务名称
-                List<string> _TaskNameInfos = new List<string>();
+                List<string?> _TaskNameInfos = new List<string?>();
                 _TaskNameInfos = _sqlSugar.Queryable<Pm_TaskAllocation, Pm_TaskRelevanceUser>((ta, tau) => new JoinQueryInfos(JoinType.Left, ta.Id == tau.TAId))
                 _TaskNameInfos = _sqlSugar.Queryable<Pm_TaskAllocation, Pm_TaskRelevanceUser>((ta, tau) => new JoinQueryInfos(JoinType.Left, ta.Id == tau.TAId))
                                           .Where((ta, tau) => ta.IsDel == 0 && tau.IsDel == 0)
                                           .Where((ta, tau) => ta.IsDel == 0 && tau.IsDel == 0)
                                           .Where((ta, tau) => ta.CreateUserId == userId || tau.UserId == userId)
                                           .Where((ta, tau) => ta.CreateUserId == userId || tau.UserId == userId)

+ 3 - 7
OASystem/OASystem.Infrastructure/Tools/CommonFun.cs

@@ -164,10 +164,7 @@ public static class CommonFun
     }
     }
     public static string GetIP(HttpRequest request)
     public static string GetIP(HttpRequest request)
     {
     {
-        if (request == null)
+        if (request == null) return "";
-        {
-            return "";
-        }
 
 
         var ip = request.Headers["X-Real-IP"].FirstOrDefault();
         var ip = request.Headers["X-Real-IP"].FirstOrDefault();
         if (ip.IsNull())
         if (ip.IsNull())
@@ -366,11 +363,10 @@ public static class CommonFun
     /// </summary>
     /// </summary>
     /// <param name="rates"></param>
     /// <param name="rates"></param>
     /// <returns></returns>
     /// <returns></returns>
-    public static string  GetCurrencyChinaToString(List<CurrencyInfo> rates)
+    public static string  GetCurrencyChinaToString(List<CurrencyInfo>? rates)
     {
     {
-        
         string rateStr = string.Empty;
         string rateStr = string.Empty;
-
+        if (rates == null) return rateStr;
         if (rates.Count <= 0) return rateStr;
         if (rates.Count <= 0) return rateStr;
 
 
         if (rates.Count == 1 )
         if (rates.Count == 1 )

+ 8 - 0
OASystem/OASystem.RedisRepository/OASystem.RedisRepository.csproj

@@ -6,6 +6,14 @@
     <Nullable>enable</Nullable>
     <Nullable>enable</Nullable>
   </PropertyGroup>
   </PropertyGroup>
 
 
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;</NoWarn>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <NoWarn>1701;1702;1591;8618;1570;8603;8604;8602;8600;</NoWarn>
+  </PropertyGroup>
+
   <ItemGroup>
   <ItemGroup>
     <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
     <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
     <PackageReference Include="StackExchange.Redis" Version="2.6.96" />
     <PackageReference Include="StackExchange.Redis" Version="2.6.96" />