shanji 2 years ago
parent
commit
c4fbcbe703
  1. 11
      BBWY.Server.API/Controllers/BatchPurchaseController.cs
  2. 41
      BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
  3. 7
      BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs
  4. 27
      BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/SearchPurchaseOrderV2Request.cs
  5. 8
      BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseOrderSkuResponse.cs
  6. 2
      BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseOrderV2Response.cs

11
BBWY.Server.API/Controllers/BatchPurchaseController.cs

@ -47,5 +47,16 @@ namespace BBWY.Server.API.Controllers
{
return batchPurchaseBusiness.BatchCreateOrder(request);
}
/// <summary>
/// 获取采购单列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseOrderV2Response> GetPurchaseOrderList([FromBody] SearchPurchaseOrderV2Request request)
{
return batchPurchaseBusiness.GetPurchaseOrderList(request);
}
}
}

41
BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs

@ -2,6 +2,8 @@
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using FreeSql;
using Jd.Api.Domain;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
@ -50,7 +52,7 @@ namespace BBWY.Server.Business
if (productSkuList == null || productSkuList.Count() == 0)
return null;
var skuIdList = productSkuList.Select(s => s.Id).ToList();
var skuIdList = productSkuList.Select(s => p.Id).ToList();
var schemeList = fsql.Select<PurchaseScheme, Purchaser>().InnerJoin((ps, p) => ps.PurchaserId == p.Id)
.Where((ps, p) => ps.ShopId == request.ShopId)
.Where((ps, p) => skuIdList.Contains(ps.SkuId))
@ -343,5 +345,42 @@ namespace BBWY.Server.Business
SuccessSkuIdList = successSkuIdList
};
}
public IList<PurchaseOrderV2Response> GetPurchaseOrderList(SearchPurchaseOrderV2Request request)
{
if (request.EndDate != null)
request.EndDate = request.EndDate.Value.Date.AddDays(1).AddSeconds(-1);
var select = fsql.Select<PurchaseOrderV2>().Where(p => p.ShopId == request.ShopId);
if (!string.IsNullOrEmpty(request.PurchaseOrderId))
{
select = select.Where(p => p.Id == request.PurchaseOrderId);
}
else
{
if (!string.IsNullOrEmpty(request.Spu) || !string.IsNullOrEmpty(request.Sku))
{
var childSelect = fsql.Select<PurchaseOrderSku>().As("posku")
.WhereIf(!string.IsNullOrEmpty(request.Sku), posku => posku.SkuId == request.Sku)
.WhereIf(!string.IsNullOrEmpty(request.Spu), posku => posku.ProductId == request.Spu);
select = select.Where(p => childSelect.Where(posku => posku.PurchaseOrderId == p.Id).Any());
}
select = select.WhereIf(request.PurchaserName != null, p => p.PurchaserName == request.PurchaserName)
.WhereIf(request.PurchaseOrderState != null, p => p.OrderState == request.PurchaseOrderState)
.WhereIf(request.StartDate != null, p => p.CreateTime >= request.StartDate)
.WhereIf(request.EndDate != null, p => p.CreateTime <= request.EndDate);
}
var purchaseOrderList = select.OrderByDescending(p => p.CreateTime)
.Count(out var total)
.Page(request.PageIndex, request.PageSize)
.ToList<PurchaseOrderV2Response>();
var purchaseOrderIdList = purchaseOrderList.Select(p => p.Id).ToList();
var purchaseOrderSkuList = fsql.Select<PurchaseOrderSku>().Where(posku => purchaseOrderIdList.Contains(posku.PurchaseOrderId)).ToList<PurchaseOrderSkuResponse>();
foreach (var purchaseOrder in purchaseOrderList)
purchaseOrder.ItemList = purchaseOrderSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.Id).ToList();
return purchaseOrderList;
}
}
}

7
BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs

@ -11,6 +11,8 @@ namespace BBWY.Server.Model.Db
[Table(Name = "purchaseordersku", DisableSyncStructure = true)]
public partial class PurchaseOrderSku
{
[Column(IsPrimary = true)]
public long Id { get; set; }
/// <summary>
/// 打包耗材费
@ -30,11 +32,6 @@ namespace BBWY.Server.Model.Db
[Column(DbType = "decimal(18,2)")]
public decimal? FirstFreight { get; set; } = 0.00M;
/// <summary>
/// 主键Id
/// </summary>
public long? Id { get; set; }
/// <summary>
/// 入仓费

27
BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/SearchPurchaseOrderV2Request.cs

@ -0,0 +1,27 @@
using System;
namespace BBWY.Server.Model.Dto
{
public class SearchPurchaseOrderV2Request
{
public string Sku { get; set; }
public string Spu { get; set; }
public string PurchaseOrderId { get; set; }
public long ShopId { get; set; }
public string PurchaserName { get; set; }
public Enums.PurchaseOrderState? PurchaseOrderState { get; set; }
public int PageIndex { get; set; }
public int PageSize { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
}
}

8
BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseOrderSkuResponse.cs

@ -0,0 +1,8 @@
using BBWY.Server.Model.Db;
namespace BBWY.Server.Model.Dto
{
public class PurchaseOrderSkuResponse : PurchaseOrderSku
{
}
}

2
BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseOrderV2Response.cs

@ -1,8 +1,10 @@
using BBWY.Server.Model.Db;
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
public class PurchaseOrderV2Response : PurchaseOrderV2
{
public IList<PurchaseOrderSkuResponse> ItemList { get; set; }
}
}

Loading…
Cancel
Save