历史价格查询案例原创
金蝶云社区-王尚策
王尚策
76人赞赏了该文章 392次浏览 未经作者许可,禁止转载编辑于2024年06月18日 17:21:54

using System;

using System.Collections.Generic;

using System.Linq;

using Kingdee.BOS.Business.Bill.Service.Tax;

using Kingdee.BOS.Contracts;

using Kingdee.BOS.Core.Bill.PlugIn;

using Kingdee.BOS.Core.CommonFilter;

using Kingdee.BOS.Core.DynamicForm;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Core.List;

using Kingdee.BOS.Core.Metadata;

using Kingdee.BOS.Core.Metadata.EntityElement;

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Core.Objects.Permission.Objects;

using Kingdee.BOS.Core.Permission;

using Kingdee.BOS.Core.SqlBuilder;

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.BOS.ServiceHelper;

using Kingdee.K3.Core.SCM;

using Kingdee.K3.SCM.ServiceHelper;



public override void EntryBarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)

        {

            switch (e.BarItemKey.ToUpperInvariant())

            {

                case "TBHISPRICE"://历史价格查询


                    int currentRow = 0; //当前行

                    currentRow = this.View.Model.GetEntryCurrentRowIndex("FPUR_PATENTRY");


                    DynamicObject purOrgId = this.View.Model.GetValue("FPurchaseOrgId") as DynamicObject;

                    bool isViewPurchaseOrder = IsCanView("PUR_PAT", purOrgId);

                    if (isViewPurchaseOrder == false)

                    {

                        this.View.ShowErrMessage(Kingdee.BOS.Resource.ResManager.LoadKDString("您无历史价格查询权限,被授权后方可查看", "004011030002014", BOS.Resource.SubSystemType.SCM), "", MessageBoxType.Error);

                        e.Cancel = true;

                        return;

                    }




                    if (currentRow > -1)

                    {

                        DynamicObject materailId = this.View.Model.GetValue("FMaterialId", currentRow) as DynamicObject;

                        DynamicObject materialName = this.View.Model.GetValue("FMaterialName", currentRow) as DynamicObject;

                        DynamicObject unitIdObj = this.View.Model.GetValue("FUnitID", currentRow) as DynamicObject;

                        DynamicObject auxPropId = this.View.Model.GetValue("FAuxPropId", currentRow) as DynamicObject;

                        DynamicObject settleCurrId = this.View.Model.GetValue("FCurrencyID", currentRow) as DynamicObject;

                        string FISINCLUDEDTAX = this.View.Model.GetValue("FIsIncludedTax", currentRow).ToString();



                        string materialIds = materailId != null ? Convert.ToString(materailId["Id"]) : "0";

                        string materialNames = materailId != null ? Convert.ToString(materailId["Name"]) : "";

                        string materialNumbers = materailId != null ? Convert.ToString(materailId["NUMBER"]) : "";

                        string auxPropIds = auxPropId != null ? Convert.ToString(auxPropId["Id"]) : "0";

                        string unitIds = unitIdObj != null ? Convert.ToString(unitIdObj["Id"]) : "0";



                        if (purOrgId == null || settleCurrId == null || materailId == null)

                        {

                            this.View.ShowErrMessage(Kingdee.BOS.Resource.ResManager.LoadKDString("采购组织、币别、物料为必填项,请先确认录入", "004011030002017", BOS.Resource.SubSystemType.SCM), "", MessageBoxType.Error);

                            e.Cancel = true;

                            return;

                        }


                        //以报表形式展示历史价格数据

                        PriceQueryRpt(

                            Convert.ToString(purOrgId["Id"]),

                            materialIds,

                            materialNames,

                            materialNumbers,

                            unitIds,

                            auxPropIds,

                            Convert.ToString(settleCurrId["Id"]),

                            0,

                            FISINCLUDEDTAX);

                    }

                    break;

            }

        }







/// <summary>

        /// 报表展示界面

        /// </summary>

        /// <param name="purOrgId"></param>

        /// <param name="supplierId"></param>

        /// <param name="sourceType"></param>

        /// <param name="dateFrom"></param>

        /// <param name="dateTo"></param>

        /// <param name="dataSource"></param>

        private void PriceQueryRpt(string purOrgId, string materials, string materialNames, string materailNumbers, string unitIds, string auxPropIds, string settleCurrId, long currentRow, string FISINCLUDEDTAX)

        {

            DynamicFormShowParameter dyForm = new DynamicFormShowParameter();


            dyForm.FormId = "PUR_HistoryPrice";

            dyForm.ParentPageId = this.View.PageId;

            dyForm.CustomParams.Add("PurOrgId", purOrgId);

            dyForm.CustomParams.Add("MaterialNames", materialNames);

            dyForm.CustomParams.Add("MaterialNumbers", materailNumbers);

            dyForm.CustomParams.Add("MaterialIds", materials);

            dyForm.CustomParams.Add("UnitIds", unitIds);

            dyForm.CustomParams.Add("AuxPropIds", auxPropIds);

            dyForm.CustomParams.Add("SettleCurrId", settleCurrId);

            dyForm.CustomParams.Add("CurrentRow", currentRow.ToString());

            dyForm.CustomParams.Add("FISINCLUDEDTAX", FISINCLUDEDTAX);

            dyForm.CustomParams.Add("SOURCEFORMID", this.View.BusinessInfo.GetForm().Id);

            dyForm.CustomParams.Add("DateNow", Convert.ToString(Kingdee.BOS.ServiceHelper.TimeServiceHelper.GetSystemDateTime(this.Context)));

            this.View.ShowForm(dyForm);


        }


赞 76