diff --git a/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs b/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs index 358379f..796715f 100644 --- a/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs +++ b/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs @@ -500,7 +500,7 @@ namespace MyCode.Project.Services.Implementation } else { - var one = orderItems.FirstOrDefault(t=>t.Id==act.Id); + var one = orderItems.FirstOrDefault(t => t.Id == act.Id); if (one != null) { if (one.EntityId != null) @@ -514,13 +514,36 @@ namespace MyCode.Project.Services.Implementation } 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(); + string FormId = "PUR_ReceiveBill"; + BillSave bill = new BillSave(); + bill.NeedUpDateFields = new List(); + bill.NeedReturnFields = new List(); + bill.IsDeleteEntry = true; + Dictionary keyValuePairs = new Dictionary(); + //Dictionary>> keyValuePairs1 = new Dictionary>>(); + keyValuePairs.Add("FID", orderHead.FiD); + List> entityList3 = new List>(); + + orderItems.ForEach(h => + { + if (h.Id != one.Id) + { + if (h.EntityId.HasValue) + { + Dictionary entityList1 = new Dictionary(); + entityList1.Add("FEntryID", h.EntityId.Value); + entityList3.Add(entityList1); + } + } + }); + keyValuePairs.Add("FDetailEntity", entityList3); + bill.Model = keyValuePairs; + LogHelper.Info(bill.Model); + var result = _kingDeeService.Save(FormId, bill); + 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); @@ -532,9 +555,7 @@ namespace MyCode.Project.Services.Implementation }); _purchaseOrderItemRepository.Update(purchaseItem); _invoiceOrderItemRepository.Delete(t => t.Id == one.Id); - - - _tiaoMaRepository.Delete(t => t.InvoceOrderItemId== one.Id); + _tiaoMaRepository.Delete(t => t.InvoceOrderItemId == one.Id); } catch (Exception ex) {