OTSReport_Export.cs 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147
  1. using OTSIncAReportApp.Controls;
  2. using OTSCommon.Model;
  3. using OTSIncAReportApp.OTSTemplateDesigner;
  4. using OTSIncAReportApp.SysMgrTools;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.IO;
  10. using System.Windows.Forms;
  11. using OTSIncAReportApp._1_UI.OTSTemplateDesigner;
  12. using DevExpress.XtraReports.UI;
  13. using OTSIncAReportApp.ReportTemplate;
  14. namespace OTSIncAReportApp
  15. {
  16. public partial class OTSReport_Export : Form
  17. {
  18. #region 全局变量
  19. System.Collections.Hashtable table;
  20. public frmReportApp m_ReportApp = null; //报告项目总进程对象
  21. public string m_export_type = "Excel"; //导出文件的格式类型Excel,Word,Pdf
  22. GBData m_export_reporttemplate;
  23. private string SummaryInfoPath = "./Config/ReportTemplate/SummaryInfo.xml";
  24. private XmlOperateUtil SummaryInfoXmluti;
  25. private string fileName = "";
  26. public c_TemplateClass m_mbszclass = null;
  27. OTS_DEVReport DEVReport;
  28. GBReport GB_Report;
  29. #endregion
  30. #region 模板设置类
  31. /// <summary>
  32. /// 模板设置类
  33. /// </summary>
  34. public class c_TemplateClass
  35. {
  36. /// <summary>
  37. /// 配置文件路径
  38. /// </summary>
  39. public DZ M_DZ { get; set; }
  40. #region 属性
  41. /// <summary>
  42. /// 首页
  43. /// </summary>
  44. public SY M_SY { get; set; }
  45. /// <summary>
  46. /// 页眉页脚
  47. /// </summary>
  48. public YMYJ M_YMYJ { get; set; }
  49. /// <summary>
  50. /// 颗粒分析结果
  51. /// </summary>
  52. public KLFXJG M_KLFXJG { get; set; }
  53. /// <summary>
  54. /// 元素分析结果
  55. /// </summary>
  56. public YSFXJG M_YSFXJG { get; set; }
  57. /// <summary>
  58. /// 三元相图
  59. /// </summary>
  60. public SYXT M_SYXT { get; set; }
  61. /// <summary>
  62. /// 颗粒列表信息
  63. /// </summary>
  64. public KLLBXX M_KLLBXX { get; set; }
  65. /// <summary>
  66. /// 夹杂物占比
  67. /// </summary>
  68. public JZWZB M_JZWZB { get; set; }
  69. /// <summary>
  70. /// 主要优先排序string
  71. /// </summary>
  72. public string str_MainPriority { get; set; }
  73. /// <summary>
  74. /// 主要优先排序
  75. /// </summary>
  76. public List<string> list_str_MainPriority { get; set; }
  77. /// <summary>
  78. /// 次要优先排序string
  79. /// </summary>
  80. public string str_SecondaryPriority { get; set; }
  81. /// <summary>
  82. /// 次要优先排序
  83. /// </summary>
  84. public List<string> list_str_SecondaryPriority { get; set; }
  85. #endregion
  86. #region 构造函数
  87. public c_TemplateClass()
  88. {
  89. M_SY = new SY();
  90. M_YMYJ = new YMYJ();
  91. M_KLFXJG = new KLFXJG();
  92. M_YSFXJG = new YSFXJG();
  93. M_YSFXJG.list_str_tb_yscf_ysxx = new List<string>();
  94. M_YSFXJG.list_str_tb_ysfx_xsys = new List<string>();
  95. M_SYXT = new SYXT();
  96. M_SYXT.list_lbv_syxt_mblb = new List<string>();
  97. M_SYXT.list_lbv_syxt_mblb_index = new List<int>();
  98. M_KLLBXX = new KLLBXX();
  99. M_JZWZB = new JZWZB();
  100. M_KLLBXX.list_str_tb_lllb_sxys = new List<string>();
  101. M_KLLBXX.list_str_kllb_qcys = new List<string>();
  102. M_KLLBXX.list_str_kllb_DeleteClass = new List<string>();
  103. M_DZ = new DZ();
  104. list_str_MainPriority = new List<string>();
  105. list_str_SecondaryPriority = new List<string>();
  106. str_MainPriority = "";
  107. str_SecondaryPriority = "";
  108. }
  109. #endregion
  110. public class DZ
  111. {
  112. public string route { get; set; }
  113. }
  114. #region 首页部份
  115. public class SY
  116. {
  117. public string LOGName { get; set; }
  118. /// <summary>
  119. /// 主标题
  120. /// </summary>
  121. public string str_tb_ZBT { get; set; }
  122. /// <summary>
  123. /// 副标题
  124. /// </summary>
  125. public string str_tb_FBT { get; set; }
  126. /// <summary>
  127. /// 样品编号
  128. /// </summary>
  129. public string str_tb_YPBH { get; set; }
  130. /// <summary>
  131. /// 参考标准
  132. /// </summary>
  133. public string str_tb_CKBZ { get; set; }
  134. /// <summary>
  135. /// 是否显示样品说明
  136. /// </summary>
  137. public bool b_ck_ypsm { get; set; }
  138. /// <summary>
  139. /// 选择颗粒导出范围_内容
  140. /// </summary>
  141. public string str_xzkl { get; set; }
  142. /// <summary>
  143. /// 选择颗粒导出范围,索引
  144. /// </summary>
  145. public int int_xzkl { get; set; }
  146. /// <summary>
  147. /// 标准库名称
  148. /// </summary>
  149. public string StandardLibraryName { get; set; }
  150. }
  151. #endregion
  152. #region 页眉页脚部份
  153. public class YMYJ
  154. {
  155. /// <summary>
  156. /// 页眉文本
  157. /// </summary>
  158. public string str_tb_ymwb { get; set; }
  159. /// <summary>
  160. /// 客户号
  161. /// </summary>
  162. public string str_tb_KHH { get; set; }
  163. /// <summary>
  164. /// 是否显示页码
  165. /// </summary>
  166. public bool b_ck_ym { get; set; }
  167. /// <summary>
  168. /// 页脚文本
  169. /// </summary>
  170. public string str_tb_yjwb { get; set; }
  171. }
  172. #endregion
  173. #region 颗粒分析结果部份
  174. public class KLFXJG
  175. {
  176. /// <summary>
  177. /// 大分类是否显示
  178. /// </summary>
  179. public bool b_ck_klcc_dfl { get; set; }
  180. /// <summary>
  181. /// 小分类是否显示
  182. /// </summary>
  183. public bool b_ck_klcc_xfl { get; set; }
  184. /// <summary>
  185. /// 是否显示颗粒尺寸分析结果表
  186. /// </summary>
  187. public bool b_ck_klcc_xsmk { get; set; }
  188. /// <summary>
  189. /// 是否显示颗粒尺寸 堆叠图
  190. /// </summary>
  191. public bool b_ck_klcc_xsddt { get; set; }
  192. /// <summary>
  193. ///颗粒尺寸分析结果表 计算方式文本
  194. /// </summary>
  195. public string str_cb_klcc_jsfs { get; set; }
  196. /// <summary>
  197. ///颗粒尺寸分析结果表 计算方式索引
  198. /// </summary>
  199. public int index_cb_klcc_jsfs { get; set; }
  200. /// <summary>
  201. ///颗粒尺寸分析结果表 粒级表文本
  202. /// </summary>
  203. public string str_cb_klcc_ljb { get; set; }
  204. /// <summary>
  205. ///颗粒尺寸分析结果表 粒级表索引
  206. /// </summary>
  207. public int index_cb_klcc_ljb { get; set; }
  208. /// <summary>
  209. ///颗粒尺寸分析结果表 颗粒选择范围索引
  210. /// </summary>
  211. public int index_cb_klcc_klfw { get; set; }
  212. /// <summary>
  213. /// 夹杂物分类图 是否显示该模块
  214. /// </summary>
  215. public bool b_cb_jzwfl_xsmk { get; set; }
  216. /// <summary>
  217. ///夹杂物分类图 显示图形 选择索引
  218. /// </summary>
  219. public int index_cb_jzwfl_xstx { get; set; }
  220. /// <summary>
  221. ///夹杂物分类图 计算方式 选择索引
  222. /// </summary>
  223. public int index_cb_jzwfl_jsfs { get; set; }
  224. /// <summary>
  225. ///夹杂物分类图 粒级表 选择索引
  226. /// </summary>
  227. public int index_cb_jzwfl_ljb { get; set; }
  228. /// <summary>
  229. ///夹杂物分类图 颗粒范围 选择索引
  230. /// </summary>
  231. public int index_cb_jzwfl_klfw { get; set; }
  232. }
  233. #endregion
  234. #region 元素分析结果部份
  235. public class YSFXJG
  236. {
  237. /// <summary>
  238. /// 元素分析表 是否显示该模块
  239. /// </summary>
  240. public bool b_ck_ysfx_xsmk { get; set; }
  241. /// <summary>
  242. /// 元素分析表 计算方式 选择索引
  243. /// </summary>
  244. public int index_cb_yxfx_jsfs { get; set; }
  245. /// <summary>
  246. /// 元素分析表 颗粒范围 选择索引
  247. /// </summary>
  248. public int index_cb_ysfx_klfw { get; set; }
  249. /// <summary>
  250. /// 元素分析表 显示元素显示文本
  251. /// </summary>
  252. public string str_tb_ysfx_xsys { get; set; }
  253. /// <summary>
  254. /// 元素分析表 显示元素拆分元素列表
  255. /// </summary>
  256. public List<string> list_str_tb_ysfx_xsys { get; set; }
  257. /// <summary>
  258. /// 元素成份图 是否显示该模块
  259. /// </summary>
  260. public bool b_ck_yscf_xsmk { get; set; }
  261. /// <summary>
  262. /// 元素成份图 显示图形 索引
  263. /// </summary>
  264. public int index_cb_yscf_xstx { get; set; }
  265. /// <summary>
  266. /// 元素成份图 计算方式 索引
  267. /// </summary>
  268. public int index_cb_yscf_jsfs { get; set; }
  269. /// <summary>
  270. /// 元素成份图 颗粒范围 索引
  271. /// </summary>
  272. public int index_cb_yscf_klfw { get; set; }
  273. /// <summary>
  274. /// 元素成份图 元素信息
  275. /// </summary>
  276. public string str_tb_yscf_ysxx { get; set; }
  277. /// <summary>
  278. /// 元素成份图 元素信息列表拆分字符列表
  279. /// </summary>
  280. public List<string> list_str_tb_yscf_ysxx { get; set; }
  281. }
  282. #endregion
  283. #region 三元相图部份
  284. public class SYXT
  285. {
  286. /// <summary>
  287. /// 三元相图 是否显示该模块
  288. /// </summary>
  289. public bool b_ck_syxt_xsmk { get; set; }
  290. /// <summary>
  291. /// 计算方式 索引
  292. /// </summary>
  293. public int index_cb_syxt_jsfs { get; set; }
  294. /// <summary>
  295. /// 颗粒范围 索引
  296. /// </summary>
  297. public int index_cb_syxt_klfw { get; set; }
  298. /// <summary>
  299. /// 粒级表信息 文本
  300. /// </summary>
  301. public string str_cb_syxt_ljb { get; set; }
  302. /// <summary>
  303. /// 粒级表信息 索引
  304. /// </summary>
  305. public int index_cb_syxt_ljb { get; set; }
  306. /// <summary>
  307. /// 每行显示数量 文本
  308. /// </summary>
  309. public string str_cb_syxt_mhxssl { get; set; }
  310. /// <summary>
  311. /// 三元相图模板集合列表
  312. /// </summary>
  313. public List<string> list_lbv_syxt_mblb { get; set; }
  314. /// <summary>
  315. /// 三元相图模板索引集合列表
  316. /// </summary>
  317. public List<int> list_lbv_syxt_mblb_index { get; set; }
  318. }
  319. #endregion
  320. #region 颗粒列表信息部份
  321. public class KLLBXX
  322. {
  323. /// <summary>
  324. /// 颗粒列表 是否显示该模块
  325. /// </summary>
  326. public bool b_ck_kllb_xsmk { get; set; }
  327. /// <summary>
  328. /// 颗粒列表 是否显示附加帧图模块
  329. /// </summary>
  330. public bool b_ck_kllb_fjzt { get; set; }
  331. /// <summary>
  332. /// 颗粒列表 计算方式 索引
  333. /// </summary>
  334. public int index_cb_kllb_jsfs { get; set; }
  335. /// <summary>
  336. /// 颗粒列表 颗粒范围 索引
  337. /// </summary>
  338. public int index_cb_kllb_klfw { get; set; }
  339. /// <summary>
  340. /// 颗粒列表 显示元素
  341. /// </summary>
  342. public string str_tb_kllb_sxys { get; set; }
  343. /// <summary>
  344. /// 颗粒列表 显示元素拆分元素列表
  345. /// </summary>
  346. public List<string> list_str_tb_lllb_sxys { get; set; }
  347. /// <summary>
  348. /// 颗粒列表 颗粒排序表行中第一个可选字段 文本
  349. /// </summary>
  350. public string str_cb_kllb_sort_p1 { get; set; }
  351. /// <summary>
  352. /// 颗粒列表 颗粒排序表行中第一个可选字段 索引
  353. /// </summary>
  354. public int index_cb_kllb_sort_p1 { get; set; }
  355. /// <summary>
  356. /// 颗粒列表 颗粒排序表行中第二个可选字段 文本
  357. /// </summary>
  358. public string str_cb_kllb_sort_p2 { get; set; }
  359. /// <summary>
  360. /// 颗粒列表 颗粒排序表行中第二个可选字段 索引
  361. /// </summary>
  362. public int index_cb_kllb_sort_p2 { get; set; }
  363. /// <summary>
  364. /// 颗粒列表 颗粒排序表行中第三个可选字段 文本
  365. /// </summary>
  366. public string str_cb_kllb_sort_p3 { get; set; }
  367. /// <summary>
  368. /// 颗粒列表 颗粒排序表行中第三个可选字段 索引
  369. /// </summary>
  370. public int index_cb_kllb_sort_p3 { get; set; }
  371. /// <summary>
  372. /// 颗粒列表 颗粒帧图表行中第一个可选字段 文本
  373. /// </summary>
  374. public string str_cb_kllb_chartSort_p1 { get; set; }
  375. /// <summary>
  376. /// 颗粒列表 颗粒帧图表行中第一个可选字段 索引
  377. /// </summary>
  378. public int index_cb_kllb_chartSort_p1 { get; set; }
  379. /// <summary>
  380. /// 颗粒列表 颗粒帧图表行中第二个可选字段 文本
  381. /// </summary>
  382. public string str_cb_kllb_chartSort_p2 { get; set; }
  383. /// <summary>
  384. /// 颗粒列表 颗粒帧图表行中第二个可选字段 索引
  385. /// </summary>
  386. public int index_cb_kllb_chartSort_p2 { get; set; }
  387. /// <summary>
  388. /// 颗粒列表去除不要的颗粒
  389. /// </summary>
  390. public string str_kllb_qcys { get; set; }
  391. /// <summary>
  392. /// 颗粒列表去除不要的颗粒
  393. /// </summary>
  394. public List<string> list_str_kllb_qcys { get; set; }
  395. /// <summary>
  396. /// 颗粒列表去除不要的物质分类
  397. /// </summary>
  398. public string str_kllb_DeleteClass { get; set; }
  399. /// <summary>
  400. /// 颗粒列表去除不要的物质分类
  401. /// </summary>
  402. public List<string> list_str_kllb_DeleteClass { get; set; }
  403. /// <summary>
  404. /// 显示颗粒数量
  405. /// </summary>
  406. public int list_int_kllb_number { get; set; }
  407. }
  408. #endregion
  409. #region 夹杂物占比
  410. public class JZWZB
  411. {
  412. /// <summary>
  413. /// 夹杂物占比表
  414. /// </summary>
  415. public bool b_ck_surface { get; set; }
  416. /// <summary>
  417. /// 夹杂物占比图
  418. /// </summary>
  419. public bool b_ck_chart { get; set; }
  420. }
  421. #endregion
  422. }
  423. #endregion
  424. #region 窗体加载及构造函数
  425. public OTSReport_Export(frmReportApp ReportApp)
  426. {
  427. InitializeComponent();
  428. m_ReportApp = ReportApp;
  429. m_export_reporttemplate = new GBData(this);
  430. SummaryInfoXmluti = new XmlOperateUtil(SummaryInfoPath);
  431. m_mbszclass = new c_TemplateClass();
  432. //读取配置文件中的模板路径
  433. LoadMBSZClass();
  434. #region 国际化语言
  435. Language lan = new Language(this);
  436. table = lan.GetNameTable(this.Name);
  437. #endregion
  438. }
  439. /// <summary>
  440. /// 从配置文件中读取报告模板路径
  441. /// </summary>
  442. private void LoadMBSZClass()
  443. {
  444. string path;
  445. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  446. path = SummaryInfoXmluti.Read("M_address", "Path_CA");
  447. else
  448. path = SummaryInfoXmluti.Read("M_address", "Path");
  449. fileName = path;
  450. tb_mblj.Text = fileName;
  451. m_mbszclass.M_DZ.route = fileName;
  452. }
  453. /// <summary>
  454. /// 将报告模板信息保存到配置文件中
  455. /// </summary>
  456. private void SaveMBSClass()
  457. {
  458. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  459. //文件路径
  460. SummaryInfoXmluti.Write(m_mbszclass.M_DZ.route.ToString(), "M_address", "Path_CA");
  461. else
  462. SummaryInfoXmluti.Write(m_mbszclass.M_DZ.route.ToString(), "M_address", "Path");
  463. }
  464. /// <summary>
  465. /// 加载报告模板选择项,数据源选项
  466. /// </summary>
  467. private void BindComboBox()
  468. {
  469. //加载数据源
  470. for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
  471. {
  472. cbo_sjy.Items.Add(m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName);
  473. }
  474. if (cbo_sjy.Items.Count > 0)
  475. cbo_sjy.SelectedIndex = 0;
  476. }
  477. private void OTSReport_Export_Load(object sender, EventArgs e)
  478. {
  479. //窗体加载时,初始化Combobox
  480. BindComboBox();
  481. LoadControlsToXml();
  482. tb_mblj.Text = fileName;
  483. ReadClassification();
  484. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  485. {
  486. button7.Visible = false;
  487. }
  488. }
  489. #endregion
  490. #region 自定义方法
  491. #endregion
  492. #region 窗体控件事件
  493. private void btn_preview_Click(object sender, EventArgs e)
  494. {
  495. DEVReport = new OTS_DEVReport(this, m_mbszclass);
  496. LoadData();
  497. ReportPrintTool tool = new ReportPrintTool(DEVReport);
  498. tool.ShowPreview();
  499. }
  500. private void button2_Click(object sender, EventArgs e)
  501. {
  502. //退出
  503. this.Close();
  504. }
  505. private void btn_openfilepath_Click(object sender, EventArgs e)
  506. {
  507. string path;
  508. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  509. path = Application.StartupPath + "\\Config\\ReportTemplate\\CleannessA_Template";
  510. else
  511. path = Application.StartupPath + "\\Config\\ReportTemplate\\Inca_Template";
  512. FileNameSelect NameSelect = new FileNameSelect(path, fileName);
  513. NameSelect.ShowDialog();
  514. if (NameSelect.yes)
  515. {
  516. fileName = NameSelect.ChangePathName;
  517. m_mbszclass.M_DZ.route = fileName;
  518. LoadControlsToXml();
  519. SaveMBSClass();
  520. ReadClassification();
  521. }
  522. }
  523. //调用编辑模板窗体
  524. private void btn_TempDes_Click(object sender, EventArgs e)
  525. {
  526. //预览设置
  527. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  528. {
  529. OTSReport_Template_CleannessA OtsTemDRM = new OTSReport_Template_CleannessA(this, fileName);
  530. if (OtsTemDRM.ShowDialog() == DialogResult.Yes)
  531. {
  532. //如果用户点击确定,则将m_mbszclass,模板设置类的内容存到文件中。
  533. m_mbszclass.M_DZ.route = tb_mblj.Text;
  534. SaveMBSClass();
  535. }
  536. }
  537. else
  538. {
  539. OTSReport_Template_INCA OtsTemDRM = new OTSReport_Template_INCA(this, fileName);
  540. if (OtsTemDRM.ShowDialog() == DialogResult.Yes)
  541. {
  542. //如果用户点击确定,则将m_mbszclass,模板设置类的内容存到文件中。
  543. m_mbszclass.M_DZ.route = tb_mblj.Text;
  544. SaveMBSClass();
  545. }
  546. }
  547. }
  548. #endregion
  549. #region 导出工作线程部份
  550. private void LoadData()
  551. {
  552. double total = 1;
  553. if (m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk)
  554. total++;
  555. if (m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk)
  556. total++;
  557. if (m_mbszclass.M_JZWZB.b_ck_surface)
  558. total++;
  559. if(m_mbszclass.M_JZWZB.b_ck_chart)
  560. total++;
  561. if(m_mbszclass.M_SYXT.b_ck_syxt_xsmk)
  562. total++;
  563. if(m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk)
  564. total++;
  565. if(m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt)
  566. total++;
  567. double Serial = 1;
  568. int length = 2;
  569. try
  570. {
  571. if (true)//测量结果信息表
  572. {
  573. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  574. Serial++;
  575. richTextBox1.SelectionColor = Color.Black;
  576. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  577. richTextBox1.AppendText(table["measurement_result"].ToString() + "\n");
  578. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  579. DEVReport.International_language(dev_internationalLanguage());
  580. DEVReport.setResultGrid();
  581. richTextBox1.ScrollToCaret();
  582. }
  583. }
  584. catch
  585. {
  586. richTextBox1.SelectionColor = Color.Red;
  587. richTextBox1.AppendText(table["measurementResult_fail"].ToString() + "\n");
  588. return;
  589. }
  590. // 执行后台任务...
  591. try
  592. {
  593. if (m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk)//颗粒尺寸分析表
  594. {
  595. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  596. Serial++;
  597. richTextBox1.SelectionColor = Color.Black;
  598. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  599. richTextBox1.AppendText(table["particle_size"].ToString() + "\n");
  600. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  601. DEVReport.setParticleSizeTable(m_mbszclass.M_KLFXJG.b_ck_klcc_dfl, m_mbszclass.M_KLFXJG.b_ck_klcc_xfl, m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt);
  602. richTextBox1.ScrollToCaret();
  603. }
  604. }
  605. catch
  606. {
  607. richTextBox1.SelectionColor = Color.Red;
  608. richTextBox1.AppendText(table["particle_size_fail"].ToString() + "\n");
  609. return;
  610. }
  611. try
  612. {
  613. if (m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk)//元素分析表
  614. {
  615. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  616. Serial++;
  617. richTextBox1.SelectionColor = Color.Black;
  618. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  619. richTextBox1.AppendText(table["elemental_analysis"].ToString() + "\n");
  620. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  621. DEVReport.XRPageBreak();
  622. DEVReport.setElementAvgGrid();
  623. richTextBox1.ScrollToCaret();
  624. }
  625. }
  626. catch
  627. {
  628. richTextBox1.SelectionColor = Color.Red;
  629. richTextBox1.AppendText(table["elemental_analysis_fail"].ToString() + "\n");
  630. return;
  631. }
  632. try
  633. {
  634. if (m_mbszclass.M_JZWZB.b_ck_surface)//夹杂物面积比表
  635. {
  636. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  637. Serial++;
  638. richTextBox1.SelectionColor = Color.Black;
  639. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  640. richTextBox1.AppendText(table["inclusion"].ToString() + "\n");
  641. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  642. DEVReport.XRPageBreak();
  643. DEVReport.setINCAtable();
  644. richTextBox1.ScrollToCaret();
  645. }
  646. }
  647. catch
  648. {
  649. richTextBox1.SelectionColor = Color.Red;
  650. richTextBox1.AppendText(table["inclusion_fail"].ToString() + "\n");
  651. return;
  652. }
  653. try
  654. {
  655. if (m_mbszclass.M_JZWZB.b_ck_surface)
  656. {
  657. if (m_mbszclass.M_KLFXJG.b_ck_klcc_dfl == true || m_mbszclass.M_KLFXJG.b_ck_klcc_xfl == true)
  658. {
  659. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  660. Serial++;
  661. richTextBox1.SelectionColor = Color.Black;
  662. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  663. richTextBox1.AppendText(table["inclusion_chart"].ToString() + "\n");
  664. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  665. DEVReport.XRPageBreak();
  666. if (m_mbszclass.M_KLFXJG.b_ck_klcc_dfl)
  667. {
  668. DEVReport.set_incaPIC_classify();
  669. }
  670. if (m_mbszclass.M_KLFXJG.b_ck_klcc_xfl)
  671. {
  672. DEVReport.set_incaPIC_subdivision();
  673. }
  674. richTextBox1.ScrollToCaret();
  675. }
  676. }
  677. }
  678. catch
  679. {
  680. richTextBox1.SelectionColor = Color.Red;
  681. richTextBox1.AppendText(table["inclusion_chart_fail"].ToString() + "\n");
  682. return;
  683. }
  684. try
  685. {
  686. if (m_mbszclass.M_SYXT.b_ck_syxt_xsmk)//三元图
  687. {
  688. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  689. Serial++;
  690. richTextBox1.SelectionColor = Color.Black;
  691. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  692. richTextBox1.AppendText(table["ternary_diagram"].ToString() + "\n");
  693. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  694. DEVReport.XRPageBreak();
  695. DEVReport.InsertReportTemplateChart_Trianglediagram();
  696. richTextBox1.ScrollToCaret();
  697. }
  698. }
  699. catch
  700. {
  701. richTextBox1.SelectionColor = Color.Red;
  702. richTextBox1.AppendText(table["ternary_diagram_fail"].ToString() + "\n");
  703. return;
  704. }
  705. try
  706. {
  707. if (m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk)//颗粒列表
  708. {
  709. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  710. Serial++;
  711. richTextBox1.SelectionColor = Color.Black;
  712. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  713. richTextBox1.AppendText(table["particle_list"].ToString() + "\n");
  714. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  715. DEVReport.XRPageBreak();
  716. DEVReport.set_kllb_data();
  717. richTextBox1.ScrollToCaret();
  718. }
  719. }
  720. catch
  721. {
  722. richTextBox1.SelectionColor = Color.Red;
  723. richTextBox1.AppendText(table["particle_list_fail"].ToString() + "\n");
  724. return;
  725. }
  726. try
  727. {
  728. if (m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt)//颗粒帧图列表
  729. {
  730. double d1 = Convert.ToDouble(Serial / total) * 100.0;
  731. Serial++;
  732. richTextBox1.SelectionColor = Color.Black;
  733. richTextBox1.SelectionStart = 0; // 设置选择开始位置
  734. richTextBox1.AppendText(table["particle_list_chart"].ToString() + "\n");
  735. richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
  736. DEVReport.XRPageBreak();
  737. DEVReport.set_kllb_data_frame();
  738. richTextBox1.ScrollToCaret();
  739. }
  740. }
  741. catch
  742. {
  743. richTextBox1.SelectionColor = Color.Red;
  744. richTextBox1.AppendText(table["particle_list_chart_fail"].ToString() + "\n");
  745. return;
  746. }
  747. richTextBox1.SelectionColor = Color.Red;
  748. richTextBox1.AppendText(table["complete"].ToString() + "\n");
  749. richTextBox1.ScrollToCaret();
  750. }
  751. #endregion
  752. #region 读取文件
  753. private void LoadControlsToXml()
  754. {
  755. string strpath;
  756. if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.CleannessA)
  757. strpath = Application.StartupPath + "\\Config\\ReportTemplate\\CleannessA_Template\\" + fileName;
  758. else
  759. strpath = Application.StartupPath + "\\Config\\ReportTemplate\\Inca_Template\\" + fileName;
  760. tb_mblj.Text = fileName;
  761. OTSIncAReportApp.Controls.XmlOperateUtil xmlutil = new OTSIncAReportApp.Controls.XmlOperateUtil(strpath);
  762. //首页
  763. m_mbszclass.M_SY.str_tb_ZBT = xmlutil.Read("M_SY", "str_tb_ZBT");
  764. m_mbszclass.M_SY.str_tb_FBT = xmlutil.Read("M_SY", "str_tb_FBT");
  765. m_mbszclass.M_SY.str_tb_YPBH = xmlutil.Read("M_SY", "str_tb_YPBH");
  766. m_mbszclass.M_SY.str_tb_CKBZ = xmlutil.Read("M_SY", "str_tb_CKBZ");
  767. m_mbszclass.M_SY.b_ck_ypsm = Convert.ToBoolean(xmlutil.Read("M_SY", "b_ck_ypsm"));
  768. m_mbszclass.M_SY.int_xzkl = Convert.ToInt32(xmlutil.Read("M_SY", "int_xzkl"));
  769. m_mbszclass.M_SY.str_xzkl = xmlutil.Read("M_SY", "str_xzkl");
  770. m_mbszclass.M_SY.LOGName = xmlutil.Read("M_SY", "LOGName");
  771. m_mbszclass.M_SY.StandardLibraryName= xmlutil.Read("M_SY", "StandardLibraryName");
  772. if (m_mbszclass.M_SY.LOGName == null || m_mbszclass.M_SY.LOGName == "")
  773. {
  774. m_mbszclass.M_SY.LOGName = "ReportIdentification.bmp";
  775. }
  776. //页眉页脚
  777. m_mbszclass.M_YMYJ.str_tb_ymwb = xmlutil.Read("M_YMYJ", "str_tb_ymwb");
  778. m_mbszclass.M_YMYJ.str_tb_KHH = xmlutil.Read("M_YMYJ", "str_tb_KHH");
  779. m_mbszclass.M_YMYJ.b_ck_ym = Convert.ToBoolean(xmlutil.Read("M_YMYJ", "b_ck_ym"));
  780. m_mbszclass.M_YMYJ.str_tb_yjwb = xmlutil.Read("M_YMYJ", "str_tb_yjwb");
  781. //颗粒分析结果
  782. m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk = Convert.ToBoolean(xmlutil.Read("M_KLFXJG", "b_ck_klcc_xsmk"));//是否显示模块
  783. m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt = Convert.ToBoolean(xmlutil.Read("M_KLFXJG", "b_ck_klcc_xsddt"));
  784. m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_klcc_jsfs"));//计算方式
  785. m_mbszclass.M_KLFXJG.index_cb_klcc_ljb = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_klcc_ljb"));//粒级表
  786. m_mbszclass.M_KLFXJG.index_cb_klcc_klfw = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_klcc_klfw"));//颗粒范围
  787. m_mbszclass.M_KLFXJG.b_cb_jzwfl_xsmk = Convert.ToBoolean(xmlutil.Read("M_KLFXJG", "b_cb_jzwfl_xsmk"));//是否显示该模块
  788. m_mbszclass.M_KLFXJG.index_cb_jzwfl_xstx = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_jzwfl_xstx"));//选择图像
  789. m_mbszclass.M_KLFXJG.index_cb_jzwfl_jsfs = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_jzwfl_jsfs"));//计算方式
  790. m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs = xmlutil.Read("M_KLFXJG", "str_cb_klcc_jsfs");
  791. m_mbszclass.M_KLFXJG.index_cb_jzwfl_ljb = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_jzwfl_ljb"));//粒级表
  792. m_mbszclass.M_KLFXJG.index_cb_jzwfl_klfw = Convert.ToInt32(xmlutil.Read("M_KLFXJG", "index_cb_jzwfl_klfw"));//颗粒范围
  793. //元素分析结果
  794. m_mbszclass.M_YSFXJG.b_ck_ysfx_xsmk = Convert.ToBoolean(xmlutil.Read("M_YSFXJG", "b_ck_ysfx_xsmk")); //是否显示模块
  795. m_mbszclass.M_YSFXJG.index_cb_yxfx_jsfs = Convert.ToInt32(xmlutil.Read("M_YSFXJG", "index_cb_yxfx_jsfs")); //计算方式
  796. m_mbszclass.M_YSFXJG.index_cb_ysfx_klfw = Convert.ToInt32(xmlutil.Read("M_YSFXJG", "index_cb_ysfx_klfw")); //颗粒范围
  797. m_mbszclass.M_YSFXJG.str_tb_ysfx_xsys = xmlutil.Read("M_YSFXJG", "str_tb_ysfx_xsys"); //显示元素
  798. m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Clear();
  799. for (int i = 0; i < 100; i++) //取得所有元素列表
  800. {
  801. string str = xmlutil.Read("M_YSFXJG", "list_str_tb_ysfx_xsys", "YS" + i.ToString());
  802. if (str == null)
  803. {
  804. break;
  805. }
  806. else
  807. {
  808. m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Add(str);
  809. }
  810. }
  811. m_mbszclass.M_YSFXJG.b_ck_yscf_xsmk = Convert.ToBoolean(xmlutil.Read("M_YSFXJG", "b_ck_yscf_xsmk")); //是否显示模块
  812. m_mbszclass.M_YSFXJG.index_cb_yscf_xstx = Convert.ToInt32(xmlutil.Read("M_YSFXJG", "index_cb_yscf_xstx")); //显示图形
  813. m_mbszclass.M_YSFXJG.index_cb_yscf_jsfs = Convert.ToInt32(xmlutil.Read("M_YSFXJG", "index_cb_yscf_jsfs")); //计算方式
  814. m_mbszclass.M_YSFXJG.index_cb_yscf_klfw = Convert.ToInt32(xmlutil.Read("M_YSFXJG", "index_cb_yscf_klfw")); //颗粒范围
  815. m_mbszclass.M_YSFXJG.str_tb_yscf_ysxx = xmlutil.Read("M_YSFXJG", "str_tb_yscf_ysxx"); //显示元素
  816. m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Clear();
  817. for (int i = 0; i < 100; i++) //取得所有元素列表
  818. {
  819. string str = xmlutil.Read("M_YSFXJG", "list_str_tb_yscf_ysxx", "YS" + i.ToString());
  820. if (str == null)
  821. {
  822. break;
  823. }
  824. else
  825. {
  826. m_mbszclass.M_YSFXJG.list_str_tb_yscf_ysxx.Add(str);
  827. }
  828. }
  829. //三元相图
  830. m_mbszclass.M_SYXT.b_ck_syxt_xsmk = Convert.ToBoolean(xmlutil.Read("M_SYXT", "b_ck_syxt_xsmk")); //是否显示模块
  831. m_mbszclass.M_SYXT.index_cb_syxt_jsfs = Convert.ToInt32(xmlutil.Read("M_SYXT", "index_cb_syxt_jsfs")); //计算方式
  832. m_mbszclass.M_SYXT.index_cb_syxt_klfw = Convert.ToInt32(xmlutil.Read("M_SYXT", "index_cb_syxt_klfw")); //颗粒范围
  833. m_mbszclass.M_SYXT.str_cb_syxt_mhxssl = xmlutil.Read("M_SYXT", "str_cb_syxt_mhxssl"); //每行显示数量
  834. m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Clear();
  835. for (int i = 0; i < 100; i++) //取得所有模板列表
  836. {
  837. string str = xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb", "MB" + i.ToString());
  838. if (str == null)
  839. {
  840. break;
  841. }
  842. else
  843. {
  844. m_mbszclass.M_SYXT.list_lbv_syxt_mblb.Add(str);
  845. }
  846. }
  847. m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Clear();
  848. for (int i = 0; i < 100; i++) //取得所有模板列表 索引
  849. {
  850. string str = xmlutil.Read("M_SYXT", "list_lbv_syxt_mblb_index", "MBIndex" + i.ToString());
  851. if (str == null)
  852. {
  853. break;
  854. }
  855. else
  856. {
  857. m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Add(Convert.ToInt32(str));
  858. }
  859. }
  860. //颗粒列表信息
  861. m_mbszclass.M_KLLBXX.b_ck_kllb_xsmk = Convert.ToBoolean(xmlutil.Read("M_KLLBXX", "b_ck_kllb_xsmk")); //是否显示模块
  862. m_mbszclass.M_KLLBXX.index_cb_kllb_jsfs = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_jsfs")); //计算方式
  863. m_mbszclass.M_KLLBXX.index_cb_kllb_klfw = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_klfw")); //颗粒范围
  864. m_mbszclass.M_KLLBXX.str_tb_kllb_sxys = xmlutil.Read("M_KLLBXX", "str_tb_kllb_sxys"); //显示元素
  865. m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt = Convert.ToBoolean(xmlutil.Read("M_KLLBXX", "b_ck_kllb_fjzt"));
  866. m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Clear();
  867. for (int i = 0; i < 100; i++) //取得所有元素列表
  868. {
  869. string str = xmlutil.Read("M_KLLBXX", "list_str_tb_lllb_sxys", "YS" + i.ToString());
  870. if (str == null)
  871. {
  872. break;
  873. }
  874. else
  875. {
  876. m_mbszclass.M_KLLBXX.list_str_tb_lllb_sxys.Add(str);
  877. }
  878. }
  879. m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1 = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_cb_kllb_sort_p1"));//颗粒列表列中第一个可选参数
  880. m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p1 = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_sort_p1"));
  881. m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2 = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_cb_kllb_sort_p2"));//颗粒列表中第二个可选参数
  882. m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p2 = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_sort_p2"));
  883. m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3 = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_cb_kllb_sort_p3"));//颗粒列表中第三个可选参数
  884. m_mbszclass.M_KLLBXX.index_cb_kllb_sort_p3 = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_sort_p3"));
  885. m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p1 = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_cb_kllb_chartSort_p1"));//帧图表列中第一个可选参数
  886. m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p1 = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_chartSort_p1"));
  887. m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p2 = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_cb_kllb_chartSort_p2"));//帧图表列中第二个可选参数
  888. m_mbszclass.M_KLLBXX.index_cb_kllb_chartSort_p2 = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "index_cb_kllb_chartSort_p2"));
  889. m_mbszclass.M_KLLBXX.list_int_kllb_number = Convert.ToInt32(xmlutil.Read("M_KLLBXX", "list_int_kllb_number"));//保存显示颗粒数量
  890. m_mbszclass.M_KLLBXX.str_kllb_qcys = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_kllb_qcys"));
  891. m_mbszclass.M_KLLBXX.list_str_kllb_qcys.Clear();
  892. for (int i = 0; i < 100; i++) //取得所有元素列表
  893. {
  894. string str = xmlutil.Read("M_KLLBXX", "list_str_kllb_qcys", "YS" + i.ToString());
  895. if (str == null)
  896. {
  897. break;
  898. }
  899. else
  900. {
  901. m_mbszclass.M_KLLBXX.list_str_kllb_qcys.Add(str);
  902. }
  903. }
  904. m_mbszclass.M_KLLBXX.str_kllb_DeleteClass = Convert.ToString(xmlutil.Read("M_KLLBXX", "str_kllb_DeleteClass"));
  905. m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Clear();
  906. for (int i = 0; i < 100; i++) //取得所有元素列表
  907. {
  908. string str = xmlutil.Read("M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + i.ToString());
  909. if (str == null)
  910. {
  911. break;
  912. }
  913. else
  914. {
  915. m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Add(str);
  916. }
  917. }
  918. //夹杂物占比
  919. m_mbszclass.M_JZWZB.b_ck_surface = Convert.ToBoolean(xmlutil.Read("M_JZWZB", "b_ck_surface"));//夹杂物占比表
  920. m_mbszclass.M_JZWZB.b_ck_chart = Convert.ToBoolean(xmlutil.Read("M_JZWZB", "b_ck_chart"));//夹杂物占比图
  921. m_mbszclass.list_str_MainPriority.Clear();
  922. for (int i = 0; i < 100; i++) //全局优先排序
  923. {
  924. string str = xmlutil.Read("whole", "list_str_MainPriority", "YS" + i.ToString());
  925. if (str == null)
  926. {
  927. break;
  928. }
  929. else
  930. {
  931. m_mbszclass.list_str_MainPriority.Add(str);
  932. }
  933. }
  934. m_mbszclass.list_str_SecondaryPriority.Clear();
  935. for (int i = 0; i < 100; i++) //全局次要排序
  936. {
  937. string str = xmlutil.Read("whole", "list_str_SecondaryPriority", "YS" + i.ToString());
  938. if (str == null)
  939. {
  940. break;
  941. }
  942. else
  943. {
  944. m_mbszclass.list_str_SecondaryPriority.Add(str);
  945. }
  946. }
  947. m_mbszclass.str_MainPriority = Convert.ToString(xmlutil.Read("whole", "str_MainPriority"));
  948. m_mbszclass.str_SecondaryPriority = Convert.ToString(xmlutil.Read("whole", "str_SecondaryPriority"));
  949. m_mbszclass.M_KLFXJG.str_cb_klcc_ljb = Convert.ToString(xmlutil.Read("M_KLFXJG", "str_cb_klcc_ljb"));
  950. m_mbszclass.M_SYXT.str_cb_syxt_ljb = Convert.ToString(xmlutil.Read("M_SYXT", "str_cb_syxt_ljb"));
  951. m_mbszclass.M_KLFXJG.b_ck_klcc_dfl = Convert.ToBoolean(xmlutil.Read("M_KLFXJG", "b_ck_klcc_dfl"));
  952. m_mbszclass.M_KLFXJG.b_ck_klcc_xfl = Convert.ToBoolean(xmlutil.Read("M_KLFXJG", "b_ck_klcc_xfl"));
  953. }
  954. #endregion
  955. private void button7_Click(object sender, EventArgs e)
  956. {
  957. OTSReport_criterion criterion = new OTSReport_criterion(m_export_reporttemplate, GB_Report,this);
  958. criterion.Sample_order = cbo_sjy.SelectedIndex;
  959. criterion.Language_dt = dev_internationalLanguage();
  960. criterion.ShowDialog();
  961. }
  962. private void OTSReport_Export_FormClosed(object sender, FormClosedEventArgs e)
  963. {
  964. }
  965. /// <summary>
  966. /// 从数据库中读取语言配置信息
  967. /// </summary>
  968. /// <returns></returns>
  969. private DataTable dev_internationalLanguage()
  970. {
  971. string Language;
  972. if (table["language"].ToString() == "ZH")
  973. Language = "ZH";
  974. else
  975. Language = "EN";
  976. OTSCommon.SqLiteHelper sh = new OTSCommon.SqLiteHelper("data source='" + System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\language.db'");
  977. DataTable dt_stl = sh.ExecuteQuery("select * from "+ Language);
  978. return dt_stl;
  979. }
  980. private void ReadClassification()
  981. {
  982. ResultFile resfile = m_ReportApp.m_rstDataMgr.ResultFilesList[m_ReportApp.m_rstDataMgr.getSelectedIndex()];
  983. string str_libraryName = resfile.GetSTDName();
  984. string fullPath = m_ReportApp.m_rstDataMgr.CurResultFile.FilePath + "\\" + str_libraryName /*+ ".db"*/;
  985. string fullPath2 = System.IO.Directory.GetCurrentDirectory() + "\\Config\\SysData\\" + str_libraryName /*+ ".db"*/;
  986. if (str_libraryName== m_mbszclass.M_SY.StandardLibraryName)
  987. {
  988. if (System.IO.File.Exists(fullPath))
  989. {
  990. return;
  991. }
  992. else if (System.IO.File.Exists(fullPath2))
  993. {
  994. return;
  995. }
  996. }
  997. else
  998. {
  999. MessageBox.Show(table["library_does_not_match"].ToString());
  1000. m_mbszclass.str_MainPriority = "";
  1001. m_mbszclass.list_str_MainPriority = new List<string>();
  1002. }
  1003. }
  1004. }
  1005. }