云星空 尾阶材料用途清单查询

云星空 尾阶材料用途清单 自定义动态表单

using Kingdee.BOS.App;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.Log;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Core.Permission;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Text;

namespace K3.App.Service.PlugIn
{
    [Description("尾阶材料用途清单查询")]
    //[Kingdee.BOS.Util.HotUpdate]
    //GSB.K3.App.Service.PlugIn.GETMATERIALPARENTPlug,GSB.K3.App.Service.PlugIn
    public class GETMATERIALPARENTPlug : AbstractDynamicFormPlugIn
    {
        private string Fmaterialid_Number = "";
        public override void OnInitialize(InitializeEventArgs e)
        {
            base.OnInitialize(e);
            var Controlbtn_Tail = this.View.GetControl("F_BHR_CustomData");
            Controlbtn_Tail.SetToolTip("查询物料编码中的第一个物料用途");
            var Controlbtn_Single = this.View.GetControl("F_BHR_CustomSingleData");
            Controlbtn_Single.SetToolTip("查询物料编码中的第一个物料用途");
        }
        public override void ButtonClick(ButtonClickEventArgs e)
        {
            base.ButtonClick(e);
            if (e.Key.Equals("F_BHR_CustomData".ToUpper()) || e.Key.Equals("F_BHR_CustomSingleData".ToUpper()))
            {
                Entity MATERIALPARENTEntity = this.View.BillBusinessInfo.GetEntity("F_BHR_MATERIALPARENTEntity");
                DynamicObjectCollection ParentList = this.View.Model.GetEntityDataObject(MATERIALPARENTEntity);
                ParentList.Clear();
                DynamicObjectCollection EntryFmaterial = this.View.Model.GetValue("FBillMaterialId") as DynamicObjectCollection;

                if (EntryFmaterial == null || EntryFmaterial.Count == 0)
                {
                    this.View.ShowMessage("子项物料为空", Kingdee.BOS.Core.DynamicForm.MessageBoxType.Error);
                    this.View.GetControl("FBillMaterialId").SetFocus();
                    return;
                }
                Fmaterialid_Number = ((EntryFmaterial[0] as DynamicObject)["BillMaterialId"] as DynamicObject)["Number"].ToString();
                string IsSingle = e.Key.Equals("F_BHR_CustomSingleData".ToUpper()) ? "Y" : "N";
                string sql = string.Format(GetConfigEntity.GetConfig("PROC_BHR_GET_MATERIALPARENT"), Fmaterialid_Number, IsSingle);
                var Qloglist = DBServiceHelper.ExecuteDynamicObject(Context, sql);
                // var Qloglist = DBServiceHelper.ExecuteDataSet(Context, sql);
                //this.View.ShowMessage(JsonConvert.SerializeObject(Qloglist));
                if (Qloglist == null || Qloglist.Count == 0)
                    return;
                foreach (DynamicObject Dobj in Qloglist)
                {   //每一行的值定义成 DynamicObject类型
                    DynamicObject row = new DynamicObject(MATERIALPARENTEntity.DynamicObjectType);
                    row["F_BHR_BOMVERSION"] = Dobj["BOMVERSION"];
                    row["F_BHR_PPFMATERIALNO"] = Dobj["PPFMATERIALNO"];
                    row["F_BHR_PFMATERIALNO"] = Dobj["PFMATERIALNO"];
                    row["F_BHR_PFNAME"] = Dobj["FNAME"];
                    row["F_BHR_FSPECIFICATION"] = Dobj["FSPECIFICATION"];
                    row["F_BHR_FUNITNO"] = Dobj["FUNITNO"];
                    row["F_BHR_ASSOCIATION"] = Dobj["ASSOCIATION"];
                    row["F_BHR_FQTY"] = Dobj["FQTY"];
                    row["F_BHR_FPOSITIONNO"] = Dobj["FPOSITIONNO"];
                    row["F_BHR_FMATERIALTYPE"] = Dobj["FMATERIALTYPE"];
                    row["F_BHR_FREPLACEGROUP"] = Dobj["FREPLACEGROUP"];
                    ParentList.Add(row);
                }
                var tabControl = this.View.GetControl<TabControl>("FTabBottom");
                //此处的FTabBottom_BHR_P为页签的标识
                tabControl.SelectedTabItemKey = "FTabBottom_BHR_P".ToUpper();

                this.View.UpdateView("F_BHR_MATERIALPARENTEntity");
                /*记录操作日志*/
                CustomLog.WriteOperaterLog(Context, "尾阶材料用途清单查询", "ENG_BOMPARENT", this.View.OpenParameter.SubSystemId, "尾阶材料用途清单查询" + Fmaterialid_Number);
            }
        }
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            LogObject log = new LogObject();
            if (e.BarItemKey== "BHR_tbButton")
            {

                Entity MATERIALPARENTEntity = this.View.BillBusinessInfo.GetEntity("F_BHR_MATERIALPARENTEntity");
                DynamicObjectCollection ParentList = this.View.Model.GetEntityDataObject(MATERIALPARENTEntity);
                
                //生成文件名称
                string fileName = string.Format("{0}_{1}", View.BusinessInfo.GetForm().Name + "", DateTime.Now.ToString("yyyyMMddHHmmssff"));//View.BusinessInfo.GetForm().Name
                string fileType = "xlsx";
                string[] illegalStrs = new string[] { "/", "\\" };
                foreach (var str1 in illegalStrs)
                {
                    fileName = fileName.Replace(str1, "");
                }

                fileName = PathUtils.GetValidFileName(fileName);
                string filePath = PathUtils.GetPhysicalPath(KeyConst.TEMPFILEPATH, fileName);
                filePath += "." + fileType;//xlsx文件类型
                string outServicePath = PathUtils.GetServerPath(KeyConst.TEMPFILEPATH, fileName);
                outServicePath += "." + fileType;
                //
                // string mooutServicePath = 
                ExportExcelEntity.DynamicObjectCollectionTOExcel(ParentList, "MATERIALPARENTExporttemplate", fileName, filePath);


                //下载文件
                DynamicFormShowParameter param = new DynamicFormShowParameter();
                param.FormId = "BOS_FileDownLoad";
                param.OpenStyle.ShowType = ShowType.Modal;
                param.CustomParams.Add("IsExportData", "true");
                param.CustomParams.Add("url", outServicePath);
                View.ShowForm(param);

            }
        }

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值