using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WZ.Useful.Commons.Collections;
|
using yunneiWCS.EnumDefine;
|
using yunneiWCS.ExtendFunction;
|
using yunneiWCS.ORM;
|
|
namespace yunneiWCS.DataAccess
|
{
|
/// <summary>
|
/// 出入库记录(为推送MES)
|
/// </summary>
|
public class OutInStockRecord_V2_MesHandler
|
{
|
/// <summary>
|
/// 人工删除的场景
|
/// </summary>
|
/// <param name="mod"></param>
|
/// <param name="_outInFlag"></param>
|
/// <param name="sourcePlace"></param>
|
/// <param name="toPlace"></param>
|
/// <param name="_task"></param>
|
/// <param name="remark"></param>
|
/// <param name="productStocks"></param>
|
/// <param name="currentTaskType"></param>
|
public static void AddRecordForPersonDelete(dbmodel mod, OutInFlag _outInFlag, string remark,
|
System.Collections.Generic.List<productStockList> productStocks, productStock modfiyStock, string positionName)
|
{
|
try
|
{
|
//var isMaterilStockMove = MyExtend.IsMaterilStockMove(currentTaskType);
|
//if (isMaterilStockMove == false)
|
//{
|
// return;
|
//}
|
//if (string.IsNullOrEmpty(modfiyStock.materialCode))
|
//{
|
// return;//认为是空拖
|
//}
|
Wms_outInStockRecord_V2_Mes log = new Wms_outInStockRecord_V2_Mes()
|
{
|
ID = Yitter.IdGenerator.YitIdHelper.NextId(),
|
sourcePlace = positionName,
|
toPlace = "",
|
containerCode = modfiyStock.containerCode,
|
|
LastModifier = modfiyStock.creator,
|
LastModifyTime = DateTime.Now,
|
|
|
outInFlag = (int)_outInFlag,
|
outInFlagName = _outInFlag.ToString(),
|
|
CreateTime = DateTime.Now,
|
// Creator = _task.creator,
|
Remark = remark,
|
|
materialCode = productStocks.First().productCode,
|
materialName = productStocks.First().productName,
|
qty = productStocks.Count(),
|
supplier = modfiyStock.supplier,
|
|
isSendToMes = 0,
|
|
|
//version = modfiyStock.version,
|
|
//taskId = _task.taskId.ToString(),
|
//taskType = (int)_task.taskType,
|
//taskTypeName = _task.taskTypeName,
|
//taskName = _task.taskName,
|
};
|
mod.Wms_outInStockRecord_V2_Mes.Add(log);
|
|
//同时把明细也新增进去
|
foreach (var item in productStocks)
|
{
|
var d_id = Yitter.IdGenerator.YitIdHelper.NextId();
|
Wms_outInStockRecord_Details_V2_Mes wms_OutInStockRecord_Details_V2_Mes = new Wms_outInStockRecord_Details_V2_Mes()
|
{
|
ID = d_id,
|
mainId = log.ID,
|
containerCode = log.containerCode,
|
productCode = item.productCode,
|
productName = item.productName,
|
serialNumber = item.serialNumber,
|
CreateTime = DateTime.Now
|
};
|
mod.Wms_outInStockRecord_Details_V2_Mes.Add(wms_OutInStockRecord_Details_V2_Mes);
|
}
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
private static void AddRecord(dbmodel mod, OutInFlag _outInFlag, string positionName, task _task, string remark,
|
System.Collections.Generic.List<productStockList> productStocks, taskType currentTaskType)
|
{
|
try
|
{
|
//var isMaterilStockMove = MyExtend.IsMaterilStockMove(currentTaskType);
|
//if (isMaterilStockMove == false)
|
//{
|
// return;
|
//}
|
if (string.IsNullOrEmpty(_task.materialCode))
|
{
|
return;//认为是空拖
|
}
|
Wms_outInStockRecord_V2_Mes log = new Wms_outInStockRecord_V2_Mes()
|
{
|
ID = Yitter.IdGenerator.YitIdHelper.NextId(),
|
sourcePlace = positionName,
|
toPlace = "",
|
containerCode = _task.containerCode,
|
|
LastModifier = _task.creator,
|
LastModifyTime = DateTime.Now,
|
|
|
outInFlag = (int)_outInFlag,
|
outInFlagName = _outInFlag.ToString(),
|
|
CreateTime = DateTime.Now,
|
Creator = _task.creator,
|
Remark = remark,
|
|
materialCode = _task.materialCode,
|
materialName = _task.materialName,
|
qty = _task.quantity,
|
supplier = _task.supplier,
|
version = _task.version,
|
|
taskId = _task.taskId.ToString(),
|
taskType = (int)_task.taskType,
|
taskTypeName = _task.taskTypeName,
|
taskName = _task.taskName,
|
|
isSendToMes = 0,
|
};
|
mod.Wms_outInStockRecord_V2_Mes.Add(log);
|
|
//同时把明细也新增进去
|
foreach (var item in productStocks)
|
{
|
Wms_outInStockRecord_Details_V2_Mes wms_OutInStockRecord_Details_V2_Mes = new Wms_outInStockRecord_Details_V2_Mes()
|
{
|
ID = Yitter.IdGenerator.YitIdHelper.NextId(),
|
mainId = log.ID,
|
containerCode = log.containerCode,
|
productCode = item.productCode,
|
productName = item.productName,
|
serialNumber = item.serialNumber,
|
CreateTime = DateTime.Now
|
};
|
mod.Wms_outInStockRecord_Details_V2_Mes.Add(wms_OutInStockRecord_Details_V2_Mes);
|
}
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
public static void AddRecord(dbmodel mod, OutInFlag _outInFlag, string positionName, task _task, string remark,
|
taskType currentTaskType)
|
{
|
var stock = mod.productStock.Where(a => a.containerCode == _task.containerCode).FirstOrDefault();
|
if (stock != null)
|
{
|
System.Collections.Generic.List<productStockList> productStocks = mod.productStockList.Where(a => a.stockId == stock.stockId).ToList();
|
AddRecord(mod, _outInFlag, positionName, _task, remark,
|
productStocks, currentTaskType);
|
}
|
}
|
}
|
}
|