HandleException.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using MedicalInsurance.Common;
  12. using MedicalInsurance.Helper;
  13. using MedicalInsurance.FormSetter;
  14. using MedicalInsurance.Business;
  15. namespace MedicalInsurance.Forms
  16. {
  17. public partial class HandleException : Form
  18. {
  19. private DataTable dtLog;
  20. private DataTable dtSettl;
  21. private DataTable dtReg;
  22. private int iLog = 0;
  23. private int iSettl = 0;
  24. private int iReg = 0;
  25. public HandleException()
  26. {
  27. InitializeComponent();
  28. }
  29. private void btnQuery_Click(object sender, EventArgs e)
  30. {
  31. }
  32. private void btnReverse_Click(object sender, EventArgs e)
  33. {
  34. }
  35. private void uiButton1_Click(object sender, EventArgs e)
  36. {
  37. string sqlStr = "SELECT * FROM MedInsu_Tables.Settlement WHERE Hosp_Dr=" + GlobalVariables.hospitalDr;
  38. sqlStr = sqlStr + " and OccurTime>'" + dpST_Log.Text + "'";
  39. sqlStr = sqlStr + " and OccurTime<'" + dpED_Log.Text + "'";
  40. JObject joSqlstr = new JObject();
  41. joSqlstr.Add("sqlStr", sqlStr);
  42. JArray jaParam = new JArray();
  43. jaParam.Add(joSqlstr);
  44. JObject joSettlQuery = new JObject();
  45. joSettlQuery.Add("params", jaParam);
  46. joSettlQuery.Add("code", "09010059");
  47. InvokeHelper invoker = new InvokeHelper();
  48. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
  49. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  50. dgvSettlRecord.DataSource = dt;
  51. }
  52. private void btnReverseSettlRec_Click(object sender, EventArgs e)
  53. {
  54. string infno = "";
  55. InvokeHelper invoker = new InvokeHelper();
  56. DataTable dt = (DataTable)dgvLog.DataSource;
  57. JObject joInparam = new JObject();
  58. JObject joData = new JObject();
  59. int a = dgvLog.CurrentRow.Index;
  60. joData.Add("omsgid", dt.Rows[a]["msgid"].ToString());
  61. joData.Add("psn_no", dt.Rows[a]["PersonnelNO"].ToString());
  62. if (dt.Rows[a]["admType"].ToString() == "1")
  63. {
  64. infno = "2207";
  65. }
  66. if (dt.Rows[a]["admType"].ToString() == "2")
  67. {
  68. infno = "2304";
  69. }
  70. joData.Add("oinfno", infno);
  71. joInparam.Add("data", joData);
  72. JObject joRtn = invoker.InvokeCenterService("2601", joInparam.ToString());
  73. }
  74. private void btnQuerySettlRec_Click(object sender, EventArgs e)
  75. {
  76. }
  77. private void btnQuerySettleRec_Click(object sender, EventArgs e)
  78. {
  79. if (tbName.Text == "")
  80. {
  81. MessageBox.Show("请输入患者姓名!");
  82. return;
  83. }
  84. string sqlStr = "SELECT * FROM MedInsu_Tables.Settlement WHERE Hosp_Dr=" + dtSettl.Rows[iSettl]["HospitalDr"].ToString();
  85. sqlStr = sqlStr + " and OccurTime>'" + dpST_Settl.Text + "'";
  86. sqlStr = sqlStr + " and OccurTime<'" + dpED_Settl.Text + "'";
  87. if (tbName.Text != "")
  88. {
  89. sqlStr = sqlStr + " and PatientName='" + tbName.Text + "'";
  90. }
  91. if (tbPatSettlID.Text != "")
  92. {
  93. sqlStr = sqlStr + " and SettlementID='" + tbPatSettlID.Text + "'";
  94. }
  95. if (tbHisNO.Text != "")
  96. {
  97. sqlStr = sqlStr + " and Adm_Dr='" + tbHisNO.Text + "'";
  98. }
  99. //if (cbxInterface.Text !="")
  100. //{
  101. // sqlStr = sqlStr + " and Interface_Dr=" + GlobalVariables.interfaceDr + "";
  102. //}
  103. //if (rbgAdmType.SelectedIndex == 1)
  104. //{
  105. // sqlStr = sqlStr + " and Adm_Dr=1" ;
  106. //}
  107. //if (rbgAdmType.SelectedIndex == 2)
  108. //{
  109. // sqlStr = sqlStr + " and Adm_Dr=2";
  110. //}
  111. if (rbgBillType.SelectedIndex == 1)
  112. {
  113. sqlStr = sqlStr + " and BillType=1";
  114. }
  115. if (rbgBillType.SelectedIndex == 2)
  116. {
  117. sqlStr = sqlStr + " and BillType=-1";
  118. }
  119. JObject joSqlstr = new JObject();
  120. joSqlstr.Add("sqlStr", sqlStr);
  121. JArray jaParam = new JArray();
  122. jaParam.Add(joSqlstr);
  123. JObject joSettlQuery = new JObject();
  124. joSettlQuery.Add("params", jaParam);
  125. joSettlQuery.Add("code", "09010059");
  126. InvokeHelper invoker = new InvokeHelper();
  127. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
  128. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  129. dgvSettlRecord.DataSource = dt;
  130. }
  131. private void HandleException_Load(object sender, EventArgs e)
  132. {
  133. dpST_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  134. dpED_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  135. dpST_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  136. dpED_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  137. dpST_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  138. dpED_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  139. dgvSettlRecord.AutoGenerateColumns = false;
  140. ComboxSetter cbxSetter = new ComboxSetter();
  141. cbxSetter.setCbxInterfaceDataSource(cbxInterface_Log);
  142. cbxSetter.setCbxInterfaceDataSource(cbxInterface_settl);
  143. cbxSetter.setCbxInterfaceDataSource(cbxInterface_OutPatReg);
  144. dtLog =(DataTable)cbxInterface_Log.DataSource;
  145. dtReg = (DataTable)cbxInterface_OutPatReg.DataSource;
  146. dtSettl = (DataTable)cbxInterface_settl.DataSource;
  147. GridViewSetter grdSetter = new GridViewSetter();
  148. grdSetter.SetHeaderTextOfSettlList(dgvSettlRecord);
  149. grdSetter.SetHeaderTextOfCenterLog(dgvLog);
  150. grdSetter.SetHeaderTextOfRegister(dgvOutPatReg);
  151. rbgAdmType.SelectedIndex = 0;
  152. rbgBillType.SelectedIndex = 1;
  153. cbxInterface_settl.SelectedValueChanged += new EventHandler(cbxInterface_settl_SelectedValueChanged);
  154. cbxInterface_OutPatReg.SelectedValueChanged += new EventHandler(cbxInterface_OutPatReg_SelectedValueChanged);
  155. cbxInterface_Log.SelectedValueChanged += new EventHandler(cbxInterface_Log_SelectedValueChanged);
  156. }
  157. private void cbxInterface_settl_SelectedValueChanged(object sender, EventArgs e)
  158. {
  159. dtSettl = (DataTable)cbxInterface_settl.DataSource;
  160. iSettl = cbxInterface_settl.SelectedIndex;
  161. }
  162. private void btnReverseBySettl_Click(object sender, EventArgs e)
  163. {
  164. InvokeHelper invoker = new InvokeHelper();
  165. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  166. string errorMessage = "";
  167. int a = dgvSettlRecord.CurrentRow.Index;
  168. GlobalVariables.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString();
  169. //GlobalVariables.patientAreaCode = "510106";
  170. string mdtrt_id = dt.Rows[a]["MdtrtID"].ToString();
  171. string psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  172. string adm_Dr = dt.Rows[a]["AdmID"].ToString();
  173. string setl_id = dt.Rows[a]["SettlementID"].ToString();
  174. JObject joInparam = new JObject();
  175. JObject joData = new JObject();
  176. joData.Add("omsgid", dt.Rows[a]["msgid"].ToString());
  177. joData.Add("psn_no", psn_no);
  178. string infno = "";
  179. if (dt.Rows[a]["admType"].ToString() == "1") infno = "2207";
  180. if (dt.Rows[a]["admType"].ToString() == "2") infno = "2304";
  181. joData.Add("oinfno", infno);
  182. joInparam.Add("data", joData);
  183. JObject joRtn = invoker.InvokeCenterService("2601", joInparam.ToString());
  184. //将中心返回的结果返回HIS 调用HIS服务进行保存
  185. if (JsonHelper.parseCenterReturnJson(joRtn, out errorMessage) != 0)
  186. {
  187. MessageBox.Show("冲正失败:" + errorMessage);
  188. }
  189. else
  190. {
  191. dynamic joTmp = new JObject();
  192. joTmp.admID = adm_Dr;
  193. joTmp.PersonalNO = psn_no;
  194. joTmp.mdtrt_id = mdtrt_id;
  195. joTmp.setl_id = setl_id;
  196. InsuServices iServices = new InsuServices();
  197. JObject jo2305IrisRtn = iServices.cancleSettlement(joTmp);
  198. if (JsonHelper.parseBusinessJson(jo2305IrisRtn, out errorMessage) != 0)
  199. {
  200. errorMessage = "中心冲正成功但云HIS平台取消失败,请联系管理员!" + errorMessage;
  201. MessageBox.Show(errorMessage);
  202. }
  203. else
  204. {
  205. errorMessage = "中心冲正成功,云HIS平台插入负记录成功!" ;
  206. MessageBox.Show(errorMessage);
  207. }
  208. }
  209. }
  210. private void btnQueryLog_Click(object sender, EventArgs e)
  211. {
  212. string sqlStr = "SELECT * FROM MedInsu_Tables.TransactionLog WHERE Hosp_Dr=" + dtLog.Rows[iLog]["HospitalDr"].ToString();
  213. sqlStr = sqlStr + " and inf_time>'" + dpST_Log.Text + "'";
  214. sqlStr = sqlStr + " and inf_time<'" + dpED_Log.Text + "'";
  215. if (tbPsnNO.Text != "")
  216. {
  217. sqlStr = sqlStr + " and psn_no='" + tbPsnNO.Text + "'";
  218. }
  219. if (tbTransNO.Text != "")
  220. {
  221. sqlStr = sqlStr + " and infno='" + tbTransNO.Text + "'";
  222. }
  223. JObject joSqlstr = new JObject();
  224. joSqlstr.Add("sqlStr", sqlStr);
  225. JArray jaParam = new JArray();
  226. jaParam.Add(joSqlstr);
  227. JObject joSettlQuery = new JObject();
  228. joSettlQuery.Add("params", jaParam);
  229. joSettlQuery.Add("code", "09010060");
  230. InvokeHelper invoker = new InvokeHelper();
  231. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询交易日志(冲正)");
  232. try
  233. {
  234. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  235. dgvLog.DataSource = dt;
  236. }
  237. catch (Exception eX)
  238. {
  239. MessageBox.Show(eX.Message);
  240. }
  241. }
  242. private void gbInterface_Click(object sender, EventArgs e)
  243. {
  244. }
  245. private void btnReverseByLog_Click(object sender, EventArgs e)
  246. {
  247. InvokeHelper invoker = new InvokeHelper();
  248. DataTable dt = (DataTable)dgvLog.DataSource;
  249. JObject joInparam = new JObject();
  250. JObject joData = new JObject();
  251. int a = dgvLog.CurrentRow.Index;
  252. if (tbCBD_Log.Text != "")
  253. { GlobalVariables.patientAreaCode = tbCBD_Log.Text; }
  254. else
  255. GlobalVariables.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString();
  256. if (tbJYD.Text != "")
  257. { GlobalVariables.hospitalAreaCode = tbJYD.Text; }
  258. joData.Add("omsgid", dt.Rows[a]["msgid"].ToString());
  259. joData.Add("psn_no", dt.Rows[a]["psn_no"].ToString());
  260. string oinfno = dt.Rows[a]["infno"].ToString();
  261. if (oinfno == "S2101") { oinfno = "2207"; }
  262. joData.Add("oinfno", oinfno);
  263. //joData.Add("oinfno", "2207");
  264. joInparam.Add("data", joData);
  265. JObject joRtn = invoker.InvokeCenterService("2601", joInparam.ToString());
  266. string errorMessage = "";
  267. if (JsonHelper.parseCenterReturnJson(joRtn, out errorMessage) != 0)
  268. {
  269. MessageBox.Show("冲正失败" + errorMessage);
  270. }
  271. else
  272. {
  273. MessageBox.Show("冲正成功" );
  274. }
  275. }
  276. private void btPatInfo_ex_Click(object sender, EventArgs e)
  277. {
  278. rtbInparam.Text = @"{""data"":{""omsgid"":""H51010604235202205280848088230"",""psn_no"":""1530541881"",""oinfno"":""2201""}}";
  279. JObject joTmp = JObject.Parse(rtbInparam.Text);
  280. rtbInparam.Text = joTmp.ToString();
  281. }
  282. private void btnPatInfoShow_Click(object sender, EventArgs e)
  283. {
  284. InvokeHelper invoker = new InvokeHelper();
  285. string errorMsg = "";
  286. JObject joRtn = invoker.InvokeCenterService("2601", rtbInparam.Text);
  287. if (JsonHelper.parseCenterReturnJson(joRtn, out errorMsg) != 0)
  288. {
  289. MessageBox.Show("冲正失败:" + errorMsg);
  290. }
  291. else
  292. {
  293. MessageBox.Show("冲正成功!:" );
  294. }
  295. }
  296. private void btnQueryOutPatReg_Click(object sender, EventArgs e)
  297. {
  298. string sqlStr = "SELECT * FROM MedInsu_Tables.RegisterInfo WHERE Type=3 and Hosp_Dr=" + dtReg.Rows[iReg]["HospitalDr"].ToString();
  299. sqlStr = sqlStr + " and OccurTime>'" + dpST_OutPatReg.Text + "'";
  300. sqlStr = sqlStr + " and OccurTime<'" + dpED_OutPatReg.Text + "'";
  301. if (tbOutPatName.Text != "")
  302. {
  303. sqlStr = sqlStr + " and Pat_Name='" + tbOutPatName.Text + "'";
  304. }
  305. if (tbOutPatRegID.Text != "")
  306. {
  307. sqlStr = sqlStr + " and InsuRegID='" + tbOutPatRegID.Text + "'";
  308. }
  309. if (tbOutPatPsnNO.Text != "")
  310. {
  311. sqlStr = sqlStr + " and PersonalNO='" + tbOutPatPsnNO.Text + "'";
  312. }
  313. JObject joSqlstr = new JObject();
  314. joSqlstr.Add("sqlStr", sqlStr);
  315. JArray jaParam = new JArray();
  316. jaParam.Add(joSqlstr);
  317. JObject joSettlQuery = new JObject();
  318. joSettlQuery.Add("params", jaParam);
  319. joSettlQuery.Add("code", "09010062");
  320. InvokeHelper invoker = new InvokeHelper();
  321. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询门诊挂号");
  322. try
  323. {
  324. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  325. dgvOutPatReg.DataSource = dt;
  326. }
  327. catch (Exception eX)
  328. {
  329. MessageBox.Show(eX.Message);
  330. }
  331. }
  332. private void cbxInterface_OutPatReg_SelectedValueChanged(object sender, EventArgs e)
  333. {
  334. dtReg = (DataTable)cbxInterface_OutPatReg.DataSource;
  335. iReg = cbxInterface_OutPatReg.SelectedIndex;
  336. }
  337. private void btnCancleOutPatReg_Click(object sender, EventArgs e)
  338. {
  339. InvokeHelper invoker = new InvokeHelper();
  340. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  341. string errorMessage = "";
  342. int a = dgvOutPatReg.CurrentRow.Index;
  343. //组织挂号入参
  344. JObject joCancleRegInpar = new JObject();
  345. GlobalVariables.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString();
  346. joCancleRegInpar.Add("psn_no", dt.Rows[a]["PersonalNO"].ToString());
  347. joCancleRegInpar.Add("mdtrt_id", dt.Rows[a]["InsuRegID"].ToString());
  348. joCancleRegInpar.Add("ipt_otp_no", dt.Rows[a]["AdmID"].ToString());
  349. JObject joRegInput = new JObject();
  350. joRegInput.Add("data", joCancleRegInpar);
  351. //取消挂号信息
  352. JObject jo2202Rtn = invoker.InvokeCenterService("2202", joRegInput.ToString());
  353. if (JsonHelper.parseCenterReturnJson(jo2202Rtn, out errorMessage) != 0)
  354. {
  355. MessageBox.Show("取消挂号失败" + errorMessage);
  356. }
  357. else
  358. {
  359. dynamic joTmp = new JObject();
  360. joTmp.admID = dt.Rows[a]["AdmID"].ToString();
  361. joTmp.PersonalNO = dt.Rows[a]["PersonalNO"].ToString();
  362. joTmp.InsuRegID = dt.Rows[a]["InsuRegID"].ToString();
  363. joTmp.Add("billID", "");
  364. joTmp.Type = 3;
  365. joTmp.CancleRegDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  366. InsuServices iServices = new InsuServices();
  367. JObject jo2404IrisRtn = iServices.cancleRegisterInfo(joTmp);
  368. if (JsonHelper.parseBusinessJson(jo2404IrisRtn, out errorMessage) != 0)
  369. {
  370. MessageBox.Show(errorMessage);
  371. }
  372. else
  373. {
  374. MessageBox.Show("取消挂号成功");
  375. }
  376. }
  377. }
  378. private void cbxInterface_Log_SelectedValueChanged(object sender, EventArgs e)
  379. {
  380. dtLog = (DataTable)cbxInterface_Log.DataSource;
  381. iLog = cbxInterface_Log.SelectedIndex;
  382. GlobalVariables.centerURL = dtLog.Rows[iLog]["CenterURL"].ToString();
  383. //赋值
  384. //hospitalNO = dt.Rows[i]["HospitalNO"].ToString();
  385. //hospitalDr = int.Parse(dt.Rows[i]["HospitalDr"].ToString());
  386. //interfaceNO = dt.Rows[i]["InterfaceNO"].ToString();
  387. //interfaceDr = int.Parse(dt.Rows[i]["ID"].ToString());
  388. //hospitalAreaCode = dt.Rows[i]["AreaCode"].ToString();
  389. }
  390. private void btnCancleOutPatFee_Click(object sender, EventArgs e)
  391. {
  392. InvokeHelper invoker = new InvokeHelper();
  393. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  394. string errorMessage = "";
  395. int a = dgvOutPatReg.CurrentRow.Index;
  396. GlobalVariables.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString();
  397. string mdtrt_id = dt.Rows[a]["InsuRegID"].ToString();
  398. string psn_no = dt.Rows[a]["PersonalNO"].ToString();
  399. string adm_Dr = dt.Rows[a]["AdmID"].ToString();
  400. //组织入参
  401. dynamic joTmp = new JObject();
  402. joTmp.chrg_bchno = "0000";
  403. joTmp.mdtrt_id = mdtrt_id;
  404. joTmp.psn_no = psn_no;
  405. joTmp.expContent = "";
  406. JObject joData = new JObject();
  407. joData.Add("data", joTmp);
  408. //组织好后上传给中心
  409. JObject joCenterRtn = invoker.InvokeCenterService("2205", joData.ToString());
  410. if (joCenterRtn["infcode"].ToString() == "0")
  411. {
  412. //删除医保传送表的数据
  413. joTmp = new JObject();
  414. joTmp.code = "09010048";
  415. joTmp.HospitalDr = GlobalVariables.hospitalDr;
  416. joTmp.admID = adm_Dr;
  417. joTmp.mdtrt_id = mdtrt_id;
  418. joTmp.updateUserID = GlobalVariables.operatorNO;
  419. JObject joIris2301DeleteRtn = invoker.invokeInsuService(joTmp.ToString(), "删除门诊明细");
  420. if (JsonHelper.parseBusinessJson(joIris2301DeleteRtn, out errorMessage) != 0)
  421. {
  422. MessageBox.Show("取消门诊费用失败" + errorMessage);
  423. }
  424. else
  425. {
  426. MessageBox.Show("取消门诊费用成功");
  427. }
  428. }
  429. else
  430. {
  431. MessageBox.Show("取消门诊费用失败" );
  432. }
  433. }
  434. }
  435. }