//保存老化信息 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); } }
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); }
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(); }