浏览代码

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

jiangjc 10 月之前
父节点
当前提交
eba1c7a1d8

+ 2 - 1
OASystem/EntitySync/Program.cs

@@ -130,7 +130,8 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Crm_TableOperationRecord), //表操作记录 
     //typeof(Grp_InvertedList), //倒推表 
     //typeof(Grp_InvertedListVisaCountry), //倒推表签证国家 
-    typeof(Grp_VisaFeeInfo),  //签证费用info 
+    //typeof(Grp_VisaFeeInfo),  //签证费用info 
+    typeof(Grp_HotelInquiry),  //酒店询价 
 
 
 });

+ 87 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -117,6 +117,8 @@ namespace OASystem.API.Controllers
         private readonly VisaFeeInfoRepository _visaFeeInfoRep;
         private readonly TicketBlackCodeRepository _ticketBlackCodeRep;
 
+        private readonly HotelInquiryRepository _hotelInquiryRep;
+
         public GroupsController(IMapper mapper, SqlSugarClient sqlSugar, GrpScheduleRepository grpScheduleRep, DelegationInfoRepository groupRepository,
             TaskAssignmentRepository taskAssignmentRep, AirTicketResRepository airTicketResRep, DecreasePaymentsRepository decreasePaymentsRep,
             InvitationOfficialActivitiesRepository InvitationOfficialActivitiesRep, DelegationEnDataRepository delegationEnDataRep, EnterExitCostRepository enterExitCostRep
@@ -124,7 +126,7 @@ namespace OASystem.API.Controllers
             CheckBoxsRepository checkBoxs, GroupCostRepository GroupCostRepository, CostTypeHotelNumberRepository CostTypeHotelNumberRepository,
             GroupCostParameterRepository GroupCostParameterRepository, HotelPriceRepository hotelPriceRep, CustomersRepository customersRep, SetDataRepository setDataRep,
             TourClientListRepository tourClientListRep, TeamRateRepository teamRateRep, IHubContext<ChatHub, IChatClient> hubContext, UsersRepository usersRep, IJuHeApiService juHeApi,
-            InvertedListRepository invertedListRep, VisaFeeInfoRepository visaFeeInfoRep, TicketBlackCodeRepository ticketBlackCodeRep)
+            InvertedListRepository invertedListRep, VisaFeeInfoRepository visaFeeInfoRep, TicketBlackCodeRepository ticketBlackCodeRep, HotelInquiryRepository hotelInquiryRep)
         {
             _mapper = mapper;
             _grpScheduleRep = grpScheduleRep;
@@ -161,6 +163,7 @@ namespace OASystem.API.Controllers
             _invertedListRep = invertedListRep;
             _visaFeeInfoRep = visaFeeInfoRep;
             _ticketBlackCodeRep = ticketBlackCodeRep;
+            _hotelInquiryRep = hotelInquiryRep;
         }
 
         #region 流程管控
@@ -11513,6 +11516,89 @@ namespace OASystem.API.Controllers
         #endregion
 
 
+        #region 酒店询价
+        /// <summary>
+        /// 酒店询价
+        /// Init
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelInquiryInit()
+        {
+            var res = await _hotelInquiryRep._Init();
+            if (res.Code != 0) return Ok(JsonView(false, res.Msg));
+            return Ok(JsonView(true, res.Msg, res.Data));
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// page Item
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelInquiryPageItem(HotelInquiryPageItemDto _dto)
+        {
+            var res = await _hotelInquiryRep._PageItem(_dto.PageIndex,_dto.PageSize,_dto.PortType,_dto.DiId);
+            if (res.Code != 0) return Ok(JsonView(false, res.Msg));
+            var view = res.Data as PageDataViewBase;
+            return Ok(JsonView(true, res.Msg, view.Data, view.Total));
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// info
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelInquiryInfo(HotelInquiryInfoDto _dto)
+        {
+            var res = await _hotelInquiryRep._Info(_dto.PortType, _dto.Id);
+            if (res.Code != 0) return Ok(JsonView(false, res.Msg));
+           
+            return Ok(JsonView(true, res.Msg, res.Data));
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// Add Or Edit
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelInquiryAddOrEdit(HotelInquiryAddOrEditDto _dto)
+        {
+            var res = await _hotelInquiryRep._AddOrEdit(_dto);
+            if (res.Code != 0) return Ok(JsonView(false, res.Msg));
+
+            return Ok(JsonView(true, res.Msg, res.Data));
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// Del
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostHotelInquiryDel(HotelInquiryDelDto _dto)
+        {
+            var res = await _hotelInquiryRep._Del(_dto.Id,_dto.DeleteUserId);
+            if (res.Code != 0) return Ok(JsonView(false, res.Msg));
+
+            return Ok(JsonView(true, res.Msg, res.Data));
+        }
+
+        #endregion
+
+
         //        /// <summary>
         //        /// 
         //        /// </summary>

文件差异内容过多而无法显示
+ 50 - 57
OASystem/OASystem.Api/Controllers/ResourceController.cs


+ 4 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -271,6 +271,10 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<InvertedListUpdateDto, Grp_InvertedList>();
             CreateMap<VisaCountryInfo, Grp_InvertedListVisaCountry>();
             #endregion
+
+            #region 酒店询价
+            CreateMap<HotelInquiryAddOrEditDto, Grp_HotelInquiry>();
+            #endregion
         }
     }
 }

+ 0 - 1
OASystem/OASystem.Domain/Dtos/DtoBase.cs

@@ -39,7 +39,6 @@ namespace OASystem.Domain.Dtos
     /// </summary>
     public class DelBaseDto:PortDtoBase
     {
-
         /// <summary>
         /// 删除的数据Id
         /// </summary>

+ 128 - 0
OASystem/OASystem.Domain/Dtos/Groups/HotelInquiryDto.cs

@@ -0,0 +1,128 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    public class HotelInquiryDto
+    {
+    }
+
+    public class HotelInquiryPageItemDto : DtoBase
+    {
+        public int DiId { get; set; }
+    }
+
+    public class HotelInquiryInfoDto : PortDtoBase 
+    {
+        public int Id { get; set; }
+    }
+
+
+    public class HotelInquiryAddOrEditDto : OpBaseDto 
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 所在城市
+        /// </summary>
+        public string City { get; set; }
+
+        /// <summary>
+        /// 酒店名称
+        /// </summary>
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 酒店地址
+        /// </summary>
+        public string Address { get; set; }
+
+        /// <summary>
+        /// 查询时间
+        /// </summary>
+        public string SelectDt { get; set; }
+
+        /// <summary>
+        /// 入住 日期
+        /// </summary>
+        public string CheckInDate { get; set; }
+
+        /// <summary>
+        /// 离店 日期
+        /// </summary>
+        public string CheckOutDate { get; set; }
+
+        /// <summary>
+        /// 单间 价格
+        /// </summary>
+        public decimal SinglePrice { get; set; }
+
+        /// <summary>
+        /// 单间 数量
+        /// </summary>
+        public int SingleQuantity { get; set; }
+
+        /// <summary>
+        /// 单间 币种 
+        /// 外键 币种Id
+        /// </summary>
+        public int SingleCurrency { get; set; }
+
+        /// <summary>
+        /// 双人间 价格
+        /// </summary>
+        public decimal DoublePrice { get; set; }
+
+        /// <summary>
+        /// 双人间 数量
+        /// </summary>
+        public int DoubleQuantity { get; set; }
+
+        /// <summary>
+        /// 双人间 币种 
+        /// 外键 币种Id
+        /// </summary>
+        public int DoubleCurrency { get; set; }
+
+        /// <summary>
+        /// 套房 价格
+        /// </summary>
+        public decimal SuitePrice { get; set; }
+
+        /// <summary>
+        /// 套房 数量
+        /// </summary>
+        public int SuiteQuantity { get; set; }
+
+        /// <summary>
+        /// 套房 币种 
+        /// 外键 币种Id
+        /// </summary>
+        public int SuiteCurrency { get; set; }
+
+        /// <summary>
+        /// 其他 价格
+        /// </summary>
+        public decimal OtherPrice { get; set; }
+
+        /// <summary>
+        /// 其他 数量
+        /// </summary>
+        public int OtherQuantity { get; set; }
+
+        /// <summary>
+        /// 单价 币种 
+        /// 外键 币种Id
+        /// </summary>
+        public int OtherCurrency { get; set; }
+    }
+
+    public class HotelInquiryDelDto : DelBaseDto
+    { }
+}

+ 135 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_HotelInquiry.cs

@@ -0,0 +1,135 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 酒店询价 entities
+    /// </summary>
+    [SugarTable("Grp_HotelInquiry")]
+    public class Grp_HotelInquiry:EntityBase
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 所在城市
+        /// </summary>
+        [SugarColumn(IsNullable = true,ColumnDataType = "varchar(50)")]
+        public string City { get; set; }
+
+        /// <summary>
+        /// 酒店名称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 酒店地址
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string Address { get; set; }
+
+        /// <summary>
+        /// 查询时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime  SelectDt { get; set; }
+
+        /// <summary>
+        /// 入住 日期
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime CheckInDate{ get; set; }
+
+        /// <summary>
+        /// 离店 日期
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime CheckOutDate { get; set; }
+
+
+        /// <summary>
+        /// 单间 价格
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal SinglePrice { get; set; }
+
+        /// <summary>
+        /// 单间 数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SingleQuantity { get; set; }
+
+        /// <summary>
+        /// 单间 币种 
+        /// 外键 币种Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SingleCurrency { get; set; }
+
+        /// <summary>
+        /// 双人间 价格
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal DoublePrice { get; set; }
+
+        /// <summary>
+        /// 双人间 数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DoubleQuantity { get; set; }
+
+        /// <summary>
+        /// 双人间 币种 
+        /// 外键 币种Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DoubleCurrency { get; set; }
+
+        /// <summary>
+        /// 套房 价格
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal SuitePrice { get; set; }
+
+        /// <summary>
+        /// 套房 数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SuiteQuantity { get; set; }
+
+        /// <summary>
+        /// 套房 币种 
+        /// 外键 币种Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SuiteCurrency { get; set; }
+
+        /// <summary>
+        /// 其他 价格
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
+        public decimal OtherPrice { get; set; }
+
+        /// <summary>
+        /// 其他 数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int OtherQuantity { get; set; }
+
+        /// <summary>
+        /// 单价 币种 
+        /// 外键 币种Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int OtherCurrency { get; set; }
+
+    }
+}

+ 14 - 14
OASystem/OASystem.Domain/Entities/Resource/Res_OfficialActivities.cs

@@ -26,19 +26,19 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 所在国家
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string Country { get; set; }
 
         /// <summary>
         /// 所在区域(城市)
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(200)")]
         public string Area { get; set; }
 
         /// <summary>-
         /// 公务单位
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
         public string Client { get; set; }
         /// <summary>
         /// 公务日期
@@ -53,7 +53,7 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 地址
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
         public string Address { get; set; }
         /// <summary>
         /// 联系人
@@ -64,12 +64,12 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 联系人职务
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(50)")]
         public string Job { get; set; }
         /// <summary>
         /// 联系电话
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(120)")]
         public string Tel { get; set; }
         /// <summary>
         /// 公务形式
@@ -81,29 +81,29 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 公务方所属领域
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(100)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(100)")]
         public string Field { get; set; }
 
         /// <summary>
         /// 请示范例
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(500)")]
         public string ReqSample { get; set; }
 
         /// <summary>
         /// 公务方背景
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
         public string Setting { get; set; }
         /// <summary>
         /// 着装要求
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(120)")]
         public string Dresscode { get; set; }
         /// <summary>
         /// 参会人员
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
         public string Attendees { get; set; }
         /// <summary>
         /// 是否需要翻译
@@ -113,17 +113,17 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 翻译人员
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(120)")]
         public string Translators { get; set; }
         /// <summary>
         /// 翻译语种
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(120)")]
         public string language { get; set; }
         /// <summary>
         /// 暂定行程
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(MAX)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(MAX)")]
         public string Trip { get; set; }
 
         /// <summary>

+ 41 - 3
OASystem/OASystem.Domain/Result.cs

@@ -15,14 +15,52 @@ namespace OASystem.Domain
 
 
     /// <summary>
-    /// 错误消息
+    /// 消息 Tips
     /// </summary>
-    public static class ErrorMsg 
+    public static class MsgTips 
     {
+        /// <summary>
+        /// 成功 消息提示
+        /// </summary>
+        public static string Succeed = "操作成功!";
+
+        /// <summary>
+        /// 失败 消息提示
+        /// </summary>
+        public static string Fail = "操作失败!";
+
         /// <summary>
         /// 端口错误消息提示
         /// </summary>
-        public static string Error_Port_Msg = "“portType”:1:WEB;2:ANDROID;3:IOS;请检查端口值是否正确!";
+        public static string Port = "请检查端口值是否正确!“portType”:1:WEB;2:ANDROID;3:IOS;";
+
+        /// <summary>
+        ///  PageIndex 错误消息提示
+        /// </summary>
+        public static string PageIndex = "请检查当前页面(pageIndex)是否正确!";
+
+        /// <summary>
+        /// PageSize 错误消息提示
+        /// </summary>
+        public static string PageSize = "请检查每页长度(pageSize)是否正确!";
+        /// <summary>
+        /// 团组Id错误消息提示
+        /// </summary>
+        public static string DiId = "请检查团组Id(diid)是否正确!";
+        /// <summary>
+        /// 数据Id错误消息提示
+        /// </summary>
+        public static string Id = "请检查数据Id(id)是否正确!";
+
+        /// <summary>
+        /// 数据Id错误消息提示
+        /// </summary>
+        public static string Status = "请检查状态Id(Status)是否正确!1 添加 2 修改";
+
+        /// <summary>
+        /// UserId错误消息提示
+        /// </summary>
+        public static string UserId = "请检查状态UserId是否正确!";
     }
 
    

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/Groups/Grp_CarTouristGuideGroundView.cs

@@ -129,5 +129,10 @@ namespace OASystem.Domain.ViewModels.Groups
         /// </summary>
         public string priceTypeStr { get; set; }
         public int IsPay { get; set; }
+
+        /// <summary>
+        /// 费用名称
+        /// </summary>
+        public string priceName {  get; set; }
     }
 }

+ 43 - 0
OASystem/OASystem.Domain/ViewModels/Groups/HotelInquiryView.cs

@@ -0,0 +1,43 @@
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Groups
+{
+    /// <summary>
+    /// 酒店询价 view
+    /// </summary>
+    public class HotelInquiryView:Grp_HotelInquiry
+    {
+    }
+
+    public class HotelInquiryItemView
+    {
+        public int id { get; set; }
+        public int diId { get; set; }
+        public string city { get; set; }
+        public string name { get; set; }
+        public DateTime selectDt { get; set; }
+        public DateTime checkInDate { get; set; }
+        public DateTime checkOutDate { get; set; }
+        public decimal singlePrice { get; set; }
+        public int singleQuantity { get; set; }
+        public string singleCurrency { get; set; }
+        public decimal doublePrice { get; set; }
+        public int doubleQuantity { get; set; }
+        public string doubleCurrency { get; set; }
+        public decimal suitePrice { get; set; }
+        public int suiteQuantity { get; set; }
+        public string suiteCurrency { get; set; }
+        public decimal otherPrice { get; set; }
+        public int otherQuantity { get; set; }
+        public string otherCurrency { get; set; }
+        public string remark { get; set; }
+        public string createUserName { get; set; }
+        public DateTime createTime { get; set; }
+    }
+
+}

+ 8 - 0
OASystem/OASystem.Domain/ViewModels/ViewBase.cs

@@ -93,4 +93,12 @@
         public int AuditAuth { get; set; } = 0;
 
     }
+
+
+    public class PageDataViewBase
+    {
+        public dynamic Data { get; set; }
+
+        public int Total { get; set; }
+    }
 }

+ 3 - 3
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -122,7 +122,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
                 result.Data = enterExitCostInfoView;
             }
-            else result.Msg = ErrorMsg.Error_Port_Msg;
+            else result.Msg = MsgTips.Port;
 
 
 
@@ -307,7 +307,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     result.Msg = ex.Message;
                 }
             }
-            else result.Msg = ErrorMsg.Error_Port_Msg;
+            else result.Msg = MsgTips.Port;
 
 
             return result;
@@ -390,7 +390,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
             {
 
             }
-            else result.Msg = ErrorMsg.Error_Port_Msg;
+            else result.Msg = MsgTips.Port;
 
             return result;
         }

+ 230 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/HotelInquiryRepository.cs

@@ -0,0 +1,230 @@
+using AutoMapper;
+using MySqlX.XDevAPI.Common;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Groups;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.ViewModels.Groups;
+using OASystem.Domain.ViewModels.QiYeWeChat;
+using OASystem.Infrastructure.Repositories.System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Result = OASystem.Domain.Result;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    /// <summary>
+    /// 酒店询价 仓储
+    /// </summary>
+    public class HotelInquiryRepository:BaseRepository<Grp_HotelInquiry,HotelInquiryView>
+    {
+        private readonly IMapper _mapper;
+        private readonly SetDataRepository _setDataRep;
+
+        /// <summary>
+        /// Init
+        /// </summary>
+        /// <param name="sqlSugar"></param>
+        public HotelInquiryRepository(SqlSugarClient sqlSugar, IMapper mapper, SetDataRepository setDataRep) 
+            : base(sqlSugar)
+        {
+            _mapper = mapper;
+            _setDataRep = setDataRep;
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// 初始化数据
+        /// </summary>
+        /// <returns></returns>
+        public async Task<Result> _Init() 
+        {
+            var currDataResult = await _setDataRep.GetSetDataBySTId(_setDataRep, 66);
+            dynamic currDatas = null;
+            if (currDataResult.Code == 0) currDatas = currDataResult.Data;
+            var data = new { 
+                CurrData = currDatas
+            };
+            return new Result() { Code = 0 ,Msg="操作成功!",Data = data };
+        }
+
+        /// <summary>
+        /// 酒店询价
+        /// Page 列表
+        /// </summary>
+        /// <param name="portType"></param>
+        /// <param name="DiId"></param>
+        /// <returns></returns>
+        public async Task<Result> _PageItem(int pageIndex,int pageSize, int portType, int diId)
+        {
+            if (portType < 1 || portType > 3) return new Result() { Code = -1, Msg =  MsgTips.Port};
+            if (diId < 1) return new Result() { Code = -1, Msg = MsgTips.DiId };
+            if (pageIndex < 1) return new Result() { Code = -1, Msg = MsgTips.PageIndex };
+            if (pageIndex < 1) return new Result() { Code = -1, Msg = MsgTips.PageSize };
+
+            string sql = string.Format(@$"SELECT
+  hi.Id,
+  hi.DiId,
+  hi.City,
+  hi.[Name],
+  hi.[SelectDt],
+  hi.CheckInDate,
+  hi.CheckOutDate,
+  hi.SinglePrice,
+  hi.SingleQuantity,
+  sd1.[Name] AS SingleCurrency,
+  hi.DoublePrice,
+  hi.DoubleQuantity,
+  sd2.[Name] AS DoubleCurrency,
+  hi.SuitePrice,
+  hi.SuiteQuantity,
+  sd3.[Name] AS SuiteCurrency,
+  hi.OtherPrice,
+  hi.OtherQuantity,
+  sd4.[Name] AS OtherCurrency,
+  hi.Remark,
+  u.CnName AS CreateUserName,
+  hi.CreateTime
+FROM
+  Grp_HotelInquiry hi
+WITH
+  (NoLock)
+  LEFT JOIN Sys_Users u
+WITH
+  (NoLock) ON hi.CreateUserId = u.Id
+  LEFT JOIN Sys_SetData sd1
+WITH
+  (NoLock) ON hi.SingleCurrency = sd1.Id
+  LEFT JOIN Sys_SetData sd2
+WITH
+  (NoLock) ON hi.DoubleCurrency = sd2.Id
+  LEFT JOIN Sys_SetData sd3
+WITH
+  (NoLock) ON hi.SuiteCurrency = sd3.Id
+  LEFT JOIN Sys_SetData sd4
+WITH
+  (NoLock) ON hi.OtherCurrency = sd4.Id
+WHERE
+  hi.Isdel = 0
+  AND hi.DiId = {diId}");
+
+            if (portType == 1 || portType == 2 || portType == 3)
+            {
+                RefAsync<int> total = 0;
+                var eqquiryDatas = await _sqlSugar.SqlQueryable<HotelInquiryItemView>(sql).OrderBy(it => it.checkInDate).ToPageListAsync(pageIndex, pageSize, total);
+
+                return new Result() { Code = 0, Msg = MsgTips.Succeed, Data = new PageDataViewBase { Data = eqquiryDatas, Total = total } };
+            }
+
+            return new Result() { Code = -1, Msg = MsgTips.Fail  };
+        }
+        
+        /// <summary>
+        /// info 
+        /// </summary>
+        /// <param name="portType"></param>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<Result> _Info(int portType, int id)
+        {
+            if (portType < 1 || portType > 3) return new Result() { Code = -1, Msg = MsgTips.Port };
+            if (id < 1 ) return new Result() { Code = -1, Msg = MsgTips.Id };
+
+            var info = await _sqlSugar.Queryable<Grp_HotelInquiry>()
+                                      .Where(it => it.IsDel == 0 && it.Id == id)
+                                      .Select(it =>
+                                            new { 
+                                                it.Id,
+                                                it.DiId, 
+                                                it.City,
+                                                it.Name,
+                                                it.Address,
+                                                it.SelectDt,
+                                                it.CheckInDate,
+                                                it.CheckOutDate,
+                                                it.SinglePrice,
+                                                it.SingleQuantity,
+                                                it.SingleCurrency,
+                                                it.DoublePrice,
+                                                it.DoubleQuantity,
+                                                it.DoubleCurrency,
+                                                it.SuitePrice,
+                                                it.SuiteQuantity,
+                                                it.SuiteCurrency,
+                                                it.OtherPrice,
+                                                it.OtherQuantity,
+                                                it.OtherCurrency,
+                                                it.Remark,
+                                            })
+                                      .FirstAsync();
+
+            return new Result() { Code = 0, Msg = MsgTips.Succeed,Data = info };
+        }
+
+        /// <summary>
+        /// Add Or Edit
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        public async Task<Result> _AddOrEdit(HotelInquiryAddOrEditDto _dto)
+        {
+            #region 参数验证
+            if (_dto.DiId < 1) return new Result() { Code = -1, Msg = MsgTips.DiId };
+            if (_dto.Status < 1 || _dto.Status > 2) return new Result() { Code = -1, Msg = MsgTips.Status };
+
+            #endregion
+
+            Grp_HotelInquiry _HotelInquiry = _mapper.Map<Grp_HotelInquiry>(_dto);
+
+            if (_dto.Status == 1)
+            {
+                var add = await _sqlSugar.Insertable(_HotelInquiry).ExecuteReturnIdentityAsync();
+                if (add >  0 ) return new Result() { Code = 0, Msg = MsgTips.Succeed };
+
+            }
+            else if (_dto.Status == 2)
+            {
+                var update = await _sqlSugar.Updateable(_HotelInquiry)
+                                            .IgnoreColumns(it =>
+                                                new
+                                                {
+                                                    it.CreateUserId,
+                                                    it.CreateTime,
+                                                    it.DeleteUserId,
+                                                    it.DeleteTime,
+                                                    it.IsDel
+                                                })
+                                            .WhereColumns(it =>
+                                                new
+                                                {
+                                                    it.Id
+                                                })
+                                            .ExecuteCommandAsync();
+                if (update > 0) return new Result() { Code = 0, Msg = MsgTips.Succeed };
+            }
+
+            return new Result() { Code = -1, Msg = MsgTips.Fail };
+        }
+
+        /// <summary>
+        /// Del
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        public async Task<Result> _Del(int id,int userId)
+        {
+            #region 参数验证
+            if (id < 1) return new Result() { Code = -1, Msg = MsgTips.Id };
+            if (userId < 0) return new Result() { Code = -1, Msg = MsgTips.UserId };
+
+            #endregion
+
+            var del = await SoftDeleteByIdAsync<Grp_HotelInquiry>(id.ToString(), userId);
+            if (del) return new Result() { Code = 0, Msg = MsgTips.Succeed };
+
+            return new Result() { Code = -1, Msg = MsgTips.Fail };
+        }
+    }
+}