123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479 |
- using Newtonsoft.Json.Linq;
- using System;
- using System.IO;
- 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 PTMedicalInsurance.Common;
- using PTMedicalInsurance.Helper;
- using PTMedicalInsurance.FormSetter;
- using PTMedicalInsurance.Business;
- using PTMedicalInsurance.Variables;
- namespace PTMedicalInsurance.Forms
- {
- public partial class MedInsuQuery : Form
- {
- InvokeHelper invoker = new InvokeHelper();
- DataTable dtExport;
- //1.声明自适应类实例
- AutoResizeForm asc = new AutoResizeForm();
- public MedInsuQuery()
- {
- InitializeComponent();
- asc.controllInitializeSize(this);
- asc.controlAutoSize(this);
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- Close();
- }
- 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;
- }
- private void GetCheckBoxGroupItem(string sqlStr,CheckedListBox checkedListBox1)
- {
- DataTable DT = GetDBLKComboxTable(sqlStr);
- checkedListBox1.Items.Clear();
- for (int i = 0; i < DT.Rows.Count; i++)
- {
- string Code = DT.Rows[i]["Code"].ToString();
- string Name = DT.Rows[i]["Name"].ToString();
- string Str = Code + "-" + Name;
- checkedListBox1.Items.Add(Str);
- }
- }
- private void MedInsuQuery_Load(object sender, EventArgs e)
- {
- dpST.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
- dpED.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59");
- edt_SetlNY.Text = DateTime.Now.ToString("yyyyMM");
- rbg_exit_type.SelectedIndex = 1;
- // dgvSettlRecord.AutoGenerateColumns = false;
- GridViewSetter grdSetter = new GridViewSetter();
- grdSetter.SetHeaderTextOfMedInsuHosPerInfo(dgvSettlRecord);
- grdSetter.SetHeaderTextOfSettlList(dgv_SettleRecord);
- grdSetter.SetHeaderTextOfSettlList(dgv_Settle3602);
- }
- private void btnQuery_Click(object sender, EventArgs e)
- {
- btnPrint.Enabled = false;
- string sCZYXM = Global.user.name;
- string SqlHeard = " Adm_Dr,MdtrtID,Name as PatientName,Age,PsnCertNO,Gend,PsnType,EmpName,AdmInDepName,insuplcAdmdvs,sZYZT AS sZTSM, "
- + " AdmBed,RegDate,MainDiagName,AttendDoctorNO,ChiefPhyDocName,'"+ sCZYXM+ "' as OpertName,'' as InHospNo,''Address ";
- string SqlStrMain = " SELECT a.*,b.*,a.PatientName AS Name,a.PsnType AS PsnTypeCode,'在院' sZYZT FROM BS_MIPatCurrentInsuInfo a LEFT JOIN BS_MedInsuRegisterInfo b "
- + " ON a.MdtrtID=b.InsuRegID AND a.Interface_Dr=b.Interface_Dr AND a.Hospital_Dr=b.Hospital_Dr "
- + " WHERE b.Type=1 AND b.ValidFlag=1 AND b.Hospital_Dr= " + Global.inf.hospitalDr + " AND b.Interface_Dr= " + Global.inf.interfaceDr
- + " AND b.InsuRegID NOT IN (SELECT MdtrtID FROM BS_MedInsuSettlement WHERE MdtrtID=b.InsuRegID AND BillType=1 AND ValidFlag=1 AND AdmType=2) "
- + " AND b.RegDate<='" + dpED.Text + "' AND b.RegDate>'" + dpST.Text + "' " //
- + " UNION ALL "
- + " SELECT a.*,b.*,a.PatientName AS Name,a.PsnType AS PsnTypeCode,'已结算' AS sZYZT "
- + " FROM BS_MIPatCurrentInsuInfo a LEFT JOIN BS_MedInsuRegisterInfo b "
- + " ON a.MdtrtID=b.InsuRegID AND a.Interface_Dr=b.Interface_Dr AND a.Hospital_Dr=b.Hospital_Dr "
- + " LEFT JOIN BS_MedInsuSettlement c ON a.MdtrtID=b.InsuRegID AND b.InsuRegID=c.MdtrtID AND a.Interface_Dr=b.Interface_Dr AND b.Interface_Dr=c.Interface_Dr "
- + " WHERE b.Type=1 AND b.ValidFlag=1 AND c.BillType=1 AND b.Hospital_Dr= " + Global.inf.hospitalDr + " AND b.Interface_Dr= " + Global.inf.interfaceDr
- + " AND c.AdmType=2 AND c.SettlementDateTime<='" + dpED.Text + "' AND c.SettlementDateTime>'" + dpST.Text + "' "; //
- string sqlStr = " SELECT "+ SqlHeard + " FROM ("+ SqlStrMain +") M ";
- //MessageBox.Show(sqlStr);
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- joSqlstr.Add("Type", "MedInsuHosPInfo");
- joSqlstr.Add("hospID", Global.inf.hisHospitalDr);
- JArray jaParam = new JArray();
- jaParam.Add(joSqlstr);
- JObject joSettlQuery = new JObject();
- joSettlQuery.Add("params", jaParam);
- joSettlQuery.Add("code", "09010059");
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
- //MessageBox.Show(joRtn.ToString());
- if (joRtn["result"]["data"].ToString() == "[]")
- {
- MessageBox.Show("查询结果为空!");
- return;
- }
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvSettlRecord.DataSource = dt;
- if (dt.Rows.Count != 0)
- {
- btnPrint.Enabled = true;
- dtExport = dt;
- //从HIS获取患者的床号(分床前医保登记的病人床号没有写入医保平台登记表)
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- string BedNo, BedDocName, InHospNo, Address;
- JObject joTmp = new JObject();
- joTmp.Add("admID", dt.Rows[i]["Adm_Dr"].ToString());
- JObject joRtn2 = invoker.invokeHISService(JsonHelper.setIrisInpar("05110014", joTmp).ToString(), "获取患者就诊信息");
- if (JsonHelper.parseIrisRtnValue(joRtn2, out string errMsg) == 0)
- {
- BedNo = JsonHelper.getDestValue(JObject.Parse(joRtn2.ToString()), "mdtrtinfo.adm_bed");
- BedDocName = JsonHelper.getDestValue(JObject.Parse(joRtn2.ToString()), "mdtrtinfo.chfpdr_name");
- InHospNo = JsonHelper.getDestValue(JObject.Parse(joRtn2.ToString()), "mdtrtinfo.medrcdno");
- Address = JsonHelper.getDestValue(JObject.Parse(joRtn2.ToString()), "mdtrtinfo.Address");
- dt.Rows[i]["AdmBed"] = BedNo;
- dt.Rows[i]["AttendDoctorNO"] = BedDocName;
- dt.Rows[i]["InHospNo"] = InHospNo;
- dt.Rows[i]["Address"] = Address;
- }
- else
- {
- if (errMsg.IndexOf("请重新登录") > 0)
- {
- MessageBox.Show("获取患者信息失败,请重新登录系统!");
- break;
- }
- }
- }
- }
- }
- private void btnPrint_Click(object sender, EventArgs e)
- {
- string LSH = DateTime.Now.ToString("yyyy-MM-dd"); //DateTime.Now.ToString("MMddHHmmssffff");
- string sFliePathName = @"C:\Users\Administrator\Desktop\" + LSH + "医保在院患者登记或结算信息.xls";
- string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
- if (ReturnFileName != "")
- {
- MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
- System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件
- }
- else
- {
- MessageBox.Show("导出失败!");
- }
- }
- private void btnMedQuery_Click(object sender, EventArgs e)
- {
- string errorMsg;
- string sBussiesID = "3605";
- DataTable dt;
- JObject joData = new JObject();
- JObject joInput = new JObject();
- joData.Add("setl_ym", edt_SetlNY.Text);
- joData.Add("page_num", edt_Page.Text);
- joData.Add("page_size", edt_PageCount.Text);
- joData.Add("setl_id", edt_SetID.Text);
- joInput.Add("data", joData);
-
- JObject joRtn = invoker.invokeCenterService(sBussiesID, JsonHelper.setCenterInpar(sBussiesID, joInput));
- if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
- {
- MessageBox.Show(" 查询失败:" + errorMsg);
- return;
- }
- else
- {
- dt = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
- dgv_MainData.DataSource = dt;
- if (dt.Rows.Count > 0)
- {
- btnImport.Enabled = true;
- dtExport = dt;
- }
- }
- }
- private void btnImport_Click(object sender, EventArgs e)
- {
- string sBussiesID = "【3605】DRG分组结果查询";
- string LSH = DateTime.Now.ToString("yyyyMMdd"); //DateTime.Now.ToString("MMddHHmmssffff");
- string sFliePathName = @"C:\Users\Administrator\Desktop\" + LSH + sBussiesID + "信息.xls";
- string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
- if (ReturnFileName != "")
- {
- MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
- System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件
- }
- else
- {
- MessageBox.Show("导出失败!");
- }
- }
- private void btnQuerySet_Click(object sender, EventArgs e)
- {
- string sqlStr = " SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and OccurTime>'" + dpt_ST.Text + "'";
- sqlStr = sqlStr + " and OccurTime<'" + dpt_ET.Text + "'";
- sqlStr = sqlStr + " and Interface_Dr=" + Global.inf.interfaceDr + "";
- if (tbName.Text != "")
- {
- sqlStr = sqlStr + " and PatientName='" + tbName.Text + "'";
- }
- if (tbPatSettlID.Text != "")
- {
- sqlStr = sqlStr + " and SettlementID='" + tbPatSettlID.Text + "'";
- }
- if (tbHisNO.Text != "")
- {
- sqlStr = sqlStr + " and Adm_Dr='" + tbHisNO.Text + "'";
- }
- if (rbgAdmType.SelectedIndex == 1)
- {
- sqlStr = sqlStr + " and AdmType=2";
- }
- if (rbgAdmType.SelectedIndex == 2)
- {
- sqlStr = sqlStr + " and AdmType=1";
- }
- if (rbgBillType.SelectedIndex == 1)
- {
- sqlStr = sqlStr + " and BillType=1 and ValidFlag=1 ";
- }
- if (rbgBillType.SelectedIndex == 2)
- {
- sqlStr = sqlStr + " and BillType=-1 and ValidFlag=0 ";
- }
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JArray jaParam = new JArray();
- jaParam.Add(joSqlstr);
- JObject joSettlQuery = new JObject();
- joSettlQuery.Add("params", jaParam);
- joSettlQuery.Add("code", "09010059");
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgv_SettleRecord.DataSource = dt;
- }
- private void btn3601_Click(object sender, EventArgs e)
- {
- string errMsg;
- if (dgv_SettleRecord.DataSource == null)
- {
- MessageBox.Show("请先查询HIS医保结算信息");
- return;
- }
- if (dgv_SettleRecord.Rows[dgv_SettleRecord.CurrentRow.Index].Cells["SettlementID"].Value.ToString() == "")
- {
- MessageBox.Show("请先查询HIS医保结算信息");
- return;
- }
- string settleID= dgv_SettleRecord.Rows[dgv_SettleRecord.CurrentRow.Index].Cells["SettlementID"].Value.ToString();
- string psnNo = dgv_SettleRecord.Rows[dgv_SettleRecord.CurrentRow.Index].Cells["PersonnelNO"].Value.ToString();
- try
- {
- dynamic joTmp = new JObject();
- joTmp.appy_exit_type = "";
- joTmp.setl_id = settleID;
- joTmp.psn_no = psnNo;
- joTmp.vali_flag = "";
- joTmp.fixmedins_code = "H45010302052";
- JObject joData = new JObject();
- joData.Add("data", joTmp);
- JObject joRtn = invoker.invokeCenterService("3601", JsonHelper.setCenterInpar("3601", joData).ToString());
- if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
- {
- MessageBox.Show("【3601】DRG申请退出列表查询失败:" + errMsg);
- return;
- }
- else
- {
- DataTable dt = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
- dgv_3601.DataSource = dt;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("【3601】DRG申请退出列表查询异常:" + ex.Message);
- return;
- }
- }
- private void btnExit_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void btn_Query3602_Click(object sender, EventArgs e)
- {
- string sqlStr = " SELECT top 50 * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and OccurTime>'" + dpt_Begin.Text + "'";
- sqlStr = sqlStr + " and OccurTime<'" + dpt_End.Text + "'";
- sqlStr = sqlStr + " and Interface_Dr=" + Global.inf.interfaceDr + "";
- if (tb_Name.Text != "")
- {
- sqlStr = sqlStr + " and PatientName='" + tb_Name.Text + "'";
- }
- if (tb_SeltID.Text != "")
- {
- sqlStr = sqlStr + " and SettlementID='" + tb_SeltID.Text + "'";
- }
- if (tb_CardNo.Text != "")
- {
- sqlStr = sqlStr + " and Adm_Dr='" + tb_CardNo.Text + "'";
- }
- if (rbg_AdmType.SelectedIndex == 1)
- {
- sqlStr = sqlStr + " and AdmType=2";
- }
- if (rbg_AdmType.SelectedIndex == 2)
- {
- sqlStr = sqlStr + " and AdmType=1";
- }
- if (rbg_BillType.SelectedIndex == 1)
- {
- sqlStr = sqlStr + " and BillType=1 and ValidFlag=1 ";
- }
- if (rbg_BillType.SelectedIndex == 2)
- {
- sqlStr = sqlStr + " and BillType=-1 and ValidFlag=0 ";
- }
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JArray jaParam = new JArray();
- jaParam.Add(joSqlstr);
- JObject joSettlQuery = new JObject();
- joSettlQuery.Add("params", jaParam);
- joSettlQuery.Add("code", "09010059");
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgv_Settle3602.DataSource = dt;
- }
- private void btn_3602_Click(object sender, EventArgs e)
- {
- string errMsg;
- if (dgv_Settle3602.DataSource == null)
- {
- MessageBox.Show("请先查询HIS医保结算信息");
- return;
- }
- if (dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["SettlementID"].Value.ToString() == "")
- {
- MessageBox.Show("请先查询HIS医保结算信息");
- return;
- }
- string ExitType = rbg_exit_type.SelectedIndex.ToString();
- try
- {
- dynamic joTmp = new JObject();
- joTmp.exit_rea = tb_exit_rea.Text;
- joTmp.fund_cap = tb_fund_cap.Text;
- joTmp.drg_admdvs = tb_drg_name.Text;
- joTmp.setl_id = tb_setl_id.Text;
- joTmp.psn_no = tb_psn_no.Text;
- joTmp.psn_name = tb_psn_name.Text;
- joTmp.psn_cert_type = "01";
- joTmp.certno = "";
- joTmp.insutype = dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["InsuranceType"].Value.ToString(); ;
- joTmp.fixmedins_code = Global.inf.hospitalNO;
- joTmp.fixmedins_name = Global.inf.hospitalName;
- joTmp.adm_time = "";
- joTmp.dscg_time = "";
- joTmp.appy_exit_type = rbg_exit_type.SelectedIndex.ToString();
- joTmp.medcasno = "";
- joTmp.rx_drord_no = tb_rx_drord_no.Text;
- joTmp.drg_codg = "";
- joTmp.drg_name = "";
- joTmp.pay_std_amt = "";
- joTmp.setl_listsn = "";
- joTmp.mdtrt_id = "";
- joTmp.exit_fund_payamt = "";
- joTmp.drg_fund_payamt = "";
- joTmp.exit_type = rbg_exit_type.SelectedIndex.ToString();
- JObject joData = new JObject();
- joData.Add("data", joTmp);
- JObject joRtn = invoker.invokeCenterService("3602", JsonHelper.setCenterInpar("3602", joData).ToString());
- if (JsonHelper.parseCenterRtnValue(joRtn, out errMsg) != 0)
- {
- MessageBox.Show("【3602】DRG申请退出保存失败:" + errMsg);
- return;
- }
- else
- {
- MessageBox.Show(joRtn.ToString());
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show("【3602】DRG申请退出保存异常:" + ex.Message);
- return;
- }
- }
- private void dgv_Settle3602_CellClick(object sender, DataGridViewCellEventArgs e)
- {
- if (dgv_Settle3602.DataSource == null)
- {
- return;
- }
- if (dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["SettlementID"].Value.ToString() == "")
- {
- return;
- }
- tb_setl_id.Text = dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["SettlementID"].Value.ToString();
- tb_psn_no.Text = dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["PersonnelNO"].Value.ToString();
- tb_psn_name.Text= dgv_Settle3602.Rows[dgv_Settle3602.CurrentRow.Index].Cells["PersonnelNO"].Value.ToString();
- }
- }
- }
|