FrmDmUsageRunRecord.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Format;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.Lims.Resource.封装类.实体类;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections;
  9. using System.Data;
  10. using System.Windows.Forms;
  11. namespace Core.StlMes.Client.Lims.Resource
  12. {
  13. //记录编号年后面六位流水
  14. //ultraGrid2 勾选记录机器
  15. //ultraGrid2 显示此试验室需要填写运行使用记录的设备
  16. //ultraGrid3存放此设备这一段时间内的早中晚班是否记录
  17. public partial class FrmDmUsageRunRecord : FrmBase
  18. {
  19. private string[] arrId;//数据权限
  20. public FrmDmUsageRunRecord()
  21. {
  22. InitializeComponent();
  23. }
  24. protected override void OnLoad(EventArgs e)
  25. {
  26. base.OnLoad(e);
  27. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  28. ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  29. }
  30. private void FrmDmUsageRunRecord_Load(object sender, EventArgs e)
  31. {
  32. arrId = this.ValidDataPurviewIds;//获取数据权限
  33. InitColumns();
  34. publicUltraDept_ID1.QueryDept_Id(ob, arrId);
  35. QueryFixedAssetsDetail();
  36. }
  37. private void InitColumns()
  38. {
  39. string[] arrColumnsBase = new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" };
  40. string[] arrCaptionBase = new string[] { "记录编号", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "操作人", "操作时间", "班次", "设备状况", "设备异常描述", "温度", "湿度(%)", "其他设备坏境", "工作内容", "其他(备注)", "科室", "科室" };
  41. PublicResource.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1, ultraGrid1, new string[] { "RECORD_ID", "DEVICE_ID", "DEPT_ID" }, false, null);
  42. string[] arrColumnsDevice = new string[] { "CHK", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "SPEC", "DEVICE_NO", "DEPT_ID", "DEPT_NAME" };
  43. string[] arrCaptionDevice = new string[] { "选择", "记录名称", "资产编号", "资产名称", "规格型号", "设备编号", "科室", "科室" };
  44. PublicResource.InitColumns(arrColumnsDevice, arrCaptionDevice, dataTable2, ultraGrid2, new string[] { "DEVICE_ID", "DEPT_ID", "DEPT_NAME" }, false, new string[] { "CHK" });
  45. string[] arrColumnsRecord = new string[] { "USE_TIME", "ONE_SHIFT", "TWO_SHIFT", "THREE_SHIFT", "FIVE_SHIFT", "FOUR_SHIFT" };
  46. string[] arrCaptionRecord = new string[] { "日期", "早班", "中班", "夜班", "白班", "常白班" };
  47. PublicResource.InitColumns(arrColumnsRecord, arrCaptionRecord, dataTable3);
  48. //加载工作内容
  49. DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initWorkContent", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
  50. if (dt != null && dt.Rows.Count > 0)
  51. {
  52. ultraWORK_CONTENT.DataSource = dt;
  53. ultraWORK_CONTENT.ValueMember = "WORK_CONTENT";
  54. }
  55. //加载记录人
  56. DataTable dt2 = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.initUseName", new object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
  57. if (dt2 != null && dt2.Rows.Count > 0)
  58. {
  59. ultraUSE_NAME.DataSource = dt2;
  60. ultraUSE_NAME.ValueMember = "USE_NAME";
  61. }
  62. }
  63. /// <summary>
  64. /// 重写基类方法
  65. /// </summary>
  66. /// <param name="sender"></param>
  67. /// <param name="ToolbarKey"></param>
  68. public override void ToolBar_Click(object sender, string ToolbarKey)
  69. {
  70. //新增修改删除退出
  71. switch (ToolbarKey)
  72. {
  73. case "Query":
  74. QueryUsageRunRecord();
  75. break;
  76. case "Add":
  77. AddUsageRunRecord();
  78. break;
  79. case "Update":
  80. UpdateUsageRunRecord();
  81. break;
  82. case "Delete":
  83. DeleteUsageRunRecord();
  84. break;
  85. case "Clear":
  86. ClearUsageRunRecord();
  87. break;
  88. case "Export":
  89. ExportUsageRunRecord();
  90. break;
  91. case "Close":
  92. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  93. {
  94. this.Close();
  95. }
  96. break;
  97. }
  98. }
  99. //根据科室查询有记录名称的设备
  100. /// <summary>
  101. /// 根据科室查询有记录名称的设备
  102. /// </summary>
  103. private void QueryFixedAssetsDetail()
  104. {
  105. try
  106. {
  107. //查询此试验室需要 填写运行使用记录的设备
  108. string recordName ; //记录名称
  109. string department = UserInfo.GetDepartment();
  110. string sortCode = "";
  111. string baseName = "";
  112. if (chkRECORD_NAME.Checked)//记录名称
  113. {
  114. recordName = ultraQueryRECORD_NAME.Text.Trim();
  115. }
  116. else
  117. {
  118. recordName = "";
  119. }
  120. if(recordName.Equals("运行记录"))
  121. {
  122. sortCode = "100124%";
  123. }
  124. if (recordName.Equals("使用记录"))
  125. {
  126. sortCode = "100125%";
  127. }
  128. DataTable lxDt = PublicServer.GetData("com.steering.lims.resource.person.FrmPmJJClassRecord.initMeeting", new Object[] { sortCode, department }, ob);
  129. if (lxDt.Rows.Count > 0 && lxDt != null)
  130. {
  131. baseName = lxDt.Rows[0][0].ToString();
  132. }
  133. this.ultraLabel14.Text = recordName + " " + baseName;
  134. DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryFixedAssetsDetail",
  135. new Object[] { arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId, recordName }, ob);
  136. if (dt == null || dt.Rows.Count == 0)
  137. {
  138. dataTable2.Rows.Clear();
  139. return;
  140. }
  141. GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable1
  142. GridHelper.RefreshAndAutoSize(ultraGrid2);
  143. }
  144. catch (Exception e)
  145. {
  146. MessageUtil.ShowWarning(e.Message);
  147. return;
  148. }
  149. }
  150. private void QueryUsageRunRecord()
  151. {
  152. try
  153. {
  154. QueryFixedAssetsDetail();
  155. ArrayList arrayList = new ArrayList();//ultraQueryDEVICE_STATE
  156. if (chkDEVICE_STATE.Checked)//设备状况
  157. {
  158. arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
  159. arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
  160. arrayList.Add(ultraQueryDEVICE_STATE.Text.Trim());
  161. }
  162. else
  163. {
  164. arrayList.Add("");
  165. arrayList.Add("");
  166. arrayList.Add("");
  167. }
  168. if (chkRECORD_NAME.Checked)//记录名称
  169. {
  170. arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
  171. arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
  172. arrayList.Add(ultraQueryRECORD_NAME.Text.Trim());
  173. }
  174. else
  175. {
  176. arrayList.Add("");
  177. arrayList.Add("");
  178. arrayList.Add("");
  179. }
  180. if (chkDEPT_ID.Checked)//科室
  181. {
  182. arrayList.Add(publicUltraDept_ID1.UltDept_ID);
  183. arrayList.Add(publicUltraDept_ID1.UltDept_ID);
  184. arrayList.Add(publicUltraDept_ID1.UltDept_ID);
  185. }
  186. else
  187. {
  188. arrayList.Add("");
  189. arrayList.Add("");
  190. arrayList.Add("");
  191. }
  192. if (chkTime.Checked)//日期
  193. {
  194. arrayList.Add(dateBegin.DateTime.ToShortDateString() + " 00:00:00");
  195. arrayList.Add(dateEnd.DateTime.ToShortDateString() + " 23:59:59");
  196. }
  197. else
  198. {
  199. arrayList.Add("0001/01/01 00:00:00");
  200. arrayList.Add("9999/12/31 23:59:59");
  201. }
  202. if (chkDEVICE_NO.Checked)
  203. {
  204. arrayList.Add(ultraDEVICE_NO.Text.Trim());
  205. arrayList.Add(ultraDEVICE_NO.Text.Trim());
  206. arrayList.Add(ultraDEVICE_NO.Text.Trim());//设备编号
  207. }
  208. else
  209. {
  210. arrayList.Add("");
  211. arrayList.Add("");
  212. arrayList.Add("");
  213. }
  214. if (chkDEVICE_NAME.Checked)
  215. {
  216. arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());
  217. arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());
  218. arrayList.Add(txtQueryDEVICE_NAME.Text.Trim());//资产名称
  219. }
  220. else
  221. {
  222. arrayList.Add("");
  223. arrayList.Add("");
  224. arrayList.Add("");
  225. }
  226. DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecord",
  227. new Object[] { arrayList, arrId == null ? new string[] { UserInfo.GetDeptid() } : arrId }, ob);
  228. if (dt == null || dt.Rows.Count == 0)
  229. {
  230. ClearUsageRunRecord();
  231. dataTable1.Rows.Clear();
  232. return;
  233. }
  234. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  235. GridHelper.RefreshAndAutoSize(ultraGrid1);
  236. }
  237. catch (Exception e)
  238. {
  239. MessageUtil.ShowWarning(e.Message);
  240. return;
  241. }
  242. }
  243. private string IsValid()
  244. {
  245. if (txtDEVICE_NAME.Text == "")
  246. {
  247. return "设备名称不能为空!";
  248. }
  249. return "";
  250. }
  251. /// <summary>
  252. /// 新增
  253. /// </summary>
  254. private void AddUsageRunRecord()
  255. {
  256. try
  257. {
  258. //ultraGrid2.Update();
  259. ultraGrid2.UpdateData();
  260. DataRow[] arrDr = dataTable2.Select("CHK = True");
  261. if (arrDr == null || arrDr.Length == 0)
  262. {
  263. MessageUtil.ShowWarning("请至少勾选一条需要增加记录的设备信息!");
  264. return;
  265. }
  266. if (UserInfo.GetDeptid().Equals("002001007010"))
  267. {
  268. if (txtTEMP.Text.Trim() == "")
  269. {
  270. MessageUtil.ShowWarning("温度不能为空!");
  271. return;
  272. }
  273. if (txtWETNESS.Text.Trim() == "")
  274. {
  275. MessageUtil.ShowWarning("湿度不能为空!");
  276. return;
  277. } if (ultraWORK_CONTENT.Text.Trim() == "")
  278. {
  279. MessageUtil.ShowWarning("工作内容不能为空!");
  280. return;
  281. }
  282. }
  283. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  284. {
  285. ArrayList alBase = new ArrayList();
  286. ArrayList alBaseParam = new ArrayList();
  287. foreach (DataRow dr in arrDr)
  288. {
  289. alBaseParam = new ArrayList();
  290. alBaseParam.Add(dr["RECORD_NAME"].ToString());//记录名称
  291. alBaseParam.Add(dr["DEVICE_ID"].ToString());//资产编号
  292. alBaseParam.Add(dr["DEVICE_NO"].ToString());//设备编号
  293. alBaseParam.Add(dr["DEVICE_NAME"].ToString());//资产名称
  294. alBaseParam.Add(dr["SPEC"].ToString());//规格型号specification
  295. alBaseParam.Add(UserInfo.GetUserID());
  296. alBaseParam.Add(UserInfo.GetUserName());
  297. alBaseParam.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//时间
  298. alBaseParam.Add(UserInfo.GetUserOrderText());//班次
  299. alBaseParam.Add(UserInfo.GetUserGroupText());//班组
  300. alBaseParam.Add(ultraDEVICE_STATE.Text.Trim());//设备状况
  301. alBaseParam.Add(txtDEVICE_EXCEPTION_DESC.Text.Trim());//设备异常描述
  302. alBaseParam.Add(txtTEMP.Text.Trim());//温度
  303. alBaseParam.Add(txtWETNESS.Text.Trim());//湿度
  304. alBaseParam.Add(txtDEVICE_ENVIRONMENT.Text.Trim());//其他设备坏境
  305. alBaseParam.Add(ultraWORK_CONTENT.Text.Trim());//工作内容
  306. alBaseParam.Add(txtREMARK.Text.Trim());//其他(备注)
  307. alBaseParam.Add(dr["DEPT_ID"].ToString());//科室
  308. alBaseParam.Add(dr["DEPT_NAME"].ToString());//记录名称
  309. alBase.Add(alBaseParam);
  310. }
  311. PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.AddUsageRunRecord",
  312. new Object[] { alBase }, this.ob);
  313. QueryUsageRunRecord();
  314. MessageUtil.ShowTips("新增成功!");
  315. }
  316. }
  317. catch (Exception e)
  318. {
  319. MessageUtil.ShowWarning(e.Message);
  320. return;
  321. }
  322. }
  323. /// <summary>
  324. /// 修改
  325. /// </summary>
  326. private void UpdateUsageRunRecord()
  327. {
  328. try
  329. {
  330. UltraGridRow dr = ultraGrid1.ActiveRow;
  331. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  332. {
  333. RmdmUsageRunRecordsEntity runRecords = new RmdmUsageRunRecordsEntity();
  334. runRecords.RecordId = dr.Cells["RECORD_ID"].Text.ToString();
  335. runRecords.UseTime = ttxtUSE_TIME.Value.ToString();
  336. runRecords.UseName = ultraUSE_NAME.Text.ToString();
  337. runRecords.UseShift = ultraUSE_SHIFT.Text.ToString();
  338. runRecords.RecordName = ultraRECORD_NAME.Text.ToString();
  339. runRecords.DeviceState = ultraDEVICE_STATE.Text.ToString();
  340. runRecords.DeviceExceptionDesc = txtDEVICE_EXCEPTION_DESC.Text.ToString();
  341. runRecords.Temp = txtTEMP.Text.ToString();
  342. runRecords.Wetness = txtWETNESS.Text.ToString();
  343. runRecords.DeviceEnvironment = txtDEVICE_ENVIRONMENT.Text.ToString();
  344. runRecords.WorkContent = ultraWORK_CONTENT.Text.ToString();
  345. runRecords.Remark = txtREMARK.Text.ToString();
  346. string runRecordsStr = JSONFormat.Format(runRecords);
  347. PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.UpdateUsageRunRecord",
  348. new Object[] { runRecordsStr }, this.ob);
  349. QueryUsageRunRecord();
  350. MessageUtil.ShowTips("修改成功!");
  351. }
  352. }
  353. catch (Exception e)
  354. {
  355. MessageUtil.ShowWarning(e.Message);
  356. return;
  357. }
  358. }
  359. /// <summary>
  360. /// 删除
  361. /// </summary>
  362. private void DeleteUsageRunRecord()
  363. {
  364. try
  365. {
  366. //DataRow[] arrDr = dataTable2.Select("CHK = True");
  367. UltraGridRow dr = ultraGrid1.ActiveRow;
  368. if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0)
  369. {
  370. MessageUtil.ShowWarning("请点击选择一条需要修改的记录信息!");
  371. return;
  372. }
  373. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
  374. {
  375. PublicServer.SetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.DeleteUsageRunRecord",
  376. new Object[] { dr.Cells["RECORD_ID"].Text.ToString() }, this.ob);
  377. QueryUsageRunRecord();
  378. MessageUtil.ShowTips("删除成功!");
  379. }
  380. }
  381. catch (Exception e)
  382. {
  383. MessageUtil.ShowWarning(e.Message);
  384. return;
  385. }
  386. }
  387. private void ClearUsageRunRecord()
  388. {
  389. PublicResource.ClearBaseInfo(panel6, new string[] { "RECORD_ID", "RECORD_NAME", "DEVICE_ID", "DEVICE_NAME", "DEVICE_NO", "USE_NAME", "USE_TIME", "USE_SHIFT", "DEVICE_STATE", "DEVICE_EXCEPTION_DESC", "TEMP", "WETNESS", "DEVICE_ENVIRONMENT", "WORK_CONTENT", "REMARK", "DEPT_ID", "DEPT_NAME" });
  390. }
  391. /// <summary>
  392. /// 导出
  393. /// </summary>
  394. private void ExportUsageRunRecord()
  395. {
  396. ArrayList alUltraGrid = new ArrayList();//需要导出的GRID
  397. ArrayList alSheeft = new ArrayList();//Sheeft名称
  398. alUltraGrid.Add(ultraGrid1);
  399. alSheeft.Add("设备使用运行记录");
  400. if (ultraGrid1.Rows.Count == 0)
  401. {
  402. return;
  403. }
  404. GridHelper.ulGridToExcel(alUltraGrid, alSheeft, DateTime.Now.ToString("yyyyMM") + "设备使用运行记录");//导出excel
  405. }
  406. private void chkRECORD_NAME_CheckedChanged(object sender, EventArgs e)
  407. {
  408. ultraQueryRECORD_NAME.Enabled = chkRECORD_NAME.Checked;
  409. }
  410. private void chkRECORD_ID_CheckedChanged(object sender, EventArgs e)
  411. {
  412. txtQueryDEVICE_NAME.Enabled = chkDEVICE_NAME.Checked;
  413. }
  414. private void chkDEPT_ID_CheckedChanged(object sender, EventArgs e)
  415. {
  416. publicUltraDept_ID1.Enabled = chkDEPT_ID.Checked;
  417. }
  418. private void chkDEVICE_NO_CheckedChanged(object sender, EventArgs e)
  419. {
  420. ultraDEVICE_NO.Enabled = chkDEVICE_NO.Checked;
  421. }
  422. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  423. {
  424. PublicResource.ShowBaseInfo(ultraGrid1.ActiveRow, panel6);
  425. }
  426. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  427. {
  428. QueryUsageRunRecord_Device();
  429. }
  430. /// <summary>
  431. /// 根据资产编号查运行记录
  432. /// </summary>
  433. private void QueryUsageRunRecord_Device()
  434. {
  435. ArrayList arrayList = new ArrayList();
  436. arrayList.Add(ultraGrid2.ActiveRow.Cells["DEVICE_ID"].Value.ToString());
  437. DataTable dt = PublicServer.GetData("com.steering.lims.resource.device.FrmDmUsageRunRecord.QueryUsageRunRecordDevice",
  438. new Object[] { arrayList }, ob);
  439. if (dt == null || dt.Rows.Count == 0)
  440. {
  441. ClearUsageRunRecord();
  442. dataTable3.Rows.Clear();
  443. return;
  444. }
  445. GridHelper.CopyDataToDatatable(dt, dataTable3, true);//把dt复制给dataTable1
  446. //GridHelper.RefreshAndAutoSize(ultraGrid3);
  447. }
  448. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  449. {
  450. }
  451. private void chkDEVICE_STATE_CheckedChanged(object sender, EventArgs e)
  452. {
  453. ultraQueryDEVICE_STATE.Enabled = chkDEVICE_STATE.Checked;
  454. }
  455. private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  456. {
  457. foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
  458. {
  459. if (uRow.GetType() != typeof(UltraGridGroupByRow))
  460. {
  461. uRow.Cells["CHK"].Value = true;
  462. }
  463. }
  464. }
  465. }
  466. }