73 lines
3.3 KiB
C#
Raw Normal View History

2025-04-22 19:26:31 +08:00
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Dynamic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.PRD_PPBOMCHANGE
{
[Description("表单插件:生产用料清单变更单,点击批量替换#按钮实现批量替换功能"), HotUpdate]
public class PLTH : AbstractDynamicFormPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
//按钮点击事件
if (e.BarItemKey.Equals("GZTH_PLTH", StringComparison.OrdinalIgnoreCase))
{
string resultWlFID = "";
//获取单据的生产组织的FID值
var FPrdOrg = (Kingdee.BOS.Orm.DataEntity.DynamicObject)this.View.Model.GetValue("FPrdOrgId");
if (FPrdOrg != null)
{
//获取生产组织ID值
var FPrdOrgId = Convert.ToString(FPrdOrg["Id"]);
//打开动态表单,并对动态表单传值
DynamicFormShowParameter parameter = new DynamicFormShowParameter();
//动态表单ID值
parameter.FormId = "YKQC_SCYLQDBGPLTH";
parameter.MultiSelect = false;
//获取生产组织的FID值发送到打开的动态表单
parameter.CustomComplexParams.Add("EntryPrimaryKeys", FPrdOrgId);
this.View.ShowForm(parameter, result =>
{
if (result.ReturnData != null)
{
//记录动态窗口的返回值
resultWlFID = result.ReturnData.ToString();
//获取单据体数据包
var entiy = this.View.BillBusinessInfo.GetEntity("FEntity");
var entityObjs = this.View.Model.GetEntityDataObject(entiy);
if (entityObjs != null)
{
foreach (var entityObj in entityObjs)
{
/*
0*/
if (Convert.ToString(entityObj["ChangeType"]) == "3")
{
//变更类型为变更后分子赋值为0
this.View.Model.SetItemValueByNumber("FNumerator", "0", Convert.ToInt32(entityObj["Seq"])-1);
}
if (Convert.ToString(entityObj["ChangeType"]) == "3")
{
//变更类型为变更前,执行复制行操作
}
}
}
}
});
}
}
}
}
}