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