Browse Source

修改快递单

yijia
shanji 2 years ago
parent
commit
38c4ef7ada
  1. 21
      BBWYB.Server.API/Controllers/PurchaseOrderController.cs
  2. 85
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  3. 9
      BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssocationPurchaseOrderPreviewRequest.cs
  4. 20
      BBWYB.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseExpressOrderRequest.cs
  5. 5
      BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs

21
BBWYB.Server.API/Controllers/PurchaseOrderController.cs

@ -60,6 +60,27 @@ namespace BBWYB.Server.API.Controllers
purchaseOrderBusiness.AssociatePurchaseOrder(request);
}
/// <summary>
/// 预览关联采购单 (自动匹配订单sku与采购金额) (不支持关联预览的采购平台将返回null)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public AssociationPurchaseOrderResponse PreviewAssocationPurchaseOrder([FromBody] AssocationPurchaseOrderPreviewRequest request)
{
return purchaseOrderBusiness.PreviewAssocationPurchaseOrder(request);
}
/// <summary>
/// 修改采购快递单
/// </summary>
/// <param name="request"></param>
[HttpPost]
public void EditPurchaseExpressOrder([FromBody] EditPurchaseExpressOrderRequest request)
{
purchaseOrderBusiness.EditPurchaseExpressOrder(request);
}
/// <summary>
/// 设置历史采购单
/// </summary>

85
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -824,7 +824,7 @@ namespace BBWYB.Server.Business
}
/// <summary>
/// 预览关联订单信息
/// 预览关联订单信息(不支持关联预览的平台会返回null)
/// </summary>
/// <param name="request"></param>
public AssociationPurchaseOrderResponse PreviewAssocationPurchaseOrder(AssocationPurchaseOrderPreviewRequest request)
@ -915,9 +915,18 @@ namespace BBWYB.Server.Business
if (assocationOrderCostDetailList.Count() == 0)
throw new BusinessException("没有匹配到合适的采购方案");
return new AssociationPurchaseOrderResponse()
return new AssociationPurchaseOrderResponse(assocationOrderCostDetailList)
{
PurchaserId = dbPurchaser.Id,
PurchaserName = dbPurchaser.Name,
PurchaseAccountId = request.PurchaseAccount.Id,
PurchaseAccountName = request.PurchaseAccount.AccountName,
PurchaseAmount = purchaseOrderSimpleInfo.ProductAmount,
PurchaseFreight = purchaseOrderSimpleInfo.FreightAmount,
PurchaseMethod = Enums.PurchaseMethod.,
PurchaseOrderId = request.PurchaseOrderId,
PurchasePlatform = request.PurchasePlatform,
IsEnabled = true
};
}
@ -964,6 +973,74 @@ namespace BBWYB.Server.Business
});
}
/// <summary>
/// 修改采购快递单
/// </summary>
/// <param name="request"></param>
public void EditPurchaseExpressOrder(EditPurchaseExpressOrderRequest request)
{
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne(o => new { o.Id, o.ShopId, o.OrderSn });
if (dbOrder == null)
throw new BusinessException($"订单号{request.OrderId}不存在");
var shopIds = dbOrder.ShopId.ToString();
var shop = fsqlManager.MDSfsql.Select<Shops>().Where(s => s.ShopId == shopIds).ToOne();
var oldPeo = fsql.Select<PurchaseExpressOrder>(request.OldWaybillNo).ToOne();
if (oldPeo == null)
throw new BusinessException($"旧快递单号{request.OldWaybillNo}不存在");
if (oldPeo.OrderId != request.OrderId || oldPeo.PurchaseOrderId != request.PurchaseOrderId)
throw new BusinessException("快递单号不属于当前操作提交的订单或采购单");
var newPeo = fsql.Select<PurchaseExpressOrder>(request.NewWaybillNo).ToOne();
if (newPeo != null)
throw new BusinessException($"新快递单号{request.NewWaybillNo}已存在");
newPeo = new PurchaseExpressOrder()
{
WaybillNo = request.NewWaybillNo,
TargetExpressId = request.NewExpressId,
TargetExpressName = request.NewExpressName,
CreateTime = DateTime.Now,
OrderId = request.OrderId,
PurchaseOrderId = request.PurchaseOrderId,
ShopId = oldPeo.ShopId,
ExpressState = kuaiDi100Manager.GetExpressState(1) //快递100发货状态值 默认揽收
};
try
{
kuaiDi100Manager.SubscribeKuaiDi100(request.NewWaybillNo, request.NewExpressId, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish");
newPeo.IsSubscribeKD100 = true;
}
catch (Exception ex)
{
nLogManager.Default().Error(ex, $"EditPurchaseExpressOrder,Request:{JsonConvert.SerializeObject(request)}");
#region 订阅失败发送钉钉通知
var dingdingMsg = new StringBuilder();
dingdingMsg.AppendLine($"错误:{ex.Message}");
dingdingMsg.AppendLine($"采购订单号:{request.PurchaseOrderId}");
dingdingMsg.AppendLine($"拳探订单号:{request.OrderId}");
dingdingMsg.AppendLine($"拳探订单Sn:{dbOrder.OrderSn}");
dingdingMsg.AppendLine($"源物流公司:无");
dingdingMsg.AppendLine($"目标物流公司:{request.NewExpressName} {request.NewExpressId}");
dingdingMsg.AppendLine($"快递单号:{request.NewWaybillNo}");
dingdingMsg.AppendLine("触发环节:修改物流单号");
dingdingMsg.Append($"店铺名:{shop.ShopName}");
Task.Factory.StartNew(() => SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
#endregion
}
fsql.Transaction(() =>
{
fsql.Delete<PurchaseExpressOrder>(request.OldWaybillNo).ExecuteAffrows();
fsql.Update<OrderPurchaseSkuInfo>().Set(psku => psku.WaybillNo, request.NewWaybillNo)
.Where(psku => psku.PurchaseOrderId == request.PurchaseOrderId)
.Where(psku => psku.WaybillNo == request.OldWaybillNo)
.ExecuteAffrows();
fsql.Insert(newPeo).ExecuteAffrows();
});
}
/// <summary>
/// 手动发货
/// </summary>
@ -1057,6 +1134,7 @@ namespace BBWYB.Server.Business
dingdingMsg.AppendLine($"源物流公司:无");
dingdingMsg.AppendLine($"目标物流公司:{request.ExpressName} {request.ExpressId}");
dingdingMsg.AppendLine($"快递单号:{request.WaybillNo}");
dingdingMsg.AppendLine("触发环节:手动发货");
dingdingMsg.Append($"店铺名:{shop.ShopName}");
Task.Factory.StartNew(() => SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
#endregion
@ -1401,6 +1479,7 @@ namespace BBWYB.Server.Business
dingdingMsg.AppendLine($"源物流公司:{logisticsInfo.ExpressName}");
dingdingMsg.AppendLine($"目标物流公司:{kuaidi100Company?.TargetName} {kuaidi100Company?.TargetCode}");
dingdingMsg.AppendLine($"快递单号:{logisticsInfo.WayBillNo}");
dingdingMsg.AppendLine("触发环节:1688发货回调");
dingdingMsg.Append($"店铺名:{shop.ShopName}");
Task.Factory.StartNew(() => SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
#endregion

9
BBWYB.Server.Model/Dto/Request/PurchaseOrder/AssocationPurchaseOrderPreviewRequest.cs

@ -5,10 +5,19 @@
/// </summary>
public class AssocationPurchaseOrderPreviewRequest
{
/// <summary>
/// 订单Id
/// </summary>
public string OrderId { get; set; }
/// <summary>
/// 采购单Id
/// </summary>
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购账户
/// </summary>
public PurchaseAccountRequest PurchaseAccount { get; set; }
public Enums.Platform PurchasePlatform { get; set; }

20
BBWYB.Server.Model/Dto/Request/PurchaseOrder/EditPurchaseExpressOrderRequest.cs

@ -0,0 +1,20 @@
namespace BBWYB.Server.Model.Dto
{
/// <summary>
/// 修改快递单号
/// </summary>
public class EditPurchaseExpressOrderRequest
{
public string OrderId { get; set; }
public string PurchaseOrderId { get; set; }
public string OldWaybillNo { get; set; }
public string NewWaybillNo { get; set; }
public string NewExpressId { get; set;}
public string NewExpressName { get; set; }
}
}

5
BBWYB.Server.Model/Dto/Response/PurchaseOrder/AssociationPurchaseOrderResponse.cs

@ -7,6 +7,11 @@
AssocationOrderCostDetailList = new List<AssocationOrderCostDetailResponse>();
}
public AssociationPurchaseOrderResponse(List<AssocationOrderCostDetailResponse> assocationOrderCostDetailList)
{
AssocationOrderCostDetailList = assocationOrderCostDetailList;
}
/// <summary>
/// 采购单号
/// </summary>

Loading…
Cancel
Save