李狗蛋 63782940f4 1
2025-04-22 19:26:31 +08:00

73 lines
3.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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")
{
//变更类型为变更前,执行复制行操作
}
}
}
}
});
}
}
}
}
}