|
@@ -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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|