/******************************************************************************
* 文件名称: 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 MedicalInsurance.FormSetter
{
class GridViewSetter
{
///
/// 动态增加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);
}
#region 设置表格标题
public void SetHeaderTextOfInterfaceMaintain(DataTable dt, DataGridView dgv)
{
dgv.Columns.Clear();
AddDGVComboxColumn(dt,dgv, "医院ID", "HospitalDr", 200);
AddDGVColumn(dgv, "编码", "InterfaceID", 200);
AddDGVColumn(dgv, "名称", "InterfaceName", 200);
AddDGVColumn(dgv, "中心编码", "HospitalNO");
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();
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();
AddDGVColumn(dgv, "编码", "CategoryCode");
AddDGVColumn(dgv, "类名", "CategoryName");
}
///
/// 设置药品列标题
///
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 SetHeaderTextOfCheck(DataGridView dgv)
{
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "医疗费总额", "medfee_sumamt", 80);
AddDGVColumn(dgv, "基金支付总额", "fund_pay_sumamt", 200);
AddDGVColumn(dgv, "个人账户支付金额", "acct_pay", 200);
AddDGVColumn(dgv, "定点医药机构结算笔数", "fixmedins_setl_cnt", 100);
AddDGVColumn(dgv, "清算类别", "clr_type");
AddDGVColumn(dgv, "接口ID", "Interface_dr", 80);
AddDGVColumn(dgv, "结算经办机构", "setl_optins", 80);
AddDGVColumn(dgv, "险种", "insutype", 80);
}
///
/// 设置异地对账列标题
///
public void SetHeaderTextOfOthPlcCheck(DataGridView dgv)
{
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "人员姓名", "PatientName", 80);
AddDGVColumn(dgv, "人员编号", "PersonnelNO", 80);
AddDGVColumn(dgv, "医疗费总额", "Sumamt", 80);
AddDGVColumn(dgv, "基金支付总额", "FundPaySumamt", 80);
AddDGVColumn(dgv, "个人账户支付", "AccountPaySumamt", 80);
AddDGVColumn(dgv, "就诊结算时间", "SettlementTime", 300);
AddDGVColumn(dgv, "交易类型", "BillType", 100);
AddDGVColumn(dgv, "就诊顺序号", "MdtrtID", 200);
AddDGVColumn(dgv, "结算流水号", "SettlementID", 200);
}
///
/// 设置清算汇总列标题
///
public void SetHeaderTextOfClearing(DataGridView dgv)
{
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "医疗费总额", "medfee_sumamt", 80);
AddDGVColumn(dgv, "基金支付总额", "fund_appy_sum", 200);
AddDGVColumn(dgv, "医保认可费用总额", "med_sumfee", 200);
AddDGVColumn(dgv, "个人账户支付金额", "acct_pay", 200);
AddDGVColumn(dgv, "现金支付金额", "cash_payamt", 100);
AddDGVColumn(dgv, "清算人次", "psntime", 100);
AddDGVColumn(dgv, "清算方式", "clr_way");
AddDGVColumn(dgv, "清算类别", "clr_type");
AddDGVColumn(dgv, "接口ID", "Interface_dr", 80);
//AddDGVColumn(dgv, "结算经办机构", "setl_optins", 80);
//AddDGVColumn(dgv, "险种", "insutype", 80);
}
///
/// 设置清算数据查询列标题
///
public void SetHeaderTextOfClearingData(DataGridView dgv)
{
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "接口ID", "InterfaceDr", 80);
AddDGVColumn(dgv, "清算ID", "ApplyID", 200);
AddDGVColumn(dgv, "发生时间", "OccurTime", 200);
AddDGVColumn(dgv, "清算类别", "ClrType", 200);
AddDGVColumn(dgv, "清算方式", "ClrWay", 100);
AddDGVColumn(dgv, "清算年月", "ClearYearMonth", 100);
AddDGVColumn(dgv, "清算人次", "PersonTime");
AddDGVColumn(dgv, "总金额", "Sumamt");
AddDGVColumn(dgv, "医保认可金额", "MedAcceptSumamt");
AddDGVColumn(dgv, "基金支付金额", "FundPay");
AddDGVColumn(dgv, "现金支付金额", "CashPay");
AddDGVColumn(dgv, "账户支付金额", "AccountPay");
AddDGVColumn(dgv, "开始时间", "Begndate");
AddDGVColumn(dgv, "截止时间", "Enddate");
AddDGVColumn(dgv, "有效标志", "ValidFlag");
AddDGVColumn(dgv, "经办人", "Operator");
}
///
/// 设置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", 150);
AddDGVColumn(dgv, "总费用", "Sumamt");
AddDGVColumn(dgv, "账户支付", "AccountPaySumamt", 80);
AddDGVColumn(dgv, "现金支付", "PersonCashPay", 80);
AddDGVColumn(dgv, "有效标志", "ValidFlag", 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
#region 共济账户界面
public void SetHeaderTextOfDgvMutualAidSumamtInfo(DataGridView dgv)
{
dgv.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
dgv.ColumnHeadersHeight = 50;
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "结算编号", "SettlementID", 200);
AddDGVColumn(dgv, "就诊号", "MdtrtID", 200);
AddDGVColumn(dgv, "姓名", "PatientName", 100);
AddDGVColumn(dgv, "医保编号", "PersonnelNO", 300);
AddDGVColumn(dgv, "证件类型", "CertificateType", 60);
AddDGVColumn(dgv, "证件编码", "CertificateNO", 200);
AddDGVColumn(dgv, "险种", "InsuranceType");
//AddDGVColumn(dgv, "人员类别", "PersonType");
AddDGVColumn(dgv, "结算时间", "SettlementTime", 240);
AddDGVColumn(dgv, "医疗类别", "MedicalType", 100);
AddDGVColumn(dgv, "总金额", "Sumamt", 80);
AddDGVColumn(dgv, "自付金额", "OwnPayAmount", 80);
AddDGVColumn(dgv, "超限金额", "OverLimitAmount", 80);
AddDGVColumn(dgv, "先行自付", "PreSelfPayAmount", 80);
AddDGVColumn(dgv, "政策范围内金额", "InPolicyRangeAmount", 80);
AddDGVColumn(dgv, "公务员补助金额", "CivilserviceAllowancePay", 80);
AddDGVColumn(dgv, "大病补助金额", "SeriousIllnessPay", 80);
AddDGVColumn(dgv, "大额补助金额", "LargeExpensesSupplementPay", 80);
AddDGVColumn(dgv, "医疗救助金额", "MedicalAssistPay", 80);
AddDGVColumn(dgv, "医院承担金额", "HospitalPartAmount", 80);
AddDGVColumn(dgv, "其他支出金额", "OtherPay", 80);
AddDGVColumn(dgv, "基金支付金额", "FundPaySumamt", 80);
AddDGVColumn(dgv, "个人支付金额", "PersonPaySumamt", 80);
AddDGVColumn(dgv, "账户支付金额", "AccountPaySumamt", 80);
AddDGVColumn(dgv, "现金支付金额", "PersonCashPay", 80);
AddDGVColumn(dgv, "账户余额", "Balance", 80);
AddDGVColumn(dgv, "共济账户支付金额", "AccountMutualAidAmount", 80);
AddDGVColumn(dgv, "有效标志", "ValidFlag", 40);
}
public void SetHeaderTextOfDgvMutualAidSettleInfo(DataGridView dgv)
{
dgv.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
dgv.ColumnHeadersHeight = 50;
dgv.AutoGenerateColumns = false;
dgv.Columns.Clear();
AddDGVColumn(dgv, "共济序号", "MutualAidFlag",60);
AddDGVColumn(dgv, "结算编号", "SettlementID", 200);
//AddDGVColumn(dgv, "就诊号", "MdtrtID", 200);
AddDGVColumn(dgv, "姓名", "PatientName",100);
AddDGVColumn(dgv, "医保编号", "PersonnelNO",300);
AddDGVColumn(dgv, "证件类型", "CertificateType",60);
AddDGVColumn(dgv, "证件编码", "CertificateNO",200);
AddDGVColumn(dgv, "险种", "InsuranceType");
//AddDGVColumn(dgv, "人员类别", "PersonType");
AddDGVColumn(dgv, "结算时间", "SettlementTime",240);
AddDGVColumn(dgv, "医疗类别", "MedicalType",100);
AddDGVColumn(dgv, "总金额", "Sumamt",80);
AddDGVColumn(dgv, "自付金额", "OwnPayAmount",80);
AddDGVColumn(dgv, "超限金额", "OverLimitAmount", 80);
AddDGVColumn(dgv, "先行自付", "PreSelfPayAmount", 80);
AddDGVColumn(dgv, "政策范围内金额", "InPolicyRangeAmount", 80);
AddDGVColumn(dgv, "公务员补助金额", "CivilserviceAllowancePay", 80);
AddDGVColumn(dgv, "大病补助金额", "SeriousIllnessPay", 80);
AddDGVColumn(dgv, "大额补助金额", "LargeExpensesSupplementPay", 80);
AddDGVColumn(dgv, "医疗救助金额", "MedicalAssistPay", 80);
AddDGVColumn(dgv, "医院承担金额", "HospitalPartAmount", 80);
AddDGVColumn(dgv, "其他支出金额", "OtherPay", 80);
AddDGVColumn(dgv, "基金支付金额", "FundPaySumamt", 80);
AddDGVColumn(dgv, "个人支付金额", "PersonPaySumamt", 80);
AddDGVColumn(dgv, "现金支付金额", "PersonCashPay", 80);
AddDGVColumn(dgv, "账户支付金额", "AccountPaySumamt", 80);
AddDGVColumn(dgv, "账户余额", "Balance", 80);
AddDGVColumn(dgv, "共济账户支付金额", "AccountMutualAidAmount", 80);
AddDGVColumn(dgv, "有效标志", "ValidFlag", 40);
}
#endregion
}
}