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
|
{
|
/// <summary>
|
/// 推送SAP信息的记录表处理类
|
/// </summary>
|
public class SapSendInfoHandler
|
{
|
|
/// <summary>
|
/// 出库的时候,新增 推送SAP的记录表
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="outList"></param>
|
/// <param name="sapInfo"></param>
|
public static void SaveAddSapSendInfoForOutStore(bool isFinish, string sendSapData, List<GIMaterialEntity> 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;
|
}
|
}
|
|
/// <summary>
|
/// 按凭证退货,新增 推送SAP的记录表
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="outList"></param>
|
/// <param name="sapInfo"></param>
|
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;
|
}
|
}
|
|
/// <summary>
|
/// 收货,新增 推送SAP的记录表
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="outList"></param>
|
/// <param name="sapInfo"></param>
|
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;
|
}
|
}
|
|
/// <summary>
|
/// 移库,新增 推送SAP的记录表
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="outList"></param>
|
/// <param name="sapInfo"></param>
|
public static void AddSapSendInfoForMove(dbModel mod, bool isFinish, List<MovMaterialEntity> 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;
|
}
|
}
|
|
/// <summary>
|
/// 移库,新增 推送SAP的记录表
|
/// </summary>
|
/// <param name="context"></param>
|
/// <param name="outList"></param>
|
/// <param name="sapInfo"></param>
|
public static void SaveAddSapSendInfoForMove(bool isFinish, List<MovMaterialEntity> moveMaterials, string _retResult, string _retMsg)
|
{
|
try
|
{
|
using (dbModel mod = new dbModel())
|
{
|
AddSapSendInfoForMove(mod, isFinish, moveMaterials, _retResult, _retMsg);
|
|
mod.SaveChanges();
|
|
}
|
}
|
catch (Exception)
|
{//吞掉异常
|
throw;
|
}
|
}
|
}
|
}
|