Просмотр исходного кода

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

jiangjc лет назад: 2
Родитель
Сommit
b9e6916ef6

+ 195 - 23
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1,4 +1,6 @@
 
+using OASystem.Infrastructure.Repositories.System;
+
 namespace OASystem.API.Controllers
 {
     /// <summary>
@@ -15,10 +17,12 @@ namespace OASystem.API.Controllers
         private readonly ThreeCodeRepository _ThreeCodeRep;
         private readonly HotelDataRepository _hotelDataRep;
         private readonly ResItemInfoRepository _resItemInfoRep;
+        private readonly SetDataRepository _setDataRepository;
+        private readonly CountryFeeRepository _countryFeeRep;
 
         public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep,
             LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep,
-            HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep)
+            HotelDataRepository hotelDataRep, ResItemInfoRepository resItemInfoRep, SetDataRepository setDataRepository, CountryFeeRepository countryFeeRep)
         {
             _mapper = mapper;
             _config = config;
@@ -27,7 +31,35 @@ namespace OASystem.API.Controllers
             _ThreeCodeRep = threeCodeRep;
             _hotelDataRep = hotelDataRep;
             _resItemInfoRep = resItemInfoRep;
+            _setDataRepository = setDataRepository;
+            _countryFeeRep = countryFeeRep;
         }
+        #region 数据类型资料
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerySetData(SetDataDto dto)
+        {
+            try
+            {
+                if (dto.DataType == 0)
+                {
+                    return Ok(JsonView(false, "请传类型Id!"));
+                }
+                var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => s.STid == dto.DataType).ToList();
+                if (setData.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                return Ok(JsonView(true, "查询成功!", setData));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
+
         #region 车公司资料板块
 
         /// <summary>
@@ -279,7 +311,7 @@ namespace OASystem.API.Controllers
                         data.Add(Local);
                     }
                 }
-                return Ok(JsonView(true, "查询成功", LocalGuide));
+                return Ok(JsonView(true, "查询成功", data));
             }
             catch (Exception)
             {
@@ -481,33 +513,18 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QueryHotelData(DtoBase dto)
+        public async Task<IActionResult> QueryHotelData(QueryHotelDataDto dto)
         {
             try
             {
-                if (dto.PortType == 1)
-                {
-                    var HotelData = _localGuideDataRep.QueryDto<Res_HotelData, HotelDataView>().ToList();
-                    if (HotelData.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", HotelData));
-                }
-                else if (dto.PortType == 2)
+                Result hotelData = await _hotelDataRep.QueryHotelData(dto);
+                if (hotelData.Code == 0)
                 {
-                    var HotelData = _localGuideDataRep.QueryDto<Res_HotelData, HotelDataView>().ToList();
-                    if (HotelData.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", HotelData));
+                    return Ok(JsonView(true, "查询成功", hotelData.Data));
                 }
                 else
                 {
-                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                    return Ok(JsonView(false, hotelData.Msg));
                 }
 
             }
@@ -519,7 +536,40 @@ namespace OASystem.API.Controllers
 
 
         }
-
+        /// <summary>
+        /// 酒店资料下拉框数据
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryHotelDataSelect()
+        {
+            try
+            {
+                var HotelData = _carDataRep.QueryDto<Res_HotelData, QueryHotelDataSelect>().ToList();
+                if (HotelData.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                HotelData.Add(new QueryHotelDataSelect { Id = 0, City = "全部" });
+                HotelData = HotelData.Where((x, i) => HotelData.FindIndex(z => z.City == x.City && z.City != "") == i).ToList();
+                HotelData = HotelData.OrderBy(x => x.Id).ToList();
+                List<QueryHotelDataSelect> data = new List<QueryHotelDataSelect>();
+                foreach (QueryHotelDataSelect Hotel in HotelData)
+                {
+                    if (!string.IsNullOrWhiteSpace(Hotel.City))
+                    {
+                        data.Add(Hotel);
+                    }
+                }
+                return Ok(JsonView(true, "查询成功", data));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
         /// <summary>
         /// 酒店资料操作(Status:1.新增,2.修改)
         /// </summary>
@@ -587,6 +637,126 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 签证费用资料
+        /// <summary>
+        /// 签证费用资料查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryCountryFeeCost(DtoBase dto)
+        {
+            try
+            {
+                if (dto.PortType == 1)
+                {
+                    var CountryFee = _countryFeeRep.QueryDto<Res_CountryFeeCost, CountryFeeCostView>().ToList();
+                    if (CountryFee.Count == 0)
+                    {
+                        return Ok(JsonView(false, "暂无数据!"));
+                    }
+                    CountryFee = CountryFee.OrderByDescending(s => s.CreateTime).ToList();
+                    return Ok(JsonView(true, "查询成功", CountryFee));
+                }
+                else if (dto.PortType == 2)
+                {
+                    var CountryFee = _countryFeeRep.QueryDto<Res_CountryFeeCost, CountryFeeCostView>().ToList();
+                    if (CountryFee.Count == 0)
+                    {
+                        return Ok(JsonView(false, "暂无数据!"));
+                    }
+                    CountryFee = CountryFee.OrderByDescending(s => s.CreateTime).ToList();
+                    return Ok(JsonView(true, "查询成功", CountryFee));
+                }
+                else
+                {
+                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                }
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+           
+        }
+
+        /// <summary>
+        /// 签证费用资料操作(Status:1.新增,2.修改)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> OperationCountryFeeCost(OperationCountryFeeCostDto dto)
+        {
+            try
+            {
+                if (dto.VisaContinent == "")
+                {
+                    return Ok(JsonView(false, "请检查州名是否填写!"));
+                }
+                if (dto.VisaCountry == "")
+                {
+                    return Ok(JsonView(false, "请检查国家名是否填写!"));
+                }
+                if (dto.VisaTime == "1")
+                {
+                    return Ok(JsonView(false, "请检一般签证时间是否填写正确!"));
+                }
+                if (dto.UrgentTime == "1")
+                {
+                    return Ok(JsonView(false, "请检加急时间是否填写正确!"));
+                }
+                if (dto.VisaPrice == 0)
+                {
+                    return Ok(JsonView(false, "请检查签证费用是否填写正确,小数点后可1到2位!"));
+                }
+                if (dto.VisaPrice == 1)
+                {
+                    return Ok(JsonView(false, "请检查签证加急费用是否填写正确,小数点后可1到2位!"));
+                }
+                Result result = await _countryFeeRep.OperationCountryFeeCost(dto);
+                if (result.Code != 0)
+                {
+                    return Ok(JsonView(false, result.Msg));
+                }
+                return Ok(JsonView(true, result.Msg));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+
+        }
+
+        /// <summary>
+        /// 签证费用资料操作(删除)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> DelCountryFeeCost(DelCountryFeeCostDto dto)
+        {
+            try
+            {
+                var res = await _countryFeeRep.SoftDeleteByIdAsync<Res_CountryFeeCost>(dto.Id.ToString(), dto.DeleteUserId);
+                if (!res)
+                {
+                    return Ok(JsonView(false, "删除失败"));
+                }
+                return Ok(JsonView(true, "删除成功!"));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
+
         #region 物料信息、供应商维护
         #region 供应商
         /// <summary>
@@ -831,4 +1001,6 @@ namespace OASystem.API.Controllers
         #endregion
         #endregion
     }
+
+   
 }

+ 77 - 7
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -2,6 +2,7 @@
 using AutoMapper.Execution;
 using Google.Protobuf.WellKnownTypes;
 using Microsoft.AspNetCore.Mvc.Formatters;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
 using Newtonsoft.Json.Linq;
 using OASystem.Domain.Dtos.System;
 using Org.BouncyCastle.Asn1.Cms;
@@ -162,6 +163,8 @@ namespace OASystem.API.Controllers
                 throw;
             }
         }
+
+       
         #endregion
 
         #region 企业操作
@@ -991,7 +994,12 @@ namespace OASystem.API.Controllers
         {
             //获取所有关联页面
             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
-            
+
+            var RemoveJobPostAuthList = _SystemMenuAndFunctionRepository._sqlSugar.SqlQueryable<Sys_JobPostAuthority>($@"
+                  select a.* from Sys_JobPostAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
+                  where a.SmId = c.Id and c.Mid = b.Id and JpId = {dto.Jpid} and  c.Mid ={dto.modulId} 
+            ").ToList();
+
             List<Sys_JobPostAuthority> adds = new List<Sys_JobPostAuthority>();
             foreach (var item in dto.Savejobs)
             {
@@ -1015,7 +1023,7 @@ namespace OASystem.API.Controllers
             _JobPostAuthorityRepository.BeginTran();
             try
             {   //删除岗位
-                bool isdel = await _JobPostAuthorityRepository.DeleteAsync<Sys_JobPostAuthority>(x => x.JpId == dto.Jpid);
+                bool isdel = await _JobPostAuthorityRepository.DeletesAsync<Sys_JobPostAuthority>(RemoveJobPostAuthList);
                 int UpRows = _JobPostAuthorityRepository.Adds<Sys_JobPostAuthority>(adds);
 
                 //获取所有职位员工
@@ -1033,11 +1041,17 @@ namespace OASystem.API.Controllers
                 if (users != null && users.Count > 0)
                 {
                     List<Sys_UserAuthority> userAuth = null;
+                    var uids = string.Join(',', users.Select(x => x.Id)).TrimEnd(',');
+                    var RemoveUserAuthorityListAndTemp = _UserAuthorityRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
+                           select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
+                           where a.SmId = c.Id and c.Mid = b.Id and uid in ({uids}) and  c.Mid =716 and IsTemp = 1                       
+                    ").ToList();
+
                     foreach (var user in users)
                     {
                         //删除个人级岗位权限
-                        isdel = await _UserAuthorityRepository.DeleteAsync<Sys_UserAuthority>(x => x.IsTemp == 1 &&
-                        x.UId == user.Id);
+                        isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>
+                            (RemoveUserAuthorityListAndTemp.FindAll(x=>x.UId == user.Id));
 
                         userAuth = adds.Select(x=> new Sys_UserAuthority
                         {
@@ -1131,6 +1145,11 @@ namespace OASystem.API.Controllers
         {
             //获取所有关联页面
             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
+            //获取用户当前模块所有启用页面
+            var userpageList = _SystemMenuPermissionRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
+                  select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
+                    where a.SmId = c.Id and c.Mid = b.Id and uid = {dto.uid} and  c.Mid ={dto.Modulid} 
+            ").ToList();
 
             List<Sys_UserAuthority> adds = new List<Sys_UserAuthority>();
             foreach (var item in dto.Savejobs)
@@ -1158,7 +1177,7 @@ namespace OASystem.API.Controllers
             {
                 List<Sys_UserAuthority> userAuth = null;
                 //删除个人级岗位权限
-                bool isdel = await _UserAuthorityRepository.DeleteAsync<Sys_UserAuthority>(x=> x.UId == dto.uid);
+                bool isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>(userpageList);
 
                 userAuth = adds.Select(x => new Sys_UserAuthority
                 {
@@ -1239,7 +1258,7 @@ namespace OASystem.API.Controllers
             {
 
                 //删除页面绑定的操作后重新绑定
-                istrue = await _SystemMenuAndFunctionRepository.DeleteAsync(x => x.SmId == dto.Pageid);
+                await _SystemMenuAndFunctionRepository.DeleteAsync(x => x.SmId == dto.Pageid);
 
                 List<Sys_SystemMenuAndFunction> binFun = new List<Sys_SystemMenuAndFunction>();
 
@@ -1365,7 +1384,12 @@ namespace OASystem.API.Controllers
             }
             return Ok(JsonView(view));
         }
-
+        
+        /// <summary>
+        /// 获取页面绑定的操作
+        /// </summary>
+        /// <param name="Dto"></param>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryPageFunById(PageFunDto Dto)
@@ -1400,6 +1424,51 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(arr));
         }
 
+
+        /// <summary>
+        /// 菜单加载
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> MenuLoad(MenuLoadDto dto)
+        {
+            var QueryResult = _SystemMenuPermissionRepository.QueryMenuLoad(dto.Userid);
+            JsonView ViewData = new JsonView();
+            ArrayList arr = new ArrayList();
+
+            if (QueryResult.Code == 0)
+            {
+                var menuGroup = (QueryResult.Data as List<MenuLoadView>).GroupBy(x=>x.modulid);
+                foreach (var item in menuGroup)
+                {
+                    var modul = item.FirstOrDefault();
+                    if (modul != null)
+                    {
+                        arr.Add(new
+                        {
+                            modulName = modul.modulName,
+                            modulid = modul.modulid,
+                            pageList = item
+                        }) ;
+                    }
+                }
+
+                ViewData.Code = 200;
+                ViewData.Msg = QueryResult.Msg;
+                ViewData.Data = arr;
+            }
+            else
+            {
+                ViewData.Code = 400;
+                ViewData.Msg = QueryResult.Msg;
+                ViewData.Data = null;
+            }
+
+            return Ok(ViewData);
+        }
+
+
         #endregion
 
         #region 页面操作
@@ -1474,6 +1543,7 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "程序错误!"));
             }
         }
+        
         #endregion
     }
 }

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

@@ -83,8 +83,13 @@ namespace OASystem.Domain.AutoMappers
             #endregion
             #region 酒店资料数据
             CreateMap<Res_HotelData, HotelDataView>();
+            CreateMap<Res_HotelData, QueryHotelDataSelect>();
             CreateMap<OperationHotelDto, Res_HotelData>();
             #endregion
+            #region 签证费用资料
+            CreateMap<Res_CountryFeeCost, CountryFeeCostView>();
+            CreateMap<OperationCountryFeeCostDto, Res_CountryFeeCost>();
+            #endregion
             #region 物料供应商
             CreateMap<Edit_ResItemVendorDto, Res_ItemVendor>()
                  .ForMember(dest => dest.Address, opt => opt.MapFrom(src => src.VendorAddress))

+ 169 - 0
OASystem/OASystem.Domain/Dtos/Resource/CountryFeeCostDto.cs

@@ -0,0 +1,169 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Resource
+{
+    public class OperationCountryFeeCostDto
+    {
+        /// <summary>
+        /// 操作状态
+        /// 1 添加 
+        /// 2 修改 
+        /// </summary>
+        public int Status { get; set; }
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 洲名
+        /// </summary>
+        public string VisaContinent { get; set; }
+
+        /// <summary>
+        /// 国家名
+        /// </summary>
+        public string VisaCountry { get; set; }
+
+        /// <summary>
+        /// 是否免签 0:是 1:否
+        /// </summary>
+        public int IsVisaExemption { get; set; }
+        /// <summary>
+        /// 是否落地签 0:是 1:否
+        /// </summary>
+        public int IsVisaOnArrival { get; set; }
+        /// <summary>
+        /// 是否电子签 0:是 1:否
+        /// </summary>
+        public int IsElectronicSignature { get; set; }
+
+        private decimal visaPrice;
+        /// <summary>
+        /// 签证费用
+        /// </summary>
+        public decimal VisaPrice
+        {
+            get { return visaPrice; }
+            set
+            {
+                Regex reg = new Regex(@"[^0-9]{1,17}([.]{1}[^0-9]{1,4})?$");
+                if (!reg.IsMatch(value.ToString()))
+                {
+                    visaPrice = Convert.ToDecimal(value);
+                }
+                else
+                {
+                    visaPrice = 0;
+                }
+            }
+        }
+
+
+        /// <summary>
+        /// 签证费用描述
+        /// </summary>
+        public string VisaPriceDesc { get; set; }
+
+        /// <summary>
+        /// 签证类型 大公务/小公务/大小公务同时免签
+        /// </summary>
+        public string VisaType { get; set; }
+
+        private string visaTime;
+        /// <summary>
+        /// 一般签证时间
+        /// </summary>
+        public string VisaTime 
+        { 
+            get { return visaTime; }
+            set
+            {
+                int s = -1;
+                if (int.TryParse(value,out s))
+                {
+                    visaTime = value;
+                }
+                else
+                {
+                    ugentTime = "1";
+                }
+            }
+        }
+
+        /// <summary>
+        /// 签证是否加急 0:加急  1: 不加急
+        /// </summary>
+        public int IsUrgent { get; set; }
+
+        private string ugentTime;
+        /// <summary>
+        /// 加急时间 
+        /// </summary>
+        public string UrgentTime
+        {
+            get { return ugentTime; }
+            set
+            {
+                int s = -1;
+                if (int.TryParse(value, out s))
+                {
+                    ugentTime = value;
+                }
+                else
+                {
+                    ugentTime = "1";
+                }
+            }
+        }
+        private decimal urgentPrice;
+        /// <summary>
+        /// 加急费用
+        /// </summary>
+        public decimal UrgentPrice
+        {
+            get { return urgentPrice; }
+            set
+            {
+                Regex reg = new Regex(@"[^0-9]{1,17}([.]{1}[^0-9]{1,4})?$");
+                if (!reg.IsMatch(value.ToString()))
+                {
+                    urgentPrice = Convert.ToDecimal(value);
+                }
+                else
+                {
+                    urgentPrice = 0;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 加急费用描述 
+        /// </summary>
+        public string UrgentPriceDesc { get; set; }
+
+        /// <summary>
+        /// 签证地址
+        /// </summary>
+        public string VisaAddress { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+       
+    }
+    public class DelCountryFeeCostDto
+    {
+        public int Id { get; set; }
+        public int DeleteUserId { get; set; }
+    }
+}

+ 19 - 0
OASystem/OASystem.Domain/Dtos/Resource/HotelDataDto.cs

@@ -6,6 +6,25 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Resource
 {
+    public class QueryHotelDataDto:DtoBase
+    {
+        /// <summary>
+        /// 所在城市
+        /// </summary>
+        public string City { get; set; }
+        /// <summary>
+        /// 酒店名称
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+        /// <summary>
+        /// 联系方式
+        /// </summary>
+        public string ContactPhone { get; set; }
+    }
     /// <summary>
     /// 酒店资料操作(增删)
     /// </summary>

+ 13 - 0
OASystem/OASystem.Domain/Dtos/System/MenuLoadDto.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    public class MenuLoadDto
+    {
+        public int Userid { get; set; }
+    }
+}

+ 3 - 0
OASystem/OASystem.Domain/Dtos/System/SaveJobDto.cs

@@ -13,6 +13,7 @@ namespace OASystem.Domain.Dtos.System
         /// </summary>
         public int Jpid { get; set; }
         public List<savejob> Savejobs { get; set; }
+        public int modulId { get; set; }
     }
 
     public class SaveUserDto
@@ -22,6 +23,8 @@ namespace OASystem.Domain.Dtos.System
         /// </summary>
         public int uid { get; set; }
         public List<savejob> Savejobs { get; set; }
+
+        public int Modulid { get; set; }
     }
 
     public class savejob

+ 4 - 4
OASystem/OASystem.Domain/Entities/Resource/Res_CountryFeeCost.cs

@@ -58,8 +58,8 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 一般签证时间
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
-        public DateTime VisaTime { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string VisaTime { get; set; }
 
         /// <summary>
         /// 签证是否加急 0:加急  1: 不加急
@@ -70,8 +70,8 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 加急时间 
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
-        public DateTime UrgentTime { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string UrgentTime { get; set; }
 
         /// <summary>
         /// 加急费用

+ 13 - 0
OASystem/OASystem.Domain/ViewModels/Resource/CountryFeeCostView.cs

@@ -0,0 +1,13 @@
+using OASystem.Domain.Entities.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Resource
+{
+    public class CountryFeeCostView:Res_CountryFeeCost
+    {
+    }
+}

+ 5 - 0
OASystem/OASystem.Domain/ViewModels/Resource/HotelDataView.cs

@@ -10,4 +10,9 @@ namespace OASystem.Domain.ViewModels.Resource
     public class HotelDataView:Res_HotelData
     {
     }
+    public class QueryHotelDataSelect {
+        public int Id { get; set; }
+        public string City { get; set; }
+    }
+
 }

+ 28 - 0
OASystem/OASystem.Domain/ViewModels/System/MenuLoadView.cs

@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.System
+{
+    public class MenuLoadView
+    {
+       public int userpageid { get; set; }
+        public int Uid { get; set; }
+        public int SmId { get; set; }
+        public int Funid { get; set; }
+        public string FunctionName { get; set; }
+        public string FunctionCode { get; set; }
+        public int modulid { get; set; }
+        public string modulName { get; set; }
+        public int STid { get; set; }
+        public int pageid { get; set; }
+        public string PageName { get; set; }
+        public string SystemMenuCode { get; set; }
+        public string webUrl { get; set; }
+        public string AndroidUrl { get; set; }
+        public string IosUrl { get; set; }
+        public string icon { get; set; }
+    }
+}

+ 8 - 0
OASystem/OASystem.Infrastructure/Repositories/BaseRepository.cs

@@ -267,6 +267,14 @@ namespace OASystem.Infrastructure.Repositories
             var result = await _sqlSugar.Deleteable<T>().Where(wherexp).ExecuteCommandAsync();
             return result > 0;
         }
+
+        public virtual async Task<bool> DeletesAsync<T>(List<T> List) where T : EntityBase, new()
+        {
+            var result = await _sqlSugar.Deleteable<T>(List).ExecuteCommandAsync();
+            return result > 0;
+        }
+
+
         public virtual async Task<bool> SoftDeleteAsync<T>(string id) where T : EntityBase, new()
         {
             var result = await _sqlSugar.Updateable<TEntity>().Where(a => a.Id.Equals(id)).SetColumns(a => new TEntity()

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/Resource/CarDataRepository.cs

@@ -56,7 +56,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                     }
                     CarData= CarData.OrderByDescending(x => x.CreateTime).ToList();
 
-                    if (dto.PageSize==0 || dto.PageIndex==0)
+                    if (dto.PageSize==0 && dto.PageIndex==0)
                     {
                         return result = new Result()
                         {

+ 87 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/CountryFeeRepository.cs

@@ -0,0 +1,87 @@
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Resource;
+using OASystem.Domain.ViewModels.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    public class CountryFeeRepository : BaseRepository<Res_CountryFeeCost, CountryFeeCostView>
+    {
+        private readonly IMapper _mapper;
+        public CountryFeeRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+        public async Task<Result> OperationCountryFeeCost(OperationCountryFeeCostDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                if (dto.Status == 1)//添加
+                {
+                    string selectSql = string.Format(@"select * from Res_CountryFeeCost where VisaContinent='{0}' and VisaCountry='{1}' and IsDel='{2}'"
+                                                       , dto.VisaContinent,dto.VisaCountry, 0);
+                    var CountryFeeCost = await _sqlSugar.SqlQueryable<Res_CountryFeeCost>(selectSql).FirstAsync();//查询是否存在
+                    if (CountryFeeCost != null)
+                    {
+                        return result = new Result() { Code = -1, Msg = "该国家已存在,请勿重复添加!" };
+
+                    }
+                    else//不存在,可添加
+                    {
+                        Res_CountryFeeCost _CountryFeeCost = _mapper.Map<Res_CountryFeeCost>(dto);
+                        int id = await AddAsyncReturnId(_CountryFeeCost);
+                        if (id == 0)
+                        {
+                            return result = new Result() { Code = -1, Msg = "添加失败!" };
+
+                        }
+                        result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
+                    }
+                }
+                else if (dto.Status == 2)//修改
+                {
+                    bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Res_CountryFeeCost
+                    {
+                        VisaContinent = dto.VisaContinent,
+                        VisaCountry = dto.VisaCountry,
+                        IsVisaExemption = dto.IsVisaExemption,
+                        IsVisaOnArrival = dto.IsVisaOnArrival,
+                        IsElectronicSignature = dto.IsElectronicSignature,
+                        VisaPrice = dto.VisaPrice,
+                        VisaPriceDesc = dto.VisaPriceDesc,
+                        VisaType = dto.VisaType,
+                        VisaTime = dto.VisaTime,
+                        IsUrgent = dto.IsUrgent,
+                        UrgentTime = dto.UrgentTime,
+                        UrgentPrice = dto.UrgentPrice,
+                        UrgentPriceDesc = dto.UrgentPriceDesc,
+                        VisaAddress = dto.VisaAddress,
+                        Remark = dto.Remark
+                    });
+                    if (!res)
+                    {
+                        return result = new Result() { Code = -1, Msg = "修改失败!" };
+                    }
+                    result = new Result() { Code = 0, Msg = "修改成功!" };
+                }
+                else
+                {
+                    return result = new Result() { Code = -1, Msg = "请传入Status参数,1添加 2修改!" };
+                }
+            }
+            catch (Exception ex)
+            {
+                return result = new Result() { Code = -2, Msg = "程序错误!" };
+            }
+            return result;
+        }
+    }
+}

+ 134 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/HotelDataRepository.cs

@@ -78,5 +78,139 @@ namespace OASystem.Infrastructure.Repositories.Resource
             }
             return result;
         }
+
+        public async Task<Result> QueryHotelData(QueryHotelDataDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.Name))
+                {
+                    sqlWhere += string.Format(@" And Name like '%{0}%'", dto.Name);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.City) && dto.City != "全部")
+                {
+                    sqlWhere += string.Format(@" And City like '%{0}%'", dto.City);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.Contact))
+                {
+                    sqlWhere += string.Format(@" And Contact like '%{0}%'", dto.Contact);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.ContactPhone))
+                {
+                    sqlWhere += string.Format(@" And ContactPhone like '%{0}%'", dto.ContactPhone);
+                }
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                {
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                if (dto.PortType == 1)
+                {
+                    string sql = string.Format(@"select * from Res_HotelData {0}", sqlWhere);
+                    List<Res_HotelData> HotelDataData = await _sqlSugar.SqlQueryable<Res_HotelData>(sql).ToListAsync();
+                    if (HotelDataData.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    HotelDataData = HotelDataData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = HotelDataData,
+                        };
+                    }
+                    else
+                    {
+                        int count = HotelDataData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_HotelData> _HotelData = new List<Res_HotelData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < HotelDataData.Count)
+                            {
+                                _HotelData.Add(HotelDataData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _HotelData },
+                        };
+                    }
+
+                }
+                else if (dto.PortType == 2)
+                {
+                    string sql = string.Format(@"select * from Res_HotelData {0}", sqlWhere);
+                    List<Res_HotelData> HotelDataData = await _sqlSugar.SqlQueryable<Res_HotelData>(sql).ToListAsync();
+                    if (HotelDataData.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    HotelDataData = HotelDataData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = HotelDataData,
+                        };
+                    }
+                    else
+                    {
+                        int count = HotelDataData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_HotelData> _HotelData = new List<Res_HotelData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < HotelDataData.Count)
+                            {
+                                _HotelData.Add(HotelDataData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _HotelData },
+                        };
+                    }
+                }
+                else
+                {
+                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
+                }
+            }
+            catch (Exception)
+            {
+                return result;
+                throw;
+            }
+        }
     }
 }

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Resource/LocalGuideDataRepository.cs

@@ -98,7 +98,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                 }
                 if (!string.IsNullOrWhiteSpace(dto.UnitArea) && dto.UnitArea != "全部")
                 {
-                    sqlWhere += string.Format(@" And UnitArea like '%{0}%''", dto.UnitArea);
+                    sqlWhere += string.Format(@" And UnitArea like '%{0}%'", dto.UnitArea);
                 }
                 if (!string.IsNullOrWhiteSpace(dto.Contact))
                 {
@@ -171,7 +171,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                     }
                     LocalGuideData = LocalGuideData.OrderByDescending(x => x.CreateTime).ToList();
 
-                    if (dto.PageSize == 0 || dto.PageIndex == 0)
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
                     {
                         return result = new Result()
                         {

+ 27 - 0
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -65,7 +65,34 @@ namespace OASystem.Infrastructure.Repositories.System
         }
 
 
+        public Result QueryMenuLoad(int uid)
+        {
+            Result result = new Result();
+            if (uid != 0)
+            {
+                var DBData = _sqlSugar.SqlQueryable<MenuLoadView>($@"
+                 select a.id as userpageid ,a.UId,a.SmId,b.Id as Funid,b.FunctionName,b.FunctionCode,c.Id as modulid,
+                  c.Name as modulName,c.STid,d.Id as pageid ,d.Name as PageName,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon,
+                  d.IosUrl
+                  from Sys_UserAuthority a inner join Sys_PageFunctionPermission b on a.FId = b.Id 
+                  inner join Sys_SystemMenuPermission d on a.SmId = d.Id inner join Sys_SetData c on c.Id = d.Mid
+                  where uid = {uid} and b.Id = 1 and a.IsDel= 0  and b.IsDel = 0 
+                  and b.IsEnable = 1 and c.IsDel = 0 and d.IsDel = 0 and d.IsEnable = 1
+                ").ToList();
+
+                result.Code = -1;
+                result.Msg = "暂无数据!";
 
+                if (DBData.Count > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = DBData;
+                }
+            }
+
+            return result;
+        }
 
 
     }