FrmPhyStdChange.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. using Core.Mes.Client.Comm.Format;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.Lims.Data.PipeAndOutdec.封装类.实体类;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinEditors;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.ComponentModel;
  12. using System.Data;
  13. using System.Drawing;
  14. using System.Linq;
  15. using System.Text;
  16. using System.Windows.Forms;
  17. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  18. {
  19. public partial class FrmPhyStdChange : FrmBase
  20. {
  21. public FrmPhyStdChange()
  22. {
  23. InitializeComponent();
  24. EntityHelper.ShowGridCaption<PipePhyStdChangeEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  25. }
  26. private void FrmPhyStdChange_Load(object sender, EventArgs e)
  27. {
  28. // getDept(cmbDept, ob, false); // 查询科室
  29. }
  30. /// <summary>
  31. /// 查询科室
  32. /// </summary>
  33. //public bool getDept(UltraComboEditor cmb, OpeBase ob, bool hasBlankLine)
  34. //{
  35. // DataTable dt = ServerHelper.GetData("com.steering.lims.data.pipe.FrmPhyStdChange.getDept",
  36. // new object[] { }, ob);
  37. // if (hasBlankLine && dt != null && dt.Rows.Count > 0)
  38. // {
  39. // DataRow dr = dt.NewRow();
  40. // dt.Rows.InsertAt(dr, 0);
  41. // }
  42. // cmb.DataSource = dt;
  43. // cmb.DisplayMember = "DEPARTNAME";
  44. // cmb.ValueMember = "DEPARTNAME";
  45. // return true;
  46. //}
  47. /// <summary>
  48. /// 重写基类方法
  49. /// </summary>
  50. /// <param name="sender"></param>
  51. /// <param name="ToolbarKey"></param>
  52. public override void ToolBar_Click(object sender, string ToolbarKey)
  53. {
  54. //新增修改删除退出
  55. switch (ToolbarKey)
  56. {
  57. case "Query":
  58. doQuery();
  59. break;
  60. case "Add":
  61. doAdd();
  62. break;
  63. case "Update":
  64. doUpdate();
  65. break;
  66. case "Nullify":
  67. doNullifyOrRecover("1");
  68. break;
  69. case "Recover":
  70. doNullifyOrRecover("0");
  71. break;
  72. case "StdCopy":
  73. StdCopy();
  74. break;
  75. case "Close":
  76. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  77. {
  78. this.Close();
  79. }
  80. break;
  81. }
  82. }
  83. private void StdCopy()
  84. {
  85. using (var winStdUpdate = new WinStdUpdate(this.ob))
  86. {
  87. if (winStdUpdate.ShowDialog() == DialogResult.OK)
  88. {
  89. ArrayList parm = new ArrayList();
  90. parm.Add(winStdUpdate.NewStd);
  91. parm.Add(UserInfo.GetUserName());
  92. parm.Add(winStdUpdate.OldStd);
  93. CoreClientParam ccp = new CoreClientParam();
  94. ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange";
  95. ccp.MethodName = "doStdUpdate";
  96. ccp.ServerParams = new object[] { parm };
  97. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  98. if (ccp.ReturnCode != -1)
  99. {
  100. doQuery();
  101. MessageUtil.ShowTips("更新成功");
  102. }
  103. }
  104. }
  105. }
  106. private void doNullifyOrRecover(string flag)
  107. {
  108. this.ultraGrid1.UpdateData();
  109. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  110. String info = "0".Equals(flag) ? "恢复" : "作废";
  111. if (checkMagRows.Count() == 0)
  112. {
  113. MessageUtil.ShowTips("请选择需要" + info + "的信息!");
  114. return;
  115. }
  116. ArrayList parmList = new ArrayList();
  117. foreach (UltraGridRow row in checkMagRows)
  118. {
  119. PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity;
  120. if (String.IsNullOrEmpty(entity.Id))
  121. continue;
  122. entity.NullifyName = UserInfo.GetUserName();
  123. entity.NullifyFlag = flag;
  124. string baseEntity = JSONFormat.Format(entity);
  125. parmList.Add(baseEntity);
  126. }
  127. if (parmList.Count > 0)
  128. {
  129. CoreClientParam ccp = new CoreClientParam();
  130. ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange";
  131. ccp.MethodName = "doNullifyOrRecover";
  132. ccp.ServerParams = new object[] { parmList };
  133. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  134. if (ccp.ReturnCode != -1)
  135. {
  136. doQuery();
  137. MessageUtil.ShowTips(info+"成功");
  138. }
  139. }
  140. }
  141. private void doUpdate()
  142. {
  143. this.ultraGrid1.UpdateData();
  144. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  145. if (checkMagRows.Count() == 0)
  146. {
  147. MessageUtil.ShowTips("请选择需要修改的信息!");
  148. return;
  149. }
  150. ArrayList parmList = new ArrayList();
  151. foreach (UltraGridRow row in checkMagRows)
  152. {
  153. PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity;
  154. if (String.IsNullOrEmpty(entity.Id))
  155. continue;
  156. entity.UpdateName = UserInfo.GetUserName();
  157. entity.PhyDept = UserInfo.GetDeptid();
  158. entity.PhyDeptName = UserInfo.GetDepartment();
  159. string baseEntity = JSONFormat.Format(entity);
  160. parmList.Add(baseEntity);
  161. }
  162. if (parmList.Count > 0) {
  163. CoreClientParam ccp = new CoreClientParam();
  164. ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange";
  165. ccp.MethodName = "doUpdate";
  166. ccp.ServerParams = new object[] { parmList };
  167. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  168. if (ccp.ReturnCode != -1)
  169. {
  170. doQuery();
  171. MessageUtil.ShowTips("修改成功!");
  172. }
  173. }
  174. }
  175. private void doAdd()
  176. {
  177. this.ultraGrid1.UpdateData();
  178. IQueryable<UltraGridRow> checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'");
  179. if (checkMagRows.Count() == 0)
  180. {
  181. MessageUtil.ShowTips("请选择需要新增的信息!");
  182. return;
  183. }
  184. ArrayList parmList = new ArrayList();
  185. foreach (UltraGridRow row in checkMagRows)
  186. {
  187. PipePhyStdChangeEntity entity = row.ListObject as PipePhyStdChangeEntity;
  188. if (String.IsNullOrEmpty(entity.SampleGroupName))
  189. {
  190. MessageUtil.ShowTips("请选择试样组!");
  191. return;
  192. }
  193. if (!String.IsNullOrEmpty(entity.Id))
  194. continue;
  195. entity.CreateName = UserInfo.GetUserName();
  196. entity.PhyDept = UserInfo.GetDeptid();
  197. entity.PhyDeptName = UserInfo.GetDepartment();
  198. string baseEntity = JSONFormat.Format(entity);
  199. parmList.Add(baseEntity);
  200. }
  201. if (parmList.Count > 0) {
  202. CoreClientParam ccp = new CoreClientParam();
  203. ccp.ServerName = "com.steering.lims.data.pipe.FrmPhyStdChange";
  204. ccp.MethodName = "doAdd";
  205. ccp.ServerParams = new object[] { parmList };
  206. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  207. if (ccp.ReturnCode != -1)
  208. {
  209. doQuery();
  210. MessageUtil.ShowTips("新增成功!");
  211. }
  212. }
  213. }
  214. private void doQuery()
  215. {
  216. String nullifyFlag = "0"; // 作废状态(0:正常)
  217. if (nullifyFlagSearch.Checked)
  218. {
  219. nullifyFlag = "";
  220. }
  221. String deptName = "";
  222. if(DeptCheckSearch.Checked){
  223. deptName = cmbDept.Value == null ? "" : cmbDept.Value.ToString();
  224. }
  225. List<PipePhyStdChangeEntity> listSource = EntityHelper.GetData<PipePhyStdChangeEntity>(
  226. "com.steering.lims.data.pipe.FrmPhyStdChange.doQuery", new object[] { nullifyFlag, deptName }, this.ob);
  227. pipePhyStdChangeEntityBindingSource.DataSource = listSource;
  228. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  229. {
  230. UltraGridRow row = ultraGrid1.Rows[i];
  231. if (row.Cells["nullifyFlag"].Value.ToString().Equals("1"))
  232. {
  233. row.Appearance.ForeColor = Color.Red;
  234. }
  235. }
  236. }
  237. private void SampleGroupEditor_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  238. {
  239. using (var winPhySelect = new WinPhySelect(this.ob))
  240. {
  241. if (winPhySelect.ShowDialog() == DialogResult.OK)
  242. {
  243. PipePhyStdChangeEntity cmBasePhyCEntity = ultraGrid1.ActiveRow.ListObject as PipePhyStdChangeEntity;
  244. cmBasePhyCEntity.SampleGroup = winPhySelect.SelectRow.PhyCode;
  245. cmBasePhyCEntity.SampleGroupName = winPhySelect.SelectRow.PhyType;
  246. ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  247. }
  248. }
  249. }
  250. private void stdNameEditor_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  251. {
  252. using (var winStdSelect = new WinStdSelect(this.ob))
  253. {
  254. if (winStdSelect.ShowDialog() == DialogResult.OK)
  255. {
  256. PipePhyStdChangeEntity cmBasePhyCEntity = ultraGrid1.ActiveRow.ListObject as PipePhyStdChangeEntity;
  257. cmBasePhyCEntity.StdName = winStdSelect.SelectRow.StdName;
  258. ultraGrid1.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.ExitEditMode);
  259. }
  260. }
  261. }
  262. private void DeptCheckSearch_CheckedChanged(object sender, EventArgs e)
  263. {
  264. }
  265. }
  266. }