22
This commit is contained in:
parent
70fcef4ec1
commit
13a4f0b7e9
@ -51,5 +51,15 @@ namespace MyCode.Project.Services
|
|||||||
/// <param name="act"></param>
|
/// <param name="act"></param>
|
||||||
|
|
||||||
void BatchSetFaPiao(FaPiaoAct act);
|
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
|
#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
|
#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