123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Variables;
- using PTMedicalInsurance.Business;
- using PTMedicalInsurance.Common;
- using PTMedicalInsurance.Forms.Setters.PatientInsuInfos;
- namespace PTMedicalInsurance.Forms
- {
- public partial class PatientInsuInfo : Form
- {
- public DataTable dtInsuInfo;
- public DataTable dtIDInfo;
- public JObject joSelectedInsuInfo;
- public int insuInfoIndex = 0;
- public int idInfoIndex = 0;
- InvokeHelper invoker = new InvokeHelper();
- private MIIrisServices mIS = new MIIrisServices();
- private DataTable dtFundPayType;
- private Form mainForm;
- //1.声明自适应类实例
- AutoResizeForm asc = new AutoResizeForm();
- public PatientInsuInfo()
- {
- InitializeComponent();
- this.StartPosition = FormStartPosition.CenterParent;
- asc.controllInitializeSize(this);
- asc.controlAutoSize(this);
- }
- public PatientInsuInfo(JObject jo, Form frm)
- {
- InitializeComponent();
- InitForm(jo, frm);
- }
- private void InitForm(JObject jo)
- {
- dtInsuInfo = (DataTable)jo["insuinfo"].ToObject(typeof(DataTable));
- dtIDInfo = (DataTable)jo["idetinfo"].ToObject(typeof(DataTable));
- JObject joBaseInfo = JObject.FromObject(jo["baseinfo"]);
- this.tbName.Text = joBaseInfo["psn_name"].ToString();
- this.tbPsnNO.Text = joBaseInfo["psn_no"].ToString();
- this.tbGend.Text = joBaseInfo["gend"].ToString();
- this.tbBirthDay.Text = joBaseInfo["brdy"].ToString();
- this.tbNaty.Text = joBaseInfo["naty"].ToString();
- this.tbCertType.Text = joBaseInfo["psn_cert_type"].ToString();
- this.tbCertNO.Text = joBaseInfo["certno"].ToString();
- this.tbAge.Text = joBaseInfo["age"].ToString();
- string expContent = joBaseInfo["exp_content"].ToString(); //字段扩展 只有居民返回
- //JObject joInsuInfo = JObject.FromObject(jo["insuinfo"]);
- //Global.pat.insuType= joInsuInfo["insutypeNo"].ToString();
- setDgvIDInfo();
- setDgvInsuInfo();
- setDgvTreatement(dgvTreatment);
- dgvInsuInfo.DataSource = dtInsuInfo;
- dgvIDInfo.DataSource = dtIDInfo;
- //获取通用目录
- string sTYML = mIS.GetCommonInterface_Dr(Global.inf.interfaceDr.ToString(), "");
- if (sTYML == "")
- Global.inf.interfaceDr_TY = Global.inf.interfaceDr;
- else
- Global.inf.interfaceDr_TY = int.Parse(sTYML);
- string sqlCondition = " and A.Interface_Dr = '" + Global.inf.interfaceDr_TY.ToString() + "'";
- string sqlStr = "SELECT B.Code,B.Descripts AS Name FROM HB_Dictionary A JOIN HB_DictionaryDataDetail B ON A.ID = B.HBDictionary_Dr WHERE A.InsuCode = 'fund_pay_type'" + sqlCondition;
- dtFundPayType = GetDBLKComboxTable(sqlStr);
- }
- private void InitForm(JObject jo, Form frm)
- {
- InitForm(jo);
- mainForm = frm;
- CheckForIllegalCrossThreadCalls = false;
- // 禁用关闭按钮
- this.FormBorderStyle = FormBorderStyle.None;
- // 隐藏标题栏
- this.ControlBox = false;
- // 其他可能需要的配置
- if (mainForm != this)
- {
- this.TopLevel = false;
- this.Dock = DockStyle.Fill; // 根据需要设置 Dock 属性
- }
- else
- {
- this.WindowState = FormWindowState.Maximized;
- }
- //
- //grdSetter.setHisRegInfo(dgvHisRegInfo);
- //grdSetter.setCenterApplyInfo(dgvCenterApplyInfo);
- }
- public PatientInsuInfo(JObject jo)
- {
- InitializeComponent();
- dtInsuInfo = (DataTable)jo["insuinfo"].ToObject(typeof(DataTable));
- dtIDInfo = (DataTable)jo["idetinfo"].ToObject(typeof(DataTable));
- JObject joBaseInfo = JObject.FromObject(jo["baseinfo"]);
- this.tbName.Text = joBaseInfo["psn_name"].ToString();
- this.tbPsnNO.Text = joBaseInfo["psn_no"].ToString();
- this.tbGend.Text = joBaseInfo["gend"].ToString();
- this.tbBirthDay.Text = joBaseInfo["brdy"].ToString();
- this.tbNaty.Text = joBaseInfo["naty"].ToString();
- this.tbCertType.Text = joBaseInfo["psn_cert_type"].ToString();
- this.tbCertNO.Text = joBaseInfo["certno"]+"";
- this.tbAge.Text = joBaseInfo["age"] + "";
- //JObject joInsuInfo = JObject.FromObject(jo["insuinfo"]);
- //Global.pat.insuType= joInsuInfo["insutypeNo"].ToString();
- GridViewSetter grdSetter = new GridViewSetter();
- grdSetter.setDgvIDInfo(dgvIDInfo);
- grdSetter.setDgvInsuInfo(dgvInsuInfo);
- grdSetter.setDgvAccumutual(dgvAccumulativeInfo);
- grdSetter.setDgvPaymentDetail(dgvPaymentDetail);
- grdSetter.setDgvTreatement(dgvTreatment);
- //grdSetter.setDgvTurnToOtherHosp(dgvTurnToOtherHospInfo);
- dgvInsuInfo.DataSource = dtInsuInfo;
- dgvIDInfo.DataSource = dtIDInfo;
- JObject joRtn = QueryPaymentDetail();
- if (JsonHelper.parseCenterRtnValue(joRtn, out string errorMsg) == 0)
- {
- //处理字典数据-缴费档次 【clctstd_crtf_rule_codg】
- JArray jaTradearray = JArray.Parse(JsonHelper.getDestValue(joRtn, "output"));
- for (int i = 0; i < JArray.Parse(JsonHelper.getDestValue(joRtn, "output")).Count; i++)
- {
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A31001")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "一档医疗在职";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A31002")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "二档医疗在职";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A31003")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "三档医疗";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A31004")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "少儿二档";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A31007")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "特殊保健";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A32001")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "在职公务员";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A32002")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "在职驻深公务员";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A39301")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "家属统筹医疗";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A51001")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "生育在职";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A52001")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "生育医疗一档";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "A52002")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "生育医疗二档";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "C31001")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "一档医疗退休";
- if (jaTradearray[i]["clctstd_crtf_rule_codg"].ToString() == "C31002")
- jaTradearray[i]["clctstd_crtf_rule_codg"] = "二档医疗退休";
- }
- dgvPaymentDetail.DataSource = (DataTable)jaTradearray.ToObject(typeof(DataTable));
- }
-
- //dgvPaymentDetail.DataSource = (DataTable)joRtn["output"].ToObject(typeof(DataTable));
- }
- 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 DataTable GetDBLKComboxTable(string sqlStr)
- {
- InvokeHelper invoker = new InvokeHelper();
- dynamic joInparm = new JObject();
- dynamic joTmp = new JObject();
- joTmp.sqlStr = sqlStr;
- JArray jaParams = new JArray();
- jaParams.Add(joTmp);
- joInparm.Add("params", JArray.FromObject(jaParams));
- joInparm.code = "09010014";
- string inParam = joInparm.ToString();
- JObject joRtn = invoker.invokeInsuService(inParam, "获取下拉框消息");
- //dynamic jsonRtn = JsonConvert.DeserializeObject(strRtn);
- DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- //dt.Columns[0].ColumnName = "编码";
- //dt.Columns[1].ColumnName = "名称";
- //dt.Columns[2].ColumnName = "拼音查找码";
- return dt;
- }
- public void setDgvTreatement(DataGridView dgv)
- {
- dgv.AutoGenerateColumns = false;
- dgv.Columns.Clear();
- AddDGVColumn(dgv, "人员编号", "psn_no", 300);
- AddDGVColumn(dgv, "待遇检查类型", "trt_chk_type", 140);
- AddDGVColumn(dgv, "基金支付类型", "fund_pay_type", 300);
- AddDGVColumn(dgv, "基金款项待遇享受标志", "trt_enjymnt_flag", 140);
- AddDGVColumn(dgv, "开始日期", "begndate", 200);
- AddDGVColumn(dgv, "结束日期", "enddate", 200);
- AddDGVColumn(dgv, "待遇检查结果", "trt_chk_rslt", 140);
- AddDGVColumn(dgv, "字段扩展", "exp_content", 140);
- dgv.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
- dgv.ColumnHeadersHeight = 30;
- }
- private void setDgvInsuInfo()
- {
- AddDGVColumn(dgvInsuInfo, "余额", "balc", 80);
- AddDGVColumn(dgvInsuInfo, "险种类型", "insutype", 200);
- AddDGVColumn(dgvInsuInfo, "人员类别", "psn_type");
- AddDGVColumn(dgvInsuInfo, "人员参保状态", "psn_insu_stas");
- AddDGVColumn(dgvInsuInfo, "个人参保日期", "psn_insu_date", 170);
- AddDGVColumn(dgvInsuInfo, "暂停参保日期", "paus_insu_date");
- AddDGVColumn(dgvInsuInfo, "公务员标志", "cvlserv_flag", 95);
- AddDGVColumn(dgvInsuInfo, "参保区划", "insuplc_admdvs", 85);
- AddDGVColumn(dgvInsuInfo, "单位名称", "emp_name", 300);
- AddDGVColumn(dgvInsuInfo, "险种类型编码", "insutypeNo");
- dgvInsuInfo.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
- dgvInsuInfo.ColumnHeadersHeight = 40; //341124199210252617
- }
- private void setDgvIDInfo()
- {
- AddDGVColumn(dgvIDInfo, "人员身份类别", "psn_idet_type", 140);
- AddDGVColumn(dgvIDInfo, "人员类别等级", "psn_type_lv", 140);
- AddDGVColumn(dgvIDInfo, "备注", "memo", 150);
- AddDGVColumn(dgvIDInfo, "开始时间", "begntime", 200);
- AddDGVColumn(dgvIDInfo, "结束时间", "endtime", 200);
- dgvIDInfo.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
- dgvIDInfo.ColumnHeadersHeight = 40;
- }
- private void uiButton1_Click(object sender, EventArgs e)
- {
- insuInfoIndex = dgvInsuInfo.CurrentRow.Index;
- if (dtIDInfo.Rows.Count != 0 )
- idInfoIndex = dgvIDInfo.CurrentRow.Index;
- joSelectedInsuInfo = new JObject();
- for (int i = 0; i < dtInsuInfo.Columns.Count; i++)
- {
- string key = dtInsuInfo.Columns[i].ColumnName;
- string value = dgvInsuInfo.CurrentRow.Cells[key].Value.ToString();
- joSelectedInsuInfo.Add(key, value);
- }
- DialogResult = DialogResult.OK;
- }
- private void uiButton2_Click(object sender, EventArgs e)
- {
- DialogResult = DialogResult.Cancel;
- }
- private JObject QueryPaymentDetail()
- {
- var joData = new { data = new { psn_no = this.tbPsnNO.Text } };
- return invoker.invokeCenterService(TradeEnum.QueryPaymentDetail,JObject.FromObject(joData));
- }
- private void btnRYDY2001_Click(object sender, EventArgs e)
- {
- string sInput = "", errorMsg = "";
- int iHis = dgvInsuInfo.CurrentRow.Index;
- if (dgvInsuInfo.CurrentRow == null)
- {
- MessageBox.Show("请选择参保信息再查询!");
- return;
- }
- string insutype = dgvInsuInfo.Rows[iHis].Cells["insutypeNo"].Value.ToString();
- string beginDate = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss");
- JObject joData = new JObject();
- joData.Add("psn_no", this.tbPsnNO.Text);
- joData.Add("insutype", insutype);
- joData.Add("fixmedins_code", Global.inf.hospitalNO);
- joData.Add("med_type", "11");
- joData.Add("begntime", beginDate);
- joData.Add("endtime", "");
- joData.Add("dise_codg", "");
- joData.Add("dise_name", "");
- joData.Add("oprn_oprt_code", "");
- joData.Add("oprn_oprt_name", "");
- joData.Add("matn_type", "");
- joData.Add("birctrl_type", "");
- JObject joInput = new JObject();
- joInput.Add("data", joData);
- JObject joRtn = invoker.invokeCenterService(TradeEnum.BenefitCheck, joInput);
- if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
- {
- MessageBox.Show("人员待遇享受检查失败:" + errorMsg);
- }
- else
- {
- string treatInfo = JsonHelper.getDestValue(joRtn, "output.trtinfo");
- if (!string.IsNullOrEmpty(treatInfo))
- {
- JArray jarray = JArray.Parse(treatInfo);
- StringBuilder sb = new StringBuilder();
- foreach (JObject obj in jarray)
- {
- string flag = JsonHelper.getDestValue(obj, "trt_enjymnt_flag");
- if ("0".Equals(flag))
- {
- string fundType = JsonHelper.getDestValue(obj, "fund_pay_type");
- string msg = JsonHelper.getDestValue(obj, "trt_chk_rslt");
- sb.Append("基金类型:【" + fundType + "】" + msg);
- }
- }
- if (sb.Length > 0)
- {
- MessageBox.Show("人员待遇享受检查结果:" + sb.ToString());
- return;
- }
- }
- MessageBox.Show("人员待遇享受检查结果:【正常】!");
- }
- }
- private void dgvInsuInfo_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
- {
- uiButton1_Click(sender,e);
- }
- private JObject QueryAccumutualInfo()
- {
- var joData = new { data = new { psn_no = this.tbPsnNO.Text , year = tbYear_PaymentDetail.Text} };
- return invoker.invokeCenterService(TradeEnum.QueryAccumutualInfoLocal, JObject.FromObject(joData));
- }
- private void btAccumulate_Click(object sender, EventArgs e)
- {
- JObject joRtn = QueryAccumutualInfo();
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- return;
- }
- dgvAccumulativeInfo.DataSource = (DataTable)joRtn["output"]["result"]["mutualAidSetlInfoDTOS"].ToObject(typeof(DataTable));
- }
- private JObject QueryTurnToOtherHospInfo()
- {
- var joData = new { data = new { psn_no = this.tbPsnNO.Text, refl_fil_type = tools.getDestPosStrBySpliter(cbTurnType.Text,1,".") , begntime = tbBeginDate.Text,endtime = tbEndDate.Text} };
- return invoker.invokeCenterService(TradeEnum.QueryTransferInfo, JObject.FromObject(joData));
- }
- private void btTurnToOtherHosp_Click(object sender, EventArgs e)
- {
- JObject joRtn = QueryTurnToOtherHospInfo();
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- return;
- }
- dgvTurnToOtherHospInfo.DataSource = (DataTable)joRtn["output"]["result"].ToObject(typeof(DataTable));
- }
- private JObject QueryTreamentInfo()
- {
- int i = dgvInsuInfo.SelectedIndex;
- string insutype = dgvInsuInfo.Rows[i].Cells["insutypeNo"].Value.ToString() ;
- var joData = new { data = new { psn_no = this.tbPsnNO.Text, insutype =insutype, med_type = tools.getDestPosStrBySpliter(cbxMedicalType.Text, 1, "."), begntime = tbBeginDate_treatment.Text, endtime = tbEndDate_treatment.Text, fixmedins_code = Global.inf.hospitalNO} };
- return invoker.invokeCenterService(TradeEnum.BenefitCheck, JObject.FromObject(joData));
- }
- private void btTreatment_Click(object sender, EventArgs e)
- {
- JObject joRtn = QueryTreamentInfo();
- string err;
- if (JsonHelper.parseCenterRtnValue(joRtn, out err) != 0)
- {
- MessageBox.Show(err);
- return;
- }
- dgvTreatment.DataSource = (DataTable)joRtn["output"]["result"]["mutualAidSetlInfoDTOS"].ToObject(typeof(DataTable));
- MessageBox.Show("接口【2001-人员享受待遇查询】因为各地市待遇享受条件不一致,最终查询结果以【90100-缴费查询接口】查询缴费情况为准!");
- }
- }
- }
|