using OfficeOpenXml; using sunui.forms; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WMS.EnumDefine; using WMS.Model; using WMS.Untils; using WMS.yunneiWCS; namespace WMS.UI.SynthesizeQuery { public partial class FrmInOutRecord : Form { WMS.yunneiWCS.Wms_outInStockRecord param = new yunneiWCS.Wms_outInStockRecord(); int _materilaSalverFlag = 0; //物料空托查询(1、只查物料 2、只查空托盘) 【EditBy shaocx,2024-10-11】 string _taskTypeName = ""; string _outInFlagName = ""; string MaterialName = ""; string MaterialCode = ""; int pagasize = 20; List exprotData = new List(); public FrmInOutRecord() { InitializeComponent(); this.dataGridView1.AutoGenerateColumns = false; //this.toolStripComboBox1.SelectedIndex = 1; this.dataGridView1.Columns["createTime"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; FormHelper.DataGridViewSelfAdaptionWidth(this.dataGridView1); initData(); } private void initData() { //默认查询一周的 uiDatetimePicker_start.Value = DateTime.Now.AddDays(-30); uiDatetimePicker_end.Value = DateTime.Now.AddDays(1); this.uiCheckBox_onlyMater.Checked = false; this.uiCheckBox_OnlySalver.Checked = false; //uiDatetimePicker_start.Text = "起始日期"; //uiDatetimePicker_end.Text = "截止日期"; } /// /// 加载下拉数据 /// private void LoadSelectData() { var fr = FLogin.wcsWcf.GetSelectList("version"); var versionList = fr.resData; this.uiComboBox_version.Items.Clear(); this.uiComboBox_version.Items.AddRange(versionList); //物料编码 var fr_materialCode = FLogin.wcsWcf.GetSelectList("materialCode"); var materialCodeList = fr_materialCode.resData; this.uiComboBox_materialCode.Items.Clear(); this.uiComboBox_materialCode.Items.AddRange(materialCodeList); //物料名称 var fr_materialName = FLogin.wcsWcf.GetSelectList("materialName"); var materialNameList = fr_materialName.resData; this.uiComboBox_materialName.Items.Clear(); this.uiComboBox_materialName.Items.AddRange(materialNameList); //类型 var fr_Type = FLogin.wcsWcf.GetEnumSelectList("OutInFlag", true); var taskList = fr_Type.resData; this.uiComboBox_Type.Items.Clear(); var _list_Type = taskList.Select(x => x.Text).ToList(); this.uiComboBox_Type.Items.AddRange(_list_Type.ToArray()); this.uiComboBox_Type.SelectedIndex = -1; //任务名称 var fr_taskType = FLogin.wcsWcf.GetEnumSelectList("taskType", true); var taskTypeList = fr_taskType.resData; this.uiComboBox_TaskName.Items.Clear(); var _list = taskTypeList.Select(x => x.Text).ToList(); this.uiComboBox_TaskName.Items.AddRange(_list.ToArray()); this.uiComboBox_TaskName.SelectedIndex = -1; } private void FrmInOutRecord_Load(object sender, EventArgs e) { //每页10条 //每页20条 //每页30条 //每页100条 try { LoadSelectData(); // selectTime = dateTimePicker1.Value; //checkBox1.Checked = true; //dateTimePicker1.Enabled = false; paging paga = new paging(); paga.pagenum = 1; paga.pagesize = pagasize; // paga.selectDay = selectTime; findData(paga, MaterialName, MaterialCode, ""); } catch (Exception ex) { WZ.Useful.Commons.LogTextHelper.WriteLine("FrmInOutRecord", "FrmInOutRecord_Load", ex.ToString()); } } /// 数据查找 /// /// /// 分页 /// 物料名称 /// 物料编号 /// 任务类型 private void findData(paging page, string name, string code, string taskTypeName) { try { page.materilaSalverFlag = _materilaSalverFlag; page.startDateTime = uiDatetimePicker_start.Value; page.endDateTime = uiDatetimePicker_end.Value; param.outInFlagName = _outInFlagName; param.taskTypeName = taskTypeName; if (param.taskTypeName == "不筛选") { param.taskTypeName = ""; } if (param.outInFlagName == "不筛选") { param.outInFlagName = ""; } var res = FLogin.wcsWcf.getOutInStockRecord(page, param); if (res.status == 200) { exprotData = res.dateAll.ToList(); this.dataGridView1.DataSource = res.date.ToList(); this.toolStripLabel5.Text = "/" + res.total; this.toolStripLabel6.Text = res.title; if (res.total == 1) { toolStripLabel2.Enabled = false; toolStripTextBox1.Enabled = false; toolStripLabel1.Enabled = false; toolStripLabel4.Enabled = false; toolStripLabel3.Enabled = false; } else { toolStripLabel3.Enabled = true; toolStripLabel2.Enabled = true; toolStripTextBox1.Enabled = true; toolStripLabel4.Enabled = page.pagenum == 1 ? false : true; } } else { WMS.EnumDefine.messages ms = new WMS.EnumDefine.messages(2, "数据为空"); ms.Show(); this.dataGridView1.DataSource = null; toolStripLabel2.Enabled = false; toolStripTextBox1.Enabled = false; toolStripLabel1.Enabled = false; toolStripLabel4.Enabled = false; toolStripLabel3.Enabled = false; this.toolStripLabel6.Text = res.title; } } catch (Exception) { toolStripLabel2.Enabled = false; toolStripTextBox1.Enabled = false; toolStripLabel1.Enabled = false; toolStripLabel4.Enabled = false; toolStripLabel3.Enabled = false; } } /// 复位 /// /// /// /// private void btnReset_Click(object sender, EventArgs e) { initData(); this.uiTextBox_sourcePlace.Text = ""; this.uiTextBox_toPlace.Text = ""; this.uiTextBox_supplier.Text = ""; this.uiComboBox_version.Text = ""; this.uiTextBox_containerCode.Text = ""; this.uiComboBox_materialCode.Text = MaterialCode = ""; this.uiComboBox_materialName.Text = MaterialName = ""; uiComboBox_TaskName.SelectedIndex = -1; uiComboBox_TaskName.SelectedItem = ""; uiComboBox_Type.SelectedIndex = -1; uiComboBox_Type.SelectedItem = ""; _outInFlagName = ""; paging paga = new paging(); paga.pagenum = 1; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, ""); } /// 查找 /// /// /// /// private void btnFind_Click(object sender, EventArgs e) { #region 判断有没有输入筛选条件 uiTextBox_positionName param.sourcePlace = uiTextBox_sourcePlace.Text.Trim() != "" ? uiTextBox_sourcePlace.Text.Trim() : "";//起点 param.toPlace = uiTextBox_toPlace.Text.Trim() != "" ? uiTextBox_toPlace.Text.Trim() : "";//目标点 param.materialName = uiComboBox_materialName.Text.Trim() != "" ? uiComboBox_materialName.Text.Trim() : "";//物料名称 param.materialCode = uiComboBox_materialCode.Text.Trim() != "" ? uiComboBox_materialCode.Text.Trim() : "";//物料编码 param.containerCode = uiTextBox_containerCode.Text.Trim() != "" ? uiTextBox_containerCode.Text.Trim() : "";//托盘号 param.version = uiComboBox_version.Text.Trim() != "" ? uiComboBox_version.Text.Trim() : "";//机型 param.supplier = uiTextBox_supplier.Text.Trim() != "" ? uiTextBox_supplier.Text.Trim() : "";//供应商 //param.positionType = uiCheckBox_surplus.Checked == true ? (byte)PositionType.余料回库 : (byte)0; #endregion MaterialName = this.uiComboBox_materialName.Text.Trim(); MaterialCode = this.uiComboBox_materialCode.Text.Trim(); // taskType = (int)comboBox_type.SelectedIndex; _taskTypeName = ""; if (uiComboBox_TaskName.SelectedIndex > -1) { _taskTypeName = uiComboBox_TaskName.SelectedItem.ToString(); } else { _taskTypeName = ""; } _outInFlagName = ""; if (uiComboBox_Type.SelectedIndex > -1) { _outInFlagName = uiComboBox_Type.SelectedItem.ToString(); } else { _outInFlagName = ""; } paging paga = new paging(); paga.pagenum = 1; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); //toolStripTextBox1.Text = "1"; //toolStripLabel1.Enabled = false;//上一页 //toolStripLabel4.Enabled = false;//第一页 //toolStripLabel2.Enabled = true;//下一页 //toolStripLabel3.Enabled = true;//最后一页 } /// 第一页 /// /// /// /// private void toolStripLabel4_Click(object sender, EventArgs e) { try { paging paga = new paging(); paga.pagenum = 1; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); toolStripLabel4.Enabled = false; toolStripLabel3.Enabled = true; toolStripTextBox1.Text = "1"; toolStripTextBox1.Enabled = true; toolStripLabel1.Enabled = false; toolStripLabel2.Enabled = true; } catch (Exception) { } } /// 上一页 /// /// /// /// private void toolStripLabel1_Click(object sender, EventArgs e) { try { int numPapg = 0; int.TryParse(toolStripTextBox1.Text.Trim(), out numPapg); numPapg--; toolStripTextBox1.Text = numPapg.ToString(); int sizetatol = 0; int a = this.toolStripLabel5.Text.Trim().Length; string size = this.toolStripLabel5.Text.Trim().Substring(1, a - 1); int.TryParse(size, out sizetatol); if (numPapg <= sizetatol) { paging paga = new paging(); paga.pagenum = numPapg; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); toolStripLabel2.Enabled = true; toolStripLabel3.Enabled = true; if (numPapg == 1) { toolStripLabel1.Enabled = false; } } else { toolStripTextBox1.Text = "1"; WMS.EnumDefine.messages ms = new WMS.EnumDefine.messages(2, "请输入数字,并大于1且不大于总页数"); ms.Show(); } } catch (Exception) { } } /// 第几页回车 /// /// /// /// private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) { try { if (e.KeyCode == Keys.Enter) { int numPapg = 0; int.TryParse(toolStripTextBox1.Text.Trim(), out numPapg); int sizetatol = 0; int a = this.toolStripLabel5.Text.Trim().Length; string size = this.toolStripLabel5.Text.Trim().Substring(1, a - 1); int.TryParse(size, out sizetatol); if (numPapg > 0 && numPapg <= sizetatol) { paging paga = new paging(); paga.pagenum = numPapg; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); } else { toolStripTextBox1.Text = "1"; WMS.EnumDefine.messages ms = new WMS.EnumDefine.messages(2, "请输入数字,并大于1且不大于总页数"); ms.Show(); } } } catch (Exception) { } } /// 下一页 /// /// /// /// private void toolStripLabel2_Click(object sender, EventArgs e) { try { int numPapg = 0; int.TryParse(toolStripTextBox1.Text.Trim(), out numPapg); numPapg++; this.toolStripTextBox1.Text = numPapg.ToString(); int sizetatol = 0; int a = this.toolStripLabel5.Text.Trim().Length; string size = this.toolStripLabel5.Text.Trim().Substring(1, a - 1); int.TryParse(size, out sizetatol); toolStripLabel4.Enabled = true; if (numPapg <= sizetatol) { paging paga = new paging(); paga.pagenum = numPapg; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); toolStripLabel1.Enabled = true; if (numPapg == sizetatol) { toolStripLabel2.Enabled = false; toolStripLabel3.Enabled = false; } } else { toolStripTextBox1.Text = "1"; WMS.EnumDefine.messages ms = new WMS.EnumDefine.messages(2, "请输入数字,并大于1且不大于总页数"); ms.Show(); } } catch (Exception) { } } /// 最后一页 /// /// /// /// private void toolStripLabel3_Click(object sender, EventArgs e) { try { int sizetatol = 0; int a = this.toolStripLabel5.Text.Trim().Length; string size = this.toolStripLabel5.Text.Trim().Substring(1, a - 1); int.TryParse(size, out sizetatol); paging paga = new paging(); paga.pagenum = sizetatol; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); toolStripLabel3.Enabled = false; toolStripLabel4.Enabled = true; toolStripTextBox1.Text = sizetatol.ToString(); toolStripTextBox1.Enabled = true; toolStripLabel1.Enabled = true; toolStripLabel2.Enabled = false; } catch (Exception) { } } /// 每页数量选择改变 /// /// /// /// private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e) { try { pagasize = (toolStripComboBox1.SelectedIndex + 1) * 10; paging paga = new paging(); paga.pagenum = 1; paga.pagesize = pagasize; findData(paga, MaterialName, MaterialCode, _taskTypeName); toolStripTextBox1.Text = "1"; } catch (Exception) { } } /// 类型选择改变 /// /// /// /// private void comboBox_status_SelectedIndexChanged(object sender, EventArgs e) { } /// 关闭时间搜索 /// /// /// /// private void checkBox1_Click(object sender, EventArgs e) { //dateTimePicker1.Enabled = !checkBox1.Checked; //selectTime = checkBox1.Checked == true ? new DateTime() : dateTimePicker1.Value; //btnFind_Click(null, null); } /// 时间搜索赋值 /// /// /// /// private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { //selectTime = dateTimePicker1.Value; //btnFind_Click(null, null); } //导出数据 private void button1_Click(object sender, EventArgs e) { try { if (exprotData.Count > 0) { string path = @"D:\exprotdata\出入库统计" + DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".xlsx"; FileInfo copyFile = new FileInfo(path); if (!Directory.Exists(Path.GetDirectoryName(path))) Directory.CreateDirectory(Path.GetDirectoryName(path)); using (ExcelPackage package = new ExcelPackage(copyFile)) { //获取模板内容 #region MyRegion ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("出入库统计"); List GTin = exprotData.Where(x => x.taskType == 1).ToList();//缸体入库 List GTout = exprotData.Where(x => x.taskType == 5).ToList();//缸体出库 List GGin = exprotData.Where(x => x.taskType == 2).ToList();//缸盖入库 List GGout = exprotData.Where(x => x.taskType == 4).ToList();//缸盖出库 #region 设置表头 worksheet.Cells["A1:E1"].Merge = true; worksheet.Cells[1, 1].Value = "总数:" + exprotData.Count + "/缸体入库:" + GTin.Count + "/缸体出库:" + GTout.Count + "/缸盖入库:" + GGin.Count + "/缸盖出库:" + GGout.Count; worksheet.Cells[2, 1].Value = "类型"; worksheet.Cells[2, 2].Value = "任务类型"; worksheet.Cells[2, 3].Value = "任务名称"; worksheet.Cells[2, 4].Value = "起点"; worksheet.Cells[2, 5].Value = "目标点"; worksheet.Cells[2, 6].Value = "机型"; worksheet.Cells[2, 7].Value = "物料编号"; worksheet.Cells[2, 8].Value = "物料名称"; worksheet.Cells[2, 9].Value = "供应商"; worksheet.Cells[2, 10].Value = "托盘号"; worksheet.Cells[2, 11].Value = "数量"; worksheet.Cells[2, 12].Value = "创建时间"; worksheet.Cells[2, 13].Value = "创建者"; #endregion //List totalData = new List(); //if (GTin.Count > 0) totalData.AddRange(GTin); //if (GTout.Count > 0) totalData.AddRange(GTout); //if (GGin.Count > 0) totalData.AddRange(GGin); //if (GGout.Count > 0) totalData.AddRange(GGout); if (exprotData.Count > 0) { for (int i = 0; i < exprotData.Count; i++) { worksheet.Cells[i + 3, 1].Value = exprotData[i].outInFlagName; worksheet.Cells[i + 3, 2].Value = exprotData[i].taskTypeName; worksheet.Cells[i + 3, 3].Value = exprotData[i].taskName; worksheet.Cells[i + 3, 4].Value = exprotData[i].sourcePlace; worksheet.Cells[i + 3, 5].Value = exprotData[i].toPlace; worksheet.Cells[i + 3, 6].Value = exprotData[i].version; worksheet.Cells[i + 3, 7].Value = exprotData[i].materialCode; worksheet.Cells[i + 3, 8].Value = exprotData[i].materialName; worksheet.Cells[i + 3, 9].Value = exprotData[i].supplier; worksheet.Cells[i + 3, 10].Value = exprotData[i].containerCode; worksheet.Cells[i + 3, 11].Value = exprotData[i].qty; worksheet.Cells[i + 3, 12].Value = exprotData[i].CreateTime == null ? "" : Convert.ToDateTime(exprotData[i].CreateTime).ToString("yyyy-MM-dd HH:mm:ss"); worksheet.Cells[i + 3, 13].Value = exprotData[i].Creator; } } #endregion package.Save();//保存 } System.Diagnostics.Process.Start("explorer.exe", Path.GetDirectoryName(path)); } } catch (Exception) { } } /// 显示序号 /// /// /// /// private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { SolidBrush b = new SolidBrush(this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor); e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), this.dataGridView1.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 20, e.RowBounds.Location.Y + 4); } private void uiComboBox_version_SelectedIndexChanged(object sender, EventArgs e) { } private void uiComboBox_materialCode_SelectedIndexChanged(object sender, EventArgs e) { } private void uiComboBox_materialName_SelectedIndexChanged(object sender, EventArgs e) { } private void uiComboBox_TaskName_SelectedIndexChanged(object sender, EventArgs e) { } private void uiComboBox_Type_SelectedIndexChanged(object sender, EventArgs e) { } private void uiCheckBox_onlyMater_CheckedChanged(object sender, EventArgs e) { _materilaSalverFlag = uiCheckBox_onlyMater.Checked == true ? 1 : 0; } private void uiCheckBox_OnlySalver_CheckedChanged(object sender, EventArgs e) { _materilaSalverFlag = uiCheckBox_OnlySalver.Checked == true ? 2 : 0; } } }