FormMain.cs 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. using DirectoryDownload.Business;
  14. using DirectoryDownload.FormSetter;
  15. using DirectoryDownload.Helper;
  16. namespace DirectoryDownload
  17. {
  18. public partial class FormMain : Form
  19. {
  20. #region 函数封装
  21. /// <summary>
  22. /// 查询医保目录
  23. /// </summary>
  24. /// <param name="currentPage"></param>
  25. /// <param name="pageSize"></param>
  26. /// <param name="directoryType"></param>
  27. private void queryInterfaceBasicInfo(int index)
  28. {
  29. string errorMsg = "";
  30. switch (index)
  31. {
  32. case 0:
  33. {
  34. IrisInterfaceService iris = new IrisInterfaceService();
  35. JObject joRtn = iris.getHospital();
  36. if (JsonHelper.parseBusinessJson(joRtn, out errorMsg) != 0)
  37. {
  38. MessageBox.Show(errorMsg);
  39. return;
  40. }
  41. //JArray jaParams = JArray.FromObject(joRtn["result"]["data"]);
  42. JArray jaParams = JArray.Parse(JsonHelper.getJsonValue(joRtn,"result.data"));
  43. if (jaParams.Count == 0)
  44. {
  45. MessageBox.Show("未查询到数据");
  46. return;
  47. }
  48. DataTable dt = new DataTable();
  49. dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  50. GridViewSetter intefaceGrid = new GridViewSetter();
  51. intefaceGrid.SetHeaderTextOfInterfaceMaintain(dt, dgvInterface);
  52. joRtn = iris.getInterface();
  53. jaParams = new JArray();
  54. jaParams = JArray.FromObject(joRtn["result"]["data"]);
  55. if (jaParams.Count == 0)
  56. {
  57. DataTableSetter dts = new DataTableSetter();
  58. dt = dts.setDgvInterfaceDataTable();
  59. }
  60. else
  61. {
  62. dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  63. }
  64. dt.AcceptChanges();
  65. dgvInterface.DataSource = dt;
  66. dgvInterface.ReadOnly = true;
  67. break;
  68. }
  69. }
  70. }
  71. private void queryInsuDirectory(int currentPage, int pageSize, int directoryType,int directoryDr,string code)
  72. {
  73. string dirCode = tbDirectoryCode.Text;
  74. string dirName = tbDircetoryName.Text;
  75. Sunny.UI.UIDataGridView dgv;
  76. Sunny.UI.UIPagination pg;
  77. if (tabControl1.SelectedIndex == 1)
  78. {
  79. dirCode = tbDirectoryCode.Text;
  80. dirName = tbDircetoryName.Text;
  81. dgv = dgvDirectoy;
  82. pg = pgDownload;
  83. }
  84. else
  85. {
  86. dirName = tbCenterDirectoryFilter.Text;
  87. dirCode = tbInsuCode.Text;
  88. dgv = dgvCenterDirectory;
  89. pg = pgCenterDirect;
  90. }
  91. IrisInterfaceService irisService = new IrisInterfaceService();
  92. JObject joRtn = irisService.getDirectoryByPagination(currentPage, pageSize,code,directoryType,dirCode,dirName, directoryDr);
  93. if (joRtn["errorCode"].ToString() != "0")
  94. {
  95. MessageBox.Show("IRIS数据返回错误:" + joRtn["errorMessage"].ToString());
  96. return;
  97. }
  98. if (joRtn["result"]["Data"] == null)
  99. {
  100. MessageBox.Show("该节点不存在");
  101. return;
  102. }
  103. if (joRtn["result"]["TotalCount"].ToString() == "0")
  104. {
  105. MessageBox.Show("未查询到数据");
  106. dgv.DataSource = null;
  107. return;
  108. }
  109. DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
  110. int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
  111. pg.TotalCount = totalCount;
  112. pg.PageSize = 50;
  113. dgv.DataSource = dt;
  114. dgv.Columns[0].ReadOnly = true;
  115. }
  116. private void setHeaderTxt(int directoryType, Sunny.UI.UIDataGridView dgv)
  117. {
  118. GridViewSetter gvdSetter = new GridViewSetter();
  119. switch (directoryType)
  120. {
  121. case 0://药品
  122. {
  123. gvdSetter.SetHeaderTextOfDrug(dgv);
  124. break;
  125. }
  126. case 1://诊疗
  127. {
  128. gvdSetter.SetHeaderTextOfMedicalService(dgv);
  129. break;
  130. }
  131. case 2://材料
  132. {
  133. gvdSetter.SetHeaderTextOfMaterials(dgv);
  134. break;
  135. }
  136. case 3://疾病诊断
  137. {
  138. gvdSetter.SetHeaderTextOfDiagnose(dgv);
  139. break;
  140. }
  141. case 4://手术
  142. {
  143. gvdSetter.SetHeaderTextOfDiagnose(dgv);
  144. break;
  145. }
  146. case 5://慢性病
  147. {
  148. gvdSetter.SetHeaderTextOfDiagnose(dgv);
  149. break;
  150. }
  151. case 6://DRGs
  152. {
  153. gvdSetter.SetHeaderTextOfDiagnose(dgv);
  154. break; ;
  155. }
  156. case 7://日间手术
  157. {
  158. gvdSetter.SetHeaderTextOfDiagnose(dgv);
  159. break; ;
  160. }
  161. case 8://字典表
  162. {
  163. gvdSetter.SetHeaderTextOfDictionary(dgv);
  164. break;
  165. }
  166. }
  167. }
  168. private void queryHISInsuDirectory(int directoryType, int pageIndex, int count, Sunny.UI.UIDataGridView dgv, int directoryDr)
  169. {
  170. string code = "";
  171. if (tabControl1.SelectedIndex == 0)
  172. {
  173. code = "09010034";
  174. }
  175. else if (tabControl1.SelectedIndex == 1)
  176. {
  177. if (rbgDirecType.SelectedIndex == 8)
  178. { code = "09010043"; }
  179. else
  180. code = "09010042";
  181. }
  182. else
  183. { code = "09010042"; }
  184. queryInsuDirectory(pageIndex, count, directoryType + 1, directoryDr,code);
  185. setHeaderTxt(directoryType, dgv);
  186. }
  187. private void queryHISDirectory(int currentPage, int pageSize)
  188. {
  189. string directoryType = string.Empty;
  190. switch (rbgDirecType_C.SelectedIndex)
  191. {
  192. case 0:
  193. {
  194. directoryType = "drugs";
  195. break;
  196. }
  197. case 1:
  198. {
  199. directoryType = "diagnosi";
  200. break;
  201. }
  202. case 2:
  203. {
  204. directoryType = "consumables";
  205. break;
  206. }
  207. }
  208. dynamic joInParams = new JObject();
  209. joInParams.pagination = new JArray() as dynamic;
  210. joInParams.session = new JArray() as dynamic;
  211. JArray jaParams = new JArray();
  212. JObject joRtn = new JObject();
  213. InvokeHelper invoker = new InvokeHelper();
  214. string flag = "";
  215. //全部是先调HIS,然后再匹配医保平台的对照关系
  216. if (rbAll.Checked) {
  217. flag = "All";
  218. dynamic joParam = new JObject();
  219. joParam.code = "";
  220. joParam.descripts = "";
  221. joParam.FindType = new JArray();
  222. joParam.TypeID = "";
  223. joParam.alias = tbHISDirectoryFilter.Text;
  224. joParam.include = "Hosp";
  225. joParam.groupID = "324";
  226. joParam.hospID = GlobalVariables.hospitalDr;
  227. joParam.interfaceDr = cbxInterface.SelectedValue;
  228. joParam.type = directoryType;
  229. joParam.flag = flag;
  230. joParam.specInput = "";
  231. jaParams.Add(joParam);
  232. joInParams.Add("params", JArray.FromObject(jaParams));
  233. dynamic joSession = new JObject();
  234. joSession.userID = "";
  235. joSession.locID = "";
  236. joSession.groupID = "";
  237. joSession.hospID = "";
  238. joSession.sessionID = "";
  239. joSession.hospCode = "";
  240. joSession.language = "";
  241. joSession.hostName = "";
  242. joSession.ipv4 = "";
  243. joSession.ipv6 = "";
  244. joSession.mac = "";
  245. joInParams.session.Add(joSession);
  246. dynamic joPagination = new JObject();
  247. joPagination.pageSize = pageSize;
  248. //joPagination.pageSize = 2;
  249. joPagination.currentPage = currentPage;
  250. joPagination.sortColumn = "Code";
  251. joPagination.sortOrder = "asc";
  252. joInParams.pagination.Add(joPagination);
  253. //该服务需要改写,需要跟(CloudMedicalInsurancePlatform.Tables.MapRelation)进行关联
  254. //joInParams.code = "09010038";
  255. joInParams.code = "05111002";
  256. joRtn = invoker.invokeHISService(joInParams.ToString(), "查询HIS目录");
  257. //JObject joRtn = JObject.Parse(irisRtn);
  258. if (joRtn["errorCode"].ToString() != "0")
  259. {
  260. MessageBox.Show("IRIS数据返回错误!");
  261. return;
  262. }
  263. if (joRtn["result"]["Data"] == null)
  264. {
  265. MessageBox.Show("该节点不存在");
  266. return;
  267. }
  268. //传给医保平台,进行对照匹配
  269. joInParams = new JObject();
  270. joParam = new JObject();
  271. jaParams = new JArray();
  272. joParam.TotalCount = joRtn["result"]["TotalCount"];
  273. joParam.HospitalDr = GlobalVariables.hospitalDr;
  274. joParam.InterfaceDr = cbxInterface.SelectedValue;
  275. joParam.Data = joRtn["result"]["Data"];
  276. jaParams.Add(joParam);
  277. joInParams.code = "09010057";
  278. joInParams.Add("params", jaParams);
  279. joRtn = invoker.invokeInsuService(joInParams.ToString(), "转换HIS目录");
  280. }
  281. //已对照是先调云医保,然后再匹配HIS
  282. if (rbMaped.Checked) {
  283. flag = "Maped";
  284. dynamic joParam = new JObject();
  285. joParam.alias = tbHISDirectoryFilter.Text;
  286. joParam.HospitalDr = GlobalVariables.hospitalDr;
  287. joParam.InterfaceDr = cbxInterface.SelectedValue;
  288. joParam.hisType = directoryType;
  289. jaParams.Add(joParam);
  290. joInParams.Add("params", jaParams);
  291. dynamic joPagination = new JObject();
  292. joPagination.pageSize = pageSize;
  293. joPagination.currentPage = currentPage;
  294. joPagination.sortColumn = "HisCode";
  295. joPagination.sortOrder = "asc";
  296. joInParams.pagination.Add(joPagination);
  297. joInParams.code = "09010058";
  298. joRtn = invoker.invokeInsuService(joInParams.ToString(), "获取已对照目录分页");
  299. //传给HIS,进行匹配
  300. joInParams = new JObject();
  301. joParam = new JObject();
  302. jaParams = new JArray();
  303. joParam.TotalCount = joRtn["result"]["TotalCount"];
  304. joParam.type = directoryType;
  305. joParam.flag = flag;
  306. joParam.HospitalDr = GlobalVariables.hospitalDr;
  307. joParam.InterfaceDr = cbxInterface.SelectedValue;
  308. joParam.alias = tbHISDirectoryFilter.Text;
  309. joParam.include = "Hosp";
  310. joParam.groupID = "324";
  311. joParam.hospID = GlobalVariables.hospitalDr;
  312. joParam.compareArr = joRtn["result"]["Data"];
  313. jaParams.Add(joParam);
  314. joInParams.code = "05111002";
  315. joInParams.Add("params", jaParams);
  316. joRtn = invoker.invokeHISService(joInParams.ToString(), "转换HIS目录");
  317. }
  318. if (rbNoMaped.Checked) { flag = "NoMaped"; }
  319. DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
  320. int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
  321. pgHISDirect.TotalCount = totalCount;
  322. pgHISDirect.PageSize = 50;
  323. dgvHISDirectory.DataSource = null;
  324. dgvHISDirectory.DataSource = dt;
  325. dgvHISDirectory.Columns[0].ReadOnly = true;
  326. }
  327. private void queryCenterDirectory_09010012(int currentPage, int pageSize)
  328. {
  329. string directoryType = string.Empty;
  330. switch (rbgDirecType_C.SelectedIndex)
  331. {
  332. case 0:
  333. {
  334. directoryType = "drugs";
  335. break;
  336. }
  337. case 1:
  338. {
  339. directoryType = "diagnosi";
  340. break;
  341. }
  342. case 2:
  343. {
  344. directoryType = "consumables";
  345. break;
  346. }
  347. }
  348. dynamic joInParams = new JObject();
  349. joInParams.pagination = new JArray() as dynamic;
  350. joInParams.session = new JArray() as dynamic;
  351. JArray jaParams = new JArray();
  352. dynamic joParams = new JObject();
  353. joParams.code = "";
  354. joParams.descripts = "";
  355. joParams.FindType = new JArray();
  356. joParams.TypeID = "";
  357. joParams.alias = "";
  358. joParams.include = "Hosp";
  359. joParams.groupID = "324";
  360. joParams.hospID = "25";
  361. joParams.type = directoryType;
  362. joParams.specInput = "";
  363. jaParams.Add(joParams);
  364. joInParams.Add("params", JArray.FromObject(jaParams));
  365. dynamic joSession = new JObject();
  366. joSession.userID = "";
  367. joSession.locID = "";
  368. joSession.groupID = "";
  369. joSession.hospID = "";
  370. joSession.sessionID = "";
  371. joSession.hospCode = "";
  372. joSession.language = "";
  373. joSession.hostName = "";
  374. joSession.ipv4 = "";
  375. joSession.ipv6 = "";
  376. joSession.mac = "";
  377. joInParams.session.Add(joSession);
  378. dynamic joPagination = new JObject();
  379. joPagination.pageSize = pageSize;
  380. joPagination.currentPage = currentPage;
  381. joPagination.sortColumn = "Code";
  382. joPagination.sortOrder = "asc";
  383. joInParams.pagination.Add(joPagination);
  384. joInParams.code = "09010012";
  385. IrisServices HisREST = new IrisServices();
  386. string sInput = joInParams.ToString();
  387. string sRtn = HisREST.Invoke(sInput);
  388. JObject jsonRtn = JObject.Parse(sRtn);
  389. if (jsonRtn["result"]["Data"] == null)
  390. {
  391. MessageBox.Show("该节点不存在");
  392. return;
  393. }
  394. JObject joRtn = JObject.Parse(sRtn);
  395. DataTable dt = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
  396. int totalCount = int.Parse(joRtn["result"]["TotalCount"].ToString());
  397. pgCenterDirect.TotalCount = totalCount;
  398. pgCenterDirect.PageSize = 50;
  399. dgvCenterDirectory.DataSource = dt;
  400. }
  401. private void Mapping()
  402. {
  403. int iHis = dgvHISDirectory.CurrentRow.Index;
  404. if (dgvCenterDirectory.CurrentRow == null)
  405. {
  406. MessageBox.Show("请查询中心目录");
  407. return;
  408. }
  409. int iCenter = dgvCenterDirectory.CurrentRow.Index;
  410. DataTable dtHis = (DataTable)dgvHISDirectory.DataSource;
  411. DataTable dtCenter = (DataTable)dgvCenterDirectory.DataSource;
  412. dgvHISDirectory.Rows[iHis].Cells["insuCode"].Value = dgvCenterDirectory.Rows[iCenter].Cells["Code"].Value.ToString();
  413. dgvHISDirectory.Rows[iHis].Cells["insuName"].Value = dgvCenterDirectory.Rows[iCenter].Cells["Name"].Value.ToString();
  414. int hisType = rbgDirecType_C.SelectedIndex + 1;
  415. string hisTypeName = rbgDirecType_C.Items[hisType-1].ToString(); ;
  416. JArray jaParams = new JArray();
  417. dynamic jsonTemp = new JObject();
  418. jsonTemp.ID = dtHis.Rows[iHis]["MapID"];
  419. jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
  420. jsonTemp.updateUserID = GlobalVariables.operatorNO;
  421. jsonTemp.InterfaceDr = int.Parse(cbxInterface.SelectedValue.ToString());
  422. jsonTemp.HISCode = dgvHISDirectory.Rows[iHis].Cells["itemCode"].Value;
  423. jsonTemp.HISName = dgvHISDirectory.Rows[iHis].Cells["itemDesc"].Value;
  424. jsonTemp.ChargeItemDr = dtHis.Rows[iHis]["ID"];
  425. jsonTemp.DiretoryDr = dtCenter.Rows[iCenter]["ID"];
  426. //1.已对照 2.已对照但未上传 3 已对照且已上传
  427. jsonTemp.State = 1;
  428. jsonTemp.HisType = hisType;
  429. jsonTemp.HisTypeName = hisTypeName;
  430. jsonTemp.InsuCode = dgvCenterDirectory.Rows[dgvCenterDirectory.CurrentRow.Index].Cells["Code"].Value;
  431. jsonTemp.InsuName = dgvCenterDirectory.Rows[dgvCenterDirectory.CurrentRow.Index].Cells["Name"].Value;
  432. jsonTemp.UpdateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  433. jaParams.Add(jsonTemp);
  434. JObject joIn = new JObject();
  435. joIn.Add(new JProperty("params", jaParams));
  436. joIn.Add("code", "09010040");
  437. InvokeHelper invoker = new InvokeHelper();
  438. JObject joRtn = invoker.invokeInsuService(joIn.ToString(),"插入对照信息");
  439. //JObject joRtn = JObject.Parse(irisRtn);
  440. if ((int)joRtn["errorCode"] == 0)
  441. {
  442. dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "已对照";
  443. }
  444. else
  445. {
  446. dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "对照失败";
  447. }
  448. }
  449. private void CancleMapping()
  450. {
  451. int iHis = dgvHISDirectory.CurrentRow.Index;
  452. DataTable dtHis = (DataTable)dgvHISDirectory.DataSource;
  453. JArray jaParams = new JArray();
  454. dynamic jsonTemp = new JObject();
  455. jsonTemp.ID = dtHis.Rows[iHis]["MapID"];
  456. jsonTemp.HospitalDr = GlobalVariables.hospitalDr;
  457. jsonTemp.updateUserID = GlobalVariables.operatorNO;
  458. jsonTemp.InterfaceDr = GlobalVariables.interfaceDr;
  459. jsonTemp.HISCode = dgvHISDirectory.Rows[iHis].Cells["itemCode"].Value;
  460. jsonTemp.UpdateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  461. jaParams.Add(jsonTemp);
  462. JObject joIn = new JObject();
  463. joIn.Add(new JProperty("params", jaParams));
  464. joIn.Add("code", "09010041");
  465. InvokeHelper invoker = new InvokeHelper();
  466. JObject joRtn = invoker.invokeInsuService(joIn.ToString(),"取消对照");
  467. if ((int)joRtn["errorCode"] == 0)
  468. {
  469. dgvHISDirectory.Rows[iHis].Cells["insuCode"].Value = "";
  470. dgvHISDirectory.Rows[iHis].Cells["insuName"].Value = "";
  471. dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "未对照";
  472. }
  473. else
  474. {
  475. dgvHISDirectory.Rows[iHis].Cells["flag"].Value = "取消失败";
  476. }
  477. }
  478. #endregion
  479. public FormMain()
  480. {
  481. try
  482. {
  483. //模拟接口
  484. dynamic joInterface = new JObject();
  485. joInterface.HospitalNO = "55";
  486. joInterface.HospitalName = "成都普瑞眼科医院";
  487. joInterface.InterfaceID = "C";
  488. joInterface.HospitalDr = 50;
  489. joInterface.InterfaceDr = 8;
  490. joInterface.CenterURL = "";
  491. joInterface.operatoType = "";
  492. joInterface.operatorNO = "0";
  493. joInterface.operatorName = "管理员";
  494. joInterface.hospitalMedInsuAreaCode = "";
  495. joInterface.ID = 1;
  496. GlobalVariables.Init(joInterface.ToString());
  497. InitializeComponent();
  498. rbgDirecType.SelectedIndex = 0;
  499. rbgDirecType_C.SelectedIndex = 0;
  500. rbSingleDown.Checked = true;
  501. this.rbgDirecType.ValueChanged += new Sunny.UI.UIRadioButtonGroup.OnValueChanged(this.rbgDirecType_ValueChanged);
  502. this.pgDownload.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.pgDownload_PageChanged);
  503. this.pgCenterDirect.PageChanged += new Sunny.UI.UIPagination.OnPageChangeEventHandler(this.pgCenterDirect_PageChanged);
  504. Font rowFont = new Font("UTF-8", 8);
  505. Font columnFont = new Font("UTF-8", 9);
  506. //dgvDirectoy.Font = font;
  507. dgvInterface.RowsDefaultCellStyle.Font = dgvCenterDirectory.RowsDefaultCellStyle.Font = dgvHISDirectory.RowsDefaultCellStyle.Font = dgvDirectoy.RowsDefaultCellStyle.Font = rowFont;
  508. dgvInterface.ColumnHeadersDefaultCellStyle.Font = dgvCenterDirectory.ColumnHeadersDefaultCellStyle.Font = dgvHISDirectory.ColumnHeadersDefaultCellStyle.Font = dgvDirectoy.ColumnHeadersDefaultCellStyle.Font = columnFont;
  509. rbgInterface.SelectedIndex = 0;
  510. rbAll.Checked = true;
  511. }
  512. catch (Exception ex)
  513. {
  514. MessageBox.Show("异常:" + ex.Message);
  515. }
  516. }
  517. private void Form1_Load(object sender, EventArgs e)
  518. {
  519. //rbgDirecType.ValueChanged += new Sunny.UI.UIRadioButtonGroup.OnValueChanged(rbgDirecType_ValueChanged);
  520. try
  521. {
  522. this.WindowState = FormWindowState.Maximized;
  523. ComboxSetter cbxSetter = new ComboxSetter();
  524. cbxSetter.setCbxInterfaceDataSource(cbxInterface);
  525. cbxSetter.setCbxInterfaceDataSource(cbxInterface_down);
  526. this.cbxInterface_down.SelectedValueChanged += new System.EventHandler(this.cbxInterface_down_SelectedValueChanged);
  527. }
  528. catch (Exception ex)
  529. {
  530. MessageBox.Show("异常:" + ex.Message);
  531. }
  532. }
  533. private void btnDownload_Click(object sender, EventArgs e)
  534. {
  535. string errorMessage = string.Empty;
  536. HisBusiness hisBus = new HisBusiness();
  537. if (rbgDirecType.SelectedIndex == 8)
  538. {
  539. dynamic joData = new JObject();
  540. joData.type = tbDicType.Text;
  541. joData.parentValue = "";
  542. joData.admdvs = "";
  543. joData.date = tbDicDate.Text;
  544. joData.vali_flag = "";
  545. if (hisBus.downloadDicionary(joData, uiProcessBar1,out errorMessage) != 0)
  546. {
  547. MessageBox.Show(errorMessage);
  548. return;
  549. }
  550. }
  551. else
  552. {
  553. if (rbSingleDown.Checked)
  554. {
  555. string ver = tbVer.Text;
  556. if (tbVer.Text != "")
  557. {
  558. ver = tbVer.Text;
  559. }
  560. if (hisBus.SingleDownload(ver, rbgDirecType.SelectedIndex, uiProcessBar1, out errorMessage) != 0)
  561. {
  562. MessageBox.Show(errorMessage);
  563. return;
  564. }
  565. }
  566. if (rbAutoDown.Checked)
  567. {
  568. if (hisBus.AutoDownload(rbgDirecType.SelectedIndex, uiProcessBar1, out errorMessage) != 0)
  569. {
  570. MessageBox.Show(errorMessage);
  571. return;
  572. }
  573. }
  574. }
  575. btnQuery_Click(sender, e);
  576. }
  577. private void btnQuery_Click(object sender, EventArgs e)
  578. {
  579. int a = int.Parse(cbxInterface.SelectedValue.ToString());
  580. queryHISInsuDirectory(rbgDirecType.SelectedIndex, 1, 50, dgvDirectoy,a);
  581. }
  582. private void btnQueryHISDirectory_Click(object sender, EventArgs e)
  583. {
  584. queryHISDirectory(1, 50);
  585. GridViewSetter gridSetter = new GridViewSetter();
  586. gridSetter.SetHeaderTextOfMapping_HisDirectory(dgvHISDirectory);
  587. }
  588. private void btnQueryCenterDirectory_Click(object sender, EventArgs e)
  589. {
  590. int a = int.Parse(cbxInterface.SelectedValue.ToString());
  591. queryHISInsuDirectory(rbgDirecType_C.SelectedIndex, 1, 50, dgvCenterDirectory,a);
  592. }
  593. private void pgDownload_PageChanged(object sender, object pagingSource, int pageIndex, int count)
  594. {
  595. int a = int.Parse(cbxInterface.SelectedValue.ToString());
  596. queryHISInsuDirectory(rbgDirecType.SelectedIndex, pageIndex, count,dgvDirectoy,a);
  597. }
  598. private void pgHISDirect_PageChanged(object sender, object pagingSource, int pageIndex, int count)
  599. {
  600. queryHISDirectory(pageIndex, 50);
  601. }
  602. private void pgCenterDirect_PageChanged(object sender, object pagingSource, int pageIndex, int count)
  603. {
  604. pgDownload_PageChanged(null, pagingSource, pageIndex, count);
  605. }
  606. private void rbgDirecType_ValueChanged(object sender, int index, string text)
  607. {
  608. btnQuery_Click(null, new EventArgs());
  609. }
  610. private void toolStripMenuItem2_Click(object sender, EventArgs e)
  611. {
  612. CancleMapping();
  613. }
  614. private void tsmiMapping_Click(object sender, EventArgs e)
  615. {
  616. Mapping();
  617. }
  618. private void dgvHISDirectory_DoubleClick(object sender, EventArgs e)
  619. {
  620. int currentPage = pgHISDirect.ActivePage;
  621. string flag = dgvHISDirectory.Rows[dgvHISDirectory.CurrentRow.Index].Cells["flag"].Value.ToString();
  622. if (flag == "未对照")
  623. {
  624. Mapping();
  625. }
  626. else
  627. if (flag == "已对照")
  628. {
  629. CancleMapping();
  630. }
  631. if (rbAll.Checked)
  632. { queryHISDirectory(currentPage, 50); }
  633. }
  634. private void dgvDirectoy_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  635. {
  636. }
  637. private void dgvDirectoy_CellContentClick(object sender, DataGridViewCellEventArgs e)
  638. {
  639. }
  640. private void uiRadioButton1_CheckedChanged(object sender, EventArgs e)
  641. {
  642. }
  643. private void dgvDirectoy_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
  644. {
  645. //自动编号,与数据无关
  646. Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
  647. e.RowBounds.Location.Y,
  648. dgvDirectoy.RowHeadersWidth - 4,
  649. e.RowBounds.Height);
  650. TextRenderer.DrawText(e.Graphics,
  651. (e.RowIndex + 1).ToString(),
  652. dgvDirectoy.RowHeadersDefaultCellStyle.Font,
  653. rectangle,
  654. dgvDirectoy.RowHeadersDefaultCellStyle.ForeColor,
  655. TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
  656. }
  657. private void rbAutoDown_CheckedChanged(object sender, EventArgs e)
  658. {
  659. }
  660. private void uiRadioButton2_CheckedChanged(object sender, EventArgs e)
  661. {
  662. }
  663. private void btnIntefaceQuery_Click(object sender, EventArgs e)
  664. {
  665. queryInterfaceBasicInfo(rbgInterface.SelectedIndex);
  666. }
  667. private void rbgInterface_ValueChanged(object sender, int index, string text)
  668. {
  669. queryInterfaceBasicInfo(index);
  670. }
  671. private void btnInterfaceAdd_Click(object sender, EventArgs e)
  672. {
  673. dgvInterface.ReadOnly = false;
  674. DataTable dt = (DataTable)dgvInterface.DataSource;
  675. DataRow dtr = dt.NewRow();
  676. dt.Rows.Add(dtr);
  677. }
  678. private void btnInterfaceDelete_Click(object sender, EventArgs e)
  679. {
  680. dgvInterface.ReadOnly = true;
  681. DataTable dt = (DataTable)dgvInterface.DataSource;
  682. int index = dgvInterface.CurrentRow.Index;
  683. string ID = dgvInterface.CurrentRow.Cells["ID"].Value.ToString();
  684. string interfaceID = dgvInterface.CurrentRow.Cells["InterfaceID"].Value.ToString();
  685. DataRow[] drs = dt.Select("ID = " + ID + " AND InterfaceNO='" + interfaceID + "'");
  686. drs[0].Delete();
  687. dgvInterface.ReadOnly = false;
  688. }
  689. private void btnInterfceSave_Click(object sender, EventArgs e)
  690. {
  691. //int i = dgvInterface.CurrentRow.Index;
  692. //MessageBox.Show(dgvInterface.Rows[i].Cells[0].Value.ToString());
  693. //MessageBox.Show(dgvInterface.Rows[i].Cells[1].Value.ToString());
  694. //MessageBox.Show(dgvInterface.Rows[i].Cells["InterfaceID"].Value.ToString());
  695. //MessageBox.Show(dgvInterface.Rows[i].Cells["InterfaceName"].Value.ToString());
  696. DataTable dt = (DataTable)dgvInterface.DataSource;
  697. dynamic jsonInsert = new JObject();
  698. dynamic jsonUpdate = new JObject();
  699. dynamic jsonDelete = new JObject();
  700. JArray jsonArry_I = new JArray();
  701. JArray jsonArry_U = new JArray();
  702. JArray jsonArry_D = new JArray();
  703. for (int i = 0; i < dt.Rows.Count; i++)
  704. {
  705. //MessageBox.Show(dt.Rows[i].RowState.ToString() + ':' + dt.Rows[i][0].ToString());
  706. dynamic jsonTemp = new JObject();
  707. if (dt.Rows[i].RowState.ToString() == "Added")
  708. {
  709. for (int j = 0; j < dt.Columns.Count; j++)
  710. {
  711. //MessageBox.Show(dt.Columns[j].ColumnName);
  712. jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
  713. }
  714. jsonTemp.updateUserID = GlobalVariables.operatorNO;
  715. jsonArry_I.Add(jsonTemp);
  716. }
  717. if (dt.Rows[i].RowState.ToString() == "Deleted")
  718. {
  719. for (int j = 0; j < dt.Columns.Count; j++)
  720. {
  721. string CloumnName = dt.Columns[j].ColumnName;
  722. jsonTemp.Add(new JProperty(CloumnName, dt.Rows[i][CloumnName, DataRowVersion.Original].ToString()));
  723. }
  724. jsonTemp.updateUserID = GlobalVariables.operatorNO;
  725. jsonArry_D.Add(jsonTemp);
  726. }
  727. if (dt.Rows[i].RowState.ToString() == "Modified")
  728. {
  729. for (int j = 0; j < dt.Columns.Count; j++)
  730. {
  731. //MessageBox.Show(dt.Columns[j].ColumnName);
  732. jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
  733. }
  734. jsonTemp.updateUserID = GlobalVariables.operatorNO;
  735. jsonArry_U.Add(jsonTemp);
  736. }
  737. }
  738. jsonInsert.Add(new JProperty("params", jsonArry_I));
  739. jsonInsert.code = "09010005";
  740. jsonUpdate.Add(new JProperty("params", jsonArry_U));
  741. jsonUpdate.code = "09010005";
  742. jsonDelete.Add(new JProperty("params", jsonArry_D));
  743. jsonDelete.code = "09010006";
  744. InvokeHelper invoker = new InvokeHelper();
  745. JObject joRtn = new JObject();
  746. if (jsonArry_I.Count != 0)
  747. {
  748. joRtn = invoker.invokeInsuService(jsonInsert.ToString(),"插入");
  749. }
  750. if (jsonArry_U.Count != 0)
  751. {
  752. joRtn = invoker.invokeInsuService(jsonUpdate.ToString(), "更新");
  753. }
  754. if (jsonArry_D.Count != 0)
  755. {
  756. joRtn = invoker.invokeInsuService(jsonDelete.ToString(), "删除");
  757. }
  758. string errorMessage = "";
  759. if (JsonHelper.parseBusinessJson(joRtn, out errorMessage) != 0)
  760. {
  761. MessageBox.Show("保存失败:" + errorMessage);
  762. }
  763. dgvInterface.ReadOnly = true;
  764. }
  765. private void dgvInterface_DataError(object sender, DataGridViewDataErrorEventArgs e)
  766. {
  767. }
  768. private void uiButton1_Click(object sender, EventArgs e)
  769. {
  770. dgvInterface.ReadOnly = false;
  771. }
  772. private void uiRadioButtonGroup1_ValueChanged(object sender, int index, string text)
  773. {
  774. }
  775. private void dgvHISDirectory_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  776. {
  777. }
  778. private void dgvHISDirectory_CellContentClick(object sender, DataGridViewCellEventArgs e)
  779. {
  780. }
  781. private void uiGroupBox2_Click(object sender, EventArgs e)
  782. {
  783. }
  784. private void cbxInterface_down_SelectedValueChanged(object sender, EventArgs e)
  785. {
  786. //int i = 0;
  787. //if (int.TryParse(cbxInterface_down.SelectedValue.ToString(), out i))
  788. //{ GlobalVariables.interfaceDr_Download = i; }
  789. //else
  790. //{
  791. // GlobalVariables.interfaceDr_Download = 0;
  792. //}
  793. GlobalVariables.interfaceDr_Download = int.Parse(cbxInterface_down.SelectedValue.ToString()) ;
  794. IrisInterfaceService iris = new IrisInterfaceService();
  795. JObject joInterface = iris.getInterface(cbxInterface_down.SelectedValue.ToString());
  796. //赋值
  797. GlobalVariables.hospitalNO = (string)joInterface["HospitalNO"];
  798. GlobalVariables.hospitalDr = (int)joInterface["HospitalDr"];
  799. GlobalVariables.interfaceNO = (string)joInterface["InterfaceNO"];
  800. GlobalVariables.interfaceDr = (int)joInterface["ID"];
  801. GlobalVariables.centerURL = (string)joInterface["CenterURL"];
  802. GlobalVariables.businessDllName = (string)joInterface["DLLName"];
  803. GlobalVariables.patientMedInsuAreaCode = (string)joInterface["AreaCode"];
  804. }
  805. private void panel5_Paint(object sender, PaintEventArgs e)
  806. {
  807. }
  808. private void rbAll_ValueChanged(object sender, bool value)
  809. {
  810. btnQueryHISDirectory_Click(null,new EventArgs());
  811. }
  812. private void rbMaped_CheckedChanged(object sender, EventArgs e)
  813. {
  814. queryHISDirectory(1, 50);
  815. }
  816. private void rbNoMaped_CheckedChanged(object sender, EventArgs e)
  817. {
  818. queryHISDirectory(1, 50);
  819. }
  820. private void pgHISDirect_Click(object sender, EventArgs e)
  821. {
  822. }
  823. private void cmsMapping_Opening(object sender, CancelEventArgs e)
  824. {
  825. }
  826. private void 测试ToolStripMenuItem_Click(object sender, EventArgs e)
  827. {
  828. }
  829. private void panel6_Paint(object sender, PaintEventArgs e)
  830. {
  831. }
  832. private void tbCenterDirectoryFilter_TextChanged(object sender, EventArgs e)
  833. {
  834. }
  835. private void uiTextBox1_TextChanged(object sender, EventArgs e)
  836. {
  837. }
  838. private void dgvCenterDirectory_CellContentClick(object sender, DataGridViewCellEventArgs e)
  839. {
  840. }
  841. private void cmsUpdateAuxInfo_Opening(object sender, CancelEventArgs e)
  842. {
  843. }
  844. private void 更新ToolStripMenuItem_Click(object sender, EventArgs e)
  845. {
  846. }
  847. private void ToolStripMenuItem_Click(object sender, EventArgs e)
  848. {
  849. }
  850. private void cbxInterface_SelectedIndexChanged(object sender, EventArgs e)
  851. {
  852. }
  853. private void uiButton2_Click(object sender, EventArgs e)
  854. {
  855. }
  856. }
  857. }