Bladeren bron

成本修改签证成本

yuanrf 1 dag geleden
bovenliggende
commit
7888ed9113
1 gewijzigde bestanden met toevoegingen van 55 en 19 verwijderingen
  1. 55 19
      OASystem/OASystem.Api/Controllers/GroupsController.cs

+ 55 - 19
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -9033,7 +9033,7 @@ FROM
 
                         #endregion
 
-                        var guid = CommonFun.GUID.Substring(0,8);
+                        var guid = CommonFun.GUID.Substring(0, 8);
                         //文件名
                         string strFileName = CommonFun.ValidFileName($"{_DelegationInfo.TeamName}出入境费用{guid}.docx");
                         AsposeHelper.removewatermark_v2180();
@@ -17520,11 +17520,18 @@ end as 'country'
             var groupInfo = await _groupRepository.PostShareGroupInfo(new ShareGroupInfoDto { PortType = 1, Id = diid }); //团组信息
 
 
-            var visaCountryInfoArr = new List<Res_CountryFeeCost>();
-            var groupinfoValue = (groupInfo.Data as Web_ShareGroupInfoView);
+            var visaCountryInfoArr = new ArrayList();
+            var groupinfoValue = _sqlSugar.Queryable<Grp_DelegationInfo>().First(x => x.Id == diid && x.IsDel == 0);
             if (groupinfoValue != null)
             {
                 var countryArr = groupinfoValue.VisitCountry ??= string.Empty;
+                var dicity = _sqlSugar.Queryable<Sys_Cities>().First(x => x.IsDel == 0 && x.Id == groupinfoValue.CityId);
+                dicity ??= new Sys_Cities()
+                {
+                    ParentId = 122
+                };
+                var diparent = _sqlSugar.Queryable<Sys_Cities>().First(x => x.IsDel == 0 && x.Id == dicity.ParentId);
+
                 var spArr = new string[1] { countryArr };
                 if (countryArr.Contains("|"))
                 {
@@ -17537,10 +17544,50 @@ end as 'country'
 
                 foreach (var item in spArr.Where(x => !string.IsNullOrWhiteSpace(x)).ToList())
                 {
-                    var dbQueryCountry = _sqlSugar.Queryable<Res_CountryFeeCost>().First(x => x.VisaCountry.Contains(item));
-                    if (dbQueryCountry != null)
+                    try
                     {
-                        visaCountryInfoArr.Add(dbQueryCountry);
+                        var visa = _sqlSugar.Queryable<Res_VisaFeeStandard>()
+                       .Where(x => x.IsDel == 0 && x.Country == item)
+                       .ToList();
+                        var visainfo = _sqlSugar.Queryable<Res_VisaFeeStandardDetails>()
+                        .Where(x => x.IsDel == 0 && visa.Select(x => x.Id).Contains(x.ParentId))
+                        .ToList();
+                        var visaMain = visainfo.FirstOrDefault(x => x.ProvinceId == diparent.Id);
+                        var visayinsiValue = visainfo.FirstOrDefault(x => x.ParentId == visa.FirstOrDefault(x => x.FeeType == 1)?.Id);
+                        visaCountryInfoArr.Add(new
+                        {
+                            country = item,
+                            yinsi = new
+                            {
+                                Id = visayinsiValue.Id,
+                                value = visayinsiValue.SmallVisaPrice
+                            },
+                            visaMain = new
+                            {
+                                Id = visaMain.Id,
+                                IsVisaOnArrival = visaMain.IsVisaOnArrival ? "是" : "否",
+                                IsElectronicSign = visaMain.IsElectronicSign ? "是" : "否",
+                                VisaTime = visaMain.VisaTime,
+                                IsVisaExemptionLarge = visaMain.IsVisaExemptionLarge ? "是" : "否",
+                                LargeVisaPrice = visaMain.LargeVisaPrice,
+                                LargeAgencyFee = visaMain.LargeAgencyFee,
+                                IsVisaExemptionSmall = visaMain.IsVisaExemptionSmall ? "是" : "否",
+                                SmallVisaPrice = visaMain.SmallVisaPrice,
+                                SmallAgencyFee = visaMain.SmallAgencyFee,
+                                NormExtFee = visaMain.NormExtFee,
+                                UrgExtFee = visaMain.UrgExtFee,
+                                IsUrgent = visaMain.IsUrgent ? "是" : "否",
+                                UrgentTime = visaMain.UrgentTime,
+                                UrgentPrice = visaMain.UrgentPrice,
+                                UrgentPriceDesc = visaMain.UrgentPriceDesc,
+                                Remark = visaMain.Remark,
+                            }
+                        });
+                    }
+                    catch (Exception ex)
+                    {
+                        //写入日志
+                        _logger.LogError(ex, "团组成本解析签证异常!");
                     }
                 }
 
@@ -17590,18 +17637,7 @@ end as 'country'
                 groupCost = groupCostMap,
                 hotelNumber,
                 GroupCostParameter = GroupCostParameterMap,
-                visaCountryInfoArr = visaCountryInfoArr.Select(x => new
-                {
-                    x.VisaCountry,
-                    x.VisaPrice,
-                    x.Id,
-                    IsVisaExemption = x.IsVisaExemption == 1 ? "否" : "是", //免签
-                    IsElectronicSignature = x.IsElectronicSignature == 1 ? "否" : "是", //电子签
-                    IsVisaOnArrival = x.IsVisaOnArrival == 1 ? "否" : "是", //落地签
-                    x.VisaTime, // 一般签证时间
-                    x.PettyBusinessAgencyFee, //小公务代办费
-                    x.GrandBusinessAgencyFee //大公务代办费
-                }).ToList(),
+                visaCountryInfoArr = visaCountryInfoArr,
                 baoPi = _GroupCostParameterRepository.GetBaoPi(diid),
                 blackCodeIsTrue = _sqlSugar.Queryable<Air_TicketBlackCode>().Where(x => x.IsDel == 0 && x.DiId == diid).Any(), //create.Code == 0 ? true : false,
                 hotelIsTrue,
@@ -28418,7 +28454,7 @@ WHERE
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> GroupProcessUpdateNodeStatus(GroupProcessUpdateNodeStatusDto dto)
         {
-            var res = await _processOverviewRep.UpdateNodeStatusAsync(dto.NodeId,dto.CurrUserId);
+            var res = await _processOverviewRep.UpdateNodeStatusAsync(dto.NodeId, dto.CurrUserId);
 
             if (res.Code == StatusCodes.Status200OK)
             {