using ComponentFactory.Krypton.Toolkit; using NXWMS.Client.Code.Extends; using NXWMS.Client.Model.AppModels.Condition.Rule; using NXWMS.Client.Model.AppModels.Result; using NXWMS.Client.Model.AppModels.Result.Rule; using NXWMS.Client.Model.CoreModels; using NXWMS.Client.String.Enums; using NXWMS.Commons; using NXWMS.Forms.Rule.frmRuleChild; using NXWMS.Services; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace NXWMS.Forms.Rule { public partial class frmOrderDistributionRule : Form { /// /// 客户端字段排序列表 /// private List _clientFieldOrderList; /// /// 客户端字段排序列表 /// private List _clientDTLFieldOrderList; public frmOrderDistributionRule() { InitializeComponent(); InitData(); InitControl(); } private int _pageSize; private int _pageIndex; private int _totalCount; /// /// 控件初始化 /// private void InitControl() { CheckForIllegalCrossThreadCalls = false; dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false); dataGridView.CellClick += new DataGridViewCellEventHandler(dataGridView_CellClick); dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false); _pageIndex = 1; _pageSize = 20; } /// /// 数据初始化 /// private void InitData() { _clientFieldOrderList = new List(); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_CODE", FieldDesc = "订单分配规则编码" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_NAME", FieldDesc = "订单分配规则描述" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "DelFlagName", FieldDesc = "删除标识" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" }); _clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" }); _clientDTLFieldOrderList = new List(); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_CODE", FieldDesc = "规则代码" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_DESC", FieldDesc = "规则描述" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "ParamFlagName", FieldDesc = "参数标识" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM1", FieldDesc = "规则参数1" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM2", FieldDesc = "规则参数2" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RULE_ITEM_PARAM3", FieldDesc = "规则参数3" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UsedFlagName", FieldDesc = "使用标识" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "DelFlagName", FieldDesc = "删除标识" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CreateName", FieldDesc = "创建人" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "CREATE_TIME", FieldDesc = "创建时间" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UpdateName", FieldDesc = "更新人" }); _clientDTLFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UPDATE_TIME", FieldDesc = "更新时间" }); } private int _selectIndex; private int _selectId; private string _selectNo; /// /// 主键Key /// private string _PrimaryKey = "RULE_ID"; /// /// 主键编码 /// private string _PrimaryNo = "RULE_CODE"; /// /// 选择行主键列表 /// private List _CheckRowIdList = new List(); private void SelectInit() { if (dataGridView.SelectedRows.Count > 0) { _selectIndex = dataGridView.SelectedRows[0].Index; if (_selectIndex >= 0) { _selectId = Convert.ToInt32(dataGridView.Rows[_selectIndex].Cells[_PrimaryKey].Value); _selectNo = dataGridView.Rows[_selectIndex].Cells[_PrimaryNo].Value.ToString(); } } else { _selectIndex = -1; } _CheckRowIdList = new List(); foreach (DataGridViewRow item in dataGridView.Rows) { if (item.Cells["#SELECTED"].Value.GetObjectToInt() == 1) { _CheckRowIdList.Add(item.Cells[_PrimaryKey].Value.ToString()); } } } private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { SelectInit(); if (_selectIndex >= 0) { _pageIndex = 1; var loadfrm = new frmLoading(); loadfrm.Show(); var message = loadfrm.EventCalExec(LoadDTLSearch, 0, 0); if (!string.IsNullOrWhiteSpace(message)) { KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void btnSearch_Click(object sender, EventArgs e) { _pageIndex = 1; dataGridViewDTL.DataSource = new List(); dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false); var loadfrm = new frmLoading(); loadfrm.Show(); var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize); pageTool.DataCount = _totalCount; if (!string.IsNullOrWhiteSpace(message)) { KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private string LoadSearch(int pageIndex, int pageSize) { var result = RuleServices.orderDistributionRuleService.GetList(new OrderDistributionRuleSearchCondition { OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId, RuleCode = txtSearchRuleCode.Text, Describe = txtSearchDescribe.Text, IsUsed = chkSearchUse.Checked, PageIndex = pageIndex, PageSize = pageSize }); if (result.Status == OperateStatus.Success) { _totalCount = result.Data.TotalCount; _pageIndex = pageIndex; _pageSize = pageSize; if (result.Data.RowData.Any()) { dataGridView.Columns.Clear(); dataGridView.DataSource = result.Data.RowData.ToList(); dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList)); } else { if (dataGridView.DataSource != null) { dataGridView.DataSource = new List(); } dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false); } return string.Empty; } else { return result.Message; } } private string LoadDTLSearch(int pageIndex, int pageSize) { var result = RuleServices.orderDistributionRuleService.GetDetailList(new OrderDistributionRuleDetailSearchCondition { OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId, RuleId = _selectId, IsUsed = true, }); if (result.Status == OperateStatus.Success) { if (result.Data.Any()) { dataGridViewDTL.Columns.Clear(); dataGridViewDTL.DataSource = result.Data.ToList(); dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList)); } else { if (dataGridViewDTL.DataSource != null) { dataGridViewDTL.DataSource = new List(); } dataGridViewDTL.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientDTLFieldOrderList), false); } return string.Empty; } else { return result.Message; } } private void btnAdd_Click(object sender, EventArgs e) { var form = new frmOperateRule(); form._FunctionType = frmOperateRule.EnumFunctionType.Add; form._RuleType = RuleType.OrderDistribution; if (form.ShowDialog() == DialogResult.Yes) { btnSearch_Click(null, null); } } private void btnEdit_Click(object sender, EventArgs e) { SelectInit(); if (_selectIndex >= 0) { var form = new frmOperateRule(); form._FunctionType = frmOperateRule.EnumFunctionType.Edit; form._ruleCode = _selectNo; form._RuleType = RuleType.OrderDistribution; if (form.ShowDialog() == DialogResult.Yes) { btnSearch_Click(null, null); } } else { KryptonMessageBox.Show($"请选择记录!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void btnSearchExport_Click(object sender, EventArgs e) { this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH")); } private void btnRemove_Click(object sender, EventArgs e) { SelectInit(); if (_CheckRowIdList.Count == 0) { return; } if (KryptonMessageBox.Show($"确认删除选中数据?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { var editResult = RuleServices.orderDistributionRuleService.Deleted(new OrderDistributionRuleCondition { OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId, RuleIds = string.Join(",", _CheckRowIdList), }); if (editResult.Status == OperateStatus.Success) { KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); btnSearch_Click(null, null); } else { KryptonMessageBox.Show($"操作失败!\r\n{editResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }