|
@@ -1,5 +1,6 @@
|
|
|
using Edge.Core.Core.database;
|
|
|
using Edge.Core.Domain.FccOrderInfo.Input;
|
|
|
+using Edge.Core.Domain.FccOrderInfo.Output;
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
|
namespace FccLite.Web.Repositories.FccOrderInfo
|
|
@@ -18,21 +19,41 @@ namespace FccLite.Web.Repositories.FccOrderInfo
|
|
|
/// </summary>
|
|
|
/// <param name="orderInfoPageInput"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<IEnumerable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput)
|
|
|
+ public async Task<IEnumerable<OrderInfo>> GetPage(OrderInfoPageInput orderInfoPageInput)
|
|
|
{
|
|
|
- IQueryable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo> query = _dbContext.FccOrderInfos.AsQueryable();
|
|
|
-
|
|
|
- query = query.Where(order => order.IsDelete == 0);
|
|
|
- query = query.WhereIf(orderInfoPageInput.oilName != null && !"".Equals(orderInfoPageInput.oilName),order => order.OilName.Equals(orderInfoPageInput.oilName));
|
|
|
- query = query.WhereIf(orderInfoPageInput.nozzleNum != null, order => order.NozzleNum == orderInfoPageInput.nozzleNum);
|
|
|
- //query = query.WhereIf(orderInfoPageInput.ttc != null, order => order.Ttc == orderInfoPageInput.ttc);
|
|
|
- if (orderInfoPageInput.startCheckTime != null && orderInfoPageInput.endCheckTime != null)
|
|
|
- {
|
|
|
- query = query.Where(order => order.EndTime != null && (order.EndTime >= orderInfoPageInput.startCheckTime && order.EndTime <= orderInfoPageInput.endCheckTime));
|
|
|
- }
|
|
|
- query = query.WhereIf(orderInfoPageInput.paymentType != null, order => order.PayType == orderInfoPageInput.paymentType);
|
|
|
- query = query.WhereIf(orderInfoPageInput.phoneNumberOruserName != null, order => order.UserName.Equals(orderInfoPageInput.phoneNumberOruserName) || order.PhoneNumber.Equals(orderInfoPageInput.phoneNumberOruserName));
|
|
|
- query = query.OrderByDescending(order => order.EndTime);
|
|
|
+ Edge.Core.Domain.FccStationInfo.FccStationInfo? fccStationInfo = await _dbContext.FccStationInfos.FirstOrDefaultAsync();
|
|
|
+ var stationName = fccStationInfo?.Name ?? "";
|
|
|
+
|
|
|
+ var query = from qo in _dbContext.FccOrderInfos
|
|
|
+ join qn in _dbContext.NozzleInfos on qo.NozzleNum equals qn.ExternalNum
|
|
|
+ join qm in _dbContext.FccMachineInfos on qn.MachineId equals qm.Id
|
|
|
+ where qo.IsDelete == 0
|
|
|
+ where string.IsNullOrEmpty(orderInfoPageInput.oilName) || qo.OilName == orderInfoPageInput.oilName
|
|
|
+ where orderInfoPageInput.nozzleNum == null || qo.NozzleNum == orderInfoPageInput.nozzleNum
|
|
|
+ where orderInfoPageInput.paymentType == null || qo.PayType == orderInfoPageInput.paymentType
|
|
|
+ where (orderInfoPageInput.startCheckTime == null || orderInfoPageInput.endCheckTime == null || qo.EndTime == null)
|
|
|
+ || qo.EndTime >= orderInfoPageInput.startCheckTime && qo.EndTime <= orderInfoPageInput.endCheckTime
|
|
|
+ where string.IsNullOrEmpty(orderInfoPageInput.phoneNumberOruserName) || qo.UserName == orderInfoPageInput.phoneNumberOruserName || qo.PhoneNumber == orderInfoPageInput.phoneNumberOruserName
|
|
|
+ orderby qo.AuthorizationTime descending
|
|
|
+ select new OrderInfo(qo, stationName, qm.Name);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //IQueryable<Edge.Core.Domain.FccOrderInfo.FccOrderInfo> query = _dbContext.FccOrderInfos.AsQueryable();
|
|
|
+
|
|
|
+ //query = query.Where(order => order.IsDelete == 0);
|
|
|
+ //query = query.WhereIf(orderInfoPageInput.oilName != null && !"".Equals(orderInfoPageInput.oilName),order => order.OilName.Equals(orderInfoPageInput.oilName));
|
|
|
+ //query = query.WhereIf(orderInfoPageInput.nozzleNum != null, order => order.NozzleNum == orderInfoPageInput.nozzleNum);
|
|
|
+ ////query = query.WhereIf(orderInfoPageInput.ttc != null, order => order.Ttc == orderInfoPageInput.ttc);
|
|
|
+ //if (orderInfoPageInput.startCheckTime != null && orderInfoPageInput.endCheckTime != null)
|
|
|
+ //{
|
|
|
+ // query = query.Where(order => order.EndTime != null && (order.EndTime >= orderInfoPageInput.startCheckTime && order.EndTime <= orderInfoPageInput.endCheckTime));
|
|
|
+ //}
|
|
|
+ //query = query.WhereIf(orderInfoPageInput.paymentType != null, order => order.PayType == orderInfoPageInput.paymentType);
|
|
|
+ //query = query.WhereIf(orderInfoPageInput.phoneNumberOruserName != null, order => order.UserName.Equals(orderInfoPageInput.phoneNumberOruserName) || order.PhoneNumber.Equals(orderInfoPageInput.phoneNumberOruserName));
|
|
|
+ //query = query.OrderByDescending(order => order.EndTime);
|
|
|
return await query.Skip((orderInfoPageInput.page - 1) * orderInfoPageInput.pageSize).Take(orderInfoPageInput.pageSize).ToListAsync();
|
|
|
}
|
|
|
}
|