|
using Admin.NET.Core.TaskModule.Enum;
|
using iWareSql.MyDbContext;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareCC.Common.Helper
|
{
|
|
/// <summary>
|
/// 事务记录库存状态、质检状态入参
|
/// </summary>
|
public class TransferStockDetail
|
{
|
/// <summary>
|
/// 数量
|
/// </summary>
|
public decimal Quantity { get; set; }
|
|
/// <summary>
|
/// 库存状态
|
/// </summary>
|
public int? StockStatus { get; set; }
|
|
/// <summary>
|
/// 库存状态名称
|
/// </summary>
|
public string StockStatusName { get; set; }
|
|
/// <summary>
|
/// 质检状态
|
/// </summary>
|
public int? StockQcStatus { get; set; }
|
|
/// <summary>
|
/// 质检状态名称
|
/// </summary>
|
public string StockQcStatusName { get; set; }
|
|
}
|
|
|
/// <summary>
|
/// 事务记录入参
|
/// </summary>
|
public class TransferDetail : TransferStockDetail
|
{
|
/// <summary>
|
/// 跟踪号
|
/// </summary>
|
public string SNCode { get; set; }
|
|
|
/// <summary>
|
/// 库区
|
/// </summary>
|
public string AreaCode { get; set; }
|
/// <summary>
|
/// 库位编号
|
/// </summary>
|
public string PlaceCode { get; set; }
|
/// <summary>
|
/// 容器编号
|
/// </summary>
|
public string ContainerCode { get; set; }
|
/// <summary>
|
/// 库区名称
|
/// </summary>
|
public string AreaName { get; set; }
|
/// <summary>
|
///库位名称
|
/// </summary>
|
public string PlaceName { get; set; }
|
/// <summary>
|
/// 容器名称
|
/// </summary>
|
public string ContainerName { get; set; }
|
}
|
|
/// <summary>
|
/// 事务记录其他入参
|
/// </summary>
|
public class TransferOtherDetail
|
{
|
/// <summary>
|
/// 关联单号
|
/// </summary>
|
public string RelationNo { get; set; }
|
/// <summary>
|
/// 关联单行号
|
/// </summary>
|
public string RelationNoLineNumber { get; set; }
|
|
|
/// <summary>
|
/// 关联单类型
|
/// </summary>
|
public int? RelationOrderType { get; set; }
|
/// <summary>
|
/// 关联单类型名称
|
/// </summary>
|
public string RelationOrderTypeName { get; set; }
|
|
/// <summary>
|
/// 备注
|
/// </summary>
|
public string Remarks { get; set; }
|
|
}
|
public class LogRecordHelper
|
{
|
|
|
|
|
|
|
/// <summary>
|
/// 创建事务记录-仅库存或质检状态或数量变更用
|
/// </summary>
|
/// <param name="moveType"></param>
|
/// <param name="businessType"></param>
|
/// <param name="wmsStockQuanView"></param>
|
/// <param name="orderType"></param>
|
/// <param name="sourceStockDetail">源信息</param>
|
/// <param name="targetStockDetail">目标信息</param>
|
/// <param name="transferOtherDetail"></param>
|
/// <returns></returns>
|
public static wms_record_trans CreateWmsRecordTrans(wms_task task,
|
v_wms_stock_quan wmsStockQuanView, TransferDetail sourceTransferDetail, TransferDetail targetTransferDetail, TransferOtherDetail transferOtherDetail)
|
{
|
|
wms_record_trans addWmsRecordTrans = new wms_record_trans()
|
{
|
Id=Yitter.IdGenerator.YitIdHelper.NextId(),
|
MoveType = (int)task.MoveType,
|
MoveTypeName = task.MoveTypeName,
|
BusinessType = task.BusinessType,
|
BusinessTypeName = task.BusinessTypeName,
|
Batch = wmsStockQuanView.Batch,
|
SupplierBatch = wmsStockQuanView.SupplierBatch,
|
//RelationOrderType = orderType,
|
//RelationOrderTypeName = relationOrderTypeName,
|
//RelationNo = transferOtherDetail?.RelationNo,
|
//RelationNoLineNumber = transferOtherDetail?.RelationNoLineNumber,
|
|
SourceSNCode = sourceTransferDetail.SNCode,
|
|
ToSNCode = targetTransferDetail.SNCode,
|
|
#region 变动属性
|
SourceQuantity = sourceTransferDetail.Quantity,
|
ToQuantity = targetTransferDetail.Quantity,
|
SourceStockStatus = (int)sourceTransferDetail?.StockStatus,
|
SourceStockStatusName = sourceTransferDetail?.StockStatusName,
|
ToStockStatus = (int)targetTransferDetail?.StockStatus,
|
ToStockStatusName = targetTransferDetail?.StockStatusName,
|
SourceQCStatus = (int)sourceTransferDetail?.StockQcStatus,
|
SourceQCStatusName = sourceTransferDetail?.StockQcStatusName,
|
ToQCStatus = (int)targetTransferDetail?.StockQcStatus,
|
ToQCStatusName = targetTransferDetail?.StockQcStatusName,
|
#endregion
|
|
SourceAreaCode = sourceTransferDetail.AreaCode,
|
SourceAreaName = sourceTransferDetail.AreaName,
|
SourcePlaceCode = sourceTransferDetail.PlaceCode,
|
SourcePlaceName = sourceTransferDetail.PlaceName,
|
SourceContainerCode = sourceTransferDetail.ContainerCode,
|
SourceContainerName = sourceTransferDetail.ContainerName,
|
ToAreaCode = targetTransferDetail.AreaCode,
|
ToAreaName = targetTransferDetail.AreaName,
|
ToPlaceCode = targetTransferDetail.PlaceCode,
|
ToPlaceName = targetTransferDetail.PlaceName,
|
ToContainerCode = targetTransferDetail.ContainerCode,
|
ToContainerName = targetTransferDetail.ContainerName,
|
|
|
ErpCode = wmsStockQuanView.ErpCode,
|
ErpOrderNo = wmsStockQuanView.ErpOrderNo,
|
ErpVoucher = wmsStockQuanView.ErpVoucher,
|
MaterialCode = wmsStockQuanView.MaterialCode,
|
MaterialName = wmsStockQuanView.MaterialName,
|
SupplierCode = wmsStockQuanView.SupplierCode,
|
SupplierName = wmsStockQuanView.SupplierName,
|
MaterialUnit = wmsStockQuanView.MaterialUnit,//库存单位
|
Remarks = transferOtherDetail?.Remarks,
|
CreateTime = DateTime.Now,
|
CreateUserId = 0,
|
CreateUserName =FormCC.WcsSysUserName
|
|
|
|
};
|
//变更数量=目标数量-源数量(根据业务场景有正负值,如:收货是正值,发货是负值)
|
addWmsRecordTrans.ChangeQuantity = addWmsRecordTrans.ToQuantity - addWmsRecordTrans.SourceQuantity;
|
return addWmsRecordTrans;
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|