ChooseCard.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlTypes;
  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 Newtonsoft.Json.Linq;
  14. using PTMedicalInsurance.Forms;
  15. using PTMedicalInsurance.Variables;
  16. namespace PTMedicalInsurance.Forms
  17. {
  18. public partial class ChooseCard : Form
  19. {
  20. public string cardType;
  21. public string businessType;
  22. public string ID,PatName;
  23. public int sL_CardType;
  24. public string psnCertType;
  25. //设置业务实例
  26. InvokeHelper invoker = new InvokeHelper();
  27. public ChooseCard()
  28. {
  29. InitializeComponent();
  30. this.StartPosition = FormStartPosition.CenterParent;
  31. initCombox();
  32. }
  33. private DataTable GetDBLKComboxTable(string sqlStr)
  34. {
  35. InvokeHelper invoker = new InvokeHelper();
  36. dynamic joInparm = new JObject();
  37. dynamic joTmp = new JObject();
  38. joTmp.sqlStr = sqlStr;
  39. JArray jaParams = new JArray();
  40. jaParams.Add(joTmp);
  41. joInparm.Add("params", JArray.FromObject(jaParams));
  42. joInparm.code = "09010014";
  43. string inParam = joInparm.ToString();
  44. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  45. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  46. DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
  47. //dt.Columns[0].ColumnName = "编码";
  48. //dt.Columns[1].ColumnName = "名称";
  49. //dt.Columns[2].ColumnName = "拼音查找码";
  50. return dt;
  51. }
  52. private void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
  53. {
  54. dblcbx.sDisplayField = "Code,Name,SearchCode";
  55. dblcbx.sDisplayMember = "名称";
  56. dblcbx.sKeyWords = "Code,SearchCode";
  57. DataTable dt = GetDBLKComboxTable(sqlStr);
  58. dblcbx.DataSource = dt;
  59. if (dt?.Rows.Count > 0)
  60. {
  61. // default to select first one;
  62. }
  63. dblcbx.RowFilterVisible = true;
  64. dblcbx.TextBox.Width = 400;
  65. dblcbx.DataGridView.Width = 400;
  66. dblcbx.DataGridView.Columns[0].Name = "编码";
  67. dblcbx.DataGridView.Columns[1].Name = "名称";
  68. dblcbx.DataGridView.Columns[2].Name = "查找码";
  69. dblcbx.DataGridView.Columns[0].Width = 100;
  70. dblcbx.DataGridView.Columns[1].Width = 200;
  71. }
  72. private void initCombox()
  73. {
  74. string sqlCondition = " and A.Interface_Dr = '" + Global.inf.InsuCurrencyCataLogue.ToString() + "'";
  75. string sqlStr = "";
  76. 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 = 'psn_cert_type'" + sqlCondition;
  77. SetDBLKCombox(ref dblkcbxPsnCertType, sqlStr);
  78. }
  79. private void btOk_Click(object sender, EventArgs e)
  80. {
  81. cardType = "0" + (rbgCardType.SelectedIndex +1).ToString();
  82. businessType = "01"+cbBusinessType.Text.Substring(0,3);
  83. // 身份证
  84. if (rbgCardType.SelectedIndex == 1)
  85. {
  86. ID = tbID.Text;
  87. PatName = tbName.Text;
  88. }
  89. //社保卡
  90. if (rbgCardType.SelectedIndex == 2)
  91. {
  92. if (cbCardType.Text == "")
  93. {
  94. MessageBox.Show("读社保卡时需要选择卡类型!");
  95. return;
  96. }
  97. sL_CardType = int.Parse(cbCardType.Text.Trim().Substring(0, 1)); //卡类型
  98. }
  99. DialogResult = DialogResult.OK;
  100. }
  101. private void ChooseCard_Load(object sender, EventArgs e)
  102. {
  103. rbgCardType.SelectedIndex = 1; //身份证
  104. cbBusinessType.SelectedIndex = 0; //社保卡
  105. }
  106. private void rbgCardType_ValueChanged(object sender, int index, string text)
  107. {
  108. if (rbgCardType.SelectedIndex == 0)
  109. {
  110. // 电子凭证
  111. cbBusinessType.Enabled = true;
  112. lblNo.Text = "电子凭证号";
  113. tbID.Text = "";
  114. tbID.Focus();
  115. }
  116. else
  117. {
  118. lblNo.Text = "身份证号";
  119. cbBusinessType.Enabled = false;
  120. tbID.Text = Global.pat.presetIDNO;
  121. }
  122. if (rbgCardType.SelectedIndex == 2)
  123. {
  124. cbCardType.SelectedIndex = 0;
  125. cbCardLevel.SelectedIndex = 2;
  126. cbCardType.Enabled = true;
  127. tbPassword.Enabled = true;
  128. //tbPassword.Text = "";
  129. }
  130. else
  131. {
  132. cbCardType.Enabled = false;
  133. tbPassword.Enabled = false;
  134. }
  135. if (rbgCardType.SelectedIndex == 1)
  136. {
  137. cbCBD.Text = "东莞市";
  138. Global.pat.card.SearchAdmCode = "441900";
  139. }
  140. else
  141. {
  142. cbCBD.Text = "";
  143. Global.pat.card.SearchAdmCode = "";
  144. }
  145. if (rbgCardType.SelectedIndex == 3)
  146. {
  147. lblNo.Text = "社保卡号";
  148. }
  149. }
  150. private void btCancle_Click(object sender, EventArgs e)
  151. {
  152. DialogResult = DialogResult.Cancel;
  153. }
  154. private void SearchAdmdvs()
  155. {
  156. JObject joAdmdvsInfo = new JObject();
  157. SearchAdmdvs Adm = new SearchAdmdvs();
  158. try
  159. {
  160. Global.pat.card.SearchAdmKey = cbCBD.Text;
  161. Adm.StartPosition = FormStartPosition.CenterParent;
  162. if (Adm.ShowDialog() == DialogResult.OK)
  163. {
  164. cbCBD.Text = Global.pat.card.SearchAdmName;
  165. if (!string.IsNullOrEmpty(Global.pat.card.SearchAdmCode))
  166. {
  167. //自动选择异地
  168. if (Utils.isOtherCity(Global.pat.card.SearchAdmCode))
  169. {
  170. //rbgOtherProv.SelectedIndex = 1;
  171. }
  172. }
  173. }
  174. }
  175. catch (Exception ex)
  176. {
  177. MessageBox.Show("异常:" + ex.Message);
  178. return;
  179. }
  180. }
  181. private void dblkcbxPsnCertType_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  182. {
  183. DataGridViewRow row = e.Value as DataGridViewRow;
  184. DataRowView dataRow = row.DataBoundItem as DataRowView;
  185. psnCertType = dataRow["Code"].ToString().Trim();
  186. //insuTypeName = dataRow["Name"].ToString().Trim();
  187. }
  188. private void cbCBD_DoEnter(object sender, EventArgs e)
  189. {
  190. //初始化
  191. Global.pat.card.SearchAdmCode = "";
  192. SearchAdmdvs();
  193. }
  194. }
  195. }