This commit is contained in:
余宇波 2025-04-27 16:59:10 +08:00
parent 7d3a84e9b0
commit da57cd5e5c
3 changed files with 73 additions and 16 deletions

View File

@ -1,4 +1,5 @@
using System; using MyCode.Project.Domain.Model;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@ -16,6 +17,24 @@ namespace MyCode.Project.Domain.Message.Response.InvoiceOrder
/// <summary> /// <summary>
/// 对应的条码数组 /// 对应的条码数组
/// </summary> /// </summary>
public List<string> BarCodeList { get; set; } public List<TiaoMaList> BarCodeList { get; set; }
}
public class TiaoMaList: TiaoMa
{
/// <summary>
/// Desc:供应商ID
/// Default:
/// Nullable:True
/// </summary>
public string SupplierId { get; set; }
/// <summary>
/// Desc:供应商名称
/// Default:
/// Nullable:True
/// </summary>
public string SupplierName { get; set; }
} }
} }

View File

@ -4,6 +4,7 @@ using MyCode.Project.Domain.Message.Response.PurchaseOrder;
using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Model;
using MyCode.Project.Domain.Repositories; using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Extensions;
using MyCode.Project.Infrastructure.Search; using MyCode.Project.Infrastructure.Search;
using MyCode.Project.Repositories.Common; using MyCode.Project.Repositories.Common;
using System; using System;
@ -98,6 +99,8 @@ namespace MyCode.Project.Repositories
} }
t.TiaoMa = $@"{t.MaterialCode}*{t.Qty.Value.ToString("F2")}*{t.FBillNo}*{t.FSupplierLot}"; t.TiaoMa = $@"{t.MaterialCode}*{t.Qty.Value.ToString("F2")}*{t.FBillNo}*{t.FSupplierLot}";
fid = t.FormId; fid = t.FormId;
if (t.CuseQty == 0)
t.CuseQty = t.Qty.SafeValue();
}); });
return list; return list;

View File

@ -81,6 +81,9 @@ namespace MyCode.Project.Services.Implementation
var orderItems = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).ToList(); var orderItems = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).ToList();
Guid pid = orderItems.Select(t => t.InvoiceOrderId.Value).FirstOrDefault(); Guid pid = orderItems.Select(t => t.InvoiceOrderId.Value).FirstOrDefault();
var orderHead = _invoiceOrderRepository.Queryable().Where(t => t.SupplierId == loginInfo.SupplierId && t.Id == pid).First(); 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) if (orderHead == null)
{ {
throw new BaseException("订单数据不正确"); throw new BaseException("订单数据不正确");
@ -90,9 +93,22 @@ namespace MyCode.Project.Services.Implementation
try try
{ {
var result = _kingDeeService.Delete("PUR_ReceiveBill", billDelete); var result = _kingDeeService.Delete("PUR_ReceiveBill", billDelete);
LogHelper.Info(result); //LogHelper.Info(result);
_invoiceOrderItemRepository.Delete(t => t.Id == act.Id); _invoiceOrderItemRepository.Delete(t => t.Id == act.Id);
_invoiceOrderRepository.Delete(t=>t.Id== orderHead.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) catch (Exception ex)
{ {
@ -234,24 +250,36 @@ namespace MyCode.Project.Services.Implementation
{ {
throw new BaseException("每包数量必须大于0"); 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(); var orderItem = _invoiceOrderItemRepository.Queryable().Where(t => t.Id == act.Id).First();
if (orderItem == null) if (orderItem == null)
{ {
throw new BaseException("不正确的ID值"); throw new BaseException("不正确的ID值");
} }
List<TiaoMa> addList = new List<TiaoMa>(); var order = _invoiceOrderRepository.Queryable().Where(t => t.Id == orderItem.InvoiceOrderId).First();
if (order == null)
{
throw new BaseException("不正确的ID数据");
}
List<TiaoMaList> addList = new List<TiaoMaList>();
if (orderItem.CuseQty == act.CuseQty) if (orderItem.CuseQty == act.CuseQty)
{ {
var barcodeList = _tiaoMaRepository.Queryable().Where(t => t.InvoceOrderItemId == orderItem.Id).ToList(); var barcodeList = _tiaoMaRepository.Queryable().Where(t => t.InvoceOrderItemId == orderItem.Id).ToList();
addList = barcodeList; addList =AutoMapperHelper.AutoMappToList<TiaoMaList,TiaoMa>( 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; orderItem.CuseQty = act.CuseQty;
_invoiceOrderItemRepository.Update(orderItem); _invoiceOrderItemRepository.Update(orderItem);
var order = _invoiceOrderRepository.Queryable().Where(t => t.Id == orderItem.InvoiceOrderId).First();
decimal zongQty = orderItem.Qty.SafeValue(); decimal zongQty = orderItem.Qty.SafeValue();
int yu = (int)Math.Ceiling(zongQty % act.CuseQty); 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}"; string FBarCode = $@"{orderItem.MaterialCode}*{act.CuseQty.ToString("F2")}*{orderItem.FBillNo}*{orderItem.FSupplierLot}";
TiaoMa tiaoMa = new TiaoMa(); TiaoMaList tiaoMa = new TiaoMaList();
tiaoMa = AutoMapperHelper.AutoMappToSingle<TiaoMa, InvoiceOrderItem>(orderItem); tiaoMa = AutoMapperHelper.AutoMappToSingle<TiaoMaList, InvoiceOrderItem>(orderItem);
tiaoMa.Id = Guid.NewGuid(); tiaoMa.Id = Guid.NewGuid();
tiaoMa.FBarCode = FBarCode; tiaoMa.FBarCode = FBarCode;
tiaoMa.Qty = act.CuseQty; tiaoMa.Qty = act.CuseQty;
tiaoMa.SortNum = i + 1; tiaoMa.SortNum = i + 1;
tiaoMa.PurchaseBillNo = orderItem.FBillNo; tiaoMa.PurchaseBillNo = orderItem.FBillNo;
tiaoMa.FBillNo = order.FBillNo; tiaoMa.FBillNo = order.FBillNo;
tiaoMa.SupplierId = order.SupplierId;
tiaoMa.SupplierName = order.SupplierName;
addList.Add(tiaoMa); addList.Add(tiaoMa);
} }
if (yu > 0) if (yu > 0)
{ {
string FBarCode = $@"{orderItem.MaterialCode}*{decimal.Parse(yu.ToString()).ToString("F2")}*{orderItem.FBillNo}*{orderItem.FSupplierLot}"; string FBarCode = $@"{orderItem.MaterialCode}*{decimal.Parse(yu.ToString()).ToString("F2")}*{orderItem.FBillNo}*{orderItem.FSupplierLot}";
TiaoMa tiaoMa = new TiaoMa(); TiaoMaList tiaoMa = new TiaoMaList();
tiaoMa = AutoMapperHelper.AutoMappToSingle<TiaoMa, InvoiceOrderItem>(orderItem); tiaoMa = AutoMapperHelper.AutoMappToSingle<TiaoMaList, InvoiceOrderItem>(orderItem);
tiaoMa.Id = Guid.NewGuid(); tiaoMa.Id = Guid.NewGuid();
tiaoMa.FBarCode = FBarCode; tiaoMa.FBarCode = FBarCode;
tiaoMa.Qty = yu; tiaoMa.Qty = yu;
tiaoMa.SortNum = baoShu + 1; tiaoMa.SortNum = baoShu + 1;
tiaoMa.PurchaseBillNo = orderItem.FBillNo; tiaoMa.PurchaseBillNo = orderItem.FBillNo;
tiaoMa.FBillNo = order.FBillNo; tiaoMa.FBillNo = order.FBillNo;
tiaoMa.SupplierId = order.SupplierId;
tiaoMa.SupplierName = order.SupplierName;
addList.Add(tiaoMa); addList.Add(tiaoMa);
} }
if (addList.Count > 0)
_tiaoMaRepository.Add(addList); {
var addtemp = AutoMapperHelper.AutoMappToList<TiaoMa, TiaoMaList>(addList);
_tiaoMaRepository.Add(addtemp);
}
List<AddTiaoMa> addTiaoMas = new List<AddTiaoMa>(); List<AddTiaoMa> addTiaoMas = new List<AddTiaoMa>();
addTiaoMas = addList.Select(t => new AddTiaoMa addTiaoMas = addList.Select(t => new AddTiaoMa
@ -304,7 +339,7 @@ namespace MyCode.Project.Services.Implementation
} }
TiaoMaResp result = new TiaoMaResp(); TiaoMaResp result = new TiaoMaResp();
result.Id = orderItem.Id; result.Id = orderItem.Id;
result.BarCodeList = addList.Select(t => t.FBarCode).ToList(); result.BarCodeList = addList;
return result; return result;
} }