Browse Source

采购单列表支持sku级别的物流信息

AddValidOverTime
shanji 2 years ago
parent
commit
8105ef09ae
  1. 9
      BBWY.Server.API/Controllers/BatchPurchaseController.cs
  2. 35
      BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
  3. 76
      BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseExpressOrderResponse.cs
  4. 2
      BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseOrderSkuResponse.cs
  5. 11
      BBWY.Server.Model/Enums.cs

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

@ -1,9 +1,12 @@
using BBWY.Server.Business;
using BBWY.Common.Models;
using BBWY.Server.Business;
using BBWY.Server.Model.Dto;
using Jd.Api.Request;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
namespace BBWY.Server.API.Controllers
@ -81,7 +84,9 @@ namespace BBWY.Server.API.Controllers
[HttpPost]
public PurchaseOrderV2ListResponse GetPurchaseOrderList([FromBody] SearchPurchaseOrderV2Request request)
{
return batchPurchaseBusiness.GetPurchaseOrderList(request);
if (!httpContextAccessor.HttpContext.Request.Headers.TryGetValue("Authorization", out StringValues token))
throw new BusinessException("未获取到token");
return batchPurchaseBusiness.GetPurchaseOrderList(request, token);
}
/// <summary>

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

@ -817,7 +817,7 @@ namespace BBWY.Server.Business
return 0;
}
public PurchaseOrderV2ListResponse GetPurchaseOrderList(SearchPurchaseOrderV2Request request)
public PurchaseOrderV2ListResponse GetPurchaseOrderList(SearchPurchaseOrderV2Request request, string token)
{
if (request.EndDate != null)
request.EndDate = request.EndDate.Value.Date.AddDays(1).AddSeconds(-1);
@ -839,8 +839,8 @@ namespace BBWY.Server.Business
select = select.Where((po, pa) => childSelect.Where(posku => posku.PurchaseOrderId == po.Id).Any());
}
select = select.WhereIf(request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState. ||
request.PurchaseOrderState == Enums.PurchaseOrderState.,
(po, pa) => po.OrderState == request.PurchaseOrderState)
@ -902,6 +902,35 @@ namespace BBWY.Server.Business
foreach (var purchaseOrder in purchaseOrderList)
purchaseOrder.ItemList = purchaseOrderSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.Id).ToList();
try
{
var httpResult = restApiService.SendRequest("http://bbwyb.qiyue666.com",
"api/order/BatchGetPurchaseExpressOrderList",
purchaseOrderIdList,
new Dictionary<string, string>() { { "Authorization", $"{token}" } },
HttpMethod.Post);
if (httpResult.StatusCode == System.Net.HttpStatusCode.OK)
{
var response = JsonConvert.DeserializeObject<ApiResponse<IList<PurchaseExpressOrderResponse>>>(httpResult.Content);
if (response.Success)
{
foreach (var purchaseOrder in purchaseOrderList)
{
foreach (var purchaseOrderSku in purchaseOrder.ItemList)
{
purchaseOrderSku.PurchaseExpressOrderList = response.Data.Where(x => !string.IsNullOrEmpty(x.BelongSkuIds) &&
x.PurchaseOrderId == purchaseOrder.Id &&
x.BelongSkuIds.Contains(purchaseOrderSku.PurchaseSkuIds))
.ToList();
}
}
}
}
}
catch (Exception ex)
{
}
return new PurchaseOrderV2ListResponse() { Count = total, ItemList = purchaseOrderList };
}

76
BBWY.Server.Model/Dto/Response/PurchaseOrderV2/PurchaseExpressOrderResponse.cs

@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{
/// <summary>
/// 采购快递单
/// </summary>
public partial class PurchaseExpressOrderResponse
{
/// <summary>
/// 快递单号
/// </summary>
public string WaybillNo { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 变更时间
/// </summary>
public DateTime? ExpressChangedTime { get; set; }
/// <summary>
/// 物流内容
/// </summary>
public string ExpressContent { get; set; }
/// <summary>
/// 物流状态 (ZaiTu,LanShou,QianShou,PaiJian,Unknow)
/// </summary>
public string ExpressState { get; set; }
public long ShopId { get; set; }
/// <summary>
/// 原快递公司Id
/// </summary>
public string SourceExpressId { get; set; }
/// <summary>
/// 原快递公司名称
/// </summary>
public string SourceExpressName { get; set; }
/// <summary>
/// 目标快递公司Id(kuaidi100)
/// </summary>
public string TargetExpressId { get; set; }
/// <summary>
/// 目标快递公司名称(kuaidi100)
/// </summary>
public string TargetExpressName { get; set; }
/// <summary>
/// 是否订阅快递100
/// </summary>
public bool IsSubscribeKD100 { get; set; } = false;
public string OrderId { get; set; }
public string PurchaseOrderId { get; set; }
/// <summary>
/// 归属SkuId,逗号间隔 (采购SKU)
/// </summary>
public string BelongSkuIds { get; set; }
}
}

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

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

11
BBWY.Server.Model/Enums.cs

@ -322,7 +322,7 @@
}
/// <summary>
/// 单状态
/// 采购单状态
/// <para>待付款 = 0</para>
/// <para>等待采购 = 1, 部分采购 = 110</para>
/// <para>待发货 = 2, 部分发货 = 120</para>
@ -333,12 +333,11 @@
/// <para>暂停 = 7</para>
/// <para>已退款 = 8</para>
/// <para>Unknow = 100</para>
/// <para>打包中 = 140</para>
/// <para>待完结 = 150</para>
/// <para>待验收 = 140</para>
/// <para>待核算 = 150</para>
/// </summary>
public enum PurchaseOrderState
{
/*待付款 = 0, 待发货 = 1, 待收货 = 2, 待质检 = 3, 待打包 = 4, 待结算 = 5, 已完成 = 6, 已取消 = 7*/
= 0,
= 1,
= 110,
@ -352,8 +351,8 @@
= 7,
退 = 8,
Unknow = 100,
= 140,
= 150
= 140,
= 150
}

Loading…
Cancel
Save