Make_StepReportDetail.cs 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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.Runtime.InteropServices;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using UAS_MES_NEW.DataOperate;
  11. using UAS_MES_NEW.Entity;
  12. using UAS_MES_NEW.PublicMethod;
  13. namespace UAS_MES_NEW.Make
  14. {
  15. public partial class Make_StepReportDetail : CustomControl.BaseForm.BaseForm
  16. {
  17. //所有用到了headBar的部分都需要这段代码
  18. [DllImport("user32.dll")]
  19. public static extern bool ReleaseCapture();
  20. [DllImport("user32.dll")]
  21. public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
  22. [DllImport("user32.dll", EntryPoint = "GetWindowLong", CharSet = CharSet.Auto)]
  23. public static extern int GetWindowLong(HandleRef hWnd, int nIndex);
  24. [DllImport("user32.dll", EntryPoint = "SetWindowLong", CharSet = CharSet.Auto)]
  25. public static extern IntPtr SetWindowLong(HandleRef hWnd, int nIndex, int dwNewLong);
  26. public const int WM_SYSCOMMAND = 0x0112;
  27. public const int SC_MOVE = 0xF010;
  28. public const int HTCAPTION = 0x0002;
  29. DataHelper dh;
  30. LogStringBuilder sql = new LogStringBuilder();
  31. string msid;
  32. double badqty;
  33. string macode;
  34. public Make_StepReportDetail(string msid, double badqty, string macode)
  35. {
  36. dh = SystemInf.dh;
  37. InitializeComponent();
  38. this.msid = msid;
  39. this.badqty = badqty;
  40. this.macode = macode;
  41. }
  42. private void Warehouse_ProdDetail_Load(object sender, EventArgs e)
  43. {
  44. ngsum.Text = badqty.ToString();
  45. ma_code.Text = macode;
  46. stepcode.Text = User.CurrentStepCode;
  47. //comBoxWithFocus1.Items.Add("线缺陷");
  48. //comBoxWithFocus1.Items.Add("破片");
  49. //comBoxWithFocus1.Items.Add("切割不良");
  50. //comBoxWithFocus1.Items.Add("mura");
  51. //comBoxWithFocus1.Items.Add("LCD刮伤");
  52. //comBoxWithFocus1.Items.Add("LCD脏污");
  53. //comBoxWithFocus1.Items.Add("线缺陷");
  54. //comBoxWithFocus1.Items.Add("亮点/碎亮点");
  55. //comBoxWithFocus1.Items.Add("画异");
  56. //comBoxWithFocus1.Items.Add("发黄");
  57. //if (User.CurrentStepCode == "CT1")
  58. //{
  59. // comBoxWithFocus1.Items.Add("来料液漏液&打X");
  60. //}
  61. //else if (User.CurrentStepCode == "CT2")
  62. //{
  63. // comBoxWithFocus1.Items.Add("上POL异物");
  64. // comBoxWithFocus1.Items.Add("上POL偏移");
  65. // comBoxWithFocus1.Items.Add("下POL异物");
  66. // comBoxWithFocus1.Items.Add("下POL偏移");
  67. // comBoxWithFocus1.Items.Add("上POL脏污");
  68. // comBoxWithFocus1.Items.Add("上POL刮伤");
  69. // comBoxWithFocus1.Items.Add("下POL脏污");
  70. // comBoxWithFocus1.Items.Add("下POL刮伤");
  71. // comBoxWithFocus1.Items.Add("上POL白边");
  72. // comBoxWithFocus1.Items.Add("上POL气泡");
  73. // comBoxWithFocus1.Items.Add("下POL白边");
  74. // comBoxWithFocus1.Items.Add("下POL气泡");
  75. //}
  76. //如果ms_makecode的值修改过再去查询
  77. sql.Clear();
  78. sql.Append("select BGD_BADCODE from badgroupdetail left join badgroup on bgd_bgid = bg_id where bg_code = '"+ User.CurrentStepCode + "' ORDER BY BGD_ID ASC");
  79. DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  80. comBoxWithFocus1.DisplayMember = "BGD_BADCODE";
  81. comBoxWithFocus1.ValueMember = "BGD_BADCODE";
  82. comBoxWithFocus1.DataSource = dt;
  83. comBoxWithFocus1.Text = "";
  84. FillDataGridView();
  85. }
  86. private void headBar1_MouseDown(object sender, MouseEventArgs e)
  87. {
  88. ReleaseCapture();
  89. SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
  90. }
  91. private void BatchProductDGV_CellContentClick66(object sender, DataGridViewCellEventArgs e)
  92. {
  93. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "DeleteRow")
  94. {
  95. if (e.RowIndex >= 0)
  96. {
  97. string id = BatchProductDGV.Rows[e.RowIndex].Cells["msd_id"].Value.ToString();
  98. if (id != "0")
  99. {
  100. dh.ExecuteSql("update MES_STEPREPORTdet set msd_status =-1 where msd_id='" + id + "'", "delete");
  101. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "工序不良报工", "删除记录" + id, "", "");
  102. FillDataGridView();
  103. }
  104. }
  105. }
  106. }
  107. private void FillDataGridView()
  108. {
  109. sql.Clear();
  110. sql.Append("select msd_id,msd_msid,msd_badname,msd_qty,msd_indate,msd_status,msd_stepcode from MES_STEPREPORTdet ");
  111. sql.Append("where msd_msid = '" + msid + "' and msd_stepcode = '" + User.CurrentStepCode + "' and msd_status = 0");
  112. DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  113. BaseUtil.FillDgvWithDataTable(BatchProductDGV, dt);
  114. }
  115. private void button1_Click(object sender, EventArgs e)
  116. {
  117. }
  118. private void BatchProductDGV_CellFormatting12(object sender, DataGridViewCellFormattingEventArgs e)
  119. {
  120. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "DeleteRow")
  121. {
  122. if (BatchProductDGV.Rows[e.RowIndex].Cells["msd_id"].Value.ToString() == "0")
  123. e.Value = Properties.Resources.WhiteImage;
  124. else
  125. e.Value = Properties.Resources.bindingNavigatorDeleteItem_Image;
  126. }
  127. }
  128. private void button1_Click_1(object sender, EventArgs e)
  129. {
  130. }
  131. private void BatchProductDGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
  132. {
  133. bool mouseOver = e.CellBounds.Contains(this.PointToClient(Cursor.Position));
  134. if (e.ColumnIndex > 0)
  135. {
  136. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "msd_qty")
  137. {
  138. SolidBrush solidBrush = new SolidBrush(Color.FromArgb(51, 153, 255));
  139. e.Graphics.FillRectangle(mouseOver ? solidBrush : Brushes.LightSeaGreen, e.CellBounds);
  140. Rectangle border = e.CellBounds;
  141. border.Width -= 1;
  142. e.Graphics.DrawRectangle(Pens.White, border);
  143. e.PaintContent(e.CellBounds);
  144. e.Handled = true;
  145. }
  146. }
  147. }
  148. private void button1_Click_2(object sender, EventArgs e)
  149. {
  150. try
  151. {
  152. if (comBoxWithFocus1.Text == "" || ngqty.Text == "")
  153. {
  154. MessageBox.Show("必填项为空");
  155. return;
  156. }
  157. double ng = double.Parse(ngqty.Text);
  158. double nowng = double.Parse(dh.getFieldDataByCondition("MES_STEPREPORTdet", "nvl(sum(msd_qty),0)", " msd_msid = '" + msid + "' and msd_stepcode = '" + User.CurrentStepCode + "' and msd_status = 0 ").ToString());
  159. if (nowng + double.Parse(ngqty.Text) > badqty)
  160. {
  161. MessageBox.Show("已录入不良" + nowng + "+待录入不良" + ng + "大于不良总数" + badqty + "");
  162. return;
  163. }
  164. else
  165. {
  166. string msdid = dh.GetSEQ("MES_STEPREPORTDET_seq");
  167. sql.Clear();
  168. sql.Append("insert into MES_STEPREPORTdet (MSD_ID,MSD_MSID,MSD_BADNAME ,MSD_QTY,");
  169. sql.Append("MSD_INDATE,MSD_STATUS,MSD_STEPCODE");
  170. sql.Append(") values(" + msdid + "," + msid + ",'" + comBoxWithFocus1.Text + "',");
  171. sql.Append("'" + ng + "',sysdate,'0','" + User.CurrentStepCode + "')");
  172. dh.ExecuteSql(sql.GetString(), "insert");
  173. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "工序不良报工", "现象:" + comBoxWithFocus1.Text + ",数量:" + ng + "", "", "");
  174. FillDataGridView();
  175. comBoxWithFocus1.Text = "";
  176. ngqty.Text = "";
  177. }
  178. }
  179. catch (Exception ex)
  180. {
  181. Console.WriteLine(ex.Message);
  182. }
  183. }
  184. }
  185. }