using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using wcftest.EnumDefine;
using wcftest.orm;
namespace wcftest.BussinessExtension.Handle
{
///
/// 出入库记录处理类
///
public class OutInStockTaskHandler
{
///
/// 新增出入库记录
///
/// 托盘号
///
/// 任务名称
/// 来源单号
/// 跟踪号
/// 物料编号
/// 物料名称
/// 单位
/// 变化数量,注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]
/// 库位号
/// 说明
public static void AddOutInStockTask(string plateCode, dbModel mod, OutInStockTaskName _taskName, string _orderCode, string _trackNumber
, string _materialNumber, string _materialName, string _unit, decimal? _quantity, string _PositionName, string _remark, string _Creator)
{
OutInStockTask addOutTask = new OutInStockTask();
addOutTask.taskName = _taskName.ToString();
addOutTask.orderCode = _orderCode;
addOutTask.trackNumber = _trackNumber;
addOutTask.materialNumber = _materialNumber;
addOutTask.materialName = _materialName;
addOutTask.unit = _unit;
addOutTask.quantity = _quantity;//注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]
//增加字段 【EditBy shaocx,2022-03-06】
addOutTask.PositionName = _PositionName;
decimal cghw_ProductStorage = 0;
decimal zcq__ProductStorage = 0;
decimal dqkw_ProductStorage = 0;
decimal dqkw_trackNumber_ProductStorage = 0;
BussinessExtension.GetCurrentProductStorage(mod, addOutTask.materialNumber, addOutTask.PositionName, out cghw_ProductStorage, out zcq__ProductStorage, out dqkw_ProductStorage, addOutTask.trackNumber, out dqkw_trackNumber_ProductStorage);
addOutTask.CGHW_ProductStorage = cghw_ProductStorage;
addOutTask.ZCG_ProductStorage = zcq__ProductStorage;
addOutTask.ext2 = dqkw_ProductStorage.ToString();
addOutTask.ext3 = dqkw_trackNumber_ProductStorage.ToString();
addOutTask.Remark = _remark;
addOutTask.creatDate = DateTime.Now;
addOutTask.Creator = _Creator;
addOutTask.ext1 = plateCode;//托盘号
mod.OutInStockTask.Add(addOutTask);//增加出库记录
}
///
/// 新增出入库记录
///
///
/// 任务名称
/// 变化数量
/// 库存对象
/// 说明
public static void AddOutInStockTask22(string _Creator,dbModel mod, OutInStockTaskName _taskName, decimal? changeQty, Base_ProductPosition productPosition, string _remark,
string _orderCode,
string myPositionName = "")
{
OutInStockTask addOutTask = new OutInStockTask();
addOutTask.taskName = _taskName.ToString();
addOutTask.orderCode = _orderCode;//来源单号不知道??
addOutTask.trackNumber = productPosition.ExtendField04;//跟踪号
addOutTask.materialNumber = productPosition.ProductCode;
addOutTask.materialName = productPosition.ProductName;
addOutTask.unit = productPosition.SmallUnit;
if (_taskName == OutInStockTaskName.清库任务 || _taskName == OutInStockTaskName.出库任务 || _taskName == OutInStockTaskName.退货任务)
{
changeQty = -changeQty;
}
addOutTask.quantity = changeQty;//注意:出库任务记录的数量是负数![EditBy shaocx,2022-03-07]
//增加字段 【EditBy shaocx,2022-03-06】
addOutTask.PositionName = productPosition.PositionName;
if (!string.IsNullOrEmpty(myPositionName))
{//增加适用 移库场景的情况 【Editby shaocx,2022-10-20】
addOutTask.PositionName = myPositionName;
}
decimal cghw_ProductStorage = 0;
decimal zcq__ProductStorage = 0;
decimal dqkw_ProductStorage = 0;
decimal dqkw_trackNumber_ProductStorage = 0;
BussinessExtension.GetCurrentProductStorage(mod, addOutTask.materialNumber, addOutTask.PositionName, out cghw_ProductStorage, out zcq__ProductStorage, out dqkw_ProductStorage, addOutTask.trackNumber, out dqkw_trackNumber_ProductStorage);
addOutTask.CGHW_ProductStorage = cghw_ProductStorage;
addOutTask.ZCG_ProductStorage = zcq__ProductStorage;
addOutTask.ext2 = dqkw_ProductStorage.ToString();
addOutTask.ext3 = dqkw_trackNumber_ProductStorage.ToString();
addOutTask.Remark = _remark;
addOutTask.creatDate = DateTime.Now;
addOutTask.Creator = _Creator;
addOutTask.ext1 = productPosition.PlateCode;//托盘号
mod.OutInStockTask.Add(addOutTask);//增加出库记录
}
}
}