华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
5.0 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using DevExpress.XtraEditors;
  9. using ICSSoft.Frame.User.BLL;
  10. using ICSSoft.Base.Language.Tool;
  11. using ICSSoft.Base.UserControl.MessageControl;
  12. using System.Data.SqlClient;
  13. using ICSSoft.Base.Config.AppConfig;
  14. using ICSSoft.Base.Report.Filter;
  15. using ICSSoft.Base.Config.DBHelper;
  16. using ICSSoft.Base.UserControl.FormControl;
  17. using ICSSoft.Base.ReferForm.AppReferForm;
  18. using ICSSoft.Base.Lable.PrintTool;
  19. using ICSSoft.Frame.Data.DAL;
  20. using ICSSoft.Frame.Data.BLL;
  21. using ICSSoft.Frame.Data.Entity;
  22. using System.Collections;
  23. namespace ICSSoft.Frame.APP
  24. {
  25. public partial class FormICSPictureNew : DevExpress.XtraEditors.XtraForm
  26. {
  27. string Lotno = "";
  28. #region 构造函数
  29. public FormICSPictureNew()
  30. {
  31. InitializeComponent();
  32. }
  33. public FormICSPictureNew(string lotno)
  34. {
  35. this.Lotno = lotno;
  36. InitializeComponent();
  37. }
  38. #endregion
  39. public void LoadSource() {
  40. string sql = @"select b.mocode,a.lotno,c.ROUTECODE,c.opcode,i.opname,c.opseq,b.itemcode,H.INVNAME AS itemname,
  41. case
  42. when f.ACTIONRESULT = 'COLLECT_BEGIN' then ''
  43. when j.OPCODE is null then ''
  44. when f.ACTIONRESULT IS NULL THEN ''
  45. when f.ACTIONRESULT = 'COLLECT_END' and g.Result is null and ncr.ID is not null then ''
  46. when f.ACTIONRESULT = 'COLLECT_END' and g.Result is null and ncr.ID is null then ''
  47. when f.ACTIONRESULT = 'COLLECT_END' and g.Result = '' then ''
  48. wheN f.ACTIONRESULT = 'COLLECT_END' and g.Result = '' then ''
  49. end as status from ICSITEMLot a inner join icsmo b on a.TransNO=b.MOCODE and b.MOSEQ=a.TransLine left join ICSITEMROUTE2OPLot c on c.lotno=a.lotno
  50. left join ICSOP i on i.OPCODE=c.OPCODE
  51. left join ICSLOTONWIP f on f.lotno=a.lotno and f.OPCODE=i.OPCODE and f.eattribute1 is null left join ICSINVENTORY h on h.INVCODE=b.ITEMCODE left join ICSLOTONWIPCheck g on g.ONWIPID=f.ID
  52. left join ICSMO2User j on j.lotno=a.lotno and j.OPCODE=i.OPCODE
  53. left join ICSNCRDoc ncr on ncr.LOTNO=f.LotNO and ncr.OPCode=f.OPCODE and ncr.ErrorType=''
  54. where a.lotno='" + this.Lotno +@"'order by b.mocode,a.lotno,c.ROUTECODE,c.opseq
  55. ";
  56. DataTable datasource = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  57. gridControl1.DataSource = datasource;
  58. }
  59. #region 关闭 退出
  60. private void btnClose_Click(object sender, EventArgs e)
  61. {
  62. this.Close();
  63. }
  64. #endregion
  65. #region 移动窗体
  66. private const int WM_NCHITTEST = 0x84;
  67. private const int HTCLIENT = 0x1;
  68. private const int HTCAPTION = 0x2;
  69. //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
  70. //系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
  71. //假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
  72. //同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
  73. //重写窗体,使窗体可以不通过自带标题栏实现移动
  74. protected override void WndProc(ref Message m)
  75. {
  76. //当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
  77. //当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
  78. //这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
  79. //注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
  80. switch (m.Msg)
  81. {
  82. case WM_NCHITTEST:
  83. base.WndProc(ref m);
  84. if ((int)m.Result == HTCLIENT)
  85. m.Result = (IntPtr)HTCAPTION;
  86. return;
  87. }
  88. //拦截双击标题栏、移动窗体的系统消息
  89. if (m.Msg != 0xA3)
  90. {
  91. base.WndProc(ref m);
  92. }
  93. }
  94. #endregion
  95. #region 取消
  96. private void can_Click(object sender, EventArgs e)
  97. {
  98. this.Close();
  99. }
  100. #endregion
  101. #region 页面加载
  102. private void FormICSItenLotAdd_Load(object sender, EventArgs e)
  103. {
  104. LoadSource();
  105. }
  106. #endregion
  107. private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  108. {
  109. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  110. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  111. }
  112. }
  113. }