Browse Source

优化团组费用相关功能及代码结构

- 格式化 `GroupsController.cs` 中的 `EnterExitCostDraftDataSource` 方法,移除多余的 `try-catch` 结构。
- 更改 `EnterExitCostDraftInfobyDiId` 方法名称为 `EnterExitCostDraftInfoById`,保持一致性。
- 在 `StatisticsController.cs` 中新增 `PostGroupStatementDetails1` 方法,并添加详细注释。
- 更新 `_baseMappingProfile.cs` 中的映射关系,移除不必要的映射。
- 修改 `EnterExitCostDraftDto.cs` 中的类名以保持一致性。
- 更改 `Grp_DayOtherPriceDraft.cs` 中的表名。
- 在 `EnterExitCostDraftView.cs` 中移除 `DiId` 属性,添加 `DraftName` 属性。
- 更新 `EnterExitCostDraftRepository.cs` 中的方法参数类型和查询逻辑,确保数据正确性。
- 修复 `subData` 的更新逻辑,确保插入和更新操作的正确性。
LEIYI 2 months ago
parent
commit
d31e2d2783

+ 34 - 42
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -7196,29 +7196,27 @@ FROM
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> EnterExitCostDraftDataSource(PortDtoBase dto)
         public async Task<IActionResult> EnterExitCostDraftDataSource(PortDtoBase dto)
         {
         {
-            try
-            {
-                var draftNameDatas = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>()
-                    .Where(x => x.IsDel == 0)
-                    .OrderByDescending(x => x.CreateTime)
-                    .Select(x => new { x.Id, x.DraftName })
-                    .ToListAsync();
+            var draftNameDatas = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>()
+                     .Where(x => x.IsDel == 0)
+                     .OrderByDescending(x => x.CreateTime)
+                     .Select(x => new { x.Id, x.DraftName })
+                     .ToListAsync();
 
 
-                string sql = string.Format("Select * From Sys_SetData Where IsDel = 0");
-                //SetDataInfoView
-                var dataSource = await _sqlSugar.SqlQueryable<Sys_SetData>(sql).ToListAsync();
+            string sql = string.Format("Select * From Sys_SetData Where IsDel = 0");
+            //SetDataInfoView
+            var dataSource = await _sqlSugar.SqlQueryable<Sys_SetData>(sql).ToListAsync();
 
 
-                var currencyData = dataSource.Where(it => it.STid == 66).ToList(); //所有币种
-                var _CurrencyData = _mapper.Map<List<SetDataInfoView>>(currencyData);
+            var currencyData = dataSource.Where(it => it.STid == 66).ToList(); //所有币种
+            var _CurrencyData = _mapper.Map<List<SetDataInfoView>>(currencyData);
 
 
-                var wordTypeData = dataSource.Where(it => it.STid == 72).ToList();  //三公费用-Word明细类型
-                var _WordTypeData = _mapper.Map<List<SetDataInfoView>>(wordTypeData);
+            var wordTypeData = dataSource.Where(it => it.STid == 72).ToList();  //三公费用-Word明细类型
+            var _WordTypeData = _mapper.Map<List<SetDataInfoView>>(wordTypeData);
 
 
-                var excelTypeData = dataSource.Where(it => it.STid == 73).ToList(); //三公费用-Excel明细类型
-                var _ExcelTypeData = _mapper.Map<List<SetDataInfoView>>(excelTypeData);
+            var excelTypeData = dataSource.Where(it => it.STid == 73).ToList(); //三公费用-Excel明细类型
+            var _ExcelTypeData = _mapper.Map<List<SetDataInfoView>>(excelTypeData);
 
 
-                //默认币种显示
-                List<CurrencyInfo> _currencyInfos = new List<CurrencyInfo>()
+            //默认币种显示
+            List<CurrencyInfo> _currencyInfos = new List<CurrencyInfo>()
                 {
                 {
                     new CurrencyInfo (){ CurrencyCode="USD",CurrencyName = "美元",Rate = 7.5000M },
                     new CurrencyInfo (){ CurrencyCode="USD",CurrencyName = "美元",Rate = 7.5000M },
                     new CurrencyInfo (){ CurrencyCode="EUR",CurrencyName = "欧元",Rate = 8.0000M },
                     new CurrencyInfo (){ CurrencyCode="EUR",CurrencyName = "欧元",Rate = 8.0000M },
@@ -7228,36 +7226,30 @@ FROM
 
 
                 };
                 };
 
 
-                var _currencyRate = await _juHeApi.PostItemRateAsync(_currencyInfos.Select(it => it.CurrencyCode).ToArray());
-                if (_currencyRate.Count > 0)
+            var _currencyRate = await _juHeApi.PostItemRateAsync(_currencyInfos.Select(it => it.CurrencyCode).ToArray());
+            if (_currencyRate.Count > 0)
+            {
+                foreach (var item in _currencyInfos)
                 {
                 {
-                    foreach (var item in _currencyInfos)
+                    var rateInfo = _currencyRate.Where(it => it.Name.Equals(item.CurrencyName)).FirstOrDefault();
+                    if (rateInfo != null)
                     {
                     {
-                        var rateInfo = _currencyRate.Where(it => it.Name.Equals(item.CurrencyName)).FirstOrDefault();
-                        if (rateInfo != null)
-                        {
-                            decimal rate1 = Convert.ToDecimal(rateInfo.FSellPri) / 100.00M;
-                            rate1 *= 1.035M;
+                        decimal rate1 = Convert.ToDecimal(rateInfo.FSellPri) / 100.00M;
+                        rate1 *= 1.035M;
 
 
-                            item.Rate = Convert.ToDecimal(rate1.ToString("#0.00")) + 0.01M;
-                        }
+                        item.Rate = Convert.ToDecimal(rate1.ToString("#0.00")) + 0.01M;
                     }
                     }
                 }
                 }
-
-                return Ok(JsonView(true, "查询成功!", new
-                {
-                    DraftNameDatas = draftNameDatas,
-                    CurrencyData = _CurrencyData,
-                    WordTypeData = _WordTypeData,
-                    ExcelTypeData = _ExcelTypeData,
-                    CurrencyInit = _currencyInfos
-                }));
             }
             }
-            catch (Exception ex)
+
+            return Ok(JsonView(true, "查询成功!", new
             {
             {
-                return Ok(JsonView(false, ex.Message));
-                throw;
-            }
+                DraftNameDatas = draftNameDatas,
+                CurrencyData = _CurrencyData,
+                WordTypeData = _WordTypeData,
+                ExcelTypeData = _ExcelTypeData,
+                CurrencyInit = _currencyInfos
+            }));
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -7320,7 +7312,7 @@ FROM
         /// <returns></returns>
         /// <returns></returns>
         [HttpPost]
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> EnterExitCostDraftInfobyDiId(EnterExitCostDraftInfobyDiIdDto dto)
+        public async Task<IActionResult> EnterExitCostDraftInfoById(EnterExitCostDraftInfoByIdDto dto)
         {
         {
             return Ok(await _enterExitCostDraftRep.EnterExitCostDraftInfoById(dto));
             return Ok(await _enterExitCostDraftRep.EnterExitCostDraftInfoById(dto));
         }
         }

File diff suppressed because it is too large
+ 1196 - 0
OASystem/OASystem.Api/Controllers/StatisticsController.cs


+ 2 - 2
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -125,8 +125,8 @@ namespace OASystem.Domain.AutoMappers
 
 
             CreateMap<Grp_EnterExitCostDraft, EnterExitCostDraftInfoView>();
             CreateMap<Grp_EnterExitCostDraft, EnterExitCostDraftInfoView>();
 
 
-            CreateMap<Grp_EnterExitCostDraft, EnterExitCostDraftOpDto>();
-            CreateMap<Grp_DayAndCostDraft, DayAndCostDraftAddView>();
+            CreateMap<EnterExitCostDraftOpDto, Grp_EnterExitCostDraft>();
+            CreateMap<DayAndCostDraftAddView, Grp_DayAndCostDraft>();
             CreateMap<Grp_DayAndCostDraft, DayAndCostDraftAddView>();
             CreateMap<Grp_DayAndCostDraft, DayAndCostDraftAddView>();
 
 
 
 

+ 1 - 1
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDraftDto.cs

@@ -14,7 +14,7 @@ namespace OASystem.Domain.Dtos.Groups
     /// <summary>
     /// <summary>
     /// 出入境费用详情 Dto
     /// 出入境费用详情 Dto
     /// </summary>
     /// </summary>
-    public class EnterExitCostDraftInfobyDiIdDto : PortDtoBase
+    public class EnterExitCostDraftInfoByIdDto : PortDtoBase
     {
     {
         /// <summary>
         /// <summary>
         /// Id
         /// Id

+ 1 - 1
OASystem/OASystem.Domain/Entities/Groups/Grp_DayOtherPriceDraft.cs

@@ -9,7 +9,7 @@ namespace OASystem.Domain.Entities.Groups
     /// <summary>
     /// <summary>
     /// 三公费用其他费用表 草稿
     /// 三公费用其他费用表 草稿
     /// </summary>
     /// </summary>
-    [SugarTable("Grp_DayAndCostDraft")]
+    [SugarTable("Grp_DayOtherPriceDraft")]
     public class Grp_DayOtherPriceDraft : EntityBase
     public class Grp_DayOtherPriceDraft : EntityBase
     {
     {
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]

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

@@ -25,7 +25,7 @@ namespace OASystem.Domain.ViewModels.Groups
         /// <summary>
         /// <summary>
         /// 团组Id
         /// 团组Id
         /// </summary>
         /// </summary>
-        public int DiId { get; set; }
+        public string DraftName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 境内费用(其他费用)
         /// 境内费用(其他费用)

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

@@ -33,7 +33,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// 查询 根据 Id 查询
         /// 查询 根据 Id 查询
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public async Task<JsonView> EnterExitCostDraftInfoById(EnterExitCostDraftInfobyDiIdDto dto)
+        public async Task<JsonView> EnterExitCostDraftInfoById(EnterExitCostDraftInfoByIdDto dto)
         {
         {
             var result = new JsonView() { Code = 400, Msg = "暂无数据" };
             var result = new JsonView() { Code = 400, Msg = "暂无数据" };
 
 
@@ -62,7 +62,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
 
                     enterExitCostInfoView.DayOtherPriceData = _sqlSugar.Queryable<Grp_DayOtherPriceDraft>()
                     enterExitCostInfoView.DayOtherPriceData = _sqlSugar.Queryable<Grp_DayOtherPriceDraft>()
                                                                 .Where(x => x.IsDel == 0 && x.ParentId == id)
                                                                 .Where(x => x.IsDel == 0 && x.ParentId == id)
-                                                                .OrderBy(x => x.Index)
                                                                 .Select(x => new DayOtherPriceDraftView
                                                                 .Select(x => new DayOtherPriceDraftView
                                                                 {
                                                                 {
                                                                     ParentId = x.ParentId,
                                                                     ParentId = x.ParentId,
@@ -74,6 +73,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                                                                     SubTotal = x.SubTotal,
                                                                     SubTotal = x.SubTotal,
                                                                     Remark = x.Remark,
                                                                     Remark = x.Remark,
                                                                 })
                                                                 })
+                                                                .OrderBy(x => x.Index)
                                                                 .ToList();
                                                                 .ToList();
 
 
                     enterExitCostInfoView.Currencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(enterExitCostDraftData.CurrencyRemark);
                     enterExitCostInfoView.Currencys = (List<CurrencyInfo>?)CommonFun.GetCurrencyChinaToList(enterExitCostDraftData.CurrencyRemark);
@@ -187,6 +187,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
 
                     if (enterExitId > 0)
                     if (enterExitId > 0)
                     {
                     {
+                        subData = subData.Select(x => { x.ParentId = enterExitId; return x; }).ToList();
+
                         var addList = subData.Where(x => x.Id == 0).ToList();
                         var addList = subData.Where(x => x.Id == 0).ToList();
                         var updateList = subData.Where(x => x.Id > 0).ToList();
                         var updateList = subData.Where(x => x.Id > 0).ToList();
 
 
@@ -196,7 +198,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                         }
                         }
                         if (updateList.Any())
                         if (updateList.Any())
                         {
                         {
-                            var rowCount = _sqlSugar.Insertable(updateList).ExecuteCommand();
+                            var rowCount = _sqlSugar.Updateable(updateList).ExecuteCommand();
                         }
                         }
 
 
                         if (dto.DayOtherPriceData.Any())
                         if (dto.DayOtherPriceData.Any())