| 
					
				 | 
			
			
				@@ -0,0 +1,152 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using AutoMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain.Dtos.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain.Dtos.System; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain.Entities.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain.Entities.System; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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 SetDataTypeRepository: BaseRepository<Sys_SetDataType, SetDataTypeView> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private readonly IMapper _mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public SetDataTypeRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _mapper = mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public async Task<Result> QuerySetDataType(setDataTypeDto dto) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Result result = new Result() { Code = -2, Msg = "未知错误" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                string sqlWhere = string.Empty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!string.IsNullOrWhiteSpace(dto.Name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sqlWhere += string.Format(@" And s.Name like '%{0}%'", dto.Name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!string.IsNullOrWhiteSpace(dto.Name)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sqlWhere += string.Format(@" And u.CnName like '%{0}%'", dto.Name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sqlWhere += string.Format(@" And s.IsDel={0}", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                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 s.*,u.CnName from Sys_setDataType s left join Sys_Users u on s.CreateUserId=u.Id  {0}", sqlWhere); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    List<SetDataTypeView> SetDataType = await _sqlSugar.SqlQueryable<SetDataTypeView>(sql).ToListAsync(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (SetDataType.Count == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() { Code = -1, Msg = "暂无数据" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SetDataType = SetDataType.OrderByDescending(x => x.CreateTime).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (dto.PageSize == 0 && dto.PageIndex == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Code = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Msg = "查询成功", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Data = SetDataType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int count = SetDataType.Count; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        float totalPage = (float)count / dto.PageSize;//总页数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (totalPage == 0) totalPage = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else totalPage = (int)Math.Ceiling((double)totalPage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        List<SetDataTypeView> _SetDataTypeView = new List<SetDataTypeView>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        for (int i = 0; i < dto.PageSize; i++) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (RowIndex < SetDataType.Count) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                _SetDataTypeView.Add(SetDataType[RowIndex]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Code = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Msg = "查询成功", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _SetDataTypeView }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |