Files
lserp_cs_6.0/插件库/Lskj.ProductSched/FrmMain.cs
T
2026-07-02 10:11:39 +00:00

93 lines
4.0 KiB
C#

using Lskj.Business.Impl;
using Lskj.Control;
using Lskj.Control.Model;
using Lskj.Model;
using Lskj.Util;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Lskj.ProductSched
{
public partial class FrmMain : BaseForm
{
public DynamicProductSchedModel Model; // 动态链接库对象
public FrmMain()
{
InitializeComponent();
this.Load += OnFrmMainLoad;
}
/// <summary>
/// 初始化时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnFrmMainLoad(object sender, EventArgs e)
{
frmProductSched.OnLoad(Model);
}
/// <summary>
/// 获取数据源缓存
/// </summary>
/// <param name="cachesDic"></param>
public void GetDataCaches(Dictionary<object, Hashtable> cachesDic)
{
//全局数据
Task<DynamicModel> dynamicModelTask = cachesDic.AddTask(this, "DynamicModel", new Task<DynamicModel>(() =>
{
return Model;//动态链接库对象
}));
Task<DataRow> systemDllRowTask = cachesDic.AddTask(this, "SystemDllRow", new Task<DataRow>(() =>
{
return MainImpl.GetSystemdllTab(Model.ModuleCode);//获取单个模块信息
}));
Task<ModuleModel> sysModelTask = cachesDic.AddTask(this, "SysModel", new Task<ModuleModel>(() =>
{
ModuleModel sysModel = new ModuleModel(systemDllRowTask.Result);
return sysModel;//系统模块实体对象
}));
Task<List<GridDetailModel>> detailTask = cachesDic.AddTask(this, "Details", new Task<List<GridDetailModel>>(() =>
{
DataTable detailPages = BaseModuleImpl.GetBaseDetailPages(Model.ModuleCode);//根据传入的模块编号获得基础档案底部标签的数据
List<GridDetailModel> details = new List<GridDetailModel>();//表格明细对象的集合
foreach (DataRow item in detailPages.Rows)
{
GridDetailModel gridDetailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView);
details.Add(gridDetailModel);
Task<DataTable> addGridColumnsTask = cachesDic.AddTask(gridDetailModel, "GridColumns", new Task<DataTable>(() =>
{
DataTable gridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");//获取报表明细列
gridDetailModel.GridColumns = gridColumns;
return gridColumns;
}));
}
return details;
}));
Task<int> formTypeTask = cachesDic.AddTask(this, "FormType", new Task<int>(() =>
{
return BaseImpl.GetBaseType(Model.ModuleCode);
}));
Task<string> privilegeTask = cachesDic.AddTask(this, "Privilege", new Task<string>(() =>
{
return Model.Privilege.Equals("3") ? "1" : Model.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(Model.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(Model.ModuleCode) + "";// 权限(1.有操作权限.0.无权限.2.只读权限.3.右键配置权限全部开放)
}));
//添加数据到mControl
cachesDic.AddTask(frmProductSched, "DynamicModel", dynamicModelTask);
cachesDic.AddTask(frmProductSched, "SystemDllRow", systemDllRowTask);
cachesDic.AddTask(frmProductSched, "SysModel", sysModelTask);
cachesDic.AddTask(frmProductSched, "Details", detailTask);
//获取mControl控件的数据
frmProductSched.GetDataCaches(cachesDic);
}
}
}