Make_StepReportDetail.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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. FillDataGridView();
  77. }
  78. private void headBar1_MouseDown(object sender, MouseEventArgs e)
  79. {
  80. ReleaseCapture();
  81. SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
  82. }
  83. private void BatchProductDGV_CellContentClick66(object sender, DataGridViewCellEventArgs e)
  84. {
  85. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "DeleteRow")
  86. {
  87. if (e.RowIndex >= 0)
  88. {
  89. string id = BatchProductDGV.Rows[e.RowIndex].Cells["msd_id"].Value.ToString();
  90. if (id != "0")
  91. {
  92. dh.ExecuteSql("update MES_STEPREPORTdet set msd_status =-1 where msd_id='" + id + "'", "delete");
  93. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "工序不良报工", "删除记录" + id, "", "");
  94. FillDataGridView();
  95. }
  96. }
  97. }
  98. }
  99. private void FillDataGridView()
  100. {
  101. sql.Clear();
  102. sql.Append("select msd_id,msd_msid,msd_badname,msd_qty,msd_indate,msd_status,msd_stepcode from MES_STEPREPORTdet ");
  103. sql.Append("where msd_msid = '" + msid + "' and msd_stepcode = '" + User.CurrentStepCode + "' and msd_status = 0");
  104. DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  105. BaseUtil.FillDgvWithDataTable(BatchProductDGV, dt);
  106. }
  107. private void button1_Click(object sender, EventArgs e)
  108. {
  109. }
  110. private void BatchProductDGV_CellFormatting12(object sender, DataGridViewCellFormattingEventArgs e)
  111. {
  112. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "DeleteRow")
  113. {
  114. if (BatchProductDGV.Rows[e.RowIndex].Cells["msd_id"].Value.ToString() == "0")
  115. e.Value = Properties.Resources.WhiteImage;
  116. else
  117. e.Value = Properties.Resources.bindingNavigatorDeleteItem_Image;
  118. }
  119. }
  120. private void button1_Click_1(object sender, EventArgs e)
  121. {
  122. }
  123. private void BatchProductDGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
  124. {
  125. bool mouseOver = e.CellBounds.Contains(this.PointToClient(Cursor.Position));
  126. if (e.ColumnIndex > 0)
  127. {
  128. if (BatchProductDGV.Columns[e.ColumnIndex].Name == "msd_qty")
  129. {
  130. SolidBrush solidBrush = new SolidBrush(Color.FromArgb(51, 153, 255));
  131. e.Graphics.FillRectangle(mouseOver ? solidBrush : Brushes.LightSeaGreen, e.CellBounds);
  132. Rectangle border = e.CellBounds;
  133. border.Width -= 1;
  134. e.Graphics.DrawRectangle(Pens.White, border);
  135. e.PaintContent(e.CellBounds);
  136. e.Handled = true;
  137. }
  138. }
  139. }
  140. private void button1_Click_2(object sender, EventArgs e)
  141. {
  142. try
  143. {
  144. if (comBoxWithFocus1.Text == "" || ngqty.Text == "")
  145. {
  146. MessageBox.Show("必填项为空");
  147. return;
  148. }
  149. double ng = double.Parse(ngqty.Text);
  150. 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());
  151. if (nowng + double.Parse(ngqty.Text) > badqty)
  152. {
  153. MessageBox.Show("已录入不良" + nowng + "+待录入不良" + ng + "大于不良总数" + badqty + "");
  154. return;
  155. }
  156. else
  157. {
  158. string msdid = dh.GetSEQ("MES_STEPREPORTDET_seq");
  159. sql.Clear();
  160. sql.Append("insert into MES_STEPREPORTdet (MSD_ID,MSD_MSID,MSD_BADNAME ,MSD_QTY,");
  161. sql.Append("MSD_INDATE,MSD_STATUS,MSD_STEPCODE");
  162. sql.Append(") values(" + msdid + "," + msid + ",'" + comBoxWithFocus1.Text + "',");
  163. sql.Append("'" + ng + "',sysdate,'0','" + User.CurrentStepCode + "')");
  164. dh.ExecuteSql(sql.GetString(), "insert");
  165. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "工序不良报工", "现象:" + comBoxWithFocus1.Text + ",数量:" + ng + "", "", "");
  166. FillDataGridView();
  167. comBoxWithFocus1.Text = "";
  168. ngqty.Text = "";
  169. }
  170. }
  171. catch (Exception ex)
  172. {
  173. Console.WriteLine(ex.Message);
  174. }
  175. }
  176. }
  177. }