private void NewProduceDetail(OnWIP onWIP, OnOffPostEnvirenment nowEnv, PerformanceFacade performanceFacade) { int manCount = performanceFacade.QueryLine2ManDetailCount(string.Empty, nowEnv.StepSequence.StepSequenceCode, string.Empty, string.Empty, 0, string.Empty, performanceFacade.GetLine2ManDetailStatusList(true)); int shiftBeginDate = nowEnv.GetShiftBeginDate(); int shiftBeginTime = nowEnv.Shift.ShiftBeginTime; LinePause linePause = (LinePause)performanceFacade.GetLatestLinePause(nowEnv.StepSequence.StepSequenceCode); if (linePause != null && linePause.EndDate == shiftBeginDate && linePause.EndTime > shiftBeginTime) { shiftBeginTime = FormatHelper.TOTimeInt(FormatHelper.ToDateTime(linePause.EndDate, linePause.EndTime).AddSeconds(1)); } ProduceDetail newProduceDetail = performanceFacade.CreateNewProduceDetail(); newProduceDetail.SSCode = nowEnv.StepSequence.StepSequenceCode; newProduceDetail.ShiftDate = nowEnv.ShiftDate; newProduceDetail.ShiftCode = nowEnv.Shift.ShiftCode; newProduceDetail.BeginDate = shiftBeginDate; newProduceDetail.BeginTime = shiftBeginTime; newProduceDetail.EndDate = nowEnv.GetShiftEndDate(); newProduceDetail.EndTime = nowEnv.Shift.ShiftEndTime; newProduceDetail.Duration = FormatHelper.GetSpanSeconds(newProduceDetail.BeginDate, newProduceDetail.BeginTime, newProduceDetail.EndDate, newProduceDetail.EndTime); newProduceDetail.Status = ProduceDetailStatus.ProduceDetailStatus_Open; newProduceDetail.ManCount = manCount; newProduceDetail.MOCode = onWIP.MOCode; newProduceDetail.MaintainUser = onWIP.MaintainUser; performanceFacade.AddProduceDetail(newProduceDetail); }
private void DataGrid2_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { //更新计划生产数量 try { OperLog ol = new OperLog(); ol.cnvcOperType = "更新计划生产数量"; ol.cnvcOperID = this.oper.strLoginID; ol.cnvcDeptID = this.oper.strDeptID; ProduceDetail pd = new ProduceDetail(); pd.cnnProduceSerialNo = Convert.ToDecimal(this.txtProduceSerialNo.Text); pd.cnvcInvCode = e.Item.Cells[0].Text; pd.cnnProduceCount = Convert.ToDecimal(((TextBox)e.Item.Cells[6].Controls[0]).Text); ProduceFacade pf = new ProduceFacade(); pf.UpdateProduceDetail(pd, ol); this.DataGrid2.EditItemIndex = -1; btnQueryProduct_Click(null, null); this.Popup("成功更新计划生产数量"); } catch (Exception ex) { this.Popup(ex.Message); } }
private Messages CollectAtLineOutputOP(OnWIP onWIP, OnOffPostEnvirenment nowEnv, OnOffPostEnvirenment lastSecondEnv) { Messages returnValue = new Messages(); ItemFacade itemFacade = new ItemFacade(this.DataProvider); PerformanceFacade performanceFacade = new PerformanceFacade(this.DataProvider); //获取是否LineOutputCount需要加一:仅判断是否为产量工序 ItemRoute2OP itemRoute2OP = (ItemRoute2OP)itemFacade.GetItemRoute2OP(onWIP.ItemCode, onWIP.RouteCode, onWIP.OPCode); bool lineOutpitCountAdded = false; if (itemRoute2OP != null && itemRoute2OP.OPControl.Substring(10, 1) == "1") { lineOutpitCountAdded = true; } if (lineOutpitCountAdded) { ProduceDetail produceDetail = (ProduceDetail)performanceFacade.GetLatestProduceDetail(onWIP.StepSequenceCode, 0, string.Empty, true); if (produceDetail == null) { NewProduceDetail(onWIP, nowEnv, performanceFacade); } else { if (produceDetail.ShiftDate == nowEnv.ShiftDate && produceDetail.ShiftCode == nowEnv.Shift.ShiftCode) { if (string.Compare(produceDetail.MOCode, onWIP.MOCode, true) != 0) { if (produceDetail.Status == ProduceDetailStatus.ProduceDetailStatus_Open) { produceDetail.EndDate = lastSecondEnv.DBDateTime.DBDate; produceDetail.EndTime = lastSecondEnv.DBDateTime.DBTime; produceDetail.Duration = FormatHelper.GetSpanSeconds(produceDetail.BeginDate, produceDetail.BeginTime, produceDetail.EndDate, produceDetail.EndTime); produceDetail.Status = ProduceDetailStatus.ProduceDetailStatus_Close; produceDetail.MaintainUser = onWIP.MaintainUser; performanceFacade.UpdateProduceDetail(produceDetail); } int manCount = performanceFacade.QueryLine2ManDetailCount(string.Empty, nowEnv.StepSequence.StepSequenceCode, string.Empty, string.Empty, 0, string.Empty, performanceFacade.GetLine2ManDetailStatusList(true)); ProduceDetail newProduceDetail = performanceFacade.CreateNewProduceDetail(); newProduceDetail.SSCode = onWIP.StepSequenceCode; newProduceDetail.ShiftDate = nowEnv.ShiftDate; newProduceDetail.ShiftCode = nowEnv.Shift.ShiftCode; newProduceDetail.BeginDate = nowEnv.DBDateTime.DBDate; newProduceDetail.BeginTime = nowEnv.DBDateTime.DBTime; newProduceDetail.EndDate = nowEnv.GetShiftEndDate(); newProduceDetail.EndTime = nowEnv.Shift.ShiftEndTime; newProduceDetail.Duration = FormatHelper.GetSpanSeconds(newProduceDetail.BeginDate, newProduceDetail.BeginTime, newProduceDetail.EndDate, newProduceDetail.EndTime); newProduceDetail.Status = ProduceDetailStatus.ProduceDetailStatus_Open; newProduceDetail.ManCount = manCount; newProduceDetail.MOCode = onWIP.MOCode; newProduceDetail.MaintainUser = onWIP.MaintainUser; performanceFacade.AddProduceDetail(newProduceDetail); } } else { if (produceDetail.Status == ProduceDetailStatus.ProduceDetailStatus_Open) { produceDetail.Status = ProduceDetailStatus.ProduceDetailStatus_Close; produceDetail.MaintainUser = onWIP.MaintainUser; performanceFacade.UpdateProduceDetail(produceDetail); } NewProduceDetail(onWIP, nowEnv, performanceFacade); } } } return(returnValue); }