FrmOutdecLabSampleConfirm.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  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.CA03;
  10. using CoreFS.CA04;
  11. using CoreFS.CA06;
  12. using System.Collections;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Core.Mes.Client.Comm.Server;
  15. using Core.Mes.Client.Comm.Control;
  16. using Core.Mes.Client.Comm.Tool;
  17. //可以根据登录人所属部门来确认试验项目权限
  18. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  19. {
  20. public partial class FrmOutdecLabSampleConfirm : FrmBase
  21. {
  22. private string[] arrId;//数据权限
  23. public FrmOutdecLabSampleConfirm()
  24. {
  25. InitializeComponent();
  26. }
  27. protected override void OnLoad(EventArgs e)
  28. {
  29. base.OnLoad(e);
  30. publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  31. publicUltraGridDetail2.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  32. }
  33. private void FrmOutdecLabSampleConfirm_Load(object sender, EventArgs e)
  34. {
  35. arrId = this.ValidDataPurviewIds;//获取数据权限
  36. outdecQueryBase1.ShowControl();
  37. InitColumns();
  38. }
  39. private void InitColumns()
  40. {
  41. string[] arrColumns = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "SAMPLE_NO", "PHY_CODE_MAX", "PHY_NAME_MAX", "SAMPLE_COUNT", "JG_SEND_NAME", "JG_SEND_TIME", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME", "SAMPLE_REMARK" };
  42. string[] arrCaption = new string[] { "选择", "状态", "状态", "检验编号", "试样号", "检验项代码", "检验项", "试样数", "送样人", "送样时间", "收样人", "收样时间", "样品备注" };
  43. publicUltraGridDetail1.InitColumns(arrColumns, arrCaption);
  44. publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "FLAG", "FLAG_DESC", "PHY_CODE_MAX", "LAB_RECEIVE_NAME", "LAB_RECEIVE_TIME" }, false);//不需要显示的行
  45. publicUltraGridDetail1.setOtherColumnReadOnly(new string[] { "CHK" });//可编辑列
  46. //publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  47. publicUltraGridDetail2.InitColumns(arrColumns, arrCaption);
  48. publicUltraGridDetail2.setColumnShowOrHidden(new string[] { "FLAG", "PHY_CODE_MAX" }, false);
  49. publicUltraGridDetail2.setOtherColumnReadOnly(new string[] { "CHK" });
  50. //publicUltraGridDetail2.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.No;
  51. }
  52. /// <summary>
  53. /// 重写基类方法
  54. /// </summary>
  55. /// <param name="sender"></param>
  56. /// <param name="ToolbarKey"></param>
  57. public override void ToolBar_Click(object sender, string ToolbarKey)
  58. {
  59. //查询、确认、退出
  60. switch (ToolbarKey)
  61. {
  62. case "Query":
  63. if (ultraTabControl1.SelectedTab.Index == 0)
  64. {
  65. QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1");
  66. }
  67. else if (ultraTabControl1.SelectedTab.Index == 1)
  68. {
  69. QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345");
  70. }
  71. break;
  72. case "Confirm":
  73. UpdateCheckConsignDetail();
  74. break;
  75. case "Cancel":
  76. CancelUpdateCheckConsignDetail();
  77. break;
  78. case "Print":
  79. if (ultraTabControl1.SelectedTab.Index == 0)
  80. {
  81. RepLimsOutdecLabSampleConfirm(publicUltraGridDetail1);
  82. }
  83. else if (ultraTabControl1.SelectedTab.Index == 1)
  84. {
  85. RepLimsOutdecLabSampleConfirm(publicUltraGridDetail2);
  86. }
  87. break;
  88. case "Close":
  89. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  90. {
  91. this.Close();
  92. }
  93. break;
  94. }
  95. }
  96. //查询检验委托基本信息
  97. private void QueryCheckConsignDetailInfo(PublicUltraGridDetail publicUltraGridDetail, string strFlag)
  98. {
  99. try
  100. {
  101. publicUltraGridDetail.QueryCheckConsignBaseDetail("outdec.PublicOutdecBase", outdecQueryBase1.GetQueryInfo(strFlag), this.ob, arrId);
  102. }
  103. catch (Exception e)
  104. {
  105. MessageUtil.ShowWarning(e.Message);
  106. }
  107. }
  108. #region 未确认
  109. //确认来样,更新检验委托加工信息2015-08-03修改为一个检验编号确认
  110. private void UpdateCheckConsignDetail()
  111. {
  112. try
  113. {
  114. if (publicUltraGridDetail1.Ug == null || publicUltraGridDetail1.Ug.Rows.Count == 0)
  115. {
  116. return;
  117. }
  118. if (ultraTabControl1.SelectedTab.Index != 0)
  119. {
  120. MessageUtil.ShowTips("只有选择了未确认页才能进行来样确认操作!");
  121. return;
  122. }
  123. publicUltraGridDetail1.Ug.UpdateData();
  124. DataRow[] arrBase = publicUltraGridDetail1.DataTable.Select("CHK = 'True' AND FLAG = '1'");
  125. if (arrBase == null || arrBase.Length == 0)
  126. {
  127. MessageUtil.ShowTips("请勾选状态为加工已下发的检验信息!");
  128. return;
  129. }
  130. if (MessageUtil.ShowYesNoAndQuestion("是否来样确认?") == DialogResult.Yes)
  131. {
  132. string user = UserInfo.GetUserName();
  133. string strDate = DateTime.Now.ToString();
  134. publicUltraGridDetail1.UpdateCheckConsignDetail("outdec.FrmOutdecLabSampleConfirm", this.ob, arrBase, "2", user, strDate, "1", "");
  135. QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1");
  136. QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345");
  137. MessageUtil.ShowTips("来样确认成功!");
  138. }
  139. }
  140. catch (Exception e)
  141. {
  142. MessageUtil.ShowWarning(e.Message);
  143. }
  144. }
  145. #endregion
  146. #region 已确认
  147. private void CancelUpdateCheckConsignDetail()
  148. {
  149. try
  150. {
  151. if (publicUltraGridDetail2.Ug == null || publicUltraGridDetail2.Ug.Rows.Count == 0)
  152. {
  153. return;
  154. }
  155. if (ultraTabControl1.SelectedTab.Index != 1)
  156. {
  157. MessageUtil.ShowTips("只有选择了已确认页才能进行取消确认操作!");
  158. return;
  159. }
  160. publicUltraGridDetail2.Ug.UpdateData();
  161. DataRow[] arrBase = publicUltraGridDetail2.DataTable.Select("CHK = 'True' AND FLAG = '2'");
  162. if (arrBase == null || arrBase.Length == 0)
  163. {
  164. MessageUtil.ShowTips("请勾选至少一条状态为试验室已确认的检验信息!");
  165. return;
  166. }
  167. //if (MessageUtil.ShowYesNoAndQuestion("是否取消确认?") == DialogResult.Yes)
  168. //{
  169. string user = UserInfo.GetUserName();
  170. string strDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  171. WinCancelSampleComfirm pc = new WinCancelSampleComfirm();
  172. pc.ShowDialog();
  173. if (pc.DialogResult != DialogResult.OK)
  174. {
  175. return;
  176. }
  177. string strSample_Remark = pc.StrRemark;
  178. strSample_Remark = this.Text + "取消确认由于" + strSample_Remark + "(" + user + " " + strDate + ")";
  179. publicUltraGridDetail2.UpdateCheckConsignDetail("outdec.FrmOutdecLabSampleConfirm", this.ob, arrBase, "1", "", "", "2", strSample_Remark);
  180. QueryCheckConsignDetailInfo(publicUltraGridDetail2, "2345");
  181. QueryCheckConsignDetailInfo(publicUltraGridDetail1, "1");
  182. MessageUtil.ShowTips("取消确认成功!");
  183. //}
  184. }
  185. catch (Exception e)
  186. {
  187. MessageUtil.ShowWarning(e.Message);
  188. }
  189. }
  190. #endregion
  191. private void RepLimsOutdecLabSampleConfirm(PublicUltraGridDetail publicUltraGridDetail)
  192. {
  193. try
  194. {
  195. this.Cursor = Cursors.WaitCursor;
  196. publicUltraGridDetail.Ug.UpdateData();
  197. DataRow[] arrBase = publicUltraGridDetail.DataTable.Select("CHK = 'True'");
  198. if (arrBase == null || arrBase.Length == 0)
  199. {
  200. MessageUtil.ShowWarning("请选择您要打印的样品下发明细单!");
  201. return;
  202. }
  203. string strCHECK_NO = "";
  204. foreach (DataRow row in arrBase)
  205. {
  206. strCHECK_NO += "'" + row["CHECK_NO"].ToString() + row["SAMPLE_NO"].ToString() + row["PHY_CODE_MAX"].ToString() + "',";
  207. }
  208. strCHECK_NO = strCHECK_NO.Remove(0, 1);
  209. strCHECK_NO = strCHECK_NO.Remove(strCHECK_NO.Length - 2);
  210. string strurl = "";
  211. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  212. //{
  213. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsOutdecLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
  214. //}
  215. //else
  216. //{
  217. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsOutdecLabSampleConfirm.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
  218. //}
  219. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  220. fBug.AutoSize = true;
  221. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  222. fBug.WindowState = FormWindowState.Maximized;
  223. fBug.Text = "加工样品下发明细单";
  224. fBug.Show();
  225. }
  226. finally
  227. {
  228. this.Cursor = Cursors.Default;
  229. }
  230. }
  231. }
  232. }