private object GetEditObject() { if (this.ValidateInput()) { MaterialReceive materialReceive = this._IQCFacade.CreateNewMaterialReceive(); materialReceive.IQCNo = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(txtIQCNoEdit.Text)); materialReceive.STLine = int.Parse(txtIQCLineEdit.Text); materialReceive.OrderNo = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(txtPurchaseOrderNoEdit.Text)); materialReceive.OrderLine = int.Parse(txtPurchaseOrderLineEdit.Text); materialReceive.StorageID = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(txtStorageIDEdit.Text)); materialReceive.RealReceiveQty = int.Parse(txtRealReceiveQtyEdit.Text); materialReceive.ReceiveMemo = txtReceiveMemoEdit.Text; materialReceive.AccountDate = FormatHelper.TODateInt(datAccountDateEdit.Text); materialReceive.VoucherDate = FormatHelper.TODateInt(datVoucherDateEdit.Text); IQCDetail iqcDetail = (IQCDetail)this._IQCFacade.GetIQCDetail(materialReceive.IQCNo, materialReceive.STLine); if (iqcDetail != null) { materialReceive.STNo = iqcDetail.STNo; materialReceive.OrganizationID = iqcDetail.OrganizationID; materialReceive.ItemCode = iqcDetail.ItemCode; materialReceive.Unit = iqcDetail.Unit; } return(materialReceive); } else { return(null); } }
public static DT_MES_SOURCESTOCK_REQLIST GenerateSAPPOInfo(MaterialReceive mr) { DT_MES_SOURCESTOCK_REQLIST po = new DT_MES_SOURCESTOCK_REQLIST(); po.PSTNG_DATE = mr.AccountDate.ToString(); po.DOC_DATE = mr.VoucherDate.ToString(); po.PO_NUMBER = mr.OrderNo.ToString(); po.PO_ITEM = mr.OrderLine.ToString(); po.MATERIAL = mr.ItemCode; po.PLANT = mr.OrganizationID.ToString(); po.STGE_LOC = mr.StorageID; po.ENTRY_QNT = mr.RealReceiveQty.ToString(); po.ENTRY_UOM = mr.Unit; po.HEADER_TXT = mr.ReceiveMemo; po.MOVE_TYPE = "101"; return(po); }
private object GetEditObject(Infragistics.WebUI.UltraWebGrid.UltraGridRow row) { object obj = this._IQCFacade.GetMaterialReceive(row.Cells.FromKey("IQCNo").Text, int.Parse(row.Cells.FromKey("ASNLine").Text)); if (obj == null) { obj = this._IQCFacade.GetIQCDetail(row.Cells.FromKey("IQCNo").Text, int.Parse(row.Cells.FromKey("ASNLine").Text)); if (obj != null) { MaterialReceive materialReceive = this._IQCFacade.CreateNewMaterialReceive(); materialReceive.IQCNo = ((IQCDetail)obj).IQCNo; materialReceive.STLine = ((IQCDetail)obj).STLine; materialReceive.OrderNo = ((IQCDetail)obj).OrderNo; materialReceive.OrderLine = ((IQCDetail)obj).OrderLine; materialReceive.StorageID = ((IQCDetail)obj).StorageID; materialReceive.RealReceiveQty = int.Parse(GetReceiveQty(((IQCDetail)obj).IQCNo, ((IQCDetail)obj).STLine).ToString("0")); materialReceive.ReceiveMemo = string.Empty; materialReceive.AccountDate = FormatHelper.TODateInt(DateTime.Now); materialReceive.VoucherDate = FormatHelper.TODateInt(DateTime.Now); IQCDetail iqcDetail = (IQCDetail)this._IQCFacade.GetIQCDetail(materialReceive.IQCNo, materialReceive.STLine); if (iqcDetail != null) { materialReceive.STNo = iqcDetail.STNo; materialReceive.OrganizationID = iqcDetail.OrganizationID; materialReceive.ItemCode = iqcDetail.ItemCode; materialReceive.Unit = iqcDetail.Unit; } obj = materialReceive; } } if (obj != null) { return((MaterialReceive)obj); } return(null); }
protected void cmdIQCReceive_ServerClick(object sender, System.EventArgs e) { MaterialReceive materialReceive = (MaterialReceive)this.GetEditObject(); if (materialReceive != null) { string returnMessage = string.Empty; if (IQCReceive(materialReceive, ref returnMessage)) { this.gridHelper.GridBind(this.pagerToolBar.PageIndex, this.pagerToolBar.PageSize); this.RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Save); WebInfoPublish.PublishInfo(this, "$Message_IQCReceiveOK", languageComponent1); } else { WebInfoPublish.Publish(this, "$Message_IQCReceiveFailed" + " : " + returnMessage, languageComponent1); } } }
public bool ArgumentValid(ref string returnMessage) { if (m_Argument.IQCNo == null || m_Argument.IQCNo.Trim().Length <= 0) { returnMessage = "IQC单号不能为空"; return(false); } IQCFacade iqcFacade = new IQCFacade(this.DataProvider); MaterialReceive materialReceive = (MaterialReceive)iqcFacade.GetMaterialReceive(m_Argument.IQCNo, m_Argument.STLine); if (materialReceive == null) { returnMessage = "MaterialReceive数据不存在"; return(false); } else if (materialReceive.Flag != FlagStatus.FlagStatus_MES) { returnMessage = "MaterialReceive.Flag不为MES"; return(false); } return(true); }
private bool IQCReceive(MaterialReceive materialReceive, ref string returnMessage) { bool returnValue = false; if (materialReceive != null) { bool checkPassed = true; if (this._IQCFacade.IsFromASN(materialReceive.STNo)) { ASN asn = (ASN)this._IQCFacade.GetASN(materialReceive.STNo); //asn单为Release不能接受 if (asn == null || (asn.STStatus != IQCStatus.IQCStatus_WaitCheck && asn.STStatus != IQCStatus.IQCStatus_Close)) { checkPassed = false; } } if (checkPassed) { materialReceive.Flag = FlagStatus.FlagStatus_MES; materialReceive.MaintainUser = this.GetUserCode(); returnValue = this._IQCFacade.IQCReceiveMaterial((MaterialReceive)materialReceive); } else { returnMessage = "$Message_ASNIsNotWaitCheckOrCancel"; } } if (returnValue) { returnMessage = string.Empty; } return(returnValue); }
private ServiceResult RunOne(SAPWebServiceEntity webServiceEntity, MaterialReceive materialReceive, DT_MES_SOURCESTOCK_REQ materialPOParameter) { IQCFacade iqcFacade = new IQCFacade(this.DataProvider); string xmlFilePath = SerializeUtil.SerializeFile(this.m_Argument.TransactionCode + "_Request.xml", typeof(DT_MES_SOURCESTOCK_REQ), materialPOParameter); #region TransferLog DBDateTime dateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); SAPDataTransferLog materialPOLog = new SAPDataTransferLog(); TransferFacade transferFacade = new TransferFacade(this.DataProvider); materialPOLog.JobID = TransferFacade.MaterialPOJobID; materialPOLog.TransactionCode = this.m_Argument.TransactionCode; materialPOLog.TransactionSequence = 1; materialPOLog.RequestDate = dateTime.DBDate; materialPOLog.RequestTime = dateTime.DBTime; materialPOLog.RequestContent = xmlFilePath; materialPOLog.OrganizationID = 2000; materialPOLog.SendRecordCount = 1; transferFacade.AddSAPDataTransferLog(materialPOLog); #endregion #region Begin for Calling WebService try { MaterialPOServiceClientProxy clientProxy = new MaterialPOServiceClientProxy(); clientProxy.RequestEncoding = Encoding.UTF8; clientProxy.Timeout = InternalVariables.MS_TimeOut * 1000; clientProxy.Url = webServiceEntity.Url; clientProxy.PreAuthenticate = true; System.Uri uri = new Uri(clientProxy.Url); clientProxy.Credentials = new NetworkCredential(webServiceEntity.UserName, webServiceEntity.Password).GetCredential(uri, ""); clientProxy.MI_MES_SOURCESTOCK_REQ(materialPOParameter); clientProxy.Dispose(); clientProxy = null; } catch (Exception e) { materialPOLog.Result = "Fail"; materialPOLog.ErrorMessage = e.Message; transferFacade.UpdateSAPDataTransferLog(materialPOLog); return(new ServiceResult(false, e.Message, materialPOLog.TransactionCode)); } #endregion #region UPDATE tblmaterialreceive try { this.DataProvider.BeginTransaction(); foreach (DT_MES_SOURCESTOCK_REQLIST post in materialPOParameter.LIST) { materialReceive = (MaterialReceive)iqcFacade.GetMaterialReceive(materialReceive.IQCNo, materialReceive.STLine); if (materialReceive != null) { materialReceive.Flag = FlagStatus.FlagStatus_POST; materialReceive.TransactionCode = this.m_Argument.TransactionCode; iqcFacade.UpdateMaterialReceive(materialReceive); } } this.DataProvider.CommitTransaction(); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); return(new ServiceResult(false, ex.Message, this.m_Argument.TransactionCode)); } #endregion return(new ServiceResult(true, "", this.m_Argument.TransactionCode)); }
public ServiceResult Run(RunMethod runMethod) { ServiceResult returnValue = null; SAPWebServiceEntity webServiceEntity = System.Configuration.ConfigurationManager.GetSection("MaterialPOTransferConfig") as SAPWebServiceEntity; if (webServiceEntity == null) { if (System.Configuration.ConfigurationManager.AppSettings["MPOWebServiceUrl"] != null && System.Configuration.ConfigurationManager.AppSettings["MPOWebServiceUserName"] != null && System.Configuration.ConfigurationManager.AppSettings["MPOWebServicePassword"] != null) { webServiceEntity = new SAPWebServiceEntity(); webServiceEntity.Url = System.Configuration.ConfigurationManager.AppSettings["MPOWebServiceUrl"]; webServiceEntity.UserName = System.Configuration.ConfigurationManager.AppSettings["MPOWebServiceUserName"]; webServiceEntity.Password = System.Configuration.ConfigurationManager.AppSettings["MPOWebServicePassword"]; } else { return(new ServiceResult(false, "没有维护MaterialPOTransfer对应的Service地址", this.m_Argument.TransactionCode)); } } #region Begin for Prepare input Paremeter IQCFacade iqcFacade = new IQCFacade(this.DataProvider); object[] materialReceiveList = null; if (runMethod == RunMethod.Auto) { materialReceiveList = iqcFacade.QueryMaterialReceiveNotConfirmed(100); } else if (runMethod == RunMethod.Manually) { MaterialReceive materialReceive = (MaterialReceive)iqcFacade.GetMaterialReceive(m_Argument.IQCNo, m_Argument.STLine); if (materialReceive != null && materialReceive.Flag == FlagStatus.FlagStatus_MES) { materialReceiveList = new MaterialReceive[] { materialReceive }; } } #endregion if (materialReceiveList != null) { List <DT_MES_SOURCESTOCK_REQLIST> inventoryList = new List <DT_MES_SOURCESTOCK_REQLIST>(); foreach (MaterialReceive materialReceive in materialReceiveList) { System.Threading.Thread.Sleep(500); this.NewTransactionCode(); inventoryList.Clear(); DT_MES_SOURCESTOCK_REQLIST post = new DT_MES_SOURCESTOCK_REQLIST(); post.PSTNG_DATE = materialReceive.AccountDate.ToString(); post.DOC_DATE = materialReceive.VoucherDate.ToString(); post.PO_NUMBER = materialReceive.OrderNo; post.PO_ITEM = materialReceive.OrderLine.ToString(); post.MATERIAL = materialReceive.ItemCode; post.PLANT = materialReceive.OrganizationID.ToString(); post.STGE_LOC = materialReceive.StorageID; post.ENTRY_QNT = materialReceive.RealReceiveQty.ToString(); post.ENTRY_UOM = materialReceive.Unit; post.HEADER_TXT = materialReceive.ReceiveMemo; post.MOVE_TYPE = "101"; inventoryList.Add(post); DT_MES_SOURCESTOCK_REQ materialPOParameter = new DT_MES_SOURCESTOCK_REQ(); materialPOParameter.TRANSCODE = this.m_Argument.TransactionCode; materialPOParameter.LIST = inventoryList.ToArray(); returnValue = RunOne(webServiceEntity, materialReceive, materialPOParameter); if (!returnValue.Result) { break; } } } if (returnValue == null) { returnValue = new ServiceResult(true, "", this.m_Argument.TransactionCode); } return(returnValue); }
protected void cmdIQCReceiveBatch_ServerClick(object sender, System.EventArgs e) { ArrayList array = this.gridHelper.GetCheckedRows(); if (array.Count > 0) { ArrayList items = new ArrayList(); ArrayList itemsFailed = new ArrayList(); foreach (UltraGridRow row in array) { MaterialReceive materialReceive = (MaterialReceive)this.GetEditObject(row); //检查入库库别(页面上输入的是tblstorage.sapstorage) string sapStorage = materialReceive.StorageID.Trim().ToUpper(); object[] storageList = this.InvFacade.QueryStorageByOrgId(materialReceive.OrganizationID, sapStorage); if (storageList == null) { //WebInfoPublish.Publish(this, "$INVALID_STORGE" + " " + "$PageControl_IQCNo" + ":" + materialReceive.IQCNo , languageComponent1); WebInfoPublish.Publish(this, string.Format("$INVALID_STORGE $PageControl_IQCNo:{0} $STLINE:{1}", materialReceive.IQCNo, materialReceive.STLine), languageComponent1); return; } string returnMessage = string.Empty; if (IQCReceive(materialReceive, ref returnMessage)) { items.Add(materialReceive); } else { itemsFailed.Add(materialReceive); materialReceive.ReceiveMemo = languageComponent1.GetString(returnMessage); } } this.gridHelper.GridBind(this.pagerToolBar.PageIndex, this.pagerToolBar.PageSize); this.RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Query); string message = string.Empty; if (items != null && items.Count > 0) { message += "$Message_IQCReceiveOK" + " : \n"; foreach (MaterialReceive item in items) { message += item.IQCNo + "," + item.STLine + "\n"; } } if (itemsFailed != null && itemsFailed.Count > 0) { if (message.Trim().Length > 0) { message += "\n"; } message += "$Message_IQCReceiveFailed" + " : \n"; foreach (MaterialReceive item in itemsFailed) { message += item.IQCNo + "," + item.STLine + ": " + item.ReceiveMemo + "\n"; } } if (message.Trim().Length > 0) { WebInfoPublish.PublishInfo(this, message, languageComponent1); } } }