UIM010041.cs 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Collections;
  10. using CoreFS.CA06;
  11. namespace Core.LZMes.Client.UIM
  12. {
  13. public partial class UIM010041 : Form
  14. {
  15. public string YARD_ADDR = "";//垛位位置
  16. private int areaType = 0;
  17. private int minRow = 1;
  18. private UIM010040 parent = null;
  19. public UIM010041()
  20. {
  21. InitializeComponent();
  22. }
  23. public UIM010041(UIM010040 parent , int areaType)
  24. {
  25. InitializeComponent();
  26. this.parent = parent;
  27. this.areaType = areaType;
  28. }
  29. private void label4_Click(object sender, EventArgs e)
  30. {
  31. YARD_ADDR = this.textBox1.Text.Trim().ToUpper();
  32. if (null == YARD_ADDR || "".Equals(YARD_ADDR))
  33. {
  34. MessageBox.Show("请输入需要入库的垛位!");
  35. this.textBox1.Focus();
  36. return;
  37. }
  38. parent.before_yard = YARD_ADDR;
  39. this.DialogResult = DialogResult.OK;
  40. this.Close();
  41. }
  42. private void UIM010041_Load(object sender, EventArgs e)
  43. {
  44. ArrayList list = parent.queryYardAreas(areaType);
  45. int listSize = list.Count;
  46. Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize];
  47. for (int i = 0; i < listSize; i++)
  48. {
  49. Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
  50. Hashtable ht = (Hashtable)list[i];
  51. item.DataValue = ((Hashtable)(ht["AREA_NO"]))["value"].ToString();
  52. item.DisplayText = ht["AREA_NAME"].ToString();
  53. valueListItems[i] = item;
  54. }
  55. this.ultraComboEditor1.Items.AddRange(valueListItems);
  56. this.ultraComboEditor1.SelectedIndex = 0;
  57. int areaNo = int.Parse(this.ultraComboEditor1.Value.ToString());
  58. list = parent.queryYardColsByArea(areaNo);
  59. if (null != list)
  60. {
  61. listSize = list.Count;
  62. valueListItems = new Infragistics.Win.ValueListItem[listSize];
  63. for (int i = 0; i < listSize; i++)
  64. {
  65. Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
  66. Hashtable ht = (Hashtable)list[i];
  67. item.DataValue = ht["CLF_COL"].ToString();
  68. item.DisplayText = ht["CLF_COL"].ToString();
  69. valueListItems[i] = item;
  70. }
  71. this.ultraComboEditor2.Items.AddRange(valueListItems);
  72. this.ultraComboEditor2.SelectedIndex = 0;
  73. this.DoQuery();
  74. //查询出垛位区域
  75. setYardInfo();
  76. }
  77. this.textBox1.Text = parent.before_yard;
  78. }
  79. //private int areaType = 0;
  80. //private string yardCol = "";
  81. ////private UIM010070 parent = null;
  82. /// <summary>
  83. /// 查询该行下垛位及钢卷信息
  84. /// </summary>
  85. private void DoQuery()
  86. {
  87. int areaNo = int.Parse(this.ultraComboEditor1.Value.ToString());
  88. string yardCol = this.ultraComboEditor2.Value.ToString();
  89. parent.queryYardRows(areaType,areaNo, yardCol);
  90. parent.queryYardRowCoils(areaType,areaNo, yardCol);
  91. minRow = parent.queryMinYardRow(areaType, areaNo, yardCol);
  92. this.ultraGrid1.DataSource = parent.dataSet2;
  93. this.ultraGrid1.DisplayLayout.Bands[0].Columns[0].Hidden = true;
  94. this.ultraGrid1.DisplayLayout.Bands[0].Columns[1].Hidden = true;
  95. }
  96. /// <summary>
  97. /// 将库存中存在的垛位激活
  98. /// </summary>
  99. private void setYardInfo()
  100. {
  101. DataRowCollection drs = parent.dataSet3.Tables[0].Rows;
  102. foreach (Control control in panel5.Controls)
  103. {
  104. if (control.Name.Contains("textBox"))
  105. {
  106. ((TextBox)control).ReadOnly = true;
  107. control.Text = "";
  108. control.DoubleClick += null;
  109. }
  110. else if (control.Name.Contains("pictureBox"))
  111. {
  112. ((PictureBox)control).BackColor = System.Drawing.SystemColors.InactiveBorder;
  113. //control.DoubleClick += null;
  114. }
  115. }
  116. for (int i = 0; i < drs.Count; i++)
  117. {
  118. string row_fl = (int.Parse(drs[i]["CLF_ROW"].ToString().Trim()) - minRow + 1).ToString() + drs[i]["CLF_FL"].ToString().Trim();
  119. Control yardControl1 = null;
  120. for (int j = 0; j < panel5.Controls.Count; j++)
  121. {
  122. if (panel5.Controls[j].Name.Equals("textBox_" + row_fl) || panel5.Controls[j].Name.Equals("pictureBox_" + row_fl))
  123. {
  124. if (null == yardControl1)
  125. {
  126. yardControl1 = panel5.Controls[j];
  127. }
  128. else
  129. {
  130. if (yardControl1.Name.Contains("textBox"))
  131. {
  132. setYardEnabled((PictureBox)panel5.Controls[j], (TextBox)yardControl1, drs[i]["CLF_ROW"].ToString().Trim(), drs[i]["CLF_FL"].ToString().Trim());
  133. }
  134. else
  135. {
  136. setYardEnabled((PictureBox)yardControl1, (TextBox)panel5.Controls[j], drs[i]["CLF_ROW"].ToString().Trim(), drs[i]["CLF_FL"].ToString().Trim());
  137. }
  138. break;
  139. }
  140. }
  141. }
  142. }
  143. }
  144. /// <summary>
  145. /// 激活垛位
  146. /// </summary>
  147. /// <param name="isEnabled"></param>
  148. /// <param name="pictureBox"></param>
  149. /// <param name="textBox"></param>
  150. private void setYardEnabled(PictureBox pictureBox, TextBox textBox, string row, string fl)
  151. {
  152. pictureBox.BackColor = System.Drawing.SystemColors.Window;
  153. textBox.ReadOnly = false;
  154. string clfRow = "";
  155. string clfFl = "";
  156. DataRowCollection drs = parent.dataSet2.Tables[0].Rows;
  157. for (int i = 0; i < drs.Count; i++)
  158. {
  159. clfRow = drs[i]["CLF_ROW"].ToString().Trim();
  160. clfFl = drs[i]["CLF_FL"].ToString().Trim();
  161. if (row.Equals(clfRow) && fl.Equals(clfFl))
  162. {
  163. textBox.Text = drs[i]["COIL_NO"].ToString().Trim();
  164. break;
  165. }
  166. }
  167. //pictureBox.DoubleClick += new EventHandler(pictureBox_doubleClick);
  168. textBox.DoubleClick += new EventHandler(textBox_doubleClick);
  169. }
  170. private void pictureBox_doubleClick(object sender, EventArgs e)
  171. {
  172. PictureBox picBox = (PictureBox)sender;
  173. string row_fl = picBox.Name.Split(new Char[] { '_' })[1];
  174. setYardAddr(row_fl);
  175. }
  176. private void textBox_doubleClick(object sender, EventArgs e)
  177. {
  178. TextBox txtBox = (TextBox)sender;
  179. string row_fl = txtBox.Name.Split(new Char[] { '_' })[1];
  180. setYardAddr(row_fl);
  181. }
  182. private void setYardAddr(string row_fl)
  183. {
  184. string row = (int.Parse(row_fl.Substring(0, row_fl.Length - 1)) + minRow - 1).ToString();
  185. if(row.Length < 2)
  186. {
  187. row = "0" + row;
  188. }
  189. string fl = row_fl.Substring(row_fl.Length - 1);
  190. string flFlag = "";
  191. if (fl.Equals("2"))
  192. {
  193. flFlag = "B";
  194. }
  195. else if (fl.Equals("3"))
  196. {
  197. flFlag = "C";
  198. }
  199. else
  200. {
  201. flFlag = "A";
  202. }
  203. this.textBox1.Text = this.ultraComboEditor2.Value.ToString() + flFlag + "-" + row;// +"-" + fl;
  204. }
  205. private void ultraComboEditor1_ValueChanged(object sender, EventArgs e)
  206. {
  207. int areaNo = int.Parse(this.ultraComboEditor1.Value.ToString());
  208. this.ultraComboEditor2.Items.Clear();
  209. ArrayList list = parent.queryYardColsByArea(areaNo);
  210. if (null != list)
  211. {
  212. int listSize = list.Count;
  213. Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize];
  214. for (int i = 0; i < listSize; i++)
  215. {
  216. Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem();
  217. Hashtable ht = (Hashtable)list[i];
  218. item.DataValue = ht["CLF_COL"].ToString();
  219. item.DisplayText = ht["CLF_COL"].ToString();
  220. valueListItems[i] = item;
  221. }
  222. this.ultraComboEditor2.Items.AddRange(valueListItems);
  223. this.ultraComboEditor2.SelectedIndex = 0;
  224. this.DoQuery();
  225. }
  226. }
  227. private void ultraComboEditor2_ValueChanged(object sender, EventArgs e)
  228. {
  229. this.DoQuery();
  230. setYardInfo();
  231. }
  232. }
  233. }