Exemple #1
0
        private void CreateFrozenOutStore(WorkShopPackBill dmo)
        {
            var bl = BIFactory.Create <IFrozenOutStoreBL>(Session);
            var bo = new FrozenOutStore();

            bl.InitNewDmo(bo);
            bo.AccountingUnit_ID = dmo.AccountingUnit_ID;
            bo.Department_ID     = dmo.Department_ID;
            bo.WorkBill_ID       = dmo.ID;
            bo.Date = dmo.Date;
            var group = dmo.Details.GroupBy(x => new { x.PlanNumber_ID, x.Goods_ID });

            foreach (var one in group)
            {
                var de = new FrozenOutStore_Detail();
                de.Goods2_ID = one.Key.Goods_ID;
                de.Goods_ID  = GetBanChengPinByGoodsID(one.Key.Goods_ID) ?? 0;
                DmoUtil.RefreshDependency(de, "Goods_ID", "Goods2_ID");
                de.PlanNumber_ID = one.Key.PlanNumber_ID;
                de.Number        = one.Sum(x => (x.Number ?? 0).Value);
                if (de.Goods_SecondUnitII_MainUnitRatio != null && de.Goods_SecondUnitII_MainUnitRatio != 0)
                {
                    de.SecondNumber2 = de.Number / de.Goods_SecondUnitII_MainUnitRatio * de.Goods_SecondUnitII_SecondUnitRatio;
                }
                if (de.Goods_MainUnitRatio != null && de.Goods_MainUnitRatio != 0)
                {
                    de.SecondNumber = de.Number / de.Goods_MainUnitRatio * de.Goods_SecondUnitRatio;
                }



                bo.Details.Add(de);
            }
            bl.Insert(bo);
        }
Exemple #2
0
        private void AddDetails(TitlePanel titlePanel)
        {
            var vPanel = titlePanel.EAdd(new VLayoutPanel());

            if (CanSave)
            {
                var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left));
                hPanel.Add(new SimpleLabel("选择存货"));
                var selectGoods = hPanel.Add(new ChoiceBox(B3ButcheryDataSource.存货带编号)
                {
                    Width = Unit.Pixel(130), EnableMultiSelection = true, EnableInputArgument = true, AutoPostBack = true
                });
                selectGoods.SelectedValueChanged += delegate
                {
                    _detailGrid.GetFromUI();
                    if (!selectGoods.IsEmpty)
                    {
                        foreach (var item in selectGoods.GetValues())
                        {
                            var d = new FrozenOutStore_Detail {
                                Goods_ID = long.Parse(item)
                            };
                            var goods = WebBLUtil.GetSingleDmo <Goods>("ID", long.Parse(item));
                            d.Goods_MainUnit             = goods.MainUnit;
                            d.Goods_Name                 = goods.Name;
                            d.Goods_Code                 = goods.Code;
                            d.Goods_UnitConvertDirection = goods.UnitConvertDirection;

                            Dmo.Details.Add(d);
                        }
                    }
                    selectGoods.Clear();
                    _detailGrid.DataBind();
                };

                var addGoodsbt = hPanel.Add(new DialogButton
                {
                    Text = "选择存货",
                });
                addGoodsbt.Url    = "/B3Butchery/Dialogs/SelectGoodsDialog.aspx";
                addGoodsbt.Click += delegate
                {
                    _detailGrid.GetFromUI();
                    var details = DialogUtil.GetCachedObj <TemGoodsDetail>(this);
                    foreach (var temGoodsDetail in details)
                    {
                        var detail = new FrozenOutStore_Detail {
                            Goods_ID = temGoodsDetail.Goods_ID
                        };
                        //DmoUtil.RefreshDependency(detail, "Goods_ID");
                        var goods = WebBLUtil.GetSingleDmo <Goods>("ID", temGoodsDetail.Goods_ID);
                        detail.Goods_MainUnit             = goods.MainUnit;
                        detail.Goods_Name                 = goods.Name;
                        detail.Goods_Code                 = goods.Code;
                        detail.Goods_UnitConvertDirection = goods.UnitConvertDirection;
                        Dmo.Details.Add(detail);
                    }
                    _detailGrid.DataBind();
                };
            }

            var editor = new DFCollectionEditor <FrozenOutStore_Detail>(() => Dmo.Details)
            {
                AllowDeletionFunc = () => CanSave,
                CanDeleteFunc     = detail => true,
                IsEditableFunc    = (field, detail) => CanSave
            };

            _detailGrid = new DFEditGrid(editor)
            {
                DFGridSetEnabled = false, Width = Unit.Percentage(100)
            };
            var productPlanCol = new DFEditGridColumn <DFChoiceBox>("ProductPlan_ID");

            productPlanCol.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e)
            {
                e.Control.DataKind            = B3ButcheryDataSource.计划号;
                e.Control.DFDisplayField      = "ProductPlan_Name";
                e.Control.EnableInputArgument = true;
                e.Control.EnableTopItem       = true;
                e.Control.Width = Unit.Pixel(120);
            };

            _detailGrid.Columns.EAdd(new DFEditGridColumn <DFValueLabel>("Goods_Name")).HeaderText = "半成品名称";
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code"));
            _detailGrid.Columns.EAdd(new DFEditGridColumn <DFValueLabel>("Goods2_Name")).HeaderText = "成品名称";
            _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit"));
            _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit"));

            _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber2"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit2"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark"));



            new Main_Second2_ConvertRatioRowManager(_detailGrid, "Number", "SecondNumber2");
            mDFContainer.AddNonDFControl(_detailGrid, "$DetailGrid");

            var section = mPageLayoutManager.AddSection("DetaiColumns", "明细列");

            titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name);

            section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(FrozenOutStore_Detail)));

            vPanel.Add(_detailGrid);
        }