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 SapSendInfoHandler
{
///
/// 出库的时候,新增 推送SAP的记录表
///
///
///
///
public static void SaveAddSapSendInfoForOutStore(bool isFinish, string sendSapData, List results, string _retResult, string _retMsg)
{
try
{
using (dbModel mod = new dbModel())
{
var creatTime = DateTime.Now;
//一次请求,然后记录多条,时间相同 【EditBy shaocx,2022-10-12】
foreach (var item in results)
{
SapSendInfo sapGi = new SapSendInfo();
sapGi.SendSapData = sendSapData;//数据转string 保存
//sapGi.moveType = 1;//出库标志
sapGi.moveType = (int)MoveTypeForSapSend.出库;//出库标志
sapGi.creatTime = creatTime;
sapGi.sendCount = 0;//发送次数
sapGi.voucherCode = "";//sap凭证
sapGi.isFinish = isFinish ? 1 : 0;//是否完成
sapGi.Remark = "一次请求,然后记录多条,时间相同";
BussinessExtension.SetSapSendInfoByGIMaterialEntity(mod, sapGi, item);//配置对象 [EditBy shaocx,2022-01-30]
sapGi.RetMsg = _retMsg;
sapGi.RetResult = _retResult;
mod.SapSendInfo.Add(sapGi);
}
mod.SaveChanges();
}
}
catch (Exception)
{//吞掉异常
throw;
}
}
///
/// 按凭证退货,新增 推送SAP的记录表
///
///
///
///
public static void AddSapSendInfoForWmsReverser(string sendSapData, string _retResult, string _retMsg)
{
try
{
using (dbModel mod = new dbModel())
{
SapSendInfo sapGi = new SapSendInfo();
sapGi.SendSapData = JsonConvert.SerializeObject(sendSapData);//数据转string 保存
sapGi.moveType = (int)MoveTypeForSapSend.按凭证退货;//出库标志
sapGi.creatTime = DateTime.Now;
sapGi.sendCount = 1;//发送次数
sapGi.voucherCode = "";//sap凭证
sapGi.isFinish = 1;//是否完成,强制写死为已完成 【Editby shaocx,2022-09-23】
sapGi.RetMsg = _retMsg;
sapGi.RetResult = _retResult;
mod.SapSendInfo.Add(sapGi);
mod.SaveChanges();
}
}
catch (Exception)
{//吞掉异常
throw;
}
}
///
/// 收货,新增 推送SAP的记录表
///
///
///
///
public static void AddSapSendInfoForSH(string sendSapData, GRMaterialEntity[] results, string _retResult, string _retMsg)
{
try
{
using (dbModel mod = new dbModel())
{
SapSendInfo sapGi = new SapSendInfo();
sapGi.SendSapData = JsonConvert.SerializeObject(sendSapData);//数据转string 保存
sapGi.moveType = (int)MoveTypeForSapSend.收货;
sapGi.creatTime = DateTime.Now;
sapGi.sendCount = 1;//发送次数
sapGi.voucherCode = "";//sap凭证
sapGi.isFinish = 1;//是否完成,强制写死为已完成 【Editby shaocx,2022-09-23】
BussinessExtension.SetSapSendInfoByGRMaterialEntity(mod, sapGi, results.ToList());//配置对象 [EditBy shaocx,2022-01-30]
sapGi.RetMsg = _retMsg;
sapGi.RetResult = _retResult;
mod.SapSendInfo.Add(sapGi);
mod.SaveChanges();
}
}
catch (Exception)
{//吞掉异常
throw;
}
}
///
/// 移库,新增 推送SAP的记录表
///
///
///
///
public static void AddSapSendInfoForMove(dbModel mod, bool isFinish, List moveMaterials, string _retResult, string _retMsg)
{
try
{
SapSendInfo sapGi = new SapSendInfo();
sapGi.SendSapData = JsonConvert.SerializeObject(moveMaterials);//数据转string 保存
//sapGi.moveType = 2;//移库标志
sapGi.moveType = (int)MoveTypeForSapSend.移库;//移库标志
sapGi.creatTime = DateTime.Now;
sapGi.sendCount = 0;
sapGi.voucherCode = "";
sapGi.isFinish = isFinish ? 1 : 0;//是否完成
BussinessExtension.SetSapSendInfoByMovMaterialEntity(mod, sapGi, moveMaterials);//配置对象 [EditBy shaocx,2022-01-30]
sapGi.RetMsg = _retMsg;
sapGi.RetResult = _retResult;
mod.SapSendInfo.Add(sapGi);
}
catch (Exception)
{//吞掉异常
throw;
}
}
///
/// 移库,新增 推送SAP的记录表
///
///
///
///
public static void SaveAddSapSendInfoForMove(bool isFinish, List moveMaterials, string _retResult, string _retMsg)
{
try
{
using (dbModel mod = new dbModel())
{
AddSapSendInfoForMove(mod, isFinish, moveMaterials, _retResult, _retMsg);
mod.SaveChanges();
}
}
catch (Exception)
{//吞掉异常
throw;
}
}
}
}