|
@@ -22,6 +22,7 @@ using Microsoft.AspNetCore.Mvc.Filters;
|
|
|
using OASystem.Domain.Entities.Customer;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
using OASystem.Domain.Dtos.CRM;
|
|
|
+using System.Diagnostics;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -2194,9 +2195,61 @@ namespace OASystem.API.Controllers
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 团组模块 - 出入境费用 - 子项 地区更改为 nationalTravelFee 的id
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> SetDayAndCostAreaChange()
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var nationalTravelFee = await _sqlSugar.Queryable<Grp_NationalTravelFee>().ToListAsync();
|
|
|
+ var dayAndCost = await _sqlSugar.Queryable<Grp_DayAndCost>().Where(it => it.IsDel == 0).ToListAsync();
|
|
|
+
|
|
|
+ var unite = dayAndCost.Where(a => nationalTravelFee.Any(b => a.Place.Trim() == b.City)).ToList(); //交集
|
|
|
+
|
|
|
+ var merge = dayAndCost.Where(a =>! nationalTravelFee.Any(b => a.Place.Trim() == b.City)).ToList(); //差集
|
|
|
+
|
|
|
+ foreach (var item in unite) //处理交集数据
|
|
|
+ {
|
|
|
+ dayAndCost.Where(it => it.Id == item.Id).FirstOrDefault().NationalTravelFeeId = nationalTravelFee.Where(it => it.City.Trim() == item.Place.Trim()).FirstOrDefault().Id;
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach (var item in merge) //处理差集数据
|
|
|
+ {
|
|
|
+ int nationalTravelFeeId = 0;
|
|
|
+
|
|
|
+ var cityData = nationalTravelFee.Where(it => it.City.Trim() == item.Place.Trim()).FirstOrDefault();
|
|
|
+
|
|
|
+ if (cityData != null) nationalTravelFeeId = cityData.Id;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var countryData = nationalTravelFee.Where(it => it.Country.Trim() == item.Place.Trim()).FirstOrDefault();
|
|
|
+ if (countryData != null) nationalTravelFeeId = countryData.Id;
|
|
|
+ }
|
|
|
+
|
|
|
+ dayAndCost.Where(it => it.Id == item.Id).FirstOrDefault().NationalTravelFeeId = nationalTravelFeeId;
|
|
|
+ }
|
|
|
+
|
|
|
+ //只更新dayAndCost 的 nationalTravelFeeId;
|
|
|
+ var result = _sqlSugar.Updateable(dayAndCost).UpdateColumns(it => new { it.NationalTravelFeeId }).ExecuteCommand();
|
|
|
+
|
|
|
+ if (result > 0) return Ok(JsonView(true, "nationalTravelFeeId列更新成功!"));
|
|
|
+ else return Ok(JsonView(false, "nationalTravelFeeId列更新失败!"));
|
|
|
+
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, ex.Message));
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 团组模块 - 出入境费用 - 基础数据源(团组名称/币种类型/出入境国家费用标准)
|
|
|
+ /// 团组模块 - 出入境费用 - 基础数据源(团组名称/币种类型)
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
@@ -2211,17 +2264,17 @@ namespace OASystem.API.Controllers
|
|
|
var currencyData = await _sqlSugar.SqlQueryable<SetDataInfoView>(currencySql).ToListAsync();
|
|
|
|
|
|
|
|
|
- string nationalTravelFeeSql = string.Format(@"Select ssd.Name as CurrencyCode, ssd.Remark as CurrencyName,su.CnName as LastUpdateUserName,gntf.* From Grp_NationalTravelFee gntf
|
|
|
- Left Join Sys_SetData ssd On ssd.STid = 66 And gntf.Currency = ssd.Id
|
|
|
- Left Join Sys_Users su On gntf.LastUpdateUserId = su.Id
|
|
|
- Where gntf.Isdel = 0");
|
|
|
- var nationalTravelFeeData = await _sqlSugar.SqlQueryable<NationalTravelFeeInfoView>(nationalTravelFeeSql).ToListAsync();
|
|
|
+ //string nationalTravelFeeSql = string.Format(@"Select ssd.Name as CurrencyCode, ssd.Remark as CurrencyName,su.CnName as LastUpdateUserName,gntf.* From Grp_NationalTravelFee gntf
|
|
|
+ // Left Join Sys_SetData ssd On ssd.STid = 66 And gntf.Currency = ssd.Id
|
|
|
+ // Left Join Sys_Users su On gntf.LastUpdateUserId = su.Id
|
|
|
+ // Where gntf.Isdel = 0");
|
|
|
+ //var nationalTravelFeeData = await _sqlSugar.SqlQueryable<NationalTravelFeeInfoView>(nationalTravelFeeSql).ToListAsync();
|
|
|
|
|
|
|
|
|
return Ok(JsonView(true, "查询成功!",new {
|
|
|
GroupNameData = groupNameData.Data,
|
|
|
CurrencyData = currencyData,
|
|
|
- NationalTravelFeeData = nationalTravelFeeData
|
|
|
+ //NationalTravelFeeData = nationalTravelFeeData
|
|
|
}));
|
|
|
}
|
|
|
catch (Exception ex)
|
|
@@ -2280,7 +2333,7 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(false, ex.Message));
|
|
|
}
|
|
|
}
|
|
|
- //
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
/// 团组模块 - 出入境费用 - 子项删除
|
|
@@ -2307,6 +2360,83 @@ namespace OASystem.API.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 团组模块 - 出入境国家费用标准 List
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> GetNationalTravelFeeData(PortDtoBase dto)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Stopwatch sw = new Stopwatch();
|
|
|
+ sw.Start();
|
|
|
+ string nationalTravelFeeSql = string.Format(@"Select ssd.Name as CurrencyCode, ssd.Remark as CurrencyName,su.CnName as LastUpdateUserName,gntf.* From Grp_NationalTravelFee gntf
|
|
|
+ Left Join Sys_SetData ssd On ssd.STid = 66 And gntf.Currency = ssd.Id
|
|
|
+ Left Join Sys_Users su On gntf.LastUpdateUserId = su.Id
|
|
|
+ Where gntf.Isdel = 0");
|
|
|
+ var nationalTravelFeeData = await _sqlSugar.SqlQueryable<NationalTravelFeeInfoView>(nationalTravelFeeSql).ToListAsync();
|
|
|
+
|
|
|
+ var nationalTravel = nationalTravelFeeData.GroupBy(it => it.Country).Select(it1 => it1.FirstOrDefault());
|
|
|
+
|
|
|
+ List<dynamic> nationalTravelFeeData1 = new List<dynamic>();
|
|
|
+
|
|
|
+ foreach (var item in nationalTravel)
|
|
|
+ {
|
|
|
+ var cityData = nationalTravelFeeData.Where(it => it.Country == item.Country).ToList();
|
|
|
+ var otherData = cityData.Where(it => it.City.Contains("其他城市")).FirstOrDefault();
|
|
|
+ if (otherData != null)
|
|
|
+ {
|
|
|
+ cityData.Remove(otherData);
|
|
|
+ cityData.Add(otherData);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ nationalTravelFeeData1.Add(new
|
|
|
+ {
|
|
|
+ Country = item.Country,
|
|
|
+ CityData = cityData
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ sw.Stop();
|
|
|
+ return Ok(JsonView(true, "查询成功!耗时:"+ sw.ElapsedMilliseconds+"ms", nationalTravelFeeData1));
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, ex.Message));
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 团组模块 - 出入境国家费用标准 - Add Or Update
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> PostNationalTravelFeeOperate(NationalTravelFeeOperateDto dto)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var data = await _enterExitCostRep.PostNationalTravelFeeOperate(dto);
|
|
|
+
|
|
|
+ if (data.Code != 0)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, data.Msg));
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(JsonView(true, "操作成功!", data.Data));
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(false, ex.Message));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
#endregion
|
|
|
}
|
|
|
}
|