//退回OQC重检 protected void cmdReturnedOQC_ServerClick(object sender, EventArgs e) { if (_OQCFacade == null) { _OQCFacade = new OQCFacade(base.DataProvider); } ArrayList array = this.gridHelper.GetCheckedRows(); if (array.Count > 0) { StringBuilder sbShowMsg = new StringBuilder(); foreach (GridRecord row in array) { string oqcNo = row.Items.FindItemByKey("OQCNo").Value.ToString(); string status = row.Items.FindItemByKey("Status").Value.ToString(); if (status != "SQE判定") { sbShowMsg.AppendFormat("OQC检验单号: {0} 状态不是SQE判定,不能退回 ", oqcNo); continue; } try { this.DataProvider.BeginTransaction(); Domain.OQC.OQC oqc = (Domain.OQC.OQC)_OQCFacade.GetOQC(oqcNo); if (oqc != null) { oqc.Status = OQCStatus.OQCStatus_WaitCheck; _OQCFacade.UpdateOQC(oqc); } this.DataProvider.CommitTransaction(); } catch (Exception ex) { sbShowMsg.AppendFormat("OQC检验单号: {0} {1},退回OQC重检失败 ", oqcNo, ex.Message); this.DataProvider.RollbackTransaction(); } } if (sbShowMsg.Length > 0) { string showMsg = sbShowMsg.ToString(); WebInfoPublish.Publish(this, showMsg, this.languageComponent1); } else { WebInfoPublish.Publish(this, "退回OQC重检成功", this.languageComponent1); } this.gridHelper.RequestData();//刷新页面 } }
protected void cmdStatusSTS_ServerClick(object sender, EventArgs e) { ArrayList array = this.gridHelper.GetCheckedRows(); if (array.Count == 0) { WebInfoPublish.Publish(this, "必须至少选择一条数据!", this.languageComponent1); return; } if (_OQCFacade == null) { _OQCFacade = new OQCFacade(base.DataProvider); } foreach (GridRecord row in array) { string oqcNo = row.Items.FindItemByKey("OQCNo").Value.ToString(); Domain.OQC.OQC oqc = (Domain.OQC.OQC)_OQCFacade.GetOQC(oqcNo); if (oqc.Status != IQCStatus.IQCStatus_Release) { //OQC检验单号: {0} 状态不是初始化 WebInfoPublish.Publish(this, string.Format("OQC检验单号: {0} 状态不是初始化,不能免检 ", oqcNo), this.languageComponent1); return; } } try { this.DataProvider.BeginTransaction(); foreach (GridRecord row in array) { string oqcNo = row.Items.FindItemByKey("OQCNo").Value.ToString(); Domain.OQC.OQC oqc = (Domain.OQC.OQC)_OQCFacade.GetOQC(oqcNo); ToSTS(oqcNo); } this.DataProvider.CommitTransaction(); this.gridHelper.RequestData();//刷新页面 } catch (Exception ex) { this.DataProvider.RollbackTransaction(); WebInfoPublish.Publish(this, "免检失败:" + ex.Message, this.languageComponent1); return; } }
private void ToSTS(string oqcNo) { if (_OQCFacade == null) { _OQCFacade = new OQCFacade(base.DataProvider); } _InventoryFacade = new InventoryFacade(base.DataProvider); WarehouseFacade _WarehouseFacade = new WarehouseFacade(base.DataProvider); //1、更新OQC单表(TBLOQC) _OQCFacade.UpdateOQC(OQCType.OQCType_ExemptCheck, OQCStatus.OQCStatus_OQCClose, "Y", oqcNo); //2、更新OQC单明细表(TBLOQCDETAIL) _OQCFacade.UpdateOQCDetail("Y", oqcNo); //3、更新OQC单明细SN信息表(TBLOQCDETAILSN) _OQCFacade.UpdateOQCDetailSN("Y", oqcNo); //4、更新发货箱单头信息表(TBLCartonInvoices) Pick pick = (Pick)_InventoryFacade.GetPickByOqcNo(oqcNo); if (pick != null) { //if (pick.GFFlag == "X") //{ // if (CheckAllOQCStatusIsOQCClose(oqcNo)) // { // CARTONINVOICES cartonInvoices = (CARTONINVOICES)_WarehouseFacade.GetCartoninvoicesByOqcNo(oqcNo); // if (cartonInvoices != null) // { // cartonInvoices.STATUS = CartonInvoices_STATUS.Status_OQCClose; // _WarehouseFacade.UpdateCartoninvoices(cartonInvoices); // } // } // else // { // throw new Exception("OQC单号" + oqcNo + "没有全部检验完成"); // } //} //else //{ if (_OQCFacade.IsOQCFinish(pick.PickNo)) { pick.Status = PickHeadStatus.PickHeadStatus_PackingListing; _WarehouseFacade.UpdatePick(pick); } CARTONINVOICES cartonInvoices = (CARTONINVOICES)_WarehouseFacade.GetCartoninvoicesByOqcNo(oqcNo); if (cartonInvoices != null) { cartonInvoices.STATUS = CartonInvoices_STATUS.Status_OQCClose; _WarehouseFacade.UpdateCartoninvoices(cartonInvoices); } //} #region 在invinouttrans表中增加一条数据 WarehouseFacade facade = new WarehouseFacade(base.DataProvider); DBDateTime dbTime1 = FormatHelper.GetNowDBDateTime(this.DataProvider); InvInOutTrans trans1 = facade.CreateNewInvInOutTrans(); trans1.CartonNO = string.Empty; trans1.DqMCode = string.Empty; trans1.FacCode = string.Empty; trans1.FromFacCode = string.Empty; trans1.FromStorageCode = string.Empty; trans1.InvNO = pick.InvNo;//.InvNo; trans1.InvType = pick.PickType; trans1.LotNo = string.Empty; trans1.MaintainDate = dbTime1.DBDate; trans1.MaintainTime = dbTime1.DBTime; trans1.MaintainUser = this.GetUserCode(); trans1.MCode = string.Empty; trans1.ProductionDate = 0; trans1.Qty = 0; trans1.Serial = 0; trans1.StorageAgeDate = 0; trans1.StorageCode = string.Empty; trans1.SupplierLotNo = string.Empty; trans1.TransNO = pick.PickNo;// asnIqc.IqcNo; trans1.TransType = "OUT"; trans1.Unit = string.Empty; trans1.ProcessType = "OQC"; facade.AddInvInOutTrans(trans1); Domain.OQC.OQC asnIqcHead = (Domain.OQC.OQC)_OQCFacade.GetOQC(oqcNo); object[] objs_oqcDetail = _OQCFacade.GetOQCDetailByOqcNo(oqcNo); if (objs_oqcDetail != null) { foreach (OQCDetail asnIqc in objs_oqcDetail) { 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.CarInvNo;//.InvNo; trans.InvType = asnIqcHead.OqcType; trans.LotNo = string.Empty; trans.MaintainDate = dbTime1.DBDate; trans.MaintainTime = dbTime1.DBTime; trans.MaintainUser = this.GetUserCode(); 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 = oqcNo;// asnIqc.IqcNo; trans.TransType = "OUT"; trans.Unit = string.Empty; trans.ProcessType = "OQC"; facade.AddInvInOutTrans(trans); } } #endregion } }
//退回二次检验 /// <summary> /// 退回二次检验 /// </summary> /// <param name="iqcNo">送检单号</param> private void ToReturned2Inspection(string oqcNo) { if (_OQCFacade == null) { _OQCFacade = new OQCFacade(base.DataProvider); } Domain.OQC.OQC oqc = (Domain.OQC.OQC)_OQCFacade.GetOQC(oqcNo); if (oqc != null) { //1、更新送检单表 TBLOQC oqc.Status = OQCStatus.OQCStatus_Cancel; _OQCFacade.UpdateOQC(oqc); //2、产生一个新OQC检验单号,内容来源于原 OQC检验单号,涉及表:OQC送检单(TBLOQC)、OQC送检单明细(TBLOQCDETAIL)、OQC送检单明细SN(TBLOQCDETAILSN) string newOqcNo = this.CreateNewIqcNo(oqcNo); #region 1)送检单TBLOQC //1)送检单TBLOQC Domain.OQC.OQC newOqc = _OQCFacade.CreateNewOqc(); newOqc.OqcNo = newOqcNo; newOqc.OqcType = OQCType.OQCType_FullCheck; newOqc.PickNo = oqc.PickNo; newOqc.CarInvNo = oqc.CarInvNo; newOqc.Status = OQCStatus.OQCStatus_Release; newOqc.AppDate = FormatHelper.GetNowDBDateTime(base.DataProvider).DBDate; newOqc.AppTime = FormatHelper.GetNowDBDateTime(base.DataProvider).DBTime; newOqc.InspDate = oqc.InspDate; newOqc.InspTime = oqc.InspTime; newOqc.QcStatus = ""; newOqc.CUser = oqc.CUser; newOqc.CDate = oqc.CDate; newOqc.CTime = oqc.CTime; newOqc.MaintainUser = this.GetUserCode(); _OQCFacade.AddOQC(newOqc); #endregion #region 2)送检单明细TBLOQCDETAIL //2)送检单明细TBLOQCDETAIL object[] objOqcDetail = _OQCFacade.GetOQCDetailByOqcNo(oqcNo); if (objOqcDetail != null && objOqcDetail.Length > 0) { foreach (OQCDetail oldOqcDetail in objOqcDetail) { OQCDetail newOqcDetail = _OQCFacade.CreateNewOQCDetail(); newOqcDetail.OqcNo = newOqcNo; newOqcDetail.CarInvNo = oldOqcDetail.CarInvNo; newOqcDetail.CartonNo = oldOqcDetail.CartonNo; newOqcDetail.MCode = oldOqcDetail.MCode; newOqcDetail.DQMCode = oldOqcDetail.DQMCode; newOqcDetail.Qty = oldOqcDetail.Qty; newOqcDetail.QcPassQty = 0; newOqcDetail.Unit = oldOqcDetail.Unit; newOqcDetail.NgQty = 0; newOqcDetail.ReturnQty = 0; newOqcDetail.GiveQty = 0; newOqcDetail.QcStatus = ""; newOqcDetail.GfHwItemCode = oldOqcDetail.GfHwItemCode; newOqcDetail.GfPackingSeq = oldOqcDetail.GfPackingSeq; newOqcDetail.Remark1 = ""; newOqcDetail.CUser = oldOqcDetail.CUser; newOqcDetail.CDate = oldOqcDetail.CDate; newOqcDetail.CTime = oldOqcDetail.CTime; newOqcDetail.MaintainUser = this.GetUserCode(); _OQCFacade.AddOQCDetail(newOqcDetail); } } #endregion #region 3)送检单明细SN TBLOQCDETAILSN object[] objOqcDetailSN = _OQCFacade.GetOQCDetailSNByOqcNo(oqcNo); if (objOqcDetailSN != null && objOqcDetailSN.Length > 0) { foreach (OQCDetailSN oldOqcDetailSN in objOqcDetailSN) { OQCDetailSN newOqcDetailSN = _OQCFacade.CreateNewOQCDetailSN(); newOqcDetailSN.OqcNo = newOqcNo; newOqcDetailSN.CarInvNo = oldOqcDetailSN.CarInvNo; newOqcDetailSN.CartonNo = oldOqcDetailSN.CartonNo; newOqcDetailSN.SN = oldOqcDetailSN.SN; newOqcDetailSN.MCode = oldOqcDetailSN.MCode; newOqcDetailSN.DQMCode = oldOqcDetailSN.DQMCode; newOqcDetailSN.QcStatus = ""; newOqcDetailSN.MaintainUser = this.GetUserCode(); _OQCFacade.AddOQCDetailSN(newOqcDetailSN); } } #endregion } }