Esempio n. 1
0
        private void CreateWoIssueByDetail(woPoTotal wpTotal, Session session)
        {
            XPCollection<SalesOrderLine> soLines = new XPCollection<SalesOrderLine>(session);
            soLines.Criteria = CriteriaOperator.Parse(string.Format("Item.Oid == '{0}' AND OrderStatus = '{1}' ", wpTotal.Item.Oid, SalesOrderLine.SalesOrderStatus.Active));

            SortingCollection sCollection = new SortingCollection();
            sCollection.Add(new SortProperty("PoDate", DevExpress.Xpo.DB.SortingDirection.Descending));
            sCollection.Add(new SortProperty("LineNo", DevExpress.Xpo.DB.SortingDirection.Descending));

            soLines.Sorting = sCollection;

            float remainQty = wpTotal.Wo_Po * -1;
            woIssue woIssue;

            foreach (SalesOrderLine soLine in soLines)
            {
                woIssue = new woIssue();
                woIssue.Item = soLine.Item;
                woIssue.WoNeedDate = soLine.NeedDate;

                if (soLine.NeedQty > remainQty)
                {
                    woIssue.WoNeedQty = remainQty;
                    remainQty = 0;
                }
                else
                {
                    woIssue.WoNeedQty = soLine.NeedQty;
                    remainQty = remainQty - soLine.NeedQty;
                }
                woIssue.SalesOrderLine = soLine;
                _woIssues.Add(woIssue);

                if (remainQty == 0)
                    return;
            }

            woIssue = new woIssue();
            woIssue.Item = wpTotal.Item;
            woIssue.WoNeedDate = DateTime.Today.AddDays(woIssue.Item.LeadTime);
            woIssue.WoNeedQty = remainQty;

            _woIssues.Add(woIssue);
        }
Esempio n. 2
0
        private void CreateWoIssue(woPoTotal wpTotal)
        {
            woIssue woIssue = new woIssue();
            woIssue.Item = wpTotal.Item;
            woIssue.WoNeedDate = DateTime.Today.AddDays(woIssue.Item.LeadTime);
            woIssue.WoNeedQty = wpTotal.Wo_Po * -1;

            _woIssues.Add(woIssue);
        }