ソースを参照

增强费用处理逻辑和汇率计算

在 `GroupsController.cs` 中,添加了对 `portType` 的检查,以确保在处理 `TipsType` 为 2 时,`DraftId`、`cityIds` 和 `countrys` 的有效性,并移除了相关注释代码以简化逻辑。

在 `GeneralMethod.cs` 中,注释掉了对日元汇率的特殊处理,保留了其他货币的处理,以简化汇率计算逻辑。

在 `DailyFeePaymentRepository.cs` 中,添加了对费用数据审核状态的注释,帮助后续开发人员理解业务逻辑的变化和需求。
LEIYI 2 ヶ月 前
コミット
1a448f62b6

+ 13 - 5
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -10725,6 +10725,7 @@ FROM
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> EnterExitCostDraftMobileFeeTips(EnterExitCostDraftMobileFeeTipsDto dto)
         {
+            int portType = dto.PortType;
             if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
 
             var tipsData = new List<int>() { 1, 2, 3 };
@@ -10736,23 +10737,30 @@ FROM
             }
             else if (dto.TipsType == 2)
             {
-                //if (dto.DraftId < 1) return Ok(JsonView(false,MsgTips.Id));
+                if (portType == 2)
+                {
+                    if (dto.DraftId < 1) return Ok(JsonView(false, MsgTips.Id));
+                }
 
                 var cityIds = await _sqlSugar.Queryable<Grp_DayAndCostDraft>()
                     .Where(x => x.IsDel == 0 && x.ParentId == dto.DraftId)
                     .Select(x => x.NationalTravelFeeId)
                     .Distinct()
                     .ToListAsync();
-
-                //if (!cityIds.Any()) return Ok(JsonView(false, "请先录入出入境费用明细!"));
-
+                if (portType == 2)
+                {
+                    if (!cityIds.Any()) return Ok(JsonView(false, "请先录入出入境费用明细!"));
+                }
                 var countrys = await _sqlSugar.Queryable<Grp_NationalTravelFee>()
                     .Where(x => x.IsDel == 0 && cityIds.Contains(x.Id))
                     .Select(x => x.Country)
                     .Distinct()
                     .ToArrayAsync();
-                //if (!countrys.Any()) return Ok(JsonView(false, "请先录入出入境费用明细!"));
 
+                if (portType == 2)
+                {
+                    if (!countrys.Any()) return Ok(JsonView(false, "请先录入出入境费用明细!"));
+                }
                 (decimal totalAmt, string remark) = await _visaFeeInfoRep.EnterExitCostDraftVisaTips(countrys);
 
                 return Ok(JsonView(true, "查询成功!", new

+ 4 - 2
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -3972,8 +3972,10 @@ namespace OASystem.API.OAMethodLib
                     {
                         decimal rate1 = Convert.ToDecimal(rateInfo.FSellPri) / 100.00M;
 
-                        if (rateInfo.Name.Equals("日元")) rate1 *= 1.3700M; //rate1 = rate1 * 1;
-                        else rate1 *= 1.035M;
+                        //if (rateInfo.Name.Equals("日元")) rate1 *= 1.3700M; //rate1 = rate1 * 1;
+                        //else rate1 *= 1.035M;
+
+                        rate1 *= 1.035M;
 
                         item.Rate = rate1.TruncDecimals(4) + 0.01M;
                     }

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

@@ -383,7 +383,7 @@ namespace OASystem.Infrastructure.Repositories.Financial
             /*
              * 2024-10-29
              * 各部门基础固定费用明细”里的费用数据新增后,财务和总经理审核都默认直接通过isAudit=1),并且可编辑,如果ispay=1的话将不可编辑
-             * 2025-02-24
+             *  2025-02-24
              * 团组费用 默认总经理审核通过
              */
             var priceTypeInfo = await _sqlSugar.Queryable<Sys_SetData>().FirstAsync(x => x.IsDel == 0 && x.Id == dto.PriceTypeId);