| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.LgCommon;
- using Core.StlMes.Client.LgResMgt.库存位置;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using Resources = Core.StlMes.Client.LgResMgt.Properties.Resources;
- using NPOI.HSSF.UserModel;
- using NPOI.SS.UserModel;
- using NPOI.SS.Util;
- using BorderStyle = NPOI.SS.UserModel.BorderStyle;
- using HorizontalAlignment = NPOI.SS.UserModel.HorizontalAlignment;
- using System.IO;
- using System.Diagnostics;
- using MatInfo = Core.StlMes.Client.LgResMgt.库存位置.MatInfo;
- namespace Core.StlMes.Client.LgResMgt
- {
- public partial class StorageInfo : FrmBase
- {
- private int _height = 200;
- private string GridText;
- private YdmBsStorageSettingEntity ydmBsStorageSettingEntity;
- public StorageInfo()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- BindStorageDropDown();
- EntityHelper.ShowGridCaption<MatInfo>(ugLocationDetail.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<MatInfo>(ugWaitMove.DisplayLayout.Bands[0]);
- egbLocationInfo.Expanded = false;
- ClsControlPack.RefreshAndAutoSize(ugWaitMove);
- }
- public void BindStorageDropDown()
- {
- var dic = new Dictionary<string, object>();
- var customInfo = CustomInfo.ToString2();
- if (!string.IsNullOrWhiteSpace(customInfo))
- dic.Add("storageTypeNo", customInfo.Split(','));
- dic.Add("managementNo", ValidDataPurviewIds);
- var dt = ServerHelper.GetData("Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageNoList",
- new object[] {dic}, ob);
- if ((dt != null) && (dt.Rows.Count > 0))
- {
- uceStorageNo.DataSource = dt;
- uceStorageNo.ValueMember = "STORAGE_NO";
- uceStorageNo.DisplayMember = "STORAGE_NAME";
- }
- if (uceStorageNo.Items.Count > 0)
- uceStorageNo.SelectedIndex = 0;
- }
- public void RefreshData()
- {
- matInfoBindingSource.Clear();
- if (uceStorageNo.SelectedIndex == -1)
- {
- ydmBsStorageSettingEntity = null;
- return;
- }
- ;
- GetStorageSetting();
- dtData.Rows.Clear();
- dtData.Columns.Clear();
- matGpMAndStorageEntityBindingSource.Clear();
- var locationInfos = EntityHelper.GetData<LocationInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageLocationInfoNew",
- new[] {uceStorageNo.SelectedItem.DataValue}, ob);
- GridText = string.Format(@"可用空料位(大): {0} 可用空料位(小): {1} 满料位(大):{2} 满料位(小):{3} 总炉数: {4} 总支数: {5} 总吨数 {6}",
- locationInfos.Where(a => ((a.RackType == null || a.RackType == "") || a.RackType.Equals("0"))).Count(p => (p.ActCount == null) || (p.ActCount <= 0)),
- locationInfos.Where(a => ((a.RackType == null || a.RackType == "") || a.RackType.Equals("1"))).Count(p => (p.ActCount == null) || (p.ActCount <= 0)),
- locationInfos.Where(a => ((a.RackType == null || a.RackType == "") || a.RackType.Equals("0"))).Count(p => (p.ActCount != null) && (p.ActCount > 0)),
- locationInfos.Where(a => ((a.RackType == null || a.RackType == "") || a.RackType.Equals("1"))).Count(p => (p.ActCount != null) && (p.ActCount > 0)),
- locationInfos.Sum(p => p.JudgeStoveNoCount),
- locationInfos.Sum(p => p.ActCount),
- locationInfos.Sum(p => p.ActWeight)
- );
- ugStorageInfo.Text = GridText;
- if (ydmBsStorageSettingEntity.ColumnRowNum == "0")
- {
- //老逻辑 列名 是按字母顺序分配
- OldLogic(locationInfos);
- }
- else
- {
- NewLogic(locationInfos);
- }
- foreach (var ultraGridRow in ugStorageInfo.Rows)
- foreach (var ultraGridCell in ultraGridRow.Cells)
- {
- var locationInfo = ultraGridCell.Tag as LocationInfo;
- if (locationInfo != null && locationInfo.IsProcess == "1")
- {
- ultraGridCell.Appearance.BackColor = Color.BurlyWood;
- }
- }
- }
- private void NewLogic(DataSourceList<LocationInfo> locationInfos)
- {
- var emptyRow = new List<int>();
- var emptyColums = new List<string>();
- var isSingleArea = locationInfos.Select(p => p.AreaNo).Distinct().Count() == 1;
- locationInfos.OrderBy(p => p.AreaNo).GroupBy(p => p.AreaNo).ToList().ForEach(
- areaData =>
- {
- var maxColums = 0;
- if (ydmBsStorageSettingEntity.ColumnReverse == "0")
- {
- var list = areaData
- .Where(p => StringUtil.IsInt(p.ColNo));
- if (list.Any())
- maxColums = list.Select(p => int.Parse(p.ColNo.ToString2())).Max();
- }
- else
- {
- var list = areaData
- .Where(p => StringUtil.IsInt(p.RowNo));
- if (list.Any())
- maxColums = list.Select(p => int.Parse(p.RowNo.ToString2())).Max();
- }
- for (var i = 1; i <= maxColums; i++)
- {
- var name = getColumsName(isSingleArea, areaData.Key, i + "");
- dtData.Columns.Add(
- new DataColumn(name));
- emptyColums.Add(name);
- }
- }
- );
- var maxRow = 0;
- if (ydmBsStorageSettingEntity.ColumnReverse == "0")
- {
- var list = locationInfos
- .Where(p => StringUtil.IsInt(p.RowNo));
- if (list.Any())
- maxRow = list.Select(p => int.Parse(p.RowNo.ToString2())).Max();
- }
- else
- {
- var list = locationInfos
- .Where(p => StringUtil.IsInt(p.ColNo));
- if (list.Any())
- maxRow = list.Select(p => int.Parse(p.ColNo.ToString2())).Max();
- }
- for (var i = 0; i < maxRow; i++)
- {
- dtData.Rows.Add(dtData.NewRow());
- emptyRow.Add(i);
- }
- locationInfos.ForEach(p =>
- {
- int rowindex;
- if (
- int.TryParse(ydmBsStorageSettingEntity.ColumnReverse == "0" ? p.RowNo : p.ColNo, out rowindex) &&
- (rowindex > 0))
- {
- int column;
- if (
- !int.TryParse(ydmBsStorageSettingEntity.ColumnReverse == "0" ? p.ColNo : p.RowNo, out column) &&
- (rowindex > 0)) return;
- var colum = getColumsName(isSingleArea, p.AreaNo, column + "");
- ugStorageInfo.Rows[rowindex - 1].Cells[colum].Tag = p;
- if (emptyRow.Contains(rowindex - 1)) emptyRow.Remove(rowindex - 1);
- if (emptyColums.Contains(colum)) emptyColums.Remove(colum);
- string data = ydmBsStorageSettingEntity.CellShow == "1" ? colum + "_" + rowindex : p.LocationName;
- int maxLen = 0;
- int.TryParse(ugStorageInfo.DisplayLayout.Bands[0].Columns[colum].Tag.ToString3(), out maxLen);
- int dataLen = System.Text.Encoding.Default.GetBytes(data).Length;
- if (dataLen > maxLen) ugStorageInfo.DisplayLayout.Bands[0].Columns[colum].Tag = dataLen;
- ugStorageInfo.Rows[rowindex - 1].Cells[colum].Value =
- ImageText(
- p.ActCount.ToString3(),
- data) ;
- }
- });
- if (ydmBsStorageSettingEntity.EmptyRowSort >= 0)
- for (var i = emptyRow.Count - 1; i >= 0; i--)
- {
- var currentlist = new List<int> {emptyRow[i]};
- while ((i > 0) && (emptyRow[i] - emptyRow[i - 1] == 1))
- currentlist.Add(emptyRow[--i]);
- for (var j = currentlist.Count - 1; j >= ydmBsStorageSettingEntity.EmptyRowSort; j--)
- ugStorageInfo.Rows[currentlist[j]].Delete(false);
- }
- if (ydmBsStorageSettingEntity.EmptyColumnSort >= 0)
- for (var i = emptyColums.Count - 1; i >= 0; i--)
- {
- var currentlist = new List<string> {emptyColums[i]};
- while ((i > 0) &&
- (ugStorageInfo.DisplayLayout.Bands[0].Columns[emptyColums[i]].Index -
- ugStorageInfo.DisplayLayout.Bands[0].Columns[emptyColums[i - 1]].Index == 1))
- currentlist.Add(emptyColums[--i]);
- for (var j = currentlist.Count - 1; j >= ydmBsStorageSettingEntity.EmptyColumnSort; j--)
- ugStorageInfo.DisplayLayout.Bands[0].Columns[currentlist[j]].Hidden = true;
- for (var j = int.Parse(ydmBsStorageSettingEntity.EmptyColumnSort.ToString2()) - 1; j >= 0; j--)
- ugStorageInfo.DisplayLayout.Bands[0].Columns[currentlist[j]].Header.Caption = "...";
- }
- SetGridFormat();
- }
- private string getColumsName(bool isSingleArea, string area, string col)
- {
- return (isSingleArea ? "" : area + "_") + col;
- }
- private void OldLogic(DataSourceList<LocationInfo> locationInfos)
- {
- locationInfos.OrderBy(p => p.AreaNo).GroupBy(p => p.AreaNo).ToList().ForEach(
- areaYdmBsLocationEntities =>
- {
- var maxRow = 0;
- foreach (
- IGrouping<string, YdmBsLocationEntity> rowYdmBsLocationEntities in
- areaYdmBsLocationEntities.OrderBy(p => p.RowNo).GroupBy(p => p.RowNo))
- {
- var columnName = NunberToChar(areaYdmBsLocationEntities.Key, 1) +
- NunberToChar(rowYdmBsLocationEntities.Key);
- if (!dtData.Columns.Contains(columnName))
- dtData.Columns.Add(
- new DataColumn(columnName));
- foreach (var ydmBsLocationEntity in rowYdmBsLocationEntities)
- {
- var rowindex = 0;
- if (!int.TryParse(ydmBsLocationEntity.ColNo, out rowindex)) continue;
- for (var i = dtData.Rows.Count; i < rowindex; i++)
- dtData.Rows.Add(dtData.NewRow());
- var locationMatGpMAndStorageEntitys =
- locationInfos.Where(p => p.LocationNo == ydmBsLocationEntity.LocationNo).ToList();
- if (locationMatGpMAndStorageEntitys.Any())
- ugStorageInfo.Rows[rowindex - 1].Cells[columnName].Tag =
- locationMatGpMAndStorageEntitys[0];
- else
- ugStorageInfo.Rows[rowindex - 1].Cells[columnName].Tag =
- ydmBsLocationEntity.LocationName.Replace("\n", "").Replace("\r", "");
- dtData.Rows[rowindex - 1][columnName] =
- ImageText(
-
- locationMatGpMAndStorageEntitys.Where(p => p.ActCount != null)
- .Select(p => p.ActCount)
- .Sum()
- .ToString(),
- ydmBsStorageSettingEntity.CellShow == "1" ? ugStorageInfo.DisplayLayout.Bands[0].Columns[columnName].Header.Caption +
- rowindex : ydmBsLocationEntity.LocationName);
- }
- }
- }
- );
- SetGridFormat();
- }
- private void SetGridFormat()
- {
- ugStorageInfo.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
- ugStorageInfo.DisplayLayout.Override.RowSelectorHeaderStyle = RowSelectorHeaderStyle.ExtendFirstColumn;
- ugStorageInfo.DisplayLayout.Override.RowSelectorWidth = 20;
- foreach (var ugc in ugStorageInfo.DisplayLayout.Bands[0].Columns)
- {
- int maxLen = 0;
- int.TryParse(ugc.Tag.ToString3(), out maxLen);
- ugc.SortIndicator = SortIndicator.Disabled;
- ugc.CellActivation = Activation.NoEdit;
- ugc.Width =maxLen>8? (int)(maxLen* 8.8d): 72;
- ugc.EditorComponent = ut1;
- }
- //ugStorageInfo.DisplayLayout.Override.RowSizing = RowSizing.AutoFree;
- ugStorageInfo.DisplayLayout.Override.DefaultRowHeight = 52 + (ydmBsStorageSettingEntity.CellShow == "3" ? 15 : 0);
- }
- private void GetStorageSetting()
- {
- List<YdmBsStorageSettingEntity> lists = EntityHelper.GetData<YdmBsStorageSettingEntity>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageSetting",
- new object[] {uceStorageNo.SelectedItem.DataValue.ToString()},
- ob);
- if (lists.Any())
- ydmBsStorageSettingEntity = lists[0];
- else
- ydmBsStorageSettingEntity = new YdmBsStorageSettingEntity
- {
- StorageNo = uceStorageNo.SelectedItem.DataValue.ToString(),
- GroupArea = "1",
- ColumnReverse = "1",
- CellShow = "1",
- CellHight = 34,
- CellWight = 45,
- CellFullImage = ut1.EditInfo.EncodeImage(Resources.Full_Shelf),
- CellEmptyImage = ut1.EditInfo.EncodeImage(Resources.Empty_Shelf),
- EmptyColumnSort = 0,
- EmptyRowSort = 0,
- ColumnRowNum = "0"
- };
- }
- public string ImageText( string type, string title)
- {
- var encodedImage = type == "0"
- ? ydmBsStorageSettingEntity.CellEmptyImage
- : ydmBsStorageSettingEntity.CellFullImage;
- /*
- string ImageFormat = " <p style=\"text-align:Center;\"><img title=\"{2}\"" +
- " style=\"width:45px; height:34px;\" " +
- "data=\"{1}\"/><br/><span style=\"font-weight:bold;font-family:宋体; font-size:+0pt;\">{0}</span><br/></p>";*/
- var sb = new StringBuilder();
- sb.Append(" <p style=\"text-align:Center;\">");
- if (ydmBsStorageSettingEntity.CellShow == "3")
- {
- sb.Append("<span style=\"font-weight:bold;font-family:宋体; font-size:+0pt;\">");
- sb.Append("[" + type+"]");
- sb.Append("</span>");
- sb.Append("<br/>");
- }
- sb.Append(string.Format(" <img title=\"{0}\" style=\"width:45px; height:34px;\" data=\"{3}\"/> ", title,
- ydmBsStorageSettingEntity.CellWight, ydmBsStorageSettingEntity.CellHight,
- encodedImage));
- if (ydmBsStorageSettingEntity.CellShow != "0")
- {
- sb.Append("<br/>");
- sb.Append("<span style=\"font-weight:bold;font-family:宋体; font-size:+0pt;\">");
- sb.Append( title );
- sb.Append("</span>");
- sb.Append("<br/>");
- }
- sb.Append("</p>");
- return sb.ToString2();
- }
- private void ugStorageInfo_AfterCellActivate(object sender, EventArgs e)
- {
- var LocationText = "";
- // matGpMAndStorageEntityBindingSource.DataSource = new List<MatGpMAndStorageEntity>();
- if (ugStorageInfo.ActiveCell.Tag != null)
- {
- var locaiton =
- ugStorageInfo.ActiveCell.Tag as LocationInfo;
- if (locaiton != null)
- {
- var name = locaiton.LocationName +
- (string.IsNullOrWhiteSpace(locaiton.Memo) ? "" : "(" + locaiton.Memo + ")");
- if ((locaiton.ActCount == null) || (locaiton.ActCount <= 0))
- LocationText = string.Format(@" 当前料位: {0} 空料架", name);
- else
- LocationText = string.Format(@" 当前料位: {0} 料位炉数: {1} 料位支数: {2} 料位吨数 {3}",
- name,
- locaiton.JudgeStoveNoCount,
- locaiton.ActCount,
- locaiton.ActWeight
- );
- }
- }
- ugStorageInfo.Text = GridText + LocationText;
- // ClsControlPack.RefreshAndAutoSize(ugLocationDetail);
- // ugStorageInfo.ActiveCell.Tag
- }
- private void uceStorageNo_ValueChanged(object sender, EventArgs e)
- {
- RefreshData();
- }
- public override void ToolBar_Click(object sender, string toolbarKey)
- {
- switch (toolbarKey)
- {
- case "Query": //查询
- RefreshData();
- break;
- case "Print":
- Print();
- break;
- case "UpdateMemo":
- UpdateMemo();
- break;
- case "Close": //关闭
- Close();
- break;
- }
- }
- private void UpdateMemo()
- {
- ugLocationDetail.UpdateData();
- var listTotal = matInfoBindingSource.DataSource as List<库存位置.MatInfo>;
- var list = listTotal.Where(p => p.Chk).ToList();
- if (!list.Any())
- {
- MessageBox.Show("请选择需要修改备注的库存信息!");
- return;
- }
- using (var updateMemo = new UpdateMemo(ob, list))
- {
- if (updateMemo.ShowDialog() == DialogResult.OK)
- {
- ugStorageInfo_AfterSelectChange(null, null);
- }
-
- }
- }
- private void Print()
- {
- if (ugLocationDetail.ActiveRow == null)
- {
- MessageBox.Show("请选中需要打印的炉号");
- return;
- }
- var matInfo = ugLocationDetail.ActiveRow.ListObject as MatInfo;
- var strurl = "";
- strurl =
- @"http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLabelTH.cpt&JUDGE_STOVE_NO="
- + matInfo.JudgeStoveNo + "&BATCH_NO="
- + matInfo.BatchNo + "&PRO_ORDER_NO="
- + matInfo.OrderNo + "&LOCATION_NO=" + matInfo.LocationNo + "&USER=" + UserInfo.GetUserID();
- var fBug = new FrmRepExcel(ob, strurl);
- fBug.AutoSize = true;
- fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
- fBug.WindowState = FormWindowState.Maximized;
- fBug.Text = "打印标牌";
- fBug.Show();
- }
- private string NunberToChar(string numberstr, int dif = 0)
- {
- try
- {
- var number = int.Parse(numberstr) - dif;
- if ((1 <= number) && (36 >= number))
- {
- var num = number + 64;
- var asciiEncoding = new ASCIIEncoding();
- byte[] btNumber = {(byte) num};
- return asciiEncoding.GetString(btNumber);
- }
- if (number == 0) return "";
- return "#";
- }
- catch (Exception)
- {
- return "#";
- }
- }
- private void egbLocationInfo_ExpandedStateChanged(object sender, EventArgs e)
- {
- if (scMain.Panel2Collapsed) return;
- if (egbLocationInfo.Expanded)
- {
- scMain.SplitterDistance = scMain.Size.Height - _height;
- }
- else
- {
- _height = scMain.Panel2.Size.Height;
- scMain.SplitterDistance = scMain.Size.Height - 25;
- }
- }
- private void scMain_SizeChanged(object sender, EventArgs e)
- {
- if (scMain.Panel2Collapsed) return;
- if (egbLocationInfo.Expanded)
- scMain.SplitterDistance = scMain.Size.Height - _height;
- else
- scMain.SplitterDistance = scMain.Size.Height - 25;
- }
- private void etStoveNo_EditorButtonClick(object sender, EditorButtonEventArgs e)
- {
- try
- {
- var control = sender as UltraTextEditor;
- if (control == null) return;
- if (e.Button.Key.ToUpper().Equals("CLEAR".ToUpper()))
- {
- if (!string.IsNullOrEmpty(control.Text.Trim()))
- {
- control.Tag = control.Text.Trim();
- control.Clear();
- }
- else if (control.Tag != null) control.Text = Convert.ToString(control.Tag);
- }
- else if (e.Button.Key.ToUpper().Equals("FIND".ToUpper()))
- {
- FindStoveData(control);
- }
- }
- catch
- {
- // ignored
- }
- }
- private void FindStoveData(UltraTextEditor control)
- {
- if (uceStorageNo.SelectedIndex < 0) return;
- ugStorageInfo.Selected.Cells.Clear();
- if (ugStorageInfo.ActiveCell != null)
- {
- ugStorageInfo.ActiveCell.Activated = false;
- matGpMAndStorageEntityBindingSource.DataSource = new List<MatGpMAndStorageEntity>();
- }
- List<LocationInfo> list =
- EntityHelper.GetData<LocationInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.getLocationByStoveNo",
- new[] {uceStorageNo.SelectedItem.DataValue, control.Text.Trim()}, ob);
- foreach (var ultraGridRow in ugStorageInfo.Rows)
- foreach (var ultraGridCell in ultraGridRow.Cells)
- {
- var locationInfo =
- ultraGridCell.Tag as LocationInfo;
- if (locationInfo != null)
- if (
- list.Any(
- p => p.LocationNo == locationInfo.LocationNo))
- {
- ultraGridCell.Activated = true;
- ultraGridCell.Selected = true;
- }
- }
- egbLocationInfo.Expanded = true;
- foreach (var ultraGridRow in ugLocationDetail.Rows)
- {
- var matInfo =
- ultraGridRow.ListObject as MatInfo;
- if (matInfo.JudgeStoveNo == control.Text.Trim() || matInfo.StoveNo == control.Text.Trim())
- ultraGridRow.Selected = true;
- }
- }
- private void txtStoveNo_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- FindStoveData(txtStoveNo);
- }
- private void ugStorageInfo_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
- {
- matInfoBindingSource.Clear();
- var locations = new List<string>();
- foreach (var ultraGridCell in ugStorageInfo.Selected.Cells)
- {
- var LocationInfo =
- ultraGridCell.Tag as LocationInfo;
- if (LocationInfo != null)
- locations.Add(LocationInfo.LocationNo);
- }
- if (!locations.Any()) return;
- foreach (var ultraGridColumn in ugLocationDetail.DisplayLayout.Bands[0].Columns)
- {
- //TZH 2024.8.15 add 判定字头(PdZt)是否送判(IfSp) 去向 (MatGowhereName)
- if (ultraGridColumn.Key == "Chk" || ultraGridColumn.Key == "MatState" || ultraGridColumn.Key == "Producname" || ultraGridColumn.Key == "PdZt" || ultraGridColumn.Key == "IfSp" || ultraGridColumn.Key == "MatGowhereName") continue;
- ultraGridColumn.Hidden = true;
- }
- matInfoBindingSource.DataSource = EntityHelper.GetData<MatInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.StorageNoDataSumNew",
- new[] {uceStorageNo.SelectedItem.DataValue, locations.ToArray()}, ob);
- ClsControlPack.RefreshAndAutoSize(ugLocationDetail);
- }
- private void ugLocationDetail_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- foreach (var ultraGridColumn in ugLocationDetail.DisplayLayout.Bands[0].Columns)
- {
- if (ultraGridColumn.Key == "Chk") continue;
- if (ultraGridColumn.Key == "LocationNo") continue;
- if (ultraGridColumn.Key == "MatType") continue;
- if (!ultraGridColumn.Hidden) continue;
- if (!string.IsNullOrWhiteSpace(e.Row.Cells[ultraGridColumn.Key].Value.ToString2()))
- ultraGridColumn.Hidden = false;
- }
- }
- private void StorageInfo_Shown(object sender, EventArgs e)
- {
- ugLocationDetail.DisplayLayout.Bands[0].Columns["Chk"].Hidden = true;
- if ((toolMenu != null) && (toolMenu.Toolbars != null) && (toolMenu.Toolbars.Count > 0))
- {
- if (toolMenu.Toolbars[0].Tools.Exists("move"))
- if (toolMenu.Toolbars[0].Tools["move"].InstanceProps.Visible != DefaultableBoolean.False)
- {
- ugLocationDetail.ContextMenuStrip = listViewMenuStrip;
- ugLocationDetail.DisplayLayout.Bands[0].Columns["Chk"].Hidden = false;
- toolMenu.Toolbars[0].Tools["move"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("UpdateMemo"))
- {
- ugLocationDetail.DisplayLayout.Bands[0].Columns["Chk"].Hidden = false;
- }
- }
- }
- private void ugStorageInfo_DoubleClick(object sender, EventArgs e)
- {
- if (ugStorageInfo.ActiveCell == null) return;
- var locationInfo = ugStorageInfo.ActiveCell.Tag as LocationInfo;
- if (egpWaitMove.Visible && (locationInfo != null))
- {
- var locations = bindingSource1.DataSource as List<MatInfo>;
- if ((locations != null) && locations.Any())
- {
- if (MessageUtil.ShowYesNoAndQuestion("是否确认倒垛至料位[" + locationInfo.LocationName + "] ?") ==
- DialogResult.No) return;
- var ccp = new CoreClientParam
- {
- ServerName = "Core.LgMes.Server.LgDeviceManager.StorageManage",
- MethodName = "DoMove",
- ServerParams = new object[]
- {
- locations.Select(JSONFormat.Format).ToList(),
- locationInfo.LocationNo
- }
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.ToString2().Contains("成功"))
- {
- var locationInfos = EntityHelper.GetData<LocationInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageLocationInfoNewByLocation",
- new[] {locationInfo.LocationNo}, ob);
- if ((locationInfos != null) && locationInfos.Any())
- {
- ugStorageInfo.ActiveCell.Tag = locationInfos[0];
- ugStorageInfo.ActiveCell.Value =
- ImageText(
-
- locationInfos[0].ActCount == null ? "0" : locationInfos[0].ActCount.ToString3(),
- ydmBsStorageSettingEntity.CellShow == "1" ? ugStorageInfo.ActiveCell.Column.Header.Caption +
- ugStorageInfo.ActiveCell.Row.Index : locationInfos[0].LocationName);
- }
- else
- ugStorageInfo.ActiveCell.Tag = null;
- locations.Select(p => p.UltraGridCell).Distinct().ToList().ForEach(p =>
- {
- var location = p.Tag as LocationInfo;
- if (location != null)
- {
- var locs = EntityHelper.GetData<LocationInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageLocationInfoNewByLocation",
- new[] {location.LocationNo}, ob);
- if ((locs != null) && locs.Any())
- {
- p.Tag = locs[0];
- p.Value =
- ImageText(
-
- locs[0].ActCount == null ? "0" : locs[0].ActCount.ToString3(),
- ydmBsStorageSettingEntity.CellShow == "1" ? p.Column.Header.Caption +
- p.Row.Index : locs[0].LocationName);
- }
- else
- p.Tag = null;
- }
- });
- bindingSource1.Clear();
- egpWaitMove.Visible = false;
- ugStorageInfo_AfterCellActivate(null, null);
- ugStorageInfo_AfterSelectChange(null, null);
- }
- else
- {
- return;
- }
- }
- }
- if ((locationInfo != null) && (locationInfo.ActCount != null) && (locationInfo.ActCount > 0)
- )
- {
- if (!egbLocationInfo.Expanded)
- egbLocationInfo.Expanded = true;
- }
- else
- {
- egbLocationInfo.Expanded = false;
- }
- }
- private void MoveItem_Click(object sender, EventArgs e)
- {
- ugLocationDetail.UpdateData();
- var listTotal = matInfoBindingSource.DataSource as List<MatInfo>;
- var list = listTotal.Where(p => p.Chk).ToList();
- if (!list.Any())
- {
- MessageBox.Show("请选择需要倒垛的物料");
- return;
- }
- var data = bindingSource1.DataSource as List<MatInfo>;
- if (data == null) data = new List<MatInfo>();
- var addData = EntityHelper.CopyEntitys(list);
- addData.ForEach(p =>
- {
- p.LaryNoTo = "1";
- p.UserName = UserInfo.GetUserName();
- p.Bc = UserInfo.GetUserOrder();
- p.Bz = UserInfo.GetUserGroup();
- p.Deptid = UserInfo.GetDeptid();
- p.DeptName = UserInfo.GetDepartment();
- p.UltraGridCell = ugStorageInfo.ActiveCell;
- });
- var dataNew = data.Concat(addData).ToList();
- bindingSource1.DataSource = dataNew;
- egpWaitMove.Visible = true;
- }
- private void clearItem_Click(object sender, EventArgs e)
- {
- bindingSource1.Clear();
- egpWaitMove.Visible = false;
- }
- #region//导出空料位
- private void unExcel_Click(object sender, EventArgs e)
- {
- var hssfworkbook = new HSSFWorkbook();
- var sheet = hssfworkbook.CreateSheet("空料位统计");
- var index = 0;
- SetHead(sheet, hssfworkbook, index++);
- SetHeadRow(sheet, hssfworkbook
- , new List<string> { "料位代码", "料位名称", "区号", "行号", "列号", "备注" },
- new List<int> { 29, 25, 15, 15, 15, 15 },
- index++
- );
- setData(sheet, hssfworkbook, ref index);
- // SetSumm(sheet, index, hssfworkbook);
- sheet.ForceFormulaRecalculation = true;
- hssfworkbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateAll();
- using (var saveFileDialog1 = new SaveFileDialog())
- {
- saveFileDialog1.FileName = uceStorageNo.Text+"空料位统计" + DateTime.Now.ToString("yyMMddHHmmss");
- saveFileDialog1.Filter = "Excel文件(*.xls)|*.xls";
- if (saveFileDialog1.ShowDialog() == DialogResult.OK)
- {
- var sFullName = saveFileDialog1.FileName;
- var ms = new MemoryStream();
- hssfworkbook.Write(ms);
- using (var fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write))
- {
- var bArr = ms.ToArray();
- fs.Write(bArr, 0, bArr.Length);
- fs.Flush();
- }
- var p = new ProcessStartInfo(sFullName);
- p.WorkingDirectory = Path.GetDirectoryName(sFullName);
- Process.Start(p);
- }
- }
- }
- private void SetHead(ISheet sheet, HSSFWorkbook hssfworkbook, int rowindex)
- {
- var IRow = sheet.CreateRow(rowindex);
- IRow.Height = 50 * 20;
- var Icell = IRow.CreateCell(1);
- Icell.SetCellValue("空料位统计");
- var style = CenterStyle(hssfworkbook);
- var font = TitleFont(hssfworkbook);
- //使用SetFont方法将字体样式添加到单元格样式中
- style.SetFont(font);
- //将新的样式赋给单元格
- Icell.CellStyle = style;
- //合并单元格
- sheet.AddMergedRegion(new CellRangeAddress(0, 0, 1, 6));
- }
- private ICellStyle CenterStyle(HSSFWorkbook hssfworkbook)
- {
- var style = hssfworkbook.CreateCellStyle();
- //设置单元格的样式:水平对齐居中
- style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
- style.VerticalAlignment = VerticalAlignment.Center;
- return style;
- }
- private ICellStyle textStyle(HSSFWorkbook hssfworkbook)
- {
- var style = hssfworkbook.CreateCellStyle();
- //设置单元格的样式:水平对齐居中
- style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
- style.VerticalAlignment = VerticalAlignment.Center;
- return style;
- }
- private ICellStyle numStyle(HSSFWorkbook hssfworkbook)
- {
- var style = hssfworkbook.CreateCellStyle();
- //设置单元格的样式:水平对齐居中
- style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right;
- style.VerticalAlignment = VerticalAlignment.Center;
- return style;
- }
- private static IFont TitleFont(HSSFWorkbook hssfworkbook)
- {
- //新建一个字体样式对象
- var font = hssfworkbook.CreateFont();
- font.FontName = "宋体";
- font.FontHeightInPoints = 30;
- //设置字体加粗样式
- font.Boldweight = (short)FontBoldWeight.Bold;
- return font;
- }
- private void SetHeadRow(ISheet sheet, HSSFWorkbook hssfworkbook, List<string> name, List<int> columsWidth,
- int rowIndex)
- {
- var IRow = sheet.CreateRow(rowIndex);
- IRow.Height = 20 * 20;
- for (var i = 0; i < name.Count; i++)
- {
- sheet.SetColumnWidth(i + 1, columsWidth[i] * 256);
- var Icell = IRow.CreateCell(i + 1);
- Icell.SetCellValue(name[i]);
- var style = CenterStyle(hssfworkbook);
- style.BorderTop =BorderStyle.Medium;
- style.BorderBottom = BorderStyle.Medium;
- style.BorderLeft = BorderStyle.Medium;
- style.BorderRight =BorderStyle.Medium;
- var font = ContextFont(hssfworkbook);
- //使用SetFont方法将字体样式添加到单元格样式中
- style.SetFont(font);
- //将新的样式赋给单元格
- Icell.CellStyle = style;
- }
- }
- private void setData(ISheet sheet, HSSFWorkbook hssfworkbook, ref int index)
- {
- var index1 = index;
- var data = EntityHelper.GetData<LocationInfo>(
- "Core.LgMes.Server.LgDeviceManager.StorageManage.GetStorageLocationInfoNew",
- new[] { uceStorageNo.SelectedItem.DataValue }, ob) as List<LocationInfo> ;
- if ((data != null) && data.Any())
- {
- data.Where(p=>(p.ActCount == null) || (p.ActCount <= 0)).Distinct().ToList()
- .ForEach(
- p =>
- {
- var IRow = sheet.CreateRow(index1++);
- IRow.Height = 20 * 20;
- for (var i = 0; i < 6; i++)
- {
- var Icell = IRow.CreateCell(i + 1);
- Icell.SetCellType(CellType.String);
- if (i == 0)
- {
- Icell.SetCellValue(p.LocationNo);
- }
- if (i == 1)
- {
- Icell.SetCellValue(p.LocationName);
- }
- if (i == 2)
- {
- Icell.SetCellValue(p.AreaNo);
- }
- if (i == 3)
- {
- Icell.SetCellValue(p.ColNo);
- }
- if (i == 4)
- {
- Icell.SetCellValue(p.RowNo);
- }
- if (i == 5)
- {
- Icell.SetCellValue(p.IsProcess);
- }
- // var style = i <= 2 ? textStyle(hssfworkbook) : numStyle(hssfworkbook);
- // style.BorderTop = BorderStyle.Thin;
- // style.BorderBottom = BorderStyle.Thin;
- // style.BorderLeft = i == 0 ? BorderStyle.Medium : BorderStyle.Thin;
- // style.BorderRight = i == 5 ? BorderStyle.Medium : BorderStyle.Thin;
- // var font = ContextFont(hssfworkbook);
- // //使用SetFont方法将字体样式添加到单元格样式中
- //// style.SetFont(font);
- // //将新的样式赋给单元格
- // Icell.CellStyle = style;
- }
- }
- );
- index = index1;
- }
- }
- private static IFont ContextFont(HSSFWorkbook hssfworkbook)
- {
- //新建一个字体样式对象
- var font = hssfworkbook.CreateFont();
- font.FontName = "宋体";
- font.FontHeightInPoints = 12;
- //设置字体加粗样式
- font.Boldweight = (short)FontBoldWeight.Bold;
- return font;
- }
- #endregion
- }
- }
|