HandleException.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. using FastReport;
  2. using Newtonsoft.Json.Linq;
  3. using Org.BouncyCastle.Asn1.Tsp;
  4. using PTMedicalInsurance.Business;
  5. using PTMedicalInsurance.Business.DeductPersonalAccountWithQR;
  6. using PTMedicalInsurance.Business.DeductPersonalAccountWithQR.Forms;
  7. using PTMedicalInsurance.Common;
  8. using PTMedicalInsurance.FormSetter;
  9. using PTMedicalInsurance.Helper;
  10. using PTMedicalInsurance.Variables;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.ComponentModel;
  14. using System.Data;
  15. using System.Drawing;
  16. using System.Linq;
  17. using System.Text;
  18. using System.Threading.Tasks;
  19. using System.Windows.Forms;
  20. namespace PTMedicalInsurance.Forms
  21. {
  22. public partial class HandleException : Form
  23. {
  24. //private int iLog = 0;
  25. //private int iSettl = 0;
  26. //private int iReg = 0;
  27. //设置业务实例
  28. CenterBusiness cBus = new CenterBusiness();
  29. HisMainBusiness hBus = new HisMainBusiness();
  30. HisIrisServices hIS = new HisIrisServices();
  31. MIIrisServices mIS = new MIIrisServices();
  32. InvokeHelper invoker = new InvokeHelper();
  33. //1.声明自适应类实例
  34. AutoResizeForm asc = new AutoResizeForm();
  35. public HandleException()
  36. {
  37. InitializeComponent();
  38. //this.StartPosition = FormStartPosition.CenterParent;
  39. asc.controllInitializeSize(this);
  40. asc.controlAutoSize(this);
  41. }
  42. private void HandleException_Load(object sender, EventArgs e)
  43. {
  44. dpST_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  45. dpED_Log.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  46. dpST_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  47. dpED_Settl.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  48. dpST_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  49. dpED_OutPatReg.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  50. dtSignBegin.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  51. dtSignEnd.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  52. dgvSettlRecord.AutoGenerateColumns = false;
  53. GridViewSetter grdSetter = new GridViewSetter();
  54. grdSetter.SetHeaderTextOfSettlList(dgvSettlRecord);
  55. grdSetter.SetHeaderTextOfCenterLog(dgvLog);
  56. grdSetter.SetHeaderTextOfRegister(dgvOutPatReg);
  57. //grdSetter.SetHeaderTextOfSign(dgvSignQuery);
  58. rbgAdmType.SelectedIndex = 0;
  59. rbgBillType.SelectedIndex = 1;
  60. }
  61. #region 结算异常
  62. private void btnQuerySettleRec_Click(object sender, EventArgs e)
  63. {
  64. if (tbName.Text == "")
  65. {
  66. MessageBox.Show("请输入患者姓名!");
  67. return;
  68. }
  69. string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
  70. sqlStr = sqlStr + " and OccurTime>'" + dpST_Settl.Text + "'";
  71. sqlStr = sqlStr + " and OccurTime<'" + dpED_Settl.Text + "'";
  72. if (tbName.Text != "")
  73. {
  74. sqlStr = sqlStr + " and PatientName='" + tbName.Text + "'";
  75. }
  76. if (tbPatSettlID.Text != "")
  77. {
  78. sqlStr = sqlStr + " and SettlementID='" + tbPatSettlID.Text + "'";
  79. }
  80. if (tbHisNO.Text != "")
  81. {
  82. sqlStr = sqlStr + " and Adm_Dr='" + tbHisNO.Text + "'";
  83. }
  84. if (rbgAdmType.SelectedIndex == 1)
  85. {
  86. sqlStr = sqlStr + " and admType=1";
  87. }
  88. if (rbgAdmType.SelectedIndex == 2)
  89. {
  90. sqlStr = sqlStr + " and admType=2";
  91. }
  92. if (rbgBillType.SelectedIndex == 1)
  93. {
  94. sqlStr = sqlStr + " and BillType=1";
  95. }
  96. if (rbgBillType.SelectedIndex == 2)
  97. {
  98. sqlStr = sqlStr + " and BillType=-1";
  99. }
  100. JObject joSqlstr = new JObject();
  101. joSqlstr.Add("sqlStr", sqlStr);
  102. JArray jaParam = new JArray();
  103. jaParam.Add(joSqlstr);
  104. JObject joSettlQuery = new JObject();
  105. joSettlQuery.Add("params", jaParam);
  106. joSettlQuery.Add("code", "09010059");
  107. InvokeHelper invoker = new InvokeHelper();
  108. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
  109. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  110. dgvSettlRecord.DataSource = dt;
  111. }
  112. private void btnReverseBySettl_Click(object sender, EventArgs e)
  113. {
  114. //InvokeHelper invoker = new InvokeHelper();
  115. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  116. string errorMessage = "";
  117. int a = dgvSettlRecord.CurrentRow.Index;
  118. //Global.inf.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString();
  119. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  120. string mdtrt_id = dt.Rows[a]["MdtrtID"].ToString();
  121. string psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  122. string adm_Dr = dt.Rows[a]["AdmID"].ToString();
  123. string setl_id = dt.Rows[a]["SettlementID"].ToString();
  124. JObject joData = new JObject();
  125. joData.Add("omsgid", dt.Rows[a]["MSGID"].ToString());
  126. joData.Add("psn_no", dt.Rows[a]["PersonnelNO"].ToString());
  127. string infno = "";
  128. if (dt.Rows[a]["admType"].ToString() == "1") infno = "2207";
  129. if (dt.Rows[a]["admType"].ToString() == "2") infno = "2304";
  130. joData.Add("oinfno", infno);
  131. JObject joInparam = new JObject();
  132. joInparam.Add("data", joData);
  133. MessageBox.Show(joInparam.ToString());
  134. JObject joRtn = invoker.invokeCenterService(TradeEnum.ReverseTransaction,joInparam);
  135. //将中心返回的结果返回HIS 调用HIS服务进行保存
  136. if (JsonHelper.parseIrisRtnValue(joRtn, out errorMessage) != 0)
  137. {
  138. MessageBox.Show("冲正失败:" + errorMessage);
  139. }
  140. else
  141. {
  142. dynamic joTmp = new JObject();
  143. joTmp.admID = adm_Dr;
  144. joTmp.PersonalNO = psn_no;
  145. joTmp.mdtrt_id = mdtrt_id;
  146. joTmp.setl_id = setl_id;
  147. //JObject jo2305IrisRtn = mIS.cancleSettlement(joTmp);
  148. JObject jo2305IrisRtn = new JObject();
  149. if (JsonHelper.parseIrisRtnValue(jo2305IrisRtn, out errorMessage) != 0)
  150. {
  151. errorMessage = "中心取消结算成功但云HIS平台取消失败,请联系管理员!" + errorMessage;
  152. MessageBox.Show(errorMessage);
  153. }
  154. }
  155. }
  156. private void btCancleSettl_Click(object sender, EventArgs e)
  157. {
  158. string outParam;
  159. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  160. int a = dgvSettlRecord.CurrentRow.Index;
  161. //Global.inf.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString()
  162. MessageBox.Show("111");
  163. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  164. MessageBox.Show(dt.Rows[a]["insuplc_admdvs"].ToString());
  165. MessageBox.Show(Global.pat.insuplc_admdvs);
  166. Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
  167. Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  168. Global.pat.settlID = dt.Rows[a]["SettlementID"].ToString();
  169. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  170. //取消中心结算信息
  171. if (cBus.cancleSettlement(TradeEnum.InpatientSettlementCancel, out outParam) != 0)
  172. {
  173. MessageBox.Show( "取消中心结算信息失败!" + outParam);
  174. return;
  175. }
  176. else
  177. {
  178. //取消平台结算信息
  179. if (mIS.cancleSettlement(Global.pat.settlID,out outParam) != 0)
  180. {
  181. MessageBox.Show("中心结算取消成功,医保平台结算信息取消失败!" + outParam);
  182. return ;
  183. }
  184. //取消出院登记
  185. if (cBus.cancleRegister(TradeEnum.InpatientExitCancel, out outParam) != 0)
  186. {
  187. MessageBox.Show("中心,医保平台及HIS结算信息取消成功,取消出院登记失败!请手工取消出院登记!" + outParam);
  188. return ;
  189. }
  190. }
  191. }
  192. #endregion
  193. #region 日志异常
  194. private void btnQueryLog_Click(object sender, EventArgs e)
  195. {
  196. string errMsg;
  197. string sqlStr = "SELECT * FROM BS_MedInsuTransactionLog WHERE Hospital_Dr=" + Global.inf.hospitalDr;
  198. sqlStr = sqlStr + " and InfDate>='" + dpST_Log.Value.ToString("yyyy-MM-dd") + "'";
  199. sqlStr = sqlStr + " and InfDate<='" + dpED_Log.Value.ToString("yyyy-MM-dd") + "'";
  200. if (tbPsnNO.Text != "")
  201. {
  202. sqlStr = sqlStr + " and PSNNO='" + tbPsnNO.Text + "'";
  203. }
  204. if (tbTransNO.Text != "")
  205. {
  206. sqlStr = sqlStr + " and Infno='" + tbTransNO.Text + "'";
  207. }
  208. JObject joSqlstr = new JObject();
  209. joSqlstr.Add("sqlStr", sqlStr);
  210. JObject joRtn = mIS.QueryTransactionLog(joSqlstr);
  211. //if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
  212. //{
  213. // MessageBox.Show(errMsg);
  214. // return;
  215. //}
  216. try
  217. {
  218. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  219. dgvLog.DataSource = dt;
  220. }
  221. catch (Exception eX)
  222. {
  223. MessageBox.Show(eX.Message);
  224. }
  225. }
  226. private void btnReverseByLog_Click(object sender, EventArgs e)
  227. {
  228. InvokeHelper invoker = new InvokeHelper();
  229. DataTable dt = (DataTable)dgvLog.DataSource;
  230. JObject joInparam = new JObject();
  231. JObject joData = new JObject();
  232. int a = dgvLog.CurrentRow.Index;
  233. if (tbCBD_Log.Text != "")
  234. { Global.pat.insuplc_admdvs = tbCBD_Log.Text; }
  235. else
  236. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  237. joData.Add("omsgid", dt.Rows[a]["msgid"].ToString());
  238. joData.Add("psn_no", dt.Rows[a]["psn_no"].ToString());
  239. joData.Add("oinfno", dt.Rows[a]["infno"].ToString());
  240. //joData.Add("oinfno", "2207");
  241. joInparam.Add("data", joData);
  242. JObject joRtn = invoker.invokeCenterService(TradeEnum.ReverseTransaction, joInparam);
  243. string errorMessage = "";
  244. if (JsonHelper.parseCenterRtnValue(joRtn, out errorMessage) != 0)
  245. {
  246. MessageBox.Show("冲正失败" + errorMessage);
  247. }
  248. else
  249. {
  250. MessageBox.Show("冲正成功");
  251. }
  252. }
  253. #endregion
  254. #region 手工
  255. private void btPatInfo_ex_Click(object sender, EventArgs e)
  256. {
  257. rtbInparam.Text = @"{""data"":{""omsgid"":""H51010604235202205280848088230"",""psn_no"":""1530541881"",""oinfno"":""2201""}}";
  258. JObject joTmp = JObject.Parse(rtbInparam.Text);
  259. rtbInparam.Text = joTmp.ToString();
  260. }
  261. private void btnPatInfoShow_Click(object sender, EventArgs e)
  262. {
  263. string errorMsg = "";
  264. JObject joRtn = new JObject();
  265. Global.pat.insuplc_admdvs = tbCBD_Hand.Text;
  266. if (Chk_DealNo.Checked)
  267. {
  268. TradeEnum trade = TradeEnum.DEFAULT.GetByCode(tb_DealNo.Text);
  269. joRtn = invoker.invokeCenterService(trade, JObject.Parse(rtbInparam.Text));
  270. }
  271. else
  272. {
  273. joRtn = invoker.invokeCenterService(TradeEnum.ReverseTransaction, JObject.Parse(rtbInparam.Text));
  274. }
  275. if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
  276. {
  277. MessageBox.Show("调用失败:" + errorMsg);
  278. }
  279. else
  280. {
  281. MessageBox.Show("调用成功!:");
  282. }
  283. }
  284. #endregion
  285. #region 门诊登记
  286. private void btnQueryOutPatReg_Click(object sender, EventArgs e)
  287. {
  288. string sqlStr = "SELECT * FROM BS_MedInsuRegisterInfo WHERE Type=3 and Hospital_Dr=" + Global.inf.hospitalDr;
  289. sqlStr = sqlStr + " and OccurTime>'" + dpST_OutPatReg.Text + "'";
  290. sqlStr = sqlStr + " and OccurTime<'" + dpED_OutPatReg.Text + "'";
  291. if (tbOutPatName.Text != "")
  292. {
  293. sqlStr = sqlStr + " and Pat_Name='" + tbOutPatName.Text + "'";
  294. }
  295. if (tbOutPatRegID.Text != "")
  296. {
  297. sqlStr = sqlStr + " and InsuRegID='" + tbOutPatRegID.Text + "'";
  298. }
  299. if (tbOutPatPsnNO.Text != "")
  300. {
  301. sqlStr = sqlStr + " and PersonalNO='" + tbOutPatPsnNO.Text + "'";
  302. }
  303. JObject joSqlstr = new JObject();
  304. joSqlstr.Add("sqlStr", sqlStr);
  305. JArray jaParam = new JArray();
  306. jaParam.Add(joSqlstr);
  307. JObject joSettlQuery = new JObject();
  308. joSettlQuery.Add("params", jaParam);
  309. joSettlQuery.Add("code", "09010062");
  310. InvokeHelper invoker = new InvokeHelper();
  311. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询门诊挂号");
  312. try
  313. {
  314. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  315. dgvOutPatReg.DataSource = dt;
  316. }
  317. catch (Exception eX)
  318. {
  319. MessageBox.Show(eX.Message);
  320. }
  321. }
  322. private void btnCancleOutPatReg_Click(object sender, EventArgs e)
  323. {
  324. InvokeHelper invoker = new InvokeHelper();
  325. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  326. string errorMessage = "";
  327. int a = dgvOutPatReg.CurrentRow.Index;
  328. //组织挂号入参
  329. JObject joCancleRegInpar = new JObject();
  330. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  331. joCancleRegInpar.Add("psn_no", dt.Rows[a]["PersonalNO"].ToString());
  332. joCancleRegInpar.Add("mdtrt_id", dt.Rows[a]["InsuRegID"].ToString());
  333. joCancleRegInpar.Add("ipt_otp_no", dt.Rows[a]["AdmID"].ToString());
  334. JObject joRegInput = new JObject();
  335. joRegInput.Add("data", joCancleRegInpar);
  336. //取消挂号信息
  337. JObject jo2202Rtn = invoker.invokeCenterService(TradeEnum.OutpatientRegistionCancel, joRegInput);
  338. if (JsonHelper.parseCenterRtnValue(jo2202Rtn, out errorMessage) != 0)
  339. {
  340. MessageBox.Show("取消挂号失败" + errorMessage);
  341. }
  342. else
  343. {
  344. dynamic joTmp = new JObject();
  345. joTmp.admID = dt.Rows[a]["AdmID"].ToString();
  346. joTmp.PersonalNO = dt.Rows[a]["PersonalNO"].ToString();
  347. joTmp.InsuRegID = dt.Rows[a]["InsuRegID"].ToString();
  348. joTmp.Add("billID", "");
  349. joTmp.Type = 3;
  350. joTmp.CancleRegDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  351. //JObject jo2404IrisRtn = hIS.cancleRegister(joTmp);
  352. //if (JsonHelper.parseIrisRtnValue(jo2404IrisRtn, out errorMessage) != 0)
  353. //{
  354. // MessageBox.Show(errorMessage);
  355. //}
  356. //else
  357. //{
  358. // MessageBox.Show("取消挂号成功");
  359. //}
  360. }
  361. }
  362. private void btnCancleOutPatFee_Click(object sender, EventArgs e)
  363. {
  364. InvokeHelper invoker = new InvokeHelper();
  365. DataTable dt = (DataTable)dgvOutPatReg.DataSource;
  366. string errorMessage = "";
  367. int a = dgvOutPatReg.CurrentRow.Index;
  368. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  369. string mdtrt_id = dt.Rows[a]["InsuRegID"].ToString();
  370. string psn_no = dt.Rows[a]["PersonalNO"].ToString();
  371. string adm_Dr = dt.Rows[a]["AdmID"].ToString();
  372. //组织入参
  373. dynamic joTmp = new JObject();
  374. joTmp.chrg_bchno = "0000";
  375. joTmp.mdtrt_id = mdtrt_id;
  376. joTmp.psn_no = psn_no;
  377. JObject joData = new JObject();
  378. joData.Add("data", joTmp);
  379. //组织好后上传给中心
  380. JObject joCenterRtn = invoker.invokeCenterService(TradeEnum.OutpatientFeeCancel, joData);
  381. if (joCenterRtn["infcode"].ToString() == "0")
  382. {
  383. //删除医保传送表的数据
  384. joTmp = new JObject();
  385. joTmp.code = "09010048";
  386. joTmp.HospitalDr = Global.inf.hospitalDr;
  387. joTmp.admID = adm_Dr;
  388. joTmp.mdtrt_id = mdtrt_id;
  389. joTmp.updateUserID = Global.user.ID;
  390. JObject joIris2301DeleteRtn = invoker.invokeInsuService(joTmp.ToString(), "删除门诊明细");
  391. if (JsonHelper.parseCenterRtnValue(joIris2301DeleteRtn, out errorMessage) != 0)
  392. {
  393. MessageBox.Show("取消门诊费用失败" + errorMessage);
  394. }
  395. else
  396. {
  397. MessageBox.Show("取消门诊费用成功");
  398. }
  399. }
  400. else
  401. {
  402. MessageBox.Show("取消门诊费用失败");
  403. }
  404. }
  405. #endregion
  406. private void btnExit_Click(object sender, EventArgs e)
  407. {
  408. Close();
  409. }
  410. private void btnSignQuery_Click(object sender, EventArgs e)
  411. {
  412. string sqlStr = "SELECT Top 50 * FROM HB_MedInsuSignRecord WHERE Hospital_Dr=" + Global.inf.hospitalDr;
  413. sqlStr = sqlStr + " and Interface_Dr=" + Global.inf.interfaceDr;
  414. sqlStr = sqlStr + " and CreateTime>'" + dtSignBegin.Text + "'";
  415. sqlStr = sqlStr + " and CreateTime<'" + dtSignEnd.Text + "'";
  416. if (edtSignNo.Text != "")
  417. {
  418. sqlStr = sqlStr + " and SignNo='" + edtSignNo.Text + "'";
  419. }
  420. if (edtSignOpterNo.Text != "")
  421. {
  422. sqlStr = sqlStr + " and OperatorNO='" + edtSignOpterNo.Text + "'";
  423. }
  424. if (edtOpterName.Text != "")
  425. {
  426. sqlStr = sqlStr + " and OperatorName='" + edtOpterName.Text + "'";
  427. }
  428. sqlStr = sqlStr + " Order By CreateTime DESC ";
  429. JObject joSqlstr = new JObject();
  430. joSqlstr.Add("sqlStr", sqlStr);
  431. JArray jaParam = new JArray();
  432. jaParam.Add(joSqlstr);
  433. JObject joSettlQuery = new JObject();
  434. joSettlQuery.Add("params", jaParam);
  435. joSettlQuery.Add("code", "09010064");
  436. joSettlQuery.Add("queryType", "All");
  437. InvokeHelper invoker = new InvokeHelper();
  438. JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询签到信息");
  439. try
  440. {
  441. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  442. dgvSignQuery.DataSource = dt;
  443. }
  444. catch (Exception eX)
  445. {
  446. MessageBox.Show(eX.Message);
  447. }
  448. }
  449. private void btnCancelSign_Click(object sender, EventArgs e)
  450. {
  451. InvokeHelper invoker = new InvokeHelper();
  452. DataTable dt = (DataTable)dgvSignQuery.DataSource;
  453. string errorMessage = "";
  454. int a = dgvSignQuery.CurrentRow.Index;
  455. if (a <0)
  456. {
  457. MessageBox.Show("请先选中需要签退的签到记录信息!");
  458. return;
  459. }
  460. //组织签退入参
  461. JObject joCancleRegInpar = new JObject();
  462. joCancleRegInpar.Add("sign_no", dt.Rows[a]["SignNo"].ToString());
  463. joCancleRegInpar.Add("opter_no", dt.Rows[a]["OperatorNO"].ToString());
  464. JObject joRegInput = new JObject();
  465. joRegInput.Add("signOut", joCancleRegInpar);
  466. //取消挂号信息
  467. JObject jo9002Rtn = invoker.invokeCenterService(TradeEnum.SingOut, joRegInput);
  468. if (JsonHelper.parseCenterRtnValue(jo9002Rtn, out errorMessage) != 0)
  469. {
  470. MessageBox.Show("医保签退失败" + errorMessage);
  471. }
  472. else
  473. {
  474. MessageBox.Show("医保签退成功");
  475. }
  476. }
  477. private void Chk_DealNo_ValueChanged(object sender, bool value)
  478. {
  479. if (Chk_DealNo.Checked)
  480. tb_DealNo.Visible = true;
  481. else
  482. tb_DealNo.Visible = false;
  483. }
  484. private void uiButton5_Click(object sender, EventArgs e)
  485. {
  486. Global.pat.insuplc_admdvs = "379902";
  487. Global.Set.accountPaySumamt = 10;
  488. Global.pat.mdtrtcertType = "01";
  489. Global.pat.settlID = "*99003926080515283062";
  490. Global.pat.ecCardNo = "4243995511071039590401370000";
  491. Global.pat.ecToken = "370000ecv8de1napk946c7500a000066d3aad4";
  492. DeductWithQR deductWithQR = new DeductWithQR();
  493. string msg = "";
  494. string deductStr = "";
  495. if (deductWithQR.VerifyConditions(out msg) == 0)
  496. {
  497. EwmForm frm = new EwmForm();
  498. //string
  499. //if (frm.ShowDialog() == DialogResult.OK)
  500. //{
  501. //}
  502. if (deductWithQR.SettleEwmgz(deductStr, out msg) != 0)
  503. {
  504. MessageBox.Show($"个账扣款失败:{msg}");
  505. }
  506. if (deductWithQR.UpdateAccount(out msg) != 0)
  507. {
  508. MessageBox.Show($"后台更新个人账户失败,结算完成后请联系管理员!{msg}");
  509. }
  510. }
  511. }
  512. private void uiButton6_Click(object sender, EventArgs e)
  513. {
  514. string outParam;
  515. DataTable dt = (DataTable)dgvSettlRecord.DataSource;
  516. int a = dgvSettlRecord.CurrentRow.Index;
  517. //Global.inf.patientAreaCode = dt.Rows[a]["insuplc_admdvs"].ToString()
  518. Global.pat.insuplc_admdvs = dt.Rows[a]["insuplc_admdvs"].ToString();
  519. Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
  520. Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
  521. Global.pat.settlID = dt.Rows[a]["SettlementID"].ToString();
  522. Global.pat.adm_Dr = int.Parse(dt.Rows[a]["AdmID"].ToString());
  523. Global.Set.accountPaySumamt = decimal.Parse( dt.Rows[a]["AccountPaySumamt"].ToString());
  524. //判断是否是省医保且扣了实帐的患者
  525. DeductWithQR deductWithQR = new DeductWithQR();
  526. string msg = "";
  527. string deductStr = "";
  528. if (deductWithQR.VerifyDischarageConditions(out msg) == 0)
  529. {
  530. PatientService patientService = new PatientService();
  531. // 显示病人基本信息
  532. // 返回 baseinfo、insuinfo、selectedIdInfo、selectedInsuInfo
  533. string patInfo;
  534. string errMsg = patientService.readPatientInfo(out patInfo);
  535. if (!errMsg.Equals("0"))
  536. {
  537. MessageBox.Show(errMsg);
  538. return;
  539. }
  540. //目前扣实帐都是电子凭证
  541. if (deductWithQR.DestroyEwmgz(out msg) != 0)
  542. {
  543. MessageBox.Show($"个账扣款失败:{msg}");
  544. return;
  545. }
  546. if (deductWithQR.UpdateAccountAfterDischarge(out msg) != 0)
  547. {
  548. MessageBox.Show($"后台更新个人账户失败,结算完成后请联系管理员!{msg}");
  549. return;
  550. }
  551. }
  552. }
  553. }
  554. }