SettlementWithNopwdApply.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Helper;
  3. using PTMedicalInsurance.Variables;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. namespace PTMedicalInsurance.Forms.SettlementWithNopwdApplys
  14. {
  15. public partial class SettlementWithNopwdApply : Form
  16. {
  17. private Form mainForm;
  18. private NopwdBusiness nopwdBus = new NopwdBusiness();
  19. private string err;
  20. private GridViewSetter grdSetter =new GridViewSetter();
  21. public SettlementWithNopwdApply()
  22. {
  23. InitializeComponent();
  24. InitForm(this);
  25. }
  26. public SettlementWithNopwdApply(Form frm)
  27. {
  28. InitializeComponent();
  29. InitForm(frm);
  30. }
  31. private void InitForm(Form frm)
  32. {
  33. mainForm = frm;
  34. CheckForIllegalCrossThreadCalls = false;
  35. // 禁用关闭按钮
  36. this.FormBorderStyle = FormBorderStyle.None;
  37. // 隐藏标题栏
  38. this.ControlBox = false;
  39. // 其他可能需要的配置
  40. if (mainForm != this)
  41. {
  42. this.TopLevel = false;
  43. this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性
  44. }
  45. else
  46. {
  47. this.WindowState = FormWindowState.Maximized;
  48. }
  49. //
  50. dpST.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
  51. dpED.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
  52. //
  53. grdSetter.setHisRegInfo(dgvHisRegInfo);
  54. grdSetter.setCenterApplyInfo(dgvCenterApplyInfo);
  55. }
  56. private void btnQueryRegInfo_Click(object sender, EventArgs e)
  57. {
  58. if (string.IsNullOrEmpty(tbName.Text))
  59. {
  60. MessageBox.Show("请输入患者姓名!");
  61. return;
  62. }
  63. dynamic joIn = new JObject();
  64. joIn.PatientName = tbName.Text;
  65. joIn.BeginDate = dpST.Text;
  66. joIn.EndDate = dpED.Text;
  67. joIn.InsuRegID = tbInsuRegID.Text;
  68. if (nopwdBus.QueryRegInfo(joIn, out err) != 0)
  69. {
  70. MessageBox.Show(err);
  71. }
  72. else
  73. {
  74. JObject joRtn = JObject.Parse(err);
  75. DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  76. dgvHisRegInfo.DataSource = dt;
  77. }
  78. }
  79. private void tsmApply_Click(object sender, EventArgs e)
  80. {
  81. ApplyReason frm = new ApplyReason();
  82. if (frm.ShowDialog() != DialogResult.OK)
  83. {
  84. return;
  85. }
  86. DataTable dt = (DataTable)dgvHisRegInfo.DataSource;
  87. int i = dgvHisRegInfo.CurrentRow.Index;
  88. dynamic joApply = new JObject();
  89. joApply.prm_yabtch = dt.Rows[i]["InsuranceAreaCode"].ToString();
  90. joApply.prm_yab003 = dt.Rows[i]["InsuranceAreaCode"].ToString();
  91. joApply.prm_akb020 = Global.inf.hospitalNO;
  92. joApply.prm_aae011 = Global.user.ID;
  93. joApply.prm_ykc141 = Global.user.name;
  94. joApply.prm_aae036 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  95. dynamic joApplyDetail = new JObject();
  96. joApplyDetail.prm_akc190 = dt.Rows[i]["InsuRegID"].ToString();
  97. joApplyDetail.prm_aka130 = dt.Rows[i]["MedicalType"].ToString();
  98. joApplyDetail.prm_aac001 = dt.Rows[i]["PersonalNO"].ToString();
  99. joApplyDetail.prm_aac003 = dt.Rows[i]["PatientName"].ToString();
  100. joApplyDetail.prm_aac002 = dt.Rows[i]["CertificateNO"].ToString();
  101. joApplyDetail.prm_ykb065 = dt.Rows[i]["InsuType"].ToString();
  102. joApplyDetail.prm_aab001 = "";
  103. joApplyDetail.prm_aab004 = "";
  104. joApplyDetail.prm_aae013 = frm.reason;
  105. joApplyDetail.prm_flag = 1;
  106. JObject joRow = new JObject();
  107. joRow.Add("row", joApplyDetail);
  108. joApply.Add("dataset", joRow);
  109. if (nopwdBus.Apply(joApply, out err) != 0)
  110. {
  111. MessageBox.Show(err);
  112. }
  113. else
  114. {
  115. MessageBox.Show("申请成功");
  116. }
  117. }
  118. private void tsmCancel_Click(object sender, EventArgs e)
  119. {
  120. if (dgvCenterApplyInfo.Rows.Count == 0)
  121. {
  122. MessageBox.Show("请先点击查询中心申请信息按钮,确保中心存在申请数据!");
  123. return;
  124. }
  125. DataTable dtCenterInfo = (DataTable)dgvCenterApplyInfo.DataSource;
  126. string centerRegID = dtCenterInfo.Rows[0]["str_akc190"].ToString();
  127. DataTable dt = (DataTable)dgvHisRegInfo.DataSource;
  128. int i = dgvHisRegInfo.CurrentRow.Index;
  129. if (centerRegID != dt.Rows[i]["InsuRegID"].ToString())
  130. {
  131. MessageBox.Show("检测到要撤销的数据与下方查询数据医保就诊号不一致,请检查!");
  132. return;
  133. }
  134. ApplyReason frm = new ApplyReason();
  135. if (frm.ShowDialog() != DialogResult.OK)
  136. {
  137. return;
  138. }
  139. dynamic joApply = new JObject();
  140. joApply.prm_yabtch = dt.Rows[i]["InsuranceAreaCode"].ToString();
  141. joApply.prm_yab003 = dt.Rows[i]["InsuranceAreaCode"].ToString();
  142. joApply.prm_akb020 = Global.inf.hospitalNO;
  143. joApply.prm_aae011 = Global.user.ID;
  144. joApply.prm_ykc141 = Global.user.name;
  145. joApply.prm_aae036 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  146. dynamic joApplyDetail = new JObject();
  147. joApplyDetail.prm_akc190 = dt.Rows[i]["InsuRegID"].ToString();
  148. joApplyDetail.prm_aka130 = dt.Rows[i]["MedicalType"].ToString();
  149. joApplyDetail.prm_aac001 = dt.Rows[i]["PersonalNO"].ToString();
  150. joApplyDetail.prm_aac003 = dt.Rows[i]["PatientName"].ToString();
  151. joApplyDetail.prm_aac002 = dt.Rows[i]["CertificateNO"].ToString();
  152. joApplyDetail.prm_ykb065 = dt.Rows[i]["InsuType"].ToString();
  153. joApplyDetail.prm_aab001 = "";
  154. joApplyDetail.prm_aab004 = "";
  155. joApplyDetail.prm_aae013 = frm.reason;
  156. joApplyDetail.prm_flag = 0;
  157. JObject joRow = new JObject();
  158. joRow.Add("row", joApplyDetail);
  159. joApply.Add("dataset", joRow);
  160. if (nopwdBus.Apply(joApply, out err) != 0)
  161. {
  162. MessageBox.Show(err);
  163. }
  164. else
  165. {
  166. dgvCenterApplyInfo.DataSource = null;
  167. MessageBox.Show("撤销成功");
  168. }
  169. }
  170. private void btnClose_Click(object sender, EventArgs e)
  171. {
  172. mainForm.Close();
  173. }
  174. private void tsmQueryCenterInfo_Click(object sender, EventArgs e)
  175. {
  176. DataTable dt = (DataTable)dgvHisRegInfo.DataSource;
  177. int i = dgvHisRegInfo.CurrentRow.Index;
  178. dynamic joQuery = new JObject();
  179. joQuery.prm_yabtch = dt.Rows[i]["InsuranceAreaCode"].ToString();
  180. joQuery.prm_yab003 = dt.Rows[i]["InsuranceAreaCode"].ToString();
  181. joQuery.prm_akb020 = Global.inf.hospitalNO;
  182. joQuery.prm_akc190 = dt.Rows[i]["InsuRegID"].ToString();
  183. joQuery.prm_aac003 = dt.Rows[i]["PatientName"].ToString();
  184. if (nopwdBus.QueryCenterApplyedInfo(joQuery, out err) != 0)
  185. {
  186. MessageBox.Show(err);
  187. }
  188. else
  189. {
  190. JObject joRtn = JObject.Parse(err);
  191. DataTable dtTmp = (DataTable)joRtn["output"]["sqldata"]["row"].ToObject(typeof(DataTable));
  192. dgvCenterApplyInfo.DataSource = dtTmp;
  193. }
  194. }
  195. }
  196. }