/****************************************************************************** * 文件名称: GridViewSetter.cs * 文件说明: GridView界面的设置 * 当前版本: V1.0 * 创建日期: 2022-04-14 * 2020-04-14: 增加 AddDGVColumn 方法 * 2020-04-14: 增加 AddDGVCheckBoxColumn 方法 * 2020-04-14: 增加 SetHeaderTextOfDrug 方法 * 2020-04-14: 增加 SetHeaderTextOfDiagnose 方法 ******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PTMedicalInsurance.FormSetter { class GridViewSetter { #region 设置目录下载表格 /// /// 动态增加datagridview列 /// /// /// /// private void AddDGVColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120) { DataGridViewColumn newColumn = new DataGridViewTextBoxColumn(); newColumn.HeaderText = headerText; newColumn.Width = width; newColumn.DataPropertyName = dataPropertyName; newColumn.Name = dataPropertyName; dgv.Columns.Add(newColumn); } private void AddDGVCheckBoxColumn(DataGridView dgv, string headerText, string dataPropertyName, int width = 120) { DataGridViewColumn newColumn = new DataGridViewCheckBoxColumn(); newColumn.HeaderText = headerText; newColumn.Width = width; newColumn.DataPropertyName = dataPropertyName; newColumn.Name = dataPropertyName; dgv.Columns.Add(newColumn); } private void AddDGVComboxColumn(DataTable dt,DataGridView dgv, string headerText, string dataPropertyName, int width = 120) { DataGridViewComboBoxColumn newColumn = new DataGridViewComboBoxColumn(); newColumn.DataSource = dt; newColumn.HeaderText = headerText; newColumn.Width = width; newColumn.DataPropertyName = dataPropertyName; newColumn.Name = dataPropertyName; newColumn.DisplayMember = "descripts"; newColumn.ValueMember = "id"; dgv.Columns.Add(newColumn); } private void AddDGVComboxColumn_2(DataGridView dgv, string headerText, string dataPropertyName, int width = 120) { //DataGridViewComboBoxColumn newColumn = new DataGridViewComboBoxColumn(); //newColumn.RaiseDataError(DataGridViewDataErrorEventArgs e); grvcolumn newColumn = new grvcolumn(); DataTable dt = getSpecDictionaryContent(dataPropertyName); if ((dt == null) || (dt.Rows.Count == 1)) { AddDGVColumn(dgv, headerText, dataPropertyName, width); return; } newColumn.DataSource = dt; newColumn.HeaderText = headerText; newColumn.Width = width; newColumn.DataPropertyName = dataPropertyName; newColumn.Name = dataPropertyName; newColumn.DisplayMember = "name"; newColumn.ValueMember = "code"; newColumn.ReadOnly = true; newColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing; newColumn.ValueType = typeof(string); newColumn.AutoComplete = false; dgv.Columns.Add(newColumn); } #endregion #region 设置表格标题 /// /// 设置药品列标题 /// public void SetHeaderTextOfSettlList(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.Columns.Clear(); AddDGVColumn(dgv, "结算编号", "SettlementID", 200); AddDGVColumn(dgv, "就诊号", "MdtrtID", 200); AddDGVColumn(dgv, "姓名", "PatientName"); AddDGVColumn(dgv, "险种", "InsuranceType"); AddDGVColumn(dgv, "人员类别", "PersonType"); AddDGVColumn(dgv, "结算时间", "SettlementTime"); AddDGVColumn(dgv, "医疗类别", "MedicalType"); AddDGVColumn(dgv, "总金额", "Sumamt"); AddDGVColumn(dgv, "自付金额", "OwnPayAmount"); AddDGVColumn(dgv, "超限金额", "OverLimitAmount"); AddDGVColumn(dgv, "先行自付", "PreSelfPayAmount"); AddDGVColumn(dgv, "政策范围内金额", "InPolicyRangeAmount"); AddDGVColumn(dgv, "公务员补助金额", "CivilserviceAllowancePay"); AddDGVColumn(dgv, "大病补助金额", "SeriousIllnessPay"); AddDGVColumn(dgv, "大额补助金额", "LargeExpensesSupplementPay"); AddDGVColumn(dgv, "医疗救助金额", "MedicalAssistPay"); AddDGVColumn(dgv, "医院承担金额", "HospitalPartAmount"); AddDGVColumn(dgv, "其他支出金额", "OtherPay"); AddDGVColumn(dgv, "基金支付金额", "FundPaySumamt"); AddDGVColumn(dgv, "个人支付金额", "PersonPaySumamt"); AddDGVColumn(dgv, "现金支付金额", "PersonCashPay"); AddDGVColumn(dgv, "账户余额", "Balance"); AddDGVColumn(dgv, "共济账户支付金额", "AccountMutualAidAmount"); AddDGVColumn(dgv, "清算机构", "ClearingOrgan"); AddDGVColumn(dgv, "清算方式", "ClearingWay"); AddDGVColumn(dgv, "清算类型", "ClearingType"); AddDGVColumn(dgv, "有效标志", "ValidFlag"); } /// /// 设置中心交易日志列标题 /// public void SetHeaderTextOfCenterLog(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.Columns.Clear(); AddDGVColumn(dgv, "报文ID", "msgid", 200); AddDGVColumn(dgv, "交易编号", "infno", 80); AddDGVColumn(dgv, "医保编号", "psn_no", 200); AddDGVColumn(dgv, "交易时间", "inf_time", 200); AddDGVColumn(dgv, "参保地", "insuplc_admdvs", 100); AddDGVColumn(dgv, "就医地", "mdtrtarea_admvs", 100); AddDGVColumn(dgv, "入参", "inparam"); AddDGVColumn(dgv, "出参", "outparam"); AddDGVColumn(dgv, "操作员", "opter", 80); AddDGVColumn(dgv, "有效标志", "validflag", 60); AddDGVColumn(dgv, "接收系统编码", "recer_sys_code", 60); AddDGVColumn(dgv, "设备编号", "dev_no", 200); AddDGVColumn(dgv, "医疗机构编码", "fixmedins_code", 150); AddDGVColumn(dgv, "医疗机构名称", "fixmedins_name", 300); } /// /// 设置登记列标题 /// public void SetHeaderTextOfRegister(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.Columns.Clear(); AddDGVColumn(dgv, "HIS就诊号", "AdmID", 80); AddDGVColumn(dgv, "姓名", "Pat_Name", 80); AddDGVColumn(dgv, "医保编号", "PersonalNO", 300); AddDGVColumn(dgv, "医保登记号", "InsuRegID", 250); AddDGVColumn(dgv, "中心登记时间", "RegDate", 200); AddDGVColumn(dgv, "发生时间", "OccurTime", 200); AddDGVColumn(dgv, "险种", "InsuType",80); AddDGVColumn(dgv, "凭证类型", "Cert_Type",60); AddDGVColumn(dgv, "凭证编号", "Cert_NO", 250); AddDGVColumn(dgv, "医疗类别", "med_type", 60); AddDGVColumn(dgv, "参保地", "insuplc_admdvs", 60); AddDGVColumn(dgv, "就医地", "mdtrtarea_admvs", 60); AddDGVColumn(dgv, "登记状态", "RegState", 60); AddDGVColumn(dgv, "有效标志", "ValidFlag", 60); AddDGVColumn(dgv, "类型", "Type", 60); AddDGVColumn(dgv, "取消登记时间", "CancleRegDate", 200); AddDGVColumn(dgv, "报文ID", "msgid", 250); } #endregion #region 设置中心目录查询 /// /// 设置限价信息列标题 /// public void SetHeaderTextOfLimitPrice(DataGridView dgv) { dgv.Columns.Clear(); dgv.ColumnHeadersHeight = 60; AddDGVColumn(dgv, "医保目录编码", "hilist_code", 200); //AddDGVColumn(dgv, "医保目录限价类型", "hilist_lmtpric_type", 200); AddDGVComboxColumn_2(dgv, "医保目录限价类型", "hilist_lmtpric_type"); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "参保所属医保区划", "insu_admdvs", 200); AddDGVColumn(dgv, "表名", "tabname", 200); //AddDGVColumn(dgv, "医保目录超限处理方式", "overlmt_dspo_way", 200); AddDGVComboxColumn_2(dgv, "医保目录超限处理方式", "overlmt_dspo_way"); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "医保目录定价上限金额", "hilist_pric_uplmt_amt", 200); AddDGVComboxColumn_2(dgv, "有效标志", "vali_flag"); //AddDGVColumn(dgv, "有效标志", "vali_flag", 200); AddDGVColumn(dgv, "唯一记录号", "rid", 200); } /// /// 设置自付比例信息 /// public void SetHeaderTextOfSelfPay(DataGridView dgv) { dgv.Columns.Clear(); dgv.ColumnHeadersHeight = 60; AddDGVColumn(dgv, "医保目录编码", "hilist_code", 200); AddDGVComboxColumn_2(dgv, "医保目录自付比例人员类别", "selfpay_prop_psn_type"); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "参保所属医保区划", "insu_admdvs", 200); AddDGVColumn(dgv, "表名", "tabname", 200); AddDGVComboxColumn_2(dgv, "目录自付比例类别", "selfpay_prop_type"); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "自付比例", "selfpay_prop", 200); AddDGVComboxColumn_2(dgv, "有效标志", "vali_flag"); } private DataTable getSpecDictionaryContent(string dicType) { MIIrisServices mis = new MIIrisServices(); try { JObject joRtn = mis.getSpecDictionary(Global.inf.interfaceDr.ToString(), dicType); JArray jaDictionary = new JArray(); jaDictionary = JArray.Parse(JsonHelper.getDestValue(joRtn, "result.data")); DataTable dt = (DataTable)jaDictionary.ToObject(typeof(DataTable)); return dt; } catch (Exception) { return null; throw; } } /// /// 设置医保目录信息 /// public void SetHeaderTextOfInsuDir(DataGridView dgv) { dgv.Columns.Clear(); dgv.ColumnHeadersHeight = 60; AddDGVColumn(dgv, "医保目录编码", "hilist_code", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "参保机构医保区划", "insu_admdvs", 200); AddDGVColumn(dgv, "医保目录名称", "hilist_name", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); //DataGridViewComboBoxColumn dtInfo = new DataGridViewComboBoxColumn(); //DataGridViewComboBoxColumn cbColumn = dtInfo as DataGridViewComboBoxColumn; //cbColumn.DataSource = getSpecDictionaryContent(""); //cbColumn.DisplayMember = "name"; //cbColumn.ValueMember = "code"; //DataGridViewComboBoxColumn newColumn = new DataGridViewComboBoxColumn(); //DataTable dt = getSpecDictionaryContent("med_chrgitm_type"); //newColumn.DataSource = dt; //newColumn.HeaderText = "医疗收费项目类别"; //newColumn.Width = 120; //newColumn.DataPropertyName = "med_chrgitm_type"; //newColumn.Name = "med_chrgitm_type"; //newColumn.DisplayMember = "name"; //newColumn.ValueMember = "code"; //newColumn.ReadOnly = true; //dgv.Columns.Add(newColumn); AddDGVComboxColumn_2(dgv, "医疗收费项目类别", "med_chrgitm_type"); //AddDGVColumn(dgv, "医疗收费项目类别", "med_chrgitm_type", 200); //AddDGVColumn(dgv, "收费项目等级", "chrgitm_lv", 200); AddDGVComboxColumn_2(dgv, "收费项目等级", "chrgitm_lv"); AddDGVComboxColumn_2(dgv, "限制使用标志", "lmt_used_flag", 200); //AddDGVColumn(dgv, "目录类别", "list_type", 200); AddDGVComboxColumn_2(dgv, "目录类别", "list_type"); AddDGVComboxColumn_2(dgv, "医疗使用标志", "med_use_flag", 200); AddDGVComboxColumn_2(dgv, "生育使用标志", "matn_used_flag", 200); //AddDGVColumn(dgv, "医保目录使用类别", "hilist_use_type", 200); AddDGVComboxColumn_2(dgv, "医保目录使用类别", "hilist_use_type"); AddDGVComboxColumn_2(dgv, "限复方使用类型", "lmt_cpnd_type"); AddDGVColumn(dgv, "五笔助记码", "wubi", 200); AddDGVColumn(dgv, "拼音助记码", "pinyin", 200); AddDGVComboxColumn_2(dgv, "有效标志", "vali_flag"); AddDGVColumn(dgv, "统筹区", "poolarea_no", 200); } /// /// 设置具体目录详细信息 /// public void SetHeaderTextOfMoreInfo(int type, DataGridView dgv) { dgv.Columns.Clear(); dgv.ColumnHeadersHeight = 60; switch (type) { case 0://西药 { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "药品商品名", "drug_prodname", 200); AddDGVColumn(dgv, "通用名编码", "genname_codg", 200); AddDGVColumn(dgv, "药品通用名", "drug_genname", 200); AddDGVColumn(dgv, "化学名称", "chemname", 200); AddDGVColumn(dgv, "别名", "alis", 200); AddDGVColumn(dgv, "英文名称", "eng_name", 200); AddDGVColumn(dgv, "注册名称", "reg_name", 200); AddDGVColumn(dgv, "药品本位码", "drugstdcode", 200); AddDGVComboxColumn_2(dgv, "药品剂型", "drug_dosform", 200); AddDGVColumn(dgv, "药品剂型名称", "drug_dosform_name", 200); AddDGVColumn(dgv, "药品类别", "drug_type", 200); AddDGVColumn(dgv, "药品类别名称", "drug_type_name", 200); AddDGVColumn(dgv, "药品规格", "drug_spec", 200); AddDGVColumn(dgv, "药品规格代码", "drug_spec_code", 200); AddDGVColumn(dgv, "注册剂型", "reg_dosform", 200); AddDGVColumn(dgv, "注册规格", "reg_spec", 200); AddDGVColumn(dgv, "注册规格代码", "reg_spec_code", 200); AddDGVColumn(dgv, "国家药品编号", "nat_drug_no", 200); AddDGVComboxColumn_2(dgv, "中成药标志", "tcmpat_flag", 200); AddDGVColumn(dgv, "生产地类别", "prodplac_type", 200); AddDGVColumn(dgv, "生产地类别名称", "prodplac_type_name", 200); AddDGVComboxColumn_2(dgv, "计价单位类型", "prcunt_type", 200); AddDGVColumn(dgv, "非处方药标志", "otc_flag", 200); AddDGVColumn(dgv, "非处方药标志名称", "otc_flag_name", 200); AddDGVComboxColumn_2(dgv, "包装材质", "pacmatl", 200); AddDGVColumn(dgv, "包装材质名称", "pacmatl_name", 200); AddDGVColumn(dgv, "包装规格", "pacspec", 200); AddDGVColumn(dgv, "包装数量", "pac_cnt", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVComboxColumn_2(dgv, "最小使用单位", "min_useunt", 200); AddDGVColumn(dgv, "最小销售单位", "min_salunt", 200); AddDGVColumn(dgv, "最小计量单位", "min_unt", 200); AddDGVColumn(dgv, "最小包装数量", "min_pac_cnt", 200); AddDGVColumn(dgv, "最小包装单位", "min_pacunt", 200); AddDGVColumn(dgv, "最小制剂单位", "min_prepunt", 200); AddDGVColumn(dgv, "最小包装单位名称", "minpacunt_name", 200); AddDGVColumn(dgv, "最小制剂单位名称", "min_prepunt_name", 200); AddDGVColumn(dgv, "药品有效期", "drug_expy", 200); AddDGVColumn(dgv, "最小计价单位", "min_prcunt", 200); AddDGVColumn(dgv, "五笔助记码", "wubi", 200); AddDGVColumn(dgv, "拼音助记码", "pinyin", 200); AddDGVColumn(dgv, "分包装厂家", "subpck_fcty", 200); AddDGVColumn(dgv, "生产企业代码", "prodentp_code", 200); AddDGVColumn(dgv, "生产企业名称", "prodentp_name", 200); AddDGVColumn(dgv, "特殊限价药品标志", "sp_lmtpric_drug_flag", 200); AddDGVColumn(dgv, "特殊药品标志", "sp_drug_flag", 200); AddDGVColumn(dgv, "限制使用范围", "lmt_usescp", 200); AddDGVColumn(dgv, "限制使用标志", "lmt_used_flag", 200); AddDGVColumn(dgv, "药品注册证编号", "drug_regno", 200); AddDGVColumn(dgv, "药品注册证号开始日期", "drug_regcert_begndate", 200); AddDGVColumn(dgv, "药品注册证号结束日期", "drug_regcert_enddate", 200); AddDGVColumn(dgv, "批准文号", "aprvno", 200); AddDGVColumn(dgv, "批准文号开始日期", "aprvno_begndate", 200); AddDGVColumn(dgv, "批准文号结束日期", "aprvno_enddate", 200); AddDGVColumn(dgv, "市场状态", "mkt_stas", 200); AddDGVColumn(dgv, "市场状态名称", "mkt_stas_name", 200); AddDGVColumn(dgv, "药品注册批件电子档案", "drug_reg_appvletr_elecacs", 200); AddDGVColumn(dgv, "药品补充申请批件电子档案", "splm_appy_appvletr_file", 200); AddDGVColumn(dgv, "国家医保药品目录备注", "nat_hi_druglist_memo", 200); AddDGVComboxColumn_2(dgv, "基本药物标志", "bas_medn_flag", 200); AddDGVColumn(dgv, "增值税调整药品标志", "advaltax_adjm_drug_flag", 200); AddDGVColumn(dgv, "增值税调整药品名称", "advaltax_adjm_drug_name", 200); AddDGVColumn(dgv, "上市药品目录集药品", "lstd_druglist_drug", 200); AddDGVComboxColumn_2(dgv, "医保谈判药品标志", "hi_nego_drug_flag", 200); AddDGVColumn(dgv, "医保谈判药品名称", "hi_nego_drug_name", 200); AddDGVColumn(dgv, "卫健委药品编码", "nhc_drug_codg", 200); AddDGVComboxColumn_2(dgv, "有效标志", "vali_flag", 200); break; } case 1://中草药 { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "中草药名称", "tcmherb_name", 200); AddDGVColumn(dgv, "单复方标志", "cpnd_flag", 200); AddDGVColumn(dgv, "质量等级", "qlt_reg", 200); AddDGVColumn(dgv, "药用部位", "med_part", 200); AddDGVColumn(dgv, "安全计量", "safe_mtr", 200); AddDGVColumn(dgv, "常规用法", "cnvl_used", 200); AddDGVColumn(dgv, "性味", "natfla", 200); AddDGVColumn(dgv, "归经", "mertpm", 200); AddDGVColumn(dgv, "品种", "cat", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "有效标志", "vali_flag", 200); AddDGVColumn(dgv, "中草药年份", "tcmherb_year", 200); break; } case 2://自制剂目录 { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "药品商品名", "drug_prodname", 200); AddDGVColumn(dgv, "别名", "alis", 200); AddDGVColumn(dgv, "英文名称", "eng_name", 200); AddDGVColumn(dgv, "剂型", "dosform", 200); AddDGVColumn(dgv, "剂型名称", "dosform_name", 200); AddDGVColumn(dgv, "注册剂型", "reg_dosform", 200); AddDGVColumn(dgv, "成分", "ing", 200); AddDGVColumn(dgv, "功能主治", "efcc_atd", 200); AddDGVColumn(dgv, "性状", "chrt", 200); AddDGVColumn(dgv, "药品规格", "drug_spec", 200); AddDGVColumn(dgv, "药品规格代码", "drug_spec_code", 200); AddDGVColumn(dgv, "注册规格", "reg_spec", 200); AddDGVColumn(dgv, "注册规格代码", "reg_spec_code", 200); AddDGVColumn(dgv, "给药途径", "rute", 200); AddDGVColumn(dgv, "贮藏", "stog", 200); AddDGVColumn(dgv, "使用频次", "used_frqu", 200); AddDGVColumn(dgv, "每次用量", "each_dos", 200); AddDGVColumn(dgv, "药品类别", "drug_type", 200); AddDGVColumn(dgv, "药品类别名称", "drug_type_name", 200); AddDGVColumn(dgv, "非处方药标志", "otc_flag", 200); AddDGVColumn(dgv, "非处方药标志名称", "otc_flag_name", 200); AddDGVColumn(dgv, "包装材质", "pacmatl", 200); AddDGVColumn(dgv, "包装材质名称", "pacmatl_name", 200); AddDGVColumn(dgv, "包装规格", "pacspec", 200); AddDGVColumn(dgv, "说明书", "manl", 200); AddDGVColumn(dgv, "包装数量", "pac_cnt", 200); AddDGVColumn(dgv, "最小使用单位", "min_useunt", 200); AddDGVColumn(dgv, "最小销售单位", "min_salunt", 200); AddDGVColumn(dgv, "最小计量单位", "min_unt", 200); AddDGVColumn(dgv, "最小包装数量", "min_pac_cnt", 200); AddDGVColumn(dgv, "最小包装单位", "min_pacunt", 200); AddDGVColumn(dgv, "最小制剂单位", "min_prepunt", 200); AddDGVColumn(dgv, "最小制剂单位名称", "min_prepunt_name", 200); AddDGVColumn(dgv, "药品有效期", "drug_expy", 200); AddDGVColumn(dgv, "最小计价单位", "min_prcunt", 200); AddDGVColumn(dgv, "不良反应", "defs", 200); AddDGVColumn(dgv, "注意事项", "mnan", 200); AddDGVColumn(dgv, "禁忌", "tabo", 200); AddDGVColumn(dgv, "生产企业代码", "prodentp_code", 200); AddDGVColumn(dgv, "生产企业名称", "prodentp_name", 200); AddDGVColumn(dgv, "生产企业地址", "prodentp_addr", 200); AddDGVColumn(dgv, "特殊限价药品标志", "sp_lmtpric_drug_flag", 200); AddDGVColumn(dgv, "批准文号", "aprvno", 200); AddDGVColumn(dgv, "批准文号开始日期", "aprvno_begndate", 200); AddDGVColumn(dgv, "批准文号结束日期", "aprvno_enddate", 200); AddDGVColumn(dgv, "药品注册证编号", "drug_regno", 200); AddDGVColumn(dgv, "药品注册证号开始日期", "drug_regcert_begndate", 200); AddDGVColumn(dgv, "药品注册证号结束日期", "drug_regcert_enddate", 200); AddDGVColumn(dgv, "转换比", "convrat", 200); AddDGVColumn(dgv, "限制使用范围", "lmt_usescp", 200); AddDGVColumn(dgv, "最小包装单位名称", "minpacunt_name", 200); AddDGVColumn(dgv, "注册名称", "reg_name", 200); AddDGVColumn(dgv, "分包装厂家", "subpck_fcty", 200); AddDGVColumn(dgv, "市场状态", "mkt_stas", 200); AddDGVColumn(dgv, "药品注册批件电子档案", "drug_reg_appvletr_elecacs", 200); AddDGVColumn(dgv, "药品补充申请批件电子档案", "splm_appy_appvletr_file", 200); AddDGVColumn(dgv, "国家医保药品目录编号", "nat_hi_druglist_no", 200); AddDGVColumn(dgv, "国家医保药品目录备注", "nat_hi_druglist_memo", 200); AddDGVColumn(dgv, "增值税调整药品标志", "advaltax_adjm_drug_flag", 200); AddDGVColumn(dgv, "增值税调整药品名称", "advaltax_adjm_drug_name", 200); AddDGVColumn(dgv, "上市药品目录集药品", "lstd_druglist_drug", 200); AddDGVColumn(dgv, "卫健委药品编码", "nhc_drug_codg", 200); AddDGVColumn(dgv, "备注", "memo", 200); AddDGVColumn(dgv, "有效标志", "vali_flag", 200); AddDGVColumn(dgv, "开始时间", "begntime", 200); AddDGVColumn(dgv, "结束时间", "endtime", 200); AddDGVColumn(dgv, "数据唯一记录号", "rid", 200); AddDGVColumn(dgv, "数据创建时间", "crte_time", 200); break; } case 3://民族药药品目录 { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "药品商品名", "drug_prodname", 200); AddDGVColumn(dgv, "通用名编码", "genname_codg", 200); AddDGVColumn(dgv, "药品通用名", "drug_genname", 200); AddDGVColumn(dgv, "民族药种类", "ethdrug_type", 200); AddDGVColumn(dgv, "化学名称", "chemname", 200); AddDGVColumn(dgv, "别名", "alis", 200); AddDGVColumn(dgv, "英文名称", "eng_name", 200); AddDGVColumn(dgv, "剂型", "dosform", 200); AddDGVColumn(dgv, "每次用量", "each_dos", 200); AddDGVColumn(dgv, "使用频次", "used_frqu", 200); AddDGVColumn(dgv, "国家药品编号", "nat_drug_no", 200); AddDGVColumn(dgv, "使用方法", "used_mtd", 200); AddDGVColumn(dgv, "成分", "ing", 200); AddDGVColumn(dgv, "性状", "chrt", 200); AddDGVColumn(dgv, "不良反应", "defs", 200); AddDGVColumn(dgv, "禁忌", "tabo", 200); AddDGVColumn(dgv, "注意事项", "mnan", 200); AddDGVColumn(dgv, "贮藏", "stog", 200); AddDGVColumn(dgv, "药品规格", "drug_spec", 200); AddDGVColumn(dgv, "计价单位类型", "prcunt_type", 200); AddDGVColumn(dgv, "非处方药标志", "otc_flag", 200); AddDGVColumn(dgv, "包装材质", "pacmatl", 200); AddDGVColumn(dgv, "包装规格", "pacspec", 200); AddDGVColumn(dgv, "最小使用单位", "min_useunt", 200); AddDGVColumn(dgv, "最小销售单位", "min_salunt", 200); AddDGVColumn(dgv, "说明书", "manl", 200); AddDGVColumn(dgv, "给药途径", "rute", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "药理分类", "pham_type", 200); AddDGVColumn(dgv, "备注", "memo", 200); AddDGVColumn(dgv, "包装数量", "pac_cnt", 200); AddDGVColumn(dgv, "最小计量单位", "min_unt", 200); AddDGVColumn(dgv, "最小包装数量", "min_pac_cnt", 200); AddDGVColumn(dgv, "最小包装单位", "min_pacunt", 200); AddDGVColumn(dgv, "最小制剂单位", "min_prepunt", 200); AddDGVColumn(dgv, "药品有效期", "drug_expy", 200); AddDGVColumn(dgv, "功能主治", "efcc_atd", 200); AddDGVColumn(dgv, "最小计价单位", "min_prcunt", 200); AddDGVColumn(dgv, "五笔助记码", "wubi", 200); AddDGVColumn(dgv, "拼音助记码", "pinyin", 200); AddDGVColumn(dgv, "有效标志", "vali_flag", 200); AddDGVColumn(dgv, "数据唯一记录号", "rid", 200); AddDGVColumn(dgv, "数据创建时间", "crte_time", 200); AddDGVColumn(dgv, "数据更新时间", "updt_time", 200); AddDGVColumn(dgv, "创建人ID", "crter_id", 200); AddDGVColumn(dgv, "创建人姓名", "crter_name", 200); AddDGVColumn(dgv, "创建机构编号", "crte_optins_no", 200); AddDGVColumn(dgv, "经办人ID", "opter_id", 200); AddDGVColumn(dgv, "经办人姓名", "opter_name", 200); AddDGVColumn(dgv, "经办时间", "opt_time", 200); AddDGVColumn(dgv, "经办机构编号", "optins_no", 200); AddDGVColumn(dgv, "版本号", "ver", 200); break; } case 4:// { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "版本名称", "ver_name", 200); AddDGVColumn(dgv, "耗材名称", "mcs_name", 200); AddDGVColumn(dgv, "医疗器械唯一标识码", "udi", 200); AddDGVColumn(dgv, "医保通用名代码", "hi_genname_code", 200); AddDGVColumn(dgv, "医保通用名", "hi_genname", 200); AddDGVColumn(dgv, "产品型号", "prod_mol", 200); AddDGVColumn(dgv, "规格代码", "spec_code", 200); AddDGVColumn(dgv, "规格", "spec", 200); AddDGVColumn(dgv, "耗材分类", "mcs_type", 200); AddDGVColumn(dgv, "规格型号", "spec_mol", 200); AddDGVColumn(dgv, "材质代码", "matl_code", 200); AddDGVColumn(dgv, "耗材材质", "mcs_matl", 200); AddDGVColumn(dgv, "包装规格", "pacspec", 200); AddDGVColumn(dgv, "包装数量", "pac_cnt", 200); AddDGVColumn(dgv, "产品包装材质", "prod_pacmatl", 200); AddDGVColumn(dgv, "包装单位", "pacunt", 200); AddDGVColumn(dgv, "产品转换比", "prod_convrat", 200); AddDGVColumn(dgv, "最小使用单位", "min_useunt", 200); AddDGVColumn(dgv, "生产地类别", "prodplac_type", 200); AddDGVColumn(dgv, "生产地类别名称", "prodplac_type_name", 200); AddDGVColumn(dgv, "产品标准", "prodstrd", 200); AddDGVColumn(dgv, "产品有效期", "prodexpy", 200); AddDGVColumn(dgv, "性能结构与组成", "perf_stru_comp", 200); AddDGVColumn(dgv, "适用范围", "apb_scp", 200); AddDGVColumn(dgv, "产品使用方法", "prod_istr", 200); AddDGVColumn(dgv, "产品图片编号", "prod_img_no", 200); AddDGVColumn(dgv, "产品质量标准", "prod_qlt_std", 200); AddDGVColumn(dgv, "说明书", "manl", 200); AddDGVColumn(dgv, "其他证明材料", "oth_cert_matl", 200); AddDGVColumn(dgv, "专机专用标志", "sped_flag", 200); AddDGVColumn(dgv, "专机名称", "sped_name", 200); AddDGVColumn(dgv, "组套名称", "comb_name", 200); AddDGVColumn(dgv, "机套标志", "case_flag", 200); AddDGVColumn(dgv, "限制使用标志", "lmt_used_flag", 200); AddDGVColumn(dgv, "医保限用范围", "hi_lmt_scp", 200); AddDGVColumn(dgv, "最小销售单位", "min_salunt", 200); AddDGVColumn(dgv, "高值耗材标志", "highval_mcs_flag", 200); AddDGVColumn(dgv, "医用材料分类代码", "matl_type_code", 200); AddDGVColumn(dgv, "植入材料和人体器官标志", "impt_matl_hmorgn_flag", 200); AddDGVColumn(dgv, "灭菌标志", "stlz_flag", 200); AddDGVColumn(dgv, "灭菌标志名称", "stlz_flag_name", 200); AddDGVColumn(dgv, "植入或介入类标志", "impt_itvt_clss_flag", 200); AddDGVColumn(dgv, "植入或介入类名称", "impt_itvt_clss_name", 200); AddDGVColumn(dgv, "一次性使用标志", "dspo_used_flag", 200); AddDGVColumn(dgv, "一次性使用标志名称", "dspo_used_flag_name", 200); AddDGVColumn(dgv, "注册备案人名称", "reger_name", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "医疗器械管理类别", "med_equ_mgt_type", 200); AddDGVColumn(dgv, "医疗器械管理类别名称", "med_equ_mgt_type_name", 200); AddDGVColumn(dgv, "注册备案号", "reg_fil_no", 200); AddDGVColumn(dgv, "注册备案产品名称", "reg_fil_prod_name", 200); AddDGVColumn(dgv, "结构及组成", "stru_comp", 200); AddDGVColumn(dgv, "其他内容", "oth_cont", 200); AddDGVColumn(dgv, "批准日期", "aprv_date", 200); AddDGVColumn(dgv, "注册备案人住所", "reger_addr", 200); AddDGVColumn(dgv, "注册证有效期开始时间", "regcert_expy_begntime", 200); AddDGVColumn(dgv, "注册证有效期结束时间", "regcert_expy_endtime", 200); AddDGVColumn(dgv, "生产企业代码", "prodentp_code", 200); AddDGVColumn(dgv, "生产企业名称", "prodentp_name", 200); AddDGVColumn(dgv, "生产地址", "manu_addr", 200); AddDGVColumn(dgv, "代理人企业", "agnt_entp", 200); AddDGVColumn(dgv, "代理人企业地址", "agnt_entp_addr", 200); AddDGVColumn(dgv, "生产国或地区", "manu_nat_regn", 200); AddDGVColumn(dgv, "售后服务机构", "aftsal_serins", 200); AddDGVColumn(dgv, "注册或备案证电子档案", "reg_fil_elec_file", 200); AddDGVColumn(dgv, "产品影像", "prod_img", 200); AddDGVColumn(dgv, "有效标志", "vali_flag", 200); break; } case 5: { AddDGVColumn(dgv, "医疗目录编码", "med_list_codg", 200); AddDGVColumn(dgv, "版本名称", "ver_name", 200); AddDGVColumn(dgv, "计价单位名称", "prcunt_name", 200); AddDGVColumn(dgv, "计价单位", "prcunt", 200); AddDGVColumn(dgv, "诊疗项目说明", "trt_item_dscr", 200); AddDGVColumn(dgv, "诊疗除外内容", "trt_exct_cont", 200); AddDGVColumn(dgv, "诊疗项目内涵", "trt_item_cont", 200); AddDGVColumn(dgv, "有效标志", "vali_flag", 200); AddDGVComboxColumn_2(dgv, "服务项目类别", "servitem_type", 200); AddDGVColumn(dgv, "医疗服务项目名称", "servitem_name", 200); AddDGVColumn(dgv, "项目说明", "item_dscr", 200); AddDGVColumn(dgv, "开始日期", "begndate", 200); AddDGVColumn(dgv, "结束日期", "enddate", 200); AddDGVColumn(dgv, "医保区划", "admdvs", 200); break; } } } /// /// /// /// /// public DataTable Transpose(DataGridView dgv) { DataTable dt = new DataTable(); for (int i = 0; i < dgv.ColumnCount; i++) { string value = String.Empty; value = dgv.Rows[0].Cells[i].Value.ToString(); string name = dgv.Columns[i].Name; dt.Rows.Add(new string[] { name, value }); } return dt; } #endregion #region 设置BasiData表格标题 /// /// 设置接口维护界面标题 /// /// /// public void SetHeaderTextOfInterfaceMaintain(DataTable dt, DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVComboxColumn(dt, dgv, "医院ID", "HospitalDr", 200); AddDGVColumn(dgv, "编码", "InterfaceNO", 200); AddDGVColumn(dgv, "名称", "InterfaceName", 200); AddDGVColumn(dgv, "医院编码", "HospitalNO"); AddDGVColumn(dgv, "医院名称", "HospitalName", 200); AddDGVColumn(dgv, "医院等级", "HospitalLevel"); AddDGVColumn(dgv, "中心网址", "CenterURL"); AddDGVColumn(dgv, "中心网址2", "CenterURL2"); AddDGVColumn(dgv, "对应DLL名称", "DLLName"); AddDGVColumn(dgv, "区划代码", "AreaCode"); AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag"); } /// /// 设置药品列标题 /// public void SetHeaderTextOfDrug(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "编码", "Code", 200); AddDGVColumn(dgv, "名称", "Name", 200); AddDGVColumn(dgv, "批准文号", "ApprovalNO", 200); AddDGVColumn(dgv, "剂型", "DosageFormCode"); AddDGVColumn(dgv, "剂型名称", "DosageFormName"); AddDGVColumn(dgv, "规格", "Specification"); AddDGVColumn(dgv, "包装单位", "UnitOfPackag"); AddDGVColumn(dgv, "计价单位", "UnitOfValuation"); AddDGVColumn(dgv, "有效标志", "ValidFlag"); AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag"); AddDGVColumn(dgv, "特殊药品标志", "SpecialFlag"); AddDGVColumn(dgv, "限制标志", "LimitFlag"); AddDGVColumn(dgv, "限制范围", "LimitRange"); AddDGVColumn(dgv, "版本号", "VersionNO"); } /// /// 设置诊断,手术,病种等列标题 /// public void SetHeaderTextOfDiagnose(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "编码", "Code", 200); AddDGVColumn(dgv, "名称", "Name", 500); } public void SetHeaderTextOfDictionary(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "大类", "Type"); AddDGVColumn(dgv, "编码", "Code"); AddDGVColumn(dgv, "名称", "Name", 500);//PinyinSearchCode AddDGVColumn(dgv, "查找码", "PinyinSearchCode", 200); } public void SetHeaderTextOfMedicalService(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "编码", "Code", 200); AddDGVColumn(dgv, "名称", "Name", 200); AddDGVColumn(dgv, "批准文号", "ApprovalNO", 200); AddDGVColumn(dgv, "剂型", "DosageFormCode"); AddDGVColumn(dgv, "剂型名称", "DosageFormName"); AddDGVColumn(dgv, "规格", "Specification"); AddDGVColumn(dgv, "包装单位", "UnitOfPackag"); AddDGVColumn(dgv, "计价单位", "UnitOfValuation"); AddDGVColumn(dgv, "有效标志", "ValidFlag"); AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag"); AddDGVColumn(dgv, "特殊药品标志", "SpecialFlag"); AddDGVColumn(dgv, "限制标志", "LimitFlag"); AddDGVColumn(dgv, "限制范围", "LimitRange"); AddDGVColumn(dgv, "版本号", "VersionNO"); } /// /// 材料 /// /// public void SetHeaderTextOfMaterials(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "编码", "Code", 200); AddDGVColumn(dgv, "名称", "Name", 200); AddDGVColumn(dgv, "批准文号", "ApprovalNO", 200); AddDGVColumn(dgv, "剂型", "DosageFormCode"); AddDGVColumn(dgv, "剂型名称", "DosageFormName"); AddDGVColumn(dgv, "规格", "Specification"); AddDGVColumn(dgv, "包装单位", "UnitOfPackag"); AddDGVColumn(dgv, "计价单位", "UnitOfValuation"); AddDGVColumn(dgv, "有效标志", "ValidFlag"); AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag"); AddDGVColumn(dgv, "特殊药品标志", "SpecialFlag"); AddDGVColumn(dgv, "限制标志", "LimitFlag"); AddDGVColumn(dgv, "限制范围", "LimitRange"); AddDGVColumn(dgv, "版本号", "VersionNO"); } public void SetHeaderTextOfMapping_HisDirectory(DataGridView dgv) { dgv.Columns.Clear(); dgv.AutoGenerateColumns = false; AddDGVColumn(dgv, "序号", "tind", 30); AddDGVColumn(dgv, "医院编码", "itemCode", 80); AddDGVColumn(dgv, "医院名称", "itemDesc", 120); AddDGVColumn(dgv, "中心编码", "insuCode", 200); AddDGVColumn(dgv, "中心名称", "insuName"); AddDGVColumn(dgv, "对照状态", "flag", 80); AddDGVColumn(dgv, "规格", "spec", 100); AddDGVColumn(dgv, "单位", "itemUnitDesc"); AddDGVColumn(dgv, "批准文号", "pprovalNo", 120); } #endregion #region 设置对账表格标题 /// /// 设置对账列标题 /// public void SetHeaderTextOfCheck(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.Columns.Clear(); AddDGVColumn(dgv, "医疗费总额", "medfee_sumamt", 150); AddDGVColumn(dgv, "基金支付总额", "fund_pay_sumamt", 180); AddDGVColumn(dgv, "个人账户支付金额", "acct_pay", 180); AddDGVColumn(dgv, "定点医药机构结算笔数", "fixmedins_setl_cnt", 280); AddDGVColumn(dgv, "清算类别", "clr_type", 150); AddDGVColumn(dgv, "接口ID", "Interface_dr", 80); AddDGVColumn(dgv, "结算经办机构", "setl_optins", 180); AddDGVColumn(dgv, "险种", "insutype", 100); } /// /// 设置HIS结算明细标题 /// public void SetHeaderTextOfHisSettlRec(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.Columns.Clear(); AddDGVColumn(dgv, "就诊ID", "AdmID", 80); AddDGVColumn(dgv, "医保登记号", "MdtrtID", 200); AddDGVColumn(dgv, "结算ID", "SettlementID", 200); AddDGVColumn(dgv, "医保个人编号", "PersonnelNO", 200); AddDGVColumn(dgv, "姓名", "PatientName", 100); AddDGVColumn(dgv, "结算时间", "SettlementTime", 180); AddDGVColumn(dgv, "总费用", "Sumamt"); AddDGVColumn(dgv, "账户支付", "AccountPaySumamt", 80); AddDGVColumn(dgv, "现金支付", "PersonCashPay", 80); AddDGVColumn(dgv, "有效标志", "ValidFlag", 80); AddDGVColumn(dgv, "单据类型", "BillType", 80); } public void SetHeaderTextOfDgvCenterSetlRec(DataGridView dgv) { dgv.Columns.Clear(); AddDGVColumn(dgv, "序号", "sn", 50); AddDGVColumn(dgv, "个人编号", "psn_no", 200); AddDGVColumn(dgv, "医保就诊号", "mdtrt_id", 200); AddDGVColumn(dgv, "结算ID", "setl_id", 200); AddDGVColumn(dgv, "报文ID", "msgid", 200); AddDGVColumn(dgv, "结果", "stmt_rslt", 50); AddDGVColumn(dgv, "退费结算标志", "refd_setl_flag"); AddDGVColumn(dgv, "备注", "memo", 200); AddDGVColumn(dgv, "总费用", "medfee_sumamt"); AddDGVColumn(dgv, "基金支付", "fund_pay_sumamt"); AddDGVColumn(dgv, "账户支付", "acct_pay"); } #endregion } class grvcolumn : DataGridViewComboBoxColumn { protected new void RaiseDataError(DataGridViewDataErrorEventArgs e) { MessageBox.Show(e.ToString()); } } }