| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Xml;
- using CoreFS.CA06;
- using Core.LZMes.Client.UIM.comm;
- namespace Core.LZMes.Client.UIM
- {
- public partial class UIM010220 : FrmBase
- {
- private int areaType = 1;//原料库
- private string _StockNo = "";//库存编号
- private int _MinRow = 1;//最小行数
- private int _MaxRow = 1;//最大行数
- private Bitmap _CoilBitmap = new Bitmap("./images/OTHER/coil1.gif");
- private Bitmap _YardBitmap = new Bitmap("./images/OTHER/yard.png");
- public UIM010220()
- {
- InitializeComponent();
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- this.DoQuery();
- break;
- case "Exit":
- this.Close();
- break;
- }
- }
- private void DoQuery()
- {
-
- }
- private void UIM010220_Load(object sender, EventArgs e)
- {
- OutlookBar outlookBar = new OutlookBar();
- outlookBar.Location = new Point(0, 0);
- outlookBar.Size = new Size(150, this.ClientSize.Height);
- outlookBar.Dock = DockStyle.Fill;
- outlookBar.BorderStyle = BorderStyle.FixedSingle;
- panel3.Controls.Add(outlookBar);
- outlookBar.Initialize();
- IconPanel iconPanel1 = new IconPanel();
- IconPanel iconPanel2 = new IconPanel();
- IconPanel iconPanel3 = new IconPanel();
- outlookBar.AddBand("连退后库", iconPanel1, new EventHandler(ButtonEvent));
- outlookBar.AddBand("重卷前库", iconPanel2, new EventHandler(ButtonEvent));
- outlookBar.AddBand("重卷后库", iconPanel3, new EventHandler(ButtonEvent));
- Image rowIcon = Image.FromFile("./images/OTHER/img1.ico");
- iconPanel1.AddIcon("一区(1-10)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("二区(11-20)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("三区(21-30)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("四区(31-40)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("五区(41-57)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("六区(58-74)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("七区(75-91)", rowIcon, new EventHandler(PanelEvent));
- iconPanel1.AddIcon("八区(92-108)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("一区(1-10)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("二区(11-21)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("三区(22-32)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("四区(33-43)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("五区(44-54)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("六区(55-65)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("七区(66-76)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("八区(77-87)", rowIcon, new EventHandler(PanelEvent));
- iconPanel2.AddIcon("九区(88-100)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("一区(1-15)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("二区(16-35)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("三区(36-50)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("四区(51-65)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("五区(66-80)", rowIcon, new EventHandler(PanelEvent));
- iconPanel3.AddIcon("六区(81-102)", rowIcon, new EventHandler(PanelEvent));
- outlookBar.SelectBand(0);
- ShowStockCount("10");
- }
- public void ButtonEvent(object sender, EventArgs e)
- {
- Control ctrl = (Control)sender;
- BandButton bandButton = ctrl as BandButton;
- string stockNo = "";
- switch(bandButton.Text)
- {
- case "连退后库":
- stockNo = "10";
- break;
- case "重卷前库":
- stockNo = "11";
- break;
- case "重卷后库":
- stockNo = "12";
- break;
- }
- ShowStockCount(stockNo);
- }
- public void PanelEvent(object sender, EventArgs e)
- {
- Control ctrl = (Control)sender;
- PanelIcon panelIcon = ctrl.Tag as PanelIcon;
- string text = panelIcon.Text;
- string rowRange = text.Substring(text.IndexOf("(")+1, text.IndexOf(")") - text.IndexOf("(") - 1);
- //MessageBox.Show(panelIcon.Parent.Parent.Text + " " + rowRange);
- string[] rowRanges = rowRange.Split(new char[] { '-' });
- ShowYard(panelIcon.Parent.Parent.Text, int.Parse(rowRanges[0]), int.Parse(rowRanges[1]));
- }
- private void ShowStockCount(string stockNo)
- {
- this.dataSet1.Tables["STOCK_COUNT"].Clear();
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "UIM.UIM010220";
- ccp.MethodName = "queryStockCount";
- ccp.ServerParams = new object[] { stockNo };
- ccp.SourceDataTable = this.dataSet1.Tables["STOCK_COUNT"];
- this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
- if (dataSet1.Tables["STOCK_COUNT"].Rows.Count > 0)
- {
- textBox1.Text = dataSet1.Tables["STOCK_COUNT"].Rows[0]["YARD_COUNT"].ToString();
- textBox2.Text = dataSet1.Tables["STOCK_COUNT"].Rows[0]["COIL_COUNT"].ToString();
- textBox3.Text = dataSet1.Tables["STOCK_COUNT"].Rows[0]["WEIGHT_SUM"].ToString();
- }
- while (panel2.Controls.Count > 0)
- {
- panel2.Controls.RemoveAt(0);
- }
- }
- private void ShowYard(string stockNo, int minRow, int maxRow)
- {
- while(panel2.Controls.Count > 0)
- {
- panel2.Controls.RemoveAt(0);
- }
- if (stockNo == "连退后库")
- {
- _StockNo = "10";
- }
- else if(stockNo == "重卷前库")
- {
- _StockNo = "11";
- }
- else if(stockNo == "重卷后库")
- {
- _StockNo = "12";
- }
- _MinRow = minRow;
- _MaxRow = maxRow;
- Panel panel = new Panel();
- panel.Dock = DockStyle.Fill;
- panel.AutoScroll = true;
- panel.Visible = false;
- panel.MouseClick += new MouseEventHandler(pnl_MouseClick);
- panel2.Controls.Add(panel);
- panel.VisibleChanged +=new EventHandler(panel_Paint);
- panel.Visible = true;
- //.DrawLine(new Pen(Color.LightBlue,2),new Point(0,100),new Point(1000,100));
- }
- private void panel_Paint(object sender, EventArgs e)
- {
- Panel pnl = ((Panel)sender);
- for (int i = 0; i <= _MaxRow - _MinRow; i++)
- {
- //e.Graphics.DrawPolygon(new Pen(Color.LightBlue, 6), new Point[] { new Point(50, 110 + (i * 80)), new Point(1000, 110 + (i * 80)), new Point(990, 115 + (i * 80)), new Point(40, 115 + (i * 80)) });
- CoilPictureBox yard = new CoilPictureBox();
- yard.Image = _YardBitmap;
- //BitmapRegion.CreateControlRegion(yard, new Bitmap("./images/OTHER/yard.png"));
- yard.Top = 110 + (i * 80);
- yard.Left = 50;
- yard.Width = 920;
- yard.Height = 17;
- yard.SizeMode = PictureBoxSizeMode.StretchImage;
- yard.SendToBack();
- pnl.Controls.Add(yard);
- }
- DataTable dt = dataSet1.Tables["AREA_COILS"];
- dt.Clear();
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "UIM.UIM010220";
- ccp.MethodName = "queryAreaCoils";
- ccp.ServerParams = new object[] { _StockNo,_MinRow,_MaxRow };
- ccp.SourceDataTable = dt;
- this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
- if (dt.Rows.Count > 0)
- {
- int rowIndex, columnIndex, layerIndex, columnHead = 0, rowHead = 0,rowI = 0,colI = 0;
- string coilNo = string.Empty,clfNo = string.Empty;
- foreach (DataRow dr in dt.Rows)
- {
- rowIndex = Convert.ToInt32(dr["CLF_ROW"]);
- columnIndex = Convert.ToInt32(dr["CLF_COL"]);
- layerIndex = Convert.ToInt32(dr["CLF_FL"]);
- coilNo = Convert.ToString(dr["OLD_SAMPL_NO"]);
- clfNo = Convert.ToString(dr["CLF_NO"]);
- if (rowIndex > rowHead)
- {
- rowHead++;
- if (rowHead >= _MinRow)
- {
- Label lblRow = new Label();
- lblRow.Name = "ROW_" + Convert.ToString(rowHead) + "_" + clfNo;
- lblRow.Text = rowHead.ToString();
- lblRow.Size = new Size(25, 20);
- lblRow.Location = new Point(10, 110 + (rowHead - _MinRow) * 80);
- lblRow.TextAlign = ContentAlignment.MiddleCenter;
- //lblRow.BackColor = Color.SkyBlue;
- pnl.Controls.Add(lblRow);
- lblRow.BringToFront();
- }
- }
- if (columnIndex > columnHead)
- {
- columnHead++;
- Label lblColumn = new Label();
- lblColumn.Name = "COL_"+ Convert.ToString(columnHead)+"_"+clfNo;
- lblColumn.Text = Convert.ToString(columnHead);
- lblColumn.Size = new Size(30, 20);
- lblColumn.Location = new Point(columnHead * 60 + 13, 25);
- lblColumn.TextAlign = ContentAlignment.MiddleCenter;
- //lblColumn.BackColor = Color.SkyBlue;
- pnl.Controls.Add(lblColumn);
- lblColumn.BringToFront();
- }
- //if (layerIndex == 1)
- //{
- // PictureBox yard = new PictureBox();
- // yard.Name = Convert.ToString(dr["BUTTRESS_NO"]);
- // yard.Image = y_Image;
- // yard.Width = 40;
- // yard.Height = 14;
- // yard.Left = columnIndex * 60 + 8;
- // yard.Top = rowIndex * 60 + 12;
- // yard.SizeMode = PictureBoxSizeMode.StretchImage;
- // pnl.Controls.Add(yard);
- // yard.SendToBack();
- //}
- if (!string.IsNullOrEmpty(coilNo))
- {
- string loadLoc = Convert.ToString(dr["CUR_LOAD_LOC"]);
- Control []ctrls = new Control[3];
- int i = 0;
- foreach (Control ctrl in pnl.Controls)
- {
- if (ctrl is CoilPictureBox && ((CoilPictureBox)ctrl).CurLoadLoc == loadLoc)
- {
- ctrls[i] = ctrl;
- if (i++ == 3)
- {
- break;
- }
- }
- }
- if (i >= 3)
- {
- break;
- }
- CoilPictureBox coil = new CoilPictureBox();
- BitmapRegion.CreateControlRegion(coil, _CoilBitmap);
- coil.Name = coilNo;
- coil.Width = 50;
- coil.Height = 50;
- coil.Left = columnIndex * 60 + 6 + (layerIndex - 1) * 30;
- coil.Top = 80 + (rowIndex-_MinRow) * 80 - (layerIndex - 1) * 5;
- coil.CurLoadLoc = loadLoc;
- string text = "钢卷详细信息\r\n";
- text = string.Format("{0}钢卷号: {1}\r\n", text, coilNo);
- text = string.Format("{0}垛位 : {1}\r\n", text, loadLoc);
- text = string.Format("{0}牌号 : {1}\r\n", text, Convert.ToString(dr["SPEC_STL_GRD"]));
- text = string.Format("{0}厚度 : {1}\r\n", text, Convert.ToString(dr["COIL_THK"]));
- text = string.Format("{0}宽度 : {1}\r\n", text, Convert.ToString(dr["COIL_WTH"]));
- text = string.Format("{0}重量 : {1}KG\r\n", text, Convert.ToString(dr["ACT_WGT"]));
- text = string.Format("{0}合同号: {1}\r\n", text, Convert.ToString(dr["ORD_NO"]));
- text = string.Format("{0}订单号: {1}", text, Convert.ToString(dr["ORD_SEQ"]));
- coil.ToolTipText = text;
- coil.Cursor = Cursors.Hand;
- coil.SizeMode = PictureBoxSizeMode.StretchImage;
- coil.MouseEnter += new EventHandler(picBox_MouseEnter);
- coil.MouseLeave += new EventHandler(picBox_MouseLeave);
- //同一垛位钢卷移动位置
- foreach (Control ctrl in ctrls)
- {
- if (ctrl != null)
- {
- ctrl.Left -= 30 / 2;
- }
- }
- coil.Left += 30 / 2 * i;
- pnl.Controls.Add(coil);
- coil.BringToFront();
- }
- }
-
- //PictureBox pb1 = new PictureBox();
- //BitmapRegion.CreateControlRegion(pb1, bitmap);
- //pb1.Left = 60;
- //pb1.Top = 73;
- //pb1.Width = 50;
- //pb1.Height = 50;
- //pb1.BackColor = Color.Transparent;
- //((Panel)sender).Controls.Add(pb1);
- //e.Graphics.DrawImage(Image.FromFile("./images/OTHER/coil1.gif"), 40, 73, 50, 50);
- }
- }
- private void pnl_MouseClick(object sender, MouseEventArgs e)
- {
- ((Panel)sender).Focus();
- }
- private void picBox_MouseEnter(object sender, EventArgs e)
- {
- CoilPictureBox picBox = (CoilPictureBox)sender;
- toolTip1.Show(picBox.ToolTipText, picBox);
- }
- private void picBox_MouseLeave(object sender, EventArgs e)
- {
- toolTip1.Hide((IWin32Window)sender);
- }
- }
- }
|