BaoKai_202508_Wms_Jingwang_.../WMS.FrmBaseData/FrmPallet.cs
2025-08-24 21:52:42 +08:00

1210 lines
43 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
//
}
}
}
}
}