ChooseCard.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  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.mainInterfaceDr.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. //var person = (Name: "张三", Age: 25);
  82. //MessageBox.Show(person.Name); // 应正常输出
  83. //return;
  84. cardType = "0" + (rbgCardType.SelectedIndex +1).ToString();
  85. businessType = "01"+cbBusinessType.Text.Substring(0,3);
  86. Global.pat.OtherProv = rbgOtherProv.SelectedIndex;
  87. //if (rbgCardType.SelectedIndex == 0)
  88. //{
  89. // if (string.IsNullOrEmpty(tbID.Text.Trim()))
  90. // {
  91. // MessageBox.Show("请先扫电子医保码!");
  92. // tbID.Focus();
  93. // return;
  94. // } else
  95. // {
  96. // Global.pat.ecCardNo = tbID.Text.Trim();
  97. // }
  98. //}
  99. //if ((rbgOtherProv.SelectedIndex == 1)&&(cbCBD.Text==""))
  100. //{
  101. // MessageBox.Show("异地结算,请选择统筹区!");
  102. // return;
  103. //}
  104. // 身份证
  105. if (rbgCardType.SelectedIndex == 1)
  106. {
  107. ID = tbID.Text;
  108. PatName = tbName.Text;
  109. Global.pat.mdtrtcertNO = tbID.Text;
  110. }
  111. //社保卡
  112. if (rbgCardType.SelectedIndex == 2)
  113. {
  114. if (cbCardType.Text == "")
  115. {
  116. MessageBox.Show("读社保卡时需要选择卡类型!");
  117. return;
  118. }
  119. sL_CardType = int.Parse(cbCardType.Text.Trim().Substring(0, 1)); //卡类型
  120. }
  121. DialogResult = DialogResult.OK;
  122. }
  123. private void ChooseCard_Load(object sender, EventArgs e)
  124. {
  125. rbgCardType.SelectedIndex = 2; //身份证
  126. cbBusinessType.SelectedIndex = 0; //社保卡
  127. rbgOtherProv.SelectedIndex = 0; //本地
  128. }
  129. private void rbgCardType_ValueChanged(object sender, int index, string text)
  130. {
  131. if (rbgCardType.SelectedIndex == 0)
  132. {
  133. // 电子凭证
  134. cbBusinessType.Enabled = true;
  135. lblNo.Text = "电子凭证号";
  136. tbID.Focus();
  137. }
  138. else
  139. {
  140. lblNo.Text = "身份证号";
  141. cbBusinessType.Enabled = false;
  142. }
  143. if (rbgCardType.SelectedIndex == 2)
  144. {
  145. cbCardType.SelectedIndex = 0;
  146. cbCardLevel.SelectedIndex = 2;
  147. cbCardType.Enabled = true;
  148. tbPassword.Enabled = true;
  149. //tbPassword.Text = "";
  150. }
  151. else
  152. {
  153. cbCardType.Enabled = false;
  154. tbPassword.Enabled = false;
  155. }
  156. if (rbgCardType.SelectedIndex != 1)
  157. {
  158. tbID.Text = "";
  159. }
  160. }
  161. private void btCancle_Click(object sender, EventArgs e)
  162. {
  163. DialogResult = DialogResult.Cancel;
  164. }
  165. /// <summary>
  166. /// 修改密码
  167. /// </summary>
  168. /// <param name="sender"></param>
  169. /// <param name="e"></param>
  170. private void uiButton1_Click(object sender, EventArgs e)
  171. {
  172. string errorMsg="";
  173. JObject joData = new JObject();
  174. joData.Add("", "");
  175. JObject joInput = new JObject();
  176. joInput.Add("data", joData);
  177. InvokeHelper invoker = new InvokeHelper();
  178. JObject joRtn =invoker.invokeCenterService(TradeEnum.ModifyPassword, joInput);
  179. if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
  180. {
  181. MessageBox.Show("修改卡密码失败:" + errorMsg);
  182. }
  183. else
  184. {
  185. MessageBox.Show("修改卡密码成功!");
  186. }
  187. }
  188. private void SearchAdmdvs()
  189. {
  190. JObject joAdmdvsInfo = new JObject();
  191. SearchAdmdvs Adm = new SearchAdmdvs();
  192. try
  193. {
  194. Global.pat.card.SearchAdmKey = cbCBD.Text;
  195. Adm.StartPosition = FormStartPosition.CenterParent;
  196. if (Adm.ShowDialog() == DialogResult.OK)
  197. {
  198. if (!string.IsNullOrEmpty(Global.pat.card.SearchAdmCode))
  199. {
  200. //自动选择异地
  201. if (Utils.isOtherCity(Global.pat.card.SearchAdmCode))
  202. {
  203. rbgOtherProv.SelectedIndex = 1;
  204. }
  205. }
  206. cbCBD.Text = Global.pat.card.SearchAdmName;
  207. }
  208. }
  209. catch (Exception ex)
  210. {
  211. MessageBox.Show("异常:" + ex.Message);
  212. return;
  213. }
  214. }
  215. private void dblkcbxPsnCertType_AfterSelector(object sender, PTControl.AfterSelectorEventArgs e)
  216. {
  217. DataGridViewRow row = e.Value as DataGridViewRow;
  218. DataRowView dataRow = row.DataBoundItem as DataRowView;
  219. psnCertType = dataRow["Code"].ToString().Trim();
  220. }
  221. private void cbCBD_DoEnter(object sender, EventArgs e)
  222. {
  223. //初始化
  224. Global.pat.card.SearchAdmCode = "";
  225. SearchAdmdvs();
  226. }
  227. }
  228. }