LEIYI 2 місяців тому
батько
коміт
338a97f4cb

+ 7 - 5
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -2022,16 +2022,18 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
             if (_groupData.Code == 0) groupInfos = _groupData.Data;
 
             var data = _sqlSugar.Queryable<Sys_SetData>().Where(a => a.IsDel == 0).ToList();
-            var data1 = data.Where(a => a.STid == 38).ToList();
-            var data2 = data.Where(a => a.STid == 101).ToList();
-            var data3 = data.Where(a => a.STid == 66).ToList();
+            var data1 = data.Where(a => a.STid == 38).Select(x => new { x.Id,x.Name }).ToList();
+            var data2 = data.Where(a => a.STid == 101).Select(x => new { x.Id, x.Name }).ToList();
+            var data3 = data.Where(a => a.STid == 66).Select(x => new { x.Id, x.Name ,x.Remark}).ToList();
 
             var _DeleFile = _sqlSugar.Queryable<Grp_DeleFile>().Where(a => a.Diid == dto.DiId && a.IsDel == 0 && a.Category == 970).ToList();
 
-            var translatorData = _sqlSugar.Queryable<Res_TranslatorLibrary>().Where(a => a.IsDel == 0).Select(x => new TranslatorLibraryNameView() { Id = x.Id, Name = x.Name }).ToList();
+            var translatorData = _sqlSugar.Queryable<Res_TranslatorLibrary>().Where(a => a.IsDel == 0).ToList();
             foreach (var item in translatorData) EncryptionProcessor.DecryptProperties(item);
 
-            return Ok(JsonView(true, "查询成功!", new { Delegation = groupInfos, SetData = data1,DataSource = data2, currencyData = data3, DeleFile = _DeleFile , TranslatorData = translatorData }));
+            var translatorData1 = _mapper.Map<List<TranslatorView>>(translatorData);
+
+            return Ok(JsonView(true, "查询成功!", new { Delegation = groupInfos, SetData = data1,DataSource = data2, currencyData = data3, DeleFile = _DeleFile , TranslatorData = translatorData1 }));
         }
 
         /// <summary>

+ 9 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -122,6 +122,15 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<EnterExitCostOperateDto, Grp_EnterExitCost>();
             CreateMap<DayAndCostAddView, Grp_DayAndCost>();
 
+
+            CreateMap<Grp_EnterExitCostDraft, EnterExitCostDraftInfoView>();
+
+            CreateMap<Grp_EnterExitCostDraft, EnterExitCostDraftOpDto>();
+            CreateMap<Grp_DayAndCostDraft, DayAndCostDraftAddView>();
+            CreateMap<Grp_DayAndCostDraft, DayAndCostDraftAddView>();
+
+
+
             CreateMap<Grp_EnterExitCost, EnterExitCostMobileInfoView>();
             CreateMap<Grp_EnterExitCost, EnterExitCostMobileParentInfoView>();
 

+ 255 - 0
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDraftDto.cs

@@ -0,0 +1,255 @@
+using OASystem.Domain.ViewModels.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    public class EnterExitCostDraftDto
+    {
+    }
+
+    /// <summary>
+    /// 出入境费用详情 Dto
+    /// </summary>
+    public class EnterExitCostDraftInfobyDiIdDto : PortDtoBase
+    {
+        /// <summary>
+        /// Id
+        /// </summary>
+        public int Id { get; set; }
+    }
+
+    /// <summary>
+    /// 出入境费用 Add And Update  Dto
+    /// </summary>
+    public class EnterExitCostDraftOpDto : PortDtoBase
+    {
+        public int UserId { get; set; }
+
+        /// <summary>
+        /// Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 草稿名称
+        /// </summary>
+        public string DraftName { get; set; }
+
+        #region 境内费用(其他费用)
+
+        /// <summary>
+        ///  境内费用(其他费用)选择框
+        /// </summary>
+        public int ChoiceOne { get; set; }
+
+        /// <summary>
+        /// 境内费用(其他费用)
+        /// </summary>
+        public decimal InsidePay { get; set; }
+
+        #region 境内费用(其他费用)子项
+
+        /// <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; }
+
+        #endregion
+
+        #endregion
+
+        #region 国际旅费
+
+        /// <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; }
+
+
+        #region 国际旅费子项
+        /// <summary>
+        /// 国际旅费合计(经济舱)
+        /// </summary>
+        public decimal OutsideJJPay { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计(公务舱)
+        /// </summary>
+        public decimal OutsideGWPay { 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; }
+
+        /// <summary>
+        ///  多个币种存储
+        ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
+        /// </summary>
+        public List<CurrencyInfo>? Currencys { get; set; }
+
+        #endregion
+
+        #endregion
+
+        #region 住宿费
+
+        /// <summary>
+        ///  住宿费合计选择框
+        /// </summary>
+        public int ChoiceThree { get; set; }
+
+        /// <summary>
+        /// 住宿费子项Data
+        /// </summary>
+        public List<DayAndCostDraftAddView>? QuarterageData { get; set; }
+
+        #endregion
+
+        #region 伙食费
+
+        /// <summary>
+        ///  伙食费合计选择框
+        /// </summary>
+        public int ChoiceFour { get; set; }
+
+        /// <summary>
+        /// 伙食费子项Data
+        /// </summary>
+        public List<DayAndCostDraftAddView>? BoardWagesData { get; set; }
+
+        #endregion
+
+        #region 公杂费
+
+        /// <summary>
+        ///  公杂费合计选择框
+        /// </summary>
+        public int ChoiceFive { get; set; }
+
+        /// <summary>
+        /// 公杂费子项Data
+        /// </summary>
+        public List<DayAndCostDraftAddView>? MiscellaneousFeeData { get; set; }
+
+        #endregion
+
+        #region 培训费
+
+        /// <summary>
+        ///  培训费用选择框
+        /// </summary>
+        public int ChoiceSix { get; set; }
+
+        /// <summary>
+        /// 培训费子项Data
+        /// </summary>
+        public List<DayAndCostDraftAddView>? TrainingExpenseData { get; set; }
+
+        #endregion
+
+        #region 其他费用
+
+        /// <summary>
+        ///  其他费用选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+
+        /// <summary>
+        /// 其他费用子项Data
+        /// </summary>
+        public List<DayOtherPriceDraftAddView> DayOtherPriceData { get; set; }
+        #endregion
+
+        #region 最下面 选择框状态
+
+        /// <summary>
+        /// 经济舱选择框
+        /// </summary>
+        public int AirJJC_Checked { get; set; }
+
+        /// <summary>
+        /// 公务舱选择框
+        /// </summary>
+        public int AirGWC_Checked { get; set; }
+
+        /// <summary>
+        /// 公务舱选择框
+        /// </summary>
+        public int AirTDC_Checked { get; set; }
+
+        #endregion
+
+    }
+}

+ 64 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_DayAndCostDraft.cs

@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 团组 - 出入境费用 - 子项 - 草稿
+    /// </summary>
+    [SugarTable("Grp_DayAndCostDraft")]
+    public class Grp_DayAndCostDraft : EntityBase
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ParentId { get; set; }
+
+        /// <summary>
+        /// 类型:1为住宿费;2为伙食费;3为公杂费;4培训费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Type { get; set; }
+
+        /// <summary>
+        /// 天数
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Days { get; set; }
+
+        /// <summary>
+        /// 地名Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int NationalTravelFeeId { get; set; }
+
+        /// <summary>
+        /// 地名 - 弃用字段不删
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
+        public string? Place { get; set; }
+
+        /// <summary>
+        /// 费用标准
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Cost { get; set; }
+
+        /// <summary>
+        /// 币种
+        /// Sys_SetData STid = 66
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Currency { get; set; }
+
+        /// <summary>
+        /// 小计
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal SubTotal { get; set; }
+    }
+}

+ 32 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_DayOtherPriceDraft.cs

@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 三公费用其他费用表 草稿
+    /// </summary>
+    [SugarTable("Grp_DayAndCostDraft")]
+    public class Grp_DayOtherPriceDraft : EntityBase
+    {
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ParentId { get; set; }
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SetDataId { get; set; }
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Index { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Cost { get; set; }
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Currency { get; set; }
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal SubTotal { get; set; }
+    }
+}

+ 257 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_EnterExitCostDraft.cs

@@ -0,0 +1,257 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 团组 - 出入境费用 - 草稿
+    /// </summary>
+    [SugarTable("Grp_EnterExitCostDraft")]
+    public class Grp_EnterExitCostDraft : EntityBase
+    {
+        /// <summary>
+        /// 草稿名称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string DraftName { get; set; }
+
+        /// <summary>
+        /// 境内费用(其他费用)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal InsidePay { get; set; }
+
+        #region 境内费用(其他费用)子项
+
+        /// <summary>
+        /// 签证费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Visa { get; set; }
+
+        /// <summary>
+        /// 签证费描述
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string? VisaRemark { get; set; }
+
+        /// <summary>
+        /// 疫苗费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal YiMiao { get; set; }
+
+        /// <summary>
+        /// 核酸检测费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal HeSuan { get; set; }
+
+        /// <summary>
+        /// 服务费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Service { get; set; }
+
+        /// <summary>
+        /// 参展门票
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Ticket { get; set; }
+
+        /// <summary>
+        /// 保险费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal Safe { get; set; }
+
+        /// <summary>
+        /// 第一项备注
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(500)")]
+        public string FirstItemRemark { get; set; }
+
+        #endregion
+
+        /// <summary>
+        /// 国际旅费合计(经济舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal OutsideJJPay { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计(公务舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal OutsideGWPay { get; set; }
+
+        /// <summary>
+        /// 国际旅费合计(头等舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal OutsideTDPay { get; set; }
+
+
+        #region 国际旅费合计(经济舱\公务舱\头等舱)
+
+        /// <summary>
+        ///  国际机票(经济舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal AirJJ { get; set; }
+
+        /// <summary>
+        ///  国际机票(公务舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal AirGW { get; set; }
+
+        /// <summary>
+        ///  国际机票(头等舱)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal AirTD { get; set; }
+
+        /// <summary>
+        ///  国外城市间交通费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal CityTranffic { get; set; }
+
+
+        #region 汇率币种
+
+        /// <summary>
+        ///  美元
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateUSD { get; set; }
+
+        /// <summary>
+        ///  日元
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateJPY { get; set; }
+
+        /// <summary>
+        ///  欧元
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateEUR { get; set; }
+
+        /// <summary>
+        ///  英镑 
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateGBP { get; set; }
+
+        /// <summary>
+        ///  港币 
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,4)")]
+        public decimal RateHKD { get; set; }
+
+
+        /// <summary>
+        ///  多个币种存储
+        ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        public string? CurrencyRemark { get; set; }
+
+        #endregion
+
+        #endregion
+
+        #region 选择框状态
+
+        /// <summary>
+        ///  境内费用(其他费用)选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceOne { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceTwo { get; set; }
+
+        /// <summary>
+        ///  经济舱小计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SumJJC { get; set; }
+
+        /// <summary>
+        ///  公务舱小计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SumGWC { get; set; }
+
+        /// <summary>
+        ///  头等舱小计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SumTDC { get; set; }
+
+        /// <summary>
+        ///  住宿费合计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceThree { get; set; }
+
+        /// <summary>
+        ///  伙食费合计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceFour { get; set; }
+
+        /// <summary>
+        ///  公杂费合计选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceFive { get; set; }
+
+        /// <summary>
+        ///  境内费用(其他费用)选择框
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ChoiceSix { get; set; }
+
+        /// <summary>
+        /// 经济舱选择框 - bottom(老OA使用 新OA弃用)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int AirJJC_Checked { get; set; }
+
+        /// <summary>
+        /// 公务舱选择框 - bottom(老OA使用 新OA弃用)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int AirGWC_Checked { get; set; }
+
+        /// <summary>
+        /// 头等舱选择框 - bottom(老OA使用 新OA弃用)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int AirTDC_Checked { get; set; }
+
+        #endregion
+
+        /// <summary>
+        /// 确认费用(确认费用后 不可更改)
+        /// 1:未确认 2:已确认
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int IsConfirm { get; set; } = 1;
+
+        /// <summary>
+        /// 其他费用选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+    }
+}

+ 421 - 0
OASystem/OASystem.Domain/ViewModels/Groups/EnterExitCostDraftView.cs

@@ -0,0 +1,421 @@
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Groups
+{
+    public class EnterExitCostDraftView:Grp_EnterExitCostDraft
+    {
+    }
+
+    /// <summary>
+    /// 出入境费用info
+    /// </summary>
+    public class EnterExitCostDraftInfoView
+    {
+        /// <summary>
+        /// Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 境内费用(其他费用)
+        /// </summary>
+        public decimal InsidePay { get; set; }
+
+        #region 境内费用(其他费用)子项
+
+        /// <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; }
+
+        #endregion
+
+        /// <summary>
+        /// 国际旅费合计(经济舱)
+        /// </summary>
+        public decimal OutsideJJPay { get; set; }
+
+        /// <summary>
+        ///  国际旅费合计(公务舱)
+        /// </summary>
+        public decimal OutsideGWPay { get; set; }
+
+
+        /// <summary>
+        /// 国际旅费合计(头等舱)
+        /// </summary>
+        public decimal OutsideTDPay { get; set; }
+
+        #region 国际旅费合计(经济舱\公务舱\头等舱)
+
+        /// <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; }
+
+        #region 汇率币种
+
+        /// <summary>
+        ///  多个币种存储
+        ///  存储方式: 美元(USD):6.2350|.......|墨西哥比索(MXN):1.0000
+        /// </summary>
+        public List<CurrencyInfo>? Currencys { get; set; }
+
+        #endregion
+
+        #endregion
+
+        #region 选择框状态
+
+        /// <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>
+        /// 住宿费子项Data
+        /// </summary>
+        public List<DayAndCostDraftInfoView>? QuarterageData { get; set; }
+
+        /// <summary>
+        ///  伙食费合计选择框
+        /// </summary>
+        public int ChoiceFour { get; set; }
+
+        /// <summary>
+        /// 伙食费子项Data
+        /// </summary>
+        public List<DayAndCostDraftInfoView>? BoardWagesData { get; set; }
+
+        /// <summary>
+        ///  公杂费合计选择框
+        /// </summary>
+        public int ChoiceFive { get; set; }
+
+        /// <summary>
+        /// 公杂费子项Data
+        /// </summary>
+        public List<DayAndCostDraftInfoView>? MiscellaneousFeeData { get; set; }
+
+        /// <summary>
+        ///  培训费用选择框
+        /// </summary>
+        public int ChoiceSix { get; set; }
+
+        /// <summary>
+        /// 培训费子项Data
+        /// </summary>
+        public List<DayAndCostDraftInfoView>? TrainingExpenseData { get; set; }
+
+        /// <summary>
+        /// 经济舱选择框
+        /// </summary>
+        public int AirJJC_Checked { get; set; }
+
+        /// <summary>
+        /// 公务舱选择框
+        /// </summary>
+        public int AirGWC_Checked { get; set; }
+
+        /// <summary>
+        /// 头等舱选择框
+        /// </summary>
+        public int AirTDC_Checked { get; set; }
+
+        /// <summary>
+        /// 其他款项选择框
+        /// </summary>
+        public int OtherExpenses_Checked { get; set; }
+
+        /// <summary>
+        /// 其他款项子项Data
+        /// </summary>
+        public List<DayOtherPriceDraftView> DayOtherPriceData { get; set; }
+        #endregion
+    }
+
+    /// <summary>
+    /// 出入境国家(城市)费用标准子项Info  View
+    /// </summary>
+    public class DayAndCostDraftInfoView
+    {
+        /// <summary>
+        /// Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int ParentId { get; set; }
+
+        /// <summary>
+        /// 类型:1为住宿费;2为伙食费;3为公杂费;4培训费用
+        /// </summary>
+        public int Type { get; set; }
+
+        /// <summary>
+        /// 类型名称
+        /// </summary>
+        public string? TypeName
+        {
+            get
+            {
+                string str = "";
+                if (Type == 1) str = string.Format("住宿费");
+                else if (Type == 2) str = string.Format("伙食费");
+                else if (Type == 3) str = string.Format("公杂费");
+                else if (Type == 4) str = string.Format("培训费");
+                return str;
+            }
+        }
+
+        /// <summary>
+        /// 天数
+        /// </summary>
+        public int Days { get; set; }
+
+        /// <summary>
+        /// 出入境国家费用标准 - Id
+        /// </summary>
+        public int NationalTravelFeeId { get; set; }
+
+        /// <summary>
+        /// 出入境国家费用标准 - 国家
+        /// </summary>
+        public string? Country { get; set; }
+
+        /// <summary>
+        /// 出入境国家费用标准 - 城市
+        /// </summary>
+        public string? City { get; set; }
+
+        ///// <summary>
+        ///// 地名
+        ///// </summary>
+        //public string? Place { get; set; }
+
+        /// <summary>
+        /// 地名
+        /// </summary>
+        public string? PlaceName
+        {
+            get
+            {
+                string str = "";
+                if (!string.IsNullOrEmpty(Country))
+                {
+                    if (City.Contains("城市")) str = Country;
+                    else str = City;
+                }
+
+                return str;
+
+            }
+        }
+
+        /// <summary>
+        /// 费用标准
+        /// </summary>
+        public decimal Cost { get; set; }
+
+        /// <summary>
+        /// 币种 Id
+        /// Sys_SetData STid = 66
+        /// </summary>
+        public int Currency { get; set; }
+
+        /// <summary>
+        /// 币种Code
+        /// </summary>
+        public string? CurremcyCode { get; set; }
+
+        /// <summary>
+        /// 币种名称
+        /// </summary>
+        public string? CurrencyName { get; set; }
+
+        /// <summary>
+        /// 小计
+        /// </summary>
+        public decimal SubTotal { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string? Remark { get; set; } = "";
+    }
+
+    public class DayOtherPriceDraftView
+    {
+        public int Id { get; set; }
+
+        public int ParentId { 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; }
+    }
+
+
+    /// <summary>
+    /// 出入境国家(城市)费用标准子项Add  View
+    /// </summary>
+    public class DayAndCostDraftAddView
+    {
+        /// <summary>
+        /// 主键编号
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 主表Id
+        /// </summary>
+        public int ParentId { get; set; }
+
+        /// <summary>
+        /// 类型:1为住宿费;2为伙食费;3为公杂费;4培训费用
+        /// </summary>
+        public int Type { 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>
+        /// 币种 Id
+        /// Sys_SetData STid = 66
+        /// </summary>
+        public int Currency { get; set; }
+
+        /// <summary>
+        /// 小计
+        /// </summary>
+        public decimal SubTotal { get; set; }
+
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string? Remark { get; set; } = "";
+    }
+
+    public class DayOtherPriceDraftAddView
+    {
+        public int Id { get; set; }
+
+        public int ParentId { 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; }
+    }
+
+
+}

+ 2 - 2
OASystem/OASystem.Domain/ViewModels/Resource/OfficialActivitiesView.cs

@@ -14,7 +14,7 @@ namespace OASystem.Domain.ViewModels.Resource
         /// <summary>
         /// 翻译人员Id 
         /// </summary>
-        public int[] TranslatorIdItem { get; set; }
+        public int[] TranslatorIdItem { get; set; } = Array.Empty<int>();
 
         public List<string> ScreenshotOfMailUrls
         {
@@ -45,7 +45,7 @@ namespace OASystem.Domain.ViewModels.Resource
             }
         }
 
-        public TranslatorView TranslatorInfo { get; set; }
+        public TranslatorView TranslatorInfo { get; set; } = new TranslatorView { };
     }
 
     public class TranslatorView

+ 444 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostDraftRepository.cs

@@ -0,0 +1,444 @@
+using OASystem.Domain.Dtos.Groups;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.ViewModels.Groups;
+using OASystem.Domain;
+using OASystem.Infrastructure.Repositories.System;
+using OASystem.Infrastructure.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using AutoMapper;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    /// <summary>
+    /// 出入境费用-草稿 仓库
+    /// </summary>
+    public class EnterExitCostDraftRepository : BaseRepository<Grp_EnterExitCostDraft, EnterExitCostDraftView>
+    {
+        private readonly IMapper _mapper;
+        private readonly SetDataRepository _setDataRep;
+
+
+        public EnterExitCostDraftRepository(SqlSugarClient sqlSugar, IMapper mapper, SetDataRepository setDataRep)
+            : base(sqlSugar)
+        {
+            _setDataRep = setDataRep;
+            _mapper = mapper;
+        }
+
+        /// <summary>
+        /// 查询 根据 Id 查询
+        /// </summary>
+        /// <returns></returns>
+        public async Task<JsonView> EnterExitCostDraftInfoById(EnterExitCostDraftInfobyDiIdDto dto)
+        {
+            var result = new JsonView() { Code = 400, Msg = "暂无数据" };
+
+            var id = dto.Id;
+            var enterExitCostDraftData = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>().OrderByDescending(x => x.CreateTime).FirstAsync(it => it.Id == id && it.IsDel == 0);
+
+            var enterExitCostInfoView = new EnterExitCostDraftInfoView();
+
+            if (dto.PortType == 1 || dto.PortType == 2 || dto.PortType == 3) 
+            {
+                if (enterExitCostDraftData != null)
+                {
+                    enterExitCostInfoView = _mapper.Map<EnterExitCostDraftInfoView>(enterExitCostDraftData);
+
+                    var dayAndCostDraftSql = string.Format(@"Select ntf.Country,ntf.City,ssd.Name CurremcyCode,ssd.Remark CurrencyName,gdac.* From Grp_DayAndCostDraft gdac
+                                                        Left Join Grp_NationalTravelFee ntf On ntf.Id = gdac.NationalTravelFeeId
+                                                        Left Join Sys_SetData ssd On ssd.STid = 66 And gdac.Currency = ssd.Id
+                                                        Where gdac.Isdel = 0 And ntf.IsDel = 0 And gdac.ParentId = {0} Order By [Type] ASC,[Days] ASC", id);
+                    var dayAndCostDraftData = await _sqlSugar.SqlQueryable<DayAndCostDraftInfoView>(dayAndCostDraftSql).ToListAsync();
+
+
+                    enterExitCostInfoView.QuarterageData = dayAndCostDraftData.Where(it => it.Type == 1).ToList(); //住宿费 1
+                    enterExitCostInfoView.BoardWagesData = dayAndCostDraftData.Where(it => it.Type == 2).ToList(); //伙食费 2
+                    enterExitCostInfoView.MiscellaneousFeeData = dayAndCostDraftData.Where(it => it.Type == 3).ToList();  //公杂费 3
+                    enterExitCostInfoView.TrainingExpenseData = dayAndCostDraftData.Where(it => it.Type == 4).ToList();  //培训费 4
+
+                    enterExitCostInfoView.DayOtherPriceData = _sqlSugar.Queryable<Grp_DayOtherPriceDraft>()
+                                                                .Where(x => x.IsDel == 0 && x.ParentId == id)
+                                                                .OrderBy(x => x.Index)
+                                                                .Select(x => new DayOtherPriceDraftView
+                                                                {
+                                                                    ParentId = x.ParentId,
+                                                                    Id = x.Id,
+                                                                    Cost = x.Cost,
+                                                                    Currency = x.Currency,
+                                                                    Index = x.Index,
+                                                                    SetDataId = x.SetDataId,
+                                                                    SubTotal = x.SubTotal,
+                                                                    Remark = x.Remark,
+                                                                })
+                                                                .ToList();
+
+                    enterExitCostInfoView.Currencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(enterExitCostDraftData.CurrencyRemark);
+
+                    result.Msg = "操作成功";
+                    result.Code = 200;
+                }
+                else
+                {
+                    //    List<DayAndCostInfoView> views = new List<DayAndCostInfoView>()
+                    //    {
+                    //            new DayAndCostInfoView {Days=1},
+                    //            new DayAndCostInfoView {Days=2},
+                    //            new DayAndCostInfoView {Days=3},
+                    //            new DayAndCostInfoView {Days=4},
+                    //            new DayAndCostInfoView {Days=5},
+                    //            new DayAndCostInfoView {Days=6},
+                    //            new DayAndCostInfoView {Days=7},
+                    //            new DayAndCostInfoView {Days=8},
+                    //    };
+                    //    enterExitCostInfoView.QuarterageData = views;
+                    //    enterExitCostInfoView.BoardWagesData = views;
+                    //    enterExitCostInfoView.MiscellaneousFeeData = views;
+                    //    enterExitCostInfoView.TrainingExpenseData = views;
+                    //    result.Code = 0;
+                    result.Msg = "未查询出数据!!!";
+                }
+
+                result.Data = enterExitCostInfoView;
+            }
+            else result.Msg = MsgTips.Port;
+
+            return result;
+        }
+
+        /// <summary>
+        /// Add Or Update
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> EnterExitCostDraftOp(EnterExitCostDraftOpDto dto)
+        {
+            Result result = new Result() { Code = -1, Msg = "操作失败!" };
+
+            if (dto.SumJJC == 0) dto.OutsideJJPay = 0;
+            if (dto.SumGWC == 0) dto.OutsideGWPay = 0;
+            if (dto.SumTDC == 0) dto.OutsideTDPay = 0;
+
+            var enterExitCost = _mapper.Map<Grp_EnterExitCostDraft>(dto);
+            enterExitCost.Remark = dto.FirstItemRemark;
+            //enterExitCost.InsidePay = enterExitCost.Visa + enterExitCost.YiMiao + enterExitCost.HeSuan + enterExitCost.Service + enterExitCost.Safe + enterExitCost.Ticket;
+
+            var subData = new List<Grp_DayAndCostDraft>();
+            var quarterageData = _mapper.Map<List<Grp_DayAndCostDraft>>(dto.QuarterageData);  //住宿费 1
+            quarterageData = quarterageData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+            if (quarterageData.Any()) subData.AddRange(quarterageData);
+
+            var boardWagesData = _mapper.Map<List<Grp_DayAndCostDraft>>(dto.BoardWagesData);  //伙食费 2
+            boardWagesData = boardWagesData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+            if (boardWagesData.Any()) subData.AddRange(boardWagesData);
+
+            var miscellaneousFeeData = _mapper.Map<List<Grp_DayAndCostDraft>>(dto.MiscellaneousFeeData);  //公杂费 3
+            miscellaneousFeeData = miscellaneousFeeData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+            if (miscellaneousFeeData.Any()) subData.AddRange(miscellaneousFeeData);
+
+            var trainingExpenseData = _mapper.Map<List<Grp_DayAndCostDraft>>(dto.TrainingExpenseData);    //培训费 4
+            trainingExpenseData = trainingExpenseData.Select(it => { it.CreateUserId = dto.UserId; return it; }).ToList();
+            if (trainingExpenseData.Any()) subData.AddRange(trainingExpenseData);
+
+            //处理币种string
+            enterExitCost.CurrencyRemark = CommonFun.GetCurrencyChinaToString(dto.Currencys);
+            enterExitCost.CreateUserId = dto.UserId;
+
+            _sqlSugar.BeginTran();
+
+            if (dto.PortType == 1)
+            {
+                try
+                {
+                    int enterExitId = 0;
+
+                    var isNull = _sqlSugar.Queryable<Grp_EnterExitCostDraft>().Where(it => it.IsDel == 0 && it.DraftName.Equals(dto.DraftName)).First();
+                    if (isNull != null) //修改
+                    {
+                        var updateId = _sqlSugar.Updateable(enterExitCost)
+                                                .IgnoreColumns(it => new { it.DeleteUserId, it.DeleteTime, it.CreateUserId, it.CreateTime, it.IsDel })
+                                                .WhereColumns(it => it.DraftName)
+                                                .ExecuteCommand();
+                        if (updateId > 0)
+                        {
+                            enterExitId = isNull.Id;
+                        }
+                        else
+                        {
+                            _sqlSugar.RollbackTran();
+                            result.Msg = "修改操作失败!";
+                            return result;
+                        }
+                    }
+                    else //添加
+                    {
+                        //添加
+                        enterExitId = _sqlSugar.Insertable(enterExitCost).ExecuteReturnIdentity();
+                        if (enterExitId < 1)
+                        {
+                            _sqlSugar.RollbackTran();
+                            result.Msg = "添加操作失败!";
+                            return result;
+                        }
+                    }
+
+                    if (enterExitId > 0)
+                    {
+                        var addList = subData.Where(x => x.Id == 0).ToList();
+                        var updateList = subData.Where(x => x.Id > 0).ToList();
+
+                        if (addList.Any())
+                        {
+                            var rowCount = _sqlSugar.Insertable(addList).ExecuteCommand();
+                        }
+                        if (updateList.Any())
+                        {
+                            var rowCount = _sqlSugar.Insertable(updateList).ExecuteCommand();
+                        }
+
+                        if (dto.DayOtherPriceData.Any())
+                        {
+                            var inserList = dto.DayOtherPriceData
+                                .Where(x => x.Id == 0)
+                                .Select(x => new Grp_DayOtherPriceDraft
+                                {
+                                    Cost = x.Cost,
+                                    Id = x.Id,
+                                    CreateTime = DateTime.Now,
+                                    CreateUserId = dto.UserId,
+                                    Currency = x.Currency,
+                                    ParentId = enterExitId,
+                                    Index = x.Index,
+                                    IsDel = 0,
+                                    SetDataId = x.SetDataId,
+                                    SubTotal = x.SubTotal,
+                                    Remark = x.Remark,
+                                    
+                                })
+                                .ToList();
+                            var updateList1 = dto.DayOtherPriceData
+                                .Where(x => x.Id != 0)
+                                .Select(x => new Grp_DayOtherPriceDraft
+                                {
+                                    Cost = x.Cost,
+                                    Id = x.Id,
+                                    CreateTime = DateTime.Now,
+                                    CreateUserId = dto.UserId,
+                                    Currency = x.Currency,
+                                    ParentId = enterExitId,
+                                    Index = x.Index,
+                                    IsDel = 0,
+                                    SetDataId = x.SetDataId,
+                                    SubTotal = x.SubTotal,
+                                    Remark = x.Remark
+                                })
+                                .ToList();
+
+                            if (inserList.Any())
+                            {
+                                var rowCount = _sqlSugar.Insertable(inserList).ExecuteCommand();
+                            }
+                            if (updateList1.Any())
+                            {
+                                var rowCount = _sqlSugar.Updateable(updateList1).ExecuteCommand();
+                            }
+                        }
+
+                    }
+                    _sqlSugar.CommitTran();
+                    result.Code = 0;
+                    result.Msg = "操作成功!";
+                    result.Data = new { sign = enterExitId };
+
+                }
+                catch (Exception ex)
+                {
+                    _sqlSugar.RollbackTran();
+                    result.Msg = ex.Message;
+                }
+            }
+            else result.Msg = MsgTips.Port;
+
+
+            return result;
+        }
+
+        /// <summary>
+        /// 确认费用
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<JsonView> ConfirmCost(ConfirmCostDto dto)
+        {
+            var _view = new JsonView() { Code = 20001, Msg = "操作失败!" };
+            if (dto.Id < 1)
+            {
+                _view.Msg = MsgTips.Id;
+                return _view;
+            }
+
+            int confirm = 1;
+            if (dto.Type == 1) confirm = 2; // 确认
+            else if (dto.Type == 2) { confirm = 1; } // 撤回
+            else
+            {
+                _view.Msg = "请传入正确的type;1:确认 2:撤回";
+                return _view;
+            }
+            var update = await _sqlSugar.Updateable<Grp_EnterExitCost>()
+                                        .SetColumns(x => new Grp_EnterExitCost() { IsConfirm = confirm })
+                                        .Where(x => x.Id == dto.Id)
+                                        .ExecuteCommandAsync();
+            if (update > 0)
+            {
+                _view.Code = 200;
+                _view.Msg = "操作成功!";
+                return _view;
+            }
+
+            return _view;
+        }
+
+
+        /// <summary>
+        /// Del
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> PostEnterExitCostSubItemDel(EnterExitCostSubItemDelDto dto)
+        {
+            Result result = new Result();
+
+            var data = new Grp_DayAndCost()
+            {
+                Id = dto.Id,
+                IsDel = 1,
+                DeleteUserId = dto.DeleteUserId,
+                DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")
+            };
+
+            var del = _sqlSugar.Updateable(data).UpdateColumns(it => new { it.IsDel, it.DeleteUserId, it.DeleteTime }).ExecuteCommand();
+
+            if (del > 0) result.Code = 0;
+            else result.Msg = string.Format("删除失败!");
+
+            return result;
+        }
+
+        /// <summary>
+        /// 团组模块 - 出入境国家费用标准 - Add Or Update
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> PostNationalTravelFeeOperate(NationalTravelFeeOperateDto dto)
+        {
+            Result result = new Result();
+
+            Grp_NationalTravelFee nationalTravelFee = _mapper.Map<Grp_NationalTravelFee>(dto);
+            nationalTravelFee.LastUpdateUserId = dto.UserId;
+            nationalTravelFee.CreateUserId = dto.UserId;
+
+            if (dto.PortType == 1) //web
+            {
+
+                var _nationalTravelFee = _sqlSugar.Storageable<Grp_NationalTravelFee>(nationalTravelFee).ToStorage();
+                if (dto.Id == 0) //新增
+                {
+                    string selectSql = string.Format(@"Select * From Grp_NationalTravelFee 
+                                                   Where IsDel = 0 
+                                                   And Continent = '{0}' 
+                                                   And Country = '{1}'
+                                                   And City = '{2}'", dto.Continent, dto.Country, dto.City);
+                    Grp_NationalTravelFee nationalTravelFee1 = new Grp_NationalTravelFee();
+                    nationalTravelFee1 = await _sqlSugar.SqlQueryable<Grp_NationalTravelFee>(selectSql).FirstAsync();
+                    if (nationalTravelFee1 != null)
+                    {
+                        result.Msg = "该国家 城市已存在,请勿重复添加!";
+                        return result;
+                    }
+
+                    _nationalTravelFee.AsInsertable.ExecuteCommand();   //不存在插入
+                }
+                else
+                {
+                    _nationalTravelFee.AsUpdateable
+                    .IgnoreColumns(it => new { it.CreateUserId, it.CreateTime, it.IsDel })
+                    .WhereColumns(it => it.Id)
+                    .ExecuteCommand();   //存在更新
+                }
+
+                result.Code = 0;
+            }
+            else if (dto.PortType == 2) //Android
+            {
+
+            }
+            else if (dto.PortType == 3) //Ios
+            {
+
+            }
+            else result.Msg = MsgTips.Port;
+
+            return result;
+        }
+
+
+        /// <summary>
+        /// 一键清空
+        /// 删除主表数据 Update
+        /// 删除子表数据 delete
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="diid"></param>
+        /// <returns></returns>
+        public async Task<Result> _OneClickClear(int id, int diId, int userId)
+        {
+            Result result = new Result() { Code = -1, Msg = "操作成功!" };
+
+            if (id < 1) return result = new Result() { Code = -1, Msg = "请传入有效的Id参数!" };
+            if (diId < 1) return result = new Result() { Code = -1, Msg = "请传入有效的Id参数!" };
+            if (userId < 1) return result = new Result() { Code = -1, Msg = "请传入有效的UserId参数!" };
+
+            BeginTran();
+            Grp_EnterExitCost _EnterExitCost = new Grp_EnterExitCost()
+            {
+                Id = id,
+                IsDel = 1,
+                DeleteUserId = userId,
+                DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+            };
+
+            //int update = await _sqlSugar.Updateable<Grp_EnterExitCost>(_EnterExitCost).Where(it => it.Id == id).ExecuteCommandAsync();
+            int update = await _sqlSugar.Updateable<Grp_EnterExitCost>(_EnterExitCost)
+                                        .UpdateColumns(it => new {
+                                            it.IsDel,
+                                            it.DeleteUserId,
+                                            it.DeleteTime
+                                        })
+                                        .Where(it => it.Id == id).ExecuteCommandAsync();
+
+            if (update > 0)
+            {
+                string sqlDelete = string.Format(@"Delete From Grp_DayAndCost Where Diid = {0} ", diId);
+                await ExecuteCommandAsync(sqlDelete);
+                result.Code = 0;
+                result.Msg = "操作成功!";
+                CommitTran();
+            }
+            else
+            {
+                result.Msg = "操作失败";
+                RollbackTran();
+            }
+
+            return result;
+        }
+
+
+
+
+    }
+}

+ 6 - 5
OASystem/OASystem.Infrastructure/Repositories/Resource/OfficialActivitiesRepository.cs

@@ -160,17 +160,18 @@ FROM
   LEFT JOIN Sys_Users u ON oa.CreateUserId = u.Id
   LEFT JOIN Sys_SetData sd ON oa.OfficialForm = sd.Id
 {0}", sqlWhere);
-                var oa = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql)
-                    .FirstAsync();
+                var oa = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).FirstAsync();
                 //OfficialActivities.ScreenshotOfMailUrls.ForEach(url => { url = AppSettingsHelper.Get("GrpFileBaseUrl") + url; });
 
-                oa.TranslatorIdItem = _sqlSugar.Queryable<Grp_OfficialDutyLinkTranslator>()
-                    .Where(x => x.IsDel == 0 && x.OfficialDutyId == dto.Id)
+                var array1 =  _sqlSugar.Queryable<Grp_OfficialDutyLinkTranslator>()
+                    .Where(x => x.IsDel == 0 && x.OfficialDutyId == dto.Id && x.TranslatorId == )
                     .Select(x => x.TranslatorId)
                     .ToArray();
 
-                if (oa.TranslatorIdItem.Any())
+                if (array1.Any()) 
                 {
+                    oa.TranslatorIdItem = array1;
+
                     var translatorInfo = await _sqlSugar.Queryable<Res_TranslatorLibrary>()
                    .Where(x => x.IsDel == 0 && oa.TranslatorIdItem[0] == dto.Id)
                    .FirstAsync();