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);
}
推荐阅读