123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968 |
- 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 PTMedicalInsurance.Helper;
- using PTMedicalInsurance.Common;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.FormSetter;
- using PTMedicalInsurance.Variables;
- using FastReport;
- using Newtonsoft.Json;
- using System.Threading;
- using FastReportFrom;
- using PTMedicalInsurance.Business;
- using FastReportFunction = FastReport.FastReportFunction;
- using System.IO;
- using FastReport.Export.Dbf;
- using Sunny.UI;
- using static System.Windows.Forms.VisualStyles.VisualStyleElement.Tab;
- using System.Drawing.Drawing2D;
- using FastReport.Editor;
- namespace PTMedicalInsurance.Forms
- {
-
- public partial class SettlementChecklist : Form
- {
- private int hospitalDr;
- private int interfaceDr;
- private string hospitalNO;
- private string interfaceNO;
- private string hospitalName;
- private string hospitalAreaCode;
- private bool disposed = false;
- private HisIrisServices hIS = new HisIrisServices();
- private MIIrisServices mIS = new MIIrisServices();
- Thread thread_test;
- private InvokeHelper invoker = new InvokeHelper();
- public SettlementChecklist()
- {
- InitializeComponent();
- hospitalDr = Global.inf.hospitalDr;
- hospitalNO = Global.inf.hospitalNO;
- hospitalName = Global.inf.hospitalName;
- hospitalAreaCode = Global.inf.areaCode;
- interfaceDr = Global.inf.interfaceDr;
- }
- public SettlementChecklist(JObject joParam)
- {
- InitializeComponent();
- hospitalDr = Global.inf.hospitalDr;
- hospitalNO = Global.inf.hospitalNO;
- hospitalName = Global.inf.hospitalName;
- hospitalAreaCode = Global.inf.areaCode;
- if (joParam == null) return;
- string setl_id = JsonHelper.getDestValue(joParam, "setl_id");
- if (setl_id == "")
- {
- MessageBox.Show("根据传入的结算编号为查询到相关信息,请手动输入查询!");
- return;
- }
- string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementID='" + setl_id + "'";
- 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");
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询结算信息");
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvSettlRecord.DataSource = dt;
- }
- public void Dispose()
- {
- Dispose1(true);
- GC.SuppressFinalize(this);
- }
- protected virtual void Dispose1(bool disposing)
- {
- if (thread_test == null) return;
- if (disposed == false)
- {
- if (disposing == true)
- {
- Thread.Sleep(100);
- Global.writeLog("Main - aborting my thread.");
- thread_test.Abort();//终止线程myThread
- thread_test.Join();//等待线程myThread结束
- Global.writeLog("Main - ending.");
- }
- //释放托管资源的代码
- }
- disposed = true;
- }
- private void rbgDirecType_ValueChanged(object sender, int index, string text)
- {
- }
- private void btnQuery_Click(object sender, EventArgs e)
- {
- }
- private void btnQuery_Click_1(object sender, EventArgs e)
- {
- string sqlStr = " SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + hospitalDr ;
- sqlStr = sqlStr + " and OccurTime>'" + dpST.Text + "'";
- sqlStr = sqlStr + " and OccurTime<'" + dpED.Text + "'";
- 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 (cbxInterface.Text != "")
- {
- sqlStr = sqlStr + " and Interface_Dr=" + Global.inf.interfaceDr + "";
- }
- 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));
- dgvSettlRecord.DataSource = dt;
- }
- private void SettlementChecklist_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");
- ComboxSetter cbxSetter = new ComboxSetter();
- cbxSetter.setCbxInterfaceDataSource(cbxInterface);
- GridViewSetter grdSetter = new GridViewSetter();
- grdSetter.SetHeaderTextOfSettlList(dgvSettlRecord);
- rbgAdmType.SelectedIndex = 0;
- rbgBillType.SelectedIndex = 1;
- btnDesign.Visible = true;
- cbxInterface.SelectedValueChanged += new EventHandler(cbxInterface_SelectedValueChanged);
- }
- private void cbxInterface_SelectedValueChanged(object sender, EventArgs e)
- {
- DataTable dt = (DataTable)cbxInterface.DataSource;
- int i = cbxInterface.SelectedIndex;
- //赋值
- hospitalNO = dt.Rows[i]["HospitalNO"].ToString();
- //MessageBox.Show(dt.Rows[i]["HospitalDr"].ToString());
- //MessageBox.Show(dt.Rows[i]["HospitalDr"].ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
- hospitalDr = int.Parse(dt.Rows[i]["HospitalDr"].ToString());
- interfaceNO = dt.Rows[i]["InterfaceNO"].ToString();
- interfaceDr = int.Parse(dt.Rows[i]["ID"].ToString());
- hospitalAreaCode = dt.Rows[i]["AreaCode"].ToString();
- //Global.inf.centerURL = dt.Rows[i]["CenterURL"].ToString();
- //Global.inf.businessDllName = dt.Rows[i]["DLLName"].ToString();
- //Global.inf.patientAreaCode = dt.Rows[i]["AreaCode"].ToString();
- }
- private JObject getPatCheckList()
- {
- try
- {
- int i = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- JObject joSettel = new JObject();
- joSettel.Add("HospitalDr", Global.inf.hospitalDr);
- joSettel.Add("interfaceDr", Global.inf.interfaceDr);
- joSettel.Add("admID", dt.Rows[i]["AdmID"].ToString());
- joSettel.Add("SettlementID", dt.Rows[i]["SettlementID"].ToString());
- joSettel.Add("ValidFlag", dt.Rows[i]["ValidFlag"].ToString());
- JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010066", joSettel).ToString(), "获取结算单信息");
- return joRtn;
- }
- catch (Exception ex)
- {
- JObject joRtn = new JObject();
- joRtn.Add("errorCode", -1);
- joRtn.Add("errorMessage", ex.Message);
- return joRtn;
- }
- }
- private void uiPanel1_Click(object sender, EventArgs e)
- {
- }
- [STAThread]
- public void design()
- {
- //try
- //{
- // string chineseSimpleFrl = Global.curEvt.path + @"\Chinese (Simplified).frl";
- // FastReport.Utils.Res.LoadLocale(chineseSimpleFrl);
- // JObject joSettleCheckList = getPatCheckList();
- // string errMsg;
- // if (JsonHelper.parseIrisRtnValue(joSettleCheckList, out errMsg) != 0)
- // {
- // MessageBox.Show("查询结算信息异常:" + errMsg);
- // return;
- // }
- // Report report = new Report();
- // try
- // {
- // var json = JsonConvert.DeserializeObject<Root>(getPatCheckList().ToString());
- // report.RegisterData(json.result.data.classification, "classification");
- // report.RegisterData(json.result.data.settlement, "settlement");
- // report.RegisterData(json.result.data.reginfo, "reginfo");
- // report.RegisterData(json.result.data.patinsuinfo, "patinsuinfo");
- // }
- // catch (Exception ex)
- // {
- // MessageBox.Show(ex.Message);
- // return;
- // }
- // report.Load(Global.curEvt.path + "\\frx\\河南郑州结算单.frx");
- // PrintDesign pf = new PrintDesign();
- // pf.designerControl1.Report = report;
- // report.Design();
- // pf.WindowState = FormWindowState.Maximized;
- // pf.ShowDialog();
- //}
- //catch (Exception ex)
- //{
- // MessageBox.Show(ex.Message);
- //}
- }
- [STAThread]
- private void print()
- {
- //string chineseSimpleFrl = Global.curEvt.path + @"\Chinese (Simplified).frl";
- //FastReport.Utils.Res.LoadLocale(chineseSimpleFrl);
- //JObject joSettleCheckList = getPatCheckList();
- //string errMsg;
- //if (JsonHelper.parseIrisRtnValue(joSettleCheckList, out errMsg) != 0)
- //{
- // MessageBox.Show("查询结算信息异常:" + errMsg);
- // return;
- //}
- //Report report = new Report();
- //try
- //{
- // var json = JsonConvert.DeserializeObject<Root>(getPatCheckList().ToString());
- // report.RegisterData(json.result.data.classification, "classification");
- // report.RegisterData(json.result.data.settlement, "settlement");
- // report.RegisterData(json.result.data.reginfo, "reginfo");
- // report.RegisterData(json.result.data.patinsuinfo, "patinsuinfo");
- //}
- //catch (Exception ex)
- //{
- // MessageBox.Show(ex.Message);
- // return;
- //}
- ////report.Design();
- //report.Load(Global.curEvt.path + "\\frx\\河南郑州结算单.frx");
- //this.ShowInTaskbar = true;
- //PrintPreview pf = new PrintPreview();
- //report.Preview = pf.previewControl1;
- //report.Show();
- //pf.WindowState = FormWindowState.Maximized;
- //pf.ShowDialog();
- try
- {
- int i = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- string AdmID = dt.Rows[i]["AdmID"].ToString();
- string SettlementID = dt.Rows[i]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[i]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[i]["MdtrtID"].ToString();
- string BillType = dt.Rows[i]["BillType"].ToString();
- JObject joRtn = GetFastReportParams("", AdmID, MdtrtID, SettlementID, ValidFlag, BillType);
- if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
- {
- MessageBox.Show("获取FastReport入参失败:" + errMsg);
- return;
- }
- string sFastReportParam = JsonHelper.getDestValue(joRtn, "result");
- if (FastReportPrint(sFastReportParam, out errMsg) != 0)
- {
- MessageBox.Show("调用FastReport打印失败!" + errMsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- public int FastReportPrint(string InParams, out string OutMsg)
- {
- Global.writeLog("调用FastReport入参:" + InParams);
- try
- {
- #region【调用正版FastReport打印】
- FastReportFrom.FastReportDll FrDll = new FastReportFrom.FastReportDll();
- string sRtnFr = FrDll.FastReport(InParams);
- JObject joRetObj = JObject.Parse(sRtnFr);
- if (JsonHelper.parseIrisRtnValue(joRetObj, out string errMsg) != 0)
- {
- OutMsg = "调用FastReport打印失败!" + errMsg;
- return -1;
- }
- else
- {
- OutMsg = "";
- return 0;
- }
- #endregion
- }
- catch (Exception ex)
- {
- OutMsg = "调用FastReport打印失败!" + ex.Message;
- return -1;
- }
- }
- public JObject GetFastReportParams(string designFlag, string admID, string MdtrtID, string settlementID, string validFlag,string BillType)
- {
- try
- {
- if (designFlag == "") { designFlag = "N"; }
- #region【获取HIS医保结算信息】
- JObject joSettel = new JObject();
- joSettel.Add("HospitalDr", Global.inf.hospitalDr);
- joSettel.Add("interfaceDr", Global.inf.interfaceDr);
- joSettel.Add("admID", admID);
- joSettel.Add("SettlementID", settlementID);
- joSettel.Add("ValidFlag", validFlag);
- joSettel.Add("BillType", BillType);
- joSettel.Add("MdtrtID", MdtrtID);
- JObject joRtnSettle = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010066", joSettel).ToString(), "获取结算单信息");
-
- if (JsonHelper.parseIrisRtnValue(joRtnSettle, out string errMsg) != 0)
- {
- JObject joRtnSet = new JObject();
- joRtnSet.Add("errorCode", -1);
- joRtnSet.Add("errorMessage", errMsg);
- joRtnSet.Add("result", "");
- return joRtnSet;
- }
- #endregion
- #region【获取住院号】
- JObject joTmp = new JObject();
- joTmp.Add("admID", joRtnSettle["result"]["data"]["settlement"][0]["AdmID"]);
- joTmp.Add("psn_no", joRtnSettle["result"]["data"]["settlement"][0]["PersonnelNO"]);
- //JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110001", joTmp).ToString(), "获取诊断信息");
- JObject joRtnDiag = invoker.invokeHISService(JsonHelper.setIrisInpar("05110014", joTmp).ToString(), "获取诊断信息");
- string medrcdno = "";
- if (JsonHelper.parseIrisRtnValue(joRtnSettle, out errMsg) == 0)
- {
- medrcdno = joRtnDiag["mdtrtinfo"]["medrcdno"].ToString();
- }
- #endregion
- #region【数据转换】
- if (joRtnSettle["result"]["data"]["settlement"][0]["Gender"].ToString() == "1")
- {
- joRtnSettle["result"]["data"]["settlement"][0]["Gender"] = "男";
- }
- else
- {
- joRtnSettle["result"]["data"]["settlement"][0]["Gender"] = "女";
- }
- DateTime startDate = (DateTime)joRtnSettle["result"]["data"]["reginfo"][0]["RegDate"];
- DateTime endDate = (DateTime)joRtnSettle["result"]["data"]["settlement"][0]["SettlementTime"];
- int diffInDays = (int)(endDate - startDate).TotalDays;
- if (diffInDays == 0)
- {
- diffInDays = 1;
- }
- joRtnSettle["result"]["data"]["settlement"][0]["HospitalizationsDays"] = diffInDays;
- string str = joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"].ToString();
- if (str.Contains("."))
- {
- joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"] = str.Split('.')[0] + "岁";
- }
- else
- {
- joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"] = str + "岁";
- }
- #endregion
- #region【组织FastReport调用入参】
- JArray jachargeItemLvFee = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.chargeItemLvFee"));
- JArray jaClassification = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.classification"));
- JArray jaSettlement = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement"));
- JArray jaReginfo = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.reginfo"));
- JArray japatinsuinfo = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.patinsuinfo"));
- //转换金额大写
- string Sumamt = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].Sumamt").ToString());
- string HealthInsurancePay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HealthInsurancePay").ToString());
- string ActualPayDeductible = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].ActualPayDeductible").ToString());
- string PersonCashPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonCashPay").ToString());
- string AccountPaySumamt = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt").ToString());
- string FundPaySumamt = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].FundPaySumamt").ToString());
- string LargeExpensesSupplementPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].LargeExpensesSupplementPay").ToString());
- string SeriousIllnessPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].SeriousIllnessPay").ToString());
- string CivilserviceAllowancePay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].CivilserviceAllowancePay").ToString());
- string MedicalAssistPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].MedicalAssistPay").ToString());
- string OtherPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OtherPay").ToString());
- string HospitalPartAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HospitalPartAmount").ToString());
- string AccountMutualAidAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount").ToString());
- string InPolicyRangeAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].InPolicyRangeAmount").ToString());
- //退费前卡余额
- decimal BalanceBefore = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].Balance")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt")) + Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount"));
- //退费撤销结算单负数显示
- decimal LSumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].Sumamt")) * -1;
- decimal LHealthInsurancePay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HealthInsurancePay")) * -1;
- decimal LAccountPaySumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt")) * -1;
- decimal LFundPaySumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].FundPaySumamt")) * -1;
- decimal LCivilserviceAllowancePay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].CivilserviceAllowancePay")) * -1;
- decimal LMedicalAssistPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].MedicalAssistPay")) * -1;
- decimal LPersonCashPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonCashPay")) * -1;
- decimal LAccountMutualAidAmount = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount")) * -1;
- decimal LBlZf = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonPaySumamt")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OwnPayAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PreSelfPayAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OverLimitAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].ActualPayDeductible"));
- //string BeginDate = JsonHelper.getDestValue(joRtnSettle, "result.data.reginfo[0].RegDate").ToString();
- //string EndDate = JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HISDischargeTime").ToString();
- //string InHosDays = FastReportFunction.DateDiff(Convert.ToDateTime(BeginDate), Convert.ToDateTime(EndDate));
- JObject jaAmountChiness = new JObject();
- jaAmountChiness.Add("Sumamt", Sumamt);
- jaAmountChiness.Add("HealthInsurancePay", HealthInsurancePay);
- jaAmountChiness.Add("ActualPayDeductible", ActualPayDeductible);
- jaAmountChiness.Add("PersonCashPay", PersonCashPay);
- jaAmountChiness.Add("AccountPaySumamt", AccountPaySumamt);
- jaAmountChiness.Add("FundPaySumamt", FundPaySumamt);
- jaAmountChiness.Add("LargeExpensesSupplementPay", LargeExpensesSupplementPay);
- jaAmountChiness.Add("SeriousIllnessPay", SeriousIllnessPay);
- jaAmountChiness.Add("CivilserviceAllowancePay", CivilserviceAllowancePay);
- jaAmountChiness.Add("MedicalAssistPay", MedicalAssistPay);
- jaAmountChiness.Add("OtherPay", OtherPay);
- jaAmountChiness.Add("HospitalPartAmount", HospitalPartAmount);
- jaAmountChiness.Add("AccountMutualAidAmount", AccountMutualAidAmount);
- jaAmountChiness.Add("InPolicyRangeAmount", InPolicyRangeAmount); //合规费用
- jaAmountChiness.Add("SettlOpter", Global.user.name);
- jaAmountChiness.Add("medrcdno", medrcdno);
- //其他自定义处理字段
- jaAmountChiness.Add("BalanceBefore", BalanceBefore);//结算前卡余额
- jaAmountChiness.Add("LSumamt", LSumamt);
- jaAmountChiness.Add("LHealthInsurancePay", LHealthInsurancePay);
- jaAmountChiness.Add("LAccountPaySumamt", LAccountPaySumamt);
- jaAmountChiness.Add("LFundPaySumamt", LFundPaySumamt);
- jaAmountChiness.Add("LCivilserviceAllowancePay", LCivilserviceAllowancePay);
- jaAmountChiness.Add("LMedicalAssistPay", LMedicalAssistPay);
- jaAmountChiness.Add("LPersonCashPay", LPersonCashPay);
- jaAmountChiness.Add("LAccountMutualAidAmount", LAccountMutualAidAmount);
- jaAmountChiness.Add("LBlZf", LBlZf);
- JArray jachinessParams = new JArray();
- jachinessParams.Add(jaAmountChiness);
- JObject joDataResult = new JObject();
- joDataResult.Add("SettlementInfo", jaSettlement);
- joDataResult.Add("ChargeItemLvFee", jachargeItemLvFee);
- joDataResult.Add("ClassificationInfo", jaClassification);
- joDataResult.Add("RegInfo", jaReginfo);
- joDataResult.Add("Patinsuinfo", japatinsuinfo);
- joDataResult.Add("ChinessSummat", jachinessParams);
- #region【门诊撤销结算单打印需要体现费用信息】
- String outParam;
- JObject joRtnRis = new JObject();
- JObject joHisFee = new JObject();
- if (Global.pat.admType == 1)
- {
- Global.pat.adm_Dr = int.Parse(joRtnSettle["result"]["data"]["settlement"][0]["AdmID"].ToString());
- Global.pat.billID = "";
- Global.pat.recordID = joRtnSettle["result"]["data"]["settlement"][0]["RecordID"].ToString();
- if (hIS.getHisFee(Global.pat, out outParam) != 0)
- {
- JObject joRtnSet = new JObject();
- joRtnSet.Add("errorCode", -1);
- joRtnSet.Add("errorMessage", "获取HIS费用失败");
- joRtnSet.Add("result", "");
- return joRtnSet;
- }
- else
- {
- joRtnRis = JObject.Parse(outParam);
- }
- joHisFee = JObject.Parse(outParam);
- if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
- {
- JObject joRtnSet = new JObject();
- joRtnSet.Add("errorCode", -1);
- joRtnSet.Add("errorMessage", "医保平台转换费用失败");
- joRtnSet.Add("result", "");
- return joRtnSet;
- }
- joDataResult.Add("Feeinfo", JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data")));
- }
- #endregion【门诊撤销结算单打印需要体现费用信息】
- JObject joParams = new JObject();
- if (Global.pat.admType == 1)
- {
- joParams.Add("fastReportCode", "SP14"); //这个要从表取值
- }else
- {
- joParams.Add("fastReportCode", "SP11"); //湖北普瑞门诊结算单撤销结算单从SP14打印
- }
- joParams.Add("hospID", Global.inf.hisHospitalDr.ToString());
- joParams.Add("printCode", "14");
- joParams.Add("templateID", "");
- JArray jaParams = new JArray();
- jaParams.Add(joParams);
- JObject joReportParams = new JObject();
- joReportParams.Add("params", jaParams);
- joReportParams.Add("code", "01040306");
- JObject joParam = new JObject();
- joParam.Add("designFlag", designFlag);
- joParam.Add("logFlag", "N");
- joParam.Add("dataParams", "");
- joParam.Add("pdfName", "");
- joParam.Add("reportparams", joReportParams);
- joParam.Add("dataResult", joDataResult);
- JObject joDataURL = new JObject();
- joDataURL.Add("dataIP", Global.hisConfig.ip);
- joDataURL.Add("urlAddress", Global.hisConfig.url);
- joDataURL.Add("authorization", Global.hisConfig.authorization);
- joParam.Add("dataURL", joDataURL);
- JArray jaParam = new JArray();
- jaParam.Add(joParam);
- JObject joInparam = new JObject();
- joInparam.Add("params", JArray.FromObject(jaParam));
- joInparam.Add("session", Global.curEvt.jaSession);
- #endregion
- JObject joRtn = new JObject();
- joRtn.Add("errorCode", 0);
- joRtn.Add("errorMessage", "");
- joRtn.Add("result", joInparam.ToString());
- return joRtn;
- }
- catch (Exception ex)
- {
- JObject joRtnEx = new JObject();
- joRtnEx.Add("errorCode", -1);
- joRtnEx.Add("errorMessage", ex.Message);
- joRtnEx.Add("result", "");
- return joRtnEx;
- }
- }
- //湖北市医保单独fastReport打印方法
- [STAThread]
- private void cityPrint()
- {
- try
- {
- int i = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- string AdmID = dt.Rows[i]["AdmID"].ToString();
- string SettlementID = dt.Rows[i]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[i]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[i]["MdtrtID"].ToString();
- string BillType = dt.Rows[i]["BillType"].ToString();
- JObject pJoInparm = new JObject();
- pJoInparm.Add("MdtrtCertType", dt.Rows[i]["MdtrtCertType"].ToString());
- JObject joRtn = cityGetFastReportParams("", AdmID, MdtrtID, SettlementID, ValidFlag, BillType, pJoInparm);
- if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
- {
- MessageBox.Show("获取FastReport入参失败:" + errMsg);
- return;
- }
- string sFastReportParam = JsonHelper.getDestValue(joRtn, "result");
- if (FastReportPrint(sFastReportParam, out errMsg) != 0)
- {
- MessageBox.Show("调用FastReport打印失败!" + errMsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- //湖北市医保单独获取fastReport打印入参
- public JObject cityGetFastReportParams(string designFlag, string admID, string MdtrtID, string settlementID, string validFlag, string BillType, JObject pJoInparm)
- {
- try
- {
- if (designFlag == "") { designFlag = "N"; }
- //string sqlStr = " SELECT * FROM BS_MedInsuSettlement WHERE SettlementID='" + settlementID + "'";
- //sqlStr = sqlStr + " and Adm_Dr='" + admID + "'";
- //sqlStr = sqlStr + " and ValidFlag='" + validFlag + "'";
- //sqlStr = sqlStr + " and BillType='" + BillType + "'";
- //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));
- #region【获取HIS医保结算信息】
- JObject joSettel = new JObject();
- joSettel.Add("HospitalDr", Global.inf.hospitalDr);
- joSettel.Add("interfaceDr", Global.inf.interfaceDr);
- joSettel.Add("admID", admID);
- joSettel.Add("SettlementID", settlementID);
- joSettel.Add("ValidFlag", validFlag);
- joSettel.Add("BillType", BillType);
- joSettel.Add("MdtrtID", MdtrtID);
- JObject joRtnSettle = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010066", joSettel).ToString(), "获取结算单信息");
- if (JsonHelper.parseIrisRtnValue(joRtnSettle, out string errMsg) != 0)
- {
- JObject joRtnSet = new JObject();
- joRtnSet.Add("errorCode", -1);
- joRtnSet.Add("errorMessage", errMsg);
- joRtnSet.Add("result", "");
- return joRtnSet;
- }
- #endregion
- #region【获取住院号】
- JObject joTmp = new JObject();
- joTmp.Add("admID", joRtnSettle["result"]["data"]["settlement"][0]["AdmID"]);
- joTmp.Add("psn_no", joRtnSettle["result"]["data"]["settlement"][0]["PersonnelNO"]);
- //JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110001", joTmp).ToString(), "获取诊断信息");
- JObject joRtnDiag = invoker.invokeHISService(JsonHelper.setIrisInpar("05110014", joTmp).ToString(), "获取诊断信息");
- string medrcdno = "";
- string mdtrtCertType = "";//医保使用凭证 电子凭证 身份证 社保卡
- string adtime = JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].SettlementTime").ToString();
- string distime = "";
- int billtype = int.Parse(BillType);
- //取就诊日期日期部分
- DateTime addateTime;
- if (DateTime.TryParse(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].SettlementTime").ToString(), out addateTime))
- {
- distime = addateTime.Date.ToString("yyyy-MM-dd"); // 格式化输出日期部分
- adtime = addateTime.Date.ToString("yyyy-MM-dd"); // 格式化输出日期部分
- }
- if (JsonHelper.parseIrisRtnValue(joRtnSettle, out errMsg) == 0)
- {
- medrcdno = joRtnDiag["mdtrtinfo"]["medrcdno"].ToString();
- }
- #endregion
- #region【数据转换】
- if (joRtnSettle["result"]["data"]["settlement"][0]["Gender"].ToString() == "1")
- {
- joRtnSettle["result"]["data"]["settlement"][0]["Gender"] = "男";
- }
- else
- {
- joRtnSettle["result"]["data"]["settlement"][0]["Gender"] = "女";
- }
- if (pJoInparm["MdtrtCertType"].ToString() == "01")
- {
- mdtrtCertType = "医保电子凭证";
- }
- else if (pJoInparm["MdtrtCertType"].ToString() == "02")
- {
- mdtrtCertType = "居民身份证";
- }
- else if (pJoInparm["MdtrtCertType"].ToString() == "03")
- {
- mdtrtCertType = "社保卡";
- }
- DateTime startDate = (DateTime)joRtnSettle["result"]["data"]["reginfo"][0]["RegDate"];
- DateTime endDate = (DateTime)joRtnSettle["result"]["data"]["settlement"][0]["SettlementTime"];
- int diffInDays = (int)(endDate - startDate).TotalDays;
- if (diffInDays == 0)
- {
- diffInDays = 1;
- }
- joRtnSettle["result"]["data"]["settlement"][0]["HospitalizationsDays"] = diffInDays;
- string str = joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"].ToString();
- if (str.Contains("."))
- {
- joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"] = str.Split('.')[0] + "岁";
- }
- else
- {
- joRtnSettle["result"]["data"]["patinsuinfo"][0]["Age"] = str + "岁";
- }
- string ISCX = "";
- if (BillType == "-1")
- {
- ISCX = "撤销";
- }
-
- #endregion
- #region【组织FastReport调用入参】
- JArray jachargeItemLvFee = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.chargeItemLvFee"));
- JArray jaClassification = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.classification"));
- JArray jaSettlement = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement"));
- JArray jaReginfo = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.reginfo"));
- JArray japatinsuinfo = JArray.Parse(JsonHelper.getDestValue(joRtnSettle, "result.data.patinsuinfo"));
- //退费前卡余额
- decimal BalanceBefore = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].Balance")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt")) + Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount"));
- //退费撤销结算单负数显示
- decimal LSumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].Sumamt")) * billtype;
- decimal LFundPaySumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].FundPaySumamt")) * billtype;
- decimal LHealthInsurancePay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HealthInsurancePay")) * billtype;
- decimal LLargeExpensesSupplementPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].LargeExpensesSupplementPay")) * billtype;
- decimal LSeriousIllnessPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].SeriousIllnessPay")) * billtype;
- decimal LMedicalAssistPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].MedicalAssistPay")) * billtype;
- decimal LEnterpriseSupplementPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].EnterpriseSupplementPay")) * billtype;
- decimal LOtherPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OtherPay")) * billtype;
- decimal LCivilserviceAllowancePay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].CivilserviceAllowancePay")) * billtype;
- decimal LDEZF = LLargeExpensesSupplementPay + LSeriousIllnessPay;
- decimal LHospitalPartAmount = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HospitalPartAmount")) * billtype;
- decimal LPersonPaySumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonPaySumamt")) * billtype;
- decimal LAccountPaySumamt = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt")) * billtype;
- decimal LPersonCashPay = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonCashPay")) * billtype;
- decimal LAccountMutualAidAmount = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount")) * billtype;
- decimal LBlZf = Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonPaySumamt")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OwnPayAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PreSelfPayAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OverLimitAmount")) - Convert.ToDecimal(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].ActualPayDeductible"));
- //转换金额大写
- string Sumamt = FastReportFunction.MoneyToUpper(LSumamt.ToString());
- string HealthInsurancePay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HealthInsurancePay").ToString());
- string ActualPayDeductible = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].ActualPayDeductible").ToString());
- string PersonCashPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].PersonCashPay").ToString());
- string AccountPaySumamt = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountPaySumamt").ToString());
- string FundPaySumamt = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].FundPaySumamt").ToString());
- string LargeExpensesSupplementPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].LargeExpensesSupplementPay").ToString());
- string SeriousIllnessPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].SeriousIllnessPay").ToString());
- string CivilserviceAllowancePay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].CivilserviceAllowancePay").ToString());
- string MedicalAssistPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].MedicalAssistPay").ToString());
- string OtherPay = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].OtherPay").ToString());
- string HospitalPartAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HospitalPartAmount").ToString());
- string AccountMutualAidAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].AccountMutualAidAmount").ToString());
- string InPolicyRangeAmount = FastReportFunction.MoneyToUpper(JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].InPolicyRangeAmount").ToString());
- //string BeginDate = JsonHelper.getDestValue(joRtnSettle, "result.data.reginfo[0].RegDate").ToString();
- //string EndDate = JsonHelper.getDestValue(joRtnSettle, "result.data.settlement[0].HISDischargeTime").ToString();
- //string InHosDays = FastReportFunction.DateDiff(Convert.ToDateTime(BeginDate), Convert.ToDateTime(EndDate));
- JObject jaAmountChiness = new JObject();
- jaAmountChiness.Add("Sumamt", Sumamt);
- jaAmountChiness.Add("HealthInsurancePay", HealthInsurancePay);
- jaAmountChiness.Add("ActualPayDeductible", ActualPayDeductible);
- jaAmountChiness.Add("PersonCashPay", PersonCashPay);
- jaAmountChiness.Add("AccountPaySumamt", AccountPaySumamt);
- jaAmountChiness.Add("FundPaySumamt", FundPaySumamt);
- jaAmountChiness.Add("LargeExpensesSupplementPay", LargeExpensesSupplementPay);
- jaAmountChiness.Add("SeriousIllnessPay", SeriousIllnessPay);
- jaAmountChiness.Add("CivilserviceAllowancePay", CivilserviceAllowancePay);
- jaAmountChiness.Add("MedicalAssistPay", MedicalAssistPay);
- jaAmountChiness.Add("OtherPay", OtherPay);
- jaAmountChiness.Add("HospitalPartAmount", HospitalPartAmount);
- jaAmountChiness.Add("AccountMutualAidAmount", AccountMutualAidAmount);
- jaAmountChiness.Add("InPolicyRangeAmount", InPolicyRangeAmount); //合规费用
- jaAmountChiness.Add("SettlOpter", Global.user.name);
- jaAmountChiness.Add("medrcdno", medrcdno);
- jaAmountChiness.Add("mdtrtCertType", mdtrtCertType);
- jaAmountChiness.Add("hospitalNO",Global.inf.hospitalNO);
- jaAmountChiness.Add("hospitalName", Global.inf.hospitalName);
- //其他自定义处理字段
- jaAmountChiness.Add("BalanceBefore", BalanceBefore);//结算前卡余额
- jaAmountChiness.Add("LSumamt", LSumamt);
- jaAmountChiness.Add("LFundPaySumamt", LFundPaySumamt);
- jaAmountChiness.Add("LHealthInsurancePay", LHealthInsurancePay);
- jaAmountChiness.Add("LMedicalAssistPay", LMedicalAssistPay);
- jaAmountChiness.Add("LCivilserviceAllowancePay", LCivilserviceAllowancePay);
- jaAmountChiness.Add("LLargeExpensesSupplementPay", LLargeExpensesSupplementPay);
- jaAmountChiness.Add("LSeriousIllnessPay", LSeriousIllnessPay);
- jaAmountChiness.Add("LEnterpriseSupplementPay", LEnterpriseSupplementPay);
- jaAmountChiness.Add("LOtherPay", LOtherPay);
- jaAmountChiness.Add("LDEZF", LDEZF);
- jaAmountChiness.Add("LHospitalPartAmount", LHospitalPartAmount);
- jaAmountChiness.Add("LPersonPaySumamt", LPersonPaySumamt);
- jaAmountChiness.Add("LAccountPaySumamt", LAccountPaySumamt);
- jaAmountChiness.Add("LPersonCashPay", LPersonCashPay);
- jaAmountChiness.Add("LAccountMutualAidAmount", LAccountMutualAidAmount);
- jaAmountChiness.Add("LBlZf", LBlZf);
- jaAmountChiness.Add("adtime", adtime);
- jaAmountChiness.Add("distime", distime);
- jaAmountChiness.Add("iscx", ISCX);
-
- JArray jachinessParams = new JArray();
- jachinessParams.Add(jaAmountChiness);
- JObject joDataResult = new JObject();
- joDataResult.Add("SettlementInfo", jaSettlement);
- joDataResult.Add("ChargeItemLvFee", jachargeItemLvFee);
- joDataResult.Add("ClassificationInfo", jaClassification);
- joDataResult.Add("RegInfo", jaReginfo);
- joDataResult.Add("Patinsuinfo", japatinsuinfo);
- joDataResult.Add("ChinessSummat", jachinessParams);
-
- JObject joParams = new JObject();
- joParams.Add("fastReportCode", "printSettlementList"); //这个要从表取值
- joParams.Add("hospID", Global.inf.hisHospitalDr.ToString());
- joParams.Add("printCode", "City");
- joParams.Add("templateID", "");
- JArray jaParams = new JArray();
- jaParams.Add(joParams);
- JObject joReportParams = new JObject();
- joReportParams.Add("params", jaParams);
- joReportParams.Add("code", "01040306");
- JObject joParam = new JObject();
- joParam.Add("designFlag", designFlag);
- joParam.Add("logFlag", "N");
- joParam.Add("dataParams", "");
- joParam.Add("pdfName", "");
- joParam.Add("reportparams", joReportParams);
- joParam.Add("dataResult", joDataResult);
- JObject joDataURL = new JObject();
- joDataURL.Add("dataIP", Global.hisConfig.ip);
- joDataURL.Add("urlAddress", Global.hisConfig.url);
- joDataURL.Add("authorization", Global.hisConfig.authorization);
- joParam.Add("dataURL", joDataURL);
- JArray jaParam = new JArray();
- jaParam.Add(joParam);
- JObject joInparam = new JObject();
- joInparam.Add("params", JArray.FromObject(jaParam));
- joInparam.Add("session", Global.curEvt.jaSession);
- #endregion
- JObject joRtn = new JObject();
- joRtn.Add("errorCode", 0);
- joRtn.Add("errorMessage", "");
- joRtn.Add("result", joInparam.ToString());
- return joRtn;
- }
- catch (Exception ex)
- {
- JObject joRtnEx = new JObject();
- joRtnEx.Add("errorCode", -1);
- joRtnEx.Add("errorMessage", ex.Message);
- joRtnEx.Add("result", "");
- return joRtnEx;
- }
- }
- [STAThread]
- private void preview()
- {
- //Report report = new Report();
- //try
- //{
- // var json = JsonConvert.DeserializeObject<Root>(getPatCheckList().ToString());
- // report.RegisterData(json.result.data.classification, "classification");
- // report.RegisterData(json.result.data.settlement, "settlement");
- // report.RegisterData(json.result.data.reginfo, "reginfo");
- // report.RegisterData(json.result.data.patinsuinfo, "patinsuinfo");
- //}
- //catch (Exception ex)
- //{
- // MessageBox.Show(ex.Message);
- // return;
- //}
- ////report.Design();
- //report.Load(Global.curEvt.path + "\\frx\\湖北武汉结算单.frx");
- ////report.Show();
- //PrintPreview preview1 = new PrintPreview();
- //preview1.Show();
- //report.Preview = preview1.previewControl1;
- //report.Prepare(); //准备
- //report.ShowPrepared(); //显示
- //preview1.Show();
- }
- private void uiButton2_Click(object sender, EventArgs e)
- {
- Close();
- }
- public void btnPrint_Click(object sender, EventArgs e)
- {
-
- string errorMsg;
- int iHis = dgvSettlRecord.CurrentRow.Index;
- String BType = dgvSettlRecord.Rows[iHis].Cells["BillType"].Value.ToString();
- Global.pat.admType =int.Parse(dgvSettlRecord.Rows[iHis].Cells["admType"].Value.ToString());
- JObject joData = new JObject();
- joData.Add("mdtrt_id", dgvSettlRecord.Rows[iHis].Cells["MdtrtID"].Value.ToString());
- joData.Add("setl_id", dgvSettlRecord.Rows[iHis].Cells["SettlementID"].Value.ToString());
- joData.Add("psn_no", dgvSettlRecord.Rows[iHis].Cells["PersonnelNO"].Value.ToString());
- joData.Add("med_type", dgvSettlRecord.Rows[iHis].Cells["MedicalType"].Value.ToString());
- JObject joInput = new JObject();
- joInput.Add("data", joData);
- Global.pat.insuplc_admdvs = dgvSettlRecord.Rows[iHis].Cells["insuplc_admdvs"].Value.ToString();//更新参保地
- if (BType == "1") {
- #region【调用医保交易YH03打印】
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeCenterService("YH03", JsonHelper.setCenterInpar("YH03", joInput));
- if (JsonHelper.parseCenterRtnValue(joRtn, out errorMsg) != 0)
- {
- MessageBox.Show("打印失败:" + errorMsg);
- return;
- }
- #endregion
- }
- else if (BType == "-1")
- {
- #region【调用FastRepor打印】
- try
- {
- //Thread thread = new Thread(new ThreadStart(print));
- //thread.SetApartmentState(ApartmentState.STA); //重点
- //thread.Start();
- //thread.Join();
- print();
- }
- catch (Exception ex)
- {
- Global.writeLog("结算单打印异常:" + ex.Message);
- MessageBox.Show("打印异常:" + ex.Message);
- }
-
- #endregion
- }
- }
- public void btnDesign_Click(object sender, EventArgs e)
- {
- //try
- //{
- // Thread thread = new Thread(new ThreadStart(design));
- // thread.SetApartmentState(ApartmentState.STA); //重点
- // thread.Start();
- // thread.Join();
- //}
- //catch (Exception ex)
- //{
- // Global.writeLog("结算单设计预览异常:" + ex.Message);
- // MessageBox.Show("设计预览异常:" + ex.Message);
- //}
- if (dgvSettlRecord.RowCount <= 0)
- {
- MessageBox.Show("请先查询结算数据!");
- return;
- }
-
- try
- {
- int i = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- Global.pat.admType = int.Parse(dgvSettlRecord.Rows[i].Cells["admType"].Value.ToString());
- string AdmID = dt.Rows[i]["AdmID"].ToString();
- string SettlementID = dt.Rows[i]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[i]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[i]["MdtrtID"].ToString();
- string BillType = dt.Rows[i]["BillType"].ToString();
- JObject joRtn = GetFastReportParams("Y", AdmID, MdtrtID, SettlementID, ValidFlag, BillType);
- if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
- {
- MessageBox.Show("获取FastReport入参失败:" + errMsg);
- return;
- }
- string sFastReportParam = JsonHelper.getDestValue(joRtn, "result");
- if (FastReportPrint(sFastReportParam, out errMsg) != 0)
- {
- MessageBox.Show("调用FastReport设计失败!" + errMsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- private void SettlementChecklist_FormClosed(object sender, FormClosedEventArgs e)
- {
- Dispose();
- }
- //市医保进销存992001结算信息上传
- private void JXCJSToolStripMenuItem_Click(object sender, EventArgs e)
- {
-
- if (dgvSettlRecord.RowCount <= 0)
- {
- MessageBox.Show("请先查询结算数据!");
- return;
- }
- string sqlStr;
- try
- {
- int m = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- string msgid = dt.Rows[m]["msgid"].ToString();
- string SettlementID = dt.Rows[m]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[m]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[m]["MdtrtID"].ToString();
- string BillType = dt.Rows[m]["BillType"].ToString();
- string AdmID= dt.Rows[m]["AdmID"].ToString();
- string billID = dt.Rows[m]["billID"].ToString();
- string recordID = dt.Rows[m]["recordID"].ToString();
- Global.pat.adm_Dr = int.Parse(AdmID);
- Global.pat.billID = billID;
- Global.pat.recordID = recordID;
- if (BillType == "-1")
- {
- MessageBox.Show("请选择结算正记录!该记录为退费记录");
- }
- sqlStr = "SELECT * FROM BS_MedInsuTransactionLog WHERE MSGID='" + msgid + "'";
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.QueryTransactionLog(joSqlstr);
- if (joRtn["result"]["data"].ToString() == "[]")
- {
- MessageBox.Show("查询结果为空!");
- return;
- }
- //DataTable dtlog = (DataTable)joRtn["result"]["data"][0].ToObject(typeof(DataTable));
- JObject Outlog = JObject.Parse(joRtn["result"]["data"][0]["OutparamPlain"].ToString());
- dynamic setlinfo = new JObject();//结算信息节点
- setlinfo.setl_id = Outlog["setl_id"];//结算ID
- setlinfo.mdtrt_id = Outlog["mdtrt_id"];//就诊ID
- setlinfo.psn_no = Outlog["psn_no"];//人员编号
- setlinfo.psn_name = Outlog["psn_name"];//人员姓名
- setlinfo.psn_cert_type = Outlog["psn_cert_type"];//凭证类型
- setlinfo.certno = Outlog["certno"];//证件号码
- setlinfo.gend = Outlog["gend"];//性别
- setlinfo.naty = Outlog["naty"];//民族
- setlinfo.brdy = Outlog["brdy"];//出生日期
- setlinfo.age = Outlog["age"];//年龄
- setlinfo.insutype = Outlog["insutype"];//险种类型
- setlinfo.psn_type = Outlog["psn_type"];//人员类别
- setlinfo.cvlserv_flag = Outlog["cvlserv_flag"];//公务员标志
- setlinfo.setl_time = Outlog["setl_time"];//结算时间
- setlinfo.mdtrt_cert_type = Outlog["mdtrt_cert_type"];//就诊凭证类型
- setlinfo.med_type = Outlog["med_type"];//医疗类别
- setlinfo.medfee_sumamt = Outlog["medfee_sumamt"];//医疗费总额
- setlinfo.fulamt_ownpay_amt = Outlog["fulamt_ownpay_amt"];//全自费金额
- setlinfo.overlmt_selfpay = Outlog["overlmt_selfpay"];//超限价自费费用
- setlinfo.preselfpay_amt = Outlog["preselfpay_amt"];//先行自付金额
- setlinfo.inscp_scp_amt = Outlog["inscp_scp_amt"];//符合政策范围金额
- setlinfo.act_pay_dedc = Outlog["act_pay_dedc"];//实际支付起付线
- setlinfo.hifp_pay = Outlog["hifp_pay"];//基本医疗保险统筹基金支出
- setlinfo.pool_prop_selfpay = Outlog["pool_prop_selfpay"];//基本医疗保险统筹基金支付比例
- setlinfo.cvlserv_pay = Outlog["cvlserv_pay"];//公务员医疗补助资金支出
- setlinfo.hifes_pay = Outlog["hifes_pay"];//企业补充医疗保险基金支出
- setlinfo.hifmi_pay = Outlog["hifmi_pay"];//居民大病保险资金支出
- setlinfo.hifob_pay = Outlog["hifob_pay"];//职工大额医疗费用补助基金支出
- setlinfo.maf_pay = Outlog["maf_pay"];//医疗救助基金支出
- setlinfo.oth_pay = Outlog["oth_pay"];//结算ID
- setlinfo.fund_pay_sumamt = Outlog["fund_pay_sumamt"];//基金支付总额
- setlinfo.psn_part_amt = Outlog["psn_part_amt"];//个人负担总金额
- setlinfo.acct_pay = Outlog["acct_pay"];//个人账户支出
- setlinfo.psn_cash_pay = Outlog["psn_cash_pay"];//个人现金支出
- setlinfo.balc = Outlog["balc"];//余额
- setlinfo.acct_mulaid_pay = Outlog["acct_mulaid_pay"];//个人账户共济支付金额
- setlinfo.medins_setl_id = Outlog["medins_setl_id"];//医药机构结算结算ID
- setlinfo.clr_optins = Outlog["clr_optins"];//clr_optins
- setlinfo.clr_way = Outlog["clr_way"];//clr_way
- setlinfo.clr_type = Outlog["clr_type"];//clr_type
- setlinfo.exp_content = Outlog["exp_content"];//exp_content
- setlinfo.hosp_part_amt = Outlog["hosp_part_amt"];//医院负担金额
- setlinfo.hifdm_pay = 0;//伤残人员医疗保障基金支出
- //string outParam = "";
- ////获取IS费用
- //if (hIS.getHisFee(Global.pat, out outParam) != 0)
- //{
- // MessageBox.Show("获取HIS费用失败");
- //}
- ////调用医保平台转换HIS费用(转换医保编码等)
- //JObject joHisFee = JObject.Parse(outParam);
- //if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
- //{
- // MessageBox.Show("获取HIS费用医保对照关系失败");
- //}
- //JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data"));
- // JObject jaFeeOne=new JObject();
- //for (int i = 0; i < jaFeeDetail.Count; i++)
- //{
- // jaFeeOne.Add("feedetl_sn", jaFeeDetail[i]["feedetl_sn"]);//费用明细流水号
- // jaFeeOne.Add("rxno", "");//处方号
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["rx_circ_flag"].ToString()))
- // {
- // jaFeeOne.Add("rx_circ_flag", "");//外购处方标志
- // }
- // else
- // {
- // jaFeeOne.Add("rx_circ_flag", jaFeeDetail[i]["rx_circ_flag"]);//外购处方标志
- // }
- // jaFeeOne.Add("fee_ocur_time", jaFeeDetail[i]["fee_ocur_time"]);
- // jaFeeOne.Add("med_list_codg", jaFeeDetail[i]["med_list_codg"]);
- // jaFeeOne.Add("medins_list_codg", jaFeeDetail[i]["medins_list_codg"]);
- // jaFeeOne.Add("medins_list_name", jaFeeDetail[i]["medins_list_desc"]);
- // jaFeeOne.Add("prodname", jaFeeDetail[i]["medins_list_desc"]);
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["spec"].ToString()))
- // {
- // jaFeeOne.Add("spec", "");
- // }
- // else
- // {
- // jaFeeOne.Add("spec", jaFeeDetail[i]["spec"]);
- // }
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["doseForm"].ToString()))
- // {
- // jaFeeOne.Add("dosform_name", "");
- // }
- // else
- // {
- // jaFeeOne.Add("dosform_name", jaFeeDetail[i]["doseForm"]);
- // }
- // jaFeeOne.Add(" det_item_fee_sumamt", jaFeeDetail[i]["det_item_fee_sumamt"]);
- // jaFeeOne.Add("cnt", jaFeeDetail[i]["cnt"]);
- // jaFeeOne.Add("pric", jaFeeDetail[i]["pric"]);
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["sin_dos_dscr"].ToString()))
- // {
- // jaFeeOne.Add("sin_dos_dscr", "");
- // }
- // else
- // {
- // jaFeeOne.Add("sin_dos_dscr", jaFeeDetail[i]["sin_dos_dscr"]);
- // }
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["used_frqu_dscr"].ToString()))
- // {
- // jaFeeOne.Add("used_frqu_dscr", "");
- // }
- // else
- // {
- // jaFeeOne.Add("used_frqu_dscr", jaFeeDetail[i]["used_frqu_dscr"]);
- // }
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["prd_days"].ToString()))
- // {
- // jaFeeOne.Add("prd_days", "");
- // }
- // else
- // {
- // jaFeeOne.Add("prd_days", jaFeeDetail[i]["prd_days"]);
- // }
- // MessageBox.Show("555");
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["medc_way_dscr"].ToString()))
- // {
- // jaFeeOne.Add("medc_way_dscr", "");
- // }
- // else
- // {
- // jaFeeOne.Add("medc_way_dscr", jaFeeDetail[i]["medc_way_dscr"]);
- // }
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["bilg_dr_codg"].ToString()))
- // {
- // jaFeeOne.Add("bilg_dr_codg", "");
- // }
- // else
- // {
- // jaFeeOne.Add("bilg_dr_codg", jaFeeDetail[i]["bilg_dr_codg"]);
- // }
- // if (string.IsNullOrEmpty(jaFeeDetail[i]["bilg_dr_name"].ToString()))
- // {
- // jaFeeOne.Add("bilg_dr_name", "");
- // }
- // else
- // {
- // jaFeeOne.Add("bilg_dr_name", jaFeeDetail[i]["bilg_dr_name"]);
- // }
- // MessageBox.Show("666");
- // jaFeeOne.Add("phar_name", "");
- // jaFeeOne.Add("phar_prac_cert_no", "");
- // jaFeeOne.Add("tcmdrug_used_way", ""); //中药使用方式 1复方 2单方 必填
- // jaFeeOne.Add("trdn_flag", "1");//拆零标志 必填 0否 1是
- // jaFeeDetail.Add(jaFeeOne);
- // jaFeeOne = new JObject();
- // MessageBox.Show("777");
- //}
- JObject Jo992001 = new JObject();
- //Jo992001.Add("setlinfo",JObject.Parse(setlinfo));//结算信息节点
-
- Jo992001.Add("setlinfo", setlinfo);//结算信息节点
-
- //Jo992001.Add("drugdetail", jaFeeDetail);//购药明细节点
-
- JObject OutJo = invoker.invokeCenterServiceJXC("992001", JObject.Parse(JsonHelper.setCenterInpar("992001", Jo992001)));
- MessageBox.Show("上传成功!!!,上传返回:" + OutJo.ToString());
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- private void SYBJXCTFToolStripMenuItem_Click(object sender, EventArgs e)
- {
-
- if (dgvSettlRecord.RowCount <= 0)
- {
- MessageBox.Show("请先查询结算数据!");
- return;
- }
- string sqlStr;
- try
- {
- int m = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- string msgid = dt.Rows[m]["msgid"].ToString();
- string SettlementID = dt.Rows[m]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[m]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[m]["MdtrtID"].ToString();
- string BillType = dt.Rows[m]["BillType"].ToString();
- string AdmID = dt.Rows[m]["AdmID"].ToString();
- string billID = dt.Rows[m]["billID"].ToString();
- string recordID = dt.Rows[m]["recordID"].ToString();
- Global.pat.adm_Dr = int.Parse(AdmID);
- Global.pat.billID = billID;
- Global.pat.recordID = recordID;
- if (BillType == "1")
- {
- MessageBox.Show("请选择退费负记录!该记录为正交易记录");
- }
-
- sqlStr = "SELECT * FROM BS_MedInsuTransactionLog WHERE MSGID='" + msgid + "'";
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.QueryTransactionLog(joSqlstr);
-
- if (joRtn["result"]["data"].ToString() == "[]")
- {
- MessageBox.Show("查询结果为空!");
- return;
- }
-
- //DataTable dtlog = (DataTable)joRtn["result"]["data"][0].ToObject(typeof(DataTable));
- JObject Outlog = JObject.Parse(joRtn["result"]["data"][0]["OutparamPlain"].ToString());
- dynamic setlinfo = new JObject();//结算信息节点
- setlinfo.setl_id = Outlog["output"]["setlinfo"]["setl_id"];//结算ID
- setlinfo.init_setl_id = "";//原结算ID
- setlinfo.setl_time = Outlog["output"]["setlinfo"]["setl_time"];//结算退费时间
- setlinfo.mdtrt_id = Outlog["output"]["setlinfo"]["mdtrt_id"];//就诊ID
- setlinfo.psn_no = Outlog["output"]["setlinfo"]["psn_no"];//人员编号
- setlinfo.exp_content = "";
- string mdtrt_id = Outlog["output"]["setlinfo"]["mdtrt_id"].ToString();
- sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE billType = 1 ";
- sqlStr = sqlStr + " AND Hospital_Dr=" + Global.inf.hospitalDr + " AND Interface_Dr=" + Global.inf.interfaceDr;
- sqlStr = sqlStr + " AND MdtrtID ='" + mdtrt_id + "'";
-
- JObject joSql = new JObject();
- joSql.Add("sqlStr", sqlStr);
- JObject joSettlInfo = mIS.QuerySettlementInfo(joSql);
- //查询结算信息
- JObject Outpam = JObject.Parse(joSettlInfo["result"]["data"][0].ToString());
- setlinfo.init_setl_id = Outpam["SettlementID"];//ADMID
- setlinfo.psn_no = Outpam["PersonnelNO"];
-
- JObject joParam992002 = new JObject();
- joParam992002.Add("data", setlinfo);//结算信息节点
- JObject OutJo = invoker.invokeCenterServiceJXC("992002", JObject.Parse(JsonHelper.setCenterInpar("992002", joParam992002)));
- MessageBox.Show("上传成功+"+ OutJo.ToString());
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- private void FYMXToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (dgvSettlRecord.RowCount <= 0)
- {
- MessageBox.Show("请先查询结算数据!");
- return;
- }
- string sqlStr;
- try
- {
- int m = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- string msgid = dt.Rows[m]["msgid"].ToString();
- string SettlementID = dt.Rows[m]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[m]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[m]["MdtrtID"].ToString();
- string BillType = dt.Rows[m]["BillType"].ToString();
- string AdmID = dt.Rows[m]["AdmID"].ToString();
- string billID = dt.Rows[m]["billID"].ToString();
- string recordID = dt.Rows[m]["recordID"].ToString();
- Global.pat.adm_Dr = int.Parse(AdmID);
- Global.pat.billID = billID;
- Global.pat.recordID = recordID;
- //if (BillType == "-1")
- //{
- // MessageBox.Show("请选择结算正记录!该记录为退费记录");
- //}
- sqlStr = "SELECT * FROM BS_MedInsuTransactionLog WHERE MSGID='" + msgid + "'";
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.QueryTransactionLog(joSqlstr);
- if (joRtn["result"]["data"].ToString() == "[]")
- {
- MessageBox.Show("查询结果为空!");
- return;
- }
- //DataTable dtlog = (DataTable)joRtn["result"]["data"][0].ToObject(typeof(DataTable));
- JObject Outlog = JObject.Parse(joRtn["result"]["data"][0]["OutparamPlain"].ToString());
- dynamic setlinfo = new JObject();//结算信息节点
- setlinfo.setl_id = Outlog["output"]["setlinfo"]["setl_id"];//结算ID
- //setlinfo.mdtrt_id = Outlog["output"]["setlinfo"]["mdtrt_id"];//就诊ID
- //setlinfo.psn_no = Outlog["output"]["setlinfo"]["psn_no"];//人员编号
- //setlinfo.psn_name = Outlog["output"]["setlinfo"]["psn_name"];//人员姓名
- //setlinfo.psn_cert_type = Outlog["output"]["setlinfo"]["psn_cert_type"];//凭证类型
- //setlinfo.certno = Outlog["output"]["setlinfo"]["certno"];//证件号码
- //setlinfo.gend = Outlog["output"]["setlinfo"]["gend"];//性别
- //setlinfo.naty = Outlog["output"]["setlinfo"]["naty"];//民族
- //setlinfo.brdy = Outlog["output"]["setlinfo"]["brdy"];//出生日期
- //setlinfo.age = Outlog["output"]["setlinfo"]["age"];//年龄
- //setlinfo.insutype = Outlog["output"]["setlinfo"]["insutype"];//险种类型
- //setlinfo.psn_type = Outlog["output"]["setlinfo"]["psn_type"];//人员类别
- //setlinfo.cvlserv_flag = Outlog["output"]["setlinfo"]["cvlserv_flag"];//公务员标志
- setlinfo.setl_time = Outlog["output"]["setlinfo"]["setl_time"];//结算时间
- //setlinfo.mdtrt_cert_type = Outlog["output"]["setlinfo"]["mdtrt_cert_type"];//就诊凭证类型
- //setlinfo.med_type = Outlog["output"]["setlinfo"]["med_type"];//医疗类别
- //setlinfo.medfee_sumamt = Outlog["output"]["setlinfo"]["medfee_sumamt"];//医疗费总额
- //setlinfo.fulamt_ownpay_amt = Outlog["output"]["setlinfo"]["fulamt_ownpay_amt"];//全自费金额
- //setlinfo.overlmt_selfpay = Outlog["output"]["setlinfo"]["overlmt_selfpay"];//超限价自费费用
- //setlinfo.preselfpay_amt = Outlog["output"]["setlinfo"]["preselfpay_amt"];//先行自付金额
- //setlinfo.inscp_scp_amt = Outlog["output"]["setlinfo"]["inscp_scp_amt"];//符合政策范围金额
- //setlinfo.act_pay_dedc = Outlog["output"]["setlinfo"]["act_pay_dedc"];//实际支付起付线
- //setlinfo.hifp_pay = Outlog["output"]["setlinfo"]["hifp_pay"];//基本医疗保险统筹基金支出
- //setlinfo.pool_prop_selfpay = Outlog["output"]["setlinfo"]["pool_prop_selfpay"];//基本医疗保险统筹基金支付比例
- //setlinfo.cvlserv_pay = Outlog["output"]["setlinfo"]["cvlserv_pay"];//公务员医疗补助资金支出
- //setlinfo.hifes_pay = Outlog["output"]["setlinfo"]["hifes_pay"];//企业补充医疗保险基金支出
- //setlinfo.hifmi_pay = Outlog["output"]["setlinfo"]["hifmi_pay"];//居民大病保险资金支出
- //setlinfo.hifob_pay = Outlog["output"]["setlinfo"]["hifob_pay"];//职工大额医疗费用补助基金支出
- //setlinfo.maf_pay = Outlog["output"]["setlinfo"]["maf_pay"];//医疗救助基金支出
- //setlinfo.oth_pay = Outlog["output"]["setlinfo"]["oth_pay"];//结算ID
- //setlinfo.fund_pay_sumamt = Outlog["output"]["setlinfo"]["fund_pay_sumamt"];//基金支付总额
- //setlinfo.psn_part_amt = Outlog["output"]["setlinfo"]["psn_part_amt"];//个人负担总金额
- //setlinfo.acct_pay = Outlog["output"]["setlinfo"]["acct_pay"];//个人账户支出
- //setlinfo.psn_cash_pay = Outlog["output"]["setlinfo"]["psn_cash_pay"];//个人现金支出
- //setlinfo.balc = Outlog["output"]["setlinfo"]["balc"];//余额
- //setlinfo.acct_mulaid_pay = Outlog["output"]["setlinfo"]["acct_mulaid_pay"];//个人账户共济支付金额
- //setlinfo.medins_setl_id = Outlog["output"]["setlinfo"]["medins_setl_id"];//医药机构结算结算ID
- //setlinfo.clr_optins = Outlog["output"]["setlinfo"]["clr_optins"];//clr_optins
- //setlinfo.clr_way = Outlog["output"]["setlinfo"]["clr_way"];//clr_way
- //setlinfo.clr_type = Outlog["output"]["setlinfo"]["clr_type"];//clr_type
- //// setlinfo.exp_content = Outlog["output"]["setlinfo"]["exp_content"];//exp_content
- //setlinfo.exp_content = "";//exp_content
- //setlinfo.hosp_part_amt = Outlog["output"]["setlinfo"]["hosp_part_amt"];//医院负担金额
- //setlinfo.hifdm_pay = 0;//伤残人员医疗保障基金支出
- string outParam = "";
- //获取IS费用
- if (hIS.getHisFee(Global.pat, out outParam) != 0)
- {
- MessageBox.Show("获取HIS费用失败");
- }
- //调用医保平台转换HIS费用(转换医保编码等)
- JObject joHisFee = JObject.Parse(outParam);
- if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
- {
- MessageBox.Show("获取HIS费用医保对照关系失败");
- }
- JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data"));
- JArray jaFeeDetail1 = new JArray();
- ; JObject jaFeeOne = new JObject();
-
- for (int k = 0; k < jaFeeDetail.Count; k++)
- { if (!(jaFeeDetail[k]["med_list_codg"].ToString().Substring(0, 1) == "X" || jaFeeDetail[k]["med_list_codg"].ToString().Substring(0, 1) == "Z")) continue;
- jaFeeOne.Add("feedetl_sn", jaFeeDetail[k]["feedetl_sn"]);//费用明细流水号
- jaFeeOne.Add("rxno", "");//处方号
- if (string.IsNullOrEmpty(jaFeeDetail[i]["rx_circ_flag"].ToString()))
- {
- jaFeeOne.Add("rx_circ_flag", "0");//外购处方标志
- }
- else
- {
- jaFeeOne.Add("rx_circ_flag", jaFeeDetail[k]["rx_circ_flag"].ToString());//外购处方标志
- }
-
-
-
- if (BillType == "-1")
- {
- jaFeeOne.Add("fee_ocur_time", setlinfo.setl_time);
- }
- else{
- jaFeeOne.Add("fee_ocur_time", jaFeeDetail[k]["fee_ocur_time"]);
- }
- jaFeeOne.Add("med_list_codg", jaFeeDetail[k]["med_list_codg"]);
- jaFeeOne.Add("medins_list_codg", jaFeeDetail[i]["medins_list_codg"]);
- jaFeeOne.Add("medins_list_name", jaFeeDetail[i]["medins_list_desc"]);
- jaFeeOne.Add("prodname", jaFeeDetail[i]["medins_list_desc"]);
- if (string.IsNullOrEmpty(jaFeeDetail[i]["spec"].ToString()))
- {
- jaFeeOne.Add("spec", "");
- }
- else
- {
- jaFeeOne.Add("spec", jaFeeDetail[i]["spec"]);
- }
- if (string.IsNullOrEmpty(jaFeeDetail[i]["doseForm"].ToString()))
- {
- jaFeeOne.Add("dosform_name", "");
- }
- else
- {
- jaFeeOne.Add("dosform_name", jaFeeDetail[i]["doseForm"]);
- }
- jaFeeOne.Add("det_item_fee_sumamt", decimal.Parse(jaFeeDetail[k]["det_item_fee_sumamt"].ToString()));
- jaFeeOne.Add("cnt", decimal.Parse(jaFeeDetail[k]["cnt"].ToString()));
- jaFeeOne.Add("pric", decimal.Parse(jaFeeDetail[k]["pric"].ToString()));
- if (string.IsNullOrEmpty(jaFeeDetail[i]["sin_dos_dscr"].ToString()))
- {
- jaFeeOne.Add("sin_dos_dscr", "");
- }
- else
- {
- jaFeeOne.Add("sin_dos_dscr", jaFeeDetail[i]["sin_dos_dscr"]);
- }
- if (string.IsNullOrEmpty(jaFeeDetail[i]["used_frqu_dscr"].ToString()))
- {
- jaFeeOne.Add("used_frqu_dscr", "");
- }
- else
- {
- jaFeeOne.Add("used_frqu_dscr", jaFeeDetail[i]["used_frqu_dscr"]);
- }
- if (string.IsNullOrEmpty(jaFeeDetail[i]["prd_days"].ToString()))
- {
- jaFeeOne.Add("prd_days", 1);
- }
- else
- {
- jaFeeOne.Add("prd_days", decimal.Parse(jaFeeDetail[k]["prd_days"].ToString()));
- }
- MessageBox.Show("555");
- if (string.IsNullOrEmpty(jaFeeDetail[i]["medc_way_dscr"].ToString()))
- {
- jaFeeOne.Add("medc_way_dscr", "");
- }
- else
- {
- jaFeeOne.Add("medc_way_dscr", jaFeeDetail[i]["medc_way_dscr"]);
- }
- if (string.IsNullOrEmpty(jaFeeDetail[i]["bilg_dr_codg"].ToString()))
- {
- jaFeeOne.Add("bilg_dr_codg", "");
- }
- else
- {
- jaFeeOne.Add("bilg_dr_codg", jaFeeDetail[i]["bilg_dr_codg"]);
- }
- if (string.IsNullOrEmpty(jaFeeDetail[i]["bilg_dr_name"].ToString()))
- {
- jaFeeOne.Add("bilg_dr_name", "");
- }
- else
- {
- jaFeeOne.Add("bilg_dr_name", jaFeeDetail[i]["bilg_dr_name"]);
- }
- MessageBox.Show("666");
- jaFeeOne.Add("phar_name", "");
- jaFeeOne.Add("phar_prac_cert_no", "");
- jaFeeOne.Add("tcmdrug_used_way", "1"); //中药使用方式 1复方 2单方 必填
- jaFeeOne.Add("trdn_flag", joHisFee["result"][k]["outApartFlag"].ToString());//拆零标志 必填 0否 1是
-
-
- jaFeeDetail1.Add(jaFeeOne);
- jaFeeOne = new JObject();
- MessageBox.Show("777");
- }
-
- JObject Jo992004 = new JObject();
- // JObject Jo992001 = new JObject();
-
-
- //Jo992001.Add("setlinfo",JObject.Parse(setlinfo));//结算信息节点
- Jo992004.Add("setlinfo", setlinfo);
- Jo992004.Add("drugdetail", jaFeeDetail1);//结算信息节点
-
- //Jo992001.Add("drugdetail", jaFeeDetail);//购药明细节点
- MessageBox.Show("上传开始:" + Jo992004.ToString());
- JObject OutJo = invoker.invokeCenterServiceJXC("9920004", JObject.Parse(JsonHelper.setCenterInpar("992004", Jo992004)));
- MessageBox.Show("上传返回:" + OutJo.ToString());
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- private void cityDesignToolStripMenuItem_Click(object sender, EventArgs e)
- {
- //try
- //{
- // Thread thread = new Thread(new ThreadStart(design));
- // thread.SetApartmentState(ApartmentState.STA); //重点
- // thread.Start();
- // thread.Join();
- //}
- //catch (Exception ex)
- //{
- // Global.writeLog("结算单设计预览异常:" + ex.Message);
- // MessageBox.Show("设计预览异常:" + ex.Message);
- //}
- if (dgvSettlRecord.RowCount <= 0)
- {
- MessageBox.Show("请先查询结算数据!");
- return;
- }
- try
- {
- int i = dgvSettlRecord.CurrentRow.Index;
- DataTable dt = (DataTable)dgvSettlRecord.DataSource;
- Global.pat.admType = int.Parse(dgvSettlRecord.Rows[i].Cells["admType"].Value.ToString());
- string AdmID = dt.Rows[i]["AdmID"].ToString();
- string SettlementID = dt.Rows[i]["SettlementID"].ToString();
- string ValidFlag = dt.Rows[i]["ValidFlag"].ToString();
- string MdtrtID = dt.Rows[i]["MdtrtID"].ToString();
- string BillType = dt.Rows[i]["BillType"].ToString();
- JObject pJoInparm= new JObject();
- pJoInparm.Add("MdtrtCertType", dt.Rows[i]["MdtrtCertType"].ToString());
- JObject joRtn = cityGetFastReportParams("Y", AdmID, MdtrtID, SettlementID, ValidFlag, BillType, pJoInparm);
- if (JsonHelper.parseIrisRtnValue(joRtn, out string errMsg) != 0)
- {
- MessageBox.Show("获取FastReport入参失败:" + errMsg);
- return;
- }
- string sFastReportParam = JsonHelper.getDestValue(joRtn, "result");
- if (FastReportPrint(sFastReportParam, out errMsg) != 0)
- {
- MessageBox.Show("调用FastReport设计失败!" + errMsg);
- return;
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- return;
- }
- }
- private void cityToolStripMenuItem_Click(object sender, EventArgs e)
- {
- string errorMsg;
- int iHis = dgvSettlRecord.CurrentRow.Index;
- String BType = dgvSettlRecord.Rows[iHis].Cells["BillType"].Value.ToString();
- Global.pat.admType = int.Parse(dgvSettlRecord.Rows[iHis].Cells["admType"].Value.ToString());
- JObject joData = new JObject();
- joData.Add("mdtrt_id", dgvSettlRecord.Rows[iHis].Cells["MdtrtID"].Value.ToString());
- joData.Add("setl_id", dgvSettlRecord.Rows[iHis].Cells["SettlementID"].Value.ToString());
- joData.Add("psn_no", dgvSettlRecord.Rows[iHis].Cells["PersonnelNO"].Value.ToString());
- joData.Add("med_type", dgvSettlRecord.Rows[iHis].Cells["MedicalType"].Value.ToString());
- JObject joInput = new JObject();
- joInput.Add("data", joData);
- Global.pat.insuplc_admdvs = dgvSettlRecord.Rows[iHis].Cells["insuplc_admdvs"].Value.ToString();//更新参保地
- #region【调用FastRepor打印】
- try
- {
- //Thread thread = new Thread(new ThreadStart(print));
- //thread.SetApartmentState(ApartmentState.STA); //重点
- //thread.Start();
- //thread.Join();
- cityPrint();
- }
- catch (Exception ex)
- {
- Global.writeLog("结算单打印异常:" + ex.Message);
- MessageBox.Show("打印异常:" + ex.Message);
- }
- #endregion
-
- }
- }
- // Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
- public class Classification
- {
- public string cwfSummat { get; set; }
- public string cwfInScope { get; set; }
- public string cwfPreSelfPay { get; set; }
- public string cwfOverLimit { get; set; }
- public string cwfFullOwnPay { get; set; }
- public string zcfSummat { get; set; }
- public string zcfInScope { get; set; }
- public string zcfPreSelfPay { get; set; }
- public string zcfOverLimit { get; set; }
- public string zcfFullOwnPay { get; set; }
- public string jcfSummat { get; set; }
- public string jcfInScope { get; set; }
- public string jcfPreSelfPay { get; set; }
- public string jcfOverLimit { get; set; }
- public string jcfFullOwnPay { get; set; }
- public string hyfSummat { get; set; }
- public string hyfInScope { get; set; }
- public string hyfPreSelfPay { get; set; }
- public string hyfOverLimit { get; set; }
- public string hyfFullOwnPay { get; set; }
- public string zlfSummat { get; set; }
- public string zlfInScope { get; set; }
- public string zlfPreSelfPay { get; set; }
- public string zlfOverLimit { get; set; }
- public string zlfFullOwnPay { get; set; }
- public string ssfSummat { get; set; }
- public string ssfInScope { get; set; }
- public string ssfPreSelfPay { get; set; }
- public string ssfOverLimit { get; set; }
- public string ssfFullOwnPay { get; set; }
- public string hlfSummat { get; set; }
- public string hlfInScope { get; set; }
- public string hlfPreSelfPay { get; set; }
- public string hlfOverLimit { get; set; }
- public string hlfFullOwnPay { get; set; }
- public string wsclfSummat { get; set; }
- public string wsclfInScope { get; set; }
- public string wsclfPreSelfPay { get; set; }
- public string wsclfOverLimit { get; set; }
- public string wsclfFullOwnPay { get; set; }
- public string xyfSummat { get; set; }
- public string xyfInScope { get; set; }
- public string xyfPreSelfPay { get; set; }
- public string xyfOverLimit { get; set; }
- public string xyfFullOwnPay { get; set; }
- public string zyypfSummat { get; set; }
- public string zyypfInScope { get; set; }
- public string zyypfPreSelfPay { get; set; }
- public string zyypfOverLimit { get; set; }
- public string zyypfFullOwnPay { get; set; }
- public string zcyfSummat { get; set; }
- public string zcyfInScope { get; set; }
- public string zcyfPreSelfPay { get; set; }
- public string zcyfOverLimit { get; set; }
- public string zcyfFullOwnPay { get; set; }
- public string ybzlfSummat { get; set; }
- public string ybzlfInScope { get; set; }
- public string ybzlfPreSelfPay { get; set; }
- public string ybzlfOverLimit { get; set; }
- public string ybzlfFullOwnPay { get; set; }
- public string ghfSummat { get; set; }
- public string ghfInScope { get; set; }
- public string ghfPreSelfPay { get; set; }
- public string ghfOverLimit { get; set; }
- public string ghfFullOwnPay { get; set; }
- public string qtSummat { get; set; }
- public string qtInScope { get; set; }
- public string qtPreSelfPay { get; set; }
- public string qtOverLimit { get; set; }
- public string qtFullOwnPay { get; set; }
- public string totalSummat { get; set; }
- public string totalInScope { get; set; }
- public string totalPreSelfPay { get; set; }
- public string totalOverLimit { get; set; }
- public string totalFullOwnPay { get; set; }
- }
- public class Data
- {
- public List<Classification> classification { get; set; }
- public List<Settlement> settlement { get; set; }
- public List<Reginfo> reginfo { get; set; }
- public List<Patinsuinfo> patinsuinfo { get; set; }
- }
- public class Patinsuinfo
- {
- public string PsnCertType { get; set; }
- public string PsnCertNO { get; set; }
- public string Gend { get; set; }
- public string Naty { get; set; }
- public string Brdy { get; set; }
- public string Age { get; set; }
- public string Balc { get; set; }
- public string PsnType { get; set; }
- public string Cvlservflag { get; set; }
- public string insuplcAdmdvs { get; set; }
- public string EmpName { get; set; }
- public string PsnIdettype { get; set; }
- public string PsnTypeLv { get; set; }
- }
- public class Reginfo
- {
- public string AttendDoctorNO { get; set; }
- public string ChiefPhyDocName { get; set; }
- public string AdmitDepartmentCode { get; set; }
- public string AdmitDepartmentName { get; set; }
- public string AdmBed { get; set; }
- public string MainDiagCode { get; set; }
- public string MainDiagName { get; set; }
- public string RegDate { get; set; }
- public string ConerName { get; set; }
- public string Tel { get; set; }
- }
- public class Result
- {
- public Data data { get; set; }
- }
- public class Root
- {
- public Result result { get; set; }
- public int errorCode { get; set; }
- public string errorMessage { get; set; }
- }
- public class Settlement
- {
- public string AdmID { get; set; }
- public string MdtrtID { get; set; }
- public string SettlementID { get; set; }
- public string PersonnelNO { get; set; }
- public string PatientName { get; set; }
- public string birth { get; set; }
- public string CertificateNO { get; set; }
- public string Gender { get; set; }
- public string InsuranceType { get; set; }
- public string PersonType { get; set; }
- public string CivilserviceFlag { get; set; }
- public string SettlementTime { get; set; }
- public string MedicalType { get; set; }
- public string Sumamt { get; set; }
- public string OwnPayAmount { get; set; }
- public string OverLimitAmount { get; set; }
- public string PreSelfPayAmount { get; set; }
- public string InPolicyRangeAmount { get; set; }
- public double ActualPayDeductible { get; set; }
- public string HealthInsurancePay { get; set; }
- public string HealthInsuranceRatio { get; set; }
- public double CivilserviceAllowancePay { get; set; }
- public string EnterpriseSupplementPay { get; set; }
- public string SeriousIllnessPay { get; set; }
- public string LargeExpensesSupplementPay { get; set; }
- public string MedicalAssistPay { get; set; }
- public string HospitalPartAmount { get; set; }
- public string OtherPay { get; set; }
- public string FundPaySumamt { get; set; }
- public string PersonPaySumamt { get; set; }
- public string AccountPaySumamt { get; set; }
- public string PersonCashPay { get; set; }
- public string Balance { get; set; }
- public string AccountMutualAidAmount { get; set; }
- public string OrganSettlementID { get; set; }
- public string ClearingOrgan { get; set; }
- public string ClearingWay { get; set; }
- public string ClearingType { get; set; }
- public string ValidFlag { get; set; }
- public string msgid { get; set; }
- public string HospitalizationsTimes { get; set; }
- public string HospitalizationsDays { get; set; }
- public string HISAdmTime { get; set; }
- public string HISDischargeTime { get; set; }
- public int BillType { get; set; }
- public string BillID { get; set; }
- public string admType { get; set; }
- public string RecordID { get; set; }
- public string insuplc_admdvs { get; set; }
- }
- }
|