Beispiel #1
0
        public static long CreateWorkShopPackJson(string json)
        {
            var dto = JsonConvert.DeserializeObject <WorkShopDto>(json);

            using (var session = Dmo.NewSession())
            {
                var bl  = BIFactory.Create <IWorkShopPackBillBL>(session);
                var dmo = new WorkShopPackBill();
//              dmo.MiddleWorkBillID = dto.MiddleWorkBillID;
                dmo.Domain_ID         = DomainContext.Current.ID;
                dmo.AccountingUnit_ID = dto.AccountingUnit_ID;
                dmo.Department_ID     = dto.Department_ID;
                dmo.Date          = dto.Time;
                dmo.Store_ID      = dto.Store_ID;
                dmo.ChaCarBarCode = dto.Code;

                foreach (var dtodetail in dto.Details)
                {
                    var detail = new WorkShopRecord();
                    detail.Goods_ID        = dtodetail.Goods_ID ?? 0;
                    detail.Goods_Name      = dtodetail.Goods_Name;
                    detail.Remark          = dtodetail.CalculateSpec_Name;
                    detail.Number          = dtodetail.Number;
                    detail.SecondNumber    = dtodetail.SecondNumber;
                    detail.SecondNumber2   = dtodetail.SecondNumber2;
                    detail.ChaCarBoardCode = dtodetail.ChaCarBarCode;
                    detail.BarCode         = dtodetail.Code;


                    var id = GetProductIdByName(session, dtodetail.PlanNumber);
                    if (id == null)
                    {
                        //throw new Exception("生产计划中不存在" + dtodetail.PlanNumber + "计划号");
                    }
                    detail.PlanNumber_ID = id;
                    //if (detail.Goods_ID == 0)
                    //{
                    //    var goodsid = GetGoodsIdByName(session, detail.Goods_Name);
                    //    if (goodsid == null || goodsid == 0)
                    //    {
                    //        throw new Exception("没有找到计数名称:" + detail.Goods_Name + " 对应的存货");
                    //    }
                    //    detail.Goods_ID = goodsid.Value;
                    //}
                    dmo.Details.Add(detail);
                }

                bl.Insert(dmo);
                bl.Check(dmo);
                session.Commit();
                return(dmo.ID);
            }
        }
Beispiel #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 selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货)
                {
                    Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true
                });
                selectEmp.SelectedValueChanged += delegate
                {
                    _detailGrid.GetFromUI();
                    if (!selectEmp.IsEmpty)
                    {
                        var empID = long.Parse(selectEmp.Value);

                        var d = new WorkShopRecord()
                        {
                            Goods_ID = empID
                        };
                        DmoUtil.RefreshDependency(d, "Goods_ID");
                        Dmo.Details.Add(d);
                    }
                    selectEmp.Clear();
                    _detailGrid.DataBind();
                };
            }

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



            _detailGrid = new DFEditGrid(editor)
            {
                DFGridSetEnabled = false, Width = Unit.Percentage(100)
            };


            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code"));

            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("PlanNumber_Name"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("ChaCarBoardCode"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("BarCode"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit"));

            _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber2"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnitII"));
            _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Remark"));
            var section = mPageLayoutManager.AddSection("DetaiColumns", "明细列");

            titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name);
            section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(WorkShopRecord)));

            vPanel.Add(_detailGrid);
        }