|
|
@@ -1324,6 +1324,9 @@ namespace OASystem.API.Controllers
|
|
|
List<Grp_HotelReservations> _HotelReservations = await _groupRepository
|
|
|
.Query<Grp_HotelReservations>(s => s.DiId == _dto.DiId && s.IsDel == 0)
|
|
|
.ToListAsync();
|
|
|
+ List<Grp_HotelReservationsContent> _HotelReservationsContents = await _groupRepository
|
|
|
+ .Query<Grp_HotelReservationsContent>(s => s.DiId == _dto.DiId && s.IsDel == 0)
|
|
|
+ .ToListAsync();
|
|
|
|
|
|
/*
|
|
|
* 79://车/导游地接
|
|
|
@@ -1462,7 +1465,11 @@ namespace OASystem.API.Controllers
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- CurrPayStr = (entity.PayMoney * entity.PayPercentage / 100 * entity.DayRate).ConvertToDecimal1();
|
|
|
+ if (entity.PayMoney != 0)
|
|
|
+ {
|
|
|
+ CurrPayStr = (entity.PayMoney * entity.PayPercentage / 100 * entity.DayRate).ConvertToDecimal1();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
_detail.CurrPay = CurrPayStr.ToString("#0.00") + " CNY";
|
|
|
|
|
|
@@ -1470,11 +1477,14 @@ namespace OASystem.API.Controllers
|
|
|
* 剩余尾款
|
|
|
*/
|
|
|
decimal BalanceStr = 0;
|
|
|
- if (entity.PayMoney - (CurrPayStr / entity.DayRate) < 0.01M)
|
|
|
- BalanceStr = 0;
|
|
|
- else
|
|
|
- BalanceStr = (entity.PayMoney - CurrPayStr / entity.DayRate).ConvertToDecimal1();
|
|
|
-
|
|
|
+ if (CurrPayStr != 0 )
|
|
|
+ {
|
|
|
+ if (entity.PayMoney - (CurrPayStr / entity.DayRate) < 0.01M)
|
|
|
+ BalanceStr = 0;
|
|
|
+ else
|
|
|
+ BalanceStr = (entity.PayMoney - CurrPayStr / entity.DayRate).ConvertToDecimal1();
|
|
|
+ }
|
|
|
+
|
|
|
_detail.Balance = BalanceStr.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
|
|
|
|
|
|
/*
|
|
|
@@ -1492,34 +1502,82 @@ namespace OASystem.API.Controllers
|
|
|
Grp_HotelReservations hotelReservations = _HotelReservations.Where(s => s.Id == entity.CId).FirstOrDefault();
|
|
|
if (hotelReservations != null)
|
|
|
{
|
|
|
- string GovernmentRentCode = "", GovernmentRentName = "", CityTaxCode = "", CityTaxName = "", BreakfastCode = "", BreakfastName = "";
|
|
|
- Sys_SetData sdPaymentCurrency_GovernmentRent = currencyItems.Where(s => s.Id == hotelReservations.GovernmentRentCurrency).FirstOrDefault();
|
|
|
- if (sdPaymentCurrency_GovernmentRent != null)
|
|
|
+ decimal governmentRentFee = 0.00M, cityTaxFee = 0.00M, breakfastFee = 0.00M, roomFee = 0.00M;
|
|
|
+ string governmentRentBool = "否", cityTaxBool = "否", breakfastBool = "否", roomBool = "否";
|
|
|
+ string governmentRentCode = "", governmentRentName = "", cityTaxCode = "", cityTaxName = "", breakfastCode = "", breakfastName = "", roomCode = "", roomName = "";
|
|
|
+ var _HotelReservationsContents1 = _HotelReservationsContents.Where(it => it.HrId == hotelReservations.Id).ToList();
|
|
|
+ /*
|
|
|
+ * 费用类型
|
|
|
+ * 1:房费
|
|
|
+ * 2:早餐
|
|
|
+ * 3:地税
|
|
|
+ * 4:城市税
|
|
|
+ * </summary>
|
|
|
+ */
|
|
|
+
|
|
|
+ //地税
|
|
|
+ var governmentRentData = _HotelReservationsContents1.Find(it => it.PriceType == 3);
|
|
|
+ if (governmentRentData != null)
|
|
|
{
|
|
|
- GovernmentRentCode = sdPaymentCurrency_GovernmentRent.Name;
|
|
|
- GovernmentRentName = sdPaymentCurrency_GovernmentRent.Remark;
|
|
|
+ governmentRentBool = governmentRentData.IsOppay == 1 ? "是" : "否";
|
|
|
+ governmentRentFee = governmentRentData.Price;
|
|
|
+ var governmentRentCurrData = currencyItems.Find(s => s.Id == governmentRentData.Currency);
|
|
|
+ if (governmentRentCurrData != null)
|
|
|
+ {
|
|
|
+ governmentRentCode = governmentRentCurrData.Name;
|
|
|
+ governmentRentName = $"({governmentRentCurrData.Remark})";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- Sys_SetData sdPaymentCurrency_CityTax = currencyItems.Where(s => s.Id == hotelReservations.CityTaxCurrency).FirstOrDefault();
|
|
|
- if (sdPaymentCurrency_CityTax != null)
|
|
|
+ //城市税
|
|
|
+ var cityTaxData = _HotelReservationsContents1.Find(it => it.PriceType == 4);
|
|
|
+ if (cityTaxData != null)
|
|
|
+ {
|
|
|
+ cityTaxBool = cityTaxData.IsOppay == 1 ? "是" : "否";
|
|
|
+ cityTaxFee = cityTaxData.Price;
|
|
|
+ var cityTaxCurrData = currencyItems.Find(s => s.Id == cityTaxData.Currency);
|
|
|
+ if (cityTaxCurrData != null)
|
|
|
+ {
|
|
|
+ cityTaxCode = cityTaxCurrData.Name;
|
|
|
+ cityTaxName = $"({cityTaxCurrData.Remark})";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //酒店早餐
|
|
|
+ var breakfastData = _HotelReservationsContents1.Find(it => it.PriceType == 2);
|
|
|
+ if (breakfastData != null)
|
|
|
{
|
|
|
- CityTaxCode = sdPaymentCurrency_CityTax.Name;
|
|
|
- CityTaxName = sdPaymentCurrency_CityTax.Remark;
|
|
|
+ breakfastBool = breakfastData.IsOppay == 1 ? "是" : "否";
|
|
|
+ breakfastFee = breakfastData.Price;
|
|
|
+ var breakfastCurrData = currencyItems.Find(s => s.Id == breakfastData.Currency);
|
|
|
+ if (breakfastCurrData != null)
|
|
|
+ {
|
|
|
+ breakfastCode = breakfastCurrData.Name;
|
|
|
+ breakfastName = $"({breakfastCurrData.Remark})";
|
|
|
+ }
|
|
|
}
|
|
|
- Sys_SetData sdPaymentCurrency_Breakfast = currencyItems.Where(s => s.Id == hotelReservations.BreakfastCurrency).FirstOrDefault();
|
|
|
- if (sdPaymentCurrency_Breakfast != null)
|
|
|
+
|
|
|
+ //房间费用
|
|
|
+ var roomData = _HotelReservationsContents1.Find(it => it.PriceType == 1);
|
|
|
+ if (roomData != null)
|
|
|
{
|
|
|
- BreakfastCode = sdPaymentCurrency_Breakfast.Name;
|
|
|
- BreakfastName = sdPaymentCurrency_Breakfast.Remark;
|
|
|
+ roomBool = roomData.IsOppay == 1 ? "是" : "否";
|
|
|
+ roomFee = roomData.Price;
|
|
|
+ var roomCurrData = currencyItems.Find(s => s.Id == roomData.Currency);
|
|
|
+ if (roomCurrData != null)
|
|
|
+ {
|
|
|
+ roomCode = roomCurrData.Name;
|
|
|
+ roomName = $"({roomCurrData.Remark})";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- string isoppayStr = hotelReservations.Isoppay == 0 ? "是" : "否";
|
|
|
+
|
|
|
_detail.PriceMsgContent = $"信用卡金额:{_detail.WaitPay} ({hotelCurrncyName})<br/>" +
|
|
|
$"房间说明: {hotelReservations.Remark} <br/>" +
|
|
|
- $"地税: {hotelReservations.GovernmentRent.ToString("#0.00")} {GovernmentRentCode} ({GovernmentRentName})<br/>" +
|
|
|
- $"城市税: {hotelReservations.CityTax.ToString("#0.00")} {CityTaxCode} ({CityTaxName})<br/>" +
|
|
|
- $"酒店早餐: {hotelReservations.BreakfastPrice.ToString("#0.00")} {BreakfastCode} ({BreakfastName})<br/>" +
|
|
|
- $"酒店早餐是否由地接代付: {isoppayStr}";
|
|
|
+ $"房间费用: {roomFee.ToString("#0.00")} {roomCode} {roomName} 当时汇率{roomData?.Rate.ToString("#0.0000")} <br/>是否由地接代付:{roomBool}<br/>" +
|
|
|
+ $"酒店早餐: {breakfastFee.ToString("#0.00")} {breakfastCode} {breakfastName} 当时汇率{breakfastData?.Rate.ToString("#0.0000")} <br/>是否由地接代付:{breakfastBool}<br/>" +
|
|
|
+ $"地税: {governmentRentFee.ToString("#0.00")} {governmentRentCode} {governmentRentName} 当时汇率{governmentRentData?.Rate.ToString("#0.0000")} <br/>是否由地接代付:{governmentRentBool}<br/>" +
|
|
|
+ $"城市税: {cityTaxFee.ToString("#0.00")} {cityTaxCode} {cityTaxName} 当时汇率{cityTaxData?.Rate.ToString("#0.0000")} <br/>是否由地接代付:{cityTaxBool}<br/>";
|
|
|
_detail.PriceNameContent = hotelReservations.HotelName;
|
|
|
}
|
|
|
|
|
|
@@ -1764,7 +1822,6 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
_view.DetailList = new List<Grp_CreditCardPaymentDetailView>(detailList);
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* 下方描述处理
|
|
|
*/
|
|
|
@@ -8964,875 +9021,251 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
- #region 酒店预定 保留
|
|
|
+ #region 酒店预订 新 雷怡 2023-12-28 17:45
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 酒店预订页面初始化绑定
|
|
|
+ /// 酒店预订
|
|
|
+ /// 酒店费用列表 根据团组Id查询
|
|
|
/// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> HotelReservationsInitialize(HotelReservationsDto dto)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsItemsByDiId(HotelReservationItemDto _dto)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- Result groupData = await _hotelPriceRep.HotelReservationsInitialize(dto);
|
|
|
- if (groupData.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, groupData.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, groupData.Msg, groupData.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
+
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
+
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
+
|
|
|
+ if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ return Ok(await _hotelPriceRep._ItemsByDiId(_dto.PortType, _dto.DiId));
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 根据团组Id查询酒店费用列表
|
|
|
+ /// 酒店预订
|
|
|
+ /// 基础数据
|
|
|
/// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> HotelReservationsByDiId(HotelReservationsByDiIdDto dto)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsBasicsDataInit(HotelReservationBasicsDataInitDto _dto)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- Result groupData = await _hotelPriceRep.HotelReservationsByDiId(dto);
|
|
|
- if (groupData.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, groupData.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, groupData.Msg, groupData.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
+
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
+
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
+
|
|
|
+ if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ return Ok(await _hotelPriceRep._BasicsDataInit(_dto.PortType, _dto.DiId));
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 根据酒店费用Id查询酒店费用详细
|
|
|
+ /// 酒店预订
|
|
|
+ /// 创建 入住卷号码
|
|
|
/// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> HotelReservationsById(HotelReservationsByIdDto dto)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsCreateCheckVolumeNo(HotelReservationBasicsDataInitDto _dto)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- Result groupData = await _hotelPriceRep.HotelReservationsById(dto);
|
|
|
- if (groupData.Code != 0)
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
+
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
+
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
+
|
|
|
+ if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ Result data = await _hotelPriceRep._CreateCheckVolumeNo(_dto.DiId);
|
|
|
+ if (data.Code != 0)
|
|
|
{
|
|
|
- return Ok(JsonView(false, groupData.Msg));
|
|
|
+ return Ok(JsonView(false, data.Msg));
|
|
|
}
|
|
|
- return Ok(JsonView(true, groupData.Msg, groupData.Data));
|
|
|
+ return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
return Ok(JsonView(false, ex.Message));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 计算酒店付款总金额
|
|
|
+ /// 酒店预订
|
|
|
+ /// 详情
|
|
|
/// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> HotelConversionAmounts(HotelReservationsCNYDto dto)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsDetails(HotelReservationsDetailsDto _dto)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- Result groupData = await _hotelPriceRep.HotelConversionAmounts(dto);
|
|
|
- if (groupData.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, groupData.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, groupData.Msg, groupData.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "请传入正确的UserId参数"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "请传入正确的DiId参数"));
|
|
|
+
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
+
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
+
|
|
|
+ if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ return Ok(await _hotelPriceRep._Details(_dto.PortType, _dto.Id));
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 酒店费用操作(Status:1.新增,2.修改)
|
|
|
+ /// 酒店预订
|
|
|
+ /// Add Or Edit
|
|
|
/// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> OpHotelReservations(OpHotelReservationsData dto)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsAddOrEdit(HotelReservationsAddOrEditDto _dto)
|
|
|
{
|
|
|
- try
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
+
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
+
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
+
|
|
|
+ if (_dto.Id == 0) // Add
|
|
|
{
|
|
|
- Result groupData = await _hotelPriceRep.OpHotelReservations(dto);
|
|
|
- if (groupData.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, groupData.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, groupData.Msg, groupData.Data));
|
|
|
+ if (pageFunAuthView.AddAuth == 0) return Ok(JsonView(false, "您没有添加权限!"));
|
|
|
}
|
|
|
- catch (Exception ex)
|
|
|
+ else if (_dto.Id > 1) // Edit
|
|
|
{
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
+ if (pageFunAuthView.EditAuth == 0) return Ok(JsonView(false, "您没有编辑权限!"));
|
|
|
+
|
|
|
+ }else return Ok(JsonView(false, "请输入正确的数据Id!"));
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ JsonView _view = await _hotelPriceRep._AddOrEdit(_dto);
|
|
|
+ if (_view.Code != 200)
|
|
|
+ {
|
|
|
+ return Ok(_view);
|
|
|
}
|
|
|
+
|
|
|
+ #region 应用推送
|
|
|
+ //try
|
|
|
+ //{
|
|
|
+ // int ccpId = (int)_view.Data.GetType().GetProperty("ccpId").GetValue(_view.Data, null);
|
|
|
+ // int sign = (int)_view.Data.GetType().GetProperty("sign").GetValue(_view.Data, null);
|
|
|
+
|
|
|
+ // await AppNoticeLibrary.SendChatMsg_GroupStatus_ApplyFee(ccpId, sign, QiyeWeChatEnum.GuoJiaoLeaderChat);
|
|
|
+ //}
|
|
|
+ //catch (Exception ex)
|
|
|
+ //{
|
|
|
+ //}
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ return Ok(_view);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
- /// 文件上传
|
|
|
+ /// 酒店预订
|
|
|
+ /// Del
|
|
|
/// </summary>
|
|
|
- /// <param name="file"></param>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> UploadHotel(IFormFile file)
|
|
|
+ public async Task<IActionResult> PostHotelReservationsDel(HotelReservationsDelDto _dto)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- if (file != null)
|
|
|
- {
|
|
|
- var fileDir = AppSettingsHelper.Get("GrpFileBasePath");
|
|
|
- //文件名称
|
|
|
- string projectFileName = file.FileName;
|
|
|
|
|
|
- //上传的文件的路径
|
|
|
- string filePath = "";
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
+ if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
+ if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
|
|
|
+ #region 团组操作权限验证 76 酒店预定模块
|
|
|
+ var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
+ if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
+ #endregion
|
|
|
|
|
|
- if (!Directory.Exists(fileDir))
|
|
|
- {
|
|
|
- Directory.CreateDirectory(fileDir);
|
|
|
- }
|
|
|
+ PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
|
|
|
- //上传的文件的路径
|
|
|
- filePath = fileDir + $@"\酒店费用录入相关文件\{projectFileName}";
|
|
|
+ #region 页面操作权限验证
|
|
|
+ pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
|
|
|
+ if (pageFunAuthView.DeleteAuth == 0) return Ok(JsonView(false, "您没有删除权限!"));
|
|
|
|
|
|
- using (FileStream fs = System.IO.File.Create(filePath))
|
|
|
- {
|
|
|
- file.CopyTo(fs);
|
|
|
- fs.Flush();
|
|
|
- }
|
|
|
- return Ok(JsonView(true, "上传成功!", projectFileName));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "上传失败!"));
|
|
|
- }
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "程序错误!"));
|
|
|
- throw;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 删除指定文件
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> DelFileHotel(DelFileDto dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- string filePath = "";
|
|
|
- var fileDir = AppSettingsHelper.Get("GrpFileBasePath");
|
|
|
- // 返回与指定虚拟路径相对应的物理路径即绝对路径
|
|
|
- //int id = 0;
|
|
|
- filePath = fileDir + "/酒店费用录入相关文件/" + dto.fileName;
|
|
|
- // 删除该文件
|
|
|
- try
|
|
|
- {
|
|
|
- System.IO.File.Delete(filePath);
|
|
|
- var result = await _sqlSugar.Updateable<Grp_HotelReservations>().Where(a => a.Id == dto.Id && a.IsDel == 0).SetColumns(a => new Grp_HotelReservations()
|
|
|
- {
|
|
|
- Attachment = "",
|
|
|
- }).ExecuteCommandAsync();
|
|
|
- if (result != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(true, "成功!"));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "失败!"));
|
|
|
- }
|
|
|
- }
|
|
|
- catch (Exception)
|
|
|
- {
|
|
|
- var result = await _sqlSugar.Updateable<Grp_HotelReservations>().Where(a => a.Id == dto.Id && a.IsDel == 0).SetColumns(a => new Grp_HotelReservations()
|
|
|
- {
|
|
|
- Attachment = "",
|
|
|
- }).ExecuteCommandAsync();
|
|
|
- if (result != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(true, "成功!"));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "失败!"));
|
|
|
- }
|
|
|
- throw;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "程序错误!"));
|
|
|
- throw;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 生成VOUCHER
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> HotelGenerate(HotelReservationsByIdDto dto)
|
|
|
- {
|
|
|
-
|
|
|
- Grp_HotelReservations h = _sqlSugar.Queryable<Grp_HotelReservations>().First(a => a.Id == dto.Id && a.IsDel == 0);
|
|
|
-
|
|
|
- //判断数据是否完整
|
|
|
- if (h != null)
|
|
|
- {
|
|
|
- if (!string.IsNullOrEmpty(h.DetermineNo))
|
|
|
- {
|
|
|
- string strFileName = "HotelStatement/";
|
|
|
- Grp_DelegationInfo dele = _sqlSugar.Queryable<Grp_DelegationInfo>().First(a => a.Id == h.DiId && a.IsDel == 0);
|
|
|
- if (dele != null)
|
|
|
- strFileName += dele.TourCode;
|
|
|
-
|
|
|
-
|
|
|
- //载入模板
|
|
|
- string sss = AppSettingsHelper.Get("WordBasePath") + "Template/酒店预订模板.doc";
|
|
|
-
|
|
|
- Document doc = new Document(sss);
|
|
|
- DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
- try
|
|
|
- {
|
|
|
- #region 替换Word模板书签内容
|
|
|
-
|
|
|
- //这里可以创建个DataTable循环添加书签的值,这里提示一下就不多做修改了
|
|
|
- //入住卷预定号码
|
|
|
-
|
|
|
- if (doc.Range.Bookmarks["VNO"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["VNO"];
|
|
|
- mark.Text = h.CheckNumber;
|
|
|
- }
|
|
|
- //酒店时间
|
|
|
- if (doc.Range.Bookmarks["Date"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["Date"];
|
|
|
- mark.Text = Convert.ToDateTime(h.CreateTime).ToString("yyyy-MM-dd");
|
|
|
- }
|
|
|
- //团号
|
|
|
- if (doc.Range.Bookmarks["TNo"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["TNo"];
|
|
|
- mark.Text = dele.TourCode;
|
|
|
- }
|
|
|
- //预定号码
|
|
|
- if (doc.Range.Bookmarks["BookingId"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["BookingId"];
|
|
|
- mark.Text = h.ReservationsNo;
|
|
|
- }
|
|
|
-
|
|
|
- if (doc.Range.Bookmarks["HotelConfirmNo"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["HotelConfirmNo"];
|
|
|
- mark.Text = h.DetermineNo;
|
|
|
- }
|
|
|
-
|
|
|
- //酒店城市
|
|
|
- if (doc.Range.Bookmarks["City"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["City"];
|
|
|
- mark.Text = h.City;
|
|
|
- }
|
|
|
- //酒店名称
|
|
|
- if (doc.Range.Bookmarks["HName"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["HName"];
|
|
|
- mark.Text = h.HotelName;
|
|
|
- }
|
|
|
- //酒店地址
|
|
|
- if (doc.Range.Bookmarks["Address"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["Address"];
|
|
|
- mark.Text = h.HotelAddress;
|
|
|
- }
|
|
|
- //酒店电话
|
|
|
- if (doc.Range.Bookmarks["Tel"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["Tel"];
|
|
|
- mark.Text = h.HotelTel;
|
|
|
- }
|
|
|
- //酒店传真
|
|
|
- if (doc.Range.Bookmarks["Fax"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["Fax"];
|
|
|
- if (!string.IsNullOrWhiteSpace(h.HotelFax))
|
|
|
- {
|
|
|
- mark.Text = h.HotelFax;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- //入住时间
|
|
|
- if (doc.Range.Bookmarks["CIn"] != null)
|
|
|
- {
|
|
|
- DateTime dtCheckIn = Convert.ToDateTime(h.CheckInDate);
|
|
|
- Bookmark mark = doc.Range.Bookmarks["CIn"];
|
|
|
- mark.Text = dtCheckIn.Day + " " + dtCheckIn.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckIn.Year;
|
|
|
- }
|
|
|
- //退房时间
|
|
|
- if (doc.Range.Bookmarks["COut"] != null)
|
|
|
- {
|
|
|
- DateTime dtCheckOut = Convert.ToDateTime(h.CheckOutDate);
|
|
|
- Bookmark mark = doc.Range.Bookmarks["COut"];
|
|
|
- mark.Text = dtCheckOut.Day + " " + dtCheckOut.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckOut.Year;
|
|
|
- }
|
|
|
- //客户名称
|
|
|
- if (doc.Range.Bookmarks["GName"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["GName"];
|
|
|
- mark.Text = h.GuestName;
|
|
|
- }
|
|
|
-
|
|
|
- //房间介绍
|
|
|
- if (doc.Range.Bookmarks["ROOM"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["ROOM"];
|
|
|
- mark.Text = h.RoomExplanation;
|
|
|
- }
|
|
|
-
|
|
|
- //报价描述
|
|
|
- if (doc.Range.Bookmarks["NOTE"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["NOTE"];
|
|
|
- Sys_SetData ss = _sqlSugar.Queryable<Sys_SetData>().First(a => a.Id == h.ReservationsWebsite);
|
|
|
- if (ss != null)
|
|
|
- mark.Text = ss.Name;
|
|
|
- }
|
|
|
- //入住时间
|
|
|
- if (doc.Range.Bookmarks["CheckIn"] != null)
|
|
|
- {
|
|
|
- DateTime dtCheckIn = Convert.ToDateTime(h.CheckInDate);
|
|
|
- Bookmark mark = doc.Range.Bookmarks["CheckIn"];
|
|
|
- mark.Text = dtCheckIn.Day + " " + dtCheckIn.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckIn.Year + " ";
|
|
|
- }
|
|
|
- //退房时间
|
|
|
- if (doc.Range.Bookmarks["CheckOut"] != null)
|
|
|
- {
|
|
|
- DateTime dtCheckOut = Convert.ToDateTime(h.CheckOutDate);
|
|
|
- Bookmark mark = doc.Range.Bookmarks["CheckOut"];
|
|
|
- mark.Text = " " + dtCheckOut.Day + " " + dtCheckOut.ToString("MMMM", CultureInfo.GetCultureInfo("en-US")) + " " + dtCheckOut.Year;
|
|
|
- }
|
|
|
- //日期
|
|
|
- if (doc.Range.Bookmarks["DT"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["DT"];
|
|
|
- mark.Text = Convert.ToDateTime(h.CreateTime).ToString("yyyy-MM-dd");
|
|
|
- }
|
|
|
- //名称
|
|
|
- if (doc.Range.Bookmarks["VName"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["VName"];
|
|
|
- mark.Text = h.HotelName;
|
|
|
- }
|
|
|
- //号码
|
|
|
- if (doc.Range.Bookmarks["VOUCHERNO"] != null)
|
|
|
- {
|
|
|
- Bookmark mark = doc.Range.Bookmarks["VOUCHERNO"];
|
|
|
- mark.Text = h.CheckNumber;
|
|
|
- }
|
|
|
-
|
|
|
- #endregion
|
|
|
- //string fileName = "HotelStatement/" + diName + "机票费用报表" + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
|
|
|
-
|
|
|
- strFileName += "VOUCHER.doc";
|
|
|
-
|
|
|
- var fileDir = AppSettingsHelper.Get("WordBasePath") + strFileName;
|
|
|
- doc.Save(fileDir);
|
|
|
- string Url = AppSettingsHelper.Get("WordBaseUrl") + "Office/Word/" + strFileName;
|
|
|
- return Ok(JsonView(true, "成功!", Url));
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
-
|
|
|
- throw;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "酒店确定号码未填写,无法生成Voucher!"));
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "酒店确定号码未填写,无法生成Voucher!"));
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 导出确认单
|
|
|
- /// </summary>
|
|
|
- /// <param name=""></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> ConfirmWord(HotelReservationsByIdDto dto)
|
|
|
- {
|
|
|
- //团组信息
|
|
|
- Grp_DelegationInfo di = _sqlSugar.Queryable<Grp_DelegationInfo>().First(a => a.Id == dto.Id);
|
|
|
-
|
|
|
- //酒店数据
|
|
|
- List<Grp_HotelReservations> listhoteldata = _sqlSugar.Queryable<Grp_HotelReservations>().Where(a => a.DiId == dto.Id && a.IsDel == 0).ToList();
|
|
|
-
|
|
|
- //利datatable存储
|
|
|
- DataTable dt = new DataTable();
|
|
|
- dt.Columns.Add("CheckInDate", typeof(string));
|
|
|
- dt.Columns.Add("City", typeof(string));
|
|
|
- dt.Columns.Add("Hotel", typeof(string));
|
|
|
- dt.Columns.Add("Room", typeof(string));
|
|
|
-
|
|
|
- for (int i = 0; i < listhoteldata.Count; i++)
|
|
|
- {
|
|
|
- DateTime dayStart = Convert.ToDateTime(listhoteldata[i].CheckInDate);
|
|
|
- DateTime dayEnd = Convert.ToDateTime(listhoteldata[i].CheckOutDate);
|
|
|
- while (dayStart < dayEnd)
|
|
|
- {
|
|
|
- string temp = "";
|
|
|
- DataRow row = dt.NewRow();
|
|
|
- row["CheckInDate"] = dayStart.ToString("yyyy-MM-dd");
|
|
|
- row["City"] = listhoteldata[i].City;
|
|
|
- row["Hotel"] = listhoteldata[i].HotelName;
|
|
|
- if (listhoteldata[i].SingleRoomCount > 0)
|
|
|
- {
|
|
|
- temp = listhoteldata[i].SingleRoomCount + "个单间" + "\r\n";
|
|
|
- }
|
|
|
- if (listhoteldata[i].DoubleRoomCount > 0)
|
|
|
- {
|
|
|
- temp = temp + listhoteldata[i].DoubleRoomCount + "个表间" + "\r\n";
|
|
|
- }
|
|
|
- if (listhoteldata[i].SuiteRoomCount > 0)
|
|
|
- {
|
|
|
- temp = temp + listhoteldata[i].SuiteRoomCount + "个套房" + "\r\n";
|
|
|
- }
|
|
|
- if (listhoteldata[i].OtherRoomCount > 0)
|
|
|
- {
|
|
|
- temp = temp + listhoteldata[i].OtherRoomCount + "个其他房型" + "\r\n";
|
|
|
- }
|
|
|
- row["Room"] = temp;
|
|
|
- dt.Rows.Add(row);
|
|
|
- dayStart = dayStart.AddDays(1);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- Dictionary<string, string> dic = new Dictionary<string, string>();
|
|
|
- dic.Add("Dele", di.TeamName);
|
|
|
- dic.Add("City", di.VisitCountry);
|
|
|
-
|
|
|
-
|
|
|
- //模板路径
|
|
|
- string tempPath = AppSettingsHelper.Get("WordBasePath") + "Template/酒店用房确认单-模板.doc";
|
|
|
- //载入模板
|
|
|
- Aspose.Words.Document doc = new Aspose.Words.Document(tempPath);
|
|
|
- DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
-
|
|
|
- foreach (var key in dic.Keys)
|
|
|
- {
|
|
|
- builder.MoveToBookmark(key);
|
|
|
- builder.Write(dic[key]);
|
|
|
- }
|
|
|
-
|
|
|
- //获取word里所有表格
|
|
|
- NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
|
|
|
- //获取所填表格的序数
|
|
|
- Aspose.Words.Tables.Table tableOne = allTables[0] as Aspose.Words.Tables.Table;
|
|
|
- var rowStart = tableOne.Rows[0]; //获取第1行
|
|
|
- try
|
|
|
- {
|
|
|
- //循环赋值
|
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
- {
|
|
|
- builder.MoveToCell(0, i + 1, 0, 0);
|
|
|
- builder.Write(dt.Rows[i]["CheckInDate"].ToString());
|
|
|
-
|
|
|
- builder.MoveToCell(0, i + 1, 1, 0);
|
|
|
- builder.Write(dt.Rows[i]["City"].ToString());
|
|
|
-
|
|
|
- builder.MoveToCell(0, i + 1, 2, 0);
|
|
|
- builder.Write(dt.Rows[i]["Hotel"].ToString());
|
|
|
-
|
|
|
- builder.MoveToCell(0, i + 1, 3, 0);
|
|
|
- builder.Write(dt.Rows[i]["Room"].ToString());
|
|
|
- }
|
|
|
- }
|
|
|
- catch
|
|
|
- {
|
|
|
- }
|
|
|
- //删除多余行
|
|
|
- while (tableOne.Rows.Count > dt.Rows.Count + 1)
|
|
|
- {
|
|
|
- tableOne.Rows.RemoveAt(dt.Rows.Count + 1);
|
|
|
- }
|
|
|
- string strFileName = di.TeamName + "酒店确认单.doc";
|
|
|
- try
|
|
|
- {
|
|
|
- doc.Save(AppSettingsHelper.Get("WordBasePath") + "HotelStatement/" + strFileName);
|
|
|
- string Url = AppSettingsHelper.Get("WordBaseUrl") + "Office/Word/HotelStatement/" + strFileName;
|
|
|
- return Ok(JsonView(true, "成功", Url));
|
|
|
- }
|
|
|
- catch (Exception)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "当前文档已打开,请先关闭!"));
|
|
|
- throw;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 酒店费用删除
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> DelHotelPrice(DelBaseDto dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- var res = await _hotelPriceRep.SoftDeleteByIdAsync<Grp_HotelReservations>(dto.Id.ToString(), dto.DeleteUserId);
|
|
|
- if (!res)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "删除失败"));
|
|
|
- }
|
|
|
- var resultC = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.CId == dto.Id && a.IsDel == 0 && a.CTable == 76).SetColumns(a => new Grp_CreditCardPayment()
|
|
|
- {
|
|
|
- IsDel = 1,
|
|
|
- DeleteUserId = dto.DeleteUserId,
|
|
|
- DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
- }).ExecuteCommandAsync();
|
|
|
- return Ok(JsonView(true, "删除成功!"));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "程序错误!"));
|
|
|
- throw;
|
|
|
- }
|
|
|
- }
|
|
|
- #endregion
|
|
|
-
|
|
|
- #region 酒店预订 新 雷怡 2023-12-28 17:45
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// 酒店费用列表 根据团组Id查询
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsItemsByDiId(HotelReservationItemDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- Result _view = await _hotelPriceRep._ItemsByDiId(_dto.PortType, _dto.DiId);
|
|
|
- if (_view.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, _view.Msg));
|
|
|
- }
|
|
|
-
|
|
|
- return Ok(JsonView(true, _view.Msg, _view.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// 基础数据
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsBasicsDataInit(HotelReservationBasicsDataInitDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- Result data = await _hotelPriceRep._BasicsDataInit(_dto.PortType, _dto.DiId);
|
|
|
- if (data.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, data.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, "Catch:" + ex.Message));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// 创建 入住卷号码
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsCreateCheckVolumeNo(HotelReservationBasicsDataInitDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- Result data = await _hotelPriceRep._CreateCheckVolumeNo(_dto.DiId);
|
|
|
- if (data.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, data.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// 详情
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsDetails(HotelReservationsDetailsDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (pageFunAuthView.CheckAuth == 0) return Ok(JsonView(false, "您没有查看权限!"));
|
|
|
- #endregion
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- Result data = await _hotelPriceRep._Details(_dto.PortType, _dto.Id);
|
|
|
- if (data.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, data.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// Add Or Edit
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsAddOrEdit(HotelReservationsAddOrEditDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (_dto.Id == 0) // Add
|
|
|
- if (pageFunAuthView.AddAuth == 0) return Ok(JsonView(false, "您没有添加权限!"));
|
|
|
- else if (_dto.Id > 0) // Edit
|
|
|
- if (pageFunAuthView.EditAuth == 0) return Ok(JsonView(false, "您没有编辑权限!"));
|
|
|
- else return Ok(JsonView(false, "请输入正确的数据Id!"));
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- #endregion
|
|
|
-
|
|
|
- Result data = await _hotelPriceRep._AddOrEdit(_dto);
|
|
|
- if (data.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, data.Msg));
|
|
|
- }
|
|
|
-
|
|
|
- #region 应用推送
|
|
|
- try
|
|
|
- {
|
|
|
- int ccpId = data.Data.GetType().GetProperty("ccpId").GetValue(data.Data, null);
|
|
|
- int sign = data.Data.GetType().GetProperty("sign").GetValue(data.Data, null);
|
|
|
-
|
|
|
- await AppNoticeLibrary.SendChatMsg_GroupStatus_ApplyFee(ccpId, sign, QiyeWeChatEnum.GuoJiaoLeaderChat);
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- }
|
|
|
- #endregion
|
|
|
-
|
|
|
- return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 酒店预订
|
|
|
- /// Del
|
|
|
- /// </summary>
|
|
|
- /// <param name="_dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost]
|
|
|
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> PostHotelReservationsDel(HotelReservationsDelDto _dto)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- #region 参数验证
|
|
|
- if (_dto.UserId < 1) return Ok(JsonView(false, "员工Id为空"));
|
|
|
- if (_dto.PageId < 1) _dto.PageId = 28; //酒店预定Id
|
|
|
- if (_dto.DiId < 1) return Ok(JsonView(false, "团组Id为空"));
|
|
|
-
|
|
|
- #region 团组操作权限验证 76 酒店预定模块
|
|
|
- var groupAuthView = await GeneralMethod.PostGroupOperationAuth(_dto.DiId, _dto.UserId, 76);
|
|
|
- if (groupAuthView.Code != 0) return Ok(JsonView(false, groupAuthView.Msg));
|
|
|
- #endregion
|
|
|
-
|
|
|
- PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
|
|
|
-
|
|
|
- #region 页面操作权限验证
|
|
|
- pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
|
|
|
-
|
|
|
- if (pageFunAuthView.DeleteAuth == 0) return Ok(JsonView(false, "您没有删除权限!"));
|
|
|
|
|
|
+ #endregion
|
|
|
|
|
|
- #endregion
|
|
|
+ #endregion
|
|
|
|
|
|
- #endregion
|
|
|
+ return Ok(await _hotelPriceRep._Del(_dto.Id, _dto.UserId));
|
|
|
|
|
|
- Result data = await _hotelPriceRep._Del(_dto.Id, _dto.UserId);
|
|
|
- if (data.Code != 0)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, data.Msg));
|
|
|
- }
|
|
|
- return Ok(JsonView(true, data.Msg, data.Data));
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|