Forráskód Böngészése

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

LEIYI 2 hónapja%!(EXTRA string=óta)
szülő
commit
3e9567b706
39 módosított fájl, 1978 hozzáadás és 1709 törlés
  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 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,
             SystemMenuPermissionRepository systemMenuPermissionRepository, IQiYeWeChatApiService qiYeWeChatApiService, MessageRepository messageRep,
             DeviceTokenRepository deviceRep,
@@ -264,7 +275,6 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// 申请注册 数据Data
         /// </summary>
-        /// <param name="dto"></param>
         /// <returns></returns>
         //[Authorize]
         [HttpPost]
@@ -873,7 +883,6 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// ClientTest
         /// </summary>
-        /// <param name="depId">部门Id</param>
         /// <returns></returns>
         [HttpPost("ClientTest")]
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]

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

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

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1133 - 1072
OASystem/OASystem.Api/Controllers/GroupsController.cs


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

@@ -8,6 +8,14 @@
 <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
   </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>
     <Compile Remove="Include\**" />
     <Compile Remove="Logs\**" />

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

@@ -29,8 +29,8 @@ namespace Tencent
         /// </summary>
         /// <param name="Input">密文</param>
         /// <param name="EncodingAESKey"></param>
+        /// <param name="corpid"></param>
         /// <returns></returns>
-        /// 
         public static string AES_decrypt(String Input, string EncodingAESKey, ref string corpid)
         {
             byte[] Key;
@@ -107,7 +107,7 @@ namespace Tencent
             aes.Key = Key;
             aes.IV = Iv;
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
 
             using (var ms = new MemoryStream())
             {
@@ -136,7 +136,7 @@ namespace Tencent
             aes.Key = Key;
             aes.IV = Iv;
             var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
 
             #region 自己进行PKCS7补位,用系统自己带的不行
             byte[] msg = new byte[Input.Length + 32 - Input.Length % 32];
@@ -203,7 +203,7 @@ namespace Tencent
             aes.Key = Key;
             aes.IV = Iv;
             var decrypt = aes.CreateDecryptor(aes.Key, aes.IV);
-            byte[] xBuff = null;
+            byte[]? xBuff = null;
             using (var ms = new MemoryStream())
             {
                 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:
 			XmlDocument doc = new XmlDocument();
             doc.LoadXml(sMsg);
-            XmlNode root = doc.FirstChild;
+            XmlNode? root = doc.FirstChild;
             string content = root["Content"].InnerText;
 			System.Console.WriteLine(content);
 			// ...

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

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

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

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

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

@@ -719,15 +719,15 @@ namespace OASystem.Domain.Dtos.Groups
 
         public int CurrUserId { get; set; }
 
-        /// <summary>
-        /// 数据主表Id
-        /// </summary>
+        ///// <summary>
+        ///// 数据主表Id
+        ///// </summary>
         //public int ParentId { get; set; }
 
-        /// <summary>
-        /// 复选框
-        /// 0 未选中 1 选中
-        /// </summary>
+        ///// <summary>
+        ///// 复选框
+        ///// 0 未选中 1 选中
+        ///// </summary>
         //public int IsSelect { get; set; }
 
         /// <summary>
@@ -827,368 +827,378 @@ namespace OASystem.Domain.Dtos.Groups
     #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
-    //{
-    //    public string CurrencyName { get; set; }
-    //}
+        /// <summary>
+        ///  境内费用(其他费用)选择框
+        /// </summary>
+        public int ChoiceOne { get; set; }
 
-    //public class PostEnterExitCostDraftMobileOtherItemCurrencyDataDto : PortDtoBase
-    //{
-    //    public int DraftId { get; set; }
-    //}
+        /// <summary>
+        ///  国际旅费合计选择框
+        /// </summary>
+        public int ChoiceTwo { get; set; }
 
-    //public class EnterExitCostDraftMobileFeeTipsDto : PortDtoBase
-    //{
+        /// <summary>
+        ///  经济舱小计选择框
+        /// </summary>
+        public int SumJJC { get; set; }
 
-    //    /// <summary>
-    //    /// 提示数据类型
-    //    /// 1 实时汇率
-    //    /// 2 签证费用
-    //    /// 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; }
+        /// <summary>
+        ///  公务舱小计选择框
+        /// </summary>
+        public int SumGWC { get; set; }
 
-    //    public int Index { get; set; }
-
-    //    public decimal Cost { get; set; }
+        /// <summary>
+        ///  公务舱小计选择框
+        /// </summary>
+        public int SumTDC { get; set; }
 
-    //    public int Currency { get; set; }
-
-    //    public decimal SubTotal { get; set; }
-
-    //    public string Remark { get; set; }
-    //}
-    //#endregion
+        /// <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 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>
         /// 数据Id
-        /// Id==0 Add 
-        /// Id>0 Update 
-        /// Id<0 无效
+        /// Id == 0 Add 
+        /// Id >= 1 Update 
         /// </summary>
         public int Id { get; set; }
 
@@ -345,11 +344,11 @@ namespace OASystem.Domain.Dtos.Groups
         /// <summary>
         /// 生日
         /// </summary>
-        public string Birthday { get; set; } = null;
+        public string Birthday { get; set; }
         /// <summary>
         /// 身份证
         /// </summary>
-        public string IDcard { get; set; } = null;
+        public string IDcard { get; set; } 
         /// <summary>
         /// 单位
         /// </summary>

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

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

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

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

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

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

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

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

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

@@ -31,7 +31,7 @@ namespace OASystem.Domain.Dtos.Tencent
         /// TencentOCR图片大小处理
         /// 不能大于7MB
         /// </summary>
-        /// <param name="type"></param>
+        /// <param name="picBase64"></param>
         /// <returns></returns>
         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
     //{
     //    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")]
         public GrpSchedulePrimaryStepEnum PrimaryStep { get; set; }
 
-        /// <summary>
-        /// 当前子流程
-        /// </summary>
+        ///// <summary>
+        ///// 当前子流程
+        ///// </summary>
         //[SugarColumn(IsNullable = true, ColumnDataType = "int")]
         //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)")]
         public string ReturnCode { get; set; }
         /// <summary>
-        ///  报价
-        /// <summary>
+        /// 报价
+        /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string Price { get; set; }
         /// <summary>
-        ///  最新报价
-        /// <summary>
+        /// 最新报价
+        /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
         public string NowPrice { get; set; }
         /// <summary>

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

@@ -79,8 +79,12 @@ namespace OASystem.Domain.Enums
         public static string GetDescription(this Enum val)
         {
             var field = val.GetType().GetField(val.ToString());
-            var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
-            return customAttribute == null ? val.ToString() : ((DescriptionAttribute)customAttribute).Description;
+            if (field != null)
+            {
+                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>
   </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>
     <None Include="..\.editorconfig" Link=".editorconfig" />
   </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; }
 
-        /// <summary>
-        /// 示例:费用名称:[2024.07.11招商信用卡还款]   单价:[20000.00]   数量:[1.00]   小计:[20000.00]   备注:[]
-        /// </summary>
+        ///// <summary>
+        ///// 示例:费用名称:[2024.07.11招商信用卡还款]   单价:[20000.00]   数量:[1.00]   小计:[20000.00]   备注:[]
+        ///// </summary>
         //public string ViewStr
         //{
         //    get
@@ -771,6 +771,7 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <param name="year"></param>
         /// <param name="month"></param>
         /// <param name="quantity"></param>
+        /// <param name="aitTicketInfos"></param>
         /// <param name="linkGroupIds"></param>
         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="month"></param>
         /// <param name="quantity"></param>
+        /// <param name="cityData"></param>
         /// <param name="linkGroupIds"></param>
         public AirTicketCityReturnView(int year, int month, int quantity, List<AirTicketCityInfo> cityData, List<int> linkGroupIds)
             : base(year, month, quantity, linkGroupIds)
@@ -1261,12 +1263,13 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// 构造函数
         /// </summary>
-        /// <param name="year"></param>
-        /// <param name="month"></param>
-        /// <param name="thisAmount"></param>
-        /// <param name="lastAmount"></param>
-        /// <param name="thisIds"></param>
-        /// <param name="lastIds"></param>
+        /// <param name="feeId"></param>
+        /// <param name="feeName"></param>
+        /// <param name="currPeriodFee"></param>
+        /// <param name="samePeriodFee"></param>
+        /// <param name="currPeriodGroupTotal"></param>
+        /// <param name="samePeriodGroupTotal"></param>
+        /// <param name="subFeeData"></param>
         public StatisticsOPYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
            int currPeriodGroupTotal ,int samePeriodGroupTotal, StatisticsOPSubFeeYOY[] subFeeData)
         {
@@ -1295,12 +1298,13 @@ namespace OASystem.Domain.ViewModels.Financial
         /// <summary>
         /// 构造函数
         /// </summary>
-        /// <param name="year"></param>
-        /// <param name="month"></param>
-        /// <param name="thisAmount"></param>
-        /// <param name="lastAmount"></param>
-        /// <param name="thisIds"></param>
-        /// <param name="lastIds"></param>
+        /// <param name="feeId"></param>
+        /// <param name="feeName"></param>
+        /// <param name="currPeriodFee"></param>
+        /// <param name="samePeriodFee"></param>
+        /// <param name="currPeriodGroupTotal"></param>
+        /// <param name="samePeriodGroupTotal"></param>
+        /// <param name="cityData"></param>
         public StatisticsOPSubFeeYOY(int feeId, string feeName, decimal currPeriodFee, decimal samePeriodFee,
            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.Groups;
 using OASystem.Domain.Entities.Groups;
 using System;
 using System.Collections.Generic;
@@ -284,7 +285,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// 出入境国家费用标准 - 城市
         /// </summary>
-        public string? City { get; set; }
+        public string City { get; set; }
 
         ///// <summary>
         ///// 地名
@@ -436,4 +437,283 @@ namespace OASystem.Domain.ViewModels.Groups
     /// </summary>
     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>
         /// 住宿费子项 Data
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceThreeDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceThreeDetails { get; set; }
 
         #endregion
 
@@ -574,7 +574,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// 伙食费子项Data
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceFourDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceFourDetails { get; set; }
 
         #endregion
 
@@ -592,7 +592,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// 公杂费子项Data
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceFiveDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceFiveDetails { get; set; }
 
         #endregion
 
@@ -611,7 +611,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// 培训费子项Data
         /// </summary>
-        public DayAndCostMobileInfoView[]? ChoiceSixDetails { get; set; }
+        public DayAndCostMobileInfoView[] ChoiceSixDetails { get; set; }
         #endregion
 
         #region 7:其他
@@ -1038,180 +1038,7 @@ namespace OASystem.Domain.ViewModels.Groups
 
     #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>
     /// 出入境国家(城市)费用标准子项Info  View
     /// </summary>
@@ -1266,7 +1093,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// 出入境国家费用标准 - 城市
         /// </summary>
-        public string? City { get; set; }
+        public string City { get; set; }
 
         ///// <summary>
         ///// 地名

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

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

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

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

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

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

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

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

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

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

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

@@ -6,6 +6,14 @@
     <Nullable>enable</Nullable>
   </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>
     <PackageReference Include="Autofac" Version="6.4.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))
             {
-                dto.PassportDate = null;
+                dto.PassportDate = string.Empty;
             }
 
             var newClientDataUnEncrypted = _mapper.Map<Crm_NewClientData>(dto);
@@ -1544,7 +1544,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 #endregion
 
                 var NewClientDataView = new List<NewClientDataExcelDownloadView>();
-                var count = 0;
+                //var count = 0;
                 string contact = dto.Contact, location = dto.Location, clientDto = dto.Client;
 
                 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 priceSubTypeData = setData.Where(s => typeIds.Contains(s.STid)).ToList();
 
-            var isEnable = false;
+            //var isEnable = false;
             //员工姓名列表
             var userData = _sqlSugar.Queryable<Sys_Users>()
                 .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>
         /// <param name="teamName"></param>
         /// <returns></returns>
-        public string FormartTeamName(string teamName) 
+        public string FormartTeamName(string? teamName) 
         {
             string str = "";
             if (!string.IsNullOrEmpty(teamName))
@@ -236,7 +236,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 int startIndex = (dto.PageIndex - 1) * dto.PageSize + 1;
                 int endIndex = startIndex + dto.PageSize - 1;
 
-                int taskUserId = -1;
+                //int taskUserId = -1;
                 string taskGroupIds = string.Empty;
                 #region 处理用户团组操作权限
                 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="permission">操作权限 1:查看;2:新增;3:编辑;4:删除;5:下载; </param>
         /// <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 };
             if (!permissionIds.Contains(permission)) return false;
 
             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();
             if (info != null) return true;
 
             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>
         /// 查询 根据 Id 查询

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

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

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

@@ -667,7 +667,7 @@ WHERE
                         Sex = item.Sex,
                         Phone = item.Phone
                     };
-                    string temp_birthDay = "";
+                    //string temp_birthDay = "";
                     DateTime tempDt_Birthday;
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     _DeleClientInfo.BirthDay = b_birth ? tempDt_Birthday : null;
@@ -736,7 +736,7 @@ WHERE
                         Sex = item.Sex,
                         Phone = item.Phone
                     };
-                    string temp_birthDay = "";
+                    //string temp_birthDay = "";
                     DateTime tempDt_Birthday;
                     bool b_birth = DateTime.TryParse(item.BirthDay, out tempDt_Birthday);
                     _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)
                 {
-                    int dataRow = 0;
+                    //int dataRow = 0;
 
                     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))
                                           .Where((ta, tau) => ta.IsDel == 0 && tau.IsDel == 0)
                                           .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)
     {
-        if (request == null)
-        {
-            return "";
-        }
+        if (request == null) return "";
 
         var ip = request.Headers["X-Real-IP"].FirstOrDefault();
         if (ip.IsNull())
@@ -366,11 +363,10 @@ public static class CommonFun
     /// </summary>
     /// <param name="rates"></param>
     /// <returns></returns>
-    public static string  GetCurrencyChinaToString(List<CurrencyInfo> rates)
+    public static string  GetCurrencyChinaToString(List<CurrencyInfo>? rates)
     {
-        
         string rateStr = string.Empty;
-
+        if (rates == null) return rateStr;
         if (rates.Count <= 0) return rateStr;
 
         if (rates.Count == 1 )

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

@@ -6,6 +6,14 @@
     <Nullable>enable</Nullable>
   </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>
     <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
     <PackageReference Include="StackExchange.Redis" Version="2.6.96" />