Ejemplo n.º 1
0
        void SaveBtnClick(object sender, EventArgs e)
        {
            grid.GetFromUI();
            var data = grid.CurrentData.Data;

            using (var context = new TransactionContext())
            {
                foreach (var row in data.Rows)
                {
                    var refObj = new GoodsReferencePrice();
                    refObj.Goods_ID       = (long)row["ID"];
                    refObj.ReferencePrice = (decimal?)row["ReferencePrice"];
                    refObj.Remark         = (string)row["Remark"];
                    if (refObj.ReferencePrice == null)
                    {
                        DeleteConfigIfExist(refObj.Goods_ID, context.Session);
                    }
                    else
                    {
                        context.Session.AddInsertOrUpdate(refObj);
                    }
                }
                context.Commit();
            }
            AspUtil.Alert(this, "保存成功");
            grid.DataBind();
        }
Ejemplo n.º 2
0
 private void AddModelAction(ButtonGroup buttonGroup)
 {
     buttonGroup.Actions.Add(new SimpleServerAction("模板", () => true, delegate
     {
         string url = "~/B3Butchery/Bills/ProductInStore_Temp_/ProductInStore_TempEdit.aspx";
         AspUtil.Redirect(url);
     }));
 }
Ejemplo n.º 3
0
        private void CreateOutputDetailPanel(VLayoutPanel vPanel)
        {
            var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left));

            hPanel.Add(new LiteralControl("<h2>明细清单:</h2>"));
            if (CanSave)
            {
                hPanel.Add(new TSButton("载入明细")).Click += delegate
                {
                    GetFromUI();
                    Dmo.Details.Clear();
                    AddLoadDetailQy();
                    outputDetailGrid.DataBind();
                    AspUtil.Alert(this, "载入投入明细成功");
                };

                hPanel.Add(new SimpleLabel("选择存货"));
                var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货)
                {
                    Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true
                });
                selectEmp.SelectedValueChanged += delegate
                {
                    outputDetailGrid.GetFromUI();
                    if (!selectEmp.IsEmpty)
                    {
                        var empID = long.Parse(selectEmp.Value);
                        if (!Dmo.Details.Any(x => x.Goods_ID == empID))
                        {
                            var d = new ProduceInput_Detail()
                            {
                                Goods_ID = empID
                            };
                            DmoUtil.RefreshDependency(d, "Goods_ID");
                            Dmo.Details.Add(d);
                        }
                    }
                    selectEmp.Clear();
                    outputDetailGrid.DataBind();
                };
            }
            var detailEditor = new DFCollectionEditor <ProduceInput_Detail>(() => Dmo.Details)
            {
                AllowDeletionFunc = () => CanSave,
                CanDeleteFunc     = detail => CanSave,
                IsEditableFunc    = (field, detail) => CanSave
            };

            outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor)
            {
                Width = Unit.Percentage(100)
            });
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code"));
            AddDetailColumn(outputDetailGrid);
        }
Ejemplo n.º 4
0
        protected override void BuildBody(Control container)
        {
            var layoutManager = new LayoutManager("main", mDFInfo, mDFContainer);
            var config        = new AutoLayoutConfig();

            config.Add("Date");
            config.Add("EndDate");
            config.Add("AccountingUnit_ID");
            config.Add("Department_ID");
            config.Add("Employee_ID");
            config.Add("PlanNumber");
            config.Add("ProductType");
            layoutManager.Config = config;
            container.Controls.Add(layoutManager.CreateLayout());

            var planNumberPanel = new HLayoutPanel();

            container.Controls.Add(planNumberPanel);
            planNumberButton = new TSButton();
            planNumberPanel.Add(planNumberButton).Click += delegate
            {
                if (Dmo.BillState == 单据状态.已审核 && !string.IsNullOrEmpty(Dmo.PlanNumber))
                {
                    using (var context = new TransactionContext())
                    {
                        var update = new DQUpdateDom(typeof(ProductPlan));
                        update.Where.Conditions.Add(DQCondition.EQ("PlanNumber", Dmo.PlanNumber));
                        update.Columns.Add(new DQUpdateColumn("PlanNumbers", true));

                        context.Session.ExecuteNonQuery(update);
                        context.Commit();
                    }

                    Dmo.PlanNumbers = true;
                    mBL.Update(Dmo);
                }
                AspUtil.RedirectAndAlert(this, Request.RawUrl, "计划号关闭成功");
            };
            var vPanel = container.EAdd(new VLayoutPanel());

            CreateInputDetailPanel(vPanel);
            CreateOutputDetailPanel(vPanel);
        }
Ejemplo n.º 5
0
        private void AddCopyAndPaste(HLayoutPanel toobar)
        {
            toobar.Add(new TSButton("复制", delegate
            {
                GoodsDetailSummaryClipboardUtil.Copy(Dmo.Details.Select(item => (GoodsDetailSummaryBase)item).ToList());
                AspUtil.Alert(this, "复制成功!");
            }));

            if (CanSave)
            {
                toobar.Add(new TSButton("粘贴", delegate
                {
                    var list = GoodsDetailSummaryClipboardUtil.Paste <ProductNotice_Detail>();
                    foreach (var detail in list)
                    {
                        DmoUtil.RefreshDependency(detail, "Goods_ID");
                        Dmo.Details.Add(detail);
                    }
                    _detailGrid.DataBind();
                }));
            }
        }
Ejemplo n.º 6
0
    public MultiLang(Page currentPage, bool fast, string basicHostName, List <KeyValuePair <string, string> > replaceList)
    {
        this.Page = currentPage;

        this.Request       = Page.Request;
        this.Response      = Page.Response;
        this.BasicHostName = basicHostName;
        string tmp     = Page.Request.ServerVariables["HTTPS"];
        string hostRaw = Page.Request.Headers["Host"];

        this.ReplaceList = replaceList;
        bool isSsl = false;

        string[] tokens;
        string   host = "";

        tokens = hostRaw.Split(':');
        if (tokens.Length >= 1)
        {
            host = tokens[0];
        }

        host = host.ToLower();

        if (tmp != null)
        {
            if (tmp.Equals("on", StringComparison.InvariantCultureIgnoreCase))
            {
                isSsl = true;
            }
        }

        this.IsSSL = isSsl;
        this.Host  = host;

        this.IsUrlModified = Str.StrToBool((string)Request.Headers["SEISAPI_MODIFIED_URL"]);
        this.OriginalUrl   = (string)Request.Headers["SEISAPI_ORIGINAL_URL"];

        int i;

        i = this.OriginalUrl.IndexOf("?");
        if (i != -1)
        {
            this.OriginalUrl = this.OriginalUrl.Substring(0, i);
        }

        if (Str.IsEmptyStr(this.OriginalUrl) || this.IsUrlModified == false)
        {
            this.OriginalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl(Page));
        }

        string s = (string)Request.Headers["SEISAPI_ORIGINAL_FILENAME"];

        if (Str.IsEmptyStr(s) == false)
        {
            this.IsFilenameModified = true;
            this.OriginalFileName   = s;
            this.OriginalFilePath   = (string)Request.Headers["SEISAPI_ORIGINAL_FILEPATH"];
        }

        string langCode = GetCurrentLangCodeFromPath(this.OriginalUrl);

        this.CurrentLanguage     = CoreLanguageList.GetLanguageClassByName(langCode);
        this.CurrentLanguageCode = CurrentLanguage.Name;

        try
        {
            HtmlFileName = AspUtil.WebPathToFilePath(currentPage, AspUtil.GetCurrentRequestUrl(currentPage));
        }
        catch
        {
        }

        if (this.IsFilenameModified)
        {
            HtmlFileName = Path.Combine(Path.GetDirectoryName(HtmlFileName), Path.GetFileName(OriginalFilePath));
        }

        try
        {
            if (fast == false)
            {
                HtmlBody = File.ReadAllText(HtmlFileName, Str.Utf8Encoding);
            }
        }
        catch
        {
        }

        PhysicalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl((currentPage)));

        Args = currentPage.Request.ServerVariables["QUERY_STRING"];

        if (CurrentLanguage == CoreLanguageList.Japanese)
        {
            IsCurrentLanguageSupported = true;
        }
        else
        {
            IsCurrentLanguageSupported = Str.SearchStr(HtmlBody, string.Format("<!-- ml:{0} -->", CurrentLanguage.Name), 0, false) != -1;
        }

        GoogleTranslateUrl = string.Format("http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ja&tl={1}&u={0}",
                                           HttpUtility.UrlEncode((isSsl ? "https://" : "http://") + host + this.OriginalUrl, Str.Utf8Encoding),
                                           this.CurrentLanguageCode);

        OriginalFullUrl = (isSsl ? "https://" : "http://") + host + this.OriginalUrl;

        ContentsPrintLanguage = this.CurrentLanguage;
        if (IsCurrentLanguageSupported == false)
        {
            ContentsPrintLanguage = CoreLanguageList.Japanese;
        }

        if (fast == false)
        {
            mfs             = new MultiLanguageFilterStream(Response.Filter, ContentsPrintLanguage, this.CurrentLanguage, this.BasicHostName, this.ReplaceList);
            mfs.Page        = Page;
            Response.Filter = mfs;
        }
    }
Ejemplo n.º 7
0
 protected override void InitToolBar(HLayoutPanel toolbar)
 {
     base.InitToolBar(toolbar);
     if (User.IsInRole("B3Butchery.报表.生产通知分析"))
     {
         var dataAnysBtn = new TSButton()
         {
             Text = "数据分析", UseSubmitBehavior = false
         };
         dataAnysBtn.OnClientClick = string.Format("OpenUrlInTopTab('{0}','生产通知分析');return false;", WpfPageUrl.ToGlobal(AspUtil.AddTimeStampToUrl("~/B3Butchery/Reports/ProductNoticeReport_/ProductNoticeReport.aspx")));
         toolbar.Add(dataAnysBtn);
     }
 }
Ejemplo n.º 8
0
        private void CreateOutputDetailPanel(VLayoutPanel vPanel)
        {
            var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left));

            hPanel.Add(new LiteralControl("<h2>明细清单:</h2>"));
            if (CanSave)
            {
                hPanel.Add(new TSButton("载入明细")).Click += delegate
                {
                    GetFromUI();
                    Dmo.Details.Clear();
                    AddLoadDetailQy(Dmo);
                    outputDetailGrid.DataBind();
                    AspUtil.Alert(this, "载入产出明细成功");
                };

                hPanel.Add(new SimpleLabel("选择存货"));
                var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货)
                {
                    Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true
                });
                selectEmp.SelectedValueChanged += delegate
                {
                    outputDetailGrid.GetFromUI();
                    if (!selectEmp.IsEmpty)
                    {
                        var empID = long.Parse(selectEmp.Value);
                        if (!Dmo.Details.Any(x => x.Goods_ID == empID))
                        {
                            var d = new ProduceOutput_Detail()
                            {
                                Goods_ID = empID
                            };
                            DmoUtil.RefreshDependency(d, "Goods_ID");
                            Dmo.Details.Add(d);
                        }
                    }
                    selectEmp.Clear();
                    outputDetailGrid.DataBind();
                };
            }
            var detailEditor = new DFCollectionEditor <ProduceOutput_Detail>(() => Dmo.Details);

            detailEditor.AllowDeletionFunc = () => CanSave;
            detailEditor.CanDeleteFunc     = (detail) => CanSave;
            detailEditor.IsEditableFunc    = (field, detail) => CanSave;
            outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor)
            {
                Width = Unit.Percentage(100)
            });

            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name"));
            foreach (var ioc in TypeIOCCenter.GetIOCList <IOCs.BeforeDetailGridApplyLayout>(this.GetType()))
            {
                //仙坛添加数据
                ioc.Invoke(outputDetailGrid);
            }
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber2"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit2"));
            outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark"));


            outputDetailGrid.ValueColumns.Add("Goods_UnitConvertDirection");
            outputDetailGrid.ValueColumns.Add("Goods_MainUnitRatio");
            outputDetailGrid.ValueColumns.Add("Goods_SecondUnitRatio");
            new Main_Second_ConvertRatioRowManager(outputDetailGrid, "Number", "SecondNumber", "SecondNumber2");
        }
Ejemplo n.º 9
0
        private void CreateDetailPanel(TitlePanel titlePanel)
        {
            var hPanel = titlePanel.EAdd(new HLayoutPanel());

            hPanel.Add(new LiteralControl("<h2>入库清单:</h2>"));
            AddToolsBar(hPanel);

            hPanel.Add(new TSButton("复制", delegate
            {
                GoodsDetailSummaryClipboardUtil.Copy(Dmo.Details.Select((item) => (GoodsDetailSummaryBase)item).ToList());
                AspUtil.Alert(this, "复制成功");
            }));

            if (CanSave)
            {
                hPanel.Add(new TSButton("粘贴", delegate
                {
                    var list = GoodsDetailSummaryClipboardUtil.Paste <ProductInStore_Detail>();
                    foreach (var detail in list)
                    {
                        Dmo.Details.Add(detail);

                        DmoUtil.RefreshDependency(detail, "Goods_ID");
                    }
                    detailGrid.DataBind();
                }));
            }
            if (CanSave)
            {
                if (EnableAddSameCargoSpace)
                {
                    AddSameCargoSpace(hPanel);
                }
            }

            var detailGridEditor = new DFCollectionEditor <ProductInStore_Detail>(() => Dmo.Details);

            detailGridEditor.AllowDeletionFunc = () => CanSave;
            detailGridEditor.CanDeleteFunc     = (detail) => CanSave;
            detailGridEditor.IsEditableFunc    = (field, detail) => {
                switch (field.Name)
                {
                case "GoodsBatch_ID":
                    return(GoodsUtil.EnableBatch(detail.Goods_ID, detail.GoodsProperty_ID) && CanSave);

                case "Money":
                    return(false);

                case "SecondNumber":
                    var hasSecondUnit = !string.IsNullOrEmpty(detail.Goods_SecondUnit);
                    return(CanSave && hasSecondUnit);
                }

                return(CanSave);
            };
            detailGrid = titlePanel.EAdd(new DFEditGrid(detailGridEditor)
            {
                Width = Unit.Percentage(100), ShowLineNo = true
            });
            mDFContainer.AddNonDFControl(detailGrid, "$DetailGrid");
            detailGrid.NextRowOnEnter = true;
            detailGrid.LastRowOnDown  = "__DFContainer.getControl('$SelectGoods').behind.focus();";
            if (GlobalFlags.get(B3UnitedInfosConsts.GlobalFlags.库存支持品牌项))
            {
                detailGrid.Columns.Add(new DFEditGridColumn("BrandItem_ID"));
            }
            detailGrid.Columns.Add(new DFEditGridColumn("ProductionDate"));
            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.Add(productPlanCol);
            detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name"));
            detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code"));
            var script = @"
var id =parseInt(this.front.value);
simpleRestCall('/MainSystem/B3Butchery/Rpcs/GoodsBatchRpc/Get',
[id,['ProductionDate']],
function(result,dfContainer){
  dfContainer.setValue('ProductionDate',getDateTime(result.ProductionDate));
},{context:this.dfContainer});";

            detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("GoodsBatch_ID")).InitEditControl += (sender, e) =>
            {
                e.Control.EnableTopItem    = true;
                e.Control.OnBeforeDrop     = "this.codeArgument = dfContainer.getValue('Goods_ID');this.dialogArguments='Goods_ID=' + this.codeArgument+'&TaxRate='+dfContainer.getValue('TaxRate')+'&TmpTaxRate='+dfContainer.getValue('TmpTaxRate')";
                e.Control.DataKind         = B3UnitedInfosConsts.DataSources.存货批次;
                e.Control.DFDisplayField   = "GoodsBatch_Name";
                e.Control.DialogUrl        = WpfPageUrl.ToGlobal("~/B3Butchery/Dialogs/GoodsBatchEdit.aspx?IsNewDialog=1");
                e.Control.OnClientSelected = script;
                e.Control.Width            = Unit.Pixel(160);
            };
            detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec"));
            var cargoSpaceColumn = detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("CargoSpace_ID"));

            cargoSpaceColumn.InitEditControl += (sender, e) =>
            {
                e.Control.EnableTopItem  = true;
                e.Control.OnBeforeDrop   = "this.codeArgument = __DFContainer.getValue('Store_ID');";
                e.Control.DataKind       = B3FrameworksConsts.DataSources.货位;
                e.Control.DFDisplayField = "CargoSpace_Name";
                e.Control.Width          = Unit.Pixel(160);
            };
            detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Number")).SumMode = SumMode.Sum;
            detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit"));
            detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit"));
            detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber")).SumMode = SumMode.Sum;
            if (CheckDefaultRole("隐藏单价"))
            {
                detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Price"));
            }
            AddColumn(detailGrid);
            if (CheckDefaultRole("隐藏单价"))
            {
                detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Money")).SumMode = SumMode.Sum;
            }
            detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark"));
            detailGrid.ValueColumns.Add("Goods_ID");
            detailGrid.ValueColumns.Add("Goods_UnitConvertDirection");
            detailGrid.ValueColumns.Add("Goods_MainUnitRatio");
            detailGrid.ValueColumns.Add("Goods_SecondUnitRatio");
            new MainToSecondConvertRowManger(detailGrid);
            var section = mPageLayoutManager.AddSection("DetailColumns", "明细列");

            section.ApplyLayout(detailGrid, mPageLayoutManager, DFInfo.Get(typeof(ProductInStore_Detail)));
            titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name);
        }