SelfpayPercentForm.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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
  14. {
  15. public partial class SelfpayPercentForm : Form
  16. {
  17. public string CenterCode { get; set; }
  18. public string SelfpayId = "";
  19. public string BeginDate { get; set; }
  20. public SelfpayPercentForm()
  21. {
  22. InitializeComponent();
  23. }
  24. private DataTable GetDBLKComboxTable(string sqlStr)
  25. {
  26. InvokeHelper invoker = new InvokeHelper();
  27. dynamic joInparm = new JObject();
  28. dynamic joTmp = new JObject();
  29. joTmp.sqlStr = sqlStr;
  30. JArray jaParams = new JArray();
  31. jaParams.Add(joTmp);
  32. joInparm.Add("params", JArray.FromObject(jaParams));
  33. joInparm.code = "09010081";
  34. string inParam = joInparm.ToString();
  35. JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
  36. //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
  37. string rtnData = JsonHelper.getDestValue(joRtn, "result.data");
  38. DataTable dt = (DataTable)JArray.Parse(rtnData).ToObject(typeof(DataTable));
  39. //dt.Columns[0].ColumnName = "编码";
  40. //dt.Columns[1].ColumnName = "名称";
  41. //dt.Columns[2].ColumnName = "拼音查找码";
  42. return dt;
  43. }
  44. private void SetDBLKCombox(ref PTControl.DBLookupCombox dblcbx, string sqlStr)
  45. {
  46. dblcbx.RowFilterVisible = true;
  47. dblcbx.TextBox.Width = 400;
  48. dblcbx.DataGridView.Width = 400;
  49. dblcbx.DataGridView.Columns[0].Name = "编码";
  50. dblcbx.DataGridView.Columns[1].Name = "名称";
  51. dblcbx.DataGridView.Columns[2].Name = "查找码";
  52. dblcbx.DataGridView.Columns[0].Width = 100;
  53. dblcbx.DataGridView.Columns[1].Width = 200;
  54. }
  55. private void SelfpayPercentForm_Load(object sender, EventArgs e)
  56. {
  57. loadType();
  58. string strType = "A";
  59. GetPayPercent(strType);
  60. }
  61. private void loadType()
  62. {
  63. string sqlStr = " SELECT B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B ON A.ID = B.HBDictionary_Dr"
  64. + " WHERE A.InsuCode = 'RQLB' AND Interface_Dr = " + Global.inf.InsuCurrencyCataLogue;
  65. chkType.ValueMember = "Code";
  66. chkType.DisplayMember = "Name";
  67. DataTable dt = GetDBLKComboxTable(sqlStr);
  68. chkType.DataSource = dt;
  69. if (dt?.Rows.Count > 0)
  70. {
  71. chkType.SelectedIndex = 0;
  72. }
  73. }
  74. private void GetPayPercent(string type)
  75. {
  76. string sqlStr = " SELECT top 1 ID,Code,Name,Proportion,BeginDate FROM HB_MedInsuDirectorySelfpayProportion where Interface_Dr = " + Global.inf.interfaceDr + " And Code = '" + CenterCode + "' and PersonnelType = '" + type + "' order by ID desc";
  77. DataTable dt = GetDBLKComboxTable(sqlStr);
  78. if (dt?.Rows.Count > 0 && dt?.Columns.Count>0)
  79. {
  80. txtPercent.Text = dt.Rows[0]["Proportion"].ToString();
  81. lblCode.Text = CenterCode + "已设置自付比例";
  82. lblCode.ForeColor = Color.Black;
  83. SelfpayId = dt.Rows[0]["ID"].ToString();
  84. }
  85. else {
  86. lblCode.Text = CenterCode + "未设置自付比例";
  87. lblCode.ForeColor = Color.Blue;
  88. SelfpayId = "";
  89. txtPercent.Text = "";
  90. }
  91. }
  92. private void btnSave_Click(object sender, EventArgs e)
  93. {
  94. decimal percent = decimal.Parse(txtPercent.Text.Trim());
  95. if (percent > 1) {
  96. percent = (percent / 100);
  97. }
  98. JArray joArray = new JArray();
  99. dynamic joTmp = new JObject();
  100. joTmp.HospitalDr = Global.inf.hospitalDr;
  101. joTmp.InterfaceDr = Global.inf.interfaceDr;
  102. joTmp.updateUserID = Global.user.ID;
  103. joTmp.ID = SelfpayId;
  104. joTmp.Code = CenterCode;
  105. string personType = chkType.SelectedValue.ToString(); //人群类别
  106. if (string.IsNullOrEmpty(personType))
  107. {
  108. personType = "A"; //职工
  109. }
  110. joTmp.PersonnelType = personType;
  111. string proportionType = ""; //自费类型(统筹类别)
  112. if (string.IsNullOrEmpty(proportionType))
  113. {
  114. proportionType = "6"; //普通门诊
  115. }
  116. joTmp.ProportionType = proportionType;
  117. joTmp.Proportion = percent + "";
  118. joArray.Add(joTmp);
  119. string errMsg = "";
  120. InvokeHelper invoker = new InvokeHelper();
  121. JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010085", joArray).ToString(), "设置自费比例");
  122. if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
  123. {
  124. MessageBox.Show(errMsg);
  125. }
  126. else {
  127. MessageBox.Show("设置成功!");
  128. }
  129. }
  130. private void btnCancel_Click(object sender, EventArgs e)
  131. {
  132. Close();
  133. }
  134. private void chkType_SelectedIndexChanged(object sender, EventArgs e)
  135. {
  136. GetPayPercent(chkType.SelectedValue.ToString());
  137. }
  138. }
  139. }