public OM_SalesOrderDataObject ToDTO() { OM_SalesOrderDataObject salesOrderDataObejct = new OM_SalesOrderDataObject() { DocEntry = this.DocEntry, Guid = this.Guid, DocDate = this.DocDate, DocDueDate = this.DocDueDate, DocStatus = this.DocStatus, CardCode = this.CardCode, CardName = this.CardName, NumCard = this.NumCard, TPLCompany = this.TPLCompany, TPLContact = this.TPLContact, TPLOrder = this.TPLOrder, TPLPhone = this.TPLPhone, NoteNotice = this.NoteNotice, Remarks = this.Remarks, User_Guid = this.User_Guid }; return salesOrderDataObejct; }
public void UpdateSalesOrder(string cipher, OM_SalesOrderDataObject obj) { orderManger.UpdateSalesOrder(obj); var user = userManager.GetUser(s => s.Guid == cipher); var order = orderManger.GetSalesOrder(s => s.Guid == obj.Guid); var log = new OM_Log { CreateDatetime = DateTime.Now, Doc_View = "Order/UpdateStatus", Guid = Guid.NewGuid().ToString(), Operation = "修改草稿", User_Guid = user.Guid, Message = string.Format("用户[{0}] : '{1}' 修改草稿【{2}】.", user.Name, DateTime.Now, order.DocEntry) }; logManager.WriteLog(log); }
public string SaveSalesOrder(string cipher, OM_SalesOrderDataObject obj) { var result = orderManger.SaveSalesOrder(obj); if (!result) throw new GenericException("保存草稿失败。"); var user = userManager.GetUser(s => s.Guid == cipher); var order = orderManger.GetSalesOrder(s => s.Guid == obj.Guid); var log = new OM_Log { CreateDatetime = DateTime.Now, Doc_View = "Order/UpdateStatus", Guid = Guid.NewGuid().ToString(), Operation = "保存草稿", User_Guid = user.Guid, Message = string.Format("用户[{0}] : '{1}' 保存草稿【{2}】.", user.Name, DateTime.Now, order.DocEntry) }; logManager.WriteLog(log); return order.DocEntry.ToString(); }
public bool SaveSalesOrderDraftToJFZ(OM_SalesOrderDataObject salesOrder, OM_B1InfomationDTO b1Informaion) { if (!this.JFZConnect()) { return false; } SAPbobsCOM.Recordset oRs = jFZCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oRs.DoQuery(string.Format("select * from ODRF where ObjType='17' and Address2='{0}'", salesOrder.Guid)); if (oRs.RecordCount > 0) { b1Informaion.JFZCode = 200; b1Informaion.JFZStatus = OMDocStatus.Commit; b1Informaion.JFZMessage = string.Format("This order hac commit to SAP"); LogHelper.Info(string.Format("JFZCompnay Document has exist, and the DocEntry={0},DocNum={1}", oRs.Fields.Item("DocEntry").Value, oRs.Fields.Item("DocNum").Value)); return true; } oRs.DoQuery(string.Format("select top 1 CardCode from OCRD where CardName='{0}'", salesOrder.CardName.Trim())); if (oRs.RecordCount > 0) { SAPbobsCOM.Documents oSaleOrder = JFZCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); try { oSaleOrder.Address = salesOrder.Guid; oSaleOrder.CardCode = oRs.Fields.Item("CardCode").Value; oSaleOrder.CardName = salesOrder.CardName; oSaleOrder.Comments = "营销远程平台对接生成"; if (salesOrder.DocDate == null) { oSaleOrder.DocDate = DateTime.Now; } else if (salesOrder.DocDueDate == null) { oSaleOrder.DocDueDate = DateTime.Now; } else { oSaleOrder.DocDate = (DateTime)salesOrder.DocDate; oSaleOrder.DocDueDate = (DateTime)salesOrder.DocDueDate; } oSaleOrder.DocObjectCode = SAPbobsCOM.BoObjectTypes.oOrders; foreach (var item in salesOrder.SalesOrderLine) { oSaleOrder.Lines.ItemCode = item.ItemCode; oSaleOrder.Lines.ItemDescription = item.ItemName; oSaleOrder.Lines.Quantity = Convert.ToDouble(item.Quantity); oSaleOrder.Lines.Price = Convert.ToDouble(item.InnerPrice); oSaleOrder.Lines.Add(); //LogHelper.Info(string.Format("the OsaleOrderLine Detail ItemCode={0},ItemName={1},Quantity={2},Price={3}", item.ItemCode.ToString(), item.ItemName, item.Quantity, item.Price)); } //LogHelper.Info(string.Format("the OsaleOrder Detail CardeCode={0},CardName={1},DocDate={2},DocDueDate={3}", oSaleOrder.CardCode.ToString(), oSaleOrder.CardName, oSaleOrder.DocDate.ToString("yyyyMMdd"), oSaleOrder.DocDueDate.ToString("yyyyMMdd"))); if (oSaleOrder.Add() == 0) { b1Informaion.JFZCode = 200; b1Informaion.JFZStatus = OMDocStatus.Commit; b1Informaion.JFZMessage = string.Format("金方子:{0},订单号:{1}对接成功", salesOrder.CardCode, salesOrder.DocEntry); LogHelper.Info(string.Format("金方子:{0},订单号:{1}对接成功", salesOrder.CardCode, salesOrder.DocEntry)); return true; } b1Informaion.JFZCode = -1; b1Informaion.JFZStatus = OMDocStatus.Unchange; b1Informaion.JFZMessage = string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", JFZCompany.GetLastErrorCode().ToString(), JFZCompany.GetLastErrorDescription()); LogHelper.Error(string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", JFZCompany.GetLastErrorCode().ToString(), JFZCompany.GetLastErrorDescription())); return false; } catch (Exception ex) { b1Informaion.JFZCode = -1; b1Informaion.JFZStatus = OMDocStatus.Unchange; b1Informaion.JFZMessage = string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", JFZCompany.GetLastErrorCode().ToString(), JFZCompany.GetLastErrorDescription()); LogHelper.Error(string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", JFZCompany.GetLastErrorCode().ToString(), JFZCompany.GetLastErrorDescription())); return false; } finally { JFZDisConnect(); } } else { LogHelper.Error("金方子客户代码为空"); throw new GenericException("金方子客户代码为空"); } }
public bool SaveSalesOrderDraft(OM_SalesOrderDataObject salesOrder, OM_B1InfomationDTO b1Informaion) { if (!this.Connect()) { return false; } SAPbobsCOM.Recordset oRs = CurrentCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); LogHelper.Info(string.Format("GSCompany via script is: select * from ODRF where ObjType='17' and Address2='{0}'", salesOrder.Guid)); oRs.DoQuery(string.Format("select * from ODRF where ObjType='17' and Address2='{0}'", salesOrder.Guid)); if (oRs.RecordCount > 0) { b1Informaion.GSCode = 200; b1Informaion.GSStatus = OMDocStatus.Commit; b1Informaion.JFZMessage = string.Format("This Order-{0}-{1} has commit to SAP", salesOrder.Guid, oRs.Fields.Item("DocEntry").Value); LogHelper.Info(string.Format("JFZCompnay Document has exist, and the DocEntry={0},DocNum={1}", oRs.Fields.Item("DocEntry").Value, oRs.Fields.Item("DocNum").Value)); return true; } SAPbobsCOM.Documents oSaleOrder = CurrentCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); try { oSaleOrder.Address2 = salesOrder.Guid; oSaleOrder.CardCode = salesOrder.CardCode; oSaleOrder.CardName = salesOrder.CardName; oSaleOrder.Comments = "营销远程平台对接生成"; if (salesOrder.DocDate == null) { oSaleOrder.DocDate = DateTime.Now; oSaleOrder.DocDueDate = DateTime.Now; } else if (salesOrder.DocDueDate == null) { oSaleOrder.DocDueDate = DateTime.Now; } else { oSaleOrder.DocDate = (DateTime)salesOrder.DocDate; oSaleOrder.DocDueDate = (DateTime)salesOrder.DocDueDate; } oSaleOrder.DocObjectCode = SAPbobsCOM.BoObjectTypes.oOrders; foreach (var item in salesOrder.SalesOrderLine) { oSaleOrder.Lines.ItemCode = item.ItemCode; oSaleOrder.Lines.ItemDescription = item.ItemName; oSaleOrder.Lines.Quantity = Convert.ToDouble(item.Quantity); oSaleOrder.Lines.Price = Convert.ToDouble(item.InnerPrice); oSaleOrder.Lines.Add(); } if (oSaleOrder.Add() == 0) { b1Informaion.GSCode = 200; b1Informaion.GSStatus = OMDocStatus.Commit; b1Informaion.GSMessage = (string.Format("高山药业:{0},订单号:{1}对接成功,update ", salesOrder.CardCode, salesOrder.DocEntry)); LogHelper.Info(string.Format("高山药业:{0},订单号:{1}对接成功,update ", salesOrder.CardCode, salesOrder.DocEntry)); return true; } b1Informaion.GSCode = -1; b1Informaion.GSStatus = OMDocStatus.Unchange; b1Informaion.GSMessage = string.Format("GSSalseOrderAdd----Error Code:{0}----Error Descride:{1}", _Company.GetLastErrorCode().ToString(), _Company.GetLastErrorDescription()); LogHelper.Error(string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", _Company.GetLastErrorCode().ToString(), _Company.GetLastErrorDescription())); return false; } catch (Exception ex) { b1Informaion.GSCode = -1; b1Informaion.GSStatus = OMDocStatus.Unchange; b1Informaion.GSMessage = string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", _Company.GetLastErrorCode().ToString(), _Company.GetLastErrorDescription()); LogHelper.Error(string.Format("SalseOrderAdd----Error Code:{0}----Error Descride:{1}", _Company.GetLastErrorCode().ToString(), _Company.GetLastErrorDescription())); return false; } finally { DisConnect(); } }