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); } }
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); }