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; } } } }