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 { /// /// 出入库记录(为推送MES) /// public class OutInStockRecord_V2_MesHandler { /// /// 人工删除的场景 /// /// /// /// /// /// /// /// /// public static void AddRecordForPersonDelete(dbmodel mod, OutInFlag _outInFlag, string remark, System.Collections.Generic.List 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; } } public static void AddRecord(dbmodel mod, OutInFlag _outInFlag, string positionName, task _task, string remark, System.Collections.Generic.List 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 productStocks = mod.productStockList.Where(a => a.stockId == stock.stockId).ToList(); AddRecord(mod, _outInFlag, positionName, _task, remark, productStocks, currentTaskType); } } } }