HandleException.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803
  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 PTMedicalInsurance.Common;
  12. using PTMedicalInsurance.Helper;
  13. using PTMedicalInsurance.FormSetter;
  14. using PTMedicalInsurance.Business;
  15. using PTMedicalInsurance.Variables;
  16. using FastReport;
  17. using System.Threading;
  18. namespace PTMedicalInsurance.Forms
  19. {
  20. public partial class HandleException : Form
  21. {
  22. private int iLog = 0;
  23. private int iSettl = 0;
  24. private int iReg = 0;
  25. private XmlHelper xmler = new XmlHelper();
  26. //设置业务实例
  27. CenterBusiness cBus = new CenterBusiness();
  28. HisMainBusiness hBus = new HisMainBusiness();
  29. HisIrisServices hIS = new HisIrisServices();
  30. MIIrisServices mIS = new MIIrisServices();
  31. InvokeHelper invoker = new InvokeHelper();
  32. public HandleException()
  33. {
  34. InitializeComponent();
  35. }
  36. private void HandleException_Load(object sender, EventArgs e)
  37. {
  38. dpST_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  39. dpED_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  40. dpST_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  41. dpED_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  42. dpST_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  43. dpED_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  44. dgvSettlRecord.AutoGenerateColumns = false;
  45. GridViewSetter grdSetter = new GridViewSetter();
  46. grdSetter.SetHeaderTextOfSettlList(dgvSettlRecord);
  47. grdSetter.SetHeaderTextOfCenterLog(dgvLog);
  48. grdSetter.SetHeaderTextOfRegister(dgvOutPatReg);
  49. rbgAdmType.SelectedIndex = 0;
  50. rbgBillType.SelectedIndex = 1;
  51. }
  52. #region 结算异常
  53. private void btnQuerySettleRec_Click(object sender, EventArgs e)
  54. {
  55. //if (tbName.Text == "")
  56. //{
  57. // MessageBox.Show("请输入患者姓名!");
  58. // return;
  59. //}
  60. string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
  61. sqlStr = sqlStr + " and OccurTime>'" + dpST_Settl.Text + "'";
  62. sqlStr = sqlStr + " and OccurTime<'" + dpED_Settl.Text + "'";
  63. if (tbName.Text != "")
  64. {
  65. sqlStr = sqlStr + " and PatientName='" + tbName.Text + "'";
  66. }
  67. if (tbPatSettlID.Text != "")
  68. {
  69. sqlStr = sqlStr + " and SettlementID='" + tbPatSettlID.Text + "'";
  70. }
  71. if (tbHisNO.Text != "")
  72. {
  73. sqlStr = sqlStr + " and Adm_Dr='" + tbHisNO.Text + "'";
  74. }
  75. if (rbgAdmType.SelectedIndex == 1)
  76. {
  77. sqlStr = sqlStr + " and admType=1";
  78. }
  79. if (rbgAdmType.SelectedIndex == 2)
  80. {
  81. sqlStr = sqlStr + " and admType=2";
  82. }
  83. if (rbgBillType.SelectedIndex == 1)
  84. {
  85. sqlStr = sqlStr + " and BillType=1";
  86. }
  87. if (rbgBillType.SelectedIndex == 2)
  88. {
  89. sqlStr = sqlStr + " and BillType=-1";
  90. }
  91. if (rgbValidFlag_1.SelectedIndex == 1)
  92. {
  93. sqlStr = sqlStr + " and ValidFlag=1";
  94. }
  95. if (rgbValidFlag_1.SelectedIndex == 2)
  96. {
  97. sqlStr = sqlStr + " and ValidFlag=-1";
  98. }
  99. JObject joSqlStr = new JObject();
  100. joSqlStr.Add("sqlStr",sqlStr);
  101. JObject joRtn = mIS.QuerySettlementInfo(joSqlStr);
  102. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  103. dgvSettlRecord.DataSource = dt;
  104. }
  105. private void btnReverseBySettl_Click(object sender, EventArgs e)
  106. {
  107. InvokeHelper invoker = new InvokeHelper();
  108. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  109. string errorMessage = "";
  110. int a = dgvSettlRecord.CurrentRow.Index;
  111. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  112. Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
  113. Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  114. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  115. Global.pat.settlID= dt.Rows[a]["SettlementID"].ToString();
  116. Global.pat.medType = dt.Rows[a]["MedicalType"].ToString();
  117. hBus.setPrmBatch();
  118. JObject joInparam = new JObject();
  119. //string infno = "";
  120. //if (dt.Rows[a]["admType"].ToString() == "1") infno = "2207";
  121. //if (dt.Rows[a]["admType"].ToString() == "2") infno = "2304";
  122. JObject joData = new JObject();
  123. String msgID = dt.Rows[a]["msgid"].ToString();
  124. if (!String.IsNullOrEmpty(tbMsgID.Text))
  125. {
  126. msgID = tbMsgID.Text;
  127. }
  128. joData.Add("omsgid",msgID );
  129. joData.Add("prm_aac001", dt.Rows[a]["PersonnelNO"].ToString());
  130. joData.Add("prm_akc190",Global.pat.mdtrtID);
  131. joData.Add("prm_yka103", Global.pat.settlID);
  132. if (tbPrmBatch.Text == "")
  133. {
  134. joData.Add("prm_yabtch", Global.pat.patExtend.prm_yabtch);//没有取清算机构
  135. }
  136. else
  137. {
  138. joData.Add("prm_yabtch", tbPrmBatch.Text);//没有取清算机构
  139. }
  140. //将中心返回的结果返回HIS 调用HIS服务进行保存
  141. string funNO = "H7103";
  142. if (dt.Rows[a]["ClearingOrgan"].ToString() == "9902") funNO = "H7106";
  143. if (invoker.invokeYHCom(funNO,joData, out errorMessage) != 0)
  144. {
  145. MessageBox.Show("冲正失败:" + errorMessage);
  146. }
  147. else
  148. {
  149. dynamic joTmp = new JObject();
  150. joTmp.admID = Global.pat.adm_Dr;
  151. joTmp.PersonalNO = Global.pat.psn_no;
  152. joTmp.mdtrt_id = Global.pat.mdtrtID;
  153. joTmp.setl_id = Global.pat.settlID;
  154. if (mIS.cancleSettlement(Global.pat.settlID, out errorMessage) != 0)
  155. {
  156. errorMessage = "中心取消结算成功但云HIS平台取消失败,请联系管理员!" + errorMessage;
  157. MessageBox.Show(errorMessage);
  158. }
  159. else
  160. {
  161. MessageBox.Show("冲正成功");
  162. }
  163. }
  164. }
  165. string outPar;
  166. int iRes;
  167. [STAThread]
  168. private void cancleSettle(object o)
  169. {
  170. try
  171. {
  172. string outParam;
  173. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  174. int a = dgvSettlRecord.CurrentRow.Index;
  175. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  176. Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
  177. Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  178. Global.pat.settlID = dt.Rows[a]["SettlementID"].ToString();
  179. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  180. Global.pat.insuType = dt.Rows[a]["InsuranceType"].ToString();
  181. Global.pat.medType = dt.Rows[a]["MedicalType"].ToString();
  182. hBus.setPrmBatch();
  183. dynamic joTmp = new JObject();
  184. joTmp.prm_akc190 = Global.pat.mdtrtID;
  185. joTmp.prm_aac001 = Global.pat.psn_no;
  186. joTmp.prm_yka103 = Global.pat.settlID;
  187. joTmp.prm_yab003 = Global.pat.insuplc_admdvs;
  188. joTmp.prm_aka130 = Global.pat.medType;
  189. joTmp.prm_ykb065 = Global.pat.insuType;
  190. joTmp.prm_aae011 = Global.user.ID;
  191. joTmp.prm_ykc141 = Global.user.name;
  192. joTmp.prm_aae036 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  193. joTmp.prm_yabtch = Global.pat.patExtend.prm_yabtch;
  194. YinHaiCom yhCom = new YinHaiCom();
  195. yhCom.Init(out outParam);
  196. iRes = invoker.invokeYHCom("42", joTmp, out outParam);
  197. if (iRes != 0)
  198. {
  199. CallBack(outParam);
  200. return;
  201. }
  202. if (invoker.confirmYHCom(out outParam) != 0)
  203. {
  204. CallBack(outParam);
  205. return;
  206. }
  207. else
  208. {
  209. //取消中心结算信息
  210. if (cBus.cancleSettlement(out outParam) != 0)
  211. {
  212. MessageBox.Show("取消中心结算信息失败!" + outParam);
  213. return;
  214. }
  215. else
  216. {
  217. string output = xmler.ToJSON(outParam);
  218. string newSettleID = JsonHelper.getDestValue(JObject.Parse(output), "output.prm_yka198");
  219. //取消平台结算信息
  220. if (mIS.cancleSettlement(newSettleID, out outParam) != 0)
  221. {
  222. MessageBox.Show("中心结算取消成功,医保平台结算信息取消失败!" + outParam);
  223. return;
  224. }
  225. //取消出院登记
  226. if (cBus.cancleDisRegister(out outParam) != 0)
  227. {
  228. MessageBox.Show("中心,医保平台及HIS结算信息取消成功,取消出院登记失败!请手工取消出院登记!" + outParam);
  229. return;
  230. }
  231. else
  232. {
  233. MessageBox.Show("退结算成功!");
  234. }
  235. }
  236. }
  237. }
  238. catch (Exception ex)
  239. {
  240. CallBack(ex.Message);
  241. }
  242. }
  243. [STAThread]
  244. private void cancleInsuPlatformSettle(object o)
  245. {
  246. try
  247. {
  248. string outParam;
  249. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  250. int a = dgvSettlRecord.CurrentRow.Index;
  251. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  252. Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
  253. Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  254. Global.pat.settlID = dt.Rows[a]["SettlementID"].ToString();
  255. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  256. Global.pat.insuType = dt.Rows[a]["InsuranceType"].ToString();
  257. Global.pat.medType = dt.Rows[a]["MedicalType"].ToString();
  258. string newSettleID = Global.pat.settlID;
  259. //取消平台结算信息
  260. if (mIS.cancleSettlement(newSettleID, out outParam) != 0)
  261. {
  262. MessageBox.Show("医保平台结算信息取消失败!" + outParam);
  263. return;
  264. }
  265. else
  266. {
  267. MessageBox.Show("医保平台结算信息取消成功!" );
  268. }
  269. }
  270. catch (Exception ex)
  271. {
  272. CallBack(ex.Message);
  273. }
  274. }
  275. [STAThread]
  276. private void cancleHisSettle(object o)
  277. {
  278. try
  279. {
  280. string outParam;
  281. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  282. int a = dgvSettlRecord.CurrentRow.Index;
  283. JObject joParam = new JObject();
  284. joParam.Add("admID", int.Parse(dt.Rows[a]["AdmID"].ToString()));
  285. joParam.Add("billID", int.Parse(dt.Rows[a]["BillID"].ToString()));
  286. joParam.Add("recordID", int.Parse(dt.Rows[a]["RecordID"].ToString()));
  287. joParam.Add("psn_no", int.Parse(dt.Rows[a]["PersonnelNO"].ToString()));
  288. joParam.Add("mdtrt_id", int.Parse(dt.Rows[a]["MdtrtID"].ToString()));
  289. joParam.Add("insuplc_admdvs", int.Parse(dt.Rows[a]["insuplc_admdvs"].ToString()));
  290. joParam.Add("setl_id", int.Parse(dt.Rows[a]["SettlementID"].ToString()));
  291. //退HIS结算
  292. if (hIS.cancleSettlementInfo(joParam, out outParam) != 0)
  293. {
  294. MessageBox.Show("取消HIS结算信息");
  295. return ;
  296. }
  297. else
  298. {
  299. MessageBox.Show("取消HIS结算成功");
  300. return ;
  301. }
  302. }
  303. catch (Exception ex)
  304. {
  305. CallBack(ex.Message);
  306. }
  307. }
  308. public delegate void callBack(string errMsg);
  309. public void CallBack(string errMsg)
  310. {
  311. MessageBox.Show(this, errMsg);
  312. }
  313. private void btCancleSettl_Click(object sender, EventArgs e)
  314. {
  315. Thread thread = new Thread(cancleSettle);
  316. try
  317. {
  318. callBack cb = new callBack(CallBack);
  319. thread.SetApartmentState(ApartmentState.STA); //重点
  320. thread.Start();
  321. //thread.Join();
  322. }
  323. catch (Exception ex)
  324. {
  325. Global.writeLog("退结算:" + ex.Message);
  326. MessageBox.Show("退结算异常:" + ex.Message);
  327. }
  328. finally
  329. {
  330. //thread.Abort();
  331. }
  332. }
  333. #endregion
  334. #region 日志异常
  335. private void btnQueryLog_Click(object sender, EventArgs e)
  336. {
  337. string errMsg;
  338. string sqlStr = "SELECT * FROM BS_MedInsuTransactionLog WHERE Hospital_Dr=" + Global.inf.hospitalDr;
  339. sqlStr = sqlStr + " and InfDate>='" + dpST_Log.Value.ToString("yyyy-MM-dd") + "'";
  340. sqlStr = sqlStr + " and InfDate<='" + dpED_Log.Value.ToString("yyyy-MM-dd") + "'";
  341. if (tbPsnNO.Text != "")
  342. {
  343. sqlStr = sqlStr + " and PSNNO='" + tbPsnNO.Text + "'";
  344. }
  345. if (tbTransNO.Text != "")
  346. {
  347. sqlStr = sqlStr + " and Infno='" + tbTransNO.Text + "'";
  348. }
  349. JObject joSqlstr = new JObject();
  350. joSqlstr.Add("sqlStr", sqlStr);
  351. JObject joRtn = mIS.QueryTransactionLog(joSqlstr);
  352. //if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
  353. //{
  354. // MessageBox.Show(errMsg);
  355. // return;
  356. //}
  357. try
  358. {
  359. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  360. dgvLog.DataSource = dt;
  361. }
  362. catch (Exception eX)
  363. {
  364. MessageBox.Show(eX.Message);
  365. }
  366. }
  367. private void btnReverseByLog_Click(object sender, EventArgs e)
  368. {
  369. InvokeHelper invoker = new InvokeHelper();
  370. DataTable dt = (DataTable)dgvLog.DataSource;
  371. JObject joInparam = new JObject();
  372. int a = dgvLog.CurrentRow.Index;
  373. if (tbCBD_Log.Text != "")
  374. { Global.pat.insuplc_admdvs = tbCBD_Log.Text; }
  375. else
  376. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  377. JObject joData = new JObject();
  378. joData.Add("omsgid", dt.Rows[a]["msgid"].ToString());
  379. joData.Add("prm_aac001", dt.Rows[a]["PersonnelNO"].ToString());
  380. joData.Add("prm_akc190", Global.pat.mdtrtID);
  381. joData.Add("prm_yka103", Global.pat.settlID);
  382. //将中心返回的结果返回HIS 调用HIS服务进行保存
  383. string errorMessage = "";
  384. if (invoker.invokeYHCom("H7103",joData, out errorMessage) != 0)
  385. {
  386. MessageBox.Show("冲正失败" + errorMessage);
  387. }
  388. else
  389. {
  390. MessageBox.Show("冲正成功");
  391. }
  392. }
  393. #endregion
  394. #region 手工
  395. #endregion
  396. #region 门诊登记
  397. private void btnQueryOutPatReg_Click(object sender, EventArgs e)
  398. {
  399. string sqlStr = "SELECT * FROM BS_MedInsuRegisterInfo WHERE Type=3 and Hospital_Dr=" + Global.inf.hospitalDr;
  400. sqlStr = sqlStr + " and OccurTime>'" + dpST_OutPatReg.Text + "'";
  401. sqlStr = sqlStr + " and OccurTime<'" + dpED_OutPatReg.Text + "'";
  402. if (tbOutPatName.Text != "")
  403. {
  404. sqlStr = sqlStr + " and Pat_Name='" + tbOutPatName.Text + "'";
  405. }
  406. if (tbOutPatRegID.Text != "")
  407. {
  408. sqlStr = sqlStr + " and InsuRegID='" + tbOutPatRegID.Text + "'";
  409. }
  410. if (tbOutPatPsnNO.Text != "")
  411. {
  412. sqlStr = sqlStr + " and PersonalNO='" + tbOutPatPsnNO.Text + "'";
  413. }
  414. if (rbgValidFlag4.SelectedIndex == 1)
  415. {
  416. sqlStr = sqlStr + " and ValidFlag = 1";
  417. }
  418. if (rbgValidFlag4.SelectedIndex == 2)
  419. {
  420. sqlStr = sqlStr + " and ValidFlag = -1";
  421. }
  422. JObject joSqlstr = new JObject();
  423. joSqlstr.Add("sqlStr", sqlStr);
  424. JArray jaParam = new JArray();
  425. jaParam.Add(joSqlstr);
  426. JObject joSettlQuery = new JObject();
  427. joSettlQuery.Add("params", jaParam);
  428. joSettlQuery.Add("code", "09010062");
  429. InvokeHelper invoker = new InvokeHelper();
  430. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询门诊挂号");
  431. try
  432. {
  433. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  434. dgvOutPatReg.DataSource = dt;
  435. }
  436. catch (Exception eX)
  437. {
  438. MessageBox.Show(eX.Message);
  439. }
  440. }
  441. private void btnCancleOutPatReg_Click(object sender, EventArgs e)
  442. {
  443. InvokeHelper invoker = new InvokeHelper();
  444. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  445. string errorMessage = "";
  446. int a = dgvOutPatReg.CurrentRow.Index;
  447. //组织挂号入参
  448. JObject joCancleRegInpar = new JObject();
  449. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  450. joCancleRegInpar.Add("psn_no", dt.Rows[a]["PersonalNO"].ToString());
  451. joCancleRegInpar.Add("mdtrt_id", dt.Rows[a]["InsuRegID"].ToString());
  452. joCancleRegInpar.Add("ipt_otp_no", dt.Rows[a]["AdmID"].ToString());
  453. joCancleRegInpar.Add("mdtrt_mode", "0");
  454. JObject joRegInput = new JObject();
  455. joRegInput.Add("mdtrtinfo", joCancleRegInpar);
  456. //取消挂号信息
  457. JObject jo2202Rtn = invoker.invokeCenterService("2202", joRegInput);
  458. if (JsonHelper.parseCenterRtnValue(jo2202Rtn, out errorMessage) != 0)
  459. {
  460. MessageBox.Show("取消挂号失败" + errorMessage);
  461. }
  462. else
  463. {
  464. //取消云医保平台的信息
  465. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  466. Global.pat.psn_no = dt.Rows[a]["PersonalNO"].ToString();
  467. Global.pat.mdtrtID = dt.Rows[a]["InsuRegID"].ToString();
  468. if (mIS.cancleRegister(3, out errorMessage) != 0)
  469. {
  470. MessageBox.Show("云医保平台取消登记失败,请后台撤销登记!" + errorMessage);
  471. }
  472. else
  473. {
  474. MessageBox.Show("取消挂号成功");
  475. }
  476. }
  477. }
  478. private void btnCancleOutPatFee_Click(object sender, EventArgs e)
  479. {
  480. InvokeHelper invoker = new InvokeHelper();
  481. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  482. string errorMessage = "";
  483. int a = dgvOutPatReg.CurrentRow.Index;
  484. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  485. string mdtrt_id = dt.Rows[a]["InsuRegID"].ToString();
  486. string psn_no = dt.Rows[a]["PersonalNO"].ToString();
  487. string adm_Dr = dt.Rows[a]["AdmID"].ToString();
  488. //组织入参
  489. dynamic joTmp = new JObject();
  490. joTmp.chrg_bchno = "0000";
  491. joTmp.mdtrt_id = mdtrt_id;
  492. joTmp.psn_no = psn_no;
  493. joTmp.expContent = "";
  494. JObject joData = new JObject();
  495. joData.Add("data", joTmp);
  496. //组织好后上传给中心
  497. JObject joCenterRtn = invoker.invokeCenterService("2205", joData);
  498. if (joCenterRtn["infcode"].ToString() == "0")
  499. {
  500. //删除医保传送表的数据
  501. joTmp = new JObject();
  502. joTmp.code = "09010048";
  503. joTmp.HospitalDr = Global.inf.hospitalDr;
  504. joTmp.admID = adm_Dr;
  505. joTmp.mdtrt_id = mdtrt_id;
  506. joTmp.updateUserID = Global.user.ID;
  507. JObject joIris2301DeleteRtn = invoker.invokeInsuService(joTmp.ToString(), "删除门诊明细");
  508. if (JsonHelper.parseCenterRtnValue(joIris2301DeleteRtn, out errorMessage) != 0)
  509. {
  510. MessageBox.Show("取消门诊费用失败" + errorMessage);
  511. }
  512. else
  513. {
  514. MessageBox.Show("取消门诊费用成功");
  515. }
  516. }
  517. else
  518. {
  519. MessageBox.Show("取消门诊费用失败");
  520. }
  521. }
  522. #endregion
  523. private void uiButton1_Click(object sender, EventArgs e)
  524. {
  525. string data = rtbInparam.Text;
  526. InvokeHelper invoker = new InvokeHelper();
  527. rtbOutparam.Text = invoker.invokeHISService(data,"").ToString();
  528. }
  529. private void btCancel_Click(object sender, EventArgs e)
  530. {
  531. string errMsg = "";
  532. Global.curEvt.msgid = tbJYLSH.Text;
  533. if (invoker.cancleYHCom(out errMsg) != 0)
  534. {
  535. MessageBox.Show("失败:" + errMsg);
  536. }
  537. else
  538. {
  539. MessageBox.Show("成功" );
  540. }
  541. }
  542. private void btConfirm_Click(object sender, EventArgs e)
  543. {
  544. string errMsg = "";
  545. Global.curEvt.msgid = tbJYLSH.Text;
  546. Global.curEvt.jyyzm = tbJYYZM.Text;
  547. if (invoker.confirmYHCom(out errMsg) != 0)
  548. {
  549. MessageBox.Show("失败:" + errMsg);
  550. }
  551. else
  552. {
  553. MessageBox.Show("成功");
  554. }
  555. }
  556. private void btLocalReversalEx_Click(object sender, EventArgs e)
  557. {
  558. rtbInparam.Text = ""
  559. + @"<input>" + System.Environment.NewLine
  560. + @"<prm_aac001>个人编码</prm_aac001>" + System.Environment.NewLine
  561. + @"<prm_akc190>就诊ID</prm_akc190>" + System.Environment.NewLine
  562. + @"<prm_yka103>结算ID</prm_yka103>" + System.Environment.NewLine
  563. + @"<omsgid>原发送方报文ID</omsgid>" + System.Environment.NewLine
  564. + @"<prm_yabtch>同城化标识</prm_yabtch>" + System.Environment.NewLine
  565. + @"</input>";
  566. }
  567. private void btOtherReversalEx_Click(object sender, EventArgs e)
  568. {
  569. rtbInparam.Text = ""
  570. + @"<input>" + System.Environment.NewLine
  571. + @"<mdtrtarea_admdvs>就医地医保区划</mdtrtarea_admdvs>" + System.Environment.NewLine
  572. + @"<insuplc_admdvs>参保地医保区划</insuplc_admdvs>" + System.Environment.NewLine
  573. + @"<sender_msg_id>发送方报文 ID</sender_msg_id>" + System.Environment.NewLine
  574. + @"<aka130>支付类别</aka130>" + System.Environment.NewLine
  575. + @"<aac001>个人编号</aac001>" + System.Environment.NewLine
  576. + @"<akc190>就诊序号</akc190>" + System.Environment.NewLine
  577. + @"<yka103>结算编号</yka103>" + System.Environment.NewLine
  578. + @"<prm_yabtch>同城化标识</prm_yabtch>" + System.Environment.NewLine
  579. + @"</input>";
  580. }
  581. private void btLocalReversal_Click(object sender, EventArgs e)
  582. {
  583. string errMsg = "";
  584. JObject jo = JObject.Parse(xmler.ToJSON(rtbInparam.Text));
  585. JObject joInput = JObject.Parse(JsonHelper.getDestValue(jo,"input"));
  586. if (invoker.invokeYHCom("H7103",joInput,out errMsg) != 0)
  587. {
  588. MessageBox.Show("失败:" + errMsg);
  589. }
  590. else
  591. {
  592. MessageBox.Show("成功");
  593. }
  594. }
  595. private void btOtherReversal_Click(object sender, EventArgs e)
  596. {
  597. string errMsg = "";
  598. JObject jo = JObject.Parse(xmler.ToJSON(rtbInparam.Text));
  599. JObject joInput = JObject.Parse(JsonHelper.getDestValue(jo, "input"));
  600. if (invoker.invokeYHCom("H7106", joInput, out errMsg) != 0)
  601. {
  602. MessageBox.Show("失败:" + errMsg);
  603. }
  604. else
  605. {
  606. MessageBox.Show("成功");
  607. }
  608. }
  609. private void btCancelSettlementEx_Click(object sender, EventArgs e)
  610. {
  611. rtbInparam.Text = ""
  612. + @"<input>" + System.Environment.NewLine
  613. + @"<prm_akc190>就诊编号</prm_akc190>" + System.Environment.NewLine
  614. + @"<prm_yab003>分中心编号</prm_yab003>" + System.Environment.NewLine
  615. + @"<aka130>支付类别</aka130>" + System.Environment.NewLine
  616. + @"<yka103>结算编号</yka103>" + System.Environment.NewLine
  617. + @"<prm_aae011>经办人员编码</prm_aae011>" + System.Environment.NewLine
  618. + @"<prm_ykc141>经人人姓名</prm_ykc141>" + System.Environment.NewLine
  619. + @"<prm_aae036>2023-03-24 18:01:01</prm_aae036>" + System.Environment.NewLine
  620. + @"<prm_aae013>退费原因</prm_aae013>" + System.Environment.NewLine
  621. + @"<prm_ykb065>社会保险办法</prm_ykb065>" + System.Environment.NewLine
  622. + @"<aac001>个人编号</aac001>" + System.Environment.NewLine
  623. + @"<prm_yabtch>同城化标识</prm_yabtch>" + System.Environment.NewLine
  624. + @"</input>";
  625. }
  626. private void btCancelSettlement_Click(object sender, EventArgs e)
  627. {
  628. string errMsg = "";
  629. JObject jo = JObject.Parse(xmler.ToJSON(rtbInparam.Text));
  630. JObject joInput = JObject.Parse(JsonHelper.getDestValue(jo, "input"));
  631. if (invoker.invokeYHCom("42", joInput, out errMsg) != 0)
  632. {
  633. MessageBox.Show("失败:" + errMsg);
  634. }
  635. else
  636. {
  637. MessageBox.Show("成功");
  638. tbJYLSH.Text = Global.curEvt.msgid;
  639. }
  640. }
  641. private void btInvokeCenterTransaction_Click(object sender, EventArgs e)
  642. {
  643. string errMsg = "";
  644. JObject jo = JObject.Parse(xmler.ToJSON(rtbInparam.Text));
  645. JObject joInput = JObject.Parse(JsonHelper.getDestValue(jo, "input"));
  646. if (invoker.invokeYHCom(tbFunNO.Text, joInput, out errMsg) != 0)
  647. {
  648. MessageBox.Show("失败:" + errMsg);
  649. }
  650. else
  651. {
  652. MessageBox.Show("成功");
  653. tbJYLSH.Text = Global.curEvt.msgid;
  654. }
  655. }
  656. private void btSetInsuInvalid_Click(object sender, EventArgs e)
  657. {
  658. Thread thread = new Thread(cancleInsuPlatformSettle);
  659. try
  660. {
  661. callBack cb = new callBack(CallBack);
  662. thread.SetApartmentState(ApartmentState.STA); //重点
  663. thread.Start();
  664. //thread.Join();
  665. }
  666. catch (Exception ex)
  667. {
  668. Global.writeLog("退医保平台结算:" + ex.Message);
  669. MessageBox.Show("退医保平台结算:" + ex.Message);
  670. }
  671. finally
  672. {
  673. //thread.Abort();
  674. }
  675. }
  676. private void btSetHisInvalid_Click(object sender, EventArgs e)
  677. {
  678. Thread thread = new Thread(cancleHisSettle);
  679. try
  680. {
  681. callBack cb = new callBack(CallBack);
  682. thread.SetApartmentState(ApartmentState.STA); //重点
  683. thread.Start();
  684. //thread.Join();
  685. }
  686. catch (Exception ex)
  687. {
  688. Global.writeLog("退HIS结算:" + ex.Message);
  689. MessageBox.Show("退HIS结算:" + ex.Message);
  690. }
  691. finally
  692. {
  693. //thread.Abort();
  694. }
  695. }
  696. private void btSignOut_Click(object sender, EventArgs e)
  697. {
  698. dynamic jsonInput = new JObject();
  699. jsonInput.opter_no = Global.user.ID;
  700. jsonInput.sign_no = Global.curEvt.signno;
  701. JObject joSignOut = new JObject();
  702. joSignOut.Add("signOut", jsonInput);
  703. string outParam = invoker.invokeCenterService("9002", joSignOut).ToString();
  704. JObject joRtn = JObject.Parse(outParam);
  705. if (joRtn["infcode"].ToString() == "0")
  706. {
  707. MessageBox.Show("签退成功");
  708. }
  709. else
  710. {
  711. //joRtn = JsonHelper.getIrisExceptionJson(-100, "签到异常", (string)joRtn["err_msg"]);
  712. Global.curEvt.signno = "";
  713. MessageBox.Show("签退失败" + joRtn.ToString());
  714. }
  715. }
  716. }
  717. }