PatientInsuInfo.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  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 Newtonsoft.Json.Linq;
  11. using PTMedicalInsurance.Helper;
  12. using PTMedicalInsurance.Variables;
  13. using PTMedicalInsurance.Business;
  14. using PTMedicalInsurance.Common;
  15. namespace PTMedicalInsurance.Forms
  16. {
  17. public partial class PatientInsuInfo : Form
  18. {
  19. public DataTable dtInsuInfo;
  20. public DataTable dtIDInfo;
  21. public JObject joSelectedInsuInfo;
  22. public int insuInfoIndex = 0;
  23. public int idInfoIndex = 0;
  24. InvokeHelper invoker = new InvokeHelper();
  25. private MIIrisServices mIS = new MIIrisServices();
  26. private DataTable dtFundPayType;
  27. private Form mainForm;
  28. //1.声明自适应类实例
  29. AutoResizeForm asc = new AutoResizeForm();
  30. public PatientInsuInfo()
  31. {
  32. InitializeComponent();
  33. this.StartPosition = FormStartPosition.CenterParent;
  34. asc.controllInitializeSize(this);
  35. asc.controlAutoSize(this);
  36. }
  37. public PatientInsuInfo(JObject jo, Form frm)
  38. {
  39. InitializeComponent();
  40. InitForm(jo, frm);
  41. }
  42. private void InitForm(JObject jo, Form frm)
  43. {
  44. InitForm(jo);
  45. mainForm = frm;
  46. CheckForIllegalCrossThreadCalls = false;
  47. // 禁用关闭按钮
  48. this.FormBorderStyle = FormBorderStyle.None;
  49. // 隐藏标题栏
  50. this.ControlBox = false;
  51. // 其他可能需要的配置
  52. if (mainForm != this)
  53. {
  54. this.TopLevel = false;
  55. this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性
  56. }
  57. else
  58. {
  59. this.WindowState = FormWindowState.Maximized;
  60. }
  61. //
  62. //grdSetter.setHisRegInfo(dgvHisRegInfo);
  63. //grdSetter.setCenterApplyInfo(dgvCenterApplyInfo);
  64. }
  65. private void InitForm(JObject jo)
  66. {
  67. dtInsuInfo = (DataTable)jo["insuinfo"].ToObject(typeof(DataTable));
  68. dtIDInfo = (DataTable)jo["idetinfo"].ToObject(typeof(DataTable));
  69. JObject joBaseInfo = JObject.FromObject(jo["baseinfo"]);
  70. this.tbName.Text = joBaseInfo["psn_name"].ToString();
  71. this.tbPsnNO.Text = joBaseInfo["psn_no"].ToString();
  72. this.tbGend.Text = joBaseInfo["gend"].ToString();
  73. this.tbBirthDay.Text = joBaseInfo["brdy"].ToString();
  74. this.tbNaty.Text = joBaseInfo["naty"].ToString();
  75. this.tbCertType.Text = joBaseInfo["psn_cert_type"].ToString();
  76. this.tbCertNO.Text = joBaseInfo["certno"].ToString();
  77. this.tbAge.Text = joBaseInfo["age"].ToString();
  78. string expContent = joBaseInfo["exp_content"].ToString(); //字段扩展 只有居民返回
  79. //JObject joInsuInfo = JObject.FromObject(jo["insuinfo"]);
  80. //Global.pat.insuType= joInsuInfo["insutypeNo"].ToString();
  81. setDgvIDInfo();
  82. setDgvInsuInfo();
  83. setDgvTreatement(dgvTreatment);
  84. dgvInsuInfo.DataSource = dtInsuInfo;
  85. dgvIDInfo.DataSource = dtIDInfo;
  86. //获取通用目录
  87. string sTYML = mIS.GetCommonInterface_Dr(Global.inf.interfaceDr.ToString(), "");
  88. if (sTYML == "")
  89. Global.inf.interfaceDr_TY = Global.inf.interfaceDr;
  90. else
  91. Global.inf.interfaceDr_TY = int.Parse(sTYML);
  92. string sqlCondition = " and A.Interface_Dr = '" + Global.inf.interfaceDr_TY.ToString() + "'";
  93. string sqlStr = "SELECT B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B ON A.ID = B.HBDictionary_Dr WHERE A.InsuCode = 'fund_pay_type'" + sqlCondition;
  94. dtFundPayType = GetDBLKComboxTable(sqlStr);
  95. }
  96. public PatientInsuInfo(JObject jo)
  97. {
  98. InitializeComponent();
  99. dtInsuInfo = (DataTable)jo["insuinfo"].ToObject(typeof(DataTable));
  100. dtIDInfo = (DataTable)jo["idetinfo"].ToObject(typeof(DataTable));
  101. JObject joBaseInfo = JObject.FromObject(jo["baseinfo"]);
  102. this.tbName.Text = joBaseInfo["psn_name"].ToString();
  103. this.tbPsnNO.Text = joBaseInfo["psn_no"].ToString();
  104. this.tbGend.Text = joBaseInfo["gend"].ToString();
  105. this.tbBirthDay.Text = joBaseInfo["brdy"].ToString();
  106. this.tbNaty.Text = joBaseInfo["naty"].ToString();
  107. this.tbCertType.Text = joBaseInfo["psn_cert_type"].ToString();
  108. this.tbCertNO.Text = joBaseInfo["certno"].ToString();
  109. this.tbAge.Text = joBaseInfo["age"].ToString();
  110. string expContent = joBaseInfo["exp_content"].ToString(); //字段扩展 只有居民返回
  111. //JObject joInsuInfo = JObject.FromObject(jo["insuinfo"]);
  112. //Global.pat.insuType= joInsuInfo["insutypeNo"].ToString();
  113. setDgvIDInfo();
  114. setDgvInsuInfo();
  115. dgvInsuInfo.DataSource = dtInsuInfo;
  116. dgvIDInfo.DataSource = dtIDInfo;
  117. }
  118. private DataTable GetDBLKComboxTable(string sqlStr)
  119. {
  120. InvokeHelper invoker = new InvokeHelper();
  121. dynamic joInparm = new JObject();
  122. dynamic joTmp = new JObject();
  123. joTmp.sqlStr = sqlStr;
  124. JArray jaParams = new JArray();
  125. jaParams.Add(joTmp);
  126. joInparm.Add("params", JArray.FromObject(jaParams));
  127. joInparm.code = "09010014";
  128. string inParam = joInparm.ToString();
  129. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  130. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  131. DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
  132. //dt.Columns[0].ColumnName = "编码";
  133. //dt.Columns[1].ColumnName = "名称";
  134. //dt.Columns[2].ColumnName = "拼音查找码";
  135. return dt;
  136. }
  137. private void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120)
  138. {
  139. DataGridViewColumn newColumn = new DataGridViewTextBoxColumn();
  140. newColumn.HeaderText = headerText;
  141. newColumn.Width = width;
  142. newColumn.DataPropertyName = dataPropertyName;
  143. newColumn.Name = dataPropertyName;
  144. dgv.Columns.Add(newColumn);
  145. }
  146. public void setDgvTreatement(DataGridView dgv)
  147. {
  148. dgv.AutoGenerateColumns = false;
  149. dgv.Columns.Clear();
  150. AddDGVColumn(dgv, "人员编号", "psn_no", 300);
  151. AddDGVColumn(dgv, "待遇检查类型", "trt_chk_type", 140);
  152. AddDGVColumn(dgv, "基金支付类型", "fund_pay_type", 300);
  153. AddDGVColumn(dgv, "基金款项待遇享受标志", "trt_enjymnt_flag", 140);
  154. AddDGVColumn(dgv, "开始日期", "begndate", 200);
  155. AddDGVColumn(dgv, "结束日期", "enddate", 200);
  156. AddDGVColumn(dgv, "待遇检查结果", "trt_chk_rslt", 140);
  157. AddDGVColumn(dgv, "字段扩展", "exp_content", 140);
  158. dgv.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
  159. dgv.ColumnHeadersHeight = 30;
  160. }
  161. private void setDgvInsuInfo()
  162. {
  163. AddDGVColumn(dgvInsuInfo, "余额", "balc", 80);
  164. AddDGVColumn(dgvInsuInfo, "险种类型", "insutype",200);
  165. AddDGVColumn(dgvInsuInfo, "人员类别", "psn_type",100);
  166. AddDGVColumn(dgvInsuInfo, "人员参保状态", "psn_insu_stas");
  167. AddDGVColumn(dgvInsuInfo, "个人参保日期", "psn_insu_date");
  168. AddDGVColumn(dgvInsuInfo, "暂停参保日期", "paus_insu_date");
  169. AddDGVColumn(dgvInsuInfo, "公务员标志", "cvlserv_flag",80);
  170. AddDGVColumn(dgvInsuInfo, "参保地医保区划", "insuplc_admdvs");
  171. AddDGVColumn(dgvInsuInfo, "单位名称", "emp_name",300);
  172. AddDGVColumn(dgvInsuInfo, "险种类型编码", "insutypeNo", 150);
  173. dgvInsuInfo.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
  174. dgvInsuInfo.ColumnHeadersHeight = 40;
  175. }
  176. private void setDgvIDInfo()
  177. {
  178. AddDGVColumn(dgvIDInfo, "人员身份类别", "psn_idet_type", 140);
  179. AddDGVColumn(dgvIDInfo, "人员类别等级", "psn_type_lv", 140);
  180. AddDGVColumn(dgvIDInfo, "备注", "memo", 150);
  181. AddDGVColumn(dgvIDInfo, "开始时间", "begntime", 200);
  182. AddDGVColumn(dgvIDInfo, "结束时间", "endtime", 200);
  183. dgvIDInfo.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
  184. dgvIDInfo.ColumnHeadersHeight = 40;
  185. }
  186. private void uiButton1_Click(object sender, EventArgs e)
  187. {
  188. insuInfoIndex = dgvInsuInfo.CurrentRow.Index;
  189. if (dtIDInfo.Rows.Count != 0 )
  190. idInfoIndex = dgvIDInfo.CurrentRow.Index;
  191. joSelectedInsuInfo = new JObject();
  192. for (int i = 0; i < dtInsuInfo.Columns.Count; i++)
  193. {
  194. string key = dtInsuInfo.Columns[i].ColumnName;
  195. string value = dgvInsuInfo.CurrentRow.Cells[key].Value.ToString();
  196. joSelectedInsuInfo.Add(key, value);
  197. }
  198. DialogResult = DialogResult.OK;
  199. }
  200. private void uiButton2_Click(object sender, EventArgs e)
  201. {
  202. DialogResult = DialogResult.Cancel;
  203. }
  204. private void uiButton3_Click(object sender, EventArgs e)
  205. {
  206. string errorMsg = "";
  207. InvokeHelper invoker = new InvokeHelper();
  208. String sInput = JsonHelper.setCenterInpar("YH04", "");
  209. JObject joRtn= new JObject();
  210. joRtn=invoker.invokeCenterService("YH04", sInput);
  211. if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
  212. {
  213. MessageBox.Show("修改卡密码失败:" + errorMsg);
  214. }
  215. else
  216. {
  217. MessageBox.Show("修改卡密码成功!");
  218. }
  219. }
  220. private JObject QueryTreamentInfo()
  221. {
  222. int i = dgvInsuInfo.SelectedIndex;
  223. string insutype = dgvInsuInfo.Rows[i].Cells["insutypeNo"].Value.ToString();
  224. var joData = new { data = new { psn_no = this.tbPsnNO.Text, insutype = insutype, med_type = tools.getDestPosStrBySpliter(cbxMedicalType.Text, 1, "."), begntime = tbBeginDate_treatment.Text, endtime = tbEndDate_treatment.Text, fixmedins_code = Global.inf.hospitalNO } };
  225. return invoker.invokeCenterService("2001", JObject.FromObject(joData));
  226. }
  227. private void btTreatment_Click(object sender, EventArgs e)
  228. {
  229. JObject joRtn = QueryTreamentInfo();
  230. string err;
  231. if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
  232. {
  233. MessageBox.Show(err);
  234. return;
  235. }
  236. dgvTreatment.DataSource = (DataTable)joRtn["output"]["result"]["trtinfo"].ToObject(typeof(DataTable));
  237. }
  238. private void btTurnToOtherHosp_Click(object sender, EventArgs e)
  239. {
  240. }
  241. private void btAccumulate_Click(object sender, EventArgs e)
  242. {
  243. }
  244. }
  245. }