FrmOutdecCheckConsign.cs 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485
  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. using Infragistics.Win.UltraWinEditors;
  18. //ultraGrid1点击刷新根据编辑区条件查询,默认查询出最近几天的数据方便增加委托的时候重复的东西不需要勾选;
  19. //检验编号按照J年-月-流水号自动生成如J14-12-001,填写完成可打印试验委托单模板
  20. //商检化学无ONH
  21. namespace Core.StlMes.Client.Lims.Data.PipeAndOutdec
  22. {
  23. //暂时无ONH
  24. public partial class FrmOutdecCheckConsign : FrmBase
  25. {
  26. //private string chemItems = "";
  27. //private string chemONH = "";
  28. private string Departm = "";//部门
  29. //private DataTable m_dtSelectPhyMax;//已选择的大项
  30. //public DataTable DtSelectPhyMax
  31. //{
  32. // get { return m_dtSelectPhyMax; }
  33. // set { m_dtSelectPhyMax = value; }
  34. //}
  35. private DataTable m_dtSelectPhySampleCode;//选择的取样码
  36. public DataTable DtSelectPhySampleCode
  37. {
  38. get { return m_dtSelectPhySampleCode; }
  39. set { m_dtSelectPhySampleCode = value; }
  40. }
  41. private DataTable m_dtSelectPhyMin;//已选择的小项
  42. public DataTable DtSelectPhyMin
  43. {
  44. get { return m_dtSelectPhyMin; }
  45. set { m_dtSelectPhyMin = value; }
  46. }
  47. private DataTable m_dtSelectPhyR;//已选择的方向温度尺寸
  48. public DataTable DtSelectPhyR
  49. {
  50. get { return m_dtSelectPhyR; }
  51. set { m_dtSelectPhyR = value; }
  52. }
  53. public FrmOutdecCheckConsign()
  54. {
  55. InitializeComponent();
  56. }
  57. private void FrmOutdecCheckConsign_Load(object sender, EventArgs e)
  58. {
  59. InitColumns();
  60. this.txtCONTROL_NO.Text = "ZXGJ-02-04";
  61. Departm = UserInfo.GetDepartment();
  62. if(!Departm.Equals("检测中心办公室"))
  63. {
  64. //ultraTabControl1.Visible = false;
  65. txtCHECK_PRICE.Visible = false;
  66. txtCHECK_PRICE_REAL.Visible = false;
  67. txtCONSIGN_DEPT.Visible = false;
  68. txtCHECK_DEPT.Visible = false;
  69. txtCONSIGN_ADDRESS.Visible = false;
  70. txtPOSTCODE.Visible = false;
  71. txtPHONE.Visible = false;
  72. txtFAX.Visible = false;
  73. txtCHECK_ADDRESS.Visible = false;
  74. txtCONSIGN_NAME.Visible = false;
  75. txtJC_RECEIVE_NAME.Visible = false;
  76. ultraLabel121.Visible = false;
  77. ultraLabel120.Visible = false;
  78. ultraLabel117.Visible = false;
  79. ultraLabel132.Visible = false;
  80. ultraLabel131.Visible = false;
  81. ultraLabel119.Visible = false;
  82. ultraLabel118.Visible = false;
  83. ultraLabel116.Visible = false;
  84. ultraLabel130.Visible = false;
  85. ultraLabel142.Text = "检验(试验)任务单";
  86. }
  87. //RefreshAutoSize();
  88. }
  89. void UltraGrid1_CellChange(object sender, CellEventArgs e)
  90. {
  91. //|| e.Cell.Column.Key.Equals("ONH")
  92. if (e.Cell.Column.Key.Equals("HX") && e.Cell.Text.Trim() != "" && publicUltraGridChemDetail1.DataTable.Select("SAMPLE_NO = '" + e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim() + "'").Length == 0)
  93. {
  94. DataRow dr = publicUltraGridChemDetail1.DataTable.NewRow();
  95. dr["SAMPLE_NO"] = e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim();
  96. publicUltraGridChemDetail1.DataTable.Rows.Add(dr);
  97. }
  98. else if (e.Cell.Column.Key.Equals("HX") && e.Cell.Text.Trim() == "")
  99. {
  100. foreach (DataRow dr in publicUltraGridChemDetail1.DataTable.Rows)
  101. {
  102. if (dr["SAMPLE_NO"].ToString() == e.Cell.Row.Cells["SAMPLE_NO"].Text.Trim())
  103. {
  104. publicUltraGridChemDetail1.DataTable.Rows.Remove(dr);
  105. return;
  106. }
  107. }
  108. }
  109. }
  110. private void InitColumns()
  111. {
  112. publicUltraGridBase1.PublicUltraGridBaseActive += new EventHandler(outdecUltraGridBase1_PublicUltraGridBaseActive);//调用委托事件
  113. publicUltraGridDetail1.PublicUltraGridDetailActive += new EventHandler(publicUltraGridDetail1_PublicUltraGridDetailActive);
  114. publicUltraGridDetail1.UltraGrid1.CellChange += new CellEventHandler(UltraGrid1_CellChange);
  115. string[] arrColumnsBase = new string[] { "CHECK_NO", "CONTROL_NO", "SAMPLE_NAME", "STEEL_GRADE_NO", "TOTAL_LARGE_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", "REMARK", "IS_JG", "IS_JG_DESC", "IS_JZ", "IS_JZ_DESC", "CHECK_PRICE_REAL", "IS_CLEARING", "IS_CLEARING_DESC" };
  116. string[] arrCaptionBase = new string[] { "检验编号", "受控编号", "样品名称", "钢号/钢级", "规格", "数量(个数)", "炉号", "样品编号", "其他说明", "样品状态", "检验类别", "检验依据", "余样处理方式", "余样情况", "检验完成时间约定", "检验费用", "报告类型", "取报告方式", "委托方全称", "通信地址", "邮编", "电话", "传真", "主检单位", "地址", "委托方授权人签字", "委托时间", "检验单位接受人", "接受日期", "备注", "是否加工", "是否加工", "是否监制", "是否监制", "实收", "是否结算", "是否结算" };
  117. publicUltraGridBase1.InitColumns(arrColumnsBase, arrCaptionBase);
  118. publicUltraGridBase1.setColumnShowOrHidden(new string[] { "CHECK_NO" }, true);
  119. publicUltraGridBase1.setOtherColumnReadOnly(null);//可编辑列
  120. string[] arrColumns = new string[] { "SAMPLE_NO", "SAMPLE_SIZE", "HX" };//"FLAG",ONH
  121. string[] arrCaption = new string[] { "试样号", "规格", "化学" };//"试样状态",ONH
  122. publicUltraGridDetail1.InitColumns(arrColumns, arrCaption);
  123. //publicUltraGridDetail1.setColumnShowOrHidden(new string[] { "FLAG" }, false);//不需要显示的行
  124. publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
  125. PublicPipeAndOutdec.setColumnShowOrHidden(publicUltraGridChemDetail1.Ug, new string[] { "ANA_O", "ANA_N", "ANA_H" }, false);
  126. string[] arrColumnsBaseDetail = new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE", "PHY_NAME", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_S", "ITEM_NAME_S" };
  127. string[] arrCaptionBaseDetail = new string[] { "检验项代码", "检验项名称", "检验基础项代码", "检验基础项名称", "方向代码", "方向", "温度代码", "温度", "尺寸代码", "尺寸" };
  128. PublicPipeAndOutdec.InitColumns(arrColumnsBaseDetail, arrCaptionBaseDetail, dataTable1);
  129. PublicPipeAndOutdec.setColumnShowOrHidden(ultraGrid1, new string[] { "PHY_CODE_MAX", "PHY_CODE", "PHY_NAME", "ITEM_CODE_F", "ITEM_CODE_W", "ITEM_CODE_S" }, false);
  130. PublicPipeAndOutdec.setOtherColumnReadOnly(ultraGrid1, null);
  131. }
  132. protected override void OnLoad(EventArgs e)
  133. {
  134. base.OnLoad(e);
  135. publicUltraGridDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
  136. publicUltraGridChemDetail1.Ug.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  137. ultraGrid1.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头
  138. ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
  139. string userName = this.UserInfo.GetUserName();
  140. if (userName != "霍超" && userName != "文海明" && userName != "龚宜勇")
  141. {
  142. txtCHECK_PRICE.Visible = false;
  143. txtCHECK_PRICE_REAL.Visible = false;
  144. }
  145. }
  146. void outdecUltraGridBase1_PublicUltraGridBaseActive(object sender, EventArgs e)
  147. {
  148. ShowBaseInfo(publicUltraGridBase1.Ur);//显示区赋值
  149. QueryCheckConsignDetail();
  150. QueryCheckConsignChemDetail();
  151. //赋值给全局变量
  152. QueryCheckConsignPhyDetail("outdec.FrmOutdecCheckConsign");//对于已经生成的委托单查询大项小项信息
  153. }
  154. //查询检验委托基本信息
  155. private void QueryCheckConsignPhyDetail(string path)
  156. {
  157. try
  158. {
  159. ArrayList arrayList = new ArrayList();
  160. arrayList.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text);
  161. //DataTable dtMax = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignDetail",
  162. // new Object[] { arrayList }, ob);
  163. //if (dtMax != null)
  164. //{
  165. // m_dtSelectPhyMax = dtMax.Copy();
  166. //}
  167. DataTable dtSampleCode = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignPhyDetail_SampleCode",
  168. new Object[] { arrayList }, ob);
  169. if (dtSampleCode != null)
  170. {
  171. m_dtSelectPhySampleCode = dtSampleCode.Copy();
  172. }
  173. DataTable dtMin = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignPhyDetail",
  174. new Object[] { arrayList }, ob);
  175. if (dtMin != null)
  176. {
  177. m_dtSelectPhyMin = dtMin.Copy();
  178. }
  179. DataTable dtR = PublicServer.GetData("com.steering.lims.data." + path + ".QueryCheckConsignPhyDetail_R",
  180. new Object[] { arrayList }, ob);
  181. if (dtR != null)
  182. {
  183. m_dtSelectPhyR = dtR.Copy();
  184. }
  185. }
  186. catch (Exception e)
  187. {
  188. MessageUtil.ShowWarning(e.Message);
  189. return;
  190. }
  191. }
  192. void publicUltraGridDetail1_PublicUltraGridDetailActive(object sender, EventArgs e)
  193. {
  194. if (publicUltraGridBase1.Ur != null && publicUltraGridDetail1.Ur != null)
  195. {
  196. QueryCheckConsignPhyDetail_Items();
  197. }
  198. }
  199. //查询检验委托项目明细信息
  200. /// <summary>
  201. /// 查询检验委托项目明细信息
  202. /// </summary>
  203. private void QueryCheckConsignPhyDetail_Items()
  204. {
  205. try
  206. {
  207. ArrayList al = new ArrayList();
  208. al.Add(publicUltraGridDetail1.Ur.Cells["SAMPLE_NO"].Text.Trim());
  209. al.Add(publicUltraGridDetail1.Ur.Cells["SAMPLE_NO"].Text.Trim());
  210. al.Add(publicUltraGridDetail1.Ur.Cells["SAMPLE_NO"].Text.Trim());
  211. al.Add(publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim());
  212. DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.QueryCheckConsignPhyDetail_Items",
  213. new Object[] { al }, ob);
  214. if (dt == null || dt.Rows.Count == 0)
  215. {
  216. dataTable1.Rows.Clear();
  217. ultraExpandableGroupBox2.Hide();
  218. return;
  219. }
  220. ultraExpandableGroupBox2.Show();
  221. GridHelper.CopyDataToDatatable(dt, dataTable1, true);//把dt复制给dataTable4
  222. GridHelper.RefreshAndAutoSize(ultraGrid1);//刷新Grid
  223. }
  224. catch (Exception ex)
  225. {
  226. MessageUtil.ShowWarning(ex.Message);
  227. return;
  228. }
  229. }
  230. /// <summary>
  231. /// 重写基类方法
  232. /// </summary>
  233. /// <param name="sender"></param>
  234. /// <param name="ToolbarKey"></param>
  235. public override void ToolBar_Click(object sender, string ToolbarKey)
  236. {
  237. //新增、修改修约值、审核、删除、退出
  238. switch (ToolbarKey)
  239. {
  240. case "Query":
  241. QueryCheckConsignBase();
  242. break;
  243. case "Add":
  244. AddCheckConsign();
  245. //AddCheckConsigns();
  246. break;
  247. case "Update":
  248. UpdateCheckConsign();
  249. break;
  250. case "Delete":
  251. if (publicUltraGridBase1.Ur == null)
  252. {
  253. MessageUtil.ShowWarning("请选择需要删除的数据!");
  254. return;
  255. }
  256. DeleteCheckConsign();
  257. break;
  258. case "Clear":
  259. if (MessageUtil.ShowYesNoAndQuestion("是否确认清空?") == DialogResult.Yes)
  260. {
  261. ClearCheckConsign();
  262. MessageUtil.ShowTips("清空成功!");
  263. }
  264. break;
  265. case "Send":
  266. UpdateCheckConsignDetail();
  267. break;
  268. case "PrintConsign":
  269. RepLimsOutdecConsignCheckOrder();
  270. break;
  271. case "PrintCheck":
  272. RepLimsOutdecJGCheckTaskOrder();
  273. break;
  274. case "Close":
  275. if (MessageUtil.ShowYesNoAndQuestion("是否确认关闭页面?") == DialogResult.Yes)
  276. {
  277. this.Close();
  278. }
  279. break;
  280. }
  281. }
  282. /// <summary>
  283. /// 查询检验委托基本信息
  284. /// </summary>
  285. private void QueryCheckConsignBase()
  286. {
  287. try
  288. {
  289. publicUltraGridBase1.QueryCheckConsignBase("outdec.PublicOutdecBase", outdecQueryBase1.GetQueryInfo("012"), this.ob);
  290. if (publicUltraGridBase1.Ug.Rows.Count == 0)
  291. {
  292. ClearCheckConsign();
  293. }
  294. }
  295. catch (Exception e)
  296. {
  297. MessageUtil.ShowWarning(e.Message);
  298. return;
  299. }
  300. }
  301. /// <summary>
  302. /// 增加检验委托
  303. /// </summary>
  304. private void AddCheckConsign()
  305. {
  306. try
  307. {
  308. if (txtCHECK_NO.Text.Trim() == "")
  309. {
  310. MessageUtil.ShowWarning("检验编号不能为空!");
  311. return;
  312. }
  313. if (txtCHECK_PRICE.Text.Trim() == "")
  314. {
  315. MessageUtil.ShowWarning("试验费用不能为空!");
  316. return;
  317. }
  318. string strAddChem = isChem();
  319. if (strAddChem != "")
  320. {
  321. MessageUtil.ShowWarning(strAddChem);
  322. return;
  323. }
  324. //if (m_dtSelectPhyMax == null || m_dtSelectPhyMin == null || m_dtSelectPhyR == null)
  325. //{
  326. // MessageUtil.ShowWarning("请选择合适的检验项目!");
  327. // return;
  328. //}
  329. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
  330. {
  331. string strCHECK_NO = txtCHECK_NO.Text.Trim();//检验委托编号
  332. ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
  333. ArrayList alBase = new ArrayList();//基础表list
  334. ArrayList alDetail = new ArrayList();//检验信息详细表list
  335. ArrayList alPhyDetail = new ArrayList();//理化信息list
  336. ArrayList alChemDetail = new ArrayList();//化学信息list
  337. ArrayList alBaseParams = new ArrayList();//基础表参数list
  338. ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
  339. ArrayList alPhyDetailParams = new ArrayList();//理化信息参数list
  340. ArrayList alChemDetailParams = new ArrayList();//化学信息参数list
  341. alBase.Add(GetCheckConsignBase(""));//增加基础表参数
  342. if (publicUltraGridDetail1.DataTable.Rows.Count > 0)
  343. {
  344. publicUltraGridDetail1.Ug.UpdateData();
  345. ArrayList al = publicUltraGridChemDetail1.GetOutdecCheckChem();
  346. bool isHaveChem = false;//判断是否有化学元素
  347. int i = 0;
  348. foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
  349. {
  350. isHaveChem = false;
  351. string strSAMPLE_NO = dr["SAMPLE_NO"].ToString().Trim();
  352. string strSAMPLE_SIZE = dr["SAMPLE_SIZE"].ToString().Trim();
  353. if (strSAMPLE_NO != "")
  354. {
  355. foreach (DataColumn dc in publicUltraGridDetail1.DataTable.Columns)
  356. {
  357. if (dc.ColumnName != "SAMPLE_NO" && dc.ColumnName != "SAMPLE_SIZE" && dr[dc.ColumnName].ToString().Trim() != "")//列不为SAMPLE_NO才增加
  358. {
  359. string strPHY_CODE_MAX = dc.ColumnName;
  360. string strPHY_NAME_MAX = dc.Caption.Trim();
  361. string strSAMPLE_COUNT = dr[strPHY_CODE_MAX].ToString().Trim();
  362. alDetailParams = new ArrayList();//增加明细表参数
  363. alDetailParams.Add(strCHECK_NO);
  364. alDetailParams.Add(strSAMPLE_NO);
  365. alDetailParams.Add(strSAMPLE_SIZE);
  366. alDetailParams.Add(strPHY_CODE_MAX);
  367. if (strPHY_CODE_MAX == "HX")
  368. {
  369. alDetailParams.Add(al[i]);
  370. alDetailParams.Add("002001007010");
  371. isHaveChem = true;
  372. }
  373. //else if (strPHY_CODE_MAX == "ONH")
  374. //{
  375. // alDetailParams.Add(((ArrayList)al[i])[1]);
  376. // alDetailParams.Add("002001007010");
  377. // isHaveChem = true;
  378. //}
  379. else
  380. {
  381. alDetailParams.Add(strPHY_NAME_MAX);
  382. if (m_dtSelectPhySampleCode != null && m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'").Length > 0)
  383. {
  384. alDetailParams.Add(m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'")[0]["DEPT_ID"].ToString());
  385. }
  386. else
  387. {
  388. alDetailParams.Add("");
  389. }
  390. }
  391. alDetailParams.Add(strSAMPLE_COUNT);
  392. alDetail.Add(alDetailParams);//增加明细表参数List
  393. //201508.05HC 修改
  394. //增加理化明细信息参数list 没选择则不新增
  395. if (m_dtSelectPhySampleCode != null && m_dtSelectPhyMin != null && m_dtSelectPhyR != null)
  396. {
  397. DataRow[] arrAddMin = m_dtSelectPhyMin.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'");//筛选符合条件的小项
  398. foreach (DataRow drMin in arrAddMin)
  399. {
  400. DataRow[] arrAddR = m_dtSelectPhyR.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'");//筛选符合条件的方向温度尺寸
  401. if (arrAddR.Length == 0)
  402. {
  403. alPhyDetailParams = new ArrayList();
  404. alPhyDetailParams.Add(strCHECK_NO);
  405. alPhyDetailParams.Add(strSAMPLE_NO);
  406. alPhyDetailParams.Add(strPHY_CODE_MAX);//大项代码
  407. alPhyDetailParams.Add(strPHY_NAME_MAX);//大项描述
  408. alPhyDetailParams.Add(drMin["DEPT_ID"].ToString());//部门
  409. alPhyDetailParams.Add(drMin["PHY_CODE_MIN"].ToString());//试样组代码
  410. alPhyDetailParams.Add(drMin["PHY_NAME_MIN"].ToString());//试样组描述
  411. alPhyDetailParams.Add(drMin["PHY_CODE"].ToString());//检验项代码
  412. alPhyDetailParams.Add(drMin["PHY_NAME"].ToString());//检验项描述
  413. alPhyDetailParams.Add(drMin["PHY_UNIT"].ToString());//值单位
  414. alPhyDetailParams.Add("");//方向代码
  415. alPhyDetailParams.Add("");//方向描述
  416. alPhyDetailParams.Add("");//温度代码
  417. alPhyDetailParams.Add("");//温度描述
  418. alPhyDetailParams.Add("");//尺寸代码
  419. alPhyDetailParams.Add("");//尺寸描述
  420. alPhyDetail.Add(alPhyDetailParams);
  421. }
  422. else
  423. {
  424. foreach (DataRow drR in arrAddR)
  425. {
  426. alPhyDetailParams = new ArrayList();
  427. alPhyDetailParams.Add(strCHECK_NO);
  428. alPhyDetailParams.Add(strSAMPLE_NO);
  429. alPhyDetailParams.Add(strPHY_CODE_MAX);//大项代码
  430. alPhyDetailParams.Add(strPHY_NAME_MAX);//大项描述
  431. alPhyDetailParams.Add(drMin["DEPT_ID"].ToString());//部门
  432. alPhyDetailParams.Add(drMin["PHY_CODE_MIN"].ToString());//试样组代码
  433. alPhyDetailParams.Add(drMin["PHY_NAME_MIN"].ToString());//试样组描述
  434. alPhyDetailParams.Add(drMin["PHY_CODE"].ToString());//检验项代码
  435. alPhyDetailParams.Add(drMin["PHY_NAME"].ToString());//检验项描述
  436. alPhyDetailParams.Add(drMin["PHY_UNIT"].ToString());//值单位
  437. alPhyDetailParams.Add(drR["ITEM_CODE_F"].ToString());//方向代码
  438. alPhyDetailParams.Add(drR["ITEM_NAME_F"].ToString());//方向描述
  439. alPhyDetailParams.Add(drR["ITEM_CODE_W"].ToString());//温度代码
  440. alPhyDetailParams.Add(drR["ITEM_NAME_W"].ToString());//温度描述
  441. alPhyDetailParams.Add(drR["ITEM_CODE_C"].ToString());//尺寸代码
  442. alPhyDetailParams.Add(drR["ITEM_NAME_C"].ToString());//尺寸描述
  443. alPhyDetail.Add(alPhyDetailParams);
  444. }
  445. }
  446. }
  447. }
  448. }
  449. }
  450. }
  451. if (isHaveChem)
  452. {
  453. i++;
  454. }
  455. }
  456. }
  457. if (publicUltraGridChemDetail1.Ug.Rows.Count > 0)
  458. {
  459. publicUltraGridChemDetail1.Ug.UpdateData();
  460. foreach (DataRow dr in publicUltraGridChemDetail1.DataTable.Rows)
  461. {
  462. foreach (DataColumn dc in publicUltraGridChemDetail1.DataTable.Columns)
  463. {
  464. string strCHEM_NAME = dc.Caption;
  465. if (strCHEM_NAME != "样管号" && dr["ANA_" + strCHEM_NAME].ToString() == "√")
  466. {
  467. alChemDetailParams = new ArrayList();//增加化学明细表参数
  468. alChemDetailParams.Add(strCHECK_NO);
  469. alChemDetailParams.Add(dr["SAMPLE_NO"].ToString());
  470. alChemDetailParams.Add(strCHEM_NAME);
  471. alChemDetail.Add(alChemDetailParams);
  472. }
  473. }
  474. }
  475. }
  476. alAll.Add(alBase);
  477. //alAll.Add(alJg);
  478. alAll.Add(alDetail);
  479. alAll.Add(alPhyDetail);
  480. alAll.Add(alChemDetail);
  481. if (chkIS_JG.Checked)
  482. {
  483. ArrayList alDetailFlag = new ArrayList();//状态位
  484. ArrayList alDetailFlagParams = new ArrayList();//状态位
  485. alDetailFlagParams.Add("1");
  486. alDetailFlagParams.Add(strCHECK_NO);
  487. alDetailFlag.Add(alDetailFlagParams);
  488. alAll.Add(alDetailFlag);
  489. }
  490. PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.AddCheckConsign",
  491. new Object[] { strCHECK_NO, alAll }, this.ob);
  492. QueryCheckConsignBase();
  493. PublicPipeAndOutdec.ActiveOperateRow(publicUltraGridBase1.Ug, "CHECK_NO", strCHECK_NO);
  494. MessageUtil.ShowTips("新增成功!");
  495. }
  496. }
  497. catch (Exception e)
  498. {
  499. MessageUtil.ShowWarning(e.Message);
  500. return;
  501. }
  502. }
  503. /// <summary>
  504. /// 获取检验委托基本信息
  505. /// </summary>
  506. /// <param name="strSAMPLE_REMARK"></param>
  507. /// <returns></returns>
  508. private ArrayList GetCheckConsignBase(string strSAMPLE_REMARK)
  509. {
  510. ArrayList al = new ArrayList();
  511. string strSample_Size = "";
  512. string strSample_No = "";
  513. if (publicUltraGridDetail1.DataTable.Rows.Count > 0)
  514. {
  515. foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
  516. {
  517. strSample_No += dr["SAMPLE_NO"].ToString().Trim() + " ";
  518. strSample_Size += dr["SAMPLE_SIZE"].ToString().Trim() + " ";
  519. }
  520. }
  521. al.Add(txtCHECK_NO.Text);
  522. al.Add(txtCONTROL_NO.Text);
  523. al.Add(txtSAMPLE_NAME.Text);
  524. al.Add(txtSTEEL_GRADE_NO.Text);//钢号
  525. //al.Add(txtTOTAL_LARGE_SAMPLE_SIZE.Text);
  526. al.Add(strSample_Size);
  527. //al.Add(txtLARGE_SAMPLE_COUNT.Text);//样品数量
  528. al.Add(publicUltraGridDetail1.DataTable.Rows.Count);//样品数量
  529. al.Add(txtHEAT_NO.Text);
  530. //al.Add(txtTOTAL_SAMPLE_NO.Text);//样品编号
  531. al.Add(strSample_No);
  532. al.Add(txtOTHER_DESC.Text);
  533. al.Add(ultraLARGE_SAMPLE_STATE.Text);
  534. al.Add(ultraCHECK_TYPE.Text);
  535. al.Add(ultraCHECK_BASE.Text);
  536. al.Add(ultraSURPLUS.Text);//余样处理方式
  537. al.Add(txtSURPLUS_STATE.Text);//余样情况
  538. al.Add(txtPROMISE_FINISH_TIME.Text);
  539. al.Add(txtCHECK_PRICE.Text);//试验费用
  540. al.Add(ultraREPORT_TYPE.Text);//报告类型
  541. al.Add(ultraGET_REPORT_WAY.Text);//取报告方式
  542. al.Add(txtCONSIGN_DEPT.Text);
  543. al.Add(txtCONSIGN_ADDRESS.Text);//
  544. al.Add(txtPOSTCODE.Text);//
  545. al.Add(txtPHONE.Text);//电话
  546. al.Add(txtFAX.Text);
  547. al.Add(txtCHECK_DEPT.Text);//
  548. al.Add(txtCHECK_ADDRESS.Text);//
  549. al.Add(txtCONSIGN_NAME.Text);//委托人
  550. al.Add(txtJC_RECEIVE_NAME.Text.Trim() == "" ? UserInfo.GetUserName() : txtJC_RECEIVE_NAME.Text.Trim());//接收人
  551. al.Add(strSAMPLE_REMARK);
  552. al.Add(txtREMARK.Text.Trim());//备注
  553. al.Add(chkIS_JG.Checked ? "2" : "0");//是否不加工 0为不加工
  554. al.Add(chkIS_JG.Checked ? "0" : "1");//是否不加工 0为不加工
  555. al.Add(chkIS_JZ.Checked ? "0" : "1");//是否监制 0为不监制
  556. al.Add(txtCHECK_PRICE_REAL.Text);//实收(试验费用)
  557. al.Add(chkIS_CLEARING.Checked ? "0" : "1");//是否结算 0为已结算
  558. return al;
  559. }
  560. /// <summary>
  561. /// 点击Grid编辑区显示基本信息
  562. /// </summary>
  563. /// <param name="ur"></param>
  564. public void ShowBaseInfo(UltraGridRow ur)
  565. {
  566. if (ur != null)
  567. {
  568. foreach (UltraGridCell uc in ur.Cells)
  569. {
  570. if (ultraExpandableGroupBoxPanel1.Controls.ContainsKey("txt" + uc.Column.Key) == true)//判定是否存在text
  571. {
  572. ((UltraTextEditor)ultraExpandableGroupBoxPanel1.Controls["txt" + uc.Column.Key]).Text = uc.Text.Trim();
  573. }
  574. else if (ultraExpandableGroupBoxPanel1.Controls.ContainsKey("ultra" + uc.Column.Key) == true)//判定是否存在text
  575. {
  576. ((UltraComboEditor)ultraExpandableGroupBoxPanel1.Controls["ultra" + uc.Column.Key]).Text = uc.Text.Trim();
  577. }
  578. else if (ultraExpandableGroupBoxPanel1.Controls.ContainsKey("chk" + uc.Column.Key) == true)//判定是否存在text
  579. {
  580. if (uc.Text.Trim() == "1")
  581. {
  582. ((UltraCheckEditor)ultraExpandableGroupBoxPanel1.Controls["chk" + uc.Column.Key]).Checked = false;
  583. }
  584. else
  585. {
  586. ((UltraCheckEditor)ultraExpandableGroupBoxPanel1.Controls["chk" + uc.Column.Key]).Checked = true;
  587. }
  588. }
  589. }
  590. }
  591. }
  592. /// <summary>
  593. /// 判断化学录入是否符合规则
  594. /// </summary>
  595. /// <returns></returns>
  596. private string isChem()
  597. {
  598. publicUltraGridDetail1.Ug.UpdateData();
  599. if (publicUltraGridDetail1.Ug.DisplayLayout.Bands[0].Columns.Exists("SAMPLE_NO"))
  600. {
  601. string strTemp = "";
  602. foreach (UltraGridRow ur in publicUltraGridDetail1.Ug.Rows)
  603. {
  604. if (ur.Cells["SAMPLE_NO"].Text.Trim() == "")
  605. {
  606. return "试样号不能为空!";
  607. }
  608. else
  609. {
  610. if (strTemp == ur.Cells["SAMPLE_NO"].Text.Trim())
  611. {
  612. return "存在相同的试样号请重新输入!";
  613. }
  614. else
  615. {
  616. strTemp = ur.Cells["SAMPLE_NO"].Text.Trim();
  617. }
  618. }
  619. }
  620. }
  621. string strFlag = "";//存放有化学元素的样管号
  622. string strType = "";//存放化学元素类型标示
  623. //publicUltraGridDetail1.Ug.UpdateData();
  624. foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
  625. {
  626. bool IsHaveChemCol = false;
  627. bool IsHaveONHCol = false;
  628. //bool IsNull = false;
  629. foreach (DataColumn dc in publicUltraGridDetail1.DataTable.Columns)
  630. {
  631. if (dc.ColumnName == "HX" && dr["HX"].ToString() != "")
  632. {
  633. IsHaveChemCol = true;
  634. }
  635. if (dc.ColumnName == "ONH" && dr["ONH"].ToString() != "")
  636. {
  637. IsHaveONHCol = true;
  638. }
  639. }
  640. if (IsHaveChemCol == true && IsHaveONHCol == true)
  641. {
  642. strFlag += dr["SAMPLE_NO"].ToString() + " ";
  643. strType += "ALL" + " ";
  644. }
  645. else if (IsHaveChemCol == true && IsHaveONHCol == false)
  646. {
  647. strFlag += dr["SAMPLE_NO"].ToString() + " ";
  648. strType += "HX" + " ";
  649. }
  650. else if (IsHaveChemCol == false && IsHaveONHCol == true)
  651. {
  652. strFlag += dr["SAMPLE_NO"].ToString() + " ";
  653. strType += "ONH" + " ";
  654. }
  655. }
  656. if (strFlag == "")
  657. {
  658. return "";
  659. }
  660. else
  661. {
  662. string[] arrFlag = strFlag.Trim().Split(' ');
  663. string[] arrType = strType.Trim().Split(' ');
  664. bool isHaveChem;
  665. bool isHaveONH;
  666. publicUltraGridChemDetail1.Ug.UpdateData();
  667. foreach (DataRow dr in publicUltraGridChemDetail1.DataTable.Rows)
  668. {
  669. isHaveChem = false;
  670. isHaveONH = false;
  671. string strSAMPLE_NO = dr["SAMPLE_NO"].ToString();
  672. if (strFlag.IndexOf(strSAMPLE_NO) < 0)
  673. {
  674. return "化学元素选择输入了不正确的样管号!";
  675. }
  676. for (int i = 0; i < arrFlag.Length; i++)
  677. {
  678. if (arrFlag[i] == strSAMPLE_NO)
  679. {
  680. if (dr["ANA_O"].ToString() == "√" || dr["ANA_N"].ToString() == "√" || dr["ANA_H"].ToString() == "√")
  681. {
  682. isHaveONH = true;
  683. }
  684. foreach (string strChem in PublicPipeAndOutdec.chemMin.Split(' '))
  685. {
  686. if ("ONH".IndexOf(strChem) < 0 && dr["ANA_" + strChem].ToString() == "√")
  687. {
  688. isHaveChem = true;
  689. }
  690. }
  691. if (arrType[i] == "HX")
  692. {
  693. if (isHaveONH == true)
  694. {
  695. return "样管号" + strSAMPLE_NO + "输入了ONH!";
  696. }
  697. if (isHaveChem == false)
  698. {
  699. return "样管号" + strSAMPLE_NO + "请选择化学元素!";
  700. }
  701. }
  702. else if (arrType[i] == "ONH")
  703. {
  704. if (isHaveChem == true)
  705. {
  706. return "样管号" + strSAMPLE_NO + "选择了化学元素请填写试样数!";
  707. }
  708. if (isHaveONH == false)
  709. {
  710. return "样管号" + strSAMPLE_NO + "请选择ONH!";
  711. }
  712. }
  713. else if (arrType[i] == "ALL")
  714. {
  715. if (isHaveChem == false && isHaveONH == false)
  716. {
  717. return "样管号" + strSAMPLE_NO + "请选择化学元素和ONH!";
  718. }
  719. else if (isHaveChem == false)
  720. {
  721. return "样管号" + strSAMPLE_NO + "请选择化学元素!";
  722. }
  723. else if (isHaveONH == false)
  724. {
  725. return "样管号" + strSAMPLE_NO + "请选择ONH!";
  726. }
  727. }
  728. }
  729. }
  730. }
  731. }
  732. return "";
  733. }
  734. private void UpdateCheckConsign()
  735. {
  736. try
  737. {
  738. if (publicUltraGridBase1.Ur == null)
  739. {
  740. MessageUtil.ShowWarning("请选择需要修改的数据!");
  741. return;
  742. }
  743. if (publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim() != txtCHECK_NO.Text.Trim())
  744. {
  745. MessageUtil.ShowWarning("检验编号不能修改!");
  746. return;
  747. }
  748. if (txtCHECK_NO.Text.Trim() == "")
  749. {
  750. MessageUtil.ShowWarning("检验编号不能为空!");
  751. return;
  752. }
  753. string strAddChem = isChem();
  754. if (strAddChem != "")
  755. {
  756. MessageUtil.ShowWarning(strAddChem);
  757. return;
  758. }
  759. //PublicServer.GetDataTips("com.steering.lims.data.outdec.FrmOutdecCheckConsign.QueryCheckConsignBaseTips",
  760. //new Object[] { strCHECK_NO, new string[] { "1", "2" }, new String[] { "此检验任务已下发,不允许修改!", "此检验任务加工已确认,不允许修改!" } }, ob);
  761. //if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.Yes)
  762. //{
  763. WinCancelSampleComfirm pc = new WinCancelSampleComfirm();
  764. pc.ShowDialog();
  765. if (pc.DialogResult != DialogResult.OK)
  766. {
  767. return;
  768. }
  769. string strSample_Remark = pc.StrRemark;
  770. strSample_Remark = this.Text + "修改由于" + strSample_Remark + "(" + UserInfo.GetUserName() + " " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ")";
  771. //判断状态位
  772. string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  773. ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
  774. ArrayList alBase = new ArrayList();//基础表list
  775. ArrayList alDetail = new ArrayList();//检验信息详细表list
  776. ArrayList alPhyDetail = new ArrayList();//理化信息list
  777. ArrayList alChemDetail = new ArrayList();//化学信息list
  778. ArrayList alBaseParams = new ArrayList();//基础表参数list
  779. ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
  780. ArrayList alPhyDetailParams = new ArrayList();//理化信息参数list
  781. ArrayList alChemDetailParams = new ArrayList();//化学信息参数list
  782. alBase.Add(GetCheckConsignBase(strSample_Remark));//增加基础表参数
  783. if (publicUltraGridDetail1.DataTable.Rows.Count > 0)
  784. {
  785. publicUltraGridDetail1.Ug.UpdateData();
  786. ArrayList al = publicUltraGridChemDetail1.GetOutdecCheckChem();
  787. bool isHaveChem = false;//判断是否有化学元素
  788. int i = 0;
  789. foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
  790. {
  791. isHaveChem = false;
  792. string strSAMPLE_NO = dr["SAMPLE_NO"].ToString().Trim();
  793. string strSAMPLE_SIZE = dr["SAMPLE_SIZE"].ToString().Trim();
  794. if (strSAMPLE_NO != "")
  795. {
  796. foreach (DataColumn dc in publicUltraGridDetail1.DataTable.Columns)
  797. {
  798. if (dc.ColumnName != "SAMPLE_NO" && dc.ColumnName != "SAMPLE_SIZE" && dr[dc.ColumnName].ToString().Trim() != "")//列不为SAMPLE_NO才增加
  799. {
  800. string strPHY_CODE_MAX = dc.ColumnName;
  801. string strPHY_NAME_MAX = dc.Caption.Trim();
  802. string strSAMPLE_COUNT = dr[strPHY_CODE_MAX].ToString().Trim();
  803. alDetailParams = new ArrayList();//增加明细表参数
  804. alDetailParams.Add(strCHECK_NO);
  805. alDetailParams.Add(strSAMPLE_NO);
  806. alDetailParams.Add(strSAMPLE_SIZE);
  807. alDetailParams.Add(strPHY_CODE_MAX);
  808. if (strPHY_CODE_MAX == "HX")
  809. {
  810. alDetailParams.Add(al[i]);
  811. alDetailParams.Add("002001007010");
  812. isHaveChem = true;
  813. }
  814. else
  815. {
  816. alDetailParams.Add(strPHY_NAME_MAX);
  817. if (m_dtSelectPhySampleCode != null && m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'").Length > 0)
  818. {
  819. alDetailParams.Add(m_dtSelectPhySampleCode.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'")[0]["DEPT_ID"].ToString());
  820. }
  821. else
  822. {
  823. alDetailParams.Add("");
  824. }
  825. }
  826. alDetailParams.Add(strSAMPLE_COUNT);
  827. alDetail.Add(alDetailParams);//增加明细表参数List
  828. //201508.05HC 修改
  829. //增加理化明细信息参数list 没选择则不新增
  830. if (m_dtSelectPhySampleCode != null && m_dtSelectPhyMin != null && m_dtSelectPhyR != null)
  831. {
  832. DataRow[] arrAddMin = m_dtSelectPhyMin.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'");//筛选符合条件的小项
  833. foreach (DataRow drMin in arrAddMin)
  834. {
  835. DataRow[] arrAddR = m_dtSelectPhyR.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX + "'");//筛选符合条件的方向温度尺寸' AND PHY_CODE = '" + drMin["PHY_CODE"].ToString() + "
  836. if (arrAddR.Length == 0)
  837. {
  838. alPhyDetailParams = new ArrayList();
  839. alPhyDetailParams.Add(strCHECK_NO);
  840. alPhyDetailParams.Add(strSAMPLE_NO);
  841. alPhyDetailParams.Add(strPHY_CODE_MAX);//大项代码
  842. alPhyDetailParams.Add(strPHY_NAME_MAX);//大项描述
  843. alPhyDetailParams.Add(drMin["DEPT_ID"].ToString());//部门
  844. alPhyDetailParams.Add(drMin["PHY_CODE_MIN"].ToString());//试样组
  845. alPhyDetailParams.Add(drMin["PHY_NAME_MIN"].ToString());//试样组
  846. alPhyDetailParams.Add(drMin["PHY_CODE"].ToString());//检验项代码
  847. alPhyDetailParams.Add(drMin["PHY_NAME"].ToString());//检验项描述
  848. alPhyDetailParams.Add(drMin["PHY_UNIT"].ToString());//值单位
  849. alPhyDetailParams.Add("");//方向代码
  850. alPhyDetailParams.Add("");//方向描述
  851. alPhyDetailParams.Add("");//温度代码
  852. alPhyDetailParams.Add("");//温度描述
  853. alPhyDetailParams.Add("");//尺寸代码
  854. alPhyDetailParams.Add("");//尺寸描述
  855. alPhyDetail.Add(alPhyDetailParams);
  856. }
  857. else
  858. {
  859. foreach (DataRow drR in arrAddR)
  860. {
  861. alPhyDetailParams = new ArrayList();
  862. alPhyDetailParams.Add(strCHECK_NO);
  863. alPhyDetailParams.Add(strSAMPLE_NO);
  864. alPhyDetailParams.Add(strPHY_CODE_MAX);//大项代码
  865. alPhyDetailParams.Add(strPHY_NAME_MAX);//大项描述
  866. alPhyDetailParams.Add(drMin["DEPT_ID"].ToString());//部门
  867. alPhyDetailParams.Add(drMin["PHY_CODE_MIN"].ToString());//试样组
  868. alPhyDetailParams.Add(drMin["PHY_NAME_MIN"].ToString());//试样组
  869. alPhyDetailParams.Add(drMin["PHY_CODE"].ToString());//检验项代码
  870. alPhyDetailParams.Add(drMin["PHY_NAME"].ToString());//检验项描述
  871. alPhyDetailParams.Add(drMin["PHY_UNIT"].ToString());//值单位
  872. alPhyDetailParams.Add(drR["ITEM_CODE_F"].ToString());//方向代码
  873. alPhyDetailParams.Add(drR["ITEM_NAME_F"].ToString());//方向描述
  874. alPhyDetailParams.Add(drR["ITEM_CODE_W"].ToString());//温度代码
  875. alPhyDetailParams.Add(drR["ITEM_NAME_W"].ToString());//温度描述
  876. alPhyDetailParams.Add(drR["ITEM_CODE_C"].ToString());//尺寸代码
  877. alPhyDetailParams.Add(drR["ITEM_NAME_C"].ToString());//尺寸描述
  878. alPhyDetail.Add(alPhyDetailParams);
  879. }
  880. }
  881. }
  882. }
  883. }
  884. }
  885. }
  886. if (isHaveChem)
  887. {
  888. i++;
  889. }
  890. }
  891. }
  892. if (publicUltraGridChemDetail1.Ug.Rows.Count > 0)
  893. {
  894. publicUltraGridChemDetail1.Ug.UpdateData();
  895. foreach (DataRow dr in publicUltraGridChemDetail1.DataTable.Rows)
  896. {
  897. foreach (DataColumn dc in publicUltraGridChemDetail1.DataTable.Columns)
  898. {
  899. string strCHEM_NAME = dc.Caption;
  900. if (strCHEM_NAME != "样管号" && dr["ANA_" + strCHEM_NAME].ToString() == "√")
  901. {
  902. alChemDetailParams = new ArrayList();//增加化学明细表参数
  903. alChemDetailParams.Add(strCHECK_NO);
  904. alChemDetailParams.Add(dr["SAMPLE_NO"].ToString());
  905. alChemDetailParams.Add(strCHEM_NAME);
  906. alChemDetail.Add(alChemDetailParams);
  907. }
  908. }
  909. }
  910. }
  911. alAll.Add(alBase);
  912. //alAll.Add(alJg);
  913. alAll.Add(alDetail);
  914. alAll.Add(alPhyDetail);
  915. alAll.Add(alChemDetail);
  916. ArrayList alDetailFlag = new ArrayList();//状态位
  917. ArrayList alDetailFlagParams = new ArrayList();//状态位
  918. if (chkIS_JG.Checked)
  919. {
  920. alDetailFlagParams.Add("1");
  921. alDetailFlagParams.Add(strCHECK_NO);
  922. alDetailFlag.Add(alDetailFlagParams);
  923. alAll.Add(alDetailFlag);
  924. }
  925. else
  926. {
  927. alDetailFlagParams.Add("0");
  928. alDetailFlagParams.Add(strCHECK_NO);
  929. alDetailFlag.Add(alDetailFlagParams);
  930. alAll.Add(alDetailFlag);
  931. }
  932. string oldCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  933. PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.UpdateCheckConsign",
  934. new Object[] { publicUltraGridBase1.Ur.Cells["IS_JG"].Text.Trim(), strCHECK_NO, alAll, oldCHECK_NO }, this.ob);//chkIS_JG.Checked ? "0" : "1",
  935. QueryCheckConsignBase();
  936. PublicPipeAndOutdec.ActiveOperateRow(publicUltraGridBase1.Ug, "CHECK_NO", strCHECK_NO);
  937. MessageUtil.ShowTips("修改成功!");
  938. //}
  939. }
  940. catch (Exception e)
  941. {
  942. MessageUtil.ShowWarning(e.Message);
  943. return;
  944. }
  945. }
  946. /// <summary>
  947. /// 清空检验委托
  948. /// </summary>
  949. private void ClearCheckConsign()
  950. {
  951. ClearCheckConsignBase();
  952. publicUltraGridDetail1.DataTable.Clear();
  953. int dcNum = publicUltraGridDetail1.DataTable.Columns.Count;//清除列 从第几列开始清除
  954. if (dcNum > 3)
  955. {
  956. for (int i = 0; i < dcNum - 3; i++)
  957. {
  958. publicUltraGridDetail1.DataTable.Columns.RemoveAt(3);
  959. }
  960. }
  961. publicUltraGridChemDetail1.DataTable.Rows.Clear();
  962. //if (m_dtSelectPhyMax != null)
  963. //{
  964. // m_dtSelectPhyMax.Rows.Clear();
  965. //}
  966. if (m_dtSelectPhySampleCode != null)
  967. {
  968. m_dtSelectPhySampleCode.Rows.Clear();
  969. }
  970. if (m_dtSelectPhyMin != null)
  971. {
  972. m_dtSelectPhyMin.Rows.Clear();
  973. }
  974. if (m_dtSelectPhyR != null)
  975. {
  976. m_dtSelectPhyR.Rows.Clear();
  977. }//清理内存表
  978. }
  979. /// <summary>
  980. /// 清空基础信息
  981. /// </summary>
  982. private void ClearCheckConsignBase()
  983. {
  984. txtCHECK_NO.Text = "";
  985. txtSAMPLE_NAME.Text = "";
  986. txtSTEEL_GRADE_NO.Text = "";
  987. txtTOTAL_LARGE_SAMPLE_SIZE.Text = "";
  988. txtLARGE_SAMPLE_COUNT.Text = "";//数量
  989. txtHEAT_NO.Text = "";//炉号
  990. txtTOTAL_SAMPLE_NO.Text = "";//样品编号
  991. txtOTHER_DESC.Text = "";
  992. ultraLARGE_SAMPLE_STATE.Text = "";//样品状态
  993. ultraCHECK_TYPE.Text = "";
  994. ultraCHECK_BASE.Text = "";//试验依据和其他技术要求及随机技术文件
  995. ultraSURPLUS.Text = "";
  996. txtSURPLUS_STATE.Text = "";//余样情况
  997. txtPROMISE_FINISH_TIME.Text = "";//试验完成时间约定
  998. txtCHECK_PRICE.Text = "";//试验费用
  999. ultraREPORT_TYPE.Text = "";//报告类型
  1000. ultraGET_REPORT_WAY.Text = "";//取报告方式
  1001. txtCONSIGN_DEPT.Text = "";
  1002. txtCONSIGN_ADDRESS.Text = "";//委托地址
  1003. txtPOSTCODE.Text = "";//邮编
  1004. txtPHONE.Text = "";//电话
  1005. txtFAX.Text = "";//传真
  1006. txtCONSIGN_NAME.Text = "";//委托方签字
  1007. txtJC_RECEIVE_NAME.Text = "";//试验单位接收人
  1008. }
  1009. //删除检验委托new 方法
  1010. private void DeleteCheckConsign()
  1011. {
  1012. try
  1013. {
  1014. //string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  1015. //PublicServer.GetDataTips("com.steering.lims.data.outdec.FrmOutdecCheckConsign.QueryCheckConsignBaseTips",
  1016. //new Object[] { strCHECK_NO, new string[] { "1", "2" }, new String[] { "此检验任务已下发,不允许删除!", "此检验任务加工已确认,不允许删除!" } }, ob);
  1017. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.Yes)
  1018. {
  1019. string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  1020. ArrayList al = new ArrayList();
  1021. al.Add(strCHECK_NO);
  1022. int i = PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.DeleteCheckConsign",
  1023. new Object[] { publicUltraGridBase1.Ur.Cells["IS_JG"].Text.Trim(), strCHECK_NO, al }, this.ob);
  1024. QueryCheckConsignBase();
  1025. MessageUtil.ShowTips("删除成功!");
  1026. }
  1027. }
  1028. catch (Exception e)
  1029. {
  1030. MessageUtil.ShowWarning(e.Message);
  1031. return;
  1032. }
  1033. }
  1034. /// <summary>
  1035. /// 查询检验委托明细信息
  1036. /// </summary>
  1037. private void QueryCheckConsignDetail()
  1038. {
  1039. try
  1040. {
  1041. ArrayList al = new ArrayList();
  1042. al.Add("");
  1043. al.Add(txtCHECK_NO.Text.Trim());
  1044. publicUltraGridDetail1.QueryCheckConsignDetail("outdec.PublicOutdecBase", al, this.ob, 3);
  1045. //RefreshAutoSize();//自适应
  1046. }
  1047. catch (Exception ex)
  1048. {
  1049. MessageUtil.ShowWarning(ex.Message);
  1050. return;
  1051. }
  1052. }
  1053. /// <summary>
  1054. /// 查询检验委托化学明细信息
  1055. /// </summary>
  1056. private void QueryCheckConsignChemDetail()
  1057. {
  1058. try
  1059. {
  1060. ArrayList al = new ArrayList();
  1061. al.Add("");
  1062. al.Add(txtCHECK_NO.Text.Trim());
  1063. publicUltraGridChemDetail1.QueryCheckConsignChemDetail("outdec.PublicOutdecBase", al, this.ob);
  1064. //RefreshAutoSize();//自适应
  1065. }
  1066. catch (Exception ex)
  1067. {
  1068. MessageUtil.ShowWarning(ex.Message);
  1069. return;
  1070. }
  1071. }
  1072. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  1073. {
  1074. switch (e.Tool.Key.ToString())
  1075. {
  1076. case "AddPhy":
  1077. AddPhyItems();
  1078. break;
  1079. }
  1080. }
  1081. /// <summary>
  1082. /// 增加理化检验项目
  1083. /// </summary>
  1084. private void AddPhyItems()
  1085. {
  1086. FrmBaseSelectItems _selectItems = new FrmBaseSelectItems(this.ob);//0810
  1087. //_selectItems.DtSelectPhyMax = m_dtSelectPhyMax;
  1088. _selectItems.DtSelectPhySampleCode = m_dtSelectPhySampleCode;
  1089. _selectItems.DtSelectPhyMin = m_dtSelectPhyMin;
  1090. _selectItems.DtSelectPhyR = m_dtSelectPhyR;
  1091. _selectItems.ShowDialog();
  1092. //m_dtSelectPhyMax = _selectItems.DtSelectPhyMax;//接受FrmSelectItems参数
  1093. m_dtSelectPhySampleCode = _selectItems.DtSelectPhySampleCode;
  1094. m_dtSelectPhyMin = _selectItems.DtSelectPhyMin;
  1095. m_dtSelectPhyR = _selectItems.DtSelectPhyR;
  1096. publicUltraGridDetail1.AddColumns(3, m_dtSelectPhySampleCode, publicUltraGridDetail1.DataTable);//把选中的大项增加到publicUltraGridDetail1.DataTable
  1097. }
  1098. private void btnAuto_Click(object sender, EventArgs e)
  1099. {
  1100. try
  1101. {
  1102. DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.QueryMaxCheckNo",
  1103. new Object[] { }, ob);
  1104. if (dt == null || dt.Rows.Count == 0)
  1105. {
  1106. return;
  1107. }
  1108. txtCHECK_NO.Text = dt.Rows[0]["CHECK_NO"].ToString();
  1109. }
  1110. catch (Exception ex)
  1111. {
  1112. MessageUtil.ShowWarning(ex.Message);
  1113. return;
  1114. }
  1115. }
  1116. private void UpdateCheckConsignDetail()
  1117. {
  1118. try
  1119. {
  1120. if (publicUltraGridBase1.Ur == null || publicUltraGridBase1.Ug == null || publicUltraGridBase1.Ug.Rows.Count == 0)
  1121. {
  1122. return;
  1123. }
  1124. if (MessageUtil.ShowYesNoAndQuestion("是否确认调整权限?") == DialogResult.Yes)
  1125. {
  1126. WinLabItemsSend pc = new WinLabItemsSend();
  1127. pc.Ob = this.ob;
  1128. pc.StrCheck = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  1129. pc.StrPath = "outdec.FrmOutdecCheckConsign";
  1130. pc.ShowDialog();
  1131. if (pc.DialogResult != DialogResult.OK)
  1132. {
  1133. return;
  1134. }
  1135. MessageUtil.ShowTips("调整权限成功!");
  1136. }
  1137. }
  1138. catch (Exception e)
  1139. {
  1140. MessageUtil.ShowWarning(e.Message);
  1141. }
  1142. }
  1143. /// <summary>
  1144. /// 检验委托单
  1145. /// </summary>
  1146. private void RepLimsOutdecConsignCheckOrder()
  1147. {
  1148. try
  1149. {
  1150. this.Cursor = Cursors.WaitCursor;
  1151. UltraGridRow ugr = publicUltraGridBase1.Ur;
  1152. if (ugr == null)
  1153. {
  1154. MessageUtil.ShowWarning("请选择您要打印的检验编号!");
  1155. return;
  1156. }
  1157. string strCHECK_NO = ugr.Cells["CHECK_NO"].Text.Trim();
  1158. string strurl = "";
  1159. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  1160. //{
  1161. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsOutdecConsignCheckOrder.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
  1162. //}
  1163. //else
  1164. //{
  1165. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsOutdecConsignCheckOrder.cpt&bypagesize=false" + "&CHECK_NO=" + strCHECK_NO;
  1166. //}
  1167. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  1168. fBug.AutoSize = true;
  1169. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  1170. fBug.WindowState = FormWindowState.Maximized;
  1171. fBug.Text = "商检委托单";
  1172. fBug.Show();
  1173. }
  1174. finally
  1175. {
  1176. this.Cursor = Cursors.Default;
  1177. }
  1178. }
  1179. private void RepLimsOutdecJGCheckTaskOrder()
  1180. {
  1181. try
  1182. {
  1183. this.Cursor = Cursors.WaitCursor;
  1184. UltraGridRow ugr = publicUltraGridBase1.Ur;
  1185. if (ugr == null)
  1186. {
  1187. MessageUtil.ShowWarning("请选择您要打印的检验任务单!");
  1188. return;
  1189. }
  1190. string strCHECK_NO = ugr.Cells["CHECK_NO"].Value.ToString();
  1191. string strurl = "";
  1192. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  1193. //{
  1194. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepLimsOutdecJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
  1195. //}
  1196. //else
  1197. //{
  1198. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsOutdecJGCheckTaskOrder.cpt&bypagesize=false&CHECK_NO=" + strCHECK_NO;
  1199. //}
  1200. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  1201. fBug.AutoSize = true;
  1202. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  1203. fBug.WindowState = FormWindowState.Maximized;
  1204. fBug.Text = "检验任务单";
  1205. fBug.Show();
  1206. }
  1207. finally
  1208. {
  1209. this.Cursor = Cursors.Default;
  1210. }
  1211. }
  1212. /// <summary>
  1213. /// 试验费用计算
  1214. /// </summary>
  1215. /// <param name="sender"></param>
  1216. /// <param name="e"></param>
  1217. private void btnPrice_Click(object sender, EventArgs e)
  1218. {
  1219. try
  1220. {
  1221. ArrayList al = new ArrayList();
  1222. //al.Add("1");
  1223. al.Add("");
  1224. DataTable dt = PublicServer.GetData("com.steering.lims.data.outdec.FrmOutdecCheckPrice.QueryCheckPriceInfo",
  1225. new Object[] { al }, ob);
  1226. if (dt == null || dt.Rows.Count == 0)
  1227. {
  1228. txtCHECK_PRICE.Text = "0";
  1229. MessageUtil.ShowWarning("请维护试验费用基础数据!");
  1230. return;
  1231. }
  1232. double price = 0;
  1233. DataRow[] arrDr;
  1234. publicUltraGridDetail1.Ug.UpdateData();
  1235. if (publicUltraGridDetail1.DataTable != null || publicUltraGridDetail1.DataTable.Rows.Count > 0)
  1236. {
  1237. foreach (DataRow dr in publicUltraGridDetail1.DataTable.Rows)
  1238. {
  1239. foreach (DataColumn dc in publicUltraGridDetail1.DataTable.Columns)
  1240. {
  1241. if (dc.ColumnName != "SAMPLE_NO" && dc.ColumnName != "SAMPLE_SIZE" && dc.ColumnName != "HX" && dr[dc.ColumnName].ToString().Trim() != "")
  1242. {
  1243. arrDr = dt.Select("VALIDFLAG = '1' AND CHECK_PRICE_TYPE = '1' AND PHY_CODE_MAX = '" + dc.ColumnName + "'");
  1244. if (arrDr != null && arrDr.Length == 1)
  1245. {
  1246. if (chkIS_JG.Checked == false)
  1247. {
  1248. price += Convert.ToDouble(arrDr[0]["CHECK_PRICE"].ToString() == "" ? "0" : arrDr[0]["CHECK_PRICE"].ToString()) + Convert.ToDouble(arrDr[0]["JG_PRICE"].ToString() == "" ? "0" : arrDr[0]["JG_PRICE"].ToString());
  1249. }
  1250. else
  1251. {
  1252. price += Convert.ToDouble(arrDr[0]["CHECK_PRICE"].ToString() == "" ? "0" : arrDr[0]["CHECK_PRICE"].ToString());//不经过加工 则不需要加工费
  1253. }
  1254. }
  1255. }
  1256. }
  1257. }
  1258. }
  1259. if (publicUltraGridChemDetail1.DataTable != null || publicUltraGridChemDetail1.DataTable.Rows.Count > 0)
  1260. {
  1261. publicUltraGridChemDetail1.Ug.UpdateData();
  1262. foreach (DataRow dr in publicUltraGridChemDetail1.DataTable.Rows)
  1263. {
  1264. foreach (DataColumn dc in publicUltraGridChemDetail1.DataTable.Columns)
  1265. {
  1266. if (dc.ColumnName != "SAMPLE_NO" && dr[dc.ColumnName].ToString().Trim() != "")
  1267. {
  1268. arrDr = dt.Select("VALIDFLAG = '1' AND CHECK_PRICE_TYPE = '0' AND PHY_CODE_MAX = '" + dc.Caption + "'");
  1269. if (arrDr != null && arrDr.Length == 1)
  1270. {
  1271. if (chkIS_JG.Checked == false)
  1272. {
  1273. price += Convert.ToDouble(arrDr[0]["CHECK_PRICE"].ToString() == "" ? "0" : arrDr[0]["CHECK_PRICE"].ToString()) + Convert.ToDouble(arrDr[0]["JG_PRICE"].ToString() == "" ? "0" : arrDr[0]["JG_PRICE"].ToString());
  1274. }
  1275. else
  1276. {
  1277. price += Convert.ToDouble(arrDr[0]["CHECK_PRICE"].ToString() == "" ? "0" : arrDr[0]["CHECK_PRICE"].ToString());//不经过加工 则不需要加工费
  1278. }
  1279. }
  1280. }
  1281. }
  1282. }
  1283. }
  1284. txtCHECK_PRICE.Text = price.ToString();
  1285. txtCHECK_PRICE_REAL.Text = price.ToString();
  1286. }
  1287. catch (Exception ex)
  1288. {
  1289. MessageUtil.ShowWarning(ex.Message);
  1290. return;
  1291. }
  1292. }
  1293. private void ultraREPORT_TYPE_ValueChanged(object sender, EventArgs e)
  1294. {
  1295. if (ultraREPORT_TYPE.Text.ToString().Equals("本征检测"))
  1296. {
  1297. txtCHECK_DEPT.Text = "天津本征检测科技有限公司 开户行:工商银行天津津东支行 账号:0302016009300043731 ";
  1298. }
  1299. else
  1300. {
  1301. txtCHECK_DEPT.Text = "天津钢管集团股份有限公司检测中心 开户行:工商银行天津津东支行 账号:0302016009300023121 ";
  1302. }
  1303. }
  1304. /// <summary>
  1305. /// 修改结算状态
  1306. /// </summary>
  1307. /// <param name="sender"></param>
  1308. /// <param name="e"></param>
  1309. private void chkIS_CLEARING_CheckedChanged(object sender, EventArgs e)
  1310. {
  1311. string strIS_CLEARING = "1";
  1312. if (chkIS_CLEARING.Checked)
  1313. {
  1314. strIS_CLEARING = "0";
  1315. }
  1316. string strCHECK_NO = publicUltraGridBase1.Ur.Cells["CHECK_NO"].Text.Trim();
  1317. PublicServer.SetData("com.steering.lims.data.outdec.FrmOutdecCheckConsign.UpdateIsClearing",
  1318. new Object[] { strCHECK_NO, strIS_CLEARING }, this.ob);
  1319. //MessageUtil.ShowTips("结算状态修改成功!");
  1320. QueryCheckConsignBase();
  1321. var redirectRow = publicUltraGridBase1.Ug.Rows.Where(a => a.GetValue("CHECK_NO") == strCHECK_NO).FirstOrDefault();
  1322. if (redirectRow != null)
  1323. {
  1324. redirectRow.Activate();
  1325. }
  1326. }
  1327. }
  1328. }