Exemplo n.º 1
0
        //退回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();//刷新页面
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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
            }
        }
Exemplo n.º 4
0
        //退回二次检验
        /// <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
            }
        }