public void InitPageParameter(string flowCode) { IList<RoutingDetail> routingDetailList = new List<RoutingDetail>(); if (flowCode != null && flowCode.Length > 0) { this.FlowCode = flowCode; try { Flow flow = this.TheFlowMgr.CheckAndLoadFlow(flowCode); if (flow.Routing != null) { routingDetailList = this.TheRoutingDetailMgr.GetRoutingDetail(flow.Routing); } } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); return; } } else { this.FlowCode = ""; } #region 初始化使用的列 for (int i = 8; i < (8 + routingDetailList.Count); i++) { this.GV_List.Columns[i].Visible = true; this.GV_List.Columns[i].HeaderText = routingDetailList[i - 8].Activity; } #endregion #region 隐藏多余列 if (routingDetailList.Count == 0) { this.GV_List.Columns[7].Visible = true; } else { this.GV_List.Columns[7].Visible = false; } for (int i = (8 + routingDetailList.Count); i < 28; i++) { this.GV_List.Columns[i].Visible = false; } #endregion #region 查询 DetachedCriteria selectCriteria = DetachedCriteria.For(typeof(InProcessLocationDetailTrackView)); selectCriteria.CreateAlias("OrderDetail", "od"); selectCriteria.CreateAlias("Flow", "f"); if (flowCode != null && flowCode.Trim().Length > 0) selectCriteria.Add(Expression.Eq("f.Code", flowCode)); selectCriteria.AddOrder(Order.Asc("od.Item")); selectCriteria.AddOrder(Order.Asc("od.Uom")); selectCriteria.AddOrder(Order.Asc("od.UnitCount")); selectCriteria.AddOrder(Order.Asc("CurrentOperation")); IList<InProcessLocationDetailTrackView> inProcessLocationDetailTrackViewList = this.TheCriteriaMgr.FindAll<InProcessLocationDetailTrackView>(selectCriteria); #endregion #region 转换查询结果为IntransitDetail if (inProcessLocationDetailTrackViewList != null && inProcessLocationDetailTrackViewList.Count > 0) { string oldItemCode = null; string oldUom = null; decimal oldUnitCount = 0; IntransitDetail intransitDetail = null; IList<IntransitDetail> intransitDetailList = new List<IntransitDetail>(); foreach (InProcessLocationDetailTrackView inProcessLocationDetailTrackView in inProcessLocationDetailTrackViewList) { if (oldItemCode == null || oldItemCode != inProcessLocationDetailTrackView.OrderDetail.Item.Code || oldUom != inProcessLocationDetailTrackView.OrderDetail.Uom.Code || oldUnitCount != inProcessLocationDetailTrackView.OrderDetail.UnitCount) { intransitDetail = new IntransitDetail(); intransitDetail.FlowCode = inProcessLocationDetailTrackView.Flow.Code; intransitDetail.PartyFrom = inProcessLocationDetailTrackView.OrderDetail.OrderHead.PartyFrom.Name; intransitDetail.PartyTo = inProcessLocationDetailTrackView.OrderDetail.OrderHead.PartyTo.Code; intransitDetail.ItemCode = inProcessLocationDetailTrackView.OrderDetail.Item.Code; intransitDetail.ItemName = inProcessLocationDetailTrackView.OrderDetail.Item.Description; intransitDetail.ReferenceItem = inProcessLocationDetailTrackView.OrderDetail.ReferenceItemCode; intransitDetail.ItemCategory = inProcessLocationDetailTrackView.OrderDetail.Item.Desc1; intransitDetail.ItemSpec = inProcessLocationDetailTrackView.OrderDetail.Item.Spec; intransitDetail.ItemBrand = inProcessLocationDetailTrackView.OrderDetail.Brand; intransitDetail.Uom = inProcessLocationDetailTrackView.OrderDetail.Uom.Code; intransitDetail.UnitCount = inProcessLocationDetailTrackView.OrderDetail.UnitCount; oldItemCode = inProcessLocationDetailTrackView.OrderDetail.Item.Code; oldUom = inProcessLocationDetailTrackView.OrderDetail.Uom.Code; oldUnitCount = inProcessLocationDetailTrackView.OrderDetail.UnitCount; intransitDetailList.Add(intransitDetail); } switch (FindActvitySeq(routingDetailList, inProcessLocationDetailTrackView.CurrentOperation)) { case 0: intransitDetail.DefaultActivity += inProcessLocationDetailTrackView.Qty; break; case 1: intransitDetail.Activity1 += inProcessLocationDetailTrackView.Qty; break; case 2: intransitDetail.Activity2 += inProcessLocationDetailTrackView.Qty; break; case 3: intransitDetail.Activity3 += inProcessLocationDetailTrackView.Qty; break; case 4: intransitDetail.Activity4 += inProcessLocationDetailTrackView.Qty; break; case 5: intransitDetail.Activity5 += inProcessLocationDetailTrackView.Qty; break; case 6: intransitDetail.Activity6 += inProcessLocationDetailTrackView.Qty; break; case 7: intransitDetail.Activity7 += inProcessLocationDetailTrackView.Qty; break; case 8: intransitDetail.Activity8 += inProcessLocationDetailTrackView.Qty; break; case 9: intransitDetail.Activity9 += inProcessLocationDetailTrackView.Qty; break; case 10: intransitDetail.Activity10 += inProcessLocationDetailTrackView.Qty; break; case 11: intransitDetail.Activity11 += inProcessLocationDetailTrackView.Qty; break; case 12: intransitDetail.Activity12 += inProcessLocationDetailTrackView.Qty; break; case 13: intransitDetail.Activity13 += inProcessLocationDetailTrackView.Qty; break; case 14: intransitDetail.Activity14 += inProcessLocationDetailTrackView.Qty; break; case 15: intransitDetail.Activity15 += inProcessLocationDetailTrackView.Qty; break; case 16: intransitDetail.Activity16 += inProcessLocationDetailTrackView.Qty; break; case 17: intransitDetail.Activity17 += inProcessLocationDetailTrackView.Qty; break; case 18: intransitDetail.Activity18 += inProcessLocationDetailTrackView.Qty; break; case 19: intransitDetail.Activity19 += inProcessLocationDetailTrackView.Qty; break; case 20: intransitDetail.Activity20 += inProcessLocationDetailTrackView.Qty; break; } } this.lblNoRecordFound.Visible = false; this.GV_List.DataSource = intransitDetailList; this.GV_List.DataBind(); } else { this.lblNoRecordFound.Visible = true; this.GV_List.DataSource = null; this.GV_List.DataBind(); } #endregion }
public void InitPageParameter(string flowCode) { this.FlowCode = flowCode; IList <RoutingDetail> routingDetailList = new List <RoutingDetail>(); try { Flow flow = this.TheFlowMgr.CheckAndLoadFlow(flowCode); if (flow.Routing != null) { routingDetailList = this.TheRoutingDetailMgr.GetRoutingDetail(flow.Routing, DateTime.Now); } } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); return; } #region 初始化使用的列 for (int i = 8; i < (8 + routingDetailList.Count); i++) { this.GV_List.Columns[i].Visible = true; this.GV_List.Columns[i].HeaderText = routingDetailList[i - 8].Activity; } #endregion #region 隐藏多余列 if (routingDetailList.Count == 0) { this.GV_List.Columns[7].Visible = true; } else { this.GV_List.Columns[7].Visible = false; } for (int i = (8 + routingDetailList.Count); i < 28; i++) { this.GV_List.Columns[i].Visible = false; } #endregion #region 查询 DetachedCriteria selectCriteria = DetachedCriteria.For(typeof(InProcessLocationDetailTrackView)); selectCriteria.CreateAlias("OrderDetail", "od"); selectCriteria.CreateAlias("Flow", "f"); selectCriteria.Add(Expression.Eq("f.Code", flowCode)); selectCriteria.AddOrder(Order.Asc("od.Item")); selectCriteria.AddOrder(Order.Asc("od.Uom")); selectCriteria.AddOrder(Order.Asc("od.UnitCount")); selectCriteria.AddOrder(Order.Asc("CurrentOperation")); IList <InProcessLocationDetailTrackView> inProcessLocationDetailTrackViewList = this.TheCriteriaMgr.FindAll <InProcessLocationDetailTrackView>(selectCriteria); #endregion #region 转换查询结果为IntransitDetail if (inProcessLocationDetailTrackViewList != null && inProcessLocationDetailTrackViewList.Count > 0) { string oldItemCode = null; string oldUom = null; decimal oldUnitCount = 0; IntransitDetail intransitDetail = null; IList <IntransitDetail> intransitDetailList = new List <IntransitDetail>(); foreach (InProcessLocationDetailTrackView inProcessLocationDetailTrackView in inProcessLocationDetailTrackViewList) { if (oldItemCode == null || oldItemCode != inProcessLocationDetailTrackView.OrderDetail.Item.Code || oldUom != inProcessLocationDetailTrackView.OrderDetail.Uom.Code || oldUnitCount != inProcessLocationDetailTrackView.OrderDetail.UnitCount) { intransitDetail = new IntransitDetail(); intransitDetail.PartyFrom = inProcessLocationDetailTrackView.OrderDetail.OrderHead.PartyFrom.Name; intransitDetail.PartyTo = inProcessLocationDetailTrackView.OrderDetail.OrderHead.PartyTo.Name; intransitDetail.ItemCode = inProcessLocationDetailTrackView.OrderDetail.Item.Code; intransitDetail.ItemName = inProcessLocationDetailTrackView.OrderDetail.Item.Description; intransitDetail.ReferenceItem = inProcessLocationDetailTrackView.OrderDetail.ReferenceItemCode; intransitDetail.Uom = inProcessLocationDetailTrackView.OrderDetail.Uom.Code; intransitDetail.UnitCount = inProcessLocationDetailTrackView.OrderDetail.UnitCount; oldItemCode = inProcessLocationDetailTrackView.OrderDetail.Item.Code; oldUom = inProcessLocationDetailTrackView.OrderDetail.Uom.Code; oldUnitCount = inProcessLocationDetailTrackView.OrderDetail.UnitCount; intransitDetailList.Add(intransitDetail); } switch (FindActvitySeq(routingDetailList, inProcessLocationDetailTrackView.CurrentOperation)) { case 0: intransitDetail.DefaultActivity += inProcessLocationDetailTrackView.Qty; break; case 1: intransitDetail.Activity1 += inProcessLocationDetailTrackView.Qty; break; case 2: intransitDetail.Activity2 += inProcessLocationDetailTrackView.Qty; break; case 3: intransitDetail.Activity3 += inProcessLocationDetailTrackView.Qty; break; case 4: intransitDetail.Activity4 += inProcessLocationDetailTrackView.Qty; break; case 5: intransitDetail.Activity5 += inProcessLocationDetailTrackView.Qty; break; case 6: intransitDetail.Activity6 += inProcessLocationDetailTrackView.Qty; break; case 7: intransitDetail.Activity7 += inProcessLocationDetailTrackView.Qty; break; case 8: intransitDetail.Activity8 += inProcessLocationDetailTrackView.Qty; break; case 9: intransitDetail.Activity9 += inProcessLocationDetailTrackView.Qty; break; case 10: intransitDetail.Activity10 += inProcessLocationDetailTrackView.Qty; break; case 11: intransitDetail.Activity11 += inProcessLocationDetailTrackView.Qty; break; case 12: intransitDetail.Activity12 += inProcessLocationDetailTrackView.Qty; break; case 13: intransitDetail.Activity13 += inProcessLocationDetailTrackView.Qty; break; case 14: intransitDetail.Activity14 += inProcessLocationDetailTrackView.Qty; break; case 15: intransitDetail.Activity15 += inProcessLocationDetailTrackView.Qty; break; case 16: intransitDetail.Activity16 += inProcessLocationDetailTrackView.Qty; break; case 17: intransitDetail.Activity17 += inProcessLocationDetailTrackView.Qty; break; case 18: intransitDetail.Activity18 += inProcessLocationDetailTrackView.Qty; break; case 19: intransitDetail.Activity19 += inProcessLocationDetailTrackView.Qty; break; case 20: intransitDetail.Activity20 += inProcessLocationDetailTrackView.Qty; break; } } this.lblNoRecordFound.Visible = false; this.GV_List.DataSource = intransitDetailList; this.GV_List.DataBind(); } else { this.lblNoRecordFound.Visible = true; this.GV_List.DataSource = null; this.GV_List.DataBind(); } #endregion }