MaintainBasicData.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Business;
  3. using PTMedicalInsurance.FormSetter;
  4. using PTMedicalInsurance.Helper;
  5. using PTMedicalInsurance.Variables;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using System.Windows.Forms;
  15. namespace PTMedicalInsurance.Forms
  16. {
  17. public partial class MaintainBasicData : Form
  18. {
  19. CenterBusiness cBus = new CenterBusiness();
  20. HisMainBusiness hBus = new HisMainBusiness();
  21. HisIrisServices hIS = new HisIrisServices();
  22. MIIrisServices mIS = new MIIrisServices();
  23. InvokeHelper invoker = new InvokeHelper();
  24. public MaintainBasicData()
  25. {
  26. InitializeComponent();
  27. rbgInterface.SelectedIndex = 0;
  28. this.dgvInterface.DataError += delegate (object sender, DataGridViewDataErrorEventArgs e) { };
  29. }
  30. private void btnDownload_Click(object sender, EventArgs e)
  31. {
  32. }
  33. private void btnIntefaceQuery_Click(object sender, EventArgs e)
  34. {
  35. queryInterfaceBasicInfo(0);
  36. }
  37. private void uiButton1_Click(object sender, EventArgs e)
  38. {
  39. dgvInterface.ReadOnly = false;
  40. }
  41. #region 接口维护
  42. private void queryInterfaceBasicInfo(int index)
  43. {
  44. string errorMsg = "";
  45. switch (index)
  46. {
  47. case 0:
  48. {
  49. JObject joRtn = mIS.DynamicQuery("SELECT ID, Code, Descripts, HisHospital_Dr FROM SQLUser.CB_Hospital ","查询医保平台医院表");
  50. if (JsonHelper.parseIrisRtnValue(joRtn, out errorMsg) != 0)
  51. {
  52. MessageBox.Show(errorMsg);
  53. return;
  54. }
  55. //JArray jaParams = JArray.FromObject(joRtn["result"]["data"]);
  56. JArray jaParams = JArray.Parse(JsonHelper.getDestValue(joRtn, "result.data"));
  57. if (jaParams.Count == 0)
  58. {
  59. MessageBox.Show("未查询到数据");
  60. return;
  61. }
  62. foreach (var jo in jaParams)
  63. {
  64. jo["ID"] = int.Parse(jo["ID"].ToString());
  65. }
  66. DataTable dt = (DataTable)jaParams.ToObject(typeof(DataTable));
  67. GridViewSetter intefaceGrid = new GridViewSetter();
  68. intefaceGrid.SetHeaderTextOfInterfaceMaintain(dt, dgvInterface);
  69. joRtn = mIS.getInterface();
  70. jaParams = new JArray();
  71. jaParams = JArray.FromObject(joRtn["result"]["data"]);
  72. if (jaParams.Count == 0)
  73. {
  74. DataTableSetter dts = new DataTableSetter();
  75. dt = dts.setDgvInterfaceDataTable();
  76. }
  77. else
  78. {
  79. dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
  80. }
  81. dt.AcceptChanges();
  82. dgvInterface.DataSource = dt;
  83. dgvInterface.ReadOnly = true;
  84. break;
  85. }
  86. }
  87. }
  88. #endregion
  89. private void btnInterfaceAdd_Click(object sender, EventArgs e)
  90. {
  91. dgvInterface.ReadOnly = false;
  92. DataTable dt = (DataTable)dgvInterface.DataSource;
  93. if (dt == null)
  94. {
  95. MessageBox.Show("请先点击查询");
  96. return;
  97. }
  98. DataRow dtr = dt.NewRow();
  99. dtr["UseFlag"] = "True";
  100. dtr["InsuRegionDr"] = 12;
  101. dtr["InsuRegionFlag"] = "0";
  102. //dtr["InsuCurrencyCataLogue"] = "0";
  103. dt.Rows.Add(dtr);
  104. }
  105. private void btnInterfaceDelete_Click(object sender, EventArgs e)
  106. {
  107. dgvInterface.ReadOnly = true;
  108. DataTable dt = (DataTable)dgvInterface.DataSource;
  109. int index = dgvInterface.CurrentRow.Index;
  110. string ID = dt.Rows[index]["ID"].ToString();
  111. string interfaceID = dgvInterface.CurrentRow.Cells["InterfaceNO"].Value.ToString();
  112. DataRow[] drs = dt.Select("ID = " + ID + " AND InterfaceNO='" + interfaceID + "'");
  113. drs[0].Delete();
  114. dgvInterface.ReadOnly = false;
  115. }
  116. private void btnInterfceSave_Click(object sender, EventArgs e)
  117. {
  118. DataTable dt = (DataTable)dgvInterface.DataSource;
  119. dynamic jsonInsert = new JObject();
  120. dynamic jsonUpdate = new JObject();
  121. dynamic jsonDelete = new JObject();
  122. JArray jsonArry_I = new JArray();
  123. JArray jsonArry_U = new JArray();
  124. JArray jsonArry_D = new JArray();
  125. for (int i = 0; i < dt.Rows.Count; i++)
  126. {
  127. //MessageBox.Show(dt.Rows[i].RowState.ToString() + ':' + dt.Rows[i][0].ToString());
  128. dynamic jsonTemp = new JObject();
  129. if (dt.Rows[i].RowState.ToString() == "Added")
  130. {
  131. for (int j = 0; j < dt.Columns.Count; j++)
  132. {
  133. //MessageBox.Show(dt.Columns[j].ColumnName);
  134. if (dt.Columns[j].ColumnName == "HospitalDr")
  135. {
  136. jsonTemp.Add(new JProperty("HospitalDr", Global.inf.hospitalDr));
  137. }
  138. else
  139. {
  140. jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
  141. }
  142. }
  143. jsonTemp.updateUserID = Global.user.ID;
  144. jsonArry_I.Add(jsonTemp);
  145. }
  146. if (dt.Rows[i].RowState.ToString() == "Deleted")
  147. {
  148. for (int j = 0; j < dt.Columns.Count; j++)
  149. {
  150. string CloumnName = dt.Columns[j].ColumnName;
  151. jsonTemp.Add(new JProperty(CloumnName, dt.Rows[i][CloumnName, DataRowVersion.Original].ToString()));
  152. }
  153. jsonTemp.updateUserID = Global.user.ID;
  154. jsonArry_D.Add(jsonTemp);
  155. }
  156. if (dt.Rows[i].RowState.ToString() == "Modified")
  157. {
  158. for (int j = 0; j < dt.Columns.Count; j++)
  159. {
  160. //MessageBox.Show(dt.Columns[j].ColumnName);
  161. jsonTemp.Add(new JProperty(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()));
  162. }
  163. jsonTemp.updateUserID = Global.user.ID;
  164. jsonArry_U.Add(jsonTemp);
  165. }
  166. }
  167. jsonInsert.Add(new JProperty("params", jsonArry_I));
  168. jsonInsert.code = "09010005";
  169. jsonUpdate.Add(new JProperty("params", jsonArry_U));
  170. jsonUpdate.code = "09010005";
  171. jsonDelete.Add(new JProperty("params", jsonArry_D));
  172. jsonDelete.code = "09010006";
  173. InvokeHelper invoker = new InvokeHelper();
  174. JObject joRtn = new JObject();
  175. if (jsonArry_I.Count != 0)
  176. {
  177. joRtn = invoker.invokeInsuService(jsonInsert.ToString(), "插入");
  178. }
  179. if (jsonArry_U.Count != 0)
  180. {
  181. joRtn = invoker.invokeInsuService(jsonUpdate.ToString(), "更新");
  182. }
  183. if (jsonArry_D.Count != 0)
  184. {
  185. joRtn = invoker.invokeInsuService(jsonDelete.ToString(), "删除");
  186. }
  187. string errorMessage = "";
  188. if (JsonHelper.parseIrisRtnValue(joRtn, out errorMessage) != 0)
  189. {
  190. MessageBox.Show("保存失败:" + errorMessage);
  191. }
  192. else
  193. {
  194. MessageBox.Show("保存成功!");
  195. }
  196. dgvInterface.ReadOnly = true;
  197. }
  198. }
  199. }