Ejemplo n.º 1
0
    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

    }
Ejemplo n.º 2
0
    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
    }