using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using wcftest.EnumDefine;
using wcftest.orm;
using wcftest.sendToSap;
namespace wcftest.BussinessExtension.Handle
{
///
/// 推送SAP失败的记录表处理类
///
public class SapSendFailRecodInfoHandler
{
///
/// 出库的时候,新增 推送SAP失败的记录表
///
///
///
///
public static void AddForOutStore(GIMaterialEntity[] results, string _retResult, string _retMsg)
{
//Task.Run(() =>
//{
try
{
MoveTypeForSapSend moveTypeForSapSend = MoveTypeForSapSend.出库;
if (results != null && results.Length > 0)
{
using (dbModel context = new dbModel())
{
foreach (var entity in results)
{
SapSendFailRecodInfo item = new SapSendFailRecodInfo()
{
SendSapData = JsonConvert.SerializeObject(results),
MoveType = (int)moveTypeForSapSend,
MoveTypeName = moveTypeForSapSend.ToString(),
MaterialCode = entity.MaterialCode,
//MaterialName = entity.ma,
//PoCode = entity.PoNumber,//采购单号
SalesOrder = entity.SalesOrder,//销售单号
TrackingCode = "",//跟踪号
ItemNumber = "",//采购项号
SpecAlias = entity.SalesOrderItem,//销售项号
BigUnit = entity.Unit,//单位
ProductBarCode = entity.StorageLocation,//仓库号
Quantity = entity.Quantity,
WorkOrder = entity.WorkOrder,
RetMsg = _retMsg,
RetResult = _retResult
};
var product = BussinessExtension.GetProductInfoByCode(context, entity.MaterialCode);
if (product != null) item.MaterialName = product.ProductName;
item.Creator = item.LastModifier = " ";
item.CreateTime = item.LastModifyTime = DateTime.Now;
context.SapSendFailRecodInfo.Add(item);
}
context.SaveChanges();
}
}
}
catch (Exception)
{//吞掉异常
throw;
}
//});
}
///
/// 收货的时候,新增 推送SAP失败的记录表
///
///
///
///
public static void AddForSH(GRMaterialEntity[] results, string _retResult, string _retMsg)
{
//Task.Run(() =>
//{
try
{
MoveTypeForSapSend moveTypeForSapSend = MoveTypeForSapSend.收货;
if (results != null && results.Length > 0)
{
using (dbModel context = new dbModel())
{
foreach (var entity in results)
{
SapSendFailRecodInfo item = new SapSendFailRecodInfo()
{
SendSapData = JsonConvert.SerializeObject(results),
MoveType = (int)moveTypeForSapSend,
MoveTypeName = moveTypeForSapSend.ToString(),
MaterialCode = entity.MaterialCode,
//MaterialName = entity.,
PoCode = entity.PoNumber,//采购单号
//SalesOrder = entity.SalesOrder,//销售单号
TrackingCode = "",//跟踪号
ItemNumber = entity.PoItem,//采购项号
//SpecAlias = entity.SalesOrderItem,//销售项号
//BigUnit = entity.Unit,//单位
ProductBarCode = entity.StorageLocation,//仓库号
Quantity = entity.Quantity,
//WorkOrder = entity.WorkOrder
RetMsg = _retMsg,
RetResult = _retResult
};
var product = BussinessExtension.GetProductInfoByCode(context, entity.MaterialCode);
if (product != null) item.MaterialName = product.ProductName;
item.Creator = item.LastModifier = " ";
item.CreateTime = item.LastModifyTime = DateTime.Now;
context.SapSendFailRecodInfo.Add(item);
}
context.SaveChanges();
}
}
}
catch (Exception)
{//吞掉异常
throw;
}
//});
}
///
/// 按凭证退货,新增 推送SAP失败的记录表
///
///
///
///
public static void AddForReverser(string results, string _retResult, string _retMsg)
{
//Task.Run(() =>
//{
try
{
MoveTypeForSapSend moveTypeForSapSend = MoveTypeForSapSend.按凭证退货;
using (dbModel context = new dbModel())
{
SapSendFailRecodInfo item = new SapSendFailRecodInfo()
{
SendSapData = results,
MoveType = (int)moveTypeForSapSend,
MoveTypeName = moveTypeForSapSend.ToString(),
//MaterialCode = entity.MaterialCode,
////MaterialName = entity.,
//PoCode = entity.PoNumber,//采购单号
////SalesOrder = entity.SalesOrder,//销售单号
//TrackingCode = "",//跟踪号
//ItemNumber = entity.PoItem,//采购项号
////SpecAlias = entity.SalesOrderItem,//销售项号
////BigUnit = entity.Unit,//单位
//ProductBarCode = entity.StorageLocation,//仓库号
//Quantity = entity.Quantity,
//WorkOrder = entity.WorkOrder
RetMsg = _retMsg,
RetResult = _retResult
};
//var product = BussinessExtension.GetProductInfoByCode(context, entity.MaterialCode);
//if (product != null) item.MaterialName = product.ProductName;
item.Creator = item.LastModifier = " ";
item.CreateTime = item.LastModifyTime = DateTime.Now;
context.SapSendFailRecodInfo.Add(item);
context.SaveChanges();
}
}
catch (Exception)
{//吞掉异常
throw;
}
//});
}
///
/// 移库的时候,新增 推送SAP失败的记录表
///
///
///
///
public static void AddForMove(MovMaterialEntity[] results, string _retResult, string _retMsg)
{
//Task.Run(() =>
//{
try
{
MoveTypeForSapSend moveTypeForSapSend = MoveTypeForSapSend.移库;
if (results != null && results.Length > 0)
{
using (dbModel context = new dbModel())
{
foreach (var entity in results)
{
SapSendFailRecodInfo item = new SapSendFailRecodInfo()
{
SendSapData = JsonConvert.SerializeObject(results),
MoveType = (int)moveTypeForSapSend,
MoveTypeName = moveTypeForSapSend.ToString(),
MaterialCode = entity.MaterialCode,
//MaterialName = entity.,
//PoCode = entity.PoNumber,//采购单号
////SalesOrder = entity.SalesOrder,//销售单号
//TrackingCode = "",//跟踪号
//ItemNumber = entity.PoItem,//采购项号
////SpecAlias = entity.SalesOrderItem,//销售项号
////BigUnit = entity.Unit,//单位
//ProductBarCode = entity.StorageLocation,//仓库号
Quantity = entity.Quantity,
//WorkOrder = entity.WorkOrder
RetMsg = _retMsg,
RetResult = _retResult
};
var product = BussinessExtension.GetProductInfoByCode(context, entity.MaterialCode);
if (product != null) item.MaterialName = product.ProductName;
item.Creator = item.LastModifier = " ";
item.CreateTime = item.LastModifyTime = DateTime.Now;
context.SapSendFailRecodInfo.Add(item);
}
context.SaveChanges();
}
}
}
catch (Exception)
{//吞掉异常
throw;
}
//});
}
}
}