瀏覽代碼

新增导游地接、用车资料下拉框方法,修改到有地接插叙方法为分页方式

wangh 1 年之前
父節點
當前提交
3f74e18a0c

+ 64 - 41
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -2,6 +2,7 @@
 
 using NetTaste;
 using System.Drawing.Printing;
+using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
 
 namespace OASystem.API.Controllers
 {
@@ -36,35 +37,19 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QuertCarData(DtoBase dto)
+        public async Task<IActionResult> QueryCarData(QueryCarDataDto dto)
         {
             try
             {
-                if (dto.PortType==1)
+                Result carDada = await _carDataRep.QueryCarData(dto);
+                if (carDada.Code == 0)
                 {
-                    var carDada = _carDataRep.QueryDto<Res_CarData, CarDataView>().ToList();
-                    if (carDada.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    carDada = carDada.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", carDada));
-                }
-                else if(dto.PortType==2)
-                {
-                    var carDada = _carDataRep.QueryDto<Res_CarData, CarDataView>().ToList();
-                    if (carDada.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    carDada=carDada.OrderByDescending(s=>s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", carDada));
+                    return Ok(JsonView(true, "查询成功", carDada.Data));
                 }
                 else
                 {
-                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                    return Ok(JsonView(false, carDada.Msg));
                 }
-               
             }
             catch (Exception ex)
             {
@@ -75,6 +60,32 @@ namespace OASystem.API.Controllers
             
         }
 
+        /// <summary>
+        /// 车公司资料下拉框数据
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryCarSelect()
+        {
+            try
+            {
+                var CarSelect = _carDataRep.QueryDto<Res_CarData, CarDataSelectView>().ToList();
+                if (CarSelect.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                CarSelect.Add(new CarDataSelectView {Id=0, UnitArea = "全部" });
+                CarSelect = CarSelect.Where((x, i) => CarSelect.FindIndex(z => z.UnitArea == x.UnitArea) == i).ToList();
+                CarSelect=CarSelect.OrderBy(x=>x.Id).ToList();
+                return Ok(JsonView(true, "查询成功", CarSelect));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
         /// <summary>
         /// 车公司信息添加
         /// </summary>
@@ -211,33 +222,18 @@ namespace OASystem.API.Controllers
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QueryLocalGuide(DtoBase dto)
+        public async Task<IActionResult> QueryLocalGuide(QueryLocalGuide dto)
         {
             try
             {
-                if (dto.PortType == 1)
+                Result LocalGuide = await _localGuideDataRep.QueryLocalGuide(dto);
+                if (LocalGuide.Code == 0)
                 {
-                    var LocalGuideData = _localGuideDataRep.QueryDto<Res_LocalGuideData, LocalGuideDataView>().ToList();
-                    if (LocalGuideData.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", LocalGuideData));
-                }
-                else if (dto.PortType == 2)
-                {
-                    var LocalGuideData = _localGuideDataRep.QueryDto<Res_LocalGuideData, LocalGuideDataView>().ToList();
-                    if (LocalGuideData.Count == 0)
-                    {
-                        return Ok(JsonView(false, "暂无数据!"));
-                    }
-                    LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList();
-                    return Ok(JsonView(true, "查询成功", LocalGuideData));
+                    return Ok(JsonView(true, "查询成功", LocalGuide.Data));
                 }
                 else
                 {
-                    return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS"));
+                    return Ok(JsonView(false, LocalGuide.Msg));
                 }
 
             }
@@ -250,6 +246,33 @@ namespace OASystem.API.Controllers
 
         }
 
+        /// <summary>
+        /// 导游地接资料下拉框数据
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryLocalGuideSelect()
+        {
+            try
+            {
+                var LocalGuide = _carDataRep.QueryDto<Res_LocalGuideData, QueryLocalGuideSelectView>().ToList();
+                if (LocalGuide.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                LocalGuide.Add(new QueryLocalGuideSelectView { Id = 0, UnitArea = "全部" });
+                LocalGuide = LocalGuide.Where((x, i) => LocalGuide.FindIndex(z => z.UnitArea == x.UnitArea) == i).ToList();
+                LocalGuide = LocalGuide.OrderBy(x => x.Id).ToList();
+                return Ok(JsonView(true, "查询成功", LocalGuide));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+
         /// <summary>
         /// 导游地接信息操作(Status:1.新增,2.修改)
         /// </summary>

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

@@ -71,6 +71,7 @@ namespace OASystem.Domain.AutoMappers
             #region 车公司资料
             CreateMap<Res_CarData, CarDataView>();
             CreateMap<AddCarDataDto, Res_CarData>();
+            CreateMap<Res_CarData, CarDataSelectView>();
             #endregion
 
             #region 导游地接资料

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

@@ -7,6 +7,25 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Resource
 {
+    public class QueryCarDataDto:DtoBase
+    {
+        /// <summary>
+        /// 单位名称
+        /// </summary>
+        public string UnitName { get; set; }
+        /// <summary>
+        /// 单位区域
+        /// </summary>
+        public string UnitArea { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+        /// <summary>
+        /// 联系人手机号
+        /// </summary>
+        public string ContactTel { get; set; }
+    }
     /// <summary>
     /// 添加车公司数据参数
     /// </summary>

+ 20 - 0
OASystem/OASystem.Domain/Dtos/Resource/LocalGuideDataDto.cs

@@ -7,6 +7,26 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.Resource
 {
+    public class QueryLocalGuide:DtoBase
+    {
+        /// <summary>
+        /// 区域
+        /// </summary>
+        public string UnitArea { get; set; }
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string UnitName { get; set; }
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+
+        /// <summary>
+        /// 联系人手机号
+        /// </summary>
+        public string ContactTel { get; set; }
+    }
     /// <summary>
     /// 地接导游修改添加参数
     /// </summary>

+ 6 - 0
OASystem/OASystem.Domain/ViewModels/Resource/CarDataView.cs

@@ -10,4 +10,10 @@ namespace OASystem.Domain.ViewModels.Resource
     public class CarDataView:Res_CarData
     {
     }
+
+    public class CarDataSelectView
+    {
+        public int Id { get; set; }
+        public string UnitArea { get; set; }
+    }
 }

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

@@ -10,4 +10,9 @@ namespace OASystem.Domain.ViewModels.Resource
     public class LocalGuideDataView:Res_LocalGuideData
     {
     }
+    public class QueryLocalGuideSelectView
+    {
+        public int Id { get; set; }
+        public string UnitArea { get; set; }
+    }
 }

+ 147 - 2
OASystem/OASystem.Infrastructure/Repositories/Resource/CarDataRepository.cs

@@ -1,12 +1,157 @@
-using OASystem.Domain.Entities.Resource;
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Entities.Resource;
 using OASystem.Domain.ViewModels.Resource;
+
 namespace OASystem.Infrastructure.Repositories.Resource
 {
     public class CarDataRepository: BaseRepository<Res_CarData, CarDataView>
     {
-        public CarDataRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        private readonly IMapper _mapper;
+        public CarDataRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+        /// <summary>
+        /// 查询用车资料
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> QueryCarData(QueryCarDataDto dto)
         {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.UnitName))
+                {
+                    sqlWhere += string.Format(@" And UnitName='{0}'", dto.UnitName);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.UnitArea) && dto.UnitArea!="全部")
+                {
+                    sqlWhere += string.Format(@" And UnitArea='{0}'", dto.UnitArea);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.Contact))
+                {
+                    sqlWhere += string.Format(@" And Contact='{0}'", dto.Contact);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.ContactTel))
+                {
+                    sqlWhere += string.Format(@" And ContactTel='{0}'", dto.ContactTel);
+                }
+                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_CarData {0}", sqlWhere);
+                    List<Res_CarData> CarData = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
+                    if (CarData.Count==0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    CarData= CarData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize==0 || dto.PageIndex==0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = CarData,
+                        };
+                    }
+                    else
+                    {
+                        int count = CarData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_CarData> ListData = new List<Res_CarData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < CarData.Count)
+                            {
+                                ListData.Add(CarData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                        };
+                    }
+                    
+                }
+                else if (dto.PortType == 2)
+                {
+                    string sql = string.Format(@"select * from Res_CarData {0}", sqlWhere);
+                    List<Res_CarData> CarData = await _sqlSugar.SqlQueryable<Res_CarData>(sql).ToListAsync();
+                    if (CarData.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    CarData = CarData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 || dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = CarData,
+                        };
+                    }
+                    else
+                    {
+                        int count = CarData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
 
+                        List<Res_CarData> ListData = new List<Res_CarData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < CarData.Count)
+                            {
+                                ListData.Add(CarData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                        };
+                    }
+                }
+                else
+                {
+                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
+                }
+            }
+            catch (Exception)
+            {
+                return result;
+                throw;
+            }
+            
         }
     }
 }

+ 135 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/LocalGuideDataRepository.cs

@@ -85,5 +85,140 @@ namespace OASystem.Infrastructure.Repositories.Resource
             }
             return result;
         }
+
+        public async Task<Result> QueryLocalGuide(QueryLocalGuide dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.UnitName))
+                {
+                    sqlWhere += string.Format(@" And UnitName='{0}'", dto.UnitName);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.UnitArea) && dto.UnitArea != "全部")
+                {
+                    sqlWhere += string.Format(@" And UnitArea='{0}'", dto.UnitArea);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.Contact))
+                {
+                    sqlWhere += string.Format(@" And Contact='{0}'", dto.Contact);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.ContactTel))
+                {
+                    sqlWhere += string.Format(@" And ContactTel='{0}'", dto.ContactTel);
+                }
+                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_LocalGuideData {0}", sqlWhere);
+                    List<Res_LocalGuideData> LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(sql).ToListAsync();
+                    if (LocalGuideData.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    LocalGuideData = LocalGuideData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 || dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = LocalGuideData,
+                        };
+                    }
+                    else
+                    {
+                        int count = LocalGuideData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_LocalGuideData> ListData = new List<Res_LocalGuideData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < LocalGuideData.Count)
+                            {
+                                ListData.Add(LocalGuideData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                        };
+                    }
+
+                }
+                else if (dto.PortType == 2)
+                {
+                    string sql = string.Format(@"select * from Res_LocalGuideData {0}", sqlWhere);
+                    List<Res_LocalGuideData> LocalGuideData = await _sqlSugar.SqlQueryable<Res_LocalGuideData>(sql).ToListAsync();
+                    if (LocalGuideData.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    LocalGuideData = LocalGuideData.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 || dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = LocalGuideData,
+                        };
+                    }
+                    else
+                    {
+                        int count = LocalGuideData.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<Res_LocalGuideData> ListData = new List<Res_LocalGuideData>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < LocalGuideData.Count)
+                            {
+                                ListData.Add(LocalGuideData[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = ((int)totalPage).ToString(), pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = ListData },
+                        };
+                    }
+                }
+                else
+                {
+                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
+                }
+            }
+            catch (Exception)
+            {
+                return result;
+                throw;
+            }
+
+        }
     }
 }