PublicUltraGridBase.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Infragistics.Win.UltraWinGrid;
  10. using System.Collections;
  11. using Core.Mes.Client.Comm;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Core.Mes.Client.Comm.Server;
  14. using CoreFS.CA06;
  15. using Core.Mes.Client.Comm.Control;
  16. //基本信息显示Grid
  17. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  18. {
  19. public partial class PublicUltraGridBase : UserControl
  20. {
  21. public event EventHandler PublicUltraGridBaseActive;
  22. //private DataTable dataTable;
  23. public DataTable DataTable
  24. {
  25. get { return dataTable1; }
  26. set { dataTable1 = value; }
  27. }
  28. //private UltraGrid ug;
  29. public UltraGrid Ug
  30. {
  31. get { return ultraGrid1; }
  32. set { ultraGrid1 = value; }
  33. }
  34. private UltraGridRow ur;
  35. public UltraGridRow Ur
  36. {
  37. get { return ur; }
  38. set { ur = value; }
  39. }
  40. public PublicUltraGridBase()
  41. {
  42. InitializeComponent();
  43. }
  44. private void PublicUltraGridBase_Load(object sender, EventArgs e)
  45. {
  46. }
  47. public void InitColumnsPipeBase(string[] show, bool isShow, string[] ope)
  48. {
  49. string[] arrColumnsBase = new string[] { "FLAG", "FLAG_DESC", "CHECK_NO", "FLAG_ISZT", "SAMPLE_NO", "CONTRACT_NO", "CRAFT_SOURCE", "ISPRODUCER_DESC", "HEAT_NO", "LOT_NO", "STEEL_GRADE", "STEEL_NO", "PRODUCT_STD", "DIMATER", "HEIGHT", "PIPE_SIZE", "CRAFT_FILE_NO", "CRAFT_PATH", "PRODUCT_NAME", "BUCKLE_TYPE", "PROCESS_STATUS", "CONSIGN_DEPT", "CONSIGN_NAME", "CONSIGN_TIME", "XSS", "JG_RECEIVE_NAME", "JG_RECEIVE_TIME", "ISPRODUCER", "SPEC_REQ", "IS_RUSH", "REMARK", "DEPT_ID", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "CHECK_TIME", "CIC", "PROCESS_CODE" };
  50. string[] arrCaptionBase = new string[] { "状态", "状态", "检验编号", "是否在途", "试样号", "合同号", "委托类型", "是否监制", "炉号", "生产批号", "钢级", "钢号", "技术标准", "外径", "壁厚", "规格", "工艺文件号", "工艺文件路径", "品名", "扣型", "工艺状态", "委托单位", "委托人", "委托时间", "小时数", "加工确认人", "加工确认时间", "是否监制", "特殊要求", "是否加急", "备注", "所属实验室", "应力环号1", "应力环号2", "应力环号3", "试验时间", "CIC", "工序" };
  51. PublicPipeAndOutdec.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1);
  52. setColumnShowOrHidden(show, isShow);//显示列
  53. setOtherColumnReadOnly(ope);//可编辑列
  54. }
  55. public void InitColumnsOutdecBase(string[] show, bool isShow, string[] ope)
  56. {
  57. string[] arrColumnsBase = new string[] { "CHK", "FLAG", "FLAG_DESC", "CHECK_NO", "SAMPLE_NO", "CONTROL_NO", "SAMPLE_NAME", "STEEL_GRADE_NO", "TOTAL_LARGE_SAMPLE_SIZE", "SAMPLE_SIZE", "LARGE_SAMPLE_COUNT", "HEAT_NO", "TOTAL_SAMPLE_NO", "OTHER_DESC", "LARGE_SAMPLE_STATE", "CHECK_TYPE", "CHECK_BASE", "SURPLUS", "SURPLUS_STATE", "PROMISE_FINISH_TIME", "CHECK_PRICE", "REPORT_TYPE", "GET_REPORT_WAY", "CONSIGN_DEPT", "CONSIGN_ADDRESS", "POSTCODE", "PHONE", "FAX", "CHECK_DEPT", "CHECK_ADDRESS", "CONSIGN_NAME", "CONSIGN_TIME", "JC_RECEIVE_NAME", "JC_RECEIVE_TIME", "CONSIGNDEPT_SEND_NAME", "CONSIGNDEPT_SEND_TIME", "JG_RECEIVE_NAME", "JG_RECEIVE_NAME", "REMARK", "DEPT_ID", "PROOF_RING_NO1", "PROOF_RING_NO2", "PROOF_RING_NO3", "CHECK_TIME" };
  58. string[] arrCaptionBase = new string[] { "选择", "状态", "状态", "检验编号", "试样号", "受控编号", "样品名称", "钢号/钢级", "规格", "规格", "数量(个数)", "炉号", "样品编号", "其他说明", "样品状态", "检验类别", "检验依据", "余样处理方式", "余样情况", "检验完成时间约定", "检验费用", "报告类型", "取报告方式", "委托方全称", "通信地址", "邮编", "电话", "传真", "主检单位", "地址", "委托方授权人签字", "委托时间", "检验单位接受人", "接受日期", "送样人", "送样时间", "加工接样人", "加工接样时间", "备注", "所属实验室", "应力环号1", "应力环号2", "应力环号3", "录入时间" };
  59. PublicPipeAndOutdec.InitColumns(arrColumnsBase, arrCaptionBase, dataTable1);
  60. setColumnShowOrHidden(show, isShow);//显示列
  61. setOtherColumnReadOnly(ope);//可编辑列
  62. }
  63. //查询检验委托基本信息
  64. /// <summary>
  65. /// 查询检验委托基本信息
  66. /// </summary>
  67. /// <param name="path"></param>
  68. /// <param name="arrayList"></param>
  69. /// <param name="ob"></param>
  70. public void QueryCheckConsignBase(string path, ArrayList arrayList, OpeBase ob)
  71. {
  72. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBase",
  73. new Object[] { arrayList }, ob);
  74. if (dt == null || dt.Rows.Count == 0)
  75. {
  76. dataTable1.Rows.Clear();
  77. return;
  78. }
  79. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  80. if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH"))
  81. {
  82. foreach (UltraGridRow dr in ultraGrid1.Rows)
  83. {
  84. if (dr.Cells["IS_RUSH"].Text.Trim() == "是")
  85. {
  86. dr.Appearance.BackColor = Color.Gold;//LightGray灰色
  87. }
  88. }
  89. }
  90. //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  91. }
  92. //查询检验委托基本信息
  93. /// <summary>
  94. /// 查询检验委托基本信息(天淮)
  95. /// </summary>
  96. /// <param name="path"></param>
  97. /// <param name="arrayList"></param>
  98. /// <param name="ob"></param>
  99. public void QueryCheckConsignBaseTH(string path, ArrayList arrayList, OpeBase ob)
  100. {
  101. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseTH",
  102. new Object[] { arrayList }, ob);
  103. if (dt == null || dt.Rows.Count == 0)
  104. {
  105. dataTable1.Rows.Clear();
  106. return;
  107. }
  108. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  109. if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH"))
  110. {
  111. foreach (UltraGridRow dr in ultraGrid1.Rows)
  112. {
  113. if (dr.Cells["IS_RUSH"].Text.Trim() == "是")
  114. {
  115. dr.Appearance.BackColor = Color.Gold;//LightGray灰色
  116. }
  117. }
  118. }
  119. //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  120. }
  121. /// <summary>
  122. /// 查询检验委托基本信息(试样号)
  123. /// </summary>
  124. /// <param name="path"></param>
  125. /// <param name="arrayList"></param>
  126. /// <param name="ob"></param>
  127. public void QueryCheckConsignBaseSampleNo(string path, ArrayList arrayList, OpeBase ob)
  128. {
  129. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseSampleNo",
  130. new Object[] { arrayList }, ob);
  131. if (dt == null || dt.Rows.Count == 0)
  132. {
  133. dataTable1.Rows.Clear();
  134. return;
  135. }
  136. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  137. if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH"))
  138. {
  139. foreach (UltraGridRow dr in ultraGrid1.Rows)
  140. {
  141. if (dr.Cells["IS_RUSH"].Text.Trim() == "是")
  142. {
  143. dr.Appearance.BackColor = Color.Gold;//LightGray灰色
  144. }
  145. }
  146. }
  147. //GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  148. }
  149. /// <summary>
  150. /// 查询检验委托基本信息(加工样品交接时间)
  151. /// </summary>
  152. /// <param name="path"></param>
  153. /// <param name="arrayList"></param>
  154. /// <param name="ob"></param>
  155. public void QueryCheckConsignBaseJgReceiveTime(string path, ArrayList arrayList, OpeBase ob)
  156. {
  157. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseJgReceiveTime",
  158. new Object[] { arrayList }, ob);
  159. if (dt == null || dt.Rows.Count == 0)
  160. {
  161. dataTable1.Rows.Clear();
  162. return;
  163. }
  164. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  165. if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH"))
  166. {
  167. foreach (UltraGridRow dr in ultraGrid1.Rows)
  168. {
  169. if (dr.Cells["IS_RUSH"].Text.Trim() == "是")
  170. {
  171. dr.Appearance.BackColor = Color.Gold;//LightGray灰色
  172. }
  173. }
  174. }
  175. }
  176. public void QueryCheckConsignBase2(string path, ArrayList arrayList, OpeBase ob)
  177. {
  178. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBase",
  179. new Object[] { arrayList }, ob);
  180. if (dt == null || dt.Rows.Count == 0)
  181. {
  182. dataTable1.Rows.Clear();
  183. return;
  184. }
  185. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable1
  186. if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("IS_RUSH"))
  187. {
  188. foreach (UltraGridRow dr in ultraGrid1.Rows)
  189. {
  190. if (dr.Cells["IS_RUSH"].Text.Trim() == "是")
  191. {
  192. dr.Appearance.BackColor = Color.Gold;//LightGray灰色
  193. }
  194. }
  195. }
  196. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  197. }
  198. //查询检验委托明细信息
  199. /// <summary>
  200. /// 查询检验委托明细信息
  201. /// </summary>
  202. /// <param name="path"></param>
  203. /// <param name="arrayList"></param>
  204. /// <param name="ob"></param>
  205. /// <param name="arrId"></param>
  206. public void QueryCheckConsignBaseDetail_Distinct(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes)
  207. {
  208. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_Distinct",
  209. arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob);
  210. if (dt == null || dt.Rows.Count == 0)
  211. {
  212. dataTable1.Rows.Clear();
  213. return;
  214. }
  215. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
  216. //if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("CHECK_NO"))
  217. //{
  218. // ultraGrid1.DisplayLayout.Bands[0].Columns["CHECK_NO"].Width = 100;//设置列宽
  219. //}
  220. //if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("SAMPLE_NO"))
  221. //{
  222. // ultraGrid1.DisplayLayout.Bands[0].Columns["SAMPLE_NO"].Width = 80;//设置列宽
  223. //}
  224. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  225. }
  226. //查询检验委托明细信息
  227. /// <summary>
  228. /// 查询检验委托明细信息
  229. /// </summary>
  230. /// <param name="path"></param>
  231. /// <param name="arrayList"></param>
  232. /// <param name="ob"></param>
  233. /// <param name="arrId"></param>
  234. public void QueryCheckConsignBaseDetail_DistinctDB(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes)
  235. {
  236. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_DistinctDB",
  237. arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob);
  238. if (dt == null || dt.Rows.Count == 0)
  239. {
  240. dataTable1.Rows.Clear();
  241. return;
  242. }
  243. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
  244. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  245. }
  246. public void QueryCheckConsignBaseDetail_DistinctFS(string path, ArrayList arrayList, OpeBase ob, string[] arrId, string[] plineCodes, string flag)
  247. {
  248. DataTable dt = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignBaseDetail_DistinctFS",
  249. arrId == null ? new Object[] { arrayList } : new Object[] { arrayList, arrId, plineCodes }, ob);
  250. if (dt == null || dt.Rows.Count == 0)
  251. {
  252. dataTable1.Rows.Clear();
  253. return;
  254. }
  255. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
  256. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  257. Color Color1 = Color.LightYellow;
  258. Color Color2 = Color.LightGreen;
  259. //未录入查询不变颜色
  260. if (!flag.Equals("2"))
  261. {
  262. for (int i = 0; i < this.ultraGrid1.Rows.Count; i++)
  263. {
  264. if (i == 0)
  265. {
  266. this.ultraGrid1.Rows[i].Appearance.BackColor = Color1;
  267. }
  268. else
  269. {
  270. string a = DateTime.Parse(this.ultraGrid1.Rows[i].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd");
  271. if (DateTime.Parse(this.ultraGrid1.Rows[i].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd") != DateTime.Parse(this.ultraGrid1.Rows[i - 1].Cells["CHECK_TIME"].Value.ToString()).ToString("yyyy-MM-dd"))
  272. {
  273. this.ultraGrid1.Rows[i].Appearance.BackColor = this.ultraGrid1.Rows[i - 1].Appearance.BackColor == Color1 ? Color2 : Color1;
  274. }
  275. else
  276. {
  277. this.ultraGrid1.Rows[i].Appearance.BackColor = this.ultraGrid1.Rows[i - 1].Appearance.BackColor;
  278. }
  279. }
  280. }
  281. }
  282. }
  283. public void UpdateCheckConsignBase(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition)
  284. {
  285. ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
  286. ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
  287. foreach (DataRow row in arrBase)
  288. {
  289. alBaseParams = new ArrayList();//增加要更新的基础标志位信息
  290. alBaseParams.Add(strFlag);
  291. alBaseParams.Add(user);//收样人
  292. alBaseParams.Add(strDate);//收样时间
  293. //alBaseParams.Add("");
  294. alBaseParams.Add("");//样品备注row["SAMPLE_REMARK"].ToString()
  295. alBaseParams.Add(strCondition);
  296. alBaseParams.Add(row["CHECK_NO"].ToString());
  297. alBase.Add(alBaseParams);
  298. }
  299. PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignBase",
  300. new Object[] { alBase }, ob);
  301. }
  302. public void UpdateCheckConsignBase(string path, OpeBase ob, DataRow[] arrBase, string strFlag, string user, string strDate, string strCondition, string strSample_Remark)
  303. {
  304. ArrayList alBase = new ArrayList();//存放所有需要更新的基础信息
  305. ArrayList alBaseParams = new ArrayList();//存放单个基础参数信息
  306. foreach (DataRow row in arrBase)
  307. {
  308. alBaseParams = new ArrayList();//增加要更新的基础标志位信息
  309. alBaseParams.Add(strFlag);
  310. alBaseParams.Add(user);//收样人
  311. alBaseParams.Add(strDate);//收样时间
  312. alBaseParams.Add(strSample_Remark);
  313. alBaseParams.Add(strSample_Remark);
  314. alBaseParams.Add(strCondition);
  315. alBaseParams.Add(row["CHECK_NO"].ToString());
  316. alBase.Add(alBaseParams);
  317. }
  318. PublicServer.SetData("com.steering.lims.data." + path + ".UpdateCheckConsignBase",
  319. new Object[] { alBase }, ob);
  320. }
  321. public void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  322. {
  323. ur = ultraGrid1.ActiveRow;
  324. if (PublicUltraGridBaseActive != null)
  325. {
  326. //ur = ultraGrid1.ActiveRow;
  327. PublicUltraGridBaseActive(sender, e);//调用委托事件
  328. }
  329. }
  330. //初始化列
  331. /// <summary>
  332. /// 初始化列
  333. /// </summary>
  334. /// <param name="arrColumns"></param>
  335. /// <param name="arrCaption"></param>
  336. public void InitColumns(string[] arrColumns, string[] arrCaption)
  337. {
  338. PublicPipeAndOutdec.InitColumns(arrColumns, arrCaption, dataTable1);
  339. }
  340. //设置列是否隐藏
  341. /// <summary>
  342. /// 设置列是否隐藏
  343. /// </summary>
  344. /// <param name="keys"></param>
  345. /// <param name="isShow"></param>
  346. public void setColumnShowOrHidden(string[] keys, bool isShow)
  347. {
  348. PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid1, keys, isShow);
  349. }
  350. //可编辑列
  351. /// <summary>
  352. /// 可编辑列
  353. /// </summary>
  354. /// <param name="keys"></param>
  355. public void setOtherColumnReadOnly(string[] keys)
  356. {
  357. PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid1, keys);
  358. }
  359. private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
  360. {
  361. PublicPipeAndOutdec.SelectRow(ultraGrid1);
  362. }
  363. /// <summary>
  364. /// grid全部打勾
  365. /// </summary>
  366. public void MakeAllDataCheck()
  367. {
  368. foreach (UltraGridRow row in ultraGrid1.Rows)
  369. {
  370. row.Cells["CHK"].Value = true;
  371. }
  372. }
  373. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  374. {
  375. if (dataTable1.Columns.Contains("JG_PRINT_COUNT"))
  376. {
  377. if (int.Parse(e.Row.Cells["JG_PRINT_COUNT"].Value.ToString3()) > 0)
  378. {
  379. e.Row.Appearance.BackColor = Color.LightGreen;
  380. }
  381. }
  382. if (dataTable1.Columns.Contains("FLAG_SH"))
  383. {
  384. if (e.Row.Cells["FLAG_SH"].Value.ToString() != "未审核")
  385. {
  386. e.Row.Appearance.BackColor = Color.LightGreen;
  387. }
  388. }
  389. }
  390. internal void Export(string title)
  391. {
  392. GridHelper.ulGridToExcel(ultraGrid1, title);
  393. }
  394. }
  395. }