BaoKai_202508-Wms-Jingwang..../WMS.FrmBaseData/FrmPallet.cs

1210 lines
43 KiB
C#
Raw Permalink Normal View History

2025-08-24 09:35:55 +08:00
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.Common;
using WMS.Model.Base;
using WMS.Ctrl;
using System.Text.RegularExpressions;
using System.IO;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraEditors.Repository;
using WMS.Model.SystemManage;
using WMS.Frm;
using NPOI.SS.UserModel;
using NPOI.HSSF.UserModel;
using System.Collections;
using System.Threading;
using DevExpress.XtraReports.UI;
using WMS.Business;
using WMS.Business.Base;
using WMS.Business.SystemManage;
using WMS.FrmPrint;
using WMS.Business.RK;
using DevExpress.DocumentServices.ServiceModel.DataContracts;
namespace WMS.FrmBaseData
{
public partial class FrmPallet : FormBase
{
#region
/// <summary>
/// 容器Model
/// </summary>
PalletModel model;
/// <summary>
/// 容器Model 集合(数据绑定)
/// </summary>
List<PalletModel> list;
/// <summary>
/// 容器Model集合(批量新增)
/// </summary>
List<PalletModel> sourceList;
/// <summary>
/// 容器管理Model
/// </summary>
FrmBaseCtlGoods baseCtlGoods;
/// <summary>
/// 复选框选中数据集合
/// </summary>
List<PalletModel> CheckList;
/// <summary>
/// 加一个int变量主要为了判断是否有checkbox选中项
/// </summary>
//int i = 0;
/// <summary>
/// 体积累加
/// </summary>
//decimal sumVolume;
/// <summary>
/// 表头全选判断
/// </summary>
bool m_status = false;
/// <summary>
/// 容器生成类型头文件拼音简称
/// </summary>
string PalletName = "";
/// <summary>
/// 标示符 0批量新增 1修改
/// </summary>
int flag = 0;
string path = string.Empty;
private HSSFWorkbook _workbook;
private ISheet _sheet;
List<PalletModel> tabletolist;
#endregion
#region
/// <summary>
/// 无参构造
/// </summary>
public FrmPallet()
{
InitializeComponent();
ChangeControlState(false);
}
/// <summary>
/// 有参构造
/// </summary>
/// <param name="frmParent"></param>
public FrmPallet(FrmBaseCtlGoods frmParent)
{
InitializeComponent();
baseCtlGoods = frmParent;
//显示按钮
this.btnSave.Visible = true;
}
#endregion
#region
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmPallet_Load(object sender, EventArgs e)
{
// WMS.Model.Base.PalletModel
//通用查询 继承自 FormBase.cs 窗体
FrmSelectModle = new PalletModel();
BindPalletData();
lkpPalletType.LoadData();
//默认加载第一项
this.txtStart.Text = null;
this.txtEnd.Text = null;
this.txtNum.Text = null;
if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = true; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
if (frmButtonItem.ContainsKey("Refresh")) { frmButtonItem["Refresh"].Enabled = true; }
if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
}
#endregion
#region
#region
/// <summary>
/// 未查询到数据时 的提示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewPallet_CustomDrawEmptyForeground(object sender, DevExpress.XtraGrid.Views.Base.CustomDrawEventArgs e)
{
ColumnView columnView = sender as ColumnView;
BindingSource bindingSource = this.gridViewPallet.DataSource as BindingSource;
if (bindingSource.Count == 0)
{
string str = "<对不起,没有符合的数据!>";
Font f = new Font("宋体", 11, FontStyle.Regular);
Rectangle r = new Rectangle(e.Bounds.Top + 25, e.Bounds.Left + 25, e.Bounds.Right - 25, e.Bounds.Height - 25);
e.Graphics.DrawString(str, f, Brushes.Gray, r);
}
}
#endregion
#region CheckBox全选的实现:3
/// <summary>
/// Click 事件 调用DevControlHelper 帮助类
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewPallet_Click(object sender, EventArgs e)
{
//if (DevControlHelper.ClickGridCheckBox(this.gridViewPallet, "IsCheck", m_status))
//{
// m_status = !m_status;
//}
}
/// <summary>
/// CustomDrawColumnHeader 事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewPallet_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
{
//if (e.Column != null && e.Column.FieldName == "IsCheck")
//{
// e.Info.InnerElements.Clear();
// e.Painter.DrawObject(e.Info);
// DevControlHelper.DrawCheckBox(e, m_status);
// e.Handled = true;
//}
}
/// <summary>
/// DataSourceChanged 事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewPallet_DataSourceChanged(object sender, EventArgs e)
{
//GridColumn column = this.gridViewPallet.Columns.ColumnByFieldName("IsCheck");
//if (column != null)
//{
// column.Width = 80;
// column.OptionsColumn.ShowCaption = m_status;
// column.ColumnEdit = new RepositoryItemCheckEdit();
//}
}
#endregion
#region decimal类型文本框 click事件
//数量
private void txtNum_Click(object sender, EventArgs e)
{
this.txtNum.SelectionStart = 0;
this.txtNum.SelectAll();
}
//长
private void txtPalletLong_Click(object sender, EventArgs e)
{
//光标起始位置
this.txtPalletLong.SelectionStart = 0;
//文本全选
this.txtPalletLong.SelectAll();
}
//宽
private void txtWidth_Click(object sender, EventArgs e)
{
this.txtWidth.SelectionStart = 0;
this.txtWidth.SelectAll();
}
//高
private void txtHeight_Click(object sender, EventArgs e)
{
this.txtHeight.SelectionStart = 0;
this.txtHeight.SelectAll();
}
//承载重量
private void txtBearweight_Click(object sender, EventArgs e)
{
this.txtBearweight.SelectionStart = 0;
this.txtBearweight.SelectAll();
}
#endregion
#region Click事件
/// <summary>
/// Click 事件 该按钮隐藏 当EnterNextControl属性 到该按钮后触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
if (frmButtonItem["Save"].Enabled == true)
{
Save();
}
}
#endregion
#endregion
#region
#region
/// <summary>
/// 新增按钮
/// </summary>
public void Add()
{
flag = 0;
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; }
ChangeControlState(true);
}
/// <summary>
/// 更新编辑修改按钮
/// </summary>
public void Edit()
{
flag = 1;
ChangeControlState(true);
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
this.txtStart.Enabled = false;
this.txtNum.Enabled = false;
this.txtEnd.Enabled = false;
}
/// <summary>
/// 删除按钮
/// </summary>
public void Del()
{
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("确定要删除选中容器数据吗?"))
{
DelPallet();
}
}
/// <summary>
/// 查询按钮
/// </summary>
public void Search()
{
FrmSelect frm = new FrmSelect(this.FrmSelectModle);
if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.LoadListData(frm.SelectData);
}
}
/// <summary>
/// 刷新按钮
/// </summary>
public void Refresh()
{
BindPalletData();
lkpPalletType.LoadData();
this.lkpPalletType.ItemIndex = 0;
this.lkpPalletType.Focus();
this.txtStart.Text = null;
this.txtEnd.Text = null;
this.txtNum.Text = null;
//if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
if (frmButtonItem.ContainsKey("Refresh")) { frmButtonItem["Refresh"].Enabled = true; }
if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
}
/// <summary>
/// 清空按钮
/// </summary>
public void Clear()
{
bgsCondition.DataSource = new PalletModel();
if (flag == 0)
{
this.txtEnd.Text = string.Empty;
this.txtNum.Text = string.Empty;
this.cDictionaryUser.TextBoxFlag = string.Empty;
this.cDictionaryUser.TextBoxValue = string.Empty;
}
else if (flag == 1)
{
this.txtStart.Text = string.Empty;
this.txtEnd.Text = string.Empty;
this.txtNum.Text = string.Empty;
this.cDictionaryUser.TextBoxFlag = string.Empty;
this.cDictionaryUser.TextBoxValue = string.Empty;
}
}
/// <summary>
/// 数据导出到Excel
/// </summary>
public void Export()
{
DataToExcel();
}
/// <summary>
/// 打印按钮
/// </summary>
public void Print()
{
if (gridViewPallet.GetSelectedRows().Length == 0)
{
SystemCommon.ShowInfoMessageBox("选择要打印的数据");
return;
}
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在打印条码请稍候....");
List<PalletModel> pritModel = new List<PalletModel>();
int[] selct = gridViewPallet.GetSelectedRows();
for (int i = 0; i < selct.Length; i++)
{
int idx = selct[i];
string printId = gridViewPallet.GetRowCellValue(idx, "PALLET_ID").ToString();
// PalletModel print = gridViewPallet.GetDataRow(i) as PalletModel;
if (!string.IsNullOrEmpty(printId))
{
//BarCodeReport br = new BarCodeReport();
//br.GetInstance(printId, 10);
BarCodeReport br2 = new BarCodeReport();
br2.GetInstance(printId, 10);
IBussFactory<BussCodeDisk>.Instance().UpdateCtl(printId);
}
}
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
}
/// <summary>
/// 保存
/// </summary>
public void Save()
{
OperotePallet();
}
/// <summary>
/// 导入
/// </summary>
public void Import()
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Title = "导入容器资料";
fileDialog.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
Hashtable ht = new Hashtable();
ht.Add("PALLET_ID", "容器编号");
ht.Add("PALLET_NAME", "容器名称");
ht.Add("PALLET_TYPE", "容器型号");
ht.Add("PALLET_LONG", "长");
ht.Add("PALLET_WIDTH", "宽");
ht.Add("PALLET_HEIGHT", "高");
ht.Add("VOLUME", "容积");
ht.Add("BEARWEIGHT", "承载重量");
ht.Add("STATUS", "状态");
ht.Add("USER_ID", "占用人");
ht.Add("OPERATORID", "操作人");
ht.Add("OPERATEDATE", "操作日期");
ht.Add("REMARK", "备注");
List<PalletModel> addList = NPOIHelper<PalletModel>.Import(fileDialog, ht);
//将addList存入数据库
if (addList != null && addList.Count > 0)
{
string errText = string.Empty;
try
{
errText = IBussFactory<BussPallet>.Instance().OperatePallet(addList, 0);
if (string.IsNullOrEmpty(errText))
{
Refresh();
}
else
{
SystemCommon.ShowErrorMessageBox("导入失败:" + errText);
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们! " + ex);
}
}
}
}
#region Excel
/// <summary>
/// 导入Excel 到数据
/// </summary>
public void Audit()
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
path = openFileDialog1.FileName;
ReadExecl(path);
}
tabletolist = ConvertHelper<PalletModel>.ConvertToList(table);
bgsPallet.DataSource = tabletolist;
this.gridViewPallet.RefreshData();
}
DataTable table = new DataTable();
private DataTable ReadExecl(string path)
{
try
{
using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
{
//HSSFWorkbook:是操作Excel2003以前包括2003的版本扩展名是.xls
//XSSFWorkbook:是操作Excel2007的版本扩展名是.xlsx
_workbook = new HSSFWorkbook(stream);
//_xworkbookl = new XSSFWorkbook(stream);
_sheet = _workbook.GetSheetAt(0);
IRow headerRow = _sheet.GetRow(0);//第一行为标题行
int cellCount = headerRow.LastCellNum;//LastCellNum = PhysicalNumberOfCells
int rowCount = _sheet.LastRowNum;//LastRowNum = PhysicalNumberOfRows - 1
for (int i = headerRow.FirstCellNum; i < cellCount; i++)
{
DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
table.Columns.Add(column);
}
for (int i = (_sheet.FirstRowNum + 1); i <= rowCount; i++)
{
IRow row = _sheet.GetRow(i);
DataRow dataRow = table.NewRow();
if (row != null)
{
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
{
dataRow[j] = row.GetCell(j).ToString();
}
}
}
table.Rows.Add(dataRow);
}
return table;
}
}
catch (Exception e)
{
SystemCommon.ShowErrorMessageBox("读取EXCEL失败!" + e.Message);
return table;
}
}
#endregion
#endregion
#region
/// <summary>
/// 通用查询 方法
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
list = ConvertHelper<PalletModel>.ConvertToList(table);
bgsPallet.DataSource = list;
gridViewPallet.RefreshData();
}
#endregion
private void BindPalletData2()
{
DataTable dt = IBussFactory<BussPallet>.Instance().GetCtl(0);
if (dt != null)
{
gridControlCustomPallet.DataSource = dt;
}
}
#region
/// <summary>
/// 绑定容器数据
/// </summary>
private void BindPalletData()
{
string datetime = System.DateTime.Now.ToString("yyyyMMdd");
DataTable dt = IBussFactory<BussPallet>.Instance().GetCtl(int.Parse(datetime));
if (dt != null)
{
if (dt.Rows.Count > 0)
{
gridControlCustomPallet.DataSource = dt;
}
else
{
int seqid = 1;
string BarCode = "323" + datetime + seqid.ToString("0000");
IBussFactory<BussPallet>.Instance().Insert_T_BASE_PALLET(323, int.Parse(datetime), seqid, BarCode);
BindPalletData2();
}
}
//ShowSplashForm("数据加载中");
//model = new PalletModel();
//model.STATUS = "0";
//new Thread(delegate ()
//{
// try
// {
// this.Invoke(new MethodInvoker(delegate
// {
// //list = IBussFactory<BussPallet>.Instance().GetPalletList(model);
// //if (list.Count != 0)
// //{
// // bgsPallet.DataSource = list;
// //}
// //bgsPallet.DataSource = list;
// //this.gridViewPallet.RefreshData();
// //CloseSplashForm();
// }));
// }
// catch (Exception ex)
// {
// SystemCommon.ShowErrorMessageBox("GetPalletList出错了:" + ex.Message);
// }
//}).Start();
}
private static void ShowSplashForm(string msg)
{
try
{
LoadForm load = new LoadForm();
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 70);
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription(msg);
}
catch (Exception ex)
{
}
}
private static void CloseSplashForm()
{
try
{
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
}
catch (Exception ex)
{
}
}
#endregion
#region
/// <summary>
/// 删除容器数据
/// </summary>
private void DelPallet()
{
List<PalletModel> dellist = new List<PalletModel>();
int[] selectRows = this.gridViewPallet.GetSelectedRows();
this.lblType.Focus();
foreach (int j in selectRows)
{
model = new PalletModel();
model = this.gridViewPallet.GetRow(j) as PalletModel;
dellist.Add(model);
}
if (dellist.Count == 0)
{
SystemCommon.ShowInfoMessageBox("请先选择要删除的数据!");
return;
}
try
{
string errText = IBussFactory<BussPallet>.Instance().PalletDel(dellist);
if (errText == "")
{
SystemCommon.ShowInfoMessageBox("删除成功!");
}
else
{
SystemCommon.ShowInfoMessageBox("删除失败!");
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("网络连接错误!请检查当前网络环境是否可用!");
}
BindPalletData();
if (list != null)
{
if (list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString()).Count() == 0)
{
model = new PalletModel();
model.PALLET_TYPE = this.lkpPalletType.EditValue.ToString();
bgsCondition.DataSource = model;
bgsPallet.DataSource = null;
}
else
{
bgsPallet.DataSource = list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString());
}
}
}
#endregion
#region
/// <summary>
/// 更新容器数据
/// </summary>
/// <param name="flag">1修改</param>
private void FrmOperator(int flag)
{
try
{
string errtex = IBussFactory<BussPallet>.Instance().OperatePalletList(CheckList, flag);
if (!string.IsNullOrEmpty(errtex))
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
else
{
SystemCommon.ShowInfoMessageBox("操作成功!");
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("网络连接错误!请检查当前网络环境是否可用!");
}
BindPalletData();
if (list != null)
{
bgsPallet.DataSource = list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString());
}
}
#endregion
#region Excel文件方法
/// <summary>
/// 导出数据到Excel
/// </summary>
private void DataToExcel()
{
SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
gridControlCustomPallet.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
private void ExcelToGridView()
{
OpenFileDialog openDialog = new OpenFileDialog();
openDialog.Title = "导入Excel";
openDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = openDialog.ShowDialog(this);
// NPOI.HSSF.UserModel.HSSFWorkbook.Create().
}
#region
/// <summary>
/// 打印方法
/// </summary>
private void DataPrint()
{
//BarCodeReport BR = new BarCodeReport();
//打印方法 暂无
SystemCommon.ShowInfoMessageBox("打印功能暂无!");
}
#endregion
#region
#region
/// <summary>
/// 批量新增
/// </summary>
/// <param name="flag"></param>
private void CreateMore(int flag)
{
string str = "";
sourceList = new List<PalletModel>();
int row = Convert.ToInt32(this.txtNum.Text.Trim());
int star = Convert.ToInt32(this.txtStart.Text.Trim());
if (row >= 1)
{
for (int i = star; i < row + star; i++)
{
str = PalletName + i.ToString().PadLeft(txtStart.Text.Length, '0');
str = PalletNumberCount(str);
}
}
else
{
SystemCommon.ShowInfoMessageBox("请您输入正确数量!");
}
try
{
string errtex = IBussFactory<BussPallet>.Instance().OperatePallet(sourceList, flag);
if (!string.IsNullOrEmpty(errtex))
{
SystemCommon.ShowInfoMessageBox("操作失败!" + errtex);
}
else
{
SystemCommon.ShowInfoMessageBox("操作成功!");
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("出错了BussPallet.OperatePallet:" + ex.Message);
}
BindPalletData();
if (list != null)
{
bgsPallet.DataSource = list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString());
}
}
#endregion
#region
/// <summary>
/// 获得批量新增集合 容器ID 递增
/// </summary>
/// <param name="str">参数 :用于判断生成的格式</param>
/// <returns></returns>
private string PalletNumberCount(string str)
{
model = new PalletModel();
model.PALLET_ID = str;
model.PALLET_NAME = "";
model.PALLET_TYPE = this.lkpPalletType.EditValue.ToString();
model.PALLET_LONG = Convert.ToDecimal(this.txtPalletLong.Text);
model.PALLET_WIDTH = Convert.ToDecimal(this.txtWidth.Text);
model.PALLET_HEIGHT = Convert.ToDecimal(this.txtHeight.Text);
model.VOLUME = Convert.ToDecimal(Convert.ToDecimal(this.txtPalletLong.Text) * Convert.ToDecimal(this.txtWidth.Text) * Convert.ToDecimal(this.txtHeight.Text));
model.BEARWEIGHT = Convert.ToDecimal(this.txtBearweight.Text);
model.STATUS = this.rdoPalletStatus.EditValue.ToString();
model.USER_ID = this.cDictionaryUser.TextBoxFlag;
model.NAME = this.cDictionaryUser.TextBoxValue;
model.OPERATORID = userData.USER_ID;
model.OPERATEDATE = DateTime.Now;
model.REMARK = this.txtRemark.Text;
sourceList.Add(model);
str = string.Empty;
return str;
}
#endregion
#endregion
#region
/// <summary>
/// 新增 修改 保存方法
/// </summary>
private void OperotePallet()
{
if (flag == 0)
{
bgsCondition.EndEdit();
if (frmButtonItem["Save"].Enabled == true)
{
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("确定要批量生成该类容器?"))
{
CreateMore(flag);
}
}
this.txtStart.Text = string.Empty;
this.txtEnd.Text = string.Empty;
this.txtNum.Text = string.Empty;
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
// frmButtonItem["Create"].Enabled = false;
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
ChangeControlState(false);
}
else if (flag == 1)
{
CheckList = new List<PalletModel>();
bgsCondition.EndEdit();
foreach (PalletModel pal in list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString()))
{
pal.PALLET_TYPE = this.lkpPalletType.EditValue.ToString();
pal.PALLET_LONG = Convert.ToDecimal(this.txtPalletLong.Text);
pal.PALLET_WIDTH = Convert.ToDecimal(this.txtWidth.Text);
pal.PALLET_HEIGHT = Convert.ToDecimal(this.txtHeight.Text);
pal.BEARWEIGHT = Convert.ToDecimal(this.txtBearweight.Text);
pal.USER_ID = this.cDictionaryUser.TextBoxFlag;
pal.STATUS = this.rdoPalletStatus.EditValue.ToString();
pal.REMARK = this.txtRemark.Text;
pal.OPERATORID = userData.USER_ID;
pal.OPERATEDATE = DateTime.Now;
pal.VOLUME = Convert.ToDecimal(this.txtPalletLong.Text.Trim()) * Convert.ToDecimal(this.txtWidth.Text.Trim()) * Convert.ToDecimal(this.txtHeight.Text.Trim());
CheckList.Add(pal);
}
if (CheckList == null)
{
return;
}
if (DialogResult.Yes == SystemCommon.ShowMessageBoxResult("该操作会将该类别下所有容器更改为相同的规格。" + Environment.NewLine + "是否更改?"))
{
FrmOperator(flag);
}
frmButtonItem["Save"].Enabled = false;
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
ChangeControlState(false);
}
}
#endregion
#region
/// <summary>
/// 交互不可用
/// </summary>
private void ChangeControlState(bool r)
{
this.txtStart.Enabled = r;
this.txtNum.Enabled = r;
this.txtEnd.Enabled = r;
this.txtPalletLong.Enabled = r;
this.txtWidth.Enabled = r;
this.txtHeight.Enabled = r;
this.txtBearweight.Enabled = r;
this.cDictionaryUser.Enabled = r;
this.rdoPalletStatus.Enabled = r;
this.txtRemark.Enabled = r;
}
#endregion
#endregion
private void txtStart_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(e.KeyChar >= '0' && e.KeyChar <= '9')) e.Handled = true;
if (e.KeyChar == '\b') e.Handled = false;
}
private void txtEnd_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(e.KeyChar >= '0' && e.KeyChar <= '9')) e.Handled = true;
if (e.KeyChar == '\b') e.Handled = false;
}
private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(e.KeyChar >= '0' && e.KeyChar <= '9')) e.Handled = true;
if (e.KeyChar == '\b') e.Handled = false;
}
/// <summary>
/// txtEnd_TextChanged 事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtEnd_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtStart.Text) && !string.IsNullOrEmpty(txtEnd.Text))
{
int star = Convert.ToInt32(txtStart.Text);
int end = Convert.ToInt32(txtEnd.Text);
txtNum.Text = (end - star + 1).ToString();
}
}
/// <summary>
/// txtStart_TextChanged 事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtStart_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtEnd.Text) && !string.IsNullOrEmpty(txtStart.Text))
{
int star = Convert.ToInt32(txtStart.Text);
int end = Convert.ToInt32(txtEnd.Text);
txtNum.Text = (end - star + 1).ToString();
}
}
/// <summary>
/// lookUpedit EditValueChanged事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lkpPalletType_EditValueChanged(object sender, EventArgs e)
{
switch (flag)
{
case 0:
model = new PalletModel();
model.PALLET_TYPE = this.lkpPalletType.EditValue.ToString();
bgsCondition.DataSource = model;
break;
case 1:
break;
default:
break;
}
if (list.Count != 0)
{
List<PalletModel> plis = list.FindAll(f => f.PALLET_TYPE == this.lkpPalletType.EditValue.ToString());
if (!string.IsNullOrEmpty(this.lkpPalletType.EditValue.ToString()) && plis.Count != 0)
{
//字符串 截取数字 部分
//if (frmButtonItem["Create"].Enabled == true)
if (flag == 0)
{
int aa = Convert.ToInt32(Regex.Match(plis.Max(a => a.PALLET_ID), "\\d+").Value.ToString());
this.txtStart.Text = (aa + 1).ToString();
this.txtStart.Enabled = false;
GetPalletHeadLetter();
}
//if (frmButtonItem["Save"].Enabled == true)
if (flag == 1)
{
txtStart.Text = Regex.Match(plis.Min(a => a.PALLET_ID), "\\d+").ToString();
txtEnd.Text = Regex.Match(plis.Max(b => b.PALLET_ID), "\\d+").ToString();
}
bgsCondition.DataSource = plis[0];
bgsCondition.EndEdit();
this.cDictionaryUser.TextBoxFlag = plis[0].USER_ID;
this.cDictionaryUser.TextBoxValue = plis[0].NAME;
}
return;
}
if(list.Count>0)
{
bgsPallet.DataSource = list.FindAll(r => r.PALLET_TYPE == this.lkpPalletType.EditValue.ToString());
if (!string.IsNullOrEmpty(this.lkpPalletType.EditValue.ToString()) && this.gridViewPallet.RowCount == 0)
{
model = new PalletModel();
model.PALLET_TYPE = this.lkpPalletType.EditValue.ToString();
bgsCondition.DataSource = model;
}
this.gridViewPallet.FocusedRowHandle = 0;
gridControlCustomPallet_Click(null, null);
}
}
/// <summary>
/// 获得批量新增容器的头文件
/// </summary>
private void GetPalletHeadLetter()
{
string error = string.Empty;
List<DictionaryTabModel> lsit = IBussFactory<BussDictionaryTab>.Instance().GetDictionaryTab("pallet_type");
foreach (DictionaryTabModel model in lsit)
{
if (model.VC_DICTIONARY_ID == this.lkpPalletType.EditValue.ToString())
{
PalletName = model.VC_PINYIN_CODE;
}
}
}
/// <summary>
/// click 事件 显示明细容器 具体参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridControlCustomPallet_Click(object sender, EventArgs e)
{
//if (frmButtonItem.ContainsKey("Print")) { frmButtonItem["Print"].Enabled = false; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
if (frmButtonItem.ContainsKey("Refresh")) { frmButtonItem["Refresh"].Enabled = true; }
if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; }
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
//if (frmButtonItem.ContainsKey("Create")) { frmButtonItem["Create"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
ChangeControlState(false);
model = this.gridViewPallet.GetRow(this.gridViewPallet.FocusedRowHandle) as PalletModel;
if (model != null)
{
bgsCondition.DataSource = model;
this.cDictionaryUser.TextBoxFlag = model.USER_ID;
this.cDictionaryUser.TextBoxValue = model.NAME;
this.txtStart.Text = string.Empty;
}
}
/// <summary>
/// 结束编号Leave事件 验证结束编号不小于起始编号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtEnd_Leave(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtStart.Text) && !string.IsNullOrEmpty(txtEnd.Text))
{
int star = Convert.ToInt32(txtStart.Text);
int end = Convert.ToInt32(txtEnd.Text);
if (end < star)
{
SystemCommon.ShowInfoMessageBox("结束编号不能小于起始编号!");
this.txtEnd.Focus();
return;
}
}
}
/// <summary>
/// 长宽高Leave事件 带出体积Volume
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GetVolume_Leave(object sender, EventArgs e)
{
this.labelControl1.Focus();
if (Convert.ToDecimal(this.txtPalletLong.Text) != 0 && Convert.ToDecimal(this.txtWidth.Text) != 0 && Convert.ToDecimal(this.txtHeight.Text) != 0)
{
txtVolume.Text = (Convert.ToDecimal(txtPalletLong.Text) * Convert.ToDecimal(txtWidth.Text) * Convert.ToDecimal(txtHeight.Text)).ToString("F4");
bgsCondition.EndEdit();
bgsCondition.ResetBindings(true);
}
}
private void gridViewPallet_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
{
//if (e.FocusedRowHandle > -1)
//{
// gridControlCustomPallet_Click(null, null);
// //bgsCondition.DataSource = this.gridViewPallet.GetRow(e.FocusedRowHandle);
//}
}
private void btnAccept_Click(object sender, EventArgs e)
{
if (txtCtl.Text == "")
{
BarCodeReport br2 = new BarCodeReport();
br2.GetInstance(txtCtl.Text, 10);
}
}
private void gridViewPallet_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
if (gridViewPallet.RowCount == 0)
{
return;
}
if (gridViewPallet.FocusedRowHandle < 0)
{
return;
}
string STORAGE_ID = gridViewPallet.GetFocusedRowCellValue("STORAGE_ID").ToString();
string BARCODETIME = gridViewPallet.GetFocusedRowCellValue("BARCODETIME").ToString();
string SEQID = gridViewPallet.GetFocusedRowCellValue("SEQID").ToString();
txtCtl.Text = gridViewPallet.GetFocusedRowCellValue("BARCODE").ToString();
}
private void ctrlButtons1_Click(object sender, EventArgs e)
{
string datetime = System.DateTime.Now.ToString("yyyyMMdd");
DataTable dt = IBussFactory<BussPallet>.Instance().GetCtl2(int.Parse(datetime));
if (dt != null)
{
if (dt.Rows.Count > 0)
{
int seqid= int.Parse(dt.Rows[0][0].ToString())+1;
string BarCode = "323" + datetime + seqid.ToString("0000");
BarCodeReport br2 = new BarCodeReport();
br2.GetInstance(BarCode, 10);
IBussFactory<BussPallet>.Instance().Insert_T_BASE_PALLET(323, int.Parse(datetime), seqid, BarCode);
//
}
}
}
}
}