diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs index af2ca5e..e01a121 100644 --- a/BBWYB.Server.API/Controllers/DataRepairController.cs +++ b/BBWYB.Server.API/Controllers/DataRepairController.cs @@ -14,18 +14,6 @@ namespace BBWYB.Server.API.Controllers this.dataRepairBusiness = dataRepairBusiness; } - [HttpPost] - public void RepairPurchaseExpressOrder() - { - dataRepairBusiness.RepairPurchaseExpressOrder(); - } - - [HttpPost] - public void ClearCancelOrderData() - { - dataRepairBusiness.ClearCancelOrderData(); - } - /// /// 手动订阅快递100 /// @@ -37,25 +25,5 @@ namespace BBWYB.Server.API.Controllers dataRepairBusiness.SubscribeKD100(waybillNo, targetCompanyCode); } - /// - /// 修复订单状态 - /// - /// - [HttpPost("{orderId}")] - public void RepairOrderState([FromRoute] string orderId) - { - dataRepairBusiness.RepairOrderState(orderId); - } - - /// - /// 修复订单状态 - /// - /// - [HttpPost] - public void BatchRepairOrderState([FromBody] IList orderIds) - { - foreach (var orderId in orderIds) - dataRepairBusiness.RepairOrderState(orderId); - } } } diff --git a/BBWYB.Server.API/Controllers/OrderController.cs b/BBWYB.Server.API/Controllers/OrderController.cs index c0be558..fcb1178 100644 --- a/BBWYB.Server.API/Controllers/OrderController.cs +++ b/BBWYB.Server.API/Controllers/OrderController.cs @@ -39,6 +39,17 @@ namespace BBWYB.Server.API.Controllers return orderBusiness.GetPurchaseExpressOrderList(request); } + /// + /// 批量查询快递单列表 + /// + /// 订单Id数组 + /// + [HttpPost] + public IList BatchGetPurchaseExpressOrderList([FromBody] IList orderIds) + { + return orderBusiness.GetPurchaseExpressOrderList(orderIds); + } + ///// ///// 出库 diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index 5a1b84e..7c953d0 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -1,6 +1,7 @@ using BBWYB.Common.Log; using BBWYB.Common.Models; using BBWYB.Server.Model.Db; +using BBWYB.Server.Model.Dto; using FreeSql; using Yitter.IdGenerator; @@ -14,138 +15,6 @@ namespace BBWYB.Server.Business this.kuaiDi100Manager = kuaiDi100Manager; } - public void RepairPurchaseExpressOrder() - { - - #region 修复快递单 - var purchaseExpressOrderList = fsql.Select().Where(peo => !string.IsNullOrEmpty(peo.PurchaseOrderId)).ToList(); - var wayBillNos = purchaseExpressOrderList.Select(peo => peo.WaybillNo).ToList(); - var relationList = fsql.Select().Where(eori => wayBillNos.Contains(eori.WayBillNo)).ToList(); - - List insertExpressOrderRelationInfoList = new List(); - foreach (var peo in purchaseExpressOrderList) - { - var relation = relationList.FirstOrDefault(r => r.WayBillNo == peo.WaybillNo && r.PurchaseOrderId == peo.PurchaseOrderId); - if (relation != null) - continue; - insertExpressOrderRelationInfoList.Add(new ExpressOrderRelationInfo() - { - Id = idGenerator.NewLong(), - CreateTime = DateTime.Now, - OrderId = peo.OrderId, - PurchaseOrderId = peo.PurchaseOrderId, - ShopId = peo.ShopId, - WayBillNo = peo.WaybillNo - }); - } - fsql.Transaction(() => - { - fsql.Insert(insertExpressOrderRelationInfoList).ExecuteAffrows(); - }); - #endregion - } - - /// - /// 批量清理取消单数据 - /// - public void ClearCancelOrderData() - { - var cancelOrderList = fsql.Select().Where(o => o.OrderState == Model.Enums.OrderState.已取消).ToList(); - var cancelOrderIds = cancelOrderList.Select(o => o.Id); - - //var noUsingExpressOrderList = fsql.Select().Where(peo => !fsql.Select() - // .As("b") - // .ToList(b => b.WayBillNo) - // .Contains(peo.WaybillNo)) - // .ToList(); - - - /* - select * from purchaseexpressorder peo where not exists (select r.waybillno from expressorderrelationinfo r where peo.WaybillNo=r.WaybillNo); - */ - fsql.Transaction(() => - { - fsql.Delete().Where(opi => cancelOrderIds.Contains(opi.OrderId)).ExecuteAffrows(); - fsql.Delete().Where(posku => cancelOrderIds.Contains(posku.OrderId)).ExecuteAffrows(); - fsql.Delete().Where(opri => cancelOrderIds.Contains(opri.OrderId)).ExecuteAffrows(); - fsql.Delete().Where(oc => cancelOrderIds.Contains(oc.OrderId)).ExecuteAffrows(); - fsql.Delete().Where(ocd => cancelOrderIds.Contains(ocd.OrderId)).ExecuteAffrows(); - }); - } - - public void RepairOrderState(string orderId) - { - List> updateOrderPurchaseList = new List>(); - IUpdate updateOrder = null; - - var order = fsql.Select(orderId).ToOne(); - - #region 查询采购单 - var purchaseOrderList = fsql.Select().Where(ori => ori.IsEnabled == true && ori.OrderId == orderId).ToList(); - if (purchaseOrderList.Count() == 0) - throw new Exception("未查询到任何采购单"); - var purchaseOrderIds = purchaseOrderList.Select(po => po.PurchaseOrderId).ToList(); - #endregion - - #region 查询采购SKU - IList orderPurchaseSkuList = fsql.Select() - .Where(posku => purchaseOrderIds.Contains(posku.PurchaseOrderId)) - .ToList(); - #endregion - - #region 查询采购sku关联信息 - IList orderPurchaseRelationList = fsql.Select() - .Where(ops => purchaseOrderIds.Contains(ops.PurchaseOrderId)) - .ToList(); - #endregion - - #region 查询采购单关联的快递单 - var purchaseExpressOrderList = fsql.Select() - .InnerJoin((eori, peo) => eori.WayBillNo == peo.WaybillNo) - .Where((eori, peo) => eori.OrderId == orderId).ToList((eori, peo) => new PurchaseExpressOrder - { - CreateTime = peo.CreateTime, - ExpressContent = peo.ExpressContent, - ExpressChangedTime = peo.ExpressChangedTime, - ExpressState = peo.ExpressState, - IsSubscribeKD100 = peo.IsSubscribeKD100, - OrderId = eori.OrderId, - PurchaseOrderId = eori.PurchaseOrderId, - ShopId = eori.ShopId.Value, - SourceExpressId = peo.SourceExpressId, - SourceExpressName = peo.SourceExpressName, - TargetExpressId = peo.TargetExpressId, - TargetExpressName = peo.TargetExpressName, - WaybillNo = peo.WaybillNo - }); - #endregion - - foreach (var purchaseOrder in purchaseOrderList) - { - var currentPurchaseOrderSkuList = orderPurchaseSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - - var currentPurchaseExpressOrderList = purchaseExpressOrderList.Where(peo => peo.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - - var oldPurchaseOrderState = purchaseOrder.OrderState; - purchaseOrder.CalculationOrderState(fsql, currentPurchaseOrderSkuList, currentPurchaseExpressOrderList); - if (purchaseOrder.OrderState != oldPurchaseOrderState) - { - var update = fsql.Update(purchaseOrder.Id).Set(opi => opi.OrderState, purchaseOrder.OrderState); - updateOrderPurchaseList.Add(update); - } - } - var oldOrderState = order.OrderState; - order.CalculationOrderState(fsql, null, purchaseOrderList); - if (order.OrderState != oldOrderState) - updateOrder = fsql.Update(order.Id).Set(o => o.OrderState, order.OrderState); - - fsql.Transaction(() => - { - foreach (var update in updateOrderPurchaseList) - update.ExecuteAffrows(); - updateOrder?.ExecuteAffrows(); - }); - } public void SubscribeKD100(string waybillNo, string targetCompanyCode) { diff --git a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs index 9722a24..4fe1500 100644 --- a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs +++ b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs @@ -153,7 +153,7 @@ namespace BBWYB.Server.Business } if (purchaseExpressOrderList == null) - purchaseExpressOrderList = fsql.Select().Where(exo => exo.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); + return; if (orderPurchaseInfo.PurchasePlatform == Enums.Platform.阿里巴巴) //支持采购sku和关联信息 { diff --git a/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs b/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs new file mode 100644 index 0000000..382eb6b --- /dev/null +++ b/BBWYB.Server.Business/Extensions/PurchaseExpressOrderExtension.cs @@ -0,0 +1,59 @@ +using BBWYB.Server.Model; +using BBWYB.Server.Model.Db; +using BBWYB.Server.Model.Dto; + +namespace BBWYB.Server.Business.Extensions +{ + public static class PurchaseExpressOrderExtension + { + /// + /// 计算快递单归属 + /// + /// 必须是经过与快递单关系表进行联合查询的结果 (ExpressOrderRelationInfo-PurchaseExpressOrder) + /// + /// + /// + public static void CalculationBelongOrderSku(this PurchaseExpressOrderResponse purchaseExpressOrder, + IList orderPurchaseInfoList, + IList orderPurchaseRelationInfoList, + IList orderPurchaseSkuInfoList) + { + var purchaseOrder = orderPurchaseInfoList.FirstOrDefault(po => po.PurchaseOrderId == purchaseExpressOrder.PurchaseOrderId); + if (purchaseOrder == null) + return; + if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) + { + var purchaseSkuIds = orderPurchaseSkuInfoList.Where(posku => posku.WaybillNo == purchaseExpressOrder.WaybillNo && + posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId) + .Select(posku => posku.PurchaseSkuId).ToList(); + var orderSkuIds = orderPurchaseRelationInfoList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId && + purchaseSkuIds.Contains(ori.PurchaseSkuId)) + .Select(ori => ori.BelongSkuId) + .Distinct() + .ToList(); + purchaseOrder.BelongSkuIds = string.Join(",", orderSkuIds); + + //var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && + // orderSkuIds.Contains(osku.SkuId)).ToList(); + //foreach (var osku in currentOrderSkuList) + //{ + // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) + // continue; + // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); + //} + } + else + { + purchaseOrder.BelongSkuIds = purchaseOrder.BelongSkuIds; + //var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && + // purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); + //foreach (var osku in currentOrderSkuList) + //{ + // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) + // continue; + // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); + //} + } + } + } +} diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 9487dd9..32d9bb1 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -206,40 +206,50 @@ namespace BBWYB.Server.Business #region 处理SKU的快递单 foreach (var purchaseExpressOrder in purchaseExpressOrderList) { - var purchaseOrder = orderPurchaseInfoList.FirstOrDefault(po => po.PurchaseOrderId == purchaseExpressOrder.PurchaseOrderId); - if (purchaseOrder == null) - continue; - if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) + purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationInfoList, orderPurchaseSkuInfoList); + var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseExpressOrder.OrderId && + purchaseExpressOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); + foreach (var osku in currentOrderSkuList) { - var purchaseSkuIds = orderPurchaseSkuInfoList.Where(posku => posku.WaybillNo == purchaseExpressOrder.WaybillNo && - posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId) - .Select(posku => posku.PurchaseSkuId).ToList(); - var orderSkuIds = orderPurchaseRelationInfoList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId && - purchaseSkuIds.Contains(ori.PurchaseSkuId)) - .Select(ori => ori.BelongSkuId) - .Distinct() - .ToList(); - - var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && - orderSkuIds.Contains(osku.SkuId)).ToList(); - foreach (var osku in currentOrderSkuList) - { - if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) - continue; - osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); - } - } - else - { - var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && - purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); - foreach (var osku in currentOrderSkuList) - { - if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) - continue; - osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); - } + if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) + continue; + osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); } + + //var purchaseOrder = orderPurchaseInfoList.FirstOrDefault(po => po.PurchaseOrderId == purchaseExpressOrder.PurchaseOrderId); + //if (purchaseOrder == null) + // continue; + //if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) + //{ + // var purchaseSkuIds = orderPurchaseSkuInfoList.Where(posku => posku.WaybillNo == purchaseExpressOrder.WaybillNo && + // posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId) + // .Select(posku => posku.PurchaseSkuId).ToList(); + // var orderSkuIds = orderPurchaseRelationInfoList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId && + // purchaseSkuIds.Contains(ori.PurchaseSkuId)) + // .Select(ori => ori.BelongSkuId) + // .Distinct() + // .ToList(); + + // var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && + // orderSkuIds.Contains(osku.SkuId)).ToList(); + // foreach (var osku in currentOrderSkuList) + // { + // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) + // continue; + // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); + // } + //} + //else + //{ + // var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == purchaseOrder.OrderId && + // purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).ToList(); + // foreach (var osku in currentOrderSkuList) + // { + // if (osku.PurchaseExpressOrderList.Any(peo => peo.WaybillNo == purchaseExpressOrder.WaybillNo)) + // continue; + // osku.PurchaseExpressOrderList.Add(purchaseExpressOrder); + // } + //} } #endregion } @@ -273,47 +283,91 @@ namespace BBWYB.Server.Business var orderPurchaseInfoList = fsql.Select().Where(op => op.OrderId == request.OrderId && op.IsEnabled == true).ToList(); var orderPurchaseRelationList = fsql.Select().Where(opri => opri.OrderId == request.OrderId && opri.SourceSkuId == request.SourceSkuId).ToList(); - var orderPurchaseSkuList = fsql.Select().Where(posku => posku.OrderId == request.OrderId).ToList(); - var orderSkuList = fsql.Select().Where(osku => osku.OrderId == request.OrderId).ToList(); + var orderPurchaseSkuList = fsql.Select().Where(posku => posku.OrderId == request.OrderId).ToList(); + var orderSku = fsql.Select().Where(osku => osku.OrderId == request.OrderId && osku.BelongSkuId == request.SourceSkuId).ToOne(); IList list = new List(); #region 处理SKU的快递单 - foreach (var purchaseOrder in orderPurchaseInfoList) + foreach (var purchaseExpressOrder in purchaseExpressOrderList) { - if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) - { - var currentRelationList = orderPurchaseRelationList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - - var waybillNos = orderPurchaseSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId && - currentRelationList.Any(opri => opri.PurchaseSkuId == posku.PurchaseSkuId)) - .Select(x => x.WaybillNo) - .ToList(); - foreach (var waybillNo in waybillNos) - { - var peo = purchaseExpressOrderList.FirstOrDefault(x => x.WaybillNo == waybillNo); - if (peo != null && !list.Any(x => x.WaybillNo == waybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) - list.Add(peo); - } - } - else + purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); + if (!string.IsNullOrEmpty(purchaseExpressOrder.BelongSkuIds)) { - var currentSkuList = orderSkuList.Where(osku => purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).Select(osku => osku.BelongSkuId).Distinct().ToList(); - if (currentSkuList.Contains(request.SourceSkuId)) + if (purchaseExpressOrder.BelongSkuIds.Contains(orderSku.SkuId)) { - var peoList = purchaseExpressOrderList.Where(x => x.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - foreach (var peo in peoList) - { - if (!list.Any(x => x.WaybillNo == peo.WaybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) - list.Add(peo); - } + if (!list.Any(x => x.WaybillNo == purchaseExpressOrder.WaybillNo)) + list.Add(purchaseExpressOrder); } } } + //foreach (var purchaseOrder in orderPurchaseInfoList) + //{ + // if (purchaseOrder.PurchasePlatform == Enums.Platform.阿里巴巴) + // { + // var currentRelationList = orderPurchaseRelationList.Where(ori => ori.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); + + // var waybillNos = orderPurchaseSkuList.Where(posku => posku.PurchaseOrderId == purchaseOrder.PurchaseOrderId && + // currentRelationList.Any(opri => opri.PurchaseSkuId == posku.PurchaseSkuId)) + // .Select(x => x.WaybillNo) + // .ToList(); + // foreach (var waybillNo in waybillNos) + // { + // var peo = purchaseExpressOrderList.FirstOrDefault(x => x.WaybillNo == waybillNo); + // if (peo != null && !list.Any(x => x.WaybillNo == waybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) + // list.Add(peo); + // } + // } + // else + // { + // var currentSkuList = orderSkuList.Where(osku => purchaseOrder.BelongSkuIds.Contains(osku.SkuId)).Select(osku => osku.BelongSkuId).Distinct().ToList(); + // if (currentSkuList.Contains(request.SourceSkuId)) + // { + // var peoList = purchaseExpressOrderList.Where(x => x.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); + // foreach (var peo in peoList) + // { + // if (!list.Any(x => x.WaybillNo == peo.WaybillNo && x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)) + // list.Add(peo); + // } + // } + // } + //} #endregion return list; } + public IList GetPurchaseExpressOrderList(IList orderIds) + { + var purchaseExpressOrderList = fsql.Select() + .InnerJoin((eori, peo) => eori.WayBillNo == peo.WaybillNo) + .Where((eori, peo) => orderIds.Contains(eori.OrderId)).ToList((eori, peo) => new PurchaseExpressOrderResponse + { + CreateTime = peo.CreateTime, + ExpressContent = peo.ExpressContent, + ExpressChangedTime = peo.ExpressChangedTime, + ExpressState = peo.ExpressState, + IsSubscribeKD100 = peo.IsSubscribeKD100, + OrderId = eori.OrderId, + PurchaseOrderId = eori.PurchaseOrderId, + ShopId = eori.ShopId.Value, + SourceExpressId = peo.SourceExpressId, + SourceExpressName = peo.SourceExpressName, + TargetExpressId = peo.TargetExpressId, + TargetExpressName = peo.TargetExpressName, + WaybillNo = peo.WaybillNo + }); + + var orderPurchaseInfoList = fsql.Select().Where(op => orderIds.Contains(op.OrderId) && op.IsEnabled == true).ToList(); + var orderPurchaseRelationList = fsql.Select().Where(opri => orderIds.Contains(opri.OrderId)).ToList(); + var orderPurchaseSkuList = fsql.Select().Where(posku => orderIds.Contains(posku.OrderId)).ToList(); + #region 处理SKU的快递单 + foreach (var purchaseExpressOrder in purchaseExpressOrderList) + { + purchaseExpressOrder.CalculationBelongOrderSku(orderPurchaseInfoList, orderPurchaseRelationList, orderPurchaseSkuList); + } + #endregion + return purchaseExpressOrderList; + } public void CancelOrder(CancelOrderRequest request, string mdsToken) { diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index f1691b1..1f8dcbd 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -1098,6 +1098,9 @@ namespace BBWYB.Server.Business public void EditPurchaseExpressOrder(EditPurchaseExpressOrderRequest request) { nLogManager.Default().Info($"EditPurchaseExpressOrder {JsonConvert.SerializeObject(request)}"); + + throw new BusinessException("修改快递单已暂时下线,待调整后重新上线"); + var dbOrder = fsql.Select(request.OrderId).ToOne(o => new { o.Id, o.ShopId, o.OrderSn }); if (dbOrder == null) throw new BusinessException($"订单号{request.OrderId}不存在"); @@ -1108,8 +1111,8 @@ namespace BBWYB.Server.Business var oldPeo = fsql.Select(request.OldWaybillNo).ToOne(); if (oldPeo == null) throw new BusinessException($"旧快递单号{request.OldWaybillNo}不存在"); - if (oldPeo.OrderId != request.OrderId || oldPeo.PurchaseOrderId != request.PurchaseOrderId) - throw new BusinessException("快递单号不属于当前操作提交的订单或采购单"); + //if (oldPeo.OrderId != request.OrderId || oldPeo.PurchaseOrderId != request.PurchaseOrderId) + // throw new BusinessException("快递单号不属于当前操作提交的订单或采购单"); var newPeo = fsql.Select(request.NewWaybillNo).ToOne(); if (newPeo != null) throw new BusinessException($"新快递单号{request.NewWaybillNo}已存在"); @@ -2315,12 +2318,15 @@ namespace BBWYB.Server.Business updateOrderPurchaseList.Add(update); #region 通知齐库打包落仓情况 - var currentOrderPurchaseRelationList = orderPurchaseRelationList.Where(opri => opri.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); + if (order.IntoStoreType == Enums.IntoStoreType.发回齐越) + { + var currentOrderPurchaseRelationList = orderPurchaseRelationList.Where(opri => opri.PurchaseOrderId == purchaseOrder.PurchaseOrderId).ToList(); - Task.Factory.StartNew(() => qiKuManager.PublishQiKu(purchaseOrder, currentOrderPurchaseRelationList, currentPurchaseOrderSkuList, purchaseExpressOrderList), - CancellationToken.None, - TaskCreationOptions.LongRunning, - taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); + Task.Factory.StartNew(() => qiKuManager.PublishQiKu(purchaseOrder, currentOrderPurchaseRelationList, currentPurchaseOrderSkuList, purchaseExpressOrderList), + CancellationToken.None, + TaskCreationOptions.LongRunning, + taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); + } #endregion } diff --git a/BBWYB.Server.Model/Db/Order/PurchaseExpressOrder.cs b/BBWYB.Server.Model/Db/Order/PurchaseExpressOrder.cs index 46f0d8e..73ca20f 100644 --- a/BBWYB.Server.Model/Db/Order/PurchaseExpressOrder.cs +++ b/BBWYB.Server.Model/Db/Order/PurchaseExpressOrder.cs @@ -40,11 +40,6 @@ namespace BBWYB.Server.Model.Db [Column(StringLength = 100)] public string ExpressState { get; set; } - [Column(StringLength = 100)] - public string OrderId { get; set; } - - [Column(StringLength = 100)] - public string PurchaseOrderId { get; set; } [Column(StringLength = 100)] public long ShopId { get; set; } @@ -79,6 +74,12 @@ namespace BBWYB.Server.Model.Db [Column(DbType = "bit")] public bool IsSubscribeKD100 { get; set; } = false; + [Column(IsIgnore = true)] + public string OrderId { get; set; } + + [Column(IsIgnore = true)] + public string PurchaseOrderId { get; set; } + } } diff --git a/BBWYB.Server.Model/Dto/Request/Order/QueryExpressOrderRequest.cs b/BBWYB.Server.Model/Dto/Request/Order/QueryExpressOrderRequest.cs index 936c733..3fd7542 100644 --- a/BBWYB.Server.Model/Dto/Request/Order/QueryExpressOrderRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/Order/QueryExpressOrderRequest.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace BBWYB.Server.Model.Dto +namespace BBWYB.Server.Model.Dto { public class QueryExpressOrderRequest { diff --git a/BBWYB.Server.Model/Dto/Response/Order/PurchaseExpressOrderResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/PurchaseExpressOrderResponse.cs index 58efff2..0a0a2a9 100644 --- a/BBWYB.Server.Model/Dto/Response/Order/PurchaseExpressOrderResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Order/PurchaseExpressOrderResponse.cs @@ -4,5 +4,9 @@ namespace BBWYB.Server.Model.Dto { public class PurchaseExpressOrderResponse: PurchaseExpressOrder { + /// + /// 归属SkuId,逗号间隔 (拳探SKU) + /// + public string BelongSkuIds { get; set; } } }