protected void Page_Load(object sender, System.EventArgs e) { this.InitOnPostBack(); if (!IsPostBack) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); // 初始化界面UI this.InitUI(); this.InitButtonHelp(); this.SetEditObject(null); this.InitWebGrid(); // 初始化控件 this.BuildOrgList(this.drpOrgEdit); this.BuildOrgList(this.drpOrgQuery); this.chkActiveQuery.Checked = true; } _IQCFacade = new IQCFacade(base.DataProvider); this.SetButtonsForActive(this.chkActiveQuery.Checked); }
protected override object GetEditObject(GridRecord row) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } string ReceiptNo = this.txtReceiveNoQuery.Text; int ReceiptLine = int.Parse(row.Items.FindItemByKey("ReceiptLine").Value.ToString()); object obj = _iqcfacade.GetInvReceiptDetailForUpdate(ReceiptNo, ReceiptLine); if (((InvReceiptDetail)obj).Recstatus == "CLOSE" || ((InvReceiptDetail)obj).Recstatus == "WAITCHECK") { WebInfoPublish.Publish(this, "$BS_TicketStatus_CannotUpdate", this.languageComponent1); return(null); } object objAsn = _iqcfacade.GetASN(ReceiptNo); if (objAsn != null) { WebInfoPublish.Publish(this, "$BS_ReNo_Create_ANSNO $InvReceiptNO:" + this.txtReceiveNoQuery.Text, this.languageComponent1); return(null); } return(obj); }
protected override bool ValidateInput() { PageCheckManager manager = new PageCheckManager(); manager.Add(new LengthCheck(this.lblOrderNoEd, this.txtOrderNoEdit, 40, true)); manager.Add(new NumberCheck(this.lblReceiveLineEdit, this.txtReceiveLineEdit, Int32.MinValue, Int32.MaxValue, true)); manager.Add(new DecimalCheck(this.lblPlanQtyEdit, txtPlanQtyEdit, decimal.MinValue, decimal.MaxValue, true)); manager.Add(new NumberCheck(this.lblOrderLineEdit, txtOrderLineEdit, Int32.MinValue, Int32.MaxValue, true)); manager.Add(new LengthCheck(this.lblMaterialCodeEdit, this.txtMaterialCodeEdit, 40, true)); if (!manager.Check()) { WebInfoPublish.Publish(this, manager.CheckMessage, this.languageComponent1); return(false); } if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } object objAsn = _iqcfacade.GetASN(this.txtReceiveNoQuery.Text); if (objAsn != null) { WebInfoPublish.Publish(this, "$BS_ReNo_Create_ANSNO $InvReceiptNO:" + this.txtReceiveNoQuery.Text, this.languageComponent1); return(false); } return(true); }
protected override void AddDomainObject(object domainObject) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } //新增前唯一性检查 int count = this._iqcfacade.GetINVReceiptRepeateCount(FormatHelper.CleanString(this.txtReceiveNoEdit.Text.Trim()), OrgId); if (count > 0) { WebInfoPublish.Publish(this, "$BS_ALREADY_INVReceipt", this.languageComponent1); return; } DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); ((Domain.IQC.InvReceipt)domainObject).Recstatus = "NEW"; ((Domain.IQC.InvReceipt)domainObject).Createdate = dbDateTime.DBDate; ((Domain.IQC.InvReceipt)domainObject).Createtime = dbDateTime.DBTime; ((Domain.IQC.InvReceipt)domainObject).Createuser = this.GetUserCode(); ((Domain.IQC.InvReceipt)domainObject).Mdate = dbDateTime.DBDate; ((Domain.IQC.InvReceipt)domainObject).Mtime = dbDateTime.DBTime; ((Domain.IQC.InvReceipt)domainObject).Muser = this.GetUserCode(); ((Domain.IQC.InvReceipt)domainObject).IsAllInStorage = "N"; this._iqcfacade.AddInvReceipt((Domain.IQC.InvReceipt)domainObject); }
protected override void DeleteDomainObjects(ArrayList domainObjects) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } foreach (Domain.IQC.InvReceipt invreceipt in (Domain.IQC.InvReceipt[])domainObjects.ToArray(typeof(Domain.IQC.InvReceipt))) { if (invreceipt.Recstatus.ToUpper() != "NEW") { WebInfoPublish.Publish(this, "$BS_TicketStatus_Error", this.languageComponent1); return; } object obj = _iqcfacade.GetASN(invreceipt.Receiptno); if (obj != null) { WebInfoPublish.Publish(this, "$BS_ReNo_Create_ANSNO $InvReceiptNO:" + invreceipt.Receiptno, this.languageComponent1); return; } //删除字表 object[] objs = this._iqcfacade.QueryINVReceiptDetail2ReceiptNo(invreceipt.Receiptno); if (objs != null) { foreach (Domain.IQC.InvReceiptDetail invreceiptdetail in objs) { this._iqcfacade.DeleteInvReceiptDetail(invreceiptdetail); } } } this._iqcfacade.DeleteInvReceipt((Domain.IQC.InvReceipt[])domainObjects.ToArray(typeof(Domain.IQC.InvReceipt))); }
//检查ASN明细所有行状态为Cancel /// <summary> /// 检查ASN明细所有行状态为Cancel /// </summary> /// <param name="iqcNo">IQC检验单号</param> /// <returns>全部是Cancel:true;否则:false</returns> private bool CheckAllASNDetailIsCancel(string iqcNo) { if (_IQCFacade == null) { _IQCFacade = new IQCFacade(base.DataProvider); } _InventoryFacade = new InventoryFacade(base.DataProvider); AsnIQC asnIqc = (AsnIQC)_IQCFacade.GetAsnIQC(iqcNo); if (asnIqc != null) { object[] objAsnDetail = _InventoryFacade.GetASNDetailByStNo(asnIqc.StNo); if (objAsnDetail != null) { foreach (ASNDetail asnDetail in objAsnDetail) { if (asnDetail.Status != ASNLineStatus.Cancel) { return(false); } } } } return(true); }
//Grid中点击按钮 protected override void Grid_ClickCell(GridRecord row, string commandName) { if (_IQCFacade == null) { _IQCFacade = new IQCFacade(base.DataProvider); } if (commandName == "btnInspect") { string iqcNo = row.Items.FindItemByKey("IQCNo").Text.Trim(); AsnIQC iqc = (AsnIQC)_IQCFacade.GetAsnIQC(iqcNo); if (iqc.Status == IQCStatus.IQCStatus_Cancel) { WebInfoPublish.Publish(this, "IQC检验单已取消!", this.languageComponent1); return; } else if (iqc.Status == IQCStatus.IQCStatus_Release) { //更新检验单状态为WaitCheck AsnIQC asnIqc = (AsnIQC)_IQCFacade.GetAsnIQC(iqcNo); asnIqc.Status = IQCStatus.IQCStatus_WaitCheck; _IQCFacade.UpdateAsnIQC(asnIqc); } Response.Redirect(this.MakeRedirectUrl("FIQCCheckResultMP.aspx", new string[] { "IQCNo" }, new string[] { iqcNo })); } }
protected void Page_Load(object sender, EventArgs e) { _IQCFacade = new IQCFacade(this.DataProvider); InitOnPostBack(); if (!IsPostBack) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); // 初始化界面UI this.InitUI(); InitButtonHelp(); SetEditObject(null); this.InitWebGrid(); this.txtIQCNo.Enabled = false; this.InitParameters(); if (this.txtIQCNo.Text.Trim() != string.Empty) { RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Query); } } }
//免检 protected void cmdStatusSTS_ServerClick(object sender, EventArgs e) { if (_IQCFacade == null) { _IQCFacade = new IQCFacade(base.DataProvider); } ArrayList array = this.gridHelper.GetCheckedRows(); _InventoryFacade = new InventoryFacade(base.DataProvider); if (array.Count > 0) { StringBuilder sbShowMsg = new StringBuilder(); foreach (GridRecord row in array) { string iqcNo = row.Items.FindItemByKey("IQCNo").Value.ToString(); AsnIQC iqc = (AsnIQC)_IQCFacade.GetAsnIQC(iqcNo); if (iqc.Status != IQCStatus.IQCStatus_Release) { //IQC检验单号: {0} 状态不是初始化 sbShowMsg.AppendFormat("IQC检验单号: {0} 状态不是初始化,不能免检 ", iqcNo); continue; } ASN asn1 = (ASN)_InventoryFacade.GetASN(iqc.StNo); if (asn1.Status != ASN_STATUS.ASN_IQC) { WebInfoPublish.Publish(this, asn1.StNo + "入库指令的状态必须是IQC检验!", this.languageComponent1); return; } //免检 try { this.DataProvider.BeginTransaction(); ToSTS(iqcNo); this.DataProvider.CommitTransaction(); } catch (Exception ex) { sbShowMsg.AppendFormat("IQC检验单号: {0} {1}", iqcNo, ex.Message); this.DataProvider.RollbackTransaction(); continue; } } if (sbShowMsg.Length > 0) { string showMsg = sbShowMsg.ToString(); WebInfoPublish.Publish(this, showMsg, this.languageComponent1); } else { WebInfoPublish.Publish(this, "免检成功", this.languageComponent1); } this.gridHelper.RequestData();//刷新页面 } }
protected override object[] LoadDataSource(int inclusive, int exclusive) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } return(this._iqcfacade.GetInvReceiptDetailForQuery( FormatHelper.CleanString(this.txtReceiveNoQuery.Text), OrgId, inclusive, exclusive)); }
protected override int GetRowCount() { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } return(this._iqcfacade.GetInvReceiptDetailCount( FormatHelper.CleanString(this.txtReceiveNoQuery.Text), OrgId)); }
protected override void UpdateDomainObject(object domainObject) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); ((InvReceiptDetail)domainObject).Mdate = dbDateTime.DBDate; ((InvReceiptDetail)domainObject).Mtime = dbDateTime.DBTime; ((InvReceiptDetail)domainObject).Muser = this.GetUserCode(); this._iqcfacade.UpdateInvReceiptDetail((InvReceiptDetail)domainObject); }
private object GetUpdateObject() { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } string ReceiptNo = FormatHelper.CleanString(this.txtReceiveNoQuery.Text); int ReceiptLine = 0; if (FormatHelper.CleanString(this.txtReceiveLineEdit.Text).Length > 0) { ReceiptLine = int.Parse(FormatHelper.CleanString(this.txtReceiveLineEdit.Text)); } object obj = this._iqcfacade.GetInvReceiptDetailForUpdate(ReceiptNo, ReceiptLine); InvReceiptDetail invreceiptdetail = (InvReceiptDetail)obj; if (invreceiptdetail == null) { invreceiptdetail = this._iqcfacade.CreateNewINVReceiptDetail(); invreceiptdetail.Receiptno = FormatHelper.CleanString(this.txtReceiveNoQuery.Text.ToUpper(), 40); invreceiptdetail.Receiptline = int.Parse(this.txtReceiveLineEdit.Text); invreceiptdetail.Itemcode = FormatHelper.CleanString(this.txtMaterialCodeEdit.Text, 40); invreceiptdetail.Orderline = int.Parse(this.txtOrderLineEdit.Text); invreceiptdetail.Orderno = FormatHelper.CleanString(this.txtOrderNoEdit.Text, 40); invreceiptdetail.Planqty = decimal.Parse(this.txtPlanQtyEdit.Text); invreceiptdetail.Memo = FormatHelper.CleanString(this.txtMemoEdit.Text, 2000); invreceiptdetail.InvUser = FormatHelper.CleanString(this.txtManagerCode.Text, 100);//added by Jarvis invreceiptdetail.Muser = this.GetUserCode(); invreceiptdetail.Recstatus = FormatHelper.CleanString(this.txtTicketStatus.Text, 2000); return(invreceiptdetail); } else { invreceiptdetail.Receiptno = FormatHelper.CleanString(this.txtReceiveNoQuery.Text.ToUpper(), 40); invreceiptdetail.Receiptline = int.Parse(this.txtReceiveLineEdit.Text); invreceiptdetail.Itemcode = FormatHelper.CleanString(this.txtMaterialCodeEdit.Text, 40); invreceiptdetail.Orderline = int.Parse(this.txtOrderLineEdit.Text); invreceiptdetail.Orderno = FormatHelper.CleanString(this.txtOrderNoEdit.Text, 40); invreceiptdetail.Planqty = decimal.Parse(this.txtPlanQtyEdit.Text); invreceiptdetail.Memo = FormatHelper.CleanString(this.txtMemoEdit.Text, 2000); invreceiptdetail.InvUser = FormatHelper.CleanString(this.txtManagerCode.Text, 100);//added by Jarvis invreceiptdetail.Muser = this.GetUserCode(); invreceiptdetail.Recstatus = FormatHelper.CleanString(this.txtTicketStatus.Text, 2000); return(invreceiptdetail); } }
protected override object[] LoadDataSource(int inclusive, int exclusive) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } return(this._iqcfacade.GetINVReceipt( FormatHelper.CleanString(this.txtReceiveNoQuery.Text), FormatHelper.CleanString(this.txtMaterialCodeQuery.Text), FormatHelper.CleanString(this.drpTicketTypeQuery.SelectedValue), FormatHelper.CleanString(this.txtVendorCodeQuery.Text), FormatHelper.TODateInt(this.dateCreateDateStart.Text), FormatHelper.TODateInt(this.dateCreateDateEnd.Text), FormatHelper.CleanString(this.drpTicketStatus.SelectedValue), FormatHelper.CleanString(this.txtStorageQuery.Text), OrgId, inclusive, exclusive)); }
protected override object GetEditObject() { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } string ReceiptNo = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtReceiveNoEdit.Text.ToUpper(), 40)); object obj = this._iqcfacade.GetINVRecepitForUpdate(ReceiptNo); Domain.IQC.InvReceipt invreceipt = (Domain.IQC.InvReceipt)obj; if (invreceipt == null) { invreceipt = this._iqcfacade.CreateNewInvReceipt(); invreceipt.Receiptno = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtReceiveNoEdit.Text.Trim().ToUpper(), 40)); invreceipt.Rectype = FormatHelper.CleanString(this.drpTicketTypeEdit.SelectedValue.Trim(), 40); invreceipt.Vendorcode = FormatHelper.CleanString(this.txtVendorCodeEdit.Text.Trim(), 40); if (invreceipt.Vendorcode == "") { invreceipt.Vendorcode = " "; } invreceipt.Storageid = FormatHelper.CleanString(this.txtStorageEdit.Text.Trim(), 40); invreceipt.Muser = this.GetUserCode(); invreceipt.Orgid = OrgId; invreceipt.Memo = FormatHelper.CleanString(this.txtDescription.Text.Trim(), 2000); invreceipt.Recstatus = FormatHelper.CleanString(this.txtTicketStatus.Text, 40); return(invreceipt); } else { invreceipt.Receiptno = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtReceiveNoEdit.Text.Trim().ToUpper(), 40)); invreceipt.Rectype = FormatHelper.CleanString(this.drpTicketTypeEdit.SelectedValue.Trim(), 40); invreceipt.Vendorcode = FormatHelper.CleanString(this.txtVendorCodeEdit.Text.Trim(), 40); if (invreceipt.Vendorcode == "") { invreceipt.Vendorcode = " "; } invreceipt.Storageid = FormatHelper.CleanString(this.txtStorageEdit.Text.Trim(), 40); invreceipt.Muser = this.GetUserCode(); invreceipt.Orgid = OrgId; invreceipt.Memo = FormatHelper.CleanString(this.txtDescription.Text.Trim(), 2000); invreceipt.Recstatus = FormatHelper.CleanString(this.txtTicketStatus.Text, 40); return(invreceipt); } }
protected override void AddDomainObject(object domainObject) { if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } //单据已经关闭的TBLINVReceipt. RECSTATUS不能新增行项目 string ReceiptNo = this.txtReceiveNoQuery.Text.Trim(); int ReceiptLine = int.Parse(this.txtReceiveLineEdit.Text.Trim()); object obj = _iqcfacade.GetINVRecepitForUpdate(ReceiptNo, OrgId); if (((InvReceipt)obj).Recstatus == "CLOSE") { WebInfoPublish.Publish(this, "$BS_TicketStatus_IsClose_CannotAdd", this.languageComponent1); return; } ((InvReceiptDetail)domainObject).Qualifyqty = 0; ((InvReceiptDetail)domainObject).Actqty = 0; ((InvReceiptDetail)domainObject).Iqcstatus = "NEW"; //新增前唯一性检查 int count = this._iqcfacade.GetInvReceiptDetailRepeatCount(ReceiptNo, ReceiptLine); if (count > 0) { WebInfoPublish.Publish(this, "$BS_ALREADY_INVReceipt", this.languageComponent1); return; } DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); ((InvReceiptDetail)domainObject).Recstatus = "NEW"; ((InvReceiptDetail)domainObject).Recdate = dbDateTime.DBDate; ((InvReceiptDetail)domainObject).Rectime = dbDateTime.DBTime; ((InvReceiptDetail)domainObject).Recuser = this.GetUserCode(); ((InvReceiptDetail)domainObject).Mdate = dbDateTime.DBDate; ((InvReceiptDetail)domainObject).Mtime = dbDateTime.DBTime; ((InvReceiptDetail)domainObject).Muser = this.GetUserCode(); ((InvReceiptDetail)domainObject).IsInStorage = "N"; this._iqcfacade.AddInvReceiptDetail((InvReceiptDetail)domainObject); }
protected override string[] FormatExportRecord(object obj) { _IQCFacade = new IQCFacade(base.DataProvider); string IQCNO = ((AsnIQCExt)obj).IqcNo; _InventoryFacade = new InventoryFacade(this.DataProvider); string desc = string.Empty; Domain.MOModel.Material m = (Domain.MOModel.Material)_InventoryFacade.GetMaterialByDQMCode(((AsnIQCExt)obj).DQMCode); if (m != null) { desc = m.MchlongDesc; } return(new string[] { ((AsnIQCExt)obj).IqcNo, ((AsnIQCExt)obj).StNo, this.GetInvInName(((AsnIQCExt)obj).StType), ((AsnIQCExt)obj).InvNo, ((AsnIQCExt)obj).STORAGECODE, ((AsnIQCExt)obj).DQMCode, desc, ((AsnIQCExt)obj).StType == "UB" ? ((AsnIQCExt)obj).CustmCode : ((AsnIQCExt)obj).VendorMCode, this.GetStatusName(((AsnIQCExt)obj).Status), FormatHelper.GetChName(((AsnIQCExt)obj).IqcType), ((AsnIQCExt)obj).QcStatus == "Y" ? "合格" : (((AsnIQCExt)obj).QcStatus == "N" ? "不合格" : ""), ((AsnIQCExt)obj).AppQty.ToString(), ((AsnIQCExt)obj).NgQty.ToString(), _IQCFacade.ReturnQtyTotalWithIQCNO(IQCNO).ToString(), _IQCFacade.ReformQtyTotalWithIQCNO(IQCNO).ToString(), _IQCFacade.GiveQtyTotalWithIQCNO(IQCNO).ToString(), _IQCFacade.AcceptQtyTotalWithIQCNO(IQCNO).ToString(), ((AsnIQCExt)obj).VendorCode, FormatHelper.ToDateString(((AsnIQCExt)obj).AppDate, "/") }); }
protected override int GetRowCount() { if (_IQCFacade == null) { _IQCFacade = new IQCFacade(base.DataProvider); } SystemSettingFacade systemSettingFacade = new SystemSettingFacade(this.DataProvider); UserFacade userFacade = new UserFacade(this.DataProvider); string[] usergroupList = userFacade.GetUserGroupCodeofUser1(GetUserCode()); return(this._IQCFacade.QueryAsnIQC1Count(usergroupList, FormatHelper.CleanString(this.drpStorageInASNQuery.SelectedValue), FormatHelper.CleanString(this.txtInvNoQuery.Text), this.drpStorageInTypeQuery.SelectedValue, FormatHelper.CleanString(this.txtIQCNoQuery.Text), FormatHelper.CleanString(this.drpIQCStatusQuery.SelectedValue), FormatHelper.TODateInt(this.txtAppCDateQuery.Text), FormatHelper.TODateInt(this.txtAppEDateQuery.Text), txtCartonCode.Text.ToUpper(), txtSNQuery.Text.ToUpper(), FormatHelper.CleanString(this.txtDQMCodeQuery.Text), FormatHelper.CleanString(this.txtCusMCodeQuery.Text), drpStorageQuery.SelectedValue)); }
protected override object GetEditObject(GridRecord row) { if (row.Items.FindItemByKey("TicketStatus").Value.ToString() == "关闭") { WebInfoPublish.Publish(this, "$BS_TicketStatus_IsClose", this.languageComponent1); return(null); } if (_iqcfacade == null) { _iqcfacade = new BenQGuru.eMES.IQC.IQCFacade(base.DataProvider); } object objASN = _iqcfacade.GetASN(row.Items.FindItemByKey("ReceiveNo").Value.ToString()); if (objASN != null) { WebInfoPublish.Publish(this, "$BS_ReNo_Create_ANSNO $InvReceiptNO:" + row.Items.FindItemByKey("ReceiveNo").Value.ToString(), this.languageComponent1); return(null); } //object[] objs = _iqcfacade.QueryINVReceiptDetail2ReceiptNo(row.Cells[1].Value.ToString()); //if (objs != null) //{ // WebInfoPublish.Publish(this, "$BS_ReNo_Create_Detail $InvReceiptNO:" + row.Cells[1].Value.ToString(), this.languageComponent1); // return null; //} object obj = this._iqcfacade.GetINVRecepitForUpdate(row.Items.FindItemByKey("ReceiveNo").Value.ToString(), OrgId); if (obj != null) { return((Domain.IQC.InvReceipt)obj); } return(null); }
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); }
protected void Page_Load(object sender, System.EventArgs e) { this.InitOnPostBack(); if (!IsPostBack) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); // 初始化界面UI this.InitUI(); this.InitButtonHelp(); this.SetEditObject(null); this.InitWebGrid(); // 初始化控件 this.drpROHSQuery_Load(); this.drpShipToStockQuery_Load(); this.datAccountDateEdit.Text = DateTime.Now.ToString("yyyy-MM-dd");; this.datVoucherDateEdit.Text = DateTime.Now.ToString("yyyy-MM-dd");; } _IQCFacade = new IQCFacadeFactory(base.DataProvider).CreateIQCFacade(); }
public void Receive(MATPO_REQ request) { ((SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = false; ((SQLDomainDataProvider)DataProvider).PersistBroker.OpenConnection(); try { TransferFacade transferFacade = new TransferFacade(this.DataProvider); SAPDataTransferLog log; DBDateTime currentDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); string xmlFilePath; if (request.TransactionCode == null || request.TransactionCode == string.Empty) { // New Log log = transferFacade.CreateNewSAPDataTransferLog(); //log.ErrorMessage //log.FinishedDate //log.FinishedTime log.JobID = TransferFacade.MaterialPOJobID; log.OrganizationID = 2000; log.ReceivedRecordCount = (request.POList == null || request.POList.Count == 0) ? 0 : request.POList.Count; log.TransactionCode = TransferFacade.MaterialPOJobID + "_" + currentDateTime.DBDate.ToString() + "_" + currentDateTime.DBTime.ToString() + DateTime.Now.Millisecond.ToString(); log.TransactionSequence = 1; xmlFilePath = SerializeUtil.SerializeFile(log.TransactionCode + "_Response.xml", typeof(MATPO_REQ), request); log.RequestContent = xmlFilePath; log.RequestDate = currentDateTime.DBDate; log.RequestTime = currentDateTime.DBTime; //log.Result log.SendRecordCount = 0; transferFacade.AddSAPDataTransferLog(log); request.TransactionCode = log.TransactionCode; } else { // Update log log = transferFacade.GetSAPDataTransferLog(request.TransactionCode, 1) as SAPDataTransferLog; //log.ErrorMessage //log.FinishedDate //log.FinishedTime log.ReceivedRecordCount = (request.POList == null || request.POList.Count == 0) ? 0 : request.POList.Count; xmlFilePath = SerializeUtil.SerializeFile(log.TransactionCode + "_Response.xml", typeof(MATPO_REQ), request); log.ResponseContent = xmlFilePath; log.ResponseDate = currentDateTime.DBDate; log.ResponseTime = currentDateTime.DBTime; //log.Result transferFacade.UpdateSAPDataTransferLog(log); } if (request.POList == null || request.POList.Count == 0) { log.Result = "Fail"; log.ErrorMessage = "PO list is null."; log.FinishedDate = 0; log.FinishedTime = 0; transferFacade.UpdateSAPDataTransferLog(log); return; } else { MaterialStockFacade msf = new MaterialStockFacade(this.DataProvider); IQCFacade iqcFacade = new IQCFacade(this.DataProvider); RawReceive4SAP rawReceive4SAP; List <MaterialReceive> confirmMaterialReceiveList = new List <MaterialReceive>(); try { this.DataProvider.BeginTransaction(); foreach (MES_MATPO mpo in request.POList) { rawReceive4SAP = msf.CreateNewRawReceive4SAP(); rawReceive4SAP.ErrorMessage = mpo.Message; rawReceive4SAP.Flag = mpo.Flag; rawReceive4SAP.MaintainDate = currentDateTime.DBDate; rawReceive4SAP.MaintainTime = currentDateTime.DBTime; rawReceive4SAP.MaintainUser = "******"; rawReceive4SAP.MaterialDocument = mpo.MaterialDocument; rawReceive4SAP.MaterialDocumentYear = mpo.MaterialDocumentYear; rawReceive4SAP.PONo = mpo.PONo; rawReceive4SAP.PostSequence = msf.GetRawReceive4SAPMaxPostSequence(mpo.PONo.ToUpper()); rawReceive4SAP.TransactionCode = request.TransactionCode; msf.AddRawReceive4SAP(rawReceive4SAP); if (string.Compare(mpo.Flag, "Y", true) == 0) // Post OK { object[] materialReceiveList = iqcFacade.QueryMaterialReceive(mpo.PONo, request.TransactionCode); if (materialReceiveList != null) { foreach (MaterialReceive materialReceive in materialReceiveList) { if (materialReceive.Flag == FlagStatus.FlagStatus_POST) { confirmMaterialReceiveList.Add(materialReceive); } } } } } this.DataProvider.CommitTransaction(); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); log.Result = "Fail"; log.ErrorMessage = ex.Message; log.FinishedDate = 0; log.FinishedTime = 0; transferFacade.UpdateSAPDataTransferLog(log); } try { log.Result = "OK"; log.ErrorMessage = ""; currentDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); log.FinishedDate = currentDateTime.DBDate; log.FinishedTime = currentDateTime.DBTime; transferFacade.UpdateSAPDataTransferLog(log); foreach (MaterialReceive materialReceive in confirmMaterialReceiveList) { iqcFacade.ConfirmMaterialReceive(new MaterialReceive[] { materialReceive }, materialReceive.MaintainUser); } } catch (Exception ex) { log.Result = "Fail"; log.ErrorMessage = ex.Message; log.FinishedDate = 0; log.FinishedTime = 0; transferFacade.UpdateSAPDataTransferLog(log); } } } catch (Exception ex) { throw ex; } finally { ((SQLDomainDataProvider)DataProvider).PersistBroker.CloseConnection(); ((SQLDomainDataProvider)DataProvider).PersistBroker.AutoCloseConnection = true; } }
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 Page_Load(object sender, System.EventArgs e) { this.InitOnPostBack(); _IQCFacade = new IQCFacadeFactory(base.DataProvider).CreateIQCFacade(); if (!IsPostBack) { // 初始化页面语言 this.InitPageLanguage(this.languageComponent1, false); // 初始化界面UI this.InitUI(); this.InitButtonHelp(); this.SetEditObject(null); this.InitWebGrid(); // 初始化控件 this.drpIQCStatusQuery_Load(); this.drpROHSQuery_Load(); this.drpShipToStockQuery_Load(); this.drpIQCHeadAttributeEdit_Load(); //首次进入界面的查询 string iqcNo = string.Empty; if (Request.Params["iqcno"] == null) { this.drpIQCStatusQuery.SelectedValue = "New"; } else { iqcNo = Request.Params["iqcno"].ToString().Trim(); } if (iqcNo.Length > 0) { this.txtIQCNoQuery.Text = iqcNo; } string asnPO = string.Empty; if (Request.Params["asnpo"] != null) { asnPO = Request.Params["asnpo"].ToString().Trim(); } if (asnPO.Length > 0) { this.txtASNPOQuery.Text = asnPO; this.drpIQCStatusQuery.SelectedValue = "New"; } this.RequestData(); this.buttonHelper.PageActionStatusHandle(PageActionType.Query); } //添加一些JS事件 //if (this.txtPOMaterialEdit.Attributes["po"] == null) //{ // this.txtPOMaterialEdit.Attributes["po"] = "0"; //} if (this.cmdCreateIQCFromASN.Attributes["onclick"] == null) { this.cmdCreateIQCFromASN.Attributes["onclick"] = "this.style.cursor='wait';"; } //if (this.cmdCreateIQCFromPO.Attributes["onclick"] == null) //{ // this.cmdCreateIQCFromPO.Attributes["onclick"] = "this.style.cursor='wait';"; //} }
private void ToSTS(string iqcNo, string userCode) { IQCFacade _IQCFacade = new IQCFacade(DataProvider); InventoryFacade _InventoryFacade = new InventoryFacade(DataProvider); //1、更新送检单TBLASNIQC AsnIQC asnIqc = (AsnIQC)_IQCFacade.GetAsnIQC(iqcNo); if (asnIqc != null) { asnIqc.IqcType = "ExemptCheck"; asnIqc.Status = IQCStatus.IQCStatus_IQCClose; asnIqc.QcStatus = "Y"; _IQCFacade.UpdateAsnIQC(asnIqc); #region 在invinouttrans表中增加一条数据 WarehouseFacade facade = new WarehouseFacade(DataProvider); //ASN asn = (ASN)domainObject; DBDateTime dbTime1 = FormatHelper.GetNowDBDateTime(this.DataProvider); InvInOutTrans trans = facade.CreateNewInvInOutTrans(); trans.CartonNO = string.Empty; trans.DqMCode = asnIqc.DQMCode; trans.FacCode = string.Empty; trans.FromFacCode = string.Empty; trans.FromStorageCode = string.Empty; trans.InvNO = asnIqc.InvNo; trans.InvType = asnIqc.IqcType; trans.LotNo = string.Empty; trans.MaintainDate = dbTime1.DBDate; trans.MaintainTime = dbTime1.DBTime; trans.MaintainUser = userCode; trans.MCode = asnIqc.MCode; trans.ProductionDate = 0; trans.Qty = asnIqc.Qty; trans.Serial = 0; trans.StorageAgeDate = 0; trans.StorageCode = string.Empty; trans.SupplierLotNo = string.Empty; trans.TransNO = asnIqc.IqcNo; trans.TransType = "IN"; trans.Unit = string.Empty; trans.ProcessType = "IQC"; facade.AddInvInOutTrans(trans); #endregion } object[] objAsnIqcDetail = _IQCFacade.GetAsnIQCDetailByIqcNo(iqcNo); if (objAsnIqcDetail != null) { foreach (AsnIQCDetail asnIqcDetail in objAsnIqcDetail) { //2、更新送检单明细TBLASNIQCDETAIL asnIqcDetail.QcPassQty = asnIqcDetail.Qty; asnIqcDetail.QcStatus = "Y"; _IQCFacade.UpdateAsnIQCDetail(asnIqcDetail); //4、更新ASN明细TBLASNDETAIL ASNDetail asnDetail = (ASNDetail)_InventoryFacade.GetASNDetail(Convert.ToInt32(asnIqcDetail.StLine), asnIqcDetail.StNo); if (asnDetail != null) { asnDetail.QcPassQty = asnDetail.ReceiveQty; asnDetail.Status = IQCStatus.IQCStatus_IQCClose; _InventoryFacade.UpdateASNDetail(asnDetail); } //5、更新ASN明细对应单据行明细TBLASNDETAILITEM object[] objAsnDetaileItem = _InventoryFacade.GetAsnDetailItem(asnIqcDetail.StNo, Convert.ToInt32(asnIqcDetail.StLine)); if (objAsnDetaileItem != null) { foreach (Asndetailitem asnDetaileItem in objAsnDetaileItem) { asnDetaileItem.QcpassQty = asnDetaileItem.ReceiveQty; _InventoryFacade.UpdateAsndetailitem(asnDetaileItem); } } } } object[] objAsnIqcDetailSN = _IQCFacade.GetAsnIqcDetailSNByIqcNo(iqcNo); if (objAsnIqcDetailSN != null) { foreach (AsnIqcDetailSN asnIqcDetailSN in objAsnIqcDetailSN) { //3、更新送检单明细SNTBLASNIQCDETAILSN asnIqcDetailSN.QcStatus = "Y"; _IQCFacade.UpdateAsnIqcDetailSN(asnIqcDetailSN); //6、更新ASN明细SN TBLASNDETAILSN Asndetailsn asnDetailSn = (Asndetailsn)_InventoryFacade.GetAsndetailsn(asnIqcDetailSN.Sn, asnIqcDetailSN.StNo, Convert.ToInt32(asnIqcDetailSN.StLine)); if (asnDetailSn != null) { asnDetailSn.QcStatus = "Y"; _InventoryFacade.UpdateAsndetailsn(asnDetailSn); } } } //7、以上表数据更新完成后检查ASN明细表(TBLASNDETAIL)所有行记录状态为:IQCClose:IQC完成 or OnLocation:上架 or Close:入库 or Cancel:取消时, // 更新ASN主表(TBLASN)状态(TBLASN.STATUS)为:OnLocation:上架 bool isAllIQCClose = CheckAllASNDetailIsIQCClose(iqcNo); bool isAllOnLocation = CheckAllASNDetailIsOnLocation(iqcNo); bool isAllClose = CheckAllASNDetailIsClose(iqcNo); bool isAllCancel = CheckAllASNDetailIsCancel(iqcNo); if (isAllIQCClose || isAllOnLocation || isAllClose || isAllCancel ) { ASN asn = (ASN)_InventoryFacade.GetASN(asnIqc.StNo); if (asn != null) { asn.Status = ASNHeadStatus.OnLocation; _InventoryFacade.UpdateASN(asn); } } }
public string SaveIQCInfo(string[] asns, string usrCode) { WarehouseFacade wFacade = new WarehouseFacade(DataProvider); InventoryFacade facade = new InventoryFacade(DataProvider); BenQGuru.eMES.Web.Helper.DBDateTime dbDateTime = BenQGuru.eMES.Web.Helper.FormatHelper.GetNowDBDateTime(this.DataProvider); #region 6> 以下几种情况不可点击申请IQC: //1》 入库类型为:PD:盘点 //2》 入库类型为:POR: PO入库 并且供应商直发标识为:Y //3》 入库类型为:SCTR:生产退料 并且生产退料入不良品库标识为:Y ASN asn = (ASN)facade.GetASN(asns[0]); if (asn.StType == InInvType.PD) { return("入库类型为盘点,不可申请IQC"); } else if (asn.StType == InInvType.POR && asn.DirectFlag == "Y") { return("入库类型为PO入库并且供应商直发标识为Y,不可申请IQC"); } else if (asn.StType == InInvType.SCTR && asn.RejectsFlag == "Y") { return("入库类型为生产退料并且生产退料入不良品库标识为Y,不可申请IQC"); } bool hasDetail = facade.CheckASNHasDetail(asn.StNo, ASNLineStatus.ReceiveClose); if (!hasDetail) { bool hasReject = facade.CheckASNReceiveStatusHasDetail(asn.StNo, "Reject"); if (hasReject) { //将头数据改为拒收状态 IQCRejection:IQC拒收; ASN oldAsn = (ASN)facade.GetASN(asn.StNo); oldAsn.Status = ASNHeadStatus.IQCRejection; facade.UpdateASN(oldAsn); return("初检接收状态中全部为拒收状态"); } } else { return("ASN单行项目状态必须为初检完成"); } #endregion IQCFacade iqcFacade = new IQCFacade(DataProvider); object[] disdqMcodeList = facade.QueryAsnDetailForDqMcode(asn.StNo); if (disdqMcodeList == null) { return("入库指令号对应在ASN明细表中不存在,不可申请IQC"); } //同一入库指令下,同一鼎桥物料编码,生成一个IQC检验单号。 object[] dqMcodeList = facade.QueryAsnDetailForCreateIqc(asn.StNo); if (dqMcodeList == null) { return("IQC检验单号已存在!"); } try { this.DataProvider.BeginTransaction(); string iqcNo = string.Empty; foreach (ASNDetail dqMcode in dqMcodeList) { //edit by sam 2016年3月21日 剔除拒收状态 object[] detailList = facade.QueryAsnDetailByStNo(asn.StNo, dqMcode.DQMCode, "Reject"); if (detailList != null) { #region AsnIQC ASNDetail asnDetailobj = detailList[0] as ASNDetail; string newIqcNo = this.CreateNewIqcNo(asnDetailobj.StNo, usrCode); AsnIQC asnIqc = new AsnIQC(); asnIqc.IqcNo = newIqcNo; iqcNo = newIqcNo; asnIqc.IqcType = ""; asnIqc.StNo = asn.StNo; asnIqc.InvNo = !string.IsNullOrEmpty(asn.InvNo) ? asn.InvNo : asn.StNo; asnIqc.StType = asn.StType; // STTYPE asnIqc.Status = BenQGuru.eMES.Web.Helper.IQCStatus.IQCStatus_Release; // STATUS asnIqc.AppDate = dbDateTime.DBDate; // MDATE asnIqc.AppTime = dbDateTime.DBTime; // MTIME asnIqc.InspDate = 0; // INSPDATE asnIqc.InspTime = 0; // INSPTIME asnIqc.CustmCode = asnDetailobj.CustMCode; // CUSTMCODE 华为物料号 asnIqc.MCode = asnDetailobj.MCode; // MCODE asnIqc.DQMCode = asnDetailobj.DQMCode; // DQMCODE asnIqc.MDesc = asnDetailobj.MDesc; // MDESC // asnIqc.Qty = asnDetailobj.ReceiveQty; // QTY asnIqc.QcStatus = ""; // QCSTATUS IQC状态(Y:合格;N:不合格) asnIqc.VendorCode = asn.VendorCode; // VENDORCODE asnIqc.VendorMCode = asnDetailobj.VendorMCodeDesc; // VENDORMCODE asnIqc.Remark1 = asn.Remark1; // REMARK1 asnIqc.CUser = usrCode; // CUSER asnIqc.CDate = dbDateTime.DBDate; // CDATE asnIqc.CTime = dbDateTime.DBTime; // CTIME asnIqc.MaintainDate = dbDateTime.DBDate; // MDATE asnIqc.MaintainTime = dbDateTime.DBTime; // MTIME asnIqc.MaintainUser = usrCode; // MUSER foreach (ASNDetail asnDetail in detailList) { asnIqc.Qty += asnDetail.ReceiveQty; } iqcFacade.AddAsnIQC(asnIqc); #endregion foreach (ASNDetail asnDetail in detailList) { #region AsnIQCDetail iqcDetail = new AsnIQCDetail(); #region iqcDetail iqcDetail.IqcNo = newIqcNo; // IQCNO 送检单号 iqcDetail.StNo = asnDetail.StNo; // STNO ASN单号 iqcDetail.StLine = asnDetail.StLine; // STLINE ASN单行项目 iqcDetail.CartonNo = asnDetail.CartonNo; // CARTONNO 箱号条码 iqcDetail.Qty = asnDetail.ReceiveQty; // QTY 送检数量 iqcDetail.QcPassQty = 0; // QCPASSQTY 检验通过数量 iqcDetail.Unit = asnDetail.Unit; // UNIT 单位 iqcDetail.NgQty = 0; // NGQTY 缺陷品数 iqcDetail.ReturnQty = 0; // ReturnQTY 退换货数量 iqcDetail.ReformQty = 0; // ReformQTY 现场整改数量 iqcDetail.GiveQty = 0; // GiveQTY 让步接收数量 iqcDetail.AcceptQty = 0; // AcceptQTY 特采数量 iqcDetail.QcStatus = ""; // QCSTATUS IQC状态(Y:合格;N:不合格) iqcDetail.Remark1 = asnDetail.Remark1; // REMARK1 备注 iqcDetail.CUser = usrCode; // CUSER iqcDetail.CDate = dbDateTime.DBDate; // CDATE iqcDetail.CTime = dbDateTime.DBTime; // CTIME iqcDetail.MaintainDate = dbDateTime.DBDate; // MDATE iqcDetail.MaintainTime = dbDateTime.DBTime; // MTIME iqcDetail.MaintainUser = usrCode; // MUSER iqcFacade.AddAsnIQCDetail(iqcDetail); #endregion #region AsnIqcDetailSN object[] iqcDetailsnList = facade.GetSNbySTNo(asnDetail.StNo, asnDetail.StLine); if (iqcDetailsnList != null) { foreach (Asndetailsn detailsn in iqcDetailsnList) { AsnIqcDetailSN iqcDetailsn = new AsnIqcDetailSN(); iqcDetailsn.IqcNo = newIqcNo; // IQCNO 送检单号 iqcDetailsn.StNo = asnDetail.StNo; // STNO ASN单号 iqcDetailsn.StLine = asnDetail.StLine; // STLINE ASN单行项目 iqcDetailsn.Sn = detailsn.Sn; iqcDetailsn.CartonNo = asnDetail.CartonNo; // CARTONNO 箱号条码 iqcDetailsn.StNo = asnDetail.StNo; // SN SN条码 iqcDetailsn.QcStatus = ""; // QCSTATUS SN IQC状态(Y:合格;N:不合格) iqcDetailsn.Remark1 = asnDetail.Remark1; // REMARK1 备注 iqcDetailsn.CUser = usrCode; // CUSER iqcDetailsn.CDate = dbDateTime.DBDate; // CDATE iqcDetailsn.CTime = dbDateTime.DBTime; // CTIME iqcDetailsn.MaintainDate = dbDateTime.DBDate; // MDATE iqcDetailsn.MaintainTime = dbDateTime.DBTime; // MTIME iqcDetailsn.MaintainUser = usrCode; // MUSER iqcFacade.AddAsnIqcDetailSN(iqcDetailsn); } } #endregion #endregion } } //判断是否是免检物料 BenQGuru.eMES.Domain.MOModel.Material mar = wFacade.GetMaterialFromDQMCode(dqMcode.DQMCode); int count = wFacade.GetStockRecordCount(dbDateTime.DBDate, dbDateTime.DBTime, mar.MCode); if (count > 0) { //是免检物料 try { ToSTS(iqcNo, usrCode); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); throw ex; } } } // 3> IQC检验单数据来源与ASN主表(TBLASN)、ASN明细表(TBLASNDETAIL)、ASN明细SN表(TBLASNDETAILSN), //保存数据表有:送检单(TBLASNIQC)、送检单明细(TBLASNIQCDETAIL)、送检单明细SN表(TBLASNIQCDETAILSN), //注:送检数量(TBLASNIQCDETAIL.QTY)为ASN明细表中的接收数量(TBLASNDETAIL.ReceiveQTY) //4> IQC送检单号规则:IQC+入库指令号+两位流水号,如:IQCASN00000101 //5> 更新ASN主表(TBLASN)状态为:IQC:IQC var oldasn = (ASN)facade.GetASN(asn.StNo); if (oldasn != null) { if (!(oldasn.Status == ASN_STATUS.ASN_Close || oldasn.Status == ASN_STATUS.ASN_Cancel || oldasn.Status == ASN_STATUS.ASN_OnLocation || oldasn.Status == ASN_STATUS.ASN_IQC)) { oldasn.Status = "IQC"; facade.UpdateASN(oldasn); } } this.DataProvider.CommitTransaction(); return("申请IQC成功"); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); throw ex; } }
protected override DataRow GetGridRow(object obj) { if (_IQCFacade == null) { _IQCFacade = new IQCFacade(base.DataProvider); } if (_InventoryFacade == null) { _InventoryFacade = new InventoryFacade(base.DataProvider); } DataRow row = this.DtSource.NewRow(); row["IQCNo"] = ((AsnIQCExt)obj).IqcNo; row["StorageInASN"] = ((AsnIQCExt)obj).StNo; row["StorageInType"] = this.GetInvInName(((AsnIQCExt)obj).StType);//入库类型(单据类型) row["SAPInvNo"] = ((AsnIQCExt)obj).InvNo; row["STORAGECODE1234"] = ((AsnIQCExt)obj).STORAGECODE; row["DQMCode"] = ((AsnIQCExt)obj).DQMCode; Domain.MOModel.Material m = (Domain.MOModel.Material)_InventoryFacade.GetMaterialByDQMCode(((AsnIQCExt)obj).DQMCode); if (m != null) { row["DQMCODEDESC"] = m.MchlongDesc; } else { row["DQMCODEDESC"] = string.Empty; } row["VMCode"] = ((AsnIQCExt)obj).StType == "UB" ? ((AsnIQCExt)obj).CustmCode : ((AsnIQCExt)obj).VendorMCode; row["Status"] = this.GetStatusName(((AsnIQCExt)obj).Status); row["IQCStatus"] = ((AsnIQCExt)obj).Status; row["IQCType"] = FormatHelper.GetChName(((AsnIQCExt)obj).IqcType); if (((AsnIQCExt)obj).IqcType == "SpotCheck") { row["AQLResult"] = FormatHelper.GetChName(((AsnIQCExt)obj).QcStatus); } row["AppQty"] = ((AsnIQCExt)obj).AppQty; row["NGQty"] = ((AsnIQCExt)obj).NgQty; string IQCNO = ((AsnIQCExt)obj).IqcNo; row["ReturnQty"] = _IQCFacade.ReturnQtyTotalWithIQCNO(IQCNO); row["ReformQty"] = _IQCFacade.ReformQtyTotalWithIQCNO(IQCNO); row["GiveQty"] = _IQCFacade.GiveQtyTotalWithIQCNO(IQCNO); row["AcceptQty"] = _IQCFacade.AcceptQtyTotalWithIQCNO(IQCNO); row["VendorNo"] = ((AsnIQCExt)obj).VendorCode; row["AppDate"] = FormatHelper.ToDateString(((AsnIQCExt)obj).AppDate, "/"); return(row); }