22
This commit is contained in:
parent
70fcef4ec1
commit
13a4f0b7e9
@ -51,5 +51,15 @@ namespace MyCode.Project.Services
|
||||
/// <param name="act"></param>
|
||||
|
||||
void BatchSetFaPiao(FaPiaoAct act);
|
||||
|
||||
/// <summary>
|
||||
/// 删除某个发货单明细
|
||||
/// </summary>
|
||||
/// <param name="formId"></param>
|
||||
/// <param name="billdelete"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
|
||||
void DeleteOrderDetail(IdAct act, LoginInfo loginInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -445,6 +445,107 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region DeleteOrderDetail(删除某个发货单明细)
|
||||
/// <summary>
|
||||
/// 删除某个发货单明细
|
||||
/// </summary>
|
||||
/// <param name="formId"></param>
|
||||
/// <param name="billdelete"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
[TransactionCallHandler]
|
||||
public void DeleteOrderDetail(IdAct act, LoginInfo loginInfo)
|
||||
{
|
||||
var orderItems = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).ToList();
|
||||
Guid pid = orderItems.Select(t => t.InvoiceOrderId.Value).FirstOrDefault();
|
||||
var orderHead = _invoiceOrderRepository.Queryable().Where(t => t.SupplierId == loginInfo.SupplierId && t.Id == pid).First();
|
||||
var ids = orderItems.Select(t => t.Id).ToList();
|
||||
|
||||
if (orderHead == null)
|
||||
{
|
||||
throw new BaseException("订单数据不正确");
|
||||
}
|
||||
orderItems = _invoiceOrderItemRepository.Queryable().Where(t => t.InvoiceOrderId == orderHead.Id).ToList();
|
||||
var OrderItemIds = orderItems.Select(t => t.PurchaseOrderItemId).ToList();
|
||||
BillDelete billDelete = new BillDelete();
|
||||
if (orderItems.Count == 1)
|
||||
{
|
||||
billDelete.Numbers = orderHead.FBillNo;
|
||||
try
|
||||
{
|
||||
var result = _kingDeeService.Delete("PUR_ReceiveBill", billDelete);
|
||||
//LogHelper.Info(result);
|
||||
|
||||
var purchaseItem = _purchaseOrderItemRepository.Queryable().Where(t => OrderItemIds.Contains(t.Id)).ToList();
|
||||
purchaseItem.ForEach(t =>
|
||||
{
|
||||
var temp = orderItems.FirstOrDefault(h => h.PurchaseOrderItemId == t.Id);
|
||||
if (temp != null)
|
||||
{
|
||||
t.FRemainReceiveQty = t.FRemainReceiveQty + temp.Qty.SafeValue();
|
||||
t.FReceiveQty = t.FReceiveQty - temp.Qty.SafeValue();
|
||||
}
|
||||
});
|
||||
_purchaseOrderItemRepository.Update(purchaseItem);
|
||||
_invoiceOrderItemRepository.Delete(t => t.InvoiceOrderId == orderHead.Id);
|
||||
_invoiceOrderRepository.Delete(t => t.Id == orderHead.Id);
|
||||
|
||||
_tiaoMaRepository.Delete(t => ids.Contains(t.InvoceOrderItemId.Value));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new BaseException($"删除失败,原因是{ex.Message}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var one = orderItems.FirstOrDefault(t=>t.Id==act.Id);
|
||||
if (one != null)
|
||||
{
|
||||
if (one.EntityId != null)
|
||||
{
|
||||
SetMSSSupplierLot(orderHead.Sheet);
|
||||
}
|
||||
one = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).First();
|
||||
if (one.EntityId == null)
|
||||
{
|
||||
_invoiceOrderItemRepository.Delete(t => t.Id == act.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
billDelete.Ids = one.EntityId.ToString();
|
||||
try
|
||||
{
|
||||
var result = _kingDeeService.Delete("PUR_ReceiveBill", billDelete);
|
||||
//LogHelper.Info(result);
|
||||
|
||||
var purchaseItem = _purchaseOrderItemRepository.Queryable().Where(t => one.PurchaseOrderItemId==t.Id).ToList();
|
||||
purchaseItem.ForEach(t =>
|
||||
{
|
||||
var temp = orderItems.FirstOrDefault(h => h.PurchaseOrderItemId == t.Id);
|
||||
if (temp != null)
|
||||
{
|
||||
t.FRemainReceiveQty = t.FRemainReceiveQty + temp.Qty.SafeValue();
|
||||
t.FReceiveQty = t.FReceiveQty - temp.Qty.SafeValue();
|
||||
}
|
||||
});
|
||||
_purchaseOrderItemRepository.Update(purchaseItem);
|
||||
_invoiceOrderItemRepository.Delete(t => t.Id == one.Id);
|
||||
|
||||
|
||||
_tiaoMaRepository.Delete(t => t.InvoceOrderItemId== one.Id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new BaseException($"删除失败,原因是{ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -85,5 +85,16 @@ namespace MyCode.Project.WebApi.Areas.Admin.Controllers
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region DeleteOrderDetail(删除某个发货单明细)
|
||||
/// <summary>
|
||||
/// 删除某个发货单明细
|
||||
/// </summary>
|
||||
/// <param name="act"></param>
|
||||
[HttpPost]
|
||||
public void DeleteOrderDetail(IdAct act)
|
||||
{
|
||||
_invoiceOrderService.DeleteOrderDetail(act, this.CurrentLogin);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user