コード例 #1
0
ファイル: FBurn.cs プロジェクト: windygu/.net-wms
        //保存老化信息
        private void SaveBurnWip()
        {
            DataCollectFacade dataCollectFacade = new DataCollectFacade(this.DataProvider);
            BaseModelFacade   baseModelFacade   = new BaseModelFacade(this.DataProvider);
            ShiftModelFacade  shiftModelFacade  = new ShiftModelFacade(this.DataProvider);
            DBDateTime        dbDateTime        = FormatHelper.GetNowDBDateTime(this.DataProvider);
            ItemFacade        itemFacade        = new ItemFacade(this.DataProvider);
            BurnFacade        burnFacade        = new BurnFacade(this.DataProvider);
            //获取时段代码
            StepSequence _StepSequence = (StepSequence)baseModelFacade.GetStepSequence(Resource.StepSequenceCode);
            TimePeriod   tp            = (TimePeriod)shiftModelFacade.GetTimePeriod(Resource.ShiftTypeCode, dbDateTime.DBTime);

            BurnWip burnWip     = new BurnWip();
            string  sourceRCard = dataCollectFacade.GetSourceCard(this.txtRunningCard.Value.Trim().ToUpper(), string.Empty);

            burnWip.RunningCard = sourceRCard;
            burnWip.MOCode      = product.LastSimulation.MOCode;
            burnWip.ItemCode    = this.txtItem.Value;
            burnWip.SsCode      = Resource.StepSequenceCode;
            burnWip.ResCode     = Resource.ResourceCode;
            if (tp != null)
            {
                burnWip.TpCode   = tp.TimePeriodCode;
                burnWip.ShiftDay = shiftModelFacade.GetShiftDay(tp, dbDateTime.DateTime);
            }

            burnWip.ProductStatus = ProductStatus.GOOD;
            if (rdoBurnIn.Checked)
            {
                burnWip.Status     = BurnType.BurnIn;
                burnWip.BurnInDate = dbDateTime.DBDate;
                burnWip.BurnInTime = dbDateTime.DBTime;

                object objItem = itemFacade.GetItem(this.txtItem.Value, GlobalVariables.CurrentOrganizations.First().OrganizationID);
                if (objItem != null && ((Item)objItem).BurnUseMinutes.ToString() != "")
                {
                    burnWip.ForecastOutDate = FormatHelper.TODateInt(dbDateTime.DateTime.AddMinutes(((Item)objItem).BurnUseMinutes));
                    burnWip.ForecastOutTime = FormatHelper.TOTimeInt(dbDateTime.DateTime.AddMinutes(((Item)objItem).BurnUseMinutes));
                }
            }
            else
            {
                burnWip.Status      = BurnType.BurnOut;
                burnWip.BurnOutDate = dbDateTime.DBDate;
                burnWip.BurnOutTime = dbDateTime.DBTime;

                if (rdoNG.Checked)
                {
                    burnWip.ProductStatus = ProductStatus.NG;
                }
            }

            burnWip.MaintainUser = userCode;
            burnWip.MaintainDate = dbDateTime.DBDate;
            burnWip.MaintainTime = dbDateTime.DBTime;

            object objBurn = burnFacade.GetBurnWip(burnWip.RunningCard, burnWip.MOCode);

            if (objBurn == null)
            {
                burnFacade.AddBurnWip(burnWip);
            }
            else
            {
                if (((BurnWip)objBurn).Status == BurnType.BurnOut && rdoBurnOut.Checked)  //返工或维修回流时,若没有走burn in工序,则预计完成时间更新为系统时间
                {
                    burnWip.BurnInDate      = dbDateTime.DBDate;
                    burnWip.BurnInTime      = dbDateTime.DBTime;
                    burnWip.ForecastOutDate = dbDateTime.DBDate;
                    burnWip.ForecastOutTime = dbDateTime.DBTime;
                }
                else
                {
                    burnWip.BurnInDate      = ((BurnWip)objBurn).BurnInDate;
                    burnWip.BurnInTime      = ((BurnWip)objBurn).BurnInTime;
                    burnWip.ForecastOutDate = ((BurnWip)objBurn).ForecastOutDate;
                    burnWip.ForecastOutTime = ((BurnWip)objBurn).ForecastOutTime;
                }

                burnFacade.UpdateBurnWip(burnWip);
            }
        }
コード例 #2
0
ファイル: FDropMaterial.cs プロジェクト: windygu/.net-wms
        private Domain.TS.TS GetNewTS(string runningCard, string partItemCode, string partRunningCard, string userCode)
        {
            SystemSettingFacade systemSettingFacade = new SystemSettingFacade(this.DataProvider);
            ShiftModelFacade    shiftModelFacade    = new ShiftModelFacade(this.DataProvider);
            ModelFacade         modelFacade         = new ModelFacade(this.DataProvider);
            TSFacade            tsFacade            = new TSFacade(this.DataProvider);
            DataCollectFacade   dataCollectFacade   = new DataCollectFacade(this.DataProvider);

            string sourceRCard = dataCollectFacade.GetSourceCard(runningCard.Trim().ToUpper(), string.Empty);

            DBDateTime       dbDateTime     = FormatHelper.GetNowDBDateTime(this.DataProvider);
            SimulationReport lastSimulation = dataCollectFacade.GetLastSimulationReport(sourceRCard);

            if (lastSimulation == null)
            {
                return(null);
            }

            Domain.TS.TS newTS = tsFacade.CreateNewTS();

            newTS.TSId                  = Guid.NewGuid().ToString();
            newTS.RunningCard           = partRunningCard;
            newTS.RunningCardSequence   = dataCollectFacade.GetMaxRCardSequenceFromTS(partRunningCard) + 100;
            newTS.TranslateCard         = partRunningCard;
            newTS.TranslateCardSequence = newTS.RunningCardSequence;
            newTS.SourceCard            = partRunningCard;
            newTS.SourceCardSequence    = newTS.RunningCardSequence;
            newTS.CardType              = CardType.CardType_Part;
            newTS.ReplacedRunningCard   = " ";

            newTS.ItemCode = partItemCode;
            Model model = (Model)modelFacade.GetModelByItemCode(partItemCode);

            if (model == null)
            {
                Parameter parameter = (Parameter)systemSettingFacade.GetParameter("PING", "DEFAULT_MODEL_CODE");
                if (parameter != null)
                {
                    newTS.ModelCode = parameter.ParameterAlias.Trim().ToUpper();
                }
            }
            else
            {
                newTS.ModelCode = model.ModelCode;
            }

            newTS.MOCode               = lastSimulation.MOCode;
            newTS.FromRouteCode        = lastSimulation.RouteCode;
            newTS.FromOPCode           = lastSimulation.OPCode;
            newTS.FromResourceCode     = lastSimulation.ResourceCode;
            newTS.FromSegmentCode      = lastSimulation.SegmentCode;
            newTS.FromStepSequenceCode = lastSimulation.StepSequenceCode;
            newTS.FromShiftTypeCode    = lastSimulation.ShiftTypeCode;
            newTS.MOSeq = lastSimulation.MOSeq;

            TimePeriod tp = (TimePeriod)shiftModelFacade.GetTimePeriod(newTS.FromShiftTypeCode, dbDateTime.DBTime);

            if (tp != null)
            {
                newTS.FromTimePeriodCode = tp.TimePeriodCode;
                newTS.FromShiftCode      = tp.ShiftCode;
                newTS.FromShiftDay       = shiftModelFacade.GetShiftDay(tp, dbDateTime.DateTime);
            }

            newTS.FromUser = userCode;
            newTS.FromDate = dbDateTime.DBDate;
            newTS.FormTime = dbDateTime.DBTime;

            newTS.MaintainUser = userCode;
            newTS.MaintainDate = dbDateTime.DBDate;
            newTS.MaintainTime = dbDateTime.DBTime;

            newTS.TSTimes           = tsFacade.GetMaxTSTimes(partRunningCard) + 1;
            newTS.FromInputType     = TSSource.TSSource_TS;
            newTS.TSStatus          = TSStatus.TSStatus_New;
            newTS.TransactionStatus = TransactionStatus.TransactionStatus_NO;

            return(newTS);
        }
コード例 #3
0
ファイル: FQtyForm.cs プロジェクト: windygu/.net-wms
        public void RefreshQty()
        {
            BaseModelFacade  baseModelFacade  = new BaseModelFacade(this.DataProvider);
            ShiftModelFacade shiftModelFacade = new ShiftModelFacade(this.DataProvider);
            ReportFacade     reportFacade     = new ReportFacade(this.DataProvider);
            MOFacade         moFacade         = new MOFacade(this.DataProvider);

            //DateTime
            DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider);
            DateTime   now        = FormatHelper.ToDateTime(dbDateTime.DBDate, dbDateTime.DBTime);

            //ResCode
            string resCode = ApplicationService.Current().ResourceCode;

            //Shift day and shift
            string   shiftCode = string.Empty;
            int      shiftDay  = 0;
            Resource res       = (Resource)baseModelFacade.GetResource(resCode);

            if (res != null)
            {
                TimePeriod currTimePeriod = (TimePeriod)shiftModelFacade.GetTimePeriod(res.ShiftTypeCode, dbDateTime.DBTime);
                if (currTimePeriod != null)
                {
                    shiftDay  = shiftModelFacade.GetShiftDay(currTimePeriod, now);
                    shiftCode = currTimePeriod.ShiftCode;
                }
            }

            //刷新数量数据
            object[] reportSOQtyList = reportFacade.QueryMOCodeFromReportSOQty(shiftDay, shiftCode, resCode);

            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("MOCode");
            dataTable.Columns.Add("PlanQty");
            dataTable.Columns.Add("ResOutputCurrent");
            dataTable.Columns.Add("ResOutputTotal");

            decimal sumPlanQty          = 0;
            int     sumResOutputCurrent = 0;
            int     sumResOutputTotal   = 0;

            if (reportSOQtyList != null)
            {
                foreach (ReportSOQty reportSOQty in reportSOQtyList)
                {
                    MO mo = (MO)moFacade.GetMO(reportSOQty.MOCode);
                    if (mo != null)
                    {
                        object[] outputCurrent = reportFacade.QueryOPCountSumFromReportSOQty(shiftDay, shiftCode, resCode, reportSOQty.MOCode);
                        object[] outputTotal   = reportFacade.QueryOPCountSumFromReportSOQty(0, string.Empty, resCode, reportSOQty.MOCode);

                        if (outputCurrent != null && outputTotal != null)
                        {
                            DataRow row = dataTable.NewRow();
                            row["MOCode"]           = reportSOQty.MOCode;
                            row["PlanQty"]          = mo.MOPlanQty.ToString("0");
                            row["ResOutputCurrent"] = ((ReportSOQty)outputCurrent[0]).OPCount.ToString();
                            row["ResOutputTotal"]   = ((ReportSOQty)outputTotal[0]).OPCount.ToString();
                            dataTable.Rows.Add(row);

                            sumPlanQty          += mo.MOPlanQty;
                            sumResOutputCurrent += ((ReportSOQty)outputCurrent[0]).OPCount;
                            sumResOutputTotal   += ((ReportSOQty)outputTotal[0]).OPCount;
                        }
                    }
                }
            }

            DataRow rowSum = dataTable.NewRow();

            rowSum["MOCode"]           = UserControl.MutiLanguages.ParserString("Summary");
            rowSum["PlanQty"]          = sumPlanQty.ToString("0");
            rowSum["ResOutputCurrent"] = sumResOutputCurrent.ToString();
            rowSum["ResOutputTotal"]   = sumResOutputTotal.ToString();
            dataTable.Rows.Add(rowSum);

            this.ultraGridQty.DataSource = dataTable;
            this.ultraGridQty.DataBind();
        }