MutualAid.cs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using MedicalInsurance.Business;
  11. using Newtonsoft.Json;
  12. using Newtonsoft.Json.Linq;
  13. using MedicalInsurance.Common;
  14. using MedicalInsurance.Helper;
  15. using MedicalInsurance.FormSetter;
  16. namespace MedicalInsurance.Forms
  17. {
  18. public partial class MutualAid : Form
  19. {
  20. public DataTable dtSumumt;
  21. public DataTable dtSettlInfo;
  22. public string settlementID;
  23. public string finalSettlementInfo;
  24. int numbersOfMutualAid = 1;
  25. private InsuServices iris = new InsuServices();
  26. InvokeHelper center = new InvokeHelper();
  27. public string relation; //亲属关系
  28. public string set_flag; //结算标志 预结正结标志
  29. public string mutualAidPay; //共济金额
  30. public MutualAid(JObject jo)
  31. {
  32. InitializeComponent();
  33. GridViewSetter grdSetter = new GridViewSetter();
  34. grdSetter.SetHeaderTextOfDgvMutualAidSettleInfo(dgvSettlInfo);
  35. grdSetter.SetHeaderTextOfDgvMutualAidSumamtInfo(dgvSumamt);
  36. settlementID = JsonHelper.getJsonValue(jo, "setl_id") ;
  37. string errMsg;
  38. getSettlInfo(out errMsg);
  39. getSumamtInfo(out errMsg);
  40. }
  41. public MutualAid(string settlId)
  42. {
  43. InitializeComponent();
  44. GridViewSetter grdSetter = new GridViewSetter();
  45. grdSetter.SetHeaderTextOfDgvMutualAidSettleInfo(dgvSettlInfo);
  46. grdSetter.SetHeaderTextOfDgvMutualAidSumamtInfo(dgvSumamt);
  47. settlementID =settlId;
  48. string errMsg;
  49. getSettlInfo(out errMsg);
  50. getSumamtInfo(out errMsg);
  51. }
  52. public MutualAid()
  53. {
  54. InitializeComponent();
  55. GridViewSetter grdSetter = new GridViewSetter();
  56. grdSetter.SetHeaderTextOfDgvMutualAidSettleInfo(dgvSettlInfo);
  57. grdSetter.SetHeaderTextOfDgvMutualAidSumamtInfo(dgvSumamt);
  58. }
  59. #region 方法封装
  60. //获取结算汇总信息
  61. private int getSumamtInfo(out string errMsg)
  62. {
  63. errMsg = "";
  64. try
  65. {
  66. string sqlStr = "SELECT * FROM MedInsu_Tables.Settlement WHERE Hosp_Dr=" + GlobalVariables.hospitalDr + " AND SettlementID='" + settlementID + "'";
  67. JObject joRtn = iris.querySettlementInfo(sqlStr);
  68. dtSumumt = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
  69. decimal accountPay=0, cashPay=0, mutualAidPay = 0;
  70. for (int i = 1; i < dtSettlInfo.Rows.Count; i++)
  71. {
  72. int billType = int.Parse(dtSettlInfo.Rows[i]["BillType"].ToString());
  73. accountPay = accountPay + decimal.Parse(dtSettlInfo.Rows[i]["AccountPaySumamt"].ToString()) * billType;
  74. mutualAidPay = mutualAidPay + decimal.Parse(dtSettlInfo.Rows[i]["AccountMutualAidAmount"].ToString()) * billType;
  75. if (billType==1)
  76. { numbersOfMutualAid++; }
  77. else
  78. {
  79. dgvSettlInfo.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
  80. }
  81. }
  82. dgvSettlInfo.Refresh();
  83. dtSumumt.Rows[0]["AccountPaySumamt"] = decimal.Parse(dtSumumt.Rows[0]["AccountPaySumamt"].ToString()) + accountPay;
  84. dtSumumt.Rows[0]["PersonCashPay"] = decimal.Parse(dtSumumt.Rows[0]["PersonCashPay"].ToString()) - accountPay;
  85. dtSumumt.Rows[0]["AccountMutualAidAmount"] = accountPay;
  86. dgvSumamt.DataSource = dtSumumt;
  87. dgvSettlInfo.SelectedIndex = dgvSettlInfo.Rows.Count - 1;
  88. return 0;
  89. }
  90. catch (Exception e)
  91. {
  92. errMsg = e.Message;
  93. return 1;
  94. }
  95. }
  96. //获取多次结算信息
  97. private int getSettlInfo(out string errMsg)
  98. {
  99. errMsg = "";
  100. try
  101. {
  102. string sqlStr = "SELECT * FROM MedInsu_Tables.Settlement WHERE Hosp_Dr=" + GlobalVariables.hospitalDr + " AND MainSettlementIDOfMutualAid='" + settlementID + "'";
  103. JObject joRtn = iris.querySettlementInfo(sqlStr);
  104. dtSettlInfo = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
  105. dgvSettlInfo.DataSource = dtSettlInfo;
  106. return 0;
  107. }
  108. catch (Exception e)
  109. {
  110. errMsg = e.Message;
  111. return 1;
  112. }
  113. }
  114. //中心共济结算
  115. private int mutualAid(string patInfo, out string output)
  116. {
  117. output = "";
  118. string mPsnNO,mCertType, mCertNO, mInsutype;
  119. dynamic joExpContent = new JObject();
  120. try
  121. {
  122. GlobalVariables.writeLog("PATINFO",patInfo,"");
  123. JObject jo1101 = JObject.Parse(patInfo);
  124. JObject joBaseInfo = JObject.FromObject(jo1101["output"]["baseinfo"]);
  125. JObject joSelectedInsuInfo = JObject.FromObject(jo1101["selectedInsuInfo"]);
  126. JObject joComInfo = JObject.FromObject(jo1101["comInfo"]);
  127. mPsnNO = joBaseInfo["psn_no"].ToString();
  128. mCertType = joComInfo["mdtrt_cert_type"].ToString();
  129. mCertNO = joComInfo["mdtrt_cert_no"].ToString();
  130. mInsutype = joSelectedInsuInfo["insutype_old"].ToString();
  131. GlobalVariables.patientAreaCode = JsonHelper.getJsonValue(joSelectedInsuInfo, "insuplc_admdvs");
  132. joExpContent.card_token = GlobalVariables.card_token;
  133. //弹出共济结算选择框
  134. {
  135. //组织入参
  136. JObject joData = new JObject();
  137. joData.Add("psn_no", mPsnNO); //人员编号
  138. joData.Add("mdtrt_cert_type", mCertType); //就诊凭证类型
  139. joData.Add("mdtrt_cert_no",mCertNO); //就诊凭证编号
  140. joData.Add("insutype", mInsutype); //险种
  141. joData.Add("acct_mulaid_pay", mutualAidPay); //个人账户共济支付金额
  142. joData.Add("ima_mdtrt_id", dtSettlInfo.Rows[0]["MdtrtID"].ToString()); //原主交易就诊ID
  143. joData.Add("ima_setl_id", dtSettlInfo.Rows[0]["SettlementID"].ToString()); //原主交易结算ID
  144. joData.Add("ima_certno", dtSettlInfo.Rows[0]["CertificateNO"].ToString()); //原主交易证件号码
  145. joData.Add("ima_med_type", dtSettlInfo.Rows[0]["MedicalType"].ToString()); //原主交易医疗类别
  146. joData.Add("ima_medfee_sumamt", dtSettlInfo.Rows[0]["Sumamt"].ToString()); //原主交易医疗费总额
  147. joData.Add("ima_fund_pay_sumamt", dtSettlInfo.Rows[0]["FundPaySumamt"].ToString()); //原主交易基金支付总额
  148. joData.Add("ima_acct_pay", dtSettlInfo.Rows[0]["AccountPaySumamt"].ToString()); //原主交易个人账户支出
  149. joData.Add("ima_psn_cash_pay", dtSettlInfo.Rows[0]["PersonCashPay"].ToString()); //原主交易个人现金支出
  150. joData.Add("ima_psn_no", dtSettlInfo.Rows[0]["PersonnelNO"].ToString()); //原主交易个人编号
  151. joData.Add("ima_psn_name", dtSettlInfo.Rows[0]["PatientName"].ToString()); //原主交易人员姓名
  152. joData.Add("relation", relation); //亲属关系
  153. joData.Add("set_flag", set_flag); //结算标志
  154. joData.Add("expContent", joExpContent); //字段扩展
  155. JObject joInPut = new JObject();
  156. joInPut.Add("data",joData);
  157. //调用中心结算
  158. JObject joRtn = center.InvokeCenterServiceOfMutualAid("S2101", joInPut.ToString());
  159. //保存中心返回的结果
  160. if (JsonHelper.parseCenterReturnJson(joRtn, out output) != 0)
  161. {
  162. return -1;
  163. }
  164. else
  165. {
  166. output = joRtn.ToString();
  167. return 0;
  168. }
  169. }
  170. return 0;
  171. }
  172. catch (Exception e)
  173. {
  174. output = e.Message;
  175. return 1;
  176. }
  177. }
  178. //撤销中心共济结算
  179. private int cancleMutualAid(out string errMsg)
  180. {
  181. errMsg = "";
  182. try
  183. {
  184. int i = dgvSettlInfo.SelectedIndex;
  185. if ((dtSettlInfo.Rows[i]["MutualAidFlag"].ToString() == "") || (dtSettlInfo.Rows[i]["MutualAidFlag"].ToString() == "0"))
  186. {
  187. errMsg = "当前结算无共济支付信息!";
  188. return -1;
  189. }
  190. else if (int.Parse(dtSettlInfo.Rows[i]["MutualAidFlag"].ToString()) == 1)
  191. {
  192. errMsg = "当前结算为主结算,请选择正确的共济支付结算!";
  193. return -1;
  194. }
  195. if (dtSettlInfo.Rows[i]["InterfaceDr"].ToString() == "1")
  196. {
  197. GlobalVariables.mutualAidCenterURL = @"http://10.109.103.59:8080/mss/web/api/fsi/callService";
  198. GlobalVariables.mutualAidHospitalAreaCode = "519900";
  199. }
  200. if (dtSettlInfo.Rows[i]["InterfaceDr"].ToString() == "5")
  201. {
  202. GlobalVariables.mutualAidCenterURL = @"http://10.109.103.61:8080/mss/web/api/fsi/callService";
  203. GlobalVariables.mutualAidHospitalAreaCode = "510106";
  204. }
  205. GlobalVariables.mutualAidPatientAreaCode = dtSettlInfo.Rows[i]["insuplc_admdvs"].ToString();
  206. //组织入参
  207. dynamic joTmp = new JObject();
  208. joTmp.mdtrt_id = dtSettlInfo.Rows[i]["MdtrtID"].ToString();
  209. joTmp.psn_no = dtSettlInfo.Rows[i]["PersonnelNO"].ToString();
  210. joTmp.setl_id = dtSettlInfo.Rows[i]["SettlementID"].ToString();
  211. joTmp.expContent = "";
  212. JObject joData = new JObject();
  213. joData.Add("data", joTmp);
  214. JObject joRtn = center.InvokeCenterServiceOfMutualAid("S2102", joData.ToString());
  215. //将中心返回的结果返回HIS 调用HIS服务进行保存
  216. if (JsonHelper.parseCenterReturnJson(joRtn, out errMsg) != 0)
  217. {
  218. return -1;
  219. }
  220. else
  221. {
  222. errMsg = joRtn.ToString();
  223. dgvSettlInfo.SelectedIndex = dgvSettlInfo.Rows.Count - 1;
  224. return 0;
  225. }
  226. }
  227. catch (Exception e)
  228. {
  229. errMsg = e.Message;
  230. return -1;
  231. }
  232. }
  233. //保存到云医保平台
  234. private int saveMutualAidSettlementToCloudPlatform(string patInfo,string centerReturn,out string errMsg)
  235. {
  236. errMsg = "";
  237. try
  238. {
  239. //返回给云医保平台
  240. JObject joCenterRtn = JObject.Parse(centerReturn);
  241. JObject joSetlinfo = JObject.Parse(JsonHelper.getJsonValue(joCenterRtn, "output.result"));
  242. JObject joPatInfo= JObject.Parse(patInfo);
  243. //以下节点中心不返回,传给后台保存的值为空,手工置为0
  244. joSetlinfo.Add("cvlserv_pay", 0);
  245. joSetlinfo.Add("hifdm_pay", 0);
  246. joSetlinfo.Add("hifmi_pay", 0);
  247. joSetlinfo.Add("act_pay_dedc", 0);
  248. joSetlinfo.Add("acct_mulaid_pay", 0);
  249. joSetlinfo.Add("oth_pay", 0);
  250. joSetlinfo.Add("hifes_pay", 0);
  251. joSetlinfo.Add("fund_pay_sumamt", 0);
  252. joSetlinfo.Add("fulamt_ownpay_amt", 0);
  253. joSetlinfo.Add("hosp_part_amt", 0);
  254. joSetlinfo.Add("inscp_scp_amt", 0);
  255. joSetlinfo.Add("maf_pay", 0);
  256. joSetlinfo.Add("psn_part_amt", 0);
  257. joSetlinfo.Add("pool_prop_selfpay", 0);
  258. joSetlinfo.Add("hifp_pay", 0);
  259. joSetlinfo.Add("overlmt_selfpay", 0);
  260. joSetlinfo.Add("preselfpay_amt", 0);
  261. //
  262. joSetlinfo.Add("HospitalDr", GlobalVariables.hospitalDr);
  263. joSetlinfo.Add("admID", dtSettlInfo.Rows[0]["AdmID"].ToString());
  264. joSetlinfo.Add("ValidFlag", 1);
  265. joSetlinfo.Add("BillType", 1);
  266. joSetlinfo.Add("updateUserID", GlobalVariables.operatorNO);
  267. joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  268. joSetlinfo.Add("billID", dtSettlInfo.Rows[0]["BillID"].ToString());
  269. joSetlinfo.Add("recordID", dtSettlInfo.Rows[0]["RecordID"].ToString());
  270. joSetlinfo.Add("msgid", GlobalVariables.msgid);
  271. joSetlinfo.Add("interfaceDr", GlobalVariables.mutualAidInterfaceDr);
  272. joSetlinfo.Add("admType", dtSettlInfo.Rows[0]["admType"].ToString());
  273. joSetlinfo.Add("insuplc_admdvs",JsonHelper.getJsonValue(joPatInfo, "selectedInsuInfo.insuplc_admdvs"));
  274. joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSettlInfo.Rows[0]["SettlementID"].ToString());
  275. numbersOfMutualAid++;
  276. joSetlinfo.Add("MutualAidFlag", numbersOfMutualAid);
  277. dynamic joTmp = new JObject();
  278. joTmp.code = "09010051";
  279. JArray jaTmp = new JArray();
  280. jaTmp.Add(joSetlinfo);
  281. joTmp.Add("params", jaTmp);
  282. JObject joRtn = center.invokeInsuService(joTmp.ToString(), "插入结算信息");
  283. if (JsonHelper.parseBusinessJson(joRtn, out errMsg) != 0)
  284. {
  285. return -1;
  286. }
  287. JObject joSetlDetail = new JObject();
  288. joSetlDetail.Add("HospitalDr", GlobalVariables.hospitalDr);
  289. joSetlDetail.Add("InterfaceDr", GlobalVariables.interfaceDr);
  290. joSetlDetail.Add("MdtrtID", JsonHelper.getJsonValue(joCenterRtn, "output.result.mdtrt_id"));
  291. joSetlDetail.Add("SettlementID", JsonHelper.getJsonValue(joSetlinfo, "setl_id"));
  292. joSetlDetail.Add("AdmID", dtSettlInfo.Rows[0]["AdmID"].ToString());
  293. joSetlDetail.Add("updateUserID", GlobalVariables.operatorNO);
  294. JArray jaSetlDetail = JArray.Parse(JsonHelper.getJsonValue(joCenterRtn, "output.setldetail"));
  295. joSetlDetail.Add("setldetail", jaSetlDetail);
  296. joTmp = new JObject();
  297. joTmp.code = "09010056";
  298. jaTmp = new JArray();
  299. jaTmp.Add(joSetlDetail);
  300. joTmp.Add("params", jaTmp);
  301. JObject joInsertSetlDetail = center.invokeInsuService(joTmp.ToString(), "插入结算明细信息");
  302. if (JsonHelper.parseBusinessJson(joInsertSetlDetail, out errMsg) != 0)
  303. {
  304. MessageBox.Show("插入结算明细信息:" + errMsg);
  305. }
  306. return 0;
  307. }
  308. catch (Exception e)
  309. {
  310. errMsg = e.Message;
  311. return -1;
  312. }
  313. }
  314. /// <summary>
  315. /// 撤销云平台结算信息
  316. /// </summary>
  317. /// <param name="errMsg"></param>
  318. /// <returns></returns>
  319. private int cancleMutualAidOfCloudPlatform(string centerReturn,out string errMsg)
  320. {
  321. errMsg = "";
  322. try
  323. {
  324. int i = dgvSettlInfo.SelectedIndex;
  325. dynamic joTmp = new JObject();
  326. joTmp.admID = dtSettlInfo.Rows[i]["AdmID"].ToString();
  327. joTmp.PersonalNO = dtSettlInfo.Rows[i]["PersonnelNO"].ToString();
  328. joTmp.mdtrt_id = dtSettlInfo.Rows[i]["MdtrtID"].ToString();
  329. joTmp.setl_id = dtSettlInfo.Rows[i]["SettlementID"].ToString();
  330. JObject joCenterRtn = JObject.Parse(centerReturn);
  331. joTmp.newSetlId = JsonHelper.getJsonValue(joCenterRtn,"output.result.setl_id");
  332. JObject joIrisRtn = iris.cancleSettlement(joTmp);
  333. if (JsonHelper.parseBusinessJson(joIrisRtn, out errMsg) != 0)
  334. {
  335. return -1;
  336. }
  337. else
  338. {
  339. return 0;
  340. }
  341. }
  342. catch (Exception e)
  343. {
  344. errMsg = e.Message;
  345. return -1;
  346. }
  347. }
  348. /// <summary>
  349. /// 获取最终的结算信息,返回给HIS。无论共济多少次,返回给HIS的只有这一条。
  350. /// </summary>
  351. /// <param name="output"></param>
  352. /// <returns></returns>
  353. private int getFinalSettlementInfo(out string output)
  354. {
  355. output = "";
  356. try
  357. {
  358. JObject joCenterRtn = new JObject();
  359. JObject joSetlinfo = JObject.Parse(JsonHelper.getJsonValue(joCenterRtn, "output.result"));
  360. joSetlinfo.Add("HospitalDr", GlobalVariables.hospitalDr);
  361. joSetlinfo.Add("admID", dtSettlInfo.Rows[0]["Adm_Dr"].ToString());
  362. joSetlinfo.Add("ValidFlag", 1);
  363. joSetlinfo.Add("BillType", 1);
  364. joSetlinfo.Add("updateUserID", GlobalVariables.operatorNO);
  365. joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  366. joSetlinfo.Add("billID", dtSettlInfo.Rows[0]["BillID"].ToString());
  367. joSetlinfo.Add("recordID", dtSettlInfo.Rows[0]["RecordID"].ToString());
  368. joSetlinfo.Add("msgid", GlobalVariables.msgid);
  369. joSetlinfo.Add("interfaceDr", GlobalVariables.interfaceDr);
  370. joSetlinfo.Add("admType", dtSettlInfo.Rows[0]["admType"].ToString());
  371. joSetlinfo.Add("insuplc_admdvs", GlobalVariables.patientAreaCode);
  372. joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSettlInfo.Rows[0]["SettlementID"].ToString());
  373. joSetlinfo.Add("MutualAidFlag", numbersOfMutualAid);
  374. output = joSetlinfo.ToString();
  375. return 0;
  376. }
  377. catch (Exception e)
  378. {
  379. output = e.Message;
  380. return -1;
  381. }
  382. }
  383. #endregion
  384. private void btMutualAid_Click(object sender, EventArgs e)
  385. {
  386. string errMsg = "";
  387. try
  388. {
  389. //读卡
  390. string patInfo,funNO="S2101";
  391. //if (dtSettlInfo.Rows[0]["admType"].ToString() == "2")
  392. //{
  393. // funNO = "1101";
  394. //}
  395. MutualAidChooser frm = new MutualAidChooser();
  396. if (frm.ShowDialog() == DialogResult.OK)
  397. {
  398. mutualAidPay = frm.mutualAidPay;
  399. relation = frm.relation;
  400. set_flag = frm.set_flag;
  401. int i = frm.cbxInterface.SelectedIndex;
  402. DataTable dtInteface = (DataTable)frm.cbxInterface.DataSource;
  403. if (i != 2)
  404. {
  405. GlobalVariables.patientAreaCode = "";
  406. }
  407. else
  408. {
  409. GlobalVariables.patientAreaCode = "519900";
  410. }
  411. GlobalVariables.mutualAidCenterURL = dtInteface.Rows[i]["CenterURL"].ToString();
  412. GlobalVariables.mutualAidHospitalAreaCode = dtInteface.Rows[i]["AreaCode"].ToString();
  413. GlobalVariables.mutualAidInterfaceDr = int.Parse(dtInteface.Rows[i]["ID"].ToString());
  414. }
  415. else
  416. {
  417. MessageBox.Show("收款员取消共济结算!");
  418. return;
  419. }
  420. HisBusiness hb = new HisBusiness();
  421. if (hb.MutualAidReadCard(funNO, out patInfo, GlobalVariables.mutualAidCenterURL) != 0)
  422. {
  423. MessageBox.Show(patInfo);
  424. return;
  425. }
  426. //中心共济结算
  427. string centerReturn;
  428. if (mutualAid(patInfo, out centerReturn) != 0)
  429. {
  430. MessageBox.Show(centerReturn);
  431. return;
  432. }
  433. //保存到医保平台
  434. if (saveMutualAidSettlementToCloudPlatform(patInfo,centerReturn,out errMsg) != 0)
  435. {
  436. MessageBox.Show(errMsg);
  437. return;
  438. }
  439. //刷新结算信息显示
  440. if (getSettlInfo(out errMsg) != 0)
  441. {
  442. MessageBox.Show(errMsg);
  443. return;
  444. }
  445. //刷新汇总信息显示
  446. if (getSumamtInfo(out errMsg) != 0)
  447. {
  448. MessageBox.Show(errMsg);
  449. return;
  450. }
  451. else
  452. {
  453. MessageBox.Show("共济结算成功!");
  454. }
  455. }
  456. catch (Exception ex)
  457. {
  458. MessageBox.Show(ex.Message);
  459. return;
  460. }
  461. }
  462. private void btCancleMutualAid_Click(object sender, EventArgs e)
  463. {
  464. string errMsg = "";
  465. try
  466. {
  467. //撤销中心共济结算
  468. string centerReturn;
  469. if (cancleMutualAid(out centerReturn) != 0)
  470. {
  471. MessageBox.Show(centerReturn);
  472. return;
  473. }
  474. //保存到医保平台
  475. if (cancleMutualAidOfCloudPlatform(centerReturn, out errMsg) != 0)
  476. {
  477. MessageBox.Show(errMsg);
  478. return;
  479. }
  480. //刷新结算信息显示
  481. if (getSettlInfo(out errMsg) != 0)
  482. {
  483. MessageBox.Show(errMsg);
  484. return;
  485. }
  486. //刷新汇总信息显示
  487. if (getSumamtInfo(out errMsg) != 0)
  488. {
  489. MessageBox.Show(errMsg);
  490. return;
  491. }
  492. else
  493. {
  494. MessageBox.Show("撤销共济成功!");
  495. }
  496. }
  497. catch (Exception ex)
  498. {
  499. MessageBox.Show(ex.Message);
  500. return;
  501. }
  502. }
  503. private void btYes_Click(object sender, EventArgs e)
  504. {
  505. try
  506. {
  507. JObject joSetlinfo = new JObject();
  508. joSetlinfo.Add("setl_time", dtSumumt.Rows[0]["SettlementTime"].ToString());
  509. joSetlinfo.Add("cvlserv_pay", dtSumumt.Rows[0]["CivilserviceAllowancePay"].ToString());
  510. joSetlinfo.Add("hifdm_pay", dtSumumt.Rows[0]["HealthInsurancePay"].ToString());
  511. joSetlinfo.Add("cvlserv_flag", dtSumumt.Rows[0]["CivilserviceAllowancePay"].ToString());
  512. joSetlinfo.Add("med_type", dtSumumt.Rows[0]["MedicalType"].ToString());
  513. joSetlinfo.Add("brdy", dtSumumt.Rows[0]["BirthDay"].ToString());
  514. joSetlinfo.Add("naty", dtSumumt.Rows[0]["Nation"].ToString());
  515. joSetlinfo.Add("psn_cash_pay", dtSumumt.Rows[0]["PersonCashPay"].ToString());
  516. joSetlinfo.Add("certno", dtSumumt.Rows[0]["CertificateNO"].ToString());
  517. joSetlinfo.Add("hifmi_pay", dtSumumt.Rows[0]["SeriousIllnessPay"].ToString());
  518. joSetlinfo.Add("psn_no", dtSumumt.Rows[0]["PersonnelNO"].ToString());
  519. joSetlinfo.Add("act_pay_dedc", dtSumumt.Rows[0]["ActualPayDeductible"].ToString());
  520. joSetlinfo.Add("mdtrt_cert_type", dtSumumt.Rows[0]["MdtrtCertType"].ToString());
  521. joSetlinfo.Add("balc", dtSumumt.Rows[0]["Balance"].ToString());
  522. joSetlinfo.Add("medins_setl_id", dtSumumt.Rows[0]["OrganSettlementID"].ToString());
  523. joSetlinfo.Add("psn_cert_type", dtSumumt.Rows[0]["CertificateType"].ToString());
  524. joSetlinfo.Add("acct_mulaid_pay", dtSumumt.Rows[0]["AccountMutualAidAmount"].ToString());
  525. joSetlinfo.Add("clr_way", dtSumumt.Rows[0]["ClearingWay"].ToString());
  526. joSetlinfo.Add("hifob_pay", dtSumumt.Rows[0]["LargeExpensesSupplementPay"].ToString());
  527. joSetlinfo.Add("oth_pay", dtSumumt.Rows[0]["OtherPay"].ToString());
  528. joSetlinfo.Add("medfee_sumamt", dtSumumt.Rows[0]["Sumamt"].ToString());
  529. joSetlinfo.Add("hifes_pay", dtSumumt.Rows[0]["EnterpriseSupplementPay"].ToString());
  530. joSetlinfo.Add("gend", dtSumumt.Rows[0]["Gender"].ToString());
  531. joSetlinfo.Add("mdtrt_id", dtSumumt.Rows[0]["MdtrtID"].ToString());
  532. joSetlinfo.Add("acct_pay", dtSumumt.Rows[0]["AccountPaySumamt"].ToString());
  533. joSetlinfo.Add("fund_pay_sumamt", dtSumumt.Rows[0]["FundPaySumamt"].ToString());
  534. joSetlinfo.Add("fulamt_ownpay_amt", dtSumumt.Rows[0]["OwnPayAmount"].ToString());
  535. joSetlinfo.Add("hosp_part_amt", dtSumumt.Rows[0]["HospitalPartAmount"].ToString());
  536. joSetlinfo.Add("setl_id", dtSumumt.Rows[0]["SettlementID"].ToString());
  537. joSetlinfo.Add("inscp_scp_amt", dtSumumt.Rows[0]["InPolicyRangeAmount"].ToString());
  538. joSetlinfo.Add("insutype", dtSumumt.Rows[0]["InsuranceType"].ToString());
  539. joSetlinfo.Add("maf_pay", dtSumumt.Rows[0]["MedicalAssistPay"].ToString());
  540. joSetlinfo.Add("psn_name", dtSumumt.Rows[0]["PatientName"].ToString());
  541. joSetlinfo.Add("psn_part_amt", dtSumumt.Rows[0]["PersonPaySumamt"].ToString());
  542. joSetlinfo.Add("clr_optins", dtSumumt.Rows[0]["ClearingOrgan"].ToString());
  543. joSetlinfo.Add("pool_prop_selfpay", dtSumumt.Rows[0]["HealthInsuranceRatio"].ToString());
  544. joSetlinfo.Add("psn_type", dtSumumt.Rows[0]["PersonType"].ToString());
  545. joSetlinfo.Add("hifp_pay", dtSumumt.Rows[0]["HealthInsurancePay"].ToString());
  546. joSetlinfo.Add("overlmt_selfpay", dtSumumt.Rows[0]["OverLimitAmount"].ToString());
  547. joSetlinfo.Add("preselfpay_amt", dtSumumt.Rows[0]["PreSelfPayAmount"].ToString());
  548. joSetlinfo.Add("age", dtSumumt.Rows[0]["Age"].ToString());
  549. joSetlinfo.Add("clr_type", dtSumumt.Rows[0]["ClearingType"].ToString());
  550. //
  551. joSetlinfo.Add("HospitalDr", GlobalVariables.hospitalDr);
  552. joSetlinfo.Add("admID", dtSumumt.Rows[0]["AdmID"].ToString());
  553. joSetlinfo.Add("ValidFlag", dtSumumt.Rows[0]["ValidFlag"].ToString());
  554. joSetlinfo.Add("BillType", dtSumumt.Rows[0]["BillType"].ToString());
  555. joSetlinfo.Add("updateUserID", GlobalVariables.operatorNO);
  556. joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  557. joSetlinfo.Add("billID", dtSumumt.Rows[0]["BillID"].ToString());
  558. joSetlinfo.Add("recordID", dtSumumt.Rows[0]["RecordID"].ToString());
  559. joSetlinfo.Add("msgid", dtSumumt.Rows[0]["msgid"].ToString());
  560. joSetlinfo.Add("interfaceDr", dtSumumt.Rows[0]["InterfaceDr"].ToString());
  561. joSetlinfo.Add("admType", dtSumumt.Rows[0]["admType"].ToString());
  562. joSetlinfo.Add("insuplc_admdvs", dtSumumt.Rows[0]["AccountPaySumamt"].ToString());
  563. joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSumumt.Rows[0]["SettlementID"].ToString());
  564. finalSettlementInfo = joSetlinfo.ToString();
  565. this.DialogResult = DialogResult.OK;
  566. GlobalVariables.writeLog("finalSettlementInfo", finalSettlementInfo,"");
  567. Close();
  568. }
  569. catch (Exception ex)
  570. {
  571. MessageBox.Show(ex.Message);
  572. }
  573. }
  574. private void btNO_Click(object sender, EventArgs e)
  575. {
  576. this.DialogResult = DialogResult.Cancel;
  577. this.Close();
  578. }
  579. private void btQuerySettlInfo_Click(object sender, EventArgs e)
  580. {
  581. settlementID = tbMainSettlID.Text;
  582. string errMsg;
  583. if (getSettlInfo(out errMsg) != 0) { MessageBox.Show(errMsg); }
  584. if (getSumamtInfo(out errMsg) != 0) { MessageBox.Show(errMsg); }
  585. }
  586. }
  587. }