锐腾搅拌上料功能
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.

361 lines
12 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.Base.Language.Tool;
  10. using ICSSoft.Base.UserControl.MessageControl;
  11. using System.Data.SqlClient;
  12. using ICSSoft.Base.Config.AppConfig;
  13. using ICSSoft.Base.Report.Filter;
  14. using ICSSoft.Base.Config.DBHelper;
  15. using ICSSoft.Base.UserControl.FormControl;
  16. using ICSSoft.Base.ReferForm.AppReferForm;
  17. using ICSSoft.Frame.Data.BLL;
  18. namespace ICSSoft.Frame.APP
  19. {
  20. public partial class FormICSEQPMaterialScrap : DevExpress.XtraEditors.XtraForm
  21. {
  22. private string sqltxt = "";
  23. private string sqlconn = "";
  24. private string ItemCode="";
  25. String guid = AppConfig.GetGuid();
  26. private DataTable dataSource = null;
  27. #region 构造函数
  28. public FormICSEQPMaterialScrap()
  29. {
  30. InitializeComponent();
  31. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  32. this.WindowState = FormWindowState.Maximized;
  33. }
  34. #endregion
  35. #region 构造函数
  36. public FormICSEQPMaterialScrap(string mcode)
  37. {
  38. InitializeComponent();
  39. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  40. this.WindowState = FormWindowState.Maximized;
  41. ItemCode = mcode;
  42. SearchItemLotInfo(mcode);
  43. }
  44. #endregion
  45. #region 查询备品备件报废记录
  46. private void SearchItemLotInfo(string mcode)
  47. {
  48. string sql = @"select '' as [isSelect],
  49. a.ItemCode as ItemCode,
  50. b.ItemName as MName,
  51. a.MToolCode as MToolCode,
  52. a.MTRANSQty as ScrapQty,
  53. a.MRRUSER as MRRUSER,
  54. a.MTIME as ScrapDate
  55. from dbo.ICSEQPMaterialTRANS a
  56. left join Base_Inventory b on a.ItemCode=b.ItemCode
  57. where a.ItemCode='{0}' and a.MTRANSType=''";
  58. sql = string.Format(sql, mcode);
  59. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  60. grdDetail.DataSource = dt;
  61. }
  62. #endregion
  63. #region 移动窗体
  64. private const int WM_NCHITTEST = 0x84;
  65. private const int HTCLIENT = 0x1;
  66. private const int HTCAPTION = 0x2;
  67. //首先必须了解Windows的消息传递机制,当有鼠标活动消息时,
  68. //系统发送WM_NCHITTEST 消息给窗体作为判断消息发生地的根据。 nchittest
  69. //假如你点击的是标题栏,窗体收到的消息值就是 HTCAPTION ,
  70. //同样地,若接受到的消息是 HTCLIENT,说明用户点击的是客户区,也就是鼠标消息发生在客户区。
  71. //重写窗体,使窗体可以不通过自带标题栏实现移动
  72. protected override void WndProc(ref Message m)
  73. {
  74. //当重载窗体的 WndProc 方法时,可以截获 WM_NCHITTEST 消息并改些该消息,
  75. //当判断鼠标事件发生在客户区时,改写改消息,发送 HTCAPTION 给窗体,
  76. //这样,窗体收到的消息就时 HTCAPTION ,在客户区通过鼠标来拖动窗体就如同通过标题栏来拖动一样。
  77. //注意:当你重载 WndProc 并改写鼠标事件后,整个窗体的鼠标事件也就随之改变了。
  78. switch (m.Msg)
  79. {
  80. case WM_NCHITTEST:
  81. base.WndProc(ref m);
  82. if ((int)m.Result == HTCLIENT)
  83. m.Result = (IntPtr)HTCAPTION;
  84. return;
  85. }
  86. //拦截双击标题栏、移动窗体的系统消息
  87. if (m.Msg != 0xA3)
  88. {
  89. base.WndProc(ref m);
  90. }
  91. }
  92. #endregion
  93. #region SystemOptition
  94. /// <summary>
  95. /// 操作权限
  96. /// </summary>
  97. /// <returns></returns>
  98. public DataTable RightOfExute()
  99. {
  100. DataTable rData = new DataTable();
  101. rData.Columns.Add("BtnName");
  102. rData.Columns.Add("ActionName");
  103. //查看权限(必须有)
  104. DataRow seeRow = rData.NewRow();
  105. seeRow["BtnName"] = "see";
  106. seeRow["ActionName"] = "查看";
  107. rData.Rows.Add(seeRow);
  108. List<Control> ControlList = new List<Control>();
  109. //ControlList.Add(btnConfig);
  110. //ControlList.Add(btnSave);
  111. //ControlList.Add(btnEdit);
  112. //ControlList.Add(btnDelLable);
  113. foreach (Control ctr in ControlList)
  114. {
  115. if (ctr.GetType() == typeof(SimpleButton))
  116. {
  117. DataRow dr = rData.NewRow();
  118. dr["BtnName"] = ctr.Name;
  119. dr["ActionName"] = ctr.Text;
  120. rData.Rows.Add(dr);
  121. }
  122. }
  123. rData.AcceptChanges();
  124. return rData;
  125. }
  126. /// <summary>
  127. /// 数据权限
  128. /// </summary>
  129. /// <returns></returns>
  130. public DataTable RightOfData()
  131. {
  132. DataTable rData = new DataTable();
  133. rData.Columns.Add("BodyName");
  134. rData.Columns.Add("ControlName");
  135. rData.Columns.Add("ControlCaption");
  136. rData.AcceptChanges();
  137. return rData;
  138. }
  139. #endregion
  140. #region 退出
  141. private void btnClose_Click(object sender, EventArgs e)
  142. {
  143. AppConfig.CloseFormShow(this.Text);
  144. this.Close();
  145. }
  146. private void btnExit_Click(object sender, EventArgs e)
  147. {
  148. AppConfig.CloseFormShow(this.Text);
  149. this.Close();
  150. }
  151. #endregion
  152. #region 分页
  153. private void rptPage_PageIndexChanged(object Sender, EventArgs e)
  154. {
  155. DataTable data = AppConfig.GetPageData(dataSource, rptPage.PageIndex, rptPage.PageSize).Copy();
  156. //DataTable data = AppConfig.GetPageDataByDb(tempTableName, "pagerowindex", rptPage.PageSize, rptPage.PageIndex, dataSource.Rows.Count);
  157. grdDetail.DataSource = data;
  158. }
  159. #endregion
  160. #region 全选
  161. private void btnSelect_Click(object sender, EventArgs e)
  162. {
  163. for (int i = 0; i < grvDetail.RowCount; i++)
  164. {
  165. grvDetail.SetRowCellValue(i, colisSelect, "Y");
  166. }
  167. }
  168. #endregion
  169. #region 全消
  170. private void btnCanSelect_Click(object sender, EventArgs e)
  171. {
  172. for (int i = 0; i < grvDetail.RowCount; i++)
  173. {
  174. grvDetail.SetRowCellValue(i, colisSelect, "");
  175. }
  176. }
  177. #endregion
  178. #region 刷新
  179. private void btnFalsh_Click(object sender, EventArgs e)
  180. {
  181. SearchItemLotInfo(ItemCode);
  182. }
  183. #endregion
  184. #region 删除
  185. private void btnDel_Click(object sender, EventArgs e)
  186. {
  187. grvDetail.PostEditor();
  188. this.Validate();
  189. if (grvDetail.RowCount == 0)
  190. return;
  191. //SimpleButton btntemp = (SimpleButton)sender;
  192. //if (AppConfig.GetUserExcuteRight(this.Tag.ToString(), btntemp.Name) == false)
  193. //{
  194. // ICSBaseSimpleCode.AppshowMessageBox("对不起您没有:" + btntemp.Text + "权限,请联系系统管理员!");
  195. //}
  196. List<string> guidList = new List<string>();
  197. List<string> guidList1 = new List<string>();
  198. for (int i = 0; i < grvDetail.RowCount; i++)
  199. {
  200. if (grvDetail.GetRowCellValue(i, colScrapQty).ToString() == "使用中")
  201. {
  202. ICSBaseSimpleCode.AppshowMessageBox("备品备件使用中不可删除!");
  203. return;
  204. }
  205. if (grvDetail.GetRowCellValue(i, colisSelect).ToString() == "Y")
  206. {
  207. guidList.Add(grvDetail.GetRowCellValue(i, colMToolCode).ToString());
  208. }
  209. }
  210. if (guidList.Count == 0)
  211. {
  212. ICSBaseSimpleCode.AppshowMessageBox("请选择数据!");
  213. return;
  214. }
  215. if (ICSBaseSimpleCode.AppshowMessageBoxRepose("确定删除该备品备件信息吗?删除后无法恢复,确定吗?") != DialogResult.OK)
  216. return;
  217. try
  218. {
  219. ICSEQPMaterialInfoBLL.delete(guidList,ItemCode);
  220. ICSBaseSimpleCode.AppshowMessageBox(0, "删除成功");
  221. }
  222. catch (Exception ex)
  223. {
  224. ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  225. }
  226. btnFalsh_Click(null, null);
  227. }
  228. #endregion
  229. #region 新增
  230. private void btnAdd_Click(object sender, EventArgs e)
  231. {
  232. FormICSEQPMaterialInfoAdd add = new FormICSEQPMaterialInfoAdd(ItemCode);
  233. add.ShowDialog();
  234. SearchItemLotInfo(ItemCode);
  235. }
  236. #endregion
  237. #region 列表
  238. private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  239. {
  240. if (e.Info.IsRowIndicator && e.RowHandle >= 0)
  241. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  242. }
  243. #endregion
  244. #region 双击选择
  245. private void grvDetail_DoubleClick(object sender, EventArgs e)
  246. {
  247. if (grvDetail.FocusedRowHandle < 0)
  248. {
  249. return;
  250. }
  251. if (grvDetail.FocusedColumn == colisSelect)
  252. {
  253. if (grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, colisSelect).ToString() == "")
  254. {
  255. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "Y");
  256. }
  257. else
  258. {
  259. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, colisSelect, "");
  260. }
  261. }
  262. }
  263. #endregion
  264. //#region 保存
  265. //private void btnSave_Click(object sender, EventArgs e)
  266. //{
  267. // List<string> statusList = new List<string>();
  268. // for (int i = 0; i < grvDetail.RowCount; i++)
  269. // {
  270. // statusList.Add(grvDetail.GetRowCellValue(i, colMCODE).ToString());
  271. // statusList.Add(grvDetail.GetRowCellValue(i, colScrapDate).ToString());
  272. // }
  273. // try
  274. // {
  275. // ICSEQPHandleBLL.update(statusList);
  276. // ICSBaseSimpleCode.AppshowMessageBox(0, "保存成功");
  277. // }
  278. // catch (Exception ex)
  279. // {
  280. // ICSBaseSimpleCode.AppshowMessageBox(ex.Message);
  281. // }
  282. // btnFalsh_Click(null, null);
  283. //}
  284. //#endregion
  285. #region 导出
  286. private void btnOutPut_Click(object sender, EventArgs e)
  287. {
  288. FormOutExcel foe = new FormOutExcel(this.Tag.ToString(), grdDetail);
  289. foe.ShowDialog();
  290. }
  291. #endregion
  292. //private void grvDetail_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
  293. //{
  294. // if (e.RowHandle >= 0 && e.Column.FieldName == "MValidDATE")
  295. // {
  296. // e.DisplayText = TODateInt(e.CellValue.ToString());
  297. // }
  298. //}
  299. //public static string TODateInt(string Date)
  300. //{
  301. // if (Date == null || Date.Trim() == string.Empty || Date=="0")
  302. // {
  303. // return "0";
  304. // }
  305. // return Date.Substring(0, 4) + "年" + Date.Substring(4, 2) + "月" + Date.Substring(6, 2) + "日";
  306. //}
  307. }
  308. }