FrmMatLabSampleConfirm.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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 CoreFS.CA06;
  10. using Infragistics.Win.UltraWinGrid;
  11. using Core.Mes.Client.Comm.Tool;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Control;
  14. //需要填写重量字段,每个试样一个重量,返回备注给质保部
  15. namespace Core.StlMes.Client.Lims.Data.Mat
  16. {
  17. public partial class FrmMatLabSampleConfirm : FrmBase
  18. {
  19. private string[] arrId;//数据权限
  20. public FrmMatLabSampleConfirm()
  21. {
  22. InitializeComponent();
  23. }
  24. protected override void OnLoad(EventArgs e)
  25. {
  26. base.OnLoad(e);
  27. publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  28. publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  29. }
  30. private void FrmMatLabSampleConfirm_Load(object sender, EventArgs e)
  31. {
  32. //arrId = this.ValidDataPurviewIds;//获取数据权限
  33. arrId = UserInfo.GetUserName() == "admin" ? PublicMat.ValidData() : this.ValidDataPurviewIds;
  34. InitColumns();
  35. }
  36. private void InitColumns()
  37. {
  38. //"SAMPLE_WEIGHT","试样重量",
  39. publicUltraGridDetail1.InitColumnsBaseDetail(new string[] { "CHK", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "SAMPLE_REMARK" }, true, new string[] { "CHK", "SAMPLE_WEIGHT" });
  40. publicUltraGridDetail2.InitColumnsBaseDetail(new string[] { "CHK", "FLAG_DESC", "CHECK_NO", "BATCH_NO", "SAMPLE_NO", "ITEM_NAME", "SAMPLE_WEIGHT", "PRODUCT_STD", "GRADE", "WEIGHT", "CHECK_COUNT_DESC", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "DEPT_ID_DESC", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "SAMPLE_REMARK" }, true, new string[] { "CHK" });
  41. }
  42. /// <summary>
  43. /// 重写基类方法
  44. /// </summary>
  45. /// <param name="sender"></param>
  46. /// <param name="ToolbarKey"></param>
  47. public override void ToolBar_Click(object sender, string ToolbarKey)
  48. {
  49. //新增、修改修约值、审核、删除、退出
  50. switch (ToolbarKey)
  51. {
  52. case "Query":
  53. if (ultraTabControl1.SelectedTab.Index == 0)
  54. {
  55. QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
  56. }
  57. else if (ultraTabControl1.SelectedTab.Index == 1)
  58. {
  59. QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "12345");
  60. }
  61. break;
  62. case "Confirm":
  63. UpdateCheckConsignDetail();
  64. break;
  65. case "Cancel":
  66. CancelUpdateCheckConsignDetail();
  67. break;
  68. case "Print":
  69. if (ultraTabControl1.SelectedTab.Index == 0)
  70. {
  71. RepLimsMatLabSampleConfirm(publicUltraGridDetail1, "0");
  72. }
  73. else if (ultraTabControl1.SelectedTab.Index == 1)
  74. {
  75. RepLimsMatLabSampleConfirm(publicUltraGridDetail2, "12345");
  76. }
  77. break;
  78. case "Close":
  79. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  80. {
  81. this.Close();
  82. }
  83. break;
  84. }
  85. }
  86. //查询检验委托基本信息
  87. private void QueryCheckConsignDetail_Dept(PublicUltraGridDetail publicUltraGridDetail, string strFlag)
  88. {
  89. try
  90. {
  91. ArrayList arrayList = matQueryBase1.GetQueryInfo(strFlag);
  92. DataTable dt = PublicServer.GetData("com.steering.lims.data.mat.FrmMatSampleConfirm.QueryCheckConsignBaseDetail_Dept", arrId == null ? new Object[] { arrayList, new string[] { UserInfo.GetDeptid() } } : new Object[] { arrayList, arrId }, ob);
  93. if (dt == null || dt.Rows.Count == 0)
  94. {
  95. publicUltraGridDetail.DataTable.Rows.Clear();
  96. return;
  97. }
  98. GridHelper.CopyDataToDatatable(dt, publicUltraGridDetail.DataTable, true);//把dt复制给dataTable4
  99. //GridHelper.RefreshAndAutoSize(publicUltraGridDetail.Ug);//刷新Grid
  100. PublicMat.RefreshAndAutoSizeColumns(publicUltraGridDetail.Ug, new string[] { "SAMPLE_REMARK" }, false);
  101. }
  102. catch (Exception ex)
  103. {
  104. MessageUtil.ShowWarning(ex.Message);
  105. return;
  106. }
  107. }
  108. //来样确认
  109. private void UpdateCheckConsignDetail()
  110. {
  111. try
  112. {
  113. if (publicUltraGridDetail1.Ug == null || publicUltraGridDetail1.Ug.Rows.Count == 0)
  114. {
  115. return;
  116. }
  117. if (ultraTabControl1.SelectedTab.Index != 0)
  118. {
  119. MessageUtil.ShowTips("只有选择了未确认页才能进行来样确认操作!");
  120. return;
  121. }
  122. publicUltraGridDetail1.Ug.UpdateData();
  123. DataRow[] arrBase = publicUltraGridDetail1.DataTable.Select("CHK = 'True'");
  124. if (arrBase == null || arrBase.Length == 0)
  125. {
  126. MessageUtil.ShowTips("请勾选至少一条需要进行来样确认的信息!");
  127. return;
  128. }
  129. if (MessageUtil.ShowYesNoAndQuestion("是否来样确认?") == DialogResult.Yes)
  130. {
  131. ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
  132. ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
  133. foreach (DataRow row in arrBase)
  134. {
  135. alBaseParams = new ArrayList();//增加要更新的基础标志位信息
  136. alBaseParams.Add(row["SAMPLE_WEIGHT"].ToString());//试样重量
  137. alBaseParams.Add("1");
  138. alBaseParams.Add(UserInfo.GetUserName());//收样人
  139. alBaseParams.Add(DateTime.Now.ToString());//收样时间
  140. alBaseParams.Add("");
  141. alBaseParams.Add("");//样品备注row["SAMPLE_REMARK"].ToString()
  142. alBaseParams.Add("0");
  143. alBaseParams.Add(row["DEPT_ID"].ToString());
  144. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  145. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  146. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  147. alBaseParams.Add(row["CHECK_NO"].ToString());
  148. alBase.Add(alBaseParams);
  149. }
  150. PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail",
  151. new Object[] { alBase }, ob);
  152. QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
  153. QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234");
  154. MessageUtil.ShowTips("来样确认成功!");
  155. }
  156. }
  157. catch (Exception e)
  158. {
  159. MessageUtil.ShowWarning(e.Message);
  160. }
  161. }
  162. private void CancelUpdateCheckConsignDetail()
  163. {
  164. try
  165. {
  166. if (publicUltraGridDetail2.Ug == null || publicUltraGridDetail2.Ug.Rows.Count == 0)
  167. {
  168. return;
  169. }
  170. if (ultraTabControl1.SelectedTab.Index != 1)
  171. {
  172. MessageUtil.ShowTips("只有选择了已确认页才能进行取消确认操作!");
  173. return;
  174. }
  175. publicUltraGridDetail2.Ug.UpdateData();
  176. DataRow[] arrBase = publicUltraGridDetail2.DataTable.Select("CHK = 'True' AND FLAG = '1'");
  177. if (arrBase == null || arrBase.Length == 0)
  178. {
  179. MessageUtil.ShowTips("请勾选至少一条状态为已确认的信息!");
  180. return;
  181. }
  182. WinCancelReason pc = new WinCancelReason();
  183. pc.ShowDialog();
  184. if (pc.DialogResult != DialogResult.OK)
  185. {
  186. return;
  187. }
  188. string strRemark = pc.StrRemark;
  189. strRemark = this.Text + "取消确认由于" + strRemark + "(" + UserInfo.GetUserName() + " " + DateTime.Now.ToString() + ")";
  190. ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
  191. ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
  192. foreach (DataRow row in arrBase)
  193. {
  194. alBaseParams = new ArrayList();//增加要更新的基础标志位信息
  195. alBaseParams.Add("");
  196. alBaseParams.Add("0");
  197. alBaseParams.Add("");//收样人
  198. alBaseParams.Add("");//收样时间
  199. alBaseParams.Add(strRemark);
  200. alBaseParams.Add(strRemark);//样品备注row["SAMPLE_REMARK"].ToString()
  201. alBaseParams.Add("1");
  202. alBaseParams.Add(row["DEPT_ID"].ToString());
  203. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  204. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  205. alBaseParams.Add(row["SAMPLE_NO"].ToString());
  206. alBaseParams.Add(row["CHECK_NO"].ToString());
  207. alBase.Add(alBaseParams);
  208. }
  209. PublicServer.SetData("com.steering.lims.data.mat.FrmMatSampleConfirm.UpdateCheckConsignDetail",
  210. new Object[] { alBase }, ob);
  211. QueryCheckConsignDetail_Dept(publicUltraGridDetail2, "1234");
  212. QueryCheckConsignDetail_Dept(publicUltraGridDetail1, "0");
  213. MessageUtil.ShowTips("取消确认成功!");
  214. }
  215. catch (Exception e)
  216. {
  217. MessageUtil.ShowWarning(e.Message);
  218. }
  219. }
  220. private void RepLimsMatLabSampleConfirm(PublicUltraGridDetail publicUltraGridDetail, string strFlag)
  221. {
  222. try
  223. {
  224. //if (ultraTabControl1.SelectedTab.Index != 0)
  225. //{
  226. // MessageUtil.ShowWarning("只有在未确认任务单页才能进行打印来样确认单操作!");
  227. // return;
  228. //}
  229. this.Cursor = Cursors.WaitCursor;
  230. publicUltraGridDetail.Ug.UpdateData();
  231. DataRow[] arrBase = publicUltraGridDetail.DataTable.Select("CHK = 'True'");
  232. if (arrBase == null || arrBase.Length == 0)
  233. {
  234. MessageUtil.ShowWarning("请选择您要打印的来样确认单!");
  235. return;
  236. }
  237. string strCHECK_NO = "";
  238. foreach (DataRow row in arrBase)
  239. {
  240. strCHECK_NO += "'" + row["CHECK_NO"].ToString() + row["SAMPLE_NO"].ToString() + row["DEPT_ID"].ToString() + "',";
  241. }
  242. strCHECK_NO = strCHECK_NO.Remove(0, 1);
  243. strCHECK_NO = strCHECK_NO.Remove(strCHECK_NO.Length - 2);
  244. string strurl = "";
  245. if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  246. {
  247. strurl = "http://localhost:8075/WebReport/ReportServer?reportlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
  248. }
  249. else
  250. {
  251. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsMatLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO + "&FLAG=" + strFlag;
  252. }
  253. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  254. fBug.AutoSize = true;
  255. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  256. fBug.WindowState = FormWindowState.Maximized;
  257. fBug.Text = "原材料试验室来样确认单";
  258. fBug.Show();
  259. }
  260. finally
  261. {
  262. this.Cursor = Cursors.Default;
  263. }
  264. }
  265. }
  266. }