public async Task <List <MSGBindingModels> > GetMessagesBySequenceIDList(List <int> sequenceIdList) { var list = new List <MSGBindingModels>(); try { userid = HttpContext.Current.User.Identity.GetUserId(); var systemCode = UserManager.FindById(userid).SystemCode; foreach (int sequenceId in sequenceIdList) { var oMSG = _db.OMSG.Find(sequenceId); if (oMSG.FromSystem == systemCode) { var MSG1 = _db.MSG1.Find(sequenceId); var MSG = new MSGBindingModels(); MSG.OMSG = oMSG; MSG.MSG1 = MSG1; if (!list.Contains(MSG)) { list.Add(MSG); } } } return(list); } catch (Exception ex) { return(null); } }
public async Task <MSGBindingModels> GetFirstMesssage() { try { userid = HttpContext.Current.User.Identity.GetUserId(); var systemCode = UserManager.FindById(userid).SystemCode; //通过此SQL获取当前未处理的SequenceID最小的ID值 var sqlcmd = string.Format(@"SELECT TOP 1 T0.SequenceID FROM IF_OMSG T0 JOIN IF_OMSG3 T1 on T0.FromSystem = T1.FromSystem AND T0.FromCompany = T1.FromCompany AND T0.Flag = T1.Flag AND T0.ObjectType = T1.ObjectType AND T1.ToSystem = '{0}' LEFT JOIN IF_MSG2 T2 on T0.SequenceID = T2.SequenceID AND T2.targetsystem = '{0}' WHERE (T0.Status <> -1) AND (( T2.Status IS NULL) OR (T2.Status <>0 AND T2.Status <= T0.Status)) ORDER BY T0.SequenceID ", systemCode); var data = _db.Database.SqlQuery <int>(sqlcmd); if (data.Count() > 0) { var sequenceId = data.First(); var oMSG = _db.OMSG.Find(sequenceId); var MSG1 = _db.MSG1.Find(sequenceId); var MSG = new MSGBindingModels(); MSG.OMSG = oMSG; MSG.MSG1 = MSG1; return(MSG); } else { return(null); } } catch (Exception ex) { //return null; Logger.Writer("GetFirstMessage:\r\n" + ex.Message); throw new MyHttpException("GetFirstMessage:", ex); } }
public ActionResult GetMSG() { MSGBindingModels MSGBindingModels = new MSGBindingModels(); var o = _db.OMSG.Find(1); var b = _db.MSG1.Find(1); MSGBindingModels.OMSG = o; MSGBindingModels.MSG1 = b; return(Json(MSGBindingModels, JsonRequestBehavior.AllowGet)); }
public ActionResult AddTestWithObject(MSGBindingModels MSG) { try { var o = MSG.OMSG; var b = MSG.MSG1; _db.OMSG.Add(o); _db.MSG1.Add(b); _db.SaveChanges(); return(Json("Ok", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } }
public async Task <MSGBindingModels> GetMessageBySequenceID() { var sequenceId = Convert.ToInt32(HttpContext.Current.Request["sequenceId"]); try { var oMSG = _db.OMSG.Find(sequenceId); var MSG1 = _db.MSG1.Find(sequenceId); var MSG = new MSGBindingModels(); MSG.OMSG = oMSG; MSG.MSG1 = MSG1; return(MSG); } catch (Exception ex) { var MSG = new MSGBindingModels(); return(MSG); } }
public async Task <List <MSGBindingModels> > GetMessagesByTOPNumber() { string top = HttpContext.Current.Request["top"]; var list = new List <MSGBindingModels>(); try { userid = HttpContext.Current.User.Identity.GetUserId(); var systemCode = UserManager.FindById(userid).SystemCode; var sqlcmd = string.Format(@"SELECT TOP {0} T0.SequenceID FROM IF_OMSG T0 JOIN IF_OMSG3 T1 ON T0.FromSystem = T1.FromSystem AND T0.FromCompany = T1.FromCompany AND T0.Flag = T1.Flag AND T0.ObjectType = T1.ObjectType AND T1.ToSystem = '{1}' LEFT JOIN IF_MSG2 T2 ON T0.SequenceID = T2.SequenceID AND T2.targetsystem = '{1}' WHERE (T0.Status <> -1) AND (( T2.Status IS NULL) OR (T2.Status <>0 AND T2.Status <= T0.Status)) ORDER BY T0.SequenceID ", top, systemCode); var sequenceIdList = _db.Database.SqlQuery <int>(sqlcmd); if (sequenceIdList.Count() > 0) { foreach (int sequenceId in sequenceIdList) { var oMSG = _db.OMSG.Find(sequenceId); var MSG1 = _db.MSG1.Find(sequenceId); var MSG = new MSGBindingModels(); MSG.OMSG = oMSG; MSG.MSG1 = MSG1; if (!list.Contains(MSG)) { list.Add(MSG); } } } else { return(null); } return(list); } catch (Exception ex) { return(null); } }
public async Task <MSGReturnModels> ResetMessageBySequenceID(MSGBindingModels MSG) { var returnModel = new MSGReturnModels(); try { var oMSG = MSG.OMSG; var MSG1 = MSG.MSG1; var objModel = _db.OMSG.Find(oMSG.SequenceID); //if (_db.OMSG.Find(oMSG.SequenceID) == null) if (objModel == null) { returnModel.ErrMSG = "找不到相应的消息对象,无法进行重置"; return(returnModel); } oMSG.UpDateTime = DateTime.Now; oMSG.Status = 0; _db.MSG1.AddOrUpdate(MSG1); _db.OMSG.AddOrUpdate(oMSG); //先写入日志表MSG1_LOG,然后再保存(需要记录更新前的XML内容) var sqlLog1 = string.Format(@"INSERT INTO DBO.IF_MSG1_LOG( SequenceID,Content ,iLength ,UpdateTime ,UpdateUser) SELECT T0.SequenceID,T0.Content,T0.iLength,GETDATE(),'{0}' FROM DBO.IF_MSG1 T0 WHERE T0.SequenceID = {1}", userid, oMSG.SequenceID); _db.Database.ExecuteSqlCommand(sqlLog1); _db.SaveChanges(); returnModel.ErrMSG = ""; returnModel.SequenceId = oMSG.SequenceID; return(returnModel); } catch (Exception ex) { returnModel.ErrMSG = ex.Message + ex.InnerException.InnerException.Message; returnModel.SequenceId = MSG.OMSG.SequenceID; return(returnModel); } }
public async Task <MSGReturnModels> AddMessage(MSGBindingModels MSG) { var returnModel = new MSGReturnModels(); string errMsgCheckData = string.Empty; //errMsgCheckData=""表示数据无异常,否则表示数据校验错误 try { userid = HttpContext.Current.User.Identity.GetUserId(); var systemCode = UserManager.FindById(userid).SystemCode; var oMSG = MSG.OMSG; var MSG1 = MSG.MSG1; //数据初步验证 var objectType = string.Empty; var transType = string.Empty; objectType = oMSG.ObjectType; transType = oMSG.TransType; if (systemCode.ToUpper() == "SAP") { #region SAP接收 switch (objectType.ToUpper()) { case "ITEMS": //SAP发起 //商品信息同步数据校验 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.ItemsDataCheck(transType, MSG1.Content); break; case "UDAOREW": //SAP发起 //发货区域 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOREWDataCheck(transType, MSG1.Content); break; case "WAREHOUSES": //SAP发起 //仓库主数据 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.WareshousesDataCheck(transType, MSG1.Content); break; case "UDAOITC": //SAP发起 //物料分类主数据 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOITCDataCheck(transType, MSG1.Content); break; case "OITT": //SAP发起 //加工BOM errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOITCDataCheck(transType, MSG1.Content); break; case "UDAOLIF": //SAP发起 //线路主数据 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOLIFDataCheck(transType, MSG1.Content); break; case "UDSORDER_P": //SAP发起 //订单已分拣状态数据提交 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDER_PDataCheck(transType, MSG1.Content); break; case "UDIOOSO": //SAP发起 //订单发货送态 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDIOOSODataCheck(transType, MSG1.Content); break; case "UORDNL": //SAP发起 //退货入库 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORDNLDataCheck(transType, MSG1.Content); break; case "UORCT": //SAP发起 //收款信息 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORCTDataCheck(transType, MSG1.Content); break; default: break; } #endregion } else { #region SAP接收部分 switch (objectType.ToUpper()) { case "BusinessPartners": //SAP接收 //会员资料 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.BusinessPartnersDataCheck(transType, MSG1.Content); break; case "UDSORDR": //SAP接收 //订单同步 { if (transType.ToUpper() != "R") { //订单新增,修改,取消,删除,关闭 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDRDataCheck(transType, MSG1.Content); } else { //订单更改配送日期 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDER_RDataCheck(transType, MSG1.Content); } break; } case "UOINV": //SAP接收 //开票信息 //errMsgCheckData = Models.DataCheckSubmitBefore.UDSORDRDataCheck(transType, MSG1.Content); break; case "UORDNR": //SAP接收 //开票信息 errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content); break; case "UORCRR": //SAP接收 //退款请求 //errMsgCheckData = Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content); break; case "UORCTR": //SAP接收 //待收款请求列表 //errMsgCheckData = Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content); break; default: break; } #endregion } //如果同步数据校验错误,则抛出异常 if (!string.IsNullOrEmpty(errMsgCheckData)) { returnModel.ErrMSG = errMsgCheckData; returnModel.SequenceId = null; return(returnModel); } var sqlcmd = String.Format(" EXEC DBO.U_IF_GetAutoKey 10 "); var sequenceId = _db.Database.SqlQuery <int>(sqlcmd).First(); oMSG.SequenceID = sequenceId; oMSG.UpDateTime = DateTime.Now; MSG1.SequenceID = sequenceId; oMSG.FromSystem = systemCode; oMSG.Status = 0; _db.MSG1.Add(MSG1); _db.OMSG.Add(oMSG); _db.SaveChanges(); returnModel.ErrMSG = ""; returnModel.SequenceId = sequenceId; return(returnModel); } catch (Exception ex) { Logger.Writer("AddMessage:\r\n" + ex.Message); throw new MyHttpException("AddMessage:", ex); //returnModel.ErrMSG = ex.Message + ex.InnerException.InnerException.Message; //returnModel.SequenceId = null; //return returnModel; } }