提交 b7606846 authored 作者: 彭寒菲's avatar 彭寒菲

树形维护修改BUG

上级 8e85a7a2
......@@ -43,330 +43,341 @@ using LF.K3.SCM.BusinessPlugin;
[HotUpdate]
public class BomTree1 : AbstractMFGDynamicFormPlugIn
{
private const string PanelKey = "FPanel";
private const string PanelKey = "FPanel";
private const string TreeViewKey = "FTreeView";
private const string TreeViewKey = "FTreeView";
private bool IsSaveSuccess { get; set; }
private bool IsSaveSuccess { get; set; }
private BomTreeViewDataManager BomTreeDatasMger { get; set; }
private BomTreeViewDataManager BomTreeDatasMger { get; set; }
private BomExpandNodeTreeMode CurSelNodeData { get; set; }
private BomExpandNodeTreeMode CurSelNodeData { get; set; }
private TreeView CurTreeView => ((AbstractDynamicFormPlugIn)(object)this).View.GetControl<TreeView>("FTreeView");
private TreeView CurTreeView => ((AbstractDynamicFormPlugIn)(object)this).View.GetControl<TreeView>("FTreeView");
private IDynamicFormView BomView => ((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId);
private IDynamicFormView BomView => ((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId);
protected string CustomCalendarBillPageId { get; set; }
protected string CustomCalendarBillPageId { get; set; }
private PermissionAuthResult authSynsResult { get; set; }
private PermissionAuthResult authSynsResult { get; set; }
public override void OnInitialize(InitializeEventArgs e)
{
base.OnInitialize(e);
CustomCalendarBillPageId = SequentialGuid.NewGuid().ToString();
BomTreeDatasMger = new BomTreeViewDataManager();
}
public override void OnInitialize(InitializeEventArgs e)
{
base.OnInitialize(e);
CustomCalendarBillPageId = SequentialGuid.NewGuid().ToString();
BomTreeDatasMger = new BomTreeViewDataManager();
}
public override void OnLoad(EventArgs e)
{
base.OnLoad(e);
CurSelNodeData = BomTreeDatasMger.CreateDefCurSelNodeData();
CurTreeView.SetRootVisible(visible: false);
long num = MFGBillUtil.GetParam<long>(((AbstractDynamicFormPlugIn)(object)this).View, "BOMID", 0L);
long num2 = MFGBillUtil.GetParam<long>(((AbstractDynamicFormPlugIn)(object)this).View, "MATERIALID", 0L);
if (num > 0 && num2 <= 0)
{
num2 = GetBomMtrl(num);
}
else if (num <= 0 && num2 > 0)
{
long[] materialMasterAndUserOrgId = MaterialServiceHelper.GetMaterialMasterAndUserOrgId(((AbstractDynamicFormPlugIn)this).Context, num2);
num = BOMServiceHelper.GetHightVersionBomKey(((AbstractDynamicFormPlugIn)this).Context, materialMasterAndUserOrgId[0], materialMasterAndUserOrgId[1]);
}
if (num > 0)
{
List<BomExpandNodeTreeMode> list = DoExpand(num, num2);
if (!list.IsEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
}
}
else if (num2 > 0)
{
FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "BD_MATERIAL");
CurSelNodeData.MaterId = BusinessDataServiceHelper.LoadSingle(((AbstractDynamicFormPlugIn)this).Context, (object)num2, formMetaData.BusinessInfo.GetDynamicObjectType(), (OperateOption)null);
if (num <= 0)
{
CurSelNodeData.SupplyerOrg = CurSelNodeData.MaterUseOrg;
}
}
WriteInLog();
ShowCustomBomForm(CurSelNodeData);
}
public override void OnLoad(EventArgs e)
{
base.OnLoad(e);
CurSelNodeData = BomTreeDatasMger.CreateDefCurSelNodeData();
CurTreeView.SetRootVisible(visible: false);
long num = MFGBillUtil.GetParam<long>(((AbstractDynamicFormPlugIn)(object)this).View, "BOMID", 0L);
long num2 = MFGBillUtil.GetParam<long>(((AbstractDynamicFormPlugIn)(object)this).View, "MATERIALID", 0L);
if (num > 0 && num2 <= 0)
{
num2 = GetBomMtrl(num);
}
else if (num <= 0 && num2 > 0)
{
long[] materialMasterAndUserOrgId = MaterialServiceHelper.GetMaterialMasterAndUserOrgId(((AbstractDynamicFormPlugIn)this).Context, num2);
num = BOMServiceHelper.GetHightVersionBomKey(((AbstractDynamicFormPlugIn)this).Context, materialMasterAndUserOrgId[0], materialMasterAndUserOrgId[1]);
}
if (num > 0)
{
List<BomExpandNodeTreeMode> list = DoExpand(num, num2);
if (!list.IsEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
}
}
else if (num2 > 0)
{
FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "BD_MATERIAL");
CurSelNodeData.MaterId = BusinessDataServiceHelper.LoadSingle(((AbstractDynamicFormPlugIn)this).Context, (object)num2, formMetaData.BusinessInfo.GetDynamicObjectType(), (OperateOption)null);
if (num <= 0)
{
CurSelNodeData.SupplyerOrg = CurSelNodeData.MaterUseOrg;
}
}
WriteInLog();
ShowCustomBomForm(CurSelNodeData);
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
if (((AbstractDynamicFormPlugIn)this).Context.IsStandardEdition())
{
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocates").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocates").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbCancelAllocates").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbCancelAllocates").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbBatchAlloc").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbBatchAlloc").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocateInquires").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocateInquires").Enabled = false;
}
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
if (((AbstractDynamicFormPlugIn)this).Context.IsStandardEdition())
{
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocates").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocates").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbCancelAllocates").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbCancelAllocates").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbBatchAlloc").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbBatchAlloc").Enabled = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocateInquires").Visible = false;
((AbstractDynamicFormPlugIn)(object)this).View.GetMainBarItem("tbAllocateInquires").Enabled = false;
}
}
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
switch (e.BarItemKey)
{
case "tbSplitNew":
case "tbNew":
ShowBomTreeForm();
break;
case "tbAllSubmit":
DoBachOper("Submit");
break;
case "tbAllApprove":
DoBachOper("Audit");
break;
case "tbSelectBom":
ReloadFromBom();
break;
case "tbBatchAlloc":
{
if (BomTreeDatasMger.RootNode == null || BomTreeDatasMger.RootNode.children.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可分配的BOM.", "015072000012297", SubSystemType.MFG));
break;
}
string id = BomTreeDatasMger.RootNode.children.First().id;
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeMode(id);
long bomId_Id = bomExpandNodeTreeMode.BomId_Id;
if (bomId_Id == 0)
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可分配的BOM.", "015072000012297", SubSystemType.MFG));
break;
}
string dynamicValue = bomExpandNodeTreeMode.BomId.GetDynamicValue<string>("DocumentStatus");
if (dynamicValue != "C")
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("所选BOM版本未经过审核,不能分配.", "015072000012298", SubSystemType.MFG));
break;
}
if (bomExpandNodeTreeMode.BomId.GetDynamicValue("CreateOrgId_Id", 0L) != bomExpandNodeTreeMode.BomId.GetDynamicValue("UseOrgId_Id", 0L))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowErrMessage("", ResManager.LoadKDString("创建组织和使用组织不同,不能执行批量分配!", "015072000012299", SubSystemType.MFG));
break;
}
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.FormId = "ENG_BOMBatchAllocate";
dynamicFormShowParameter.PageId = Guid.NewGuid().ToString();
DynamicFormShowParameter dynamicFormShowParameter2 = dynamicFormShowParameter;
dynamicFormShowParameter2.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter2.CustomParams.Add("CurrentBomId", bomExpandNodeTreeMode.BomId_Id.ToString());
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter2);
break;
}
case "tbBomSynUpdate":
ShowListDatas();
break;
case "tbTreeCopy":
TreeCopy();
break;
default:
DoChildOper(e.BarItemKey);
break;
case "tbPara":
case "tbParaList":
case "tbClose":
break;
}
}
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
switch (e.BarItemKey)
{
case "tbSplitNew":
case "tbNew":
ShowBomTreeForm();
break;
case "tbAllSubmit":
DoBachOper("Submit");
break;
case "tbAllApprove":
DoBachOper("Audit");
break;
case "tbSelectBom":
ReloadFromBom();
break;
case "tbBatchAlloc":
{
if (BomTreeDatasMger.RootNode == null || BomTreeDatasMger.RootNode.children.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可分配的BOM.", "015072000012297", SubSystemType.MFG));
break;
}
string id = BomTreeDatasMger.RootNode.children.First().id;
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeMode(id);
long bomId_Id = bomExpandNodeTreeMode.BomId_Id;
if (bomId_Id == 0)
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可分配的BOM.", "015072000012297", SubSystemType.MFG));
break;
}
string dynamicValue = bomExpandNodeTreeMode.BomId.GetDynamicValue<string>("DocumentStatus");
if (dynamicValue != "C")
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("所选BOM版本未经过审核,不能分配.", "015072000012298", SubSystemType.MFG));
break;
}
if (bomExpandNodeTreeMode.BomId.GetDynamicValue("CreateOrgId_Id", 0L) != bomExpandNodeTreeMode.BomId.GetDynamicValue("UseOrgId_Id", 0L))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowErrMessage("", ResManager.LoadKDString("创建组织和使用组织不同,不能执行批量分配!", "015072000012299", SubSystemType.MFG));
break;
}
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.FormId = "ENG_BOMBatchAllocate";
dynamicFormShowParameter.PageId = Guid.NewGuid().ToString();
DynamicFormShowParameter dynamicFormShowParameter2 = dynamicFormShowParameter;
dynamicFormShowParameter2.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter2.CustomParams.Add("CurrentBomId", bomExpandNodeTreeMode.BomId_Id.ToString());
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter2);
break;
}
case "tbBomSynUpdate":
ShowListDatas();
break;
case "tbTreeCopy":
TreeCopy();
break;
default:
DoChildOper(e.BarItemKey);
break;
case "tbPara":
case "tbParaList":
case "tbClose":
break;
}
}
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
if ((!(e.BarItemKey != "tbSplitSave") || !(e.BarItemKey != "tbSave") || !(e.BarItemKey != "tbSaveTemp")) && IsSaveSuccess)
{
ReExpandBom();
}
}
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
if ((!(e.BarItemKey != "tbSplitSave") || !(e.BarItemKey != "tbSave") || !(e.BarItemKey != "tbSaveTemp")) && IsSaveSuccess)
{
ReExpandBom();
}
}
private void ReExpandBom()
{
foreach (TreeNode child in CurSelNodeData.CurTreeNode.children)
{
CurTreeView.RemoveNode(child.id);
}
DynamicObject dataObject = BomView.Model.DataObject;
long dynamicObjectItemValue = dataObject.GetDynamicObjectItemValue("Id", 0L);
long dynamicObjectItemValue2 = dataObject.GetDynamicObjectItemValue("MATERIALID_Id", 0L);
if (dynamicObjectItemValue <= 0 || dynamicObjectItemValue2 <= 0)
{
return;
}
List<BomExpandNodeTreeMode> list = DoExpand(dynamicObjectItemValue, dynamicObjectItemValue2);
if (!list.IsEmpty())
{
if (BomTreeDatasMger.IsLstBomNodeModeEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
((AbstractDynamicFormPlugIn)(object)this).View.Session["FormInputParam"] = CurSelNodeData;
}
else
{
BomTreeDatasMger.AddBomNodeMode(CurSelNodeData.CurTreeNode.id, list);
BomTreeDatasMger.ToTreeNodeObject(CurSelNodeData.CurTreeNode);
CurTreeView.AddNodes(CurSelNodeData.CurTreeNode.id, CurSelNodeData.CurTreeNode.children);
CurTreeView.RefreshNode(CurSelNodeData.CurTreeNode.id, CurSelNodeData.CurTreeNode);
}
}
}
private void ReExpandBom()
{
foreach (TreeNode child in CurSelNodeData.CurTreeNode.children)
{
CurTreeView.RemoveNode(child.id);
}
DynamicObject dataObject = BomView.Model.DataObject;
long dynamicObjectItemValue = dataObject.GetDynamicObjectItemValue("Id", 0L);
long dynamicObjectItemValue2 = dataObject.GetDynamicObjectItemValue("MATERIALID_Id", 0L);
if (dynamicObjectItemValue <= 0 || dynamicObjectItemValue2 <= 0)
{
return;
}
List<BomExpandNodeTreeMode> list = DoExpand(dynamicObjectItemValue, dynamicObjectItemValue2);
if (!list.IsEmpty())
{
if (BomTreeDatasMger.IsLstBomNodeModeEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
((AbstractDynamicFormPlugIn)(object)this).View.Session["FormInputParam"] = CurSelNodeData;
}
else
{
BomTreeDatasMger.AddBomNodeMode(CurSelNodeData.CurTreeNode.id, list);
BomTreeDatasMger.ToTreeNodeObject(CurSelNodeData.CurTreeNode);
CurTreeView.AddNodes(CurSelNodeData.CurTreeNode.id, CurSelNodeData.CurTreeNode.children);
CurTreeView.RefreshNode(CurSelNodeData.CurTreeNode.id, CurSelNodeData.CurTreeNode);
}
}
}
public override void BeforeClosed(BeforeClosedEventArgs e)
{
base.BeforeClosed(e);
if (BomView == null || !BomView.Model.DataChanged)
{
return;
}
e.Cancel = true;
BomView.ShowMessage(ResManager.LoadKDString("内容已经修改,是否保存?", "015072000002230", SubSystemType.MFG), MessageBoxOptions.YesNoCancel, delegate(MessageBoxResult result)
{
switch (result)
{
case MessageBoxResult.Yes:
DoChildOper("tbSave");
break;
case MessageBoxResult.No:
BomView.Model.DataChanged = false;
((AbstractDynamicFormPlugIn)(object)this).View.Close();
break;
}
BomView.SendDynamicFormAction(((AbstractDynamicFormPlugIn)(object)this).View);
});
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
public override void BeforeClosed(BeforeClosedEventArgs e)
{
base.BeforeClosed(e);
if (BomView == null || !BomView.Model.DataChanged)
{
return;
}
e.Cancel = true;
BomView.ShowMessage(ResManager.LoadKDString("内容已经修改,是否保存?", "015072000002230", SubSystemType.MFG), MessageBoxOptions.YesNoCancel, delegate (MessageBoxResult result)
{
switch (result)
{
case MessageBoxResult.Yes:
DoChildOper("tbSave");
break;
case MessageBoxResult.No:
BomView.Model.DataChanged = false;
((AbstractDynamicFormPlugIn)(object)this).View.Close();
break;
}
BomView.SendDynamicFormAction(((AbstractDynamicFormPlugIn)(object)this).View);
});
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
public override void TreeNodeClick(TreeNodeArgs e)
{
base.TreeNodeClick(e);
if (BomView != null && BomView.Model.DataChanged)
{
e.Cancel = true;
BomView.ShowMessage(ResManager.LoadKDString("内容已经修改,是否保存?", "015072000002230", SubSystemType.MFG), MessageBoxOptions.YesNoCancel, delegate(MessageBoxResult result)
{
switch (result)
{
case MessageBoxResult.Yes:
DoChildOper("tbSave");
if (IsSaveSuccess)
{
ReExpandBom();
}
if (CurSelNodeData != null)
{
CurTreeView.Select(CurSelNodeData.EntryId);
}
break;
case MessageBoxResult.No:
BomView.Model.DataChanged = false;
return;
}
BomView.SendDynamicFormAction(((AbstractDynamicFormPlugIn)(object)this).View);
});
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeMode(e.NodeId);
if (bomExpandNodeTreeMode == null || !(bomExpandNodeTreeMode.EntryId != CurSelNodeData.EntryId))
{
return;
}
if (bomExpandNodeTreeMode.BomId_Id <= 0 && !ValidatePermission("fce8b1aca2144beeb3c6655eaf78bc34"))
{
e.Cancel = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“新增”权限!", "015072000002209", SubSystemType.MFG)));
}
if (!e.Cancel)
{
if (bomExpandNodeTreeMode.BomId_Id > 0 && CheckBOMIsDeleted(bomExpandNodeTreeMode.BomId_Id))
{
e.Cancel = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("您要读取的数据在系统中不存在,可能已经被删除![ID={0},Type=ENG_BOM]", "015072000018150", SubSystemType.MFG), bomExpandNodeTreeMode.BomId_Id), MessageBoxType.Error);
}
else
{
e.Cancel = !ShowCustomBomForm(bomExpandNodeTreeMode);
}
}
if (!e.Cancel)
{
CurSelNodeData = bomExpandNodeTreeMode;
}
else
{
CurTreeView.Select(CurSelNodeData.EntryId);
}
}
public override void TreeNodeClick(TreeNodeArgs e)
{
base.TreeNodeClick(e);
if (BomView != null && BomView.Model.DataChanged)
{
e.Cancel = true;
BomView.ShowMessage(ResManager.LoadKDString("内容已经修改,是否保存?", "015072000002230", SubSystemType.MFG), MessageBoxOptions.YesNoCancel, delegate (MessageBoxResult result)
{
switch (result)
{
case MessageBoxResult.Yes:
DoChildOper("tbSave");
if (IsSaveSuccess)
{
ReExpandBom();
}
if (CurSelNodeData != null)
{
CurTreeView.Select(CurSelNodeData.EntryId);
}
break;
case MessageBoxResult.No:
BomView.Model.DataChanged = false;
return;
}
BomView.SendDynamicFormAction(((AbstractDynamicFormPlugIn)(object)this).View);
});
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeMode(e.NodeId);
if (bomExpandNodeTreeMode == null || !(bomExpandNodeTreeMode.EntryId != CurSelNodeData.EntryId))
{
return;
}
if (bomExpandNodeTreeMode.BomId_Id <= 0 && !ValidatePermission("fce8b1aca2144beeb3c6655eaf78bc34"))
{
e.Cancel = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“新增”权限!", "015072000002209", SubSystemType.MFG)));
}
if (!e.Cancel)
{
if (bomExpandNodeTreeMode.BomId_Id > 0 && CheckBOMIsDeleted(bomExpandNodeTreeMode.BomId_Id))
{
e.Cancel = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("您要读取的数据在系统中不存在,可能已经被删除![ID={0},Type=ENG_BOM]", "015072000018150", SubSystemType.MFG), bomExpandNodeTreeMode.BomId_Id), MessageBoxType.Error);
}
else
{
e.Cancel = !ShowCustomBomForm(bomExpandNodeTreeMode);
}
}
if (!e.Cancel)
{
CurSelNodeData = bomExpandNodeTreeMode;
}
else
{
CurTreeView.Select(CurSelNodeData.EntryId);
}
}
private bool CheckBOMIsDeleted(long bomId)
{
FormMetadata formMetadata = MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM", true) as FormMetadata;
DynamicObjectType dynamicObjectType = formMetadata.BusinessInfo.GetDynamicObjectType();
DynamicObject[] col = BusinessDataServiceHelper.LoadFromCache(((AbstractDynamicFormPlugIn)this).Context, new object[1] { bomId }, dynamicObjectType);
return col.IsEmpty();
}
private bool CheckBOMIsDeleted(long bomId)
{
FormMetadata formMetadata = MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM", true) as FormMetadata;
DynamicObjectType dynamicObjectType = formMetadata.BusinessInfo.GetDynamicObjectType();
DynamicObject[] col = BusinessDataServiceHelper.LoadFromCache(((AbstractDynamicFormPlugIn)this).Context, new object[1] { bomId }, dynamicObjectType);
return col.IsEmpty();
}
public override void CustomEvents(CustomEventsArgs e)
{
base.CustomEvents(e);
if (e.EventName == "ReflashBomData" && e.EventArgs == "1")
{
BomTreeDatasMger.ReSetBomData(CurTreeView, BomView.Model.DataObject, CurSelNodeData.CurTreeNode.id);
IsSaveSuccess = true;
}
if (e.EventName == "ChangeTreeBySupplyOrg")
{
DeleteChildNote(e.EventArgs);
}
if (e.EventName == "BOMTREETOBOM")
{
((AbstractDynamicFormPlugIn)(object)this).View.Close();
}
}
public override void CustomEvents(CustomEventsArgs e)
{
base.CustomEvents(e);
if (e.EventName == "ReflashBomData" && e.EventArgs == "1")
{
BomTreeDatasMger.ReSetBomData(CurTreeView, BomView.Model.DataObject, CurSelNodeData.CurTreeNode.id);
IsSaveSuccess = true;
}
if (e.EventName == "ChangeTreeBySupplyOrg")
{
DeleteChildNote(e.EventArgs);
}
if (e.EventName == "BOMTREETOBOM")
{
((AbstractDynamicFormPlugIn)(object)this).View.Close();
}
}
private void SetViewRootNode()
{
BomTreeDatasMger.ToTreeNodeObject();
string id = BomTreeDatasMger.RootNode.children.First().id;
string txt = BomTreeDatasMger.RootNode.children.First().text;
var strarry = txt.Split('*');
string number = "";
if (strarry.Length > 0)
{
number = strarry[0];
}
if (number != "")
{
private void SetViewRootNode()
{
BomTreeDatasMger.ToTreeNodeObject();
string id = BomTreeDatasMger.RootNode.children.First().id;
string txt = BomTreeDatasMger.RootNode.children.First().text;
string sql = $@"/*dialect*/with stepCTE AS (
select b.FMATERIALID as 父项物料, a.FMATERIALID as 子项物料,a.FID 父项BOMID,a.FENTRYID 子项ID,b.TreeValue 父项名称,(ma.FNUMBER+'*'+mc.FNAME) 子项名称,
string sql = $@"/*dialect*//*dialect*/with stepCTE AS (
select b.FMATERIALID as 父项物料, a.FMATERIALID as 子项物料,a.FID 父项BOMID,a.FENTRYID 子项ID,b.TreeValue 父项名称,b.wlnumber,(ma.FNUMBER+'*'+mc.FNAME) 子项名称,
1 AS Lev from T_ENG_BOMCHILD a inner join
( select * from
(select (wl.FNUMBER+'*'+wlmc.FNAME) TreeValue,bom.* from T_ENG_BOM bom
(select (wl.FNUMBER+'*'+wlmc.FNAME) TreeValue,wl.FNUMBER as wlnumber,bom.* from T_ENG_BOM bom
left join T_BD_MATERIAL wl on bom.FMATERIALID=wl.FMATERIALID
left join T_BD_MATERIAL_l wlmc on wl.FMATERIALID=wlmc.FMATERIALID and bom.FMATERIALID=wlmc.FMATERIALID)
as T0 where TreeValue='{txt}') b on a.FID=b.FID
as T0 where wlnumber='{number}') b on a.FID=b.FID
inner join T_BD_MATERIAL ma on a.FMATERIALID=ma.FMATERIALID
inner join T_BD_MATERIAL_L mc on a.FMATERIALID=mc.FMATERIALID
union all
select c.f as 父项物料 ,c.z as 子项物料,c.FID 父项BOMID,c.FENTRYID 子项ID,c.TreeValue 父项名称,c.子项名称,cte.Lev+1 from
select c.f as 父项物料 ,c.z as 子项物料,c.FID 父项BOMID,c.FENTRYID 子项ID,c.TreeValue 父项名称,wlnumbe,c.子项名称,cte.Lev+1 from
(
select a.FMATERIALID z ,b.FMATERIALID f,a.FID ,a.FENTRYID,b.TreeValue ,(ma.FNUMBER+'*'+mc.FNAME) 子项名称
select a.FMATERIALID z ,b.FMATERIALID f,a.FID ,a.FENTRYID,b.TreeValue ,(ma.FNUMBER+'*'+mc.FNAME) 子项名称 ,b.wlnumber as wlnumbe
from T_ENG_BOMCHILD a inner join
( select * from
(select (wl.FNUMBER+'*'+wlmc.FNAME) TreeValue,bom.* from T_ENG_BOM bom
(select (wl.FNUMBER+'*'+wlmc.FNAME) TreeValue,wl.FNUMBER as wlnumber,bom.* from T_ENG_BOM bom
inner join T_BD_MATERIAL wl on bom.FMATERIALID=wl.FMATERIALID
inner join T_BD_MATERIAL_l wlmc on wl.FMATERIALID=wlmc.FMATERIALID and bom.FMATERIALID=wlmc.FMATERIALID)
as T0 )b on a.FID=b.FID
......@@ -382,733 +393,735 @@ case f.FERPCLSID when '2' then '1' when '3' then '1' else '2' end FERPCLSID,w.F
left join t_BD_MaterialBase f on stepCTE.子项物料=f.FMATERIALID
left join T_ENG_BOM b on stepCTE.父项BOMID=b.FID
left join T_BD_MATERIAL w on stepCTE.子项物料=w.FMATERIALID
left join T_BD_MATERIAL_L l on stepCTE.子项物料=l.FMATERIALID ";
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
Dictionary<string, List<ChirdNode>> all = new Dictionary<string, List<ChirdNode>>();//所有
Dictionary<string, List<ChirdNode>> Examine = new Dictionary<string, List<ChirdNode>>();//未审核
Dictionary<string, List<ChirdNode>> Disable = new Dictionary<string, List<ChirdNode>>();//禁用
HashSet<string> hs = new HashSet<string>();//自制
for (int i = 0; i < dt.Rows.Count; i++)
{
//所有数据
if (!all.ContainsKey(dt.Rows[i]["父项名称"].ToString()))
{
List<ChirdNode> list = new List<ChirdNode>();
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
all.Add(dt.Rows[i]["父项名称"].ToString(), list);
}
}
//自制委外
if (dt.Rows[i]["FERPCLSID"].ToString() == "1")
{
string ID = dt.Rows[i]["子项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
if (dr.Length <= 0)
{
hs.Add(dt.Rows[i]["子项名称"].ToString());
}
}
//未审核
if (dt.Rows[i]["states"].ToString() == "未审核")
{
if (!Examine.ContainsKey(dt.Rows[i]["父项名称"].ToString()))
{
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
List<ChirdNode> list = new List<ChirdNode>();
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
Examine.Add(dt.Rows[i]["父项名称"].ToString(), list);
left join T_BD_MATERIAL_L l on stepCTE.子项物料=l.FMATERIALID ";
DataTable dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
Dictionary<string, List<ChirdNode>> all = new Dictionary<string, List<ChirdNode>>();//所有
Dictionary<string, List<ChirdNode>> Examine = new Dictionary<string, List<ChirdNode>>();//未审核
Dictionary<string, List<ChirdNode>> Disable = new Dictionary<string, List<ChirdNode>>();//禁用
HashSet<string> hs = new HashSet<string>();//自制
for (int i = 0; i < dt.Rows.Count; i++)
{
//所有数据
if (!all.ContainsKey(dt.Rows[i]["wlnumber"].ToString()))
{
List<ChirdNode> list = new List<ChirdNode>();
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
all.Add(dt.Rows[i]["wlnumber"].ToString(), list);
}
}
//自制委外
if (dt.Rows[i]["FERPCLSID"].ToString() == "1")
{
string ID = dt.Rows[i]["子项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
if (dr.Length <= 0)
{
hs.Add(dt.Rows[i]["FNUMBER"].ToString());
}
}
//未审核
if (dt.Rows[i]["states"].ToString() == "未审核")
{
if (!Examine.ContainsKey(dt.Rows[i]["wlnumber"].ToString()))
{
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
List<ChirdNode> list = new List<ChirdNode>();
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
Examine.Add(dt.Rows[i]["wlnumber"].ToString(), list);
}
}
}
//禁用
if (dt.Rows[i]["Disables"].ToString() == "禁用")
{
if (!Disable.ContainsKey(dt.Rows[i]["父项名称"].ToString()))
{
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
List<ChirdNode> list = new List<ChirdNode>();
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
Disable.Add(dt.Rows[i]["父项名称"].ToString(), list);
}
}
}
}
TreeNode treeNodeLst1 = BomTreeDatasMger.RootNode.children.First();
WalkNode1(treeNodeLst1, all, Examine, Disable, hs);
}
}
}
//禁用
if (dt.Rows[i]["Disables"].ToString() == "禁用")
{
if (!Disable.ContainsKey(dt.Rows[i]["wlnumber"].ToString()))
{
string ID = dt.Rows[i]["父项物料"].ToString();
DataRow[] dr = dt.Select("父项物料='" + ID + "'");
List<ChirdNode> list = new List<ChirdNode>();
for (int j = 0; j < dr.Length; j++)
{
ChirdNode node = new ChirdNode();
node.parentid = dr[j]["父项物料"].ToString();
node.Name = dr[j]["FNAME"].ToString();
node.Number = dr[j]["FNUMBER"].ToString();
node.text = dr[j]["子项名称"].ToString();
list.Add(node);
}
if (list.Count > 0)
{
Disable.Add(dt.Rows[i]["wlnumber"].ToString(), list);
}
}
}
}
TreeNode treeNodeLst1 = BomTreeDatasMger.RootNode.children.First();
WalkNode1(treeNodeLst1, all, Examine, Disable, hs);
CurSelNodeData = BomTreeDatasMger.FindBomNodeMode(id);
CurTreeView.SetRootNode(BomTreeDatasMger.RootNode);
CurTreeView.SetRootVisible(visible: false);
CurTreeView.Select(id);
if (MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsExpandTree", false))
{
TreeNode treeNodeLst = BomTreeDatasMger.RootNode.children.First();
WalkNode(CurTreeView, treeNodeLst);
CurTreeView.InvokeControlMethod("ExpandTree");
}
}
private void WalkNode1(TreeNode treeNodeLst, Dictionary<string, List<ChirdNode>> all, Dictionary<string, List<ChirdNode>> Examine, Dictionary<string, List<ChirdNode>> Disable, HashSet<string> hs)
{
if (Examine.ContainsKey(treeNodeLst.text))
{
treeNodeLst.Forecolor = "#0000FF";
List<TreeNode> nodes = new List<TreeNode>();
var a = Examine[treeNodeLst.text].Count;
for (int i = 0; i < Examine[treeNodeLst.text].Count; i++)
{
TreeNode treeNode = new TreeNode();
treeNode.Number = Examine[treeNodeLst.text][i].Number;
treeNode.Name = Examine[treeNodeLst.text][i].Name;
treeNode.parentid = Examine[treeNodeLst.text][i].parentid;
treeNode.text = Examine[treeNodeLst.text][i].text;
treeNode.id = Examine[treeNodeLst.text][i].Number;
nodes.Add(treeNode);
}
treeNodeLst.children = nodes;
}
if (Disable.ContainsKey(treeNodeLst.text))
{
treeNodeLst.Forecolor = "#EE0000";
List<TreeNode> nodes = new List<TreeNode>();
var a = Disable[treeNodeLst.text].Count;
for (int i = 0; i < Disable[treeNodeLst.text].Count; i++)
{
TreeNode treeNode = new TreeNode();
treeNode.Number = Disable[treeNodeLst.text][i].Number;
treeNode.Name = Disable[treeNodeLst.text][i].Name;
treeNode.parentid = Disable[treeNodeLst.text][i].parentid;
treeNode.text = Disable[treeNodeLst.text][i].text;
nodes.Add(treeNode);
}
treeNodeLst.children = nodes;
}
if (hs.Contains(treeNodeLst.text))
{
treeNodeLst.Forecolor = "#FF00FF";
}
if (treeNodeLst.children.Count <= 0)
{
return;
}
foreach (TreeNode child in treeNodeLst.children)
{
CurTreeView.InvokeControlMethod("ExpandNode", child.id);
WalkNode1(child, all, Examine, Disable, hs);
}
}
private void WalkNode(TreeView CurTreeView, TreeNode treeNodeLst)
{
if (treeNodeLst.children.Count <= 0)
{
return;
}
foreach (TreeNode child in treeNodeLst.children)
{
CurTreeView.InvokeControlMethod("ExpandNode", child.id);
WalkNode(CurTreeView, child);
}
}
CurSelNodeData = BomTreeDatasMger.FindBomNodeMode(id);
CurTreeView.SetRootNode(BomTreeDatasMger.RootNode);
CurTreeView.SetRootVisible(visible: false);
CurTreeView.Select(id);
if (MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsExpandTree", false))
{
TreeNode treeNodeLst = BomTreeDatasMger.RootNode.children.First();
WalkNode(CurTreeView, treeNodeLst);
CurTreeView.InvokeControlMethod("ExpandTree");
}
}
}
private void WalkNode1(TreeNode treeNodeLst, Dictionary<string, List<ChirdNode>> all, Dictionary<string, List<ChirdNode>> Examine, Dictionary<string, List<ChirdNode>> Disable, HashSet<string> hs)
{
var txt = treeNodeLst.text.Split('*')[0];
if (Examine.ContainsKey(txt))
{
treeNodeLst.Forecolor = "#0000FF";
List<TreeNode> nodes = new List<TreeNode>();
//var a = Examine[treeNodeLst.text.Split('*')[0]].Count;
for (int i = 0; i < Examine[txt].Count; i++)
{
TreeNode treeNode = new TreeNode();
treeNode.Number = Examine[txt][i].Number;
treeNode.Name = Examine[txt][i].Name;
treeNode.parentid = Examine[txt][i].parentid;
treeNode.text = Examine[txt][i].text;
treeNode.id = Examine[txt][i].Number;
nodes.Add(treeNode);
}
treeNodeLst.children = nodes;
}
if (Disable.ContainsKey(txt))
{
treeNodeLst.Forecolor = "#EE0000";
List<TreeNode> nodes = new List<TreeNode>();
// var a = Disable[treeNodeLst.text.Split('*')[0]].Count;
for (int i = 0; i < Disable[txt].Count; i++)
{
TreeNode treeNode = new TreeNode();
treeNode.Number = Disable[txt][i].Number;
treeNode.Name = Disable[txt][i].Name;
treeNode.parentid = Disable[txt][i].parentid;
treeNode.text = Disable[txt][i].text;
nodes.Add(treeNode);
}
treeNodeLst.children = nodes;
}
if (hs.Contains(txt))
{
treeNodeLst.Forecolor = "#FF00FF";
}
if (treeNodeLst.children.Count <= 0)
{
return;
}
foreach (TreeNode child in treeNodeLst.children)
{
CurTreeView.InvokeControlMethod("ExpandNode", child.id);
WalkNode1(child, all, Examine, Disable, hs);
}
}
private void WalkNode(TreeView CurTreeView, TreeNode treeNodeLst)
{
if (treeNodeLst.children.Count <= 0)
{
return;
}
foreach (TreeNode child in treeNodeLst.children)
{
CurTreeView.InvokeControlMethod("ExpandNode", child.id);
WalkNode(CurTreeView, child);
}
}
private void DeleteChildNote(string materialId)
{
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeModeByMaterail(Convert.ToInt64(materialId));
if (bomExpandNodeTreeMode == null)
{
return;
}
foreach (TreeNode child in bomExpandNodeTreeMode.CurTreeNode.children)
{
CurTreeView.RemoveNode(child.id);
}
}
private void DeleteChildNote(string materialId)
{
BomExpandNodeTreeMode bomExpandNodeTreeMode = BomTreeDatasMger.FindBomNodeModeByMaterail(Convert.ToInt64(materialId));
if (bomExpandNodeTreeMode == null)
{
return;
}
foreach (TreeNode child in bomExpandNodeTreeMode.CurTreeNode.children)
{
CurTreeView.RemoveNode(child.id);
}
}
private List<BomExpandNodeTreeMode> DoExpand(long bomId_Id, long materialId_Id)
{
MemBomExpandOption_ForPSV memBomExpandOption_ForPSV = BuildBomExpandOption();
List<DynamicObject> list = BuildBomExpandSourceData(bomId_Id, materialId_Id);
List<DynamicObject> bomQueryForwardResult = BomQueryServiceHelper.GetBomQueryForwardResult(((AbstractDynamicFormPlugIn)this).Context, list, memBomExpandOption_ForPSV);
FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "BD_MATERIAL");
FormMetadata formMetaData2 = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM");
ComboField erpClsIdField = formMetaData.BusinessInfo.GetField("FErpClsID") as ComboField;
ComboField dosageTypeField = formMetaData2.BusinessInfo.GetField("FDOSAGETYPE") as ComboField;
bool[] isTreeNameItemsShow = new bool[11]
{
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "BomId", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Number", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Name", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Specification", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ErpClsID", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "DosageType", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ChildUnitId", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Numerator", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Denominator", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "FixScrapQty", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ScrapRate", false)
};
string userParam = MFGBillUtil.GetUserParam<string>(((AbstractDynamicFormPlugIn)(object)this).View, "SplitCode", (string)null);
bool userParam2 = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "OnlyShowIsMainPrd", false);
bool userParam3 = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsShowSubMtrl", false);
List<BomExpandNodeTreeMode> list2 = new List<BomExpandNodeTreeMode>();
foreach (DynamicObject item in bomQueryForwardResult)
{
BomExpandNodeTreeMode bomExpandNodeTreeMode = new BomExpandNodeTreeMode(userParam2, erpClsIdField, dosageTypeField, isTreeNameItemsShow, userParam, userParam3, item);
if (Convert.ToInt64(item["BomLevel"]) == 0 && CurSelNodeData != null)
{
bomExpandNodeTreeMode.ParentBomEntryId = CurSelNodeData.ParentBomEntryId;
}
list2.Add(bomExpandNodeTreeMode);
}
return list2;
}
private List<BomExpandNodeTreeMode> DoExpand(long bomId_Id, long materialId_Id)
{
MemBomExpandOption_ForPSV memBomExpandOption_ForPSV = BuildBomExpandOption();
List<DynamicObject> list = BuildBomExpandSourceData(bomId_Id, materialId_Id);
List<DynamicObject> bomQueryForwardResult = BomQueryServiceHelper.GetBomQueryForwardResult(((AbstractDynamicFormPlugIn)this).Context, list, memBomExpandOption_ForPSV);
FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "BD_MATERIAL");
FormMetadata formMetaData2 = MetaDataServiceHelper.GetFormMetaData(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM");
ComboField erpClsIdField = formMetaData.BusinessInfo.GetField("FErpClsID") as ComboField;
ComboField dosageTypeField = formMetaData2.BusinessInfo.GetField("FDOSAGETYPE") as ComboField;
bool[] isTreeNameItemsShow = new bool[11]
{
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "BomId", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Number", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Name", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Specification", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ErpClsID", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "DosageType", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ChildUnitId", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Numerator", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "Denominator", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "FixScrapQty", false),
MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "ScrapRate", false)
};
string userParam = MFGBillUtil.GetUserParam<string>(((AbstractDynamicFormPlugIn)(object)this).View, "SplitCode", (string)null);
bool userParam2 = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "OnlyShowIsMainPrd", false);
bool userParam3 = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsShowSubMtrl", false);
List<BomExpandNodeTreeMode> list2 = new List<BomExpandNodeTreeMode>();
foreach (DynamicObject item in bomQueryForwardResult)
{
BomExpandNodeTreeMode bomExpandNodeTreeMode = new BomExpandNodeTreeMode(userParam2, erpClsIdField, dosageTypeField, isTreeNameItemsShow, userParam, userParam3, item);
if (Convert.ToInt64(item["BomLevel"]) == 0 && CurSelNodeData != null)
{
bomExpandNodeTreeMode.ParentBomEntryId = CurSelNodeData.ParentBomEntryId;
}
list2.Add(bomExpandNodeTreeMode);
}
return list2;
}
private MemBomExpandOption_ForPSV BuildBomExpandOption()
{
MemBomExpandOption_ForPSV memBomExpandOption_ForPSV = new MemBomExpandOption_ForPSV();
memBomExpandOption_ForPSV.ExpandLevelTo = 0;
memBomExpandOption_ForPSV.ExpandVirtualMaterial = true;
memBomExpandOption_ForPSV.DeleteVirtualMaterial = false;
memBomExpandOption_ForPSV.ExpandSkipRow = true;
memBomExpandOption_ForPSV.DeleteSkipRow = false;
memBomExpandOption_ForPSV.IsShowOutSource = true;
memBomExpandOption_ForPSV.BomExpandId = SequentialGuid.NewGuid().ToString();
memBomExpandOption_ForPSV.ParentCsdYieldRate = false;
memBomExpandOption_ForPSV.ChildCsdYieldRate = false;
memBomExpandOption_ForPSV.Mode = Enums.BomExpand.Enu_BomExpandMode.KdMemoryOnly;
bool flag = (memBomExpandOption_ForPSV.CsdSubstitution = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsShowSubMtrl", false));
memBomExpandOption_ForPSV.BomExpandCalType = Enums.Enu_BomExpandCalType.kdBySystemProfile;
memBomExpandOption_ForPSV.Option.SetVariableValue("requireDataPermission", true);
return memBomExpandOption_ForPSV;
}
private MemBomExpandOption_ForPSV BuildBomExpandOption()
{
MemBomExpandOption_ForPSV memBomExpandOption_ForPSV = new MemBomExpandOption_ForPSV();
memBomExpandOption_ForPSV.ExpandLevelTo = 0;
memBomExpandOption_ForPSV.ExpandVirtualMaterial = true;
memBomExpandOption_ForPSV.DeleteVirtualMaterial = false;
memBomExpandOption_ForPSV.ExpandSkipRow = true;
memBomExpandOption_ForPSV.DeleteSkipRow = false;
memBomExpandOption_ForPSV.IsShowOutSource = true;
memBomExpandOption_ForPSV.BomExpandId = SequentialGuid.NewGuid().ToString();
memBomExpandOption_ForPSV.ParentCsdYieldRate = false;
memBomExpandOption_ForPSV.ChildCsdYieldRate = false;
memBomExpandOption_ForPSV.Mode = Enums.BomExpand.Enu_BomExpandMode.KdMemoryOnly;
bool flag = (memBomExpandOption_ForPSV.CsdSubstitution = MFGBillUtil.GetUserParam<bool>(((AbstractDynamicFormPlugIn)(object)this).View, "IsShowSubMtrl", false));
memBomExpandOption_ForPSV.BomExpandCalType = Enums.Enu_BomExpandCalType.kdBySystemProfile;
memBomExpandOption_ForPSV.Option.SetVariableValue("requireDataPermission", true);
return memBomExpandOption_ForPSV;
}
private List<DynamicObject> BuildBomExpandSourceData(long bomId, long materialId)
{
List<DynamicObject> list = new List<DynamicObject>();
BomForwardSourceDynamicRow bomForwardSourceDynamicRow = BomForwardSourceDynamicRow.CreateInstance();
bomForwardSourceDynamicRow.MaterialId_Id = materialId;
bomForwardSourceDynamicRow.BomId_Id = bomId;
bomForwardSourceDynamicRow.NeedQty = 0m;
bomForwardSourceDynamicRow.TimeUnit = 1.ToString();
list.Add(bomForwardSourceDynamicRow.DataEntity);
return list;
}
private List<DynamicObject> BuildBomExpandSourceData(long bomId, long materialId)
{
List<DynamicObject> list = new List<DynamicObject>();
BomForwardSourceDynamicRow bomForwardSourceDynamicRow = BomForwardSourceDynamicRow.CreateInstance();
bomForwardSourceDynamicRow.MaterialId_Id = materialId;
bomForwardSourceDynamicRow.BomId_Id = bomId;
bomForwardSourceDynamicRow.NeedQty = 0m;
bomForwardSourceDynamicRow.TimeUnit = 1.ToString();
list.Add(bomForwardSourceDynamicRow.DataEntity);
return list;
}
private bool ShowCustomBomForm(BomExpandNodeTreeMode bomFormParam, bool isFromSelectBill = false)
{
if (!ValidatePermission("6e44119a58cb4a8e86f6c385e14a17ad"))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“查看”权限!", "015072000002210", SubSystemType.MFG)));
return false;
}
OperationStatus status = OperationStatus.VIEW;
if (bomFormParam.BomId_Id > 0 && ValidatePermission("f323992d896745fbaab4a2717c79ce2e"))
{
status = OperationStatus.EDIT;
}
if (bomFormParam.BomId_Id <= 0)
{
if (!ValidatePermission("fce8b1aca2144beeb3c6655eaf78bc34"))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“新增”权限!", "015072000002209", SubSystemType.MFG)));
return false;
}
status = OperationStatus.ADDNEW;
}
IDynamicFormView view = ((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId);
if (view == null)
{
BillShowParameter billShowParameter = new BillShowParameter();
billShowParameter.OpenStyle.ShowType = ShowType.InContainer;
billShowParameter.OpenStyle.TagetKey = "FPanel";
billShowParameter.FormId = "ENG_BOM";
billShowParameter.ParentPageId = ((AbstractDynamicFormPlugIn)(object)this).View.PageId;
billShowParameter.PageId = CustomCalendarBillPageId;
billShowParameter.PKey = bomFormParam.BomId_Id.ToString();
billShowParameter.Status = status;
billShowParameter.AddBillOptionParameter("FSaveAndNew", false);
billShowParameter.AddBillOptionParameter("FSaveAndSubmit", false);
billShowParameter.CustomParams["ShowConfirmDialogWhenChangeOrg"] = "false";
ShowBillForm(((AbstractDynamicFormPlugIn)(object)this).View, billShowParameter, bomFormParam);
}
else
{
((AbstractDynamicFormPlugIn)(object)this).View.Session["FormInputParam"] = bomFormParam;
BillOpenParameter billOpenParameter = (BillOpenParameter)view.OpenParameter;
billOpenParameter.PkValue = bomFormParam.BomId_Id.ToString();
billOpenParameter.Status = status;
billOpenParameter.CreateFrom = CreateFrom.Default;
billOpenParameter.SetCustomParameter("ShowConfirmDialogWhenChangeOrg", "false");
if (isFromSelectBill)
{
billOpenParameter.SetCustomParameter("IsFromSelectBill", "true");
}
view.Refresh();
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(view);
}
return true;
}
private bool ShowCustomBomForm(BomExpandNodeTreeMode bomFormParam, bool isFromSelectBill = false)
{
if (!ValidatePermission("6e44119a58cb4a8e86f6c385e14a17ad"))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“查看”权限!", "015072000002210", SubSystemType.MFG)));
return false;
}
OperationStatus status = OperationStatus.VIEW;
if (bomFormParam.BomId_Id > 0 && ValidatePermission("f323992d896745fbaab4a2717c79ce2e"))
{
status = OperationStatus.EDIT;
}
if (bomFormParam.BomId_Id <= 0)
{
if (!ValidatePermission("fce8b1aca2144beeb3c6655eaf78bc34"))
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“新增”权限!", "015072000002209", SubSystemType.MFG)));
return false;
}
status = OperationStatus.ADDNEW;
}
IDynamicFormView view = ((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId);
if (view == null)
{
BillShowParameter billShowParameter = new BillShowParameter();
billShowParameter.OpenStyle.ShowType = ShowType.InContainer;
billShowParameter.OpenStyle.TagetKey = "FPanel";
billShowParameter.FormId = "ENG_BOM";
billShowParameter.ParentPageId = ((AbstractDynamicFormPlugIn)(object)this).View.PageId;
billShowParameter.PageId = CustomCalendarBillPageId;
billShowParameter.PKey = bomFormParam.BomId_Id.ToString();
billShowParameter.Status = status;
billShowParameter.AddBillOptionParameter("FSaveAndNew", false);
billShowParameter.AddBillOptionParameter("FSaveAndSubmit", false);
billShowParameter.CustomParams["ShowConfirmDialogWhenChangeOrg"] = "false";
ShowBillForm(((AbstractDynamicFormPlugIn)(object)this).View, billShowParameter, bomFormParam);
}
else
{
((AbstractDynamicFormPlugIn)(object)this).View.Session["FormInputParam"] = bomFormParam;
BillOpenParameter billOpenParameter = (BillOpenParameter)view.OpenParameter;
billOpenParameter.PkValue = bomFormParam.BomId_Id.ToString();
billOpenParameter.Status = status;
billOpenParameter.CreateFrom = CreateFrom.Default;
billOpenParameter.SetCustomParameter("ShowConfirmDialogWhenChangeOrg", "false");
if (isFromSelectBill)
{
billOpenParameter.SetCustomParameter("IsFromSelectBill", "true");
}
view.Refresh();
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(view);
}
return true;
}
public void ShowBillForm(IDynamicFormView view, BillShowParameter billShowPara, object inputParam = null, Action<FormResult> action = null)
{
if (view == null || billShowPara == null)
{
return;
}
if (inputParam != null)
{
view.Session["FormInputParam"] = inputParam;
}
if (string.IsNullOrWhiteSpace(billShowPara.ParentPageId))
{
billShowPara.ParentPageId = view.PageId;
}
view.ShowForm(billShowPara, delegate(FormResult result)
{
if (action != null)
{
action(result);
}
if (inputParam != null)
{
view.Session["FormInputParam"] = null;
}
});
}
public void ShowBillForm(IDynamicFormView view, BillShowParameter billShowPara, object inputParam = null, Action<FormResult> action = null)
{
if (view == null || billShowPara == null)
{
return;
}
if (inputParam != null)
{
view.Session["FormInputParam"] = inputParam;
}
if (string.IsNullOrWhiteSpace(billShowPara.ParentPageId))
{
billShowPara.ParentPageId = view.PageId;
}
view.ShowForm(billShowPara, delegate (FormResult result)
{
if (action != null)
{
action(result);
}
if (inputParam != null)
{
view.Session["FormInputParam"] = null;
}
});
}
private bool DoStartParentBomNetworkCtrl(string entityId, out List<NetworkCtrlResult> networkCtrlResults)
{
DynamicObject item = null;
if (!string.IsNullOrWhiteSpace(entityId))
{
item = BomTreeDatasMger.FindBomNodeMode(entityId).ParentBomId;
}
return DoStartBomNetworkCtrl(new List<DynamicObject> { item }, out networkCtrlResults);
}
private bool DoStartParentBomNetworkCtrl(string entityId, out List<NetworkCtrlResult> networkCtrlResults)
{
DynamicObject item = null;
if (!string.IsNullOrWhiteSpace(entityId))
{
item = BomTreeDatasMger.FindBomNodeMode(entityId).ParentBomId;
}
return DoStartBomNetworkCtrl(new List<DynamicObject> { item }, out networkCtrlResults);
}
private bool DoStartParentBomNetworkCtrl(List<DynamicObject> lstBomId, out List<NetworkCtrlResult> networkCtrlResults)
{
if (CurSelNodeData.BomId != null && lstBomId.Contains(CurSelNodeData.BomId) && BomView.OpenParameter.Status == OperationStatus.VIEW)
{
return DoStartBomNetworkCtrl(new List<DynamicObject> { CurSelNodeData.BomId }, out networkCtrlResults);
}
return DoStartBomNetworkCtrl(lstBomId.Where((DynamicObject w) => w != CurSelNodeData.BomId).ToList(), out networkCtrlResults);
}
private bool DoStartParentBomNetworkCtrl(List<DynamicObject> lstBomId, out List<NetworkCtrlResult> networkCtrlResults)
{
if (CurSelNodeData.BomId != null && lstBomId.Contains(CurSelNodeData.BomId) && BomView.OpenParameter.Status == OperationStatus.VIEW)
{
return DoStartBomNetworkCtrl(new List<DynamicObject> { CurSelNodeData.BomId }, out networkCtrlResults);
}
return DoStartBomNetworkCtrl(lstBomId.Where((DynamicObject w) => w != CurSelNodeData.BomId).ToList(), out networkCtrlResults);
}
private bool DoStartBomNetworkCtrl(List<DynamicObject> lstBomId, out List<NetworkCtrlResult> networkCtrlResults)
{
networkCtrlResults = new List<NetworkCtrlResult>();
Dictionary<object, string> dictionary = (from w in lstBomId.Distinct()
where w != null
select w).ToDictionary((DynamicObject w) => w.GetDynamicObjectItemValue<object>("Id"), (DynamicObject w) => w.GetDynamicObjectItemValue<string>("Number"));
if (dictionary.IsEmpty())
{
return true;
}
List<NetworkCtrlResult> list = MFGCommonUtil.DoStartNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BusinessInfo, dictionary);
if (!list.IsEmpty())
{
networkCtrlResults.AddRange(list);
IEnumerable<NetworkCtrlResult> enumerable = list.Where((NetworkCtrlResult w) => !w.StartSuccess);
if (!enumerable.IsEmpty())
{
BomView.ShowMessage(enumerable.First().Message);
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return false;
}
}
return true;
}
private bool DoStartBomNetworkCtrl(List<DynamicObject> lstBomId, out List<NetworkCtrlResult> networkCtrlResults)
{
networkCtrlResults = new List<NetworkCtrlResult>();
Dictionary<object, string> dictionary = (from w in lstBomId.Distinct()
where w != null
select w).ToDictionary((DynamicObject w) => w.GetDynamicObjectItemValue<object>("Id"), (DynamicObject w) => w.GetDynamicObjectItemValue<string>("Number"));
if (dictionary.IsEmpty())
{
return true;
}
List<NetworkCtrlResult> list = MFGCommonUtil.DoStartNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BusinessInfo, dictionary);
if (!list.IsEmpty())
{
networkCtrlResults.AddRange(list);
IEnumerable<NetworkCtrlResult> enumerable = list.Where((NetworkCtrlResult w) => !w.StartSuccess);
if (!enumerable.IsEmpty())
{
BomView.ShowMessage(enumerable.First().Message);
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return false;
}
}
return true;
}
private void WriteInLog()
{
if (((AbstractDynamicFormPlugIn)(object)this).View.ParentFormView != null)
{
Form form = ((AbstractDynamicFormPlugIn)(object)this).View.ParentFormView.BillBusinessInfo.GetForm();
Form form2 = ((AbstractDynamicFormPlugIn)(object)this).View.BillBusinessInfo.GetForm();
if (form.Id == "BD_MATERIAL" || form.Id == "ENG_BOM" || form.Id == "ENG_BOMTREE")
{
((AbstractDynamicFormPlugIn)(object)this).Model.WriteLog(new LogObject
{
Description = string.Format(ResManager.LoadKDString("{0}进入{1}", "015072000002166", SubSystemType.MFG), form.Name, form2.Name),
Environment = OperatingEnvironment.IntoBizObject,
OperateName = ResManager.LoadKDString("进入业务对象", "015072000002167", SubSystemType.MFG),
SubSystemId = form2.SubsysId,
ObjectTypeId = form2.Id
});
}
}
}
private void WriteInLog()
{
if (((AbstractDynamicFormPlugIn)(object)this).View.ParentFormView != null)
{
Form form = ((AbstractDynamicFormPlugIn)(object)this).View.ParentFormView.BillBusinessInfo.GetForm();
Form form2 = ((AbstractDynamicFormPlugIn)(object)this).View.BillBusinessInfo.GetForm();
if (form.Id == "BD_MATERIAL" || form.Id == "ENG_BOM" || form.Id == "ENG_BOMTREE")
{
((AbstractDynamicFormPlugIn)(object)this).Model.WriteLog(new LogObject
{
Description = string.Format(ResManager.LoadKDString("{0}进入{1}", "015072000002166", SubSystemType.MFG), form.Name, form2.Name),
Environment = OperatingEnvironment.IntoBizObject,
OperateName = ResManager.LoadKDString("进入业务对象", "015072000002167", SubSystemType.MFG),
SubSystemId = form2.SubsysId,
ObjectTypeId = form2.Id
});
}
}
}
private long GetBomMtrl(long bomId)
{
string text = string.Format("{0}={1}", "FID", bomId);
List<SelectorItemInfo> list = new List<SelectorItemInfo>();
list.Add(new SelectorItemInfo("FMATERIALID"));
List<SelectorItemInfo> list2 = list;
List<DynamicObject> baseBillInfo = MFGServiceHelper.GetBaseBillInfo(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM", list2, text, "");
if (!baseBillInfo.IsEmpty())
{
return baseBillInfo.First().GetDynamicObjectItemValue("MATERIALID_Id", 0L);
}
return 0L;
}
private long GetBomMtrl(long bomId)
{
string text = string.Format("{0}={1}", "FID", bomId);
List<SelectorItemInfo> list = new List<SelectorItemInfo>();
list.Add(new SelectorItemInfo("FMATERIALID"));
List<SelectorItemInfo> list2 = list;
List<DynamicObject> baseBillInfo = MFGServiceHelper.GetBaseBillInfo(((AbstractDynamicFormPlugIn)this).Context, "ENG_BOM", list2, text, "");
if (!baseBillInfo.IsEmpty())
{
return baseBillInfo.First().GetDynamicObjectItemValue("MATERIALID_Id", 0L);
}
return 0L;
}
private void DoBachOper(string oper)
{
FormOperation operation = BomView.BillBusinessInfo.GetForm().GetOperation(oper);
if (!VaildatePermission(operation))
{
return;
}
List<long> lstParentBomEntryId;
List<DynamicObject> bachDealOper = BomTreeDatasMger.GetBachDealOper(oper, out lstParentBomEntryId);
if (bachDealOper.IsEmpty())
{
BomView.ShowMessage(string.Format(ResManager.LoadKDString("没有可{0}的数据!", "015072000002154", SubSystemType.MFG), operation.OperationName));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return;
}
List<NetworkCtrlResult> networkCtrlResults = null;
try
{
if (!DoStartParentBomNetworkCtrl(bachDealOper, out networkCtrlResults))
{
return;
}
IOperationResult operationResult = null;
List<KeyValuePair<object, object>> list = null;
List<object> list2 = null;
switch (oper)
{
case "Submit":
if (BomView.Model.DataChanged)
{
operationResult = BusinessDataServiceHelper.Save(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, new DynamicObject[1] { BomView.Model.DataObject }, OperateOption.Create(), "Save");
if (!operationResult.IsSuccess)
{
break;
}
}
operationResult = BusinessDataServiceHelper.Submit(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, bachDealOper.Select((DynamicObject w) => w.GetDynamicObjectItemValue<object>("Id")).ToArray(), oper, (OperateOption)null);
break;
case "Audit":
{
list = bachDealOper.Select((DynamicObject w) => new KeyValuePair<object, object>(w.GetDynamicObjectItemValue<object>("Id"), "")).ToList();
List<object> list3 = new List<object>();
list3.Add("1");
list3.Add("");
list2 = list3;
OperateOption operateOption = OperateOption.Create();
operateOption.SetVariableValue("lstParentBomEntryId", lstParentBomEntryId);
operationResult = BusinessDataServiceHelper.SetBillStatus(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, list, list2, oper, operateOption);
break;
}
}
if (operationResult != null)
{
MFGCommonUtil.BatchWriteLog(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, operationResult, operation);
MFGBillUtil.ShowOperateResult(BomView, operationResult, operation);
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
if (!operationResult.SuccessDataEnity.IsEmpty())
{
ShowCustomBomForm(CurSelNodeData);
BomTreeDatasMger.ReSetBomData(CurTreeView, operationResult.SuccessDataEnity.ToList());
}
}
}
finally
{
MFGCommonUtil.DoCommitNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, networkCtrlResults);
}
}
private void DoBachOper(string oper)
{
FormOperation operation = BomView.BillBusinessInfo.GetForm().GetOperation(oper);
if (!VaildatePermission(operation))
{
return;
}
List<long> lstParentBomEntryId;
List<DynamicObject> bachDealOper = BomTreeDatasMger.GetBachDealOper(oper, out lstParentBomEntryId);
if (bachDealOper.IsEmpty())
{
BomView.ShowMessage(string.Format(ResManager.LoadKDString("没有可{0}的数据!", "015072000002154", SubSystemType.MFG), operation.OperationName));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return;
}
List<NetworkCtrlResult> networkCtrlResults = null;
try
{
if (!DoStartParentBomNetworkCtrl(bachDealOper, out networkCtrlResults))
{
return;
}
IOperationResult operationResult = null;
List<KeyValuePair<object, object>> list = null;
List<object> list2 = null;
switch (oper)
{
case "Submit":
if (BomView.Model.DataChanged)
{
operationResult = BusinessDataServiceHelper.Save(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, new DynamicObject[1] { BomView.Model.DataObject }, OperateOption.Create(), "Save");
if (!operationResult.IsSuccess)
{
break;
}
}
operationResult = BusinessDataServiceHelper.Submit(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, bachDealOper.Select((DynamicObject w) => w.GetDynamicObjectItemValue<object>("Id")).ToArray(), oper, (OperateOption)null);
break;
case "Audit":
{
list = bachDealOper.Select((DynamicObject w) => new KeyValuePair<object, object>(w.GetDynamicObjectItemValue<object>("Id"), "")).ToList();
List<object> list3 = new List<object>();
list3.Add("1");
list3.Add("");
list2 = list3;
OperateOption operateOption = OperateOption.Create();
operateOption.SetVariableValue("lstParentBomEntryId", lstParentBomEntryId);
operationResult = BusinessDataServiceHelper.SetBillStatus(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, list, list2, oper, operateOption);
break;
}
}
if (operationResult != null)
{
MFGCommonUtil.BatchWriteLog(((AbstractDynamicFormPlugIn)(object)this).View.Context, BomView.BillBusinessInfo, operationResult, operation);
MFGBillUtil.ShowOperateResult(BomView, operationResult, operation);
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
if (!operationResult.SuccessDataEnity.IsEmpty())
{
ShowCustomBomForm(CurSelNodeData);
BomTreeDatasMger.ReSetBomData(CurTreeView, operationResult.SuccessDataEnity.ToList());
}
}
}
finally
{
MFGCommonUtil.DoCommitNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, networkCtrlResults);
}
}
private void DoChildOper(string barItemKey)
{
List<NetworkCtrlResult> networkCtrlResults = null;
try
{
if (barItemKey == "tbSaveTemp" && !ValidateSaveTemp())
{
return;
}
switch (barItemKey)
{
case "tbSaveTemp":
case "tbSave":
case "tbSplitSave":
if (!DoStartParentBomNetworkCtrl(CurSelNodeData.EntryId, out networkCtrlResults))
{
return;
}
break;
}
switch (barItemKey)
{
case "tbSaveTemp":
case "tbSave":
case "tbSplitSave":
IsSaveSuccess = false;
break;
}
BarItem childBarItem = GetChildBarItem(barItemKey);
foreach (FormBusinessService clickAction in childBarItem.ClickActions)
{
BomView.InvokeFormOperation(clickAction.GetJsonParameters().First().ToString());
}
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
finally
{
MFGCommonUtil.DoCommitNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, networkCtrlResults);
}
}
private void DoChildOper(string barItemKey)
{
List<NetworkCtrlResult> networkCtrlResults = null;
try
{
if (barItemKey == "tbSaveTemp" && !ValidateSaveTemp())
{
return;
}
switch (barItemKey)
{
case "tbSaveTemp":
case "tbSave":
case "tbSplitSave":
if (!DoStartParentBomNetworkCtrl(CurSelNodeData.EntryId, out networkCtrlResults))
{
return;
}
break;
}
switch (barItemKey)
{
case "tbSaveTemp":
case "tbSave":
case "tbSplitSave":
IsSaveSuccess = false;
break;
}
BarItem childBarItem = GetChildBarItem(barItemKey);
foreach (FormBusinessService clickAction in childBarItem.ClickActions)
{
BomView.InvokeFormOperation(clickAction.GetJsonParameters().First().ToString());
}
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
finally
{
MFGCommonUtil.DoCommitNetworkCtrl(((AbstractDynamicFormPlugIn)(object)this).View.Context, networkCtrlResults);
}
}
private bool ValidateSaveTemp()
{
if (MFGBillUtil.GetValue<long>(BomView.Model, "FMATERIALID", -1, 0L, (string)null) <= 0)
{
BomView.ShowMessage(ResManager.LoadKDString("当前物料不可为主产品,无法暂存BOM!", "015072000003342", SubSystemType.MFG));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return false;
}
return true;
}
private bool ValidateSaveTemp()
{
if (MFGBillUtil.GetValue<long>(BomView.Model, "FMATERIALID", -1, 0L, (string)null) <= 0)
{
BomView.ShowMessage(ResManager.LoadKDString("当前物料不可为主产品,无法暂存BOM!", "015072000003342", SubSystemType.MFG));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
return false;
}
return true;
}
private bool ValidatePermission(string permission)
{
PermissionAuthResult permissionAuthResult = PermissionServiceHelper.FuncPermissionAuth(((AbstractDynamicFormPlugIn)this).Context, new BusinessObject
{
Id = "ENG_BOM",
SubSystemId = ((AbstractDynamicFormPlugIn)(object)this).View.Model.SubSytemId
}, permission);
return permissionAuthResult.Passed;
}
private bool ValidatePermission(string permission)
{
PermissionAuthResult permissionAuthResult = PermissionServiceHelper.FuncPermissionAuth(((AbstractDynamicFormPlugIn)this).Context, new BusinessObject
{
Id = "ENG_BOM",
SubSystemId = ((AbstractDynamicFormPlugIn)(object)this).View.Model.SubSytemId
}, permission);
return permissionAuthResult.Passed;
}
private bool VaildatePermission(FormOperation operation)
{
bool flag = ValidatePermission(operation.PermissionItemId);
if (!flag)
{
BomView.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“{0}”权限!", "015072000002211", SubSystemType.MFG), operation.OperationName));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
return flag;
}
private bool VaildatePermission(FormOperation operation)
{
bool flag = ValidatePermission(operation.PermissionItemId);
if (!flag)
{
BomView.ShowMessage(string.Format(ResManager.LoadKDString("没有“物料清单”的“{0}”权限!", "015072000002211", SubSystemType.MFG), operation.OperationName));
((AbstractDynamicFormPlugIn)(object)this).View.SendDynamicFormAction(BomView);
}
return flag;
}
private BarItem GetChildBarItem(string barItemKey)
{
Dictionary<string, BarItem> allBarItems = BomView.LayoutInfo.GetFormAppearance().Menu.GetAllBarItems();
return allBarItems[barItemKey];
}
private BarItem GetChildBarItem(string barItemKey)
{
Dictionary<string, BarItem> allBarItems = BomView.LayoutInfo.GetFormAppearance().Menu.GetAllBarItems();
return allBarItems[barItemKey];
}
private void ShowBomTreeForm()
{
Form form = ((AbstractDynamicFormPlugIn)(object)this).View.BusinessInfo.GetForm();
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter.FormId = form.Id;
dynamicFormShowParameter.Caption = form.Name;
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter);
}
private void ShowBomTreeForm()
{
Form form = ((AbstractDynamicFormPlugIn)(object)this).View.BusinessInfo.GetForm();
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter.FormId = form.Id;
dynamicFormShowParameter.Caption = form.Name;
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter);
}
private void ReloadFromBom()
{
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.FormId = "ENG_BOM";
listShowParameter.PermissionItemId = "6e44119a58cb4a8e86f6c385e14a17ad";
long num = Convert.ToInt64(MFGBillUtil.GetValue<long>(((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId).Model, "FUseOrgId", -1, 0L, (string)null));
if (num == 0)
{
num = ((AbstractDynamicFormPlugIn)this).Context.CurrentOrganizationInfo.ID;
}
string empty = string.Empty;
empty = $" FUseOrgId = '{num}'";
listShowParameter.ListFilterParameter.Filter = empty;
listShowParameter.IsIsolationOrg = false;
listShowParameter.ListType = 2;
listShowParameter.IsShowApproved = false;
listShowParameter.IsShowUsed = true;
listShowParameter.MultiSelect = false;
listShowParameter.IsLookUp = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(listShowParameter, delegate(FormResult result)
{
object returnData = result.ReturnData;
if (returnData is ListSelectedRowCollection)
{
ListSelectedRowCollection listSelectedRowCollection = (ListSelectedRowCollection)returnData;
if (listSelectedRowCollection.Count != 0)
{
long num2 = Convert.ToInt64(listSelectedRowCollection[0].FieldValues["FBillHead"]);
if (num2 > 0)
{
long bomMtrl = GetBomMtrl(num2);
List<BomExpandNodeTreeMode> list = DoExpand(num2, bomMtrl);
if (!list.IsEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
ShowCustomBomForm(CurSelNodeData);
}
}
}
}
});
}
private void ReloadFromBom()
{
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.FormId = "ENG_BOM";
listShowParameter.PermissionItemId = "6e44119a58cb4a8e86f6c385e14a17ad";
long num = Convert.ToInt64(MFGBillUtil.GetValue<long>(((AbstractDynamicFormPlugIn)(object)this).View.GetView(CustomCalendarBillPageId).Model, "FUseOrgId", -1, 0L, (string)null));
if (num == 0)
{
num = ((AbstractDynamicFormPlugIn)this).Context.CurrentOrganizationInfo.ID;
}
string empty = string.Empty;
empty = $" FUseOrgId = '{num}'";
listShowParameter.ListFilterParameter.Filter = empty;
listShowParameter.IsIsolationOrg = false;
listShowParameter.ListType = 2;
listShowParameter.IsShowApproved = false;
listShowParameter.IsShowUsed = true;
listShowParameter.MultiSelect = false;
listShowParameter.IsLookUp = true;
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(listShowParameter, delegate (FormResult result)
{
object returnData = result.ReturnData;
if (returnData is ListSelectedRowCollection)
{
ListSelectedRowCollection listSelectedRowCollection = (ListSelectedRowCollection)returnData;
if (listSelectedRowCollection.Count != 0)
{
long num2 = Convert.ToInt64(listSelectedRowCollection[0].FieldValues["FBillHead"]);
if (num2 > 0)
{
long bomMtrl = GetBomMtrl(num2);
List<BomExpandNodeTreeMode> list = DoExpand(num2, bomMtrl);
if (!list.IsEmpty())
{
BomTreeDatasMger.AddBomNodeMode(BomTreeDatasMger.RootNode.id, list);
SetViewRootNode();
ShowCustomBomForm(CurSelNodeData);
}
}
}
}
});
}
private void ShowListDatas()
{
if (authSynsResult.IsNullOrEmpty())
{
authSynsResult = PermissionServiceHelper.FuncPermissionAuth(((AbstractDynamicFormPlugIn)(object)this).View.Context, new BusinessObject
{
Id = "ENG_BOM"
}, "55488307023b99");
}
if (!authSynsResult.Passed)
{
return;
}
if (BomTreeDatasMger.RootNode == null || BomTreeDatasMger.RootNode.children.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可同步更新的BOM", "015072000033346", SubSystemType.MFG));
return;
}
List<long> list = new List<long>();
List<long> list2 = new List<long>();
List<DynamicObject> list3 = new List<DynamicObject>();
List<BomExpandNodeTreeMode> lstBomNodeMode = BomTreeDatasMger.LstBomNodeMode;
foreach (BomExpandNodeTreeMode item in lstBomNodeMode)
{
if (item.BomId != null)
{
list.Add(item.BomId_Id);
long dynamicValue = item.BomId.GetDynamicValue("UseOrgId_Id", 0L);
list2.Add(dynamicValue);
list3.Add(item.BomId);
}
}
if (list.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可同步更新的BOM", "015072000033346", SubSystemType.MFG));
return;
}
FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM", true);
list3 = BusinessDataServiceHelper.LoadFromCache(((AbstractDynamicFormPlugIn)(object)this).View.Context, ((IEnumerable<long>)list).Select((Func<long, object>)((long s) => s)).ToArray(), formMetadata.BusinessInfo.GetDynamicObjectType()).ToList();
list3 = list3.Where((DynamicObject w) => w.GetDynamicValue<string>("DocumentStatus") == "C" && w.GetDynamicValue<string>("ForbidStatus") == "A").ToList();
if (list3.Count == 0)
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowErrMessage(ResManager.LoadKDString("选择的BOM数据状态不为已审核或禁用状态为禁用,请重新选择数据", "015072000018123", SubSystemType.MFG));
return;
}
list = list3.Select((DynamicObject x) => x.GetDynamicValue("Id", 0L)).Distinct().ToList();
list2 = list3.Select((DynamicObject x) => x.GetDynamicValue("UseOrgId_Id", 0L)).Distinct().ToList();
FormMetadata formMetadata2 = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM_BILLPARAM", true);
DynamicObject dynamicObject = UserParamterServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, formMetadata2.BusinessInfo, ((AbstractDynamicFormPlugIn)(object)this).View.Context.UserId, "ENG_BOM", "UserParameter");
string dynamicValue2 = dynamicObject.GetDynamicValue<string>("UpdateRange");
string dynamicValue3 = dynamicObject.GetDynamicValue<string>("ConSultDate");
bool dynamicValue4 = dynamicObject.GetDynamicValue("IsSkipExpand", defValue: false);
List<long> list4 = new List<long>();
if (dynamicValue2 == "2")
{
list4 = (from w in list3
where w.GetDynamicValue("UseOrgId_Id", 0L) == w.GetDynamicValue("CreateOrgId_Id", 0L)
select w into s
select s.GetDynamicValue("MsterId", 0L)).ToList();
List<DynamicObject> allocatedBOM = GetAllocatedBOM(list4);
if (!allocatedBOM.IsEmpty())
{
list2.AddRange(allocatedBOM.Select((DynamicObject s) => s.GetDynamicValue("UseOrgId_Id", 0L)).ToList().Except(list2));
list.AddRange(allocatedBOM.Select((DynamicObject s) => s.GetDynamicValue("Id", 0L)).ToList().Except(list));
foreach (DynamicObject item2 in allocatedBOM)
{
long bomId = item2.GetDynamicValue("Id", 0L);
if (!list3.Any((DynamicObject a) => a.GetDynamicValue("Id", 0L) == bomId))
{
list3.Add(item2);
}
}
}
}
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Floating;
dynamicFormShowParameter.FormId = "ENG_SYNSUPDATEPPBOM";
dynamicFormShowParameter.CustomComplexParams.Add("BomData", list3);
dynamicFormShowParameter.CustomComplexParams.Add("BomId", list);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowPrdList", true);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowSubList", true);
dynamicFormShowParameter.CustomComplexParams.Add("UserOrgId", list2);
dynamicFormShowParameter.CustomComplexParams.Add("ConSultDate", dynamicValue3);
dynamicFormShowParameter.CustomComplexParams.Add("IsSkipExpand", dynamicValue4);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowPlnList", true);
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter);
}
private void ShowListDatas()
{
if (authSynsResult.IsNullOrEmpty())
{
authSynsResult = PermissionServiceHelper.FuncPermissionAuth(((AbstractDynamicFormPlugIn)(object)this).View.Context, new BusinessObject
{
Id = "ENG_BOM"
}, "55488307023b99");
}
if (!authSynsResult.Passed)
{
return;
}
if (BomTreeDatasMger.RootNode == null || BomTreeDatasMger.RootNode.children.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可同步更新的BOM", "015072000033346", SubSystemType.MFG));
return;
}
List<long> list = new List<long>();
List<long> list2 = new List<long>();
List<DynamicObject> list3 = new List<DynamicObject>();
List<BomExpandNodeTreeMode> lstBomNodeMode = BomTreeDatasMger.LstBomNodeMode;
foreach (BomExpandNodeTreeMode item in lstBomNodeMode)
{
if (item.BomId != null)
{
list.Add(item.BomId_Id);
long dynamicValue = item.BomId.GetDynamicValue("UseOrgId_Id", 0L);
list2.Add(dynamicValue);
list3.Add(item.BomId);
}
}
if (list.IsEmpty())
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowMessage(ResManager.LoadKDString("没有可同步更新的BOM", "015072000033346", SubSystemType.MFG));
return;
}
FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM", true);
list3 = BusinessDataServiceHelper.LoadFromCache(((AbstractDynamicFormPlugIn)(object)this).View.Context, ((IEnumerable<long>)list).Select((Func<long, object>)((long s) => s)).ToArray(), formMetadata.BusinessInfo.GetDynamicObjectType()).ToList();
list3 = list3.Where((DynamicObject w) => w.GetDynamicValue<string>("DocumentStatus") == "C" && w.GetDynamicValue<string>("ForbidStatus") == "A").ToList();
if (list3.Count == 0)
{
((AbstractDynamicFormPlugIn)(object)this).View.ShowErrMessage(ResManager.LoadKDString("选择的BOM数据状态不为已审核或禁用状态为禁用,请重新选择数据", "015072000018123", SubSystemType.MFG));
return;
}
list = list3.Select((DynamicObject x) => x.GetDynamicValue("Id", 0L)).Distinct().ToList();
list2 = list3.Select((DynamicObject x) => x.GetDynamicValue("UseOrgId_Id", 0L)).Distinct().ToList();
FormMetadata formMetadata2 = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM_BILLPARAM", true);
DynamicObject dynamicObject = UserParamterServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, formMetadata2.BusinessInfo, ((AbstractDynamicFormPlugIn)(object)this).View.Context.UserId, "ENG_BOM", "UserParameter");
string dynamicValue2 = dynamicObject.GetDynamicValue<string>("UpdateRange");
string dynamicValue3 = dynamicObject.GetDynamicValue<string>("ConSultDate");
bool dynamicValue4 = dynamicObject.GetDynamicValue("IsSkipExpand", defValue: false);
List<long> list4 = new List<long>();
if (dynamicValue2 == "2")
{
list4 = (from w in list3
where w.GetDynamicValue("UseOrgId_Id", 0L) == w.GetDynamicValue("CreateOrgId_Id", 0L)
select w into s
select s.GetDynamicValue("MsterId", 0L)).ToList();
List<DynamicObject> allocatedBOM = GetAllocatedBOM(list4);
if (!allocatedBOM.IsEmpty())
{
list2.AddRange(allocatedBOM.Select((DynamicObject s) => s.GetDynamicValue("UseOrgId_Id", 0L)).ToList().Except(list2));
list.AddRange(allocatedBOM.Select((DynamicObject s) => s.GetDynamicValue("Id", 0L)).ToList().Except(list));
foreach (DynamicObject item2 in allocatedBOM)
{
long bomId = item2.GetDynamicValue("Id", 0L);
if (!list3.Any((DynamicObject a) => a.GetDynamicValue("Id", 0L) == bomId))
{
list3.Add(item2);
}
}
}
}
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Floating;
dynamicFormShowParameter.FormId = "ENG_SYNSUPDATEPPBOM";
dynamicFormShowParameter.CustomComplexParams.Add("BomData", list3);
dynamicFormShowParameter.CustomComplexParams.Add("BomId", list);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowPrdList", true);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowSubList", true);
dynamicFormShowParameter.CustomComplexParams.Add("UserOrgId", list2);
dynamicFormShowParameter.CustomComplexParams.Add("ConSultDate", dynamicValue3);
dynamicFormShowParameter.CustomComplexParams.Add("IsSkipExpand", dynamicValue4);
dynamicFormShowParameter.CustomComplexParams.Add("IsShowPlnList", true);
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter);
}
private List<DynamicObject> GetAllocatedBOM(List<long> bomMasterIds)
{
FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM", true);
QueryBuilderParemeter queryBuilderParemeter = new QueryBuilderParemeter();
queryBuilderParemeter.BusinessInfo = formMetadata.BusinessInfo;
queryBuilderParemeter.ExtJoinTables.Add(new ExtJoinTableDescription
{
TableName = "table(fn_StrSplit(@msterId,',',1))",
TableNameAs = "tms",
FieldName = "FID",
ScourceKey = "FMASTERID"
});
queryBuilderParemeter.FilterClauseWihtKey = "FCreateOrgId<>FUseOrgId";
queryBuilderParemeter.SqlParams.Add(new SqlParam("@msterId", KDDbType.udt_inttable, bomMasterIds.Distinct().ToArray()));
return BusinessDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, queryBuilderParemeter.BusinessInfo.GetDynamicObjectType(), queryBuilderParemeter).ToList();
}
private List<DynamicObject> GetAllocatedBOM(List<long> bomMasterIds)
{
FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, "ENG_BOM", true);
QueryBuilderParemeter queryBuilderParemeter = new QueryBuilderParemeter();
queryBuilderParemeter.BusinessInfo = formMetadata.BusinessInfo;
queryBuilderParemeter.ExtJoinTables.Add(new ExtJoinTableDescription
{
TableName = "table(fn_StrSplit(@msterId,',',1))",
TableNameAs = "tms",
FieldName = "FID",
ScourceKey = "FMASTERID"
});
queryBuilderParemeter.FilterClauseWihtKey = "FCreateOrgId<>FUseOrgId";
queryBuilderParemeter.SqlParams.Add(new SqlParam("@msterId", KDDbType.udt_inttable, bomMasterIds.Distinct().ToArray()));
return BusinessDataServiceHelper.Load(((AbstractDynamicFormPlugIn)(object)this).View.Context, queryBuilderParemeter.BusinessInfo.GetDynamicObjectType(), queryBuilderParemeter).ToList();
}
private void TreeCopy()
{
List<BomExpandNodeTreeMode> lstBomNodeMode = BomTreeDatasMger.LstBomNodeMode;
if (!lstBomNodeMode.IsEmpty())
{
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.FormId = "ENG_BOMTREECOPY";
dynamicFormShowParameter.PageId = Guid.NewGuid().ToString();
DynamicFormShowParameter dynamicFormShowParameter2 = dynamicFormShowParameter;
dynamicFormShowParameter2.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter2.CustomComplexParams.Add("treeNodeDatas", lstBomNodeMode);
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter2);
((AbstractDynamicFormPlugIn)(object)this).View.Close();
}
}
private void TreeCopy()
{
List<BomExpandNodeTreeMode> lstBomNodeMode = BomTreeDatasMger.LstBomNodeMode;
if (!lstBomNodeMode.IsEmpty())
{
DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.FormId = "ENG_BOMTREECOPY";
dynamicFormShowParameter.PageId = Guid.NewGuid().ToString();
DynamicFormShowParameter dynamicFormShowParameter2 = dynamicFormShowParameter;
dynamicFormShowParameter2.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter2.CustomComplexParams.Add("treeNodeDatas", lstBomNodeMode);
((AbstractDynamicFormPlugIn)(object)this).View.ShowForm(dynamicFormShowParameter2);
((AbstractDynamicFormPlugIn)(object)this).View.Close();
}
}
public BomTree1()
: base()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论