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;
using WMS.Frm.Base;
using WMS.Model.SystemManage;
using WMS.Common;
using WMS.Model.Base;
using WMS.Business;
using WMS.Business.Base;
using WMS.Business.SystemManage;
namespace WMS.FrmSystems
{
public partial class FrmSysParams : FormBase
{
#region 全局变量声明
string strText = string.Empty;
string strSpin = string.Empty;
///
/// 单据规则Model
///
DocumentTableModel docModel = new DocumentTableModel();
///
/// 单据规则List
///
List docList = new List();
///
/// 系统参数 实体
///
SystemParamsModel paramModel = new SystemParamsModel();
///
/// 系统参数 集合
///
List paramList = new List();
#endregion
#region 构造函数
///
/// 无参构造
///
public FrmSysParams()
{
InitializeComponent();
}
#endregion
#region 窗体加载
///
/// 窗体加载
///
///
///
private void FrmSysParams_Load(object sender, EventArgs e)
{
docModel = new DocumentTableModel();
docList = new List();
BindlkpData();
// this.radiodate.EditValue = "0";
BindParamData();
LockControl(true);
//splitContainerControl1.Panel1.Enabled = false;
}
#endregion
List lis = new List();
#region 单据类型
///
/// 绑定下拉 单据类型(出库,入库,盘点等)
///
public void BindlkpData()
{
lis = IBussFactory.Instance().GetDictionaryTab("document_type");
this.lkpDocumentType.Properties.DataSource = lis;
this.lkpDocumentType.Properties.ValueMember = "VC_CHAR_VALUE";
this.lkpDocumentType.Properties.DisplayMember = "VC_DICTIONARY_NAME";
this.lkpDocumentType.ItemIndex = 0;
}
string valSeq = string.Empty;
string valName = string.Empty;
///
/// 下拉单据类型
///
///
///
private void lkpDocumentType_EditValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.lkpDocumentType.EditValue.ToString()))
{
string val =this.lkpDocumentType.EditValue.ToString();
if (lis != null)
{
DictionaryTabModel tbModel = lis.Find(r => r.VC_CHAR_VALUE == val);
valSeq = tbModel.VC_DESCRIPTION;
valName = tbModel.VC_DICTIONARY_NAME;
this.txtStarText.Text = tbModel.VC_PINYIN_CODE;
}
radiodate_SelectedIndexChanged(null, null);
txtStarText.Refresh();
}
}
///
/// 流水日期变动
///
///
///
private void radiodate_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.radiodate.SelectedIndex == 0)
{
this.lblDocument.Text = this.txtStarText.Text + DateTime.Now.ToString("yyyyMMdd");
strText = lblDocument.Text;
docModel.DOCUMENT_DATE = "yyyyMMdd";
}
else if (this.radiodate.SelectedIndex == 1)
{
this.lblDocument.Text = this.txtStarText.Text + DateTime.Now.ToString("yyyyMM");
strText = lblDocument.Text;
docModel.DOCUMENT_DATE = "yyyyMM";
}
else
{
lblDocument.Text = this.txtStarText.Text+"001";
docModel.DOCUMENT_DATE = string.Empty;
}
spinEdit1_EditValueChanged(null, null);
}
///
/// 前缀
///
///
///
private void txtStarText_EditValueChanged(object sender, EventArgs e)
{
radiodate_SelectedIndexChanged(null, null);
this.lblDocument.Refresh();
}
///
/// 流水变化
///
///
///
private void spinEdit1_EditValueChanged(object sender, EventArgs e)
{
//lblDocument.Text = strText;
int i = (Convert.ToInt32(spinEdit1.EditValue));
lblDocument.Text = strText + (Math.Pow(10, (i - 1)) + 1).ToString();
strSpin = lblDocument.Text;
// docModel.DOCUMENT_MIN = (Math.Pow(10, (i - 1)) + 1).ToString();
lblDocument.Refresh();
}
///
/// 后缀
///
///
///
private void txtEndText_EditValueChanged(object sender, EventArgs e)
{
//lblDocument.Text = strText;
lblDocument.Text = strSpin;
if (!string.IsNullOrEmpty(this.txtEndText.Text))
{
this.lblDocument.Text = strSpin + this.txtEndText.Text;
}
else
{
this.lblDocument.Text = strSpin;
}
this.lblDocument.Refresh();
}
#endregion
#region 系统参数
///
/// 配置
///
public override void Add()
{
//splitContainerControl1.Panel1.Enabled = true;
LockControl(false);
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; }
}
///
/// 确认按钮
///
public void Confirm()
{
if (!Validate())
{
return;
}
string strErr = string.Empty;
this.labelControl1.Focus();
BindValueByControl();
try
{
strErr = IBussFactory.Instance().AddSysParamsData(paramList);
if (string.IsNullOrEmpty(strErr))
{
SystemCommon.ShowInfoMessageBox("操作成功!");
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
//splitContainerControl1.Panel1.Enabled = false;
LockControl(true);
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用!");
}
}
///
/// 刷新
///
public override void Refresh()
{
BindlkpData();
this.radiodate.EditValue = "0";
BindParamData();
//splitContainerControl1.Panel1.Enabled = false;
LockControl(true);
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
}
///
/// 清空
///
public override void Clear()
{
if (DialogResult.OK!= SystemCommon.ShowMessageBoxResult("是否要清空当前页面所做配置?"))
{
return;
}
foreach (Control item in splitContainerControl1.Panel1.Controls)
{
if (item.GetType().ToString().ToLower().Contains("label"))
{
continue;
}
else
{
if (item is DevExpress.XtraEditors.RadioGroup)
{
(item as DevExpress.XtraEditors.RadioGroup).EditValue = string.Empty;
}
else if (item is DevExpress.XtraEditors.SpinEdit)
{
(item as DevExpress.XtraEditors.SpinEdit).EditValue = (item as DevExpress.XtraEditors.SpinEdit).Properties.MinValue;
}
item.Refresh();
}
}
}
///
/// 窗体初加载时 给控件 赋值
///
public void BindParamData()
{
paramModel = new SystemParamsModel();
paramList = IBussFactory.Instance().GetSysParamsList(paramModel);
foreach (SystemParamsModel mo in paramList)
{
foreach (Control item in splitContainerControl1.Panel1.Controls)
{
//排除label
if (item.GetType().ToString().ToLower().Contains("label"))
{
continue;
}
else
{
//RadioGroup 赋值
if (item is DevExpress.XtraEditors.RadioGroup)
{
if (mo.PARAMTYPE == item.Name)
{
(item as DevExpress.XtraEditors.RadioGroup).EditValue = mo.PARAMVALUE;
}
}
//SpinEdit 赋值
else if (item is DevExpress.XtraEditors.SpinEdit)
{
if (mo.PARAMTYPE == item.Name)
{
(item as DevExpress.XtraEditors.SpinEdit).EditValue = mo.PARAMVALUE;
}
}
item.Refresh();
}
}
}
}
///
/// 绑定界面控件值(收集数据)
///
public void BindValueByControl()
{
paramList = new List();
foreach (Control item in splitContainerControl1.Panel1.Controls)
{
//label控件排除
if (item.GetType().ToString().ToLower().Contains("label"))
{
continue;
}
else
{
//RadioGroup控件处理
if (item is DevExpress.XtraEditors.RadioGroup)
{
paramModel = new SystemParamsModel();
paramModel.PARAMVALUE = (item as DevExpress.XtraEditors.RadioGroup).Text.ToString();
paramModel.PARAMDATE = DateTime.Now;
paramModel.PARAMTYPE = item.Name;
if (item.Tag != null)
{
paramModel.PARAMCOMMENTS = item.Tag.ToString();
}
paramModel.SYSUSER = userData.USER_ID;
if (!string.IsNullOrEmpty(paramModel.PARAMVALUE))
{
paramList.Add(paramModel);
}
}
//SpinEdit控件处理
if (item is DevExpress.XtraEditors.SpinEdit)
{
paramModel = new SystemParamsModel();
paramModel.PARAMVALUE = (item as DevExpress.XtraEditors.SpinEdit).EditValue.ToString();
paramModel.PARAMDATE = DateTime.Now;
paramModel.PARAMTYPE = item.Name;
if (item.Tag != null)
{
paramModel.PARAMCOMMENTS = item.Tag.ToString();
}
if (item.Name.ToString().ToLower().Contains("spinweight"))
{
paramModel.PARAMMENU = "FrmPackWeighing";
}
paramModel.SYSUSER = userData.USER_ID;
if (!string.IsNullOrEmpty(paramModel.PARAMVALUE))
{
paramList.Add(paramModel);
}
}
}
}
}
///
/// 非法验证
///
///
public bool Validate()
{
if (Convert.ToInt32(this.spinGoodsMin.EditValue) > Convert.ToInt32(this.spinGoodsMax.EditValue))
{
SystemCommon.ShowInfoMessageBox("您输入的库存下限不合法!" + Environment.NewLine + "请重新输入!");
this.spinGoodsMin.Focus();
return false;
}
if (Convert.ToInt32(this.spinWearingValue.EditValue) > Convert.ToInt32(this.spinGoodsMin.EditValue))
{
SystemCommon.ShowInfoMessageBox("您输入的库存预警值不合法!" + Environment.NewLine + "请重新输入!");
this.spinWearingValue.Focus();
return false;
}
return true;
}
///
/// 控件是否可以交互
///
public void LockControl(bool isLock)
{
foreach (Control item in splitContainerControl1.Panel1.Controls)
{
item.Enabled = !isLock;
}
foreach (Control item in splitContainerControl1.Panel2.Controls)
{
item.Enabled = !isLock;
}
splitContainerControl1.Panel1.Refresh();
splitContainerControl1.Panel2.Refresh();
}
#endregion
///
/// 保存按钮,单条操作-- 一条
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtStarText.Text))
{
SystemCommon.ShowInfoMessageBox("起始编号不能为空!");
this.txtStarText.Focus();
return;
}
string errText = string.Empty;
docModel.DOCUMENT_START = this.txtStarText.Text;
docModel.DOCUMENT_COUNT = Convert.ToInt32(this.spinEdit1.EditValue);
docModel.DOCUMENT_TYPE_VALUE =valSeq;
docModel.DOCUMENT_END = txtEndText.Text.Trim();
docModel.DOCUMENT_TYPE = valName;
// string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(docModel);
errText = IBussFactory.Instance().AddDocumentData(docModel);
if (string.IsNullOrEmpty(errText))
{
SystemCommon.ShowInfoMessageBox("操作成功!");
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
}
}