AddSignleDirectory.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Common;
  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
  14. {
  15. public partial class AddSingleDirectory : Form
  16. {
  17. private int direcType ;
  18. public JObject joPamam = new JObject();
  19. public AddSingleDirectory()
  20. {
  21. InitializeComponent();
  22. this.cbChargeItemType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
  23. this.cbChargeItemType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
  24. }
  25. public AddSingleDirectory(int direcType)
  26. {
  27. InitializeComponent();
  28. this.direcType = direcType;
  29. cbxDirecType.SelectedIndex = this.direcType;
  30. initForm();
  31. }
  32. public AddSingleDirectory(int direcType,DataRow dr)
  33. {
  34. InitializeComponent();
  35. this.direcType = direcType;
  36. cbxDirecType.SelectedIndex = this.direcType;
  37. initForm();
  38. setValue(dr);
  39. }
  40. private void pnlClient_Paint(object sender, PaintEventArgs e)
  41. {
  42. }
  43. private void btnNo_Click(object sender, EventArgs e)
  44. {
  45. DialogResult = DialogResult.Cancel;
  46. }
  47. private void setTextBoxEnabled(bool b)
  48. {
  49. Control.ControlCollection sonControls = pnlClient.Controls;
  50. //遍历所有控件
  51. foreach (Control control in sonControls)
  52. {
  53. if (control is TextBox) control.Enabled = b;
  54. }
  55. }
  56. private bool getFlag(string value)
  57. {
  58. if (value == "")
  59. {
  60. return false;
  61. }
  62. if (value == "1")
  63. {
  64. return true;
  65. }
  66. else
  67. {
  68. return false;
  69. }
  70. }
  71. private void initForm()
  72. {
  73. setTextBoxEnabled(true);
  74. switch (direcType)
  75. {
  76. case 0:
  77. {
  78. initDrugForm();
  79. break;
  80. }
  81. case 2:
  82. {
  83. initDrugForm();
  84. break;
  85. }
  86. }
  87. }
  88. //private void setValue(DataRow dr)
  89. //{
  90. // switch (direcType)
  91. // {
  92. // case 0:
  93. // {
  94. // setDrugInfo(dr);
  95. // break;
  96. // }
  97. // }
  98. //}
  99. private void setValue(DataRow dr)
  100. {
  101. try
  102. {
  103. tbCode.Text = dr["Code"].ToString();
  104. tbName.Text = dr["Name"].ToString();
  105. tbLocateCode.Text = dr["LocateCode"].ToString();
  106. tbSafetyCode.Text = dr["DrugSafetyStandardCode"].ToString();
  107. tbDosageName.Text = dr["DosageFormName"].ToString();
  108. tbDosageCode.Text = dr["DosageFormCode"].ToString();
  109. //if (dr["CategoryCode"].ToString()!="") cbCategoryCode.Text = $"{dr["CategoryCode"].ToString()}.{dr["CategoryName"].ToString()}";
  110. if (dr["ListType"].ToString() != "") cbCategoryCode.Text = $"{dr["ListType"].ToString()}.{dr["CategoryName"].ToString()}";
  111. if (dr["ListType"].ToString() != "")
  112. {
  113. foreach (var item in cbCategoryCode.Items)
  114. {
  115. if (dr["ListType"].ToString() == tools.getDestPosStrBySpliter(item.ToString(), 1, "."))
  116. {
  117. cbCategoryCode.Text = item.ToString();
  118. }
  119. }
  120. }
  121. tbSpecification.Text = dr["Specification"].ToString();
  122. tbUnitOfPackag.Text = dr["UnitOfPackag"].ToString();
  123. tbUnitOfValuation.Text = dr["UnitOfValuation"].ToString();
  124. tbStartDate.Text = dr["StartDate"].ToString();
  125. tbEndDate.Text = dr["EndDate"].ToString();
  126. tbPinyinSearchCode.Text = dr["PinyinSearchCode"].ToString();
  127. rtbInstructions.Text = dr["Instructions"].ToString();
  128. rtbExceptContent.Text = dr["ExceptContent"].ToString();
  129. rtbConnotation.Text = dr["Connotation"].ToString();
  130. rtbLimitRange.Text = dr["LimitRange"].ToString();
  131. tbNote.Text = dr["Note"].ToString();
  132. tbApprovalNO.Text = dr["ApprovalNO"].ToString();
  133. tbVersionNO.Text = dr["VersionNO"].ToString();
  134. tbVersionName.Text = dr["VersionName"].ToString();
  135. cbUseFlag.Checked = getFlag(dr["UseFlag"].ToString());
  136. cbSpecialFlag.Checked = getFlag(dr["SpecialFlag"].ToString());
  137. cbLimitFlag.Checked = getFlag(dr["LimitFlag"].ToString());
  138. cbValidFlag.Checked = getFlag(dr["ValidFlag"].ToString());
  139. tbUniqueRecordNO.Text = dr["UniqueRecordNO"].ToString();
  140. tbNationalCode.Text = dr["NationalCode"].ToString();
  141. tbNationalName.Text = dr["NationalName"].ToString();
  142. tbManufacturers.Text = dr["Manufacturers"].ToString();
  143. tbSelfPercent.Text = dr["SelfPercent"].ToString();
  144. tbChargeStandards.Text = dr["ChargeStandards"].ToString();
  145. tbCeilingPrice.Text = dr["CeilingPrice"].ToString();
  146. tbDirectoryPayPercent.Text = dr["DirectoryPayPercent"].ToString();
  147. tbMinPackagingQuantity.Text = dr["MinPackagingQuantity"].ToString();
  148. if (dr["ChargeItemLevel"].ToString() != "") cbxChargeItemLevel.Text = $"{dr["ChargeItemLevel"].ToString()}.{dr["ChargeItemLevelName"].ToString()}";
  149. string ChargeItemType = dr["ChargeItemTypeCode"].ToString();
  150. string ChargeItemTypeText = "";
  151. foreach (var item in cbChargeItemType.Items)
  152. {
  153. if (ChargeItemType == tools.getDestPosStrBySpliter(item.ToString(), 1, "."))
  154. {
  155. ChargeItemTypeText = item.ToString();
  156. break;
  157. }
  158. }
  159. if (ChargeItemTypeText != "")
  160. {
  161. cbChargeItemType.Text = ChargeItemTypeText;
  162. }
  163. else
  164. {
  165. cbChargeItemType.Text = ChargeItemType;
  166. }
  167. //tbCompany.Text = dr["Company"].ToString();
  168. }
  169. catch (Exception ex)
  170. {
  171. MessageBox.Show("setDrugInfo" + ex.Message);
  172. }
  173. }
  174. private int AssignToJoParam(out string errMsg)
  175. {
  176. errMsg = "";
  177. string hisTypeName = cbxDirecType.Text;
  178. string pym = tbPinyinSearchCode.Text;
  179. if (tbPinyinSearchCode.Text == "")
  180. {
  181. pym = "";
  182. }
  183. joPamam = new JObject();
  184. joPamam.Add("Code",tbCode.Text);
  185. joPamam.Add("Name", tbName.Text);
  186. joPamam.Add("HisType",direcType + 1);
  187. joPamam.Add("HisTypeName", hisTypeName);
  188. joPamam.Add("LocateCode", tbLocateCode.Text);
  189. joPamam.Add("LocateName", tbLocateName.Text);
  190. joPamam.Add("DrugSafetyStandardCode", tbSafetyCode.Text);
  191. joPamam.Add("DosageFormCode", tbDosageCode.Text);
  192. joPamam.Add("DosageFormName", tbDosageName.Text);
  193. if (cbCategoryCode.Text == "")
  194. {
  195. errMsg="请维护目录类别!";
  196. cbCategoryCode.Focus();
  197. return -1;
  198. }
  199. joPamam.Add("CategoryCode", tools.getDestPosStrBySpliter(cbCategoryCode.Text,1,"."));
  200. joPamam.Add("ListType", tools.getDestPosStrBySpliter(cbCategoryCode.Text, 1, "."));
  201. joPamam.Add("CategoryName", tools.getDestPosStrBySpliter(cbCategoryCode.Text, 2, "."));
  202. joPamam.Add("Specification", tbSpecification.Text);
  203. joPamam.Add("SpecificationCode", "");
  204. joPamam.Add("UnitOfPackag", tbUnitOfPackag.Text);
  205. joPamam.Add("UnitOfValuation", tbUnitOfValuation.Text);
  206. joPamam.Add("StartDate", tbStartDate.Text);
  207. joPamam.Add("EndDate", tbEndDate.Text);
  208. joPamam.Add("PinyinSearchCode", pym);
  209. joPamam.Add("Instructions", rtbInstructions.Text);
  210. joPamam.Add("ExceptContent", rtbExceptContent.Text);
  211. joPamam.Add("Connotation", rtbConnotation.Text);
  212. joPamam.Add("Note", tbNote.Text);
  213. joPamam.Add("ValidFlag", Convert.ToInt32(cbValidFlag.Checked));
  214. joPamam.Add("ApprovalNO", tbApprovalNO.Text);
  215. joPamam.Add("VersionNO", tbVersionNO.Text);
  216. joPamam.Add("VersionName", tbVersionName.Text);
  217. joPamam.Add("UseFlag", Convert.ToInt32(cbUseFlag.Checked));
  218. joPamam.Add("SpecialFlag", Convert.ToInt32(cbSpecialFlag.Checked));
  219. joPamam.Add("LimitFlag", Convert.ToInt32(cbLimitFlag.Checked));
  220. joPamam.Add("LimitRange", rtbLimitRange.Text);
  221. joPamam.Add("UniqueRecordNO", tbUniqueRecordNO.Text);
  222. joPamam.Add("NationalCode", tbNationalCode.Text);
  223. joPamam.Add("NationalName", tbNationalName.Text);
  224. joPamam.Add("Manufacturers", tbManufacturers.Text);
  225. joPamam.Add("UpdateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
  226. if (cbxChargeItemLevel.Text == "")
  227. {
  228. errMsg ="请维护项目等级!";
  229. cbxChargeItemLevel.Focus();
  230. return -1;
  231. }
  232. joPamam.Add("ChargeItemLevel", tools.getDestPosStrBySpliter(cbxChargeItemLevel.Text,1,"."));
  233. //joPamam.Add("Company", tbCompany.Text);
  234. if (cbChargeItemType.Text == "")
  235. {
  236. errMsg = "请维护收费类别!";
  237. cbChargeItemType.Focus();
  238. return -1;
  239. }
  240. joPamam.Add("ChargeItemType", tools.getDestPosStrBySpliter(cbChargeItemType.Text, 1, "."));
  241. joPamam.Add("CeilingPrice", tbCeilingPrice.Text);
  242. joPamam.Add("DirectoryPayPercent", tbDirectoryPayPercent.Text);
  243. joPamam.Add("ChargeStandards", tbChargeStandards.Text);
  244. joPamam.Add("SelfPercent", tbSelfPercent.Text);
  245. joPamam.Add("MinPackagingQuantity", tbMinPackagingQuantity.Text);
  246. return 0;
  247. }
  248. private void initDrugForm()
  249. {
  250. lbApprovalNO.ForeColor = Color.Red;
  251. lbSpecification.ForeColor = Color.Red;
  252. lbManufacturers.ForeColor = Color.Red;
  253. lbUnitOfPackag.ForeColor = Color.Red;
  254. lbCompany.ForeColor = Color.Red;
  255. }
  256. private void btnYes_Click(object sender, EventArgs e)
  257. {
  258. string err = "";
  259. if (AssignToJoParam(out err) != 0)
  260. {
  261. MessageBox.Show(err);
  262. return;
  263. }
  264. DialogResult = DialogResult.OK;
  265. }
  266. private void cbChargeItemType_TextUpdate(object sender, EventArgs e)
  267. {
  268. }
  269. }
  270. }