From da57cd5e5c8e3b568dc9057f2f5b92d4da3909bb Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Sun, 27 Apr 2025 16:59:10 +0800
Subject: [PATCH] 222
---
.../Response/InvoiceOrder/TiaoMaResp.cs | 23 ++++++-
.../InvoiceOrderRepository.cs | 3 +
.../InvoiceOrder/InvoiceOrderService.cs | 63 ++++++++++++++-----
3 files changed, 73 insertions(+), 16 deletions(-)
diff --git a/MyCode.Project.Domain/Message/Response/InvoiceOrder/TiaoMaResp.cs b/MyCode.Project.Domain/Message/Response/InvoiceOrder/TiaoMaResp.cs
index b7cb3c2..7a429ec 100644
--- a/MyCode.Project.Domain/Message/Response/InvoiceOrder/TiaoMaResp.cs
+++ b/MyCode.Project.Domain/Message/Response/InvoiceOrder/TiaoMaResp.cs
@@ -1,4 +1,5 @@
-using System;
+using MyCode.Project.Domain.Model;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -16,6 +17,24 @@ namespace MyCode.Project.Domain.Message.Response.InvoiceOrder
///
/// 对应的条码数组
///
- public List BarCodeList { get; set; }
+ public List BarCodeList { get; set; }
+ }
+
+
+ public class TiaoMaList: TiaoMa
+ {
+ ///
+ /// Desc:供应商ID
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SupplierId { get; set; }
+
+ ///
+ /// Desc:供应商名称
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SupplierName { get; set; }
}
}
diff --git a/MyCode.Project.Repositories/InvoiceOrderRepository.cs b/MyCode.Project.Repositories/InvoiceOrderRepository.cs
index f7263c0..f3fc022 100644
--- a/MyCode.Project.Repositories/InvoiceOrderRepository.cs
+++ b/MyCode.Project.Repositories/InvoiceOrderRepository.cs
@@ -4,6 +4,7 @@ using MyCode.Project.Domain.Message.Response.PurchaseOrder;
using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Extensions;
using MyCode.Project.Infrastructure.Search;
using MyCode.Project.Repositories.Common;
using System;
@@ -98,6 +99,8 @@ namespace MyCode.Project.Repositories
}
t.TiaoMa = $@"{t.MaterialCode}*{t.Qty.Value.ToString("F2")}*{t.FBillNo}*{t.FSupplierLot}";
fid = t.FormId;
+ if (t.CuseQty == 0)
+ t.CuseQty = t.Qty.SafeValue();
});
return list;
diff --git a/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs b/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs
index 184d8bc..2c7be5d 100644
--- a/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs
+++ b/MyCode.Project.Services/Implementation/InvoiceOrder/InvoiceOrderService.cs
@@ -81,6 +81,9 @@ namespace MyCode.Project.Services.Implementation
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();
+ var OrderItemIds= orderItems.Select(t => t.PurchaseOrderItemId).ToList();
+
if (orderHead == null)
{
throw new BaseException("订单数据不正确");
@@ -90,9 +93,22 @@ namespace MyCode.Project.Services.Implementation
try
{
var result = _kingDeeService.Delete("PUR_ReceiveBill", billDelete);
- LogHelper.Info(result);
+ //LogHelper.Info(result);
_invoiceOrderItemRepository.Delete(t => t.Id == act.Id);
_invoiceOrderRepository.Delete(t=>t.Id== orderHead.Id);
+
+ 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;
+ t.FReceiveQty = t.FReceiveQty - temp.Qty;
+ }
+ });
+ _purchaseOrderItemRepository.Update(purchaseItem);
+ _tiaoMaRepository.Delete(t => ids.Contains(t.InvoceOrderItemId.Value));
}
catch (Exception ex)
{
@@ -234,24 +250,36 @@ namespace MyCode.Project.Services.Implementation
{
throw new BaseException("每包数量必须大于0");
}
- _tiaoMaRepository.Delete(t => t.InvoceOrderItemId == act.Id);
+ //_tiaoMaRepository.Delete(t => t.InvoceOrderItemId == act.Id);
var orderItem = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).First();
if (orderItem == null)
{
throw new BaseException("不正确的ID值");
}
- List addList = new List();
+ var order = _invoiceOrderRepository.Queryable().Where(t => t.Id == orderItem.InvoiceOrderId).First();
+ if (order == null)
+ {
+ throw new BaseException("不正确的ID数据");
+ }
+ List addList = new List();
if (orderItem.CuseQty == act.CuseQty)
{
var barcodeList = _tiaoMaRepository.Queryable().Where(t => t.InvoceOrderItemId == orderItem.Id).ToList();
- addList = barcodeList;
-
+ addList =AutoMapperHelper.AutoMappToList( barcodeList);
+ addList.ForEach(t =>
+ {
+ t.SupplierId = order.SupplierId;
+ t.SupplierName = order.SupplierName;
+ });
+
+
}
- else
+ if(addList.Count==0)
{
+ _tiaoMaRepository.Delete(t=>t.InvoceOrderItemId== orderItem.Id);
orderItem.CuseQty = act.CuseQty;
_invoiceOrderItemRepository.Update(orderItem);
- var order = _invoiceOrderRepository.Queryable().Where(t => t.Id == orderItem.InvoiceOrderId).First();
+
decimal zongQty = orderItem.Qty.SafeValue();
int yu = (int)Math.Ceiling(zongQty % act.CuseQty);
@@ -263,31 +291,38 @@ namespace MyCode.Project.Services.Implementation
{
string FBarCode = $@"{orderItem.MaterialCode}*{act.CuseQty.ToString("F2")}*{orderItem.FBillNo}*{orderItem.FSupplierLot}";
- TiaoMa tiaoMa = new TiaoMa();
- tiaoMa = AutoMapperHelper.AutoMappToSingle(orderItem);
+ TiaoMaList tiaoMa = new TiaoMaList();
+ tiaoMa = AutoMapperHelper.AutoMappToSingle(orderItem);
tiaoMa.Id = Guid.NewGuid();
tiaoMa.FBarCode = FBarCode;
tiaoMa.Qty = act.CuseQty;
tiaoMa.SortNum = i + 1;
tiaoMa.PurchaseBillNo = orderItem.FBillNo;
tiaoMa.FBillNo = order.FBillNo;
+ tiaoMa.SupplierId = order.SupplierId;
+ tiaoMa.SupplierName = order.SupplierName;
addList.Add(tiaoMa);
}
if (yu > 0)
{
string FBarCode = $@"{orderItem.MaterialCode}*{decimal.Parse(yu.ToString()).ToString("F2")}*{orderItem.FBillNo}*{orderItem.FSupplierLot}";
- TiaoMa tiaoMa = new TiaoMa();
- tiaoMa = AutoMapperHelper.AutoMappToSingle(orderItem);
+ TiaoMaList tiaoMa = new TiaoMaList();
+ tiaoMa = AutoMapperHelper.AutoMappToSingle(orderItem);
tiaoMa.Id = Guid.NewGuid();
tiaoMa.FBarCode = FBarCode;
tiaoMa.Qty = yu;
tiaoMa.SortNum = baoShu + 1;
tiaoMa.PurchaseBillNo = orderItem.FBillNo;
tiaoMa.FBillNo = order.FBillNo;
+ tiaoMa.SupplierId = order.SupplierId;
+ tiaoMa.SupplierName = order.SupplierName;
addList.Add(tiaoMa);
}
-
- _tiaoMaRepository.Add(addList);
+ if (addList.Count > 0)
+ {
+ var addtemp = AutoMapperHelper.AutoMappToList(addList);
+ _tiaoMaRepository.Add(addtemp);
+ }
List addTiaoMas = new List();
addTiaoMas = addList.Select(t => new AddTiaoMa
@@ -304,7 +339,7 @@ namespace MyCode.Project.Services.Implementation
}
TiaoMaResp result = new TiaoMaResp();
result.Id = orderItem.Id;
- result.BarCodeList = addList.Select(t => t.FBarCode).ToList();
+ result.BarCodeList = addList;
return result;
}