12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645 |
- 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.Common;
- using PTMedicalInsurance.Helper;
- using Newtonsoft.Json.Linq;
- using PTMedicalInsurance.FormSetter;
- using System.IO;
- using System.IO.Compression;
- using PTMedicalInsurance.Business;
- using Sunny.UI;
- using Newtonsoft.Json;
- using System.Collections;
- using PTMedicalInsurance.Variables;
- namespace PTMedicalInsurance.Forms
- {
- public partial class Clearing : Form
- {
- private string txtPath;
- private string txtName;
- private string finalAchPath;
- private UIDataGridViewFooter dgvHisSettlRecFooter = new Sunny.UI.UIDataGridViewFooter();
- private ComboxSetter cbxSetter = new ComboxSetter();
- private InvokeHelper invoker = new InvokeHelper();
- private XmlHelper xmler = new XmlHelper();
- private HisIrisServices hIS = new HisIrisServices();
- private HisMainBusiness hBus = new HisMainBusiness();
- private MIIrisServices mIS = new MIIrisServices();
- JObject jo9102Rtn = new JObject();
- public Clearing()
- {
- InitializeComponent();
- }
-
- private void Clearing_Load(object sender, EventArgs e)
- {
-
- cbxSetter.setCbxInterfaceDataSource(cbxInterface);
- cbxSetter.setCbxInterfaceDataSource(cbInterface_2);
- cbxSetter.setCbxInterfaceDataSource(cbInterface_3);
- cbxSetter.setCbxInterfaceDataSource(cbInterface_Local);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "insutype", cbxInsuType);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_type", cbxClrType);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_type", cbClrType_2);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_way", cbClrWay_2);
- cbxInterface.SelectedValueChanged += new EventHandler(cbxInterface_SelectedValueChanged);
- cbInterface_2.SelectedValueChanged += new EventHandler(cbInterface_2_SelectedValueChanged);
- GridViewSetter grdSetter = new GridViewSetter();
- grdSetter.SetHeaderTextOfCheck(dgvSettlSummary);
- grdSetter.SetHeaderTextOfClearing(dgvClearingSum);
- grdSetter.SetHeaderTextOfClearingData(dgvClearingData);
- grdSetter.SetHeaderTextOfOthPlcCheck(dgvOthCheck);
- grdSetter.SetHeaderTextOfHisAndInsuCheckData(dgvHisAndInsuCheck);
- grdSetter.SetHeaderTextOfHisSetlData(dgvHisSetlData);
- grdSetter.SetHeaderTextOfInsuSetlData(dgvInsuSettlData);
- grdSetter.SetHeaderTextOfDgvUnCheckData_O(dgvUnCheckData_O);
- cbgGroupSet.SelectAll();
- cbgGroupSet.SetItemCheckState(1, false);
- cbgGroupSet.SetItemCheckState(4, false);
- cbxValid.SelectedIndex = 1;
- cbValid_2.SelectedIndex = 1;
- cbValid_3.SelectedIndex = 0;
- rbgTimeWay.SelectedIndex = 0;
- cbAdmType.SelectedIndex = 2;
- cbDivision.SelectedIndex = 4;
- cbValidFlag.SelectedIndex = 2;
- cbBillType.SelectedIndex = 2;
-
- DateTime firstDayOfLastMonth = DateTime.Now.AddDays(1 - DateTime.Now.Day).AddMonths(-1);
- DateTime lastDayOfLastMonth = DateTime.Now.AddDays(0 - DateTime.Now.Day);
- dpST.Text = firstDayOfLastMonth.ToString("yyyy-MM-dd 00:00:00");
- dpED.Text = lastDayOfLastMonth.ToString("yyyy-MM-dd 23:59:59");
- dpST_O.Text = firstDayOfLastMonth.ToString("yyyy-MM-dd 00:00:00");
- dpED_O.Text = lastDayOfLastMonth.ToString("yyyy-MM-dd 23:59:59"); ;
- dpST_2.Text = firstDayOfLastMonth.ToString("yyyy-MM-dd 00:00:00");
- dpED_2.Text = lastDayOfLastMonth.ToString("yyyy-MM-dd 23:59:59"); ;
- dpST_5.Text = firstDayOfLastMonth.ToString("yyyy-MM-dd 00:00:00");
- dpET_5.Text = lastDayOfLastMonth.ToString("yyyy-MM-dd 23:59:59"); ;
- dpST_L.Text = DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
- dpED_L.Text = DateTime.Now.ToString("yyyy-MM-dd 23:59:59"); ;
- dpST_Local.Text = DateTime.Now.ToString("2023-08-01 00:00:00");
- dpED_Local.Text = DateTime.Now.ToString("2023-08-01 23:59:59");
- dpED_3.Value = DateTime.Now;
- WindowState = FormWindowState.Maximized;
- cbxValid_O.SelectedIndex = 0;
- rbgValidFlag.SelectedIndex = 0;
- rbgSettlOrgan.SelectedIndex = 1;
- }
- //本地对账查询汇总数据
- private void uiButton1_Click(object sender, EventArgs e)
- {
- DataTable dtInteface = (DataTable)cbxInterface.DataSource;
- int i = cbxInterface.SelectedIndex;
- //乘以单据类型后,IRIS会返回整数,关键不知道SQL里咋转换为浮点数
- //string sqlStr = "SELECT SUM(BillType*Sumamt) AS medfee_sumamt,count(*) AS fixmedins_setl_cnt,SUM(BillType*PersonCashPay) AS cash_payamt, ";
- //sqlStr = sqlStr + " SUM(BillType*AccountPaySumamt) AS acct_pay,SUM(BillType*FundPaySumamt) AS fund_pay_sumamt ";
- //string sqlStr = "SELECT SUM(BillType*Sumamt) AS medfee_sumamt,count(*) AS fixmedins_setl_cnt,SUM(BillType*PersonCashPay) AS cash_payamt, ";
- //sqlStr = sqlStr + " SUM(billType*AccountPaySumamt) AS acct_pay,SUM(BillType*(HealthInsurancePay + EnterpriseSupplementPay +CivilserviceAllowancePay +OtherPay +MedicalAssistPay)) AS fund_pay_sumamt ";
- string sqlStr = "SELECT Convert(decimal(18,2),SUM(BillType*Sumamt)) AS medfee_sumamt,count(*) AS fixmedins_setl_cnt,";
- sqlStr = sqlStr + "Convert(decimal(18,2),SUM(BillType*PersonCashPay)) AS cash_payamt, ";
- sqlStr = sqlStr + " ISNULL(Convert(decimal(18,2),SUM(billType*AccountPaySumamt)),'0.00') AS acct_pay,";
- sqlStr = sqlStr + "ISNULL(Convert(decimal(18,2),SUM(BillType*(HealthInsurancePay + EnterpriseSupplementPay +CivilserviceAllowancePay +OtherPay +MedicalAssistPay))) ,'0.00') AS fund_pay_sumamt ";
- //Convert(decimal(18,2),Sumamt) as Sumamt
- //sqlStr = sqlStr + " Interface_dr,clearingWay AS clr_way,clearingType AS clr_type ";
- string conditionStr = " Group By";
- if (cbgGroupSet.GetItemCheckState(0))
- {
- sqlStr = sqlStr + ",Interface_Dr";
- conditionStr = conditionStr + " Interface_Dr,";
- }
- if (cbgGroupSet.GetItemCheckState(1))
- {
- sqlStr = sqlStr + ",InsuranceType as insutype";
- conditionStr = conditionStr + " InsuranceType,";
- }
- if (cbgGroupSet.GetItemCheckState(2))
- {
- sqlStr = sqlStr + ",ClearingType as clr_type";
- conditionStr = conditionStr + " ClearingType,";
- }
- if (cbgGroupSet.GetItemCheckState(3))
- {
- sqlStr = sqlStr + ",ClearingOrgan as setl_optins";
- conditionStr = conditionStr + " ClearingOrgan,";
- }
- if (cbgGroupSet.GetItemCheckState(4))
- {
- sqlStr = sqlStr + ",BillType";
- conditionStr = conditionStr + " BillType,";
- }
- sqlStr = sqlStr + " FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + dtInteface.Rows[i]["HospitalDr"].ToString();
- sqlStr = sqlStr + " and SettlementDateTime>='" + dpST.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<='" + dpED.Text + "'";
- sqlStr = sqlStr + " and ClearingType <> '9902'";
- sqlStr = sqlStr + " and BillType<>9 and((ConfirmFlag = 1 and AdmType IN('3', '4')) OR(AdmType IN('1', '2')))";
- if (cbxInterface.Text != "")
- {
- sqlStr = sqlStr + " and Interface_Dr =" + dtInteface.Rows[i]["ID"].ToString();
- }
- if (cbxInsuType.Text != "")
- {
- sqlStr = sqlStr + " and InsuranceType ='" + cbxInsuType.SelectedValue + "'";
- }
- if (cbxClrType.Text != "")
- {
- sqlStr = sqlStr + " and ClearingType ='" + cbxClrType.SelectedValue + "'";
- }
- if (tbSettlOption.Text != "")
- {
- sqlStr = sqlStr + " and ClearingOrgan ='" + tbSettlOption.Text + "'";
- }
- conditionStr = conditionStr.Remove(conditionStr.Length - 1, 1);
- //ValidFlag=1 and BillType=1 表示正常结算记录 ValidFlag=0 and BillType=-1 表示退费记录 ValidFlag=0表示无效记录
- if (cbxValid.SelectedIndex != 0)
- {
- if (cbxValid.SelectedIndex == 1)
- sqlStr = sqlStr + " and ValidFlag =1 and BillType=1";
- else
- sqlStr = sqlStr + " and ValidFlag =0 and BillType=-1";
- }
- sqlStr = sqlStr + conditionStr;
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvSettlSummary.DataSource = dt;
- //初始化HIS结算明细View数据
- dgvHisSettlRec.DataSource = null;
- }
- private void cbxInterface_SelectedValueChanged(object sender, EventArgs e)
- {
- cbxSetter.getCurrentPageInterfaceInfo(cbxInterface);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "insutype", cbxInsuType);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_type", cbxClrType);
- }
- private void cbInterface_2_SelectedValueChanged(object sender, EventArgs e)
- {
- cbxSetter.getCurrentPageInterfaceInfo(cbInterface_2);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_type", cbClrType_2);
- cbxSetter.setCbxDictionaryDataSource(Global.inf.interfaceDr.ToString(), "clr_way", cbClrWay_2);
- }
- //单条本地对账
- private void tsmCheck_Single_Click(object sender, EventArgs e)
- {
- string error = "";
- if (Check_Single(out error) != 0)
- {
- MessageBox.Show("对总账失败:" + error);
- }
- else
- {
- MessageBox.Show("对总账成功");
- }
- }
- //本地对账
- private int Check_Single(out string error)
- {
- error = "";
- DataTable dt = (DataTable)dgvSettlSummary.DataSource;
- int i = dgvSettlSummary.CurrentRow.Index;
- dynamic joCheck = new JObject();
- //joCheck.insutype = dt.Rows[i]["insutype"].ToString();
- Global.pat.patExtend.prm_yabtch = dt.Rows[i]["setl_optins"].ToString();
- if (dt.Rows[i]["clr_type"].ToString() =="99970")
- { joCheck.insutype = 1; }
- else if (dt.Rows[i]["clr_type"].ToString() == "99971")
- { joCheck.insutype = 3; }
- else if (dt.Rows[i]["clr_type"].ToString() == "99972")
- { joCheck.insutype = 4; }
- else if (dt.Rows[i]["clr_type"].ToString() == "03") //工伤
- {
- joCheck.insutype = 5;
- Global.pat.patExtend.prm_yabtch = "GS01";
- }
- if (dt.Rows[i]["clr_type"].ToString() == "99982")
- {
- joCheck.insutype = 1;
- }
- //if (dt.Rows[i]["clr_type"].ToString() == "99982")
- //{
- // if (cbgGroupSet.GetItemCheckState(1))
- // {
- // joCheck.insutype = dt.Rows[i]["insutype"].ToString();
- // }
- // else
- // {
- // error = "该条为生育项目,请勾选左侧面板险种类型,点击查询后再进行对账";
- // return -1;
- // }
- //}
- if (dt.Rows[i]["clr_type"].ToString() == "03")
- {
- if (cbgGroupSet.GetItemCheckState(1))
- {
- joCheck.insutype = dt.Rows[i]["insutype"].ToString();
- }
- else
- {
- error = "该条为工伤项目,请勾选左侧面板险种类型,点击查询后再进行对账";
- return -1;
- }
- }
- joCheck.prm_yabtch = Global.pat.patExtend.prm_yabtch;
- joCheck.clr_type = dt.Rows[i]["clr_type"].ToString();
- joCheck.medfee_sumamt = dt.Rows[i]["medfee_sumamt"].ToString();
- joCheck.fund_pay_sumamt = dt.Rows[i]["fund_pay_sumamt"].ToString();
- joCheck.acct_pay = dt.Rows[i]["acct_pay"].ToString();
- joCheck.fixmedins_setl_cnt = dt.Rows[i]["fixmedins_setl_cnt"].ToString();
- joCheck.stmt_begndate = dpST.Value.ToString("yyyy-MM-dd");
- joCheck.stmt_enddate = dpED.Value.ToString("yyyy-MM-dd");
- if (cbxValid.SelectedIndex ==0)
- joCheck.is_cont_refd_rcd = 1;
- else
- joCheck.is_cont_refd_rcd = 0;
- //上传给中心
- JObject joRtn = new JObject();
- if (invoker.invokeYHCom("H7101",joCheck,out error) != 0)
- {
- return -1;
- }
- else
- {
- joRtn = JObject.Parse(xmler.ToJSON(error));
- if (JsonHelper.getDestValue(joRtn, "output.stmt_rslt") != "0")
- {
-
- error = JsonHelper.getDestValue(joRtn, "output.stmt_rslt_dscr");
- return -1;
- }
- else
- return 0;
- }
-
- }
- //单条异地对账
- private int OthPlcCheck_Single(out string error)
- {
- error = "";
- DataTable dt = (DataTable)dgvOthCheck.DataSource;
- int i = dgvOthCheck.CurrentRow.Index;
- int billType = int.Parse(dt.Rows[i]["BillType"].ToString());
- dynamic joCheck = new JObject();
- joCheck.fixBlngAdmdvs = "529900";
- joCheck.optins_pay_sumamt = dt.Rows[i]["FundPaySumamt"].ToString(); //基金支付总额
- joCheck.prm_aac001 = dt.Rows[i]["PersonnelNO"].ToString(); //人员编号
- joCheck.prm_aae036 = Convert.ToDateTime(dt.Rows[i]["SettlementTime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"); //就诊结算时间
- joCheck.prm_akb020 = Global.inf.hospitalNO; //定点医药机构编码
- joCheck.prm_akc190 = dt.Rows[i]["MdtrtID"].ToString(); //就诊顺序号
- joCheck.prm_yab139 = dt.Rows[i]["InsuranceAreaCode"].ToString(); //参保地医保区划
- joCheck.prm_yka055 = dt.Rows[i]["Sumamt"].ToString(); //医药费总额
- joCheck.prm_yka103 = dt.Rows[i]["SettlementID"].ToString(); //结算流水号
- joCheck.trns_type = dt.Rows[i]["BillType"].ToString(); //交易类型 1-正交易
- JObject joRow = new JObject();
- joRow.Add("row", joCheck);
- JObject joData = new JObject();
- joData.Add("dataset", joRow);
- joData.Add("fixBlngAdmdvs","529900"); //就医地医保区划
- //上传给中心
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = new JObject();
- if (invoker.invokeYHCom("H7104", joData, out error) != 0)
- {
- return -1;
- }
- else
- {
- joRtn = JObject.Parse(xmler.ToJSON(error));
- if (JsonHelper.getDestValue(joRtn, "output.sqldata.row[0].SUCC_FLAG") != "1")
- {
- error = JsonHelper.getDestValue(joRtn, "output.sqldata.row[0].PRMMSG");
- return -1;
- }
- if (JsonHelper.getDestValue(joRtn, "output.sqldata.row[0].PRMMSG") != "")
- {
- error = JsonHelper.getDestValue(joRtn, "output.sqldata.row[0].PRMMSG");
- return -1;
- }
- else
- return 0;
- }
- }
- //清算
- private int Clearing_Single(out string error)
- {
- error = "";
- DataTable dt = (DataTable)dgvClearingSum.DataSource;
- int i = dgvClearingSum.CurrentRow.Index;
- dynamic joClearing = new JObject();
- //joClearing.clr_type = dt.Rows[i]["clr_type"].ToString();
- //joClearing.clr_way = dt.Rows[i]["clr_way"].ToString();
- //joClearing.setlym = dpST_2.Value.ToString("yyyyMM");
- //joClearing.med_sumfee = dt.Rows[i]["med_sumfee"].ToString();
- //joClearing.medfee_sumamt = dt.Rows[i]["medfee_sumamt"].ToString();
- //joClearing.fund_appy_sum = dt.Rows[i]["fund_appy_sum"].ToString();
- //joClearing.acct_pay = dt.Rows[i]["acct_pay"].ToString();
- //joClearing.cash_payamt = dt.Rows[i]["cash_payamt"].ToString();
- //joClearing.psntime = dt.Rows[i]["psntime"].ToString();
- //joClearing.begndate = dpST_2.Value.ToString("yyyy-MM-dd");
- //joClearing.enddate = dpED_2.Value.ToString("yyyy-MM-dd");
- if (dt == null)
- {
- error ="汇总表中无数据";
- return -1;
- }
- if (dt.Rows.Count < 1)
- {
- error = "汇总表中无数据";
- return -1;
- }
- joClearing.prm_yae366 = dpST_2.Value.ToString("yyyyMM");//清算期号
- joClearing.prm_yka055 = dt.Rows[i]["Sumamt"].ToString();//费用总额
- joClearing.prm_yka062 = dt.Rows[i]["EnterpriseSupplementPay"].ToString();//大额医疗支付金额
- joClearing.prm_yka063 = dt.Rows[i]["CivilserviceAllowancePay"].ToString();//公务员统筹支付金额
- joClearing.prm_yka065 = dt.Rows[i]["AccountPaySumamt"].ToString();//个人帐户支付金额
- joClearing.prm_yka248 = dt.Rows[i]["FundPaySumamt"].ToString();//基本医疗统筹支付金额
- string insuType = dt.Rows[i]["InsuranceType"].ToString();
- string clearingType = dt.Rows[i]["ClearingType"].ToString();
- string yka316 = dt.Rows[i]["ClearingType"].ToString();//清算类别
- if ((insuType == "1") && (clearingType == "9902"))
- {
- yka316 = "YD03";
- }
- else
- if ((insuType == "3") && (clearingType == "9902"))
- {
- yka316 = "YD04";
- }
- joClearing.prm_yka316 = yka316;//清算类别
- joClearing.prm_ykb037 = dt.Rows[i]["ClearingOrgan"].ToString();//清算分中心
- joClearing.prm_ykb065 = dt.Rows[i]["InsuranceType"].ToString();//执行社会保险办法
- joClearing.prm_ykc179 = Global.user.ID;//清算申请人
- joClearing.prm_yke150 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//清算申请时间
- if (dt.Rows[i]["ClearingType"].ToString() == "03")
- {
- Global.pat.patExtend.prm_yabtch = "GS01";
- }
- else
- {
- if (string.IsNullOrEmpty(dt.Rows[i]["ClearingOrgan"].ToString()))
- Global.pat.patExtend.prm_yabtch = "9900";
- else
- Global.pat.patExtend.prm_yabtch = dt.Rows[i]["ClearingOrgan"].ToString();
- }
-
- if (dt.Rows[i]["ClearingType"].ToString() == "03") Global.pat.patExtend.prm_yabtch = "GS01";
- joClearing.prm_yabtch = Global.pat.patExtend.prm_yabtch;
- if (invoker.invokeYHCom("71", joClearing, out error) != 0)
- {
- return -1;
- }
- else
- {
- JObject joRtn = new JObject();
- joRtn = JObject.Parse(xmler.ToJSON(error));
- //保存到医保平台
- JObject joTmp = new JObject();
- joTmp.Add("HospitalDr", Global.inf.hospitalDr);
- joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
- joTmp.Add("ApplyID", JsonHelper.getDestValue(joRtn, "output.prm_ykb053"));
- joTmp.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- joTmp.Add("ClrWay", "");
- joTmp.Add("ClrType", dt.Rows[i]["ClearingType"].ToString());
- joTmp.Add("ClearYearMonth", dpST_2.Value.ToString("yyyyMM"));
- joTmp.Add("PersonTime", "");
- joTmp.Add("Sumamt", dt.Rows[i]["Sumamt"].ToString());
- joTmp.Add("MedAcceptSumamt", "");
- joTmp.Add("FundPay", dt.Rows[i]["FundPaySumamt"].ToString());
- joTmp.Add("CashPay", "");
- joTmp.Add("AccountPay", dt.Rows[i]["AccountPaySumamt"].ToString());
- joTmp.Add("CivilservicePay", dt.Rows[i]["CivilserviceAllowancePay"].ToString());
- joTmp.Add("LargeExpensesPay", dt.Rows[i]["EnterpriseSupplementPay"].ToString());
- joTmp.Add("InsuranceType", dt.Rows[i]["InsuranceType"].ToString());
- joTmp.Add("ClearingOrgan", dt.Rows[i]["ClearingOrgan"].ToString());
- joTmp.Add("Begndate", dpST_2.Value.ToString("yyyy-MM-dd 00:00:00"));
- joTmp.Add("Enddate", dpED_2.Value.ToString("yyyy-MM-dd 23:59:59"));
- joTmp.Add("OthPlcFlag", 0);
- joTmp.Add("ValidFlag", 1);
- joTmp.Add("Operator", "0");
-
- JArray jaParam = new JArray();
- jaParam.Add(joTmp);
- JObject joUpdate = new JObject();
- joUpdate.Add("params", jaParam);
- joUpdate.Add("updateUserID", "0");
- joUpdate.Add("HospitalDr",Global.inf.hospitalDr);
- joUpdate.Add("InterfaceDr", Global.inf.interfaceDr);
- joUpdate.Add("code", "09010067");
- invoker = new InvokeHelper();
- joRtn = invoker.invokeInsuService(joUpdate.ToString(), "插入清算记录");
- if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0)
- {
- return -1;
- }
- else
- return 0;
- }
- }
-
- //异地清算
- private int OthPlcClearing_Single(out string error)
- {
- cbxSetter.getCurrentPageInterfaceInfo(cbInterface_2);
- if (tbInsuPlc.Text != "") Global.pat.insuplc_admdvs= tbInsuPlc.Text;
- error = "";
-
- DataTable dt = (DataTable)dgvClearingSum.DataSource;
- int i = dgvClearingSum.CurrentRow.Index;
- dynamic joClearing = new JObject();
- joClearing.clr_type = dt.Rows[i]["clr_type"].ToString();
- joClearing.mon_setl_cnt = dt.Rows[i]["psntime"].ToString();
- joClearing.optins_pay_sumamt = Convert.ToDecimal(dt.Rows[i]["fund_appy_sum"].ToString()) + Convert.ToDecimal(dt.Rows[i]["acct_pay"].ToString());
- joClearing.medfee_sumamt = dt.Rows[i]["medfee_sumamt"].ToString();
-
- joClearing.begndate = dpST_2.Value.ToString("yyyy-MM-dd");
- joClearing.enddate = dpED_2.Value.ToString("yyyy-MM-dd");
- JObject joData = new JObject();
- joData.Add("data", joClearing);
- //上传给中心
- //先签到
- CenterBusiness cBus = new CenterBusiness();
- JObject jo9001Rtn = new JObject();
- //cBus.SignIn(out jo9001Rtn);
- if (invoker.invokeYHCom("S3203", joData.ToString(),out error) != 0)
- {
- return -1;
- }
- else
- {
- JObject joRtn = new JObject();
- //保存到医保平台
- JObject joTmp = new JObject();
- joTmp.Add("HospitalDr", Global.inf.hospitalDr);
- joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
- joTmp.Add("ApplyID", JsonHelper.getDestValue(joRtn, "output.result.mon_setl_eid"));
- joTmp.Add("SettlementDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- joTmp.Add("ClrWay", dt.Rows[i]["clr_way"].ToString());
- joTmp.Add("ClrType", dt.Rows[i]["clr_type"].ToString());
- joTmp.Add("ClearYearMonth", JsonHelper.getDestValue(joRtn, "output.result.data_ym"));
- joTmp.Add("PersonTime", dt.Rows[i]["psntime"].ToString());
- joTmp.Add("Sumamt", dt.Rows[i]["med_sumfee"].ToString());
- joTmp.Add("MedAcceptSumamt", dt.Rows[i]["med_sumfee"].ToString());
- joTmp.Add("FundPay", dt.Rows[i]["fund_appy_sum"].ToString());
- joTmp.Add("CashPay", dt.Rows[i]["cash_payamt"].ToString());
- joTmp.Add("AccountPay", dt.Rows[i]["acct_pay"].ToString());
- joTmp.Add("Begndate", dpST_2.Value.ToString("yyyy-MM-dd 00:00:00"));
- joTmp.Add("Enddate", dpED_2.Value.ToString("yyyy-MM-dd 23:59:59"));
- joTmp.Add("OthPlcFlag", 1);
- joTmp.Add("ValidFlag", 1);
- joTmp.Add("Operator", "0");
- JArray jaParam = new JArray();
- jaParam.Add(joTmp);
- JObject joUpdate = new JObject();
- joUpdate.Add("params", jaParam);
- joUpdate.Add("updateUserID", "0");
- joUpdate.Add("HospitalDr", Global.inf.hospitalDr);
- joUpdate.Add("InterfaceDr", Global.inf.interfaceDr);
- joUpdate.Add("code", "09010067");
- invoker = new InvokeHelper();
- joRtn = invoker.invokeInsuService(joUpdate.ToString(), "插入清算记录");
- if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0)
- {
- return -1;
- }
- else
- return 0;
- }
- }
- //撤销清算
- private int CancleClearing_Single(out string error)
- {
- error = "";
- DataTable dt = (DataTable)dgvClearingData.DataSource;
- int i = dgvClearingData.CurrentRow.Index;
- dynamic joCancleClearing = new JObject();
- joCancleClearing.prm_ykb037 = dt.Rows[i]["ClearingOrgan"].ToString();//清算分中心
- joCancleClearing.prm_ykb053 = dt.Rows[i]["ApplyID"].ToString();//医院清算申请流水号
- joCancleClearing.prm_ykb065 = dt.Rows[i]["InsuranceType"].ToString();//执行社会保险办法
- joCancleClearing.prm_ykc179 = Global.user.name;//清算回退人姓名
- joCancleClearing.prm_yke150 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//清算回退时间
- if (string.IsNullOrEmpty(dt.Rows[i]["ClearingOrgan"].ToString()))
- joCancleClearing.prm_yabtch = "9900";
- else
- joCancleClearing.prm_yabtch = dt.Rows[i]["ClearingOrgan"].ToString();
- //上传给中心
- if (invoker.invokeYHCom("73", joCancleClearing,out error) != 0)
- {
- return -1;
- }
- else
- {
- //保存到医保平台
- JObject joTmp = new JObject();
- joTmp.Add("HospitalDr", Global.inf.hospitalDr);
- joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
- joTmp.Add("ApplyID", dt.Rows[i]["ApplyID"].ToString());
- //joTmp.Add("CancleSettlementDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- //joTmp.Add("ClrWay", dt.Rows[i]["clr_way"].ToString());
- joTmp.Add("ClrType", dt.Rows[i]["ClrType"].ToString());
- //joTmp.Add("ClearYearMonth", dpST_2.Value.ToString("yyyyMM"));
- //joTmp.Add("PersonTime", dt.Rows[i]["psntime"].ToString());
- //joTmp.Add("Sumamt", dt.Rows[i]["med_sumfee"].ToString());
- //joTmp.Add("MedAcceptSumamt", dt.Rows[i]["med_sumfee"].ToString());
- //joTmp.Add("FundPay", dt.Rows[i]["fund_appy_sum"].ToString());
- //joTmp.Add("CashPay", dt.Rows[i]["cash_payamt"].ToString());
- //joTmp.Add("AccountPay", dt.Rows[i]["acct_pay"].ToString());
- //joTmp.Add("Begndate", dpST_2.Value.ToString("yyyy-MM-dd 00:00:00"));
- //joTmp.Add("Enddate", dpED_2.Value.ToString("yyyy-MM-dd 23:59:59"));
- joTmp.Add("ValidFlag", -1);
- joTmp.Add("updateUserID", "0");
- //joTmp.Add("Operator", "0");
- JArray jaParam = new JArray();
- jaParam.Add(joTmp);
- JObject joUpdate = new JObject();
- joUpdate.Add("params", jaParam);
- joUpdate.Add("updateUserID", "0");
- joUpdate.Add("HospitalDr", Global.inf.hospitalDr);
- joUpdate.Add("InterfaceDr", Global.inf.interfaceDr);
- joUpdate.Add("code", "09010067");
- invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeInsuService(joUpdate.ToString(), "更新清算记录");
- if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0)
- {
- return -1;
- }
- else
- return 0;
- }
- }
- //撤销异地清算
- private int CancleOthPlcClearing_Single(out string error)
- {
- error = "";
- DataTable dt = (DataTable)dgvClearingData.DataSource;
- int i = dgvClearingData.CurrentRow.Index;
- dynamic joCancleClearing = new JObject();
- joCancleClearing.clr_appy_evt_id = dt.Rows[i]["ApplyID"].ToString();
- joCancleClearing.data_ym = dt.Rows[i]["ClearYearMonth"].ToString();
- JObject joData = new JObject();
- joData.Add("data", joCancleClearing);
- //上传给中心
- JObject joRtn = new JObject();
- if (invoker.invokeYHCom("S3204", joData.ToString(),out error) != 0)
- {
- return -1;
- }
- else
- {
- //保存到医保平台
- JObject joTmp = new JObject();
- joTmp.Add("HospitalDr", Global.inf.hospitalDr);
- joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
- joTmp.Add("ApplyID", dt.Rows[i]["ApplyID"].ToString());
- //joTmp.Add("CancleSettlementDateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- //joTmp.Add("ClrWay", dt.Rows[i]["clr_way"].ToString());
- joTmp.Add("ClrType", dt.Rows[i]["ClrType"].ToString());
- //joTmp.Add("ClearYearMonth", dpST_2.Value.ToString("yyyyMM"));
- //joTmp.Add("PersonTime", dt.Rows[i]["psntime"].ToString());
- //joTmp.Add("Sumamt", dt.Rows[i]["med_sumfee"].ToString());
- //joTmp.Add("MedAcceptSumamt", dt.Rows[i]["med_sumfee"].ToString());
- //joTmp.Add("FundPay", dt.Rows[i]["fund_appy_sum"].ToString());
- //joTmp.Add("CashPay", dt.Rows[i]["cash_payamt"].ToString());
- //joTmp.Add("AccountPay", dt.Rows[i]["acct_pay"].ToString());
- //joTmp.Add("Begndate", dpST_2.Value.ToString("yyyy-MM-dd 00:00:00"));
- //joTmp.Add("Enddate", dpED_2.Value.ToString("yyyy-MM-dd 23:59:59"));
- joTmp.Add("ValidFlag", -1);
- joTmp.Add("updateUserID", "0");
- //joTmp.Add("Operator", "0");
- JArray jaParam = new JArray();
- jaParam.Add(joTmp);
- JObject joUpdate = new JObject();
- joUpdate.Add("params", jaParam);
- joUpdate.Add("updateUserID", "0");
- joUpdate.Add("HospitalDr", Global.inf.hospitalDr);
- joUpdate.Add("InterfaceDr", Global.inf.interfaceDr);
- joUpdate.Add("code", "09010067");
- invoker = new InvokeHelper();
- joRtn = invoker.invokeInsuService(joUpdate.ToString(), "更新清算记录");
- if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0)
- {
- return -1;
- }
- else
- return 0;
- }
- }
- //查询HIS结算信息
- private int queryHisSettlementInfo(out string error)
- {
- GridViewSetter grdSetter = new GridViewSetter();
- grdSetter.SetHeaderTextOfHisSettlRec(dgvHisSettlRec);
- error = "";
- try
- {
- DataTable dtInteface = (DataTable)cbxInterface.DataSource;
- int i = cbxInterface.SelectedIndex;
- string sqlStr = "select Adm_Dr,PatientName ,Convert(VARCHAR(12),RecordID) as RecordID,MdtrtID,SettlementID,PersonnelNO,SettlementDateTime,Convert(decimal(18,2),Sumamt) as Sumamt,Convert(decimal(18,2),AccountPaySumamt) as AccountPaySumamt,ValidFlag,BillType,"
- + "Convert(decimal(18,2),(HealthInsurancePay + EnterpriseSupplementPay +CivilserviceAllowancePay +OtherPay +MedicalAssistPay)) AS JJZFZE,"
- + "InsuranceAreaCode,MedicalType,msgid,ClearingOrgan,MainSettlementIDOfMutualAid"
- + " FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_L.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_L.Text + "'";
- //if (rbgSettlOrgan.SelectedIndex == 0)
- // Global.pat.insuplc_admdvs = "529900";
- //else
- // Global.pat.insuplc_admdvs = "520199";
- string ClearingOrganStr = "";
- if (rbgSettlOrgan.SelectedIndex == 0)
- ClearingOrganStr = " and ClearingOrgan='529900'";
- else
- ClearingOrganStr = $" and ClearingOrgan in ('520199','{Global.inf.areaCode}')";
- sqlStr = sqlStr + ClearingOrganStr;
- sqlStr = sqlStr + " and ClearingType <> '9902'";
- sqlStr = sqlStr + " and BillType<>9 and((ConfirmFlag = 1 and AdmType IN('3', '4')) OR(AdmType IN('1', '2')))";
- if (rbgValidFlag.SelectedIndex == 0) sqlStr = sqlStr + " and ValidFlag =1";
- if (rbgValidFlag.SelectedIndex == 1) sqlStr = sqlStr + " and ValidFlag =0";
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- JObject joHisRtn = BatchHisRecord(joRtn);
- if (JsonHelper.parseIrisRtnValue(joHisRtn, out error) != 0)
- {
- error = "查询HIS结算记录出错,请联系管理员!" + error;
- return -1;
- }
- DataTable dt = (DataTable)JsonConvert.DeserializeObject(JsonHelper.getDestValue(joHisRtn, "result"), (typeof(DataTable)));
- dgvHisSettlRec.DataSource = dt;
- //for (int j = 0; j < dgvHisSettlRec.RowCount; j++)
- //{
- // string settlementID = dgvHisSettlRec.Rows[j].Cells["SettlementID"].Value.ToString();
- // string validFlag = dgvHisSettlRec.Rows[j].Cells["ValidFlag"].Value.ToString();
- // string billType = dgvHisSettlRec.Rows[j].Cells["BillType"].Value.ToString();
- // string recordID = dgvHisSettlRec.Rows[j].Cells["RecordID"].Value.ToString();
- // string exist = dgvHisSettlRec.Rows[j].Cells["Exist"].Value.ToString();
- // //N 正常;A 作废;S 红冲;TP 预结算;BS 已红冲
- // string status = dgvHisSettlRec.Rows[j].Cells["status"].Value.ToString();
- // if ((validFlag == "1") && (status != "N"))
- // {
- // dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- // }
- // if (exist != "存在")
- // {
- // if (recordID == "")
- // {
- // dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Orange;
- // }
- // else
- // {
- // dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- // }
- // }
- //}
- return 0;
- }
- catch (Exception ex)
- {
- error = "queryHisSettlementInfo:" + ex.Message;
- return -1;
- }
- }
- private JObject BatchHisRecord(JObject joMiRecord)
- {
- string errMsg;
- JObject joRtn = new JObject();
- JArray jaMiRecord = JArray.Parse(JsonHelper.getDestValue(joMiRecord, "result.data"));
- JArray jaInput = new JArray();
- foreach (JObject jo in jaMiRecord)
- {
- JObject joTmp = new JObject();
- string mainSettlementIDOfMutualAid = jo["MainSettlementIDOfMutualAid"].ToString();
- if (string.IsNullOrEmpty(mainSettlementIDOfMutualAid))
- {
- joTmp.Add("SettlementID", jo["SettlementID"].ToString());
- }
- else
- {
- joTmp.Add("SettlementID", mainSettlementIDOfMutualAid);
- }
-
- joTmp.Add("RecordID", jo["RecordID"].ToString());
- joTmp.Add("ValidFlag", jo["ValidFlag"].ToString());
- joTmp.Add("BillType", jo["BillType"].ToString());
- jaInput.Add(joTmp);
- }
- if (hIS.BatchHisRecord(jaInput, out errMsg) != 0)
- {
- joRtn = JsonHelper.setExceptionJson(-1,"",errMsg);
- return joRtn;
- }
- JArray jaHisRtn = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(errMsg), "result"));
- foreach (JObject joMi in jaMiRecord)
- {
- string mainSettlementIDOfMutualAid = joMi["MainSettlementIDOfMutualAid"].ToString();
- foreach (JObject joHis in jaHisRtn)
- {
- if (string.IsNullOrEmpty(mainSettlementIDOfMutualAid))
- {
- if ((joMi["RecordID"].ToString() == joHis["RecordID"].ToString()) && (joMi["SettlementID"].ToString() == joHis["SettlementID"].ToString()) && (joMi["BillType"].ToString() == joHis["BillType"].ToString()))
- {
- if (!joMi.ContainsKey("Exist"))
- {
- joMi.Add("Exist", joHis["Exist"].ToString());
- }
- if (!joMi.ContainsKey("status"))
- {
- joMi.Add("status", joHis["status"].ToString());
- }
- }
- }
- else
- {
- if ((joMi["RecordID"].ToString() == joHis["RecordID"].ToString()) && (joMi["MainSettlementIDOfMutualAid"].ToString() == joHis["SettlementID"].ToString()) && (joMi["BillType"].ToString() == joHis["BillType"].ToString()))
- {
- if (!joMi.ContainsKey("Exist"))
- {
- joMi.Add("Exist", joHis["Exist"].ToString());
- }
- if (!joMi.ContainsKey("status"))
- {
- joMi.Add("status", joHis["status"].ToString());
- }
- }
- }
-
- }
- }
- joRtn.Add("errorCode", 0);
- joRtn.Add("result", jaMiRecord);
- return joRtn;
- }
- //查询明细汇总信息
- private int queryDetailSumInfo(out string error)
- {
- error = "";
- try
- {
- string sqlStr = "SELECT SUM(BillType*Sumamt) AS medfee_sumamt,count(*) AS fixmedins_setl_cnt,SUM(BillType*PersonCashPay) AS cash_payamt, ";
- sqlStr = sqlStr + " SUM(billType*AccountPaySumamt) AS acct_pay,SUM(BillType*(HealthInsurancePay + EnterpriseSupplementPay +CivilserviceAllowancePay +OtherPay +MedicalAssistPay)) AS fund_pay_sumamt ";
- sqlStr = sqlStr + " FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_L.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_L.Text + "'";
- string ClearingOrganStr;
- if (rbgSettlOrgan.SelectedIndex == 0)
- ClearingOrganStr = " and ClearingOrgan='529900'";
- else
- ClearingOrganStr = $" and ClearingOrgan in ('520199','{Global.inf.areaCode}')";
- sqlStr = sqlStr + ClearingOrganStr;
- sqlStr = sqlStr + " and ClearingType <> '9902'";
- if (rbgValidFlag.SelectedIndex ==0) sqlStr = sqlStr + " and ValidFlag =1";
- if (rbgValidFlag.SelectedIndex == 1) sqlStr = sqlStr + " and ValidFlag =0";
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- error = joRtn.ToString();
- if (JsonHelper.getDestValue(joRtn, "result.data[0].fixmedins_setl_cnt") == "0")
- {
- error = "未查询到数据";
- return -1;
- }
- else
- return 0;
- }
- catch (Exception ex)
- {
- error = "queryDetailSumInfo:" + ex.Message;
- return -1;
- }
- }
- private void tsmHisRecord_Click(object sender, EventArgs e)
- {
- string error;
- if (queryHisSettlementInfo(out error) != 0)
- {
- MessageBox.Show(error);
- }
- tcLocalCheckDetail.SelectedIndex = 0;
- }
- public static void writeToTxt(string content,string filePath, string fileName)
- {
- try
- {
- //创建文件夹,文件夹名称与TXT同名
- if (!Directory.Exists(filePath))
- {
- DirectoryInfo dirInfo = Directory.CreateDirectory(filePath);
- }
- //判断文件夹中是否存在txt
- string finalFileName = filePath + "\\" + fileName + ".txt";
- if (!File.Exists(finalFileName))
- {
- FileStream fs1 = File.Create(finalFileName);
- fs1.Close();
- }
- FileStream fs = new FileStream(finalFileName, FileMode.Append, FileAccess.Write);
- StreamWriter sw = new StreamWriter(fs);
- sw.WriteLine(content);
- sw.Close();
- fs.Close();
- }
- catch (Exception ex)
- {
- MessageBox.Show("数据导入有问题:" + ex.Message);
- }
- }
- //HIS明细数据导出
- private int HISDetailDataExport(string filePath,string fileName)
- {
- try
- {
- string finalPath = filePath + "\\" + fileName + ".txt";
- if (File.Exists(finalPath))
- {
- File.Delete(finalPath);
- }
- DataTable dt = (DataTable)dgvHisSettlRec.DataSource;
- string content ="";
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- string flag = "";
- decimal summamt = decimal.Parse(dt.Rows[i]["Sumamt"].ToString());
- decimal FundPaySumamt = decimal.Parse(dt.Rows[i]["JJZFZE"].ToString());
- decimal AccountPaySumamt = decimal.Parse(dt.Rows[i]["AccountPaySumamt"].ToString());
- if (dt.Rows[i]["ValidFlag"].ToString() == "0")
- {
- flag = "1";
- if (dt.Rows[i]["BillType"].ToString() == "-1")
- {
- summamt = summamt * -1;
- FundPaySumamt = FundPaySumamt * -1;
- AccountPaySumamt = AccountPaySumamt * -1;
- }
- }
- else
- {
- flag = "0";
- }
- content = "\r\n"
- + dt.Rows[i]["SettlementID"].ToString() + "\t"
- + dt.Rows[i]["MdtrtID"].ToString() + "\t"
- + dt.Rows[i]["PersonnelNO"].ToString() + "\t"
- + summamt.ToString() + "\t"
- + FundPaySumamt.ToString() + "\t"
- + AccountPaySumamt.ToString() + "\t"
- + flag
- + content;
- }
- string finalContent =content.Remove(0, 2);
- writeToTxt(finalContent,filePath,fileName);
- return 0;
- }
- catch (Exception ex)
- {
- MessageBox.Show("HISDetailDataExport" + ex.Message);
- return -1;
- }
- }
-
-
- private int importToDgvCenterSetlRec(string fileName,out string outParam)
- {
- outParam = "";
- try
- {
- //导入文件
- GridViewSetter grd = new GridViewSetter();
- grd.SetHeaderTextOfDgvCenterSetlRec(dgvCenterSettlRec);
- //txtFileDir = txtFileDir;//E:\GHSF\SCYBDownLoad\result.txt
- string[] lines = System.IO.File.ReadAllLines(fileName);
- //if (dgvCenterSettlRec.DataSource != null)
- //{
- // DataTable d = (DataTable)(dgvCenterSettlRec.DataSource);
- // d.Clear();
- //}
- DataTable dt = new DataTable();
- dt.Columns.Add("sn", typeof(int));
- dt.Columns.Add("psn_no", typeof(string));
- dt.Columns.Add("mdtrt_id", typeof(string));
- dt.Columns.Add("setl_id", typeof(string));
- dt.Columns.Add("msgid", typeof(string));
- dt.Columns.Add("stmt_rslt", typeof(string));
- dt.Columns.Add("refd_setl_flag", typeof(string));
- dt.Columns.Add("memo", typeof(string));
- dt.Columns.Add("medfee_sumamt", typeof(string));
- dt.Columns.Add("fund_pay_sumamt", typeof(string));
- dt.Columns.Add("acct_pay", typeof(string));
- //foreach (string line in lines)
- for (int i = 0; i < lines.Length; i++)
- {
- string[] strs = (lines[i] + "\t").Split('\t');
- DataRow dr = dt.NewRow();
- //GlobalVariables.writeLog(lines[i].ToString());
- //GlobalVariables.writeLog(strs.Length.ToString());
- dr["sn"] = i + 1;
- dr["psn_no"] = strs[0];
- dr["mdtrt_id"] = strs[1];
- dr["setl_id"] = strs[2];
- dr["msgid"] = strs[3];
- dr["stmt_rslt"] = strs[4];
- dr["refd_setl_flag"] = strs[5];
- dr["memo"] = strs[6];
- dr["medfee_sumamt"] = strs[7];
- dr["fund_pay_sumamt"] = strs[8];
- dr["acct_pay"] = strs[9];
- //dr["Field2"] = strs[2];
- dt.Rows.Add(dr);
- }
- dgvCenterSettlRec.DataSource = dt;
- return 0;
- }
- catch (Exception ex)
- {
- outParam = "importToDgvCenterSetlRec:" + ex.Message;
- return -1;
- }
- }
- private int importToDgvCenterSettlData(string fileName, out string outParam)
- {
- outParam = "";
- try
- {
- //导入文件
- GridViewSetter grd = new GridViewSetter();
- grd.SetHeaderTextOfDgvCenterSettlData(dgvCenterSettlData);
- string[] lines = System.IO.File.ReadAllLines(fileName, Encoding.GetEncoding("GB2312"));
- DataTable dt = new DataTable();
- dt.Columns.Add("sn", typeof(int));
- dt.Columns.Add("aac001", typeof(string));
- dt.Columns.Add("yka065", typeof(string));
- dt.Columns.Add("yka055", typeof(string));
- dt.Columns.Add("yka056", typeof(string));
- dt.Columns.Add("yka057", typeof(string));
- dt.Columns.Add("yka111", typeof(string));
- dt.Columns.Add("yka058", typeof(string));
- dt.Columns.Add("yka248", typeof(string));
- dt.Columns.Add("yka062", typeof(string));
- dt.Columns.Add("yke030", typeof(string));
- dt.Columns.Add("ykc177", typeof(string));
- dt.Columns.Add("ykb037", typeof(string));
- dt.Columns.Add("yka316", typeof(string));
- dt.Columns.Add("yka054", typeof(string));
- dt.Columns.Add("yae366", typeof(string));
- dt.Columns.Add("akc021", typeof(string));
- dt.Columns.Add("ykc121", typeof(string));
- dt.Columns.Add("ykc280", typeof(string));
- dt.Columns.Add("ykc281", typeof(string));
- dt.Columns.Add("aae036", typeof(string));
- dt.Columns.Add("akc190", typeof(string));
- dt.Columns.Add("aac003", typeof(string));
- dt.Columns.Add("yka103", typeof(string));
- dt.Columns.Add("ykb065", typeof(string));
- dt.Columns.Add("aka130", typeof(string));
- dt.Columns.Add("yab003", typeof(string));
- dt.Columns.Add("aae011", typeof(string));
- dt.Columns.Add("ykc141", typeof(string));
- dt.Columns.Add("yka469", typeof(string));
- dt.Columns.Add("yka471", typeof(string));
- dt.Columns.Add("ake183", typeof(string));
- dt.Columns.Add("ake173", typeof(string));
- dt.Columns.Add("yab139", typeof(string));
- //foreach (string line in lines)
- for (int i = 0; i < lines.Length; i++)
- {
- string[] strs = (lines[i] + "\t").Split('\t');
- DataRow dr = dt.NewRow();
- //GlobalVariables.writeLog(lines[i].ToString());
- //GlobalVariables.writeLog(strs.Length.ToString());
- dr["sn"] = i + 1;
- dr["aac001"] = strs[0];
- dr["yka065"] = strs[1];
- dr["yka055"] = strs[2];
- dr["yka056"] = strs[3];
- dr["yka057"] = strs[4];
- dr["yka111"] = strs[5];
- dr["yka058"] = strs[6];
- dr["yka248"] = strs[7];
- dr["yka062"] = strs[8];
- dr["yke030"] = strs[9];
- dr["ykc177"] = strs[10];
- dr["ykb037"] = strs[11];
- dr["yka316"] = strs[12];
- dr["yka054"] = strs[13];
- dr["yae366"] = strs[14];
- dr["akc021"] = strs[15];
- dr["ykc121"] = strs[16];
- dr["ykc280"] = strs[17];
- dr["ykc281"] = strs[18];
- dr["aae036"] = strs[19];
- dr["akc190"] = strs[20];
- dr["aac003"] = strs[21];
- dr["yka103"] = strs[22];
- dr["ykb065"] = strs[23];
- dr["aka130"] = strs[24];
- dr["yab003"] = strs[25];
- dr["aae011"] = strs[26];
- dr["ykc141"] = strs[27];
- dr["yka469"] = strs[28];
- dr["yka471"] = strs[29];
- dr["ake183"] = strs[30];
- dr["ake173"] = strs[31];
- dr["yab139"] = strs[32];
- dt.Rows.Add(dr);
- }
- dgvCenterSettlData.DataSource = dt;
- return 0;
- }
- catch (Exception ex)
- {
- outParam = "importToDgvCenterSettlData:" + ex.Message;
- return -1;
- }
- }
- private int importToDgvUnCheckData_O(string centerRtn, out string outParam)
- {
- outParam = "";
- try
- {
- //导入文件
- GridViewSetter grd = new GridViewSetter();
- grd.SetHeaderTextOfDgvUnCheckData_O(dgvUnCheckData_O);
- JObject joRtn = JObject.Parse(xmler.ToJSON(centerRtn));
- DataTable dt = (DataTable)JsonConvert.DeserializeObject(JsonHelper.getDestValue(joRtn, "output.sqldata.row"), (typeof(DataTable)));
- dgvUnCheckData_O.DataSource = dt;
- return 0;
- }
- catch (Exception ex)
- {
- outParam = "importToDgvUnCheckData_O:" + ex.Message;
- return -1;
- }
- }
- private int CheckDetail_Single(out string outParam)
- {
-
- outParam = "";
- if (dgvHisSettlRec.Rows.Count == 0)
- {
- outParam = "下载中心数据需要先查询本地数据!";
- return -1;
- }
- DataTable dt1 = (DataTable)dgvCenterSettlRec.DataSource;
- if (dt1 != null ) dt1.Clear();
- if (dpST_L.Value.Date != dpED_L.Value.Date)
- {
- outParam = "中心规定对明细账的起止时间不能超过一天!";
- return -1;
- }
- try
- {
- string filePath,error = "";
- if (queryDetailSumInfo(out error) != 0)
- {
- outParam = error;
- return -1;
- }
-
- //导出数据
- txtName = "IN" + DateTime.Now.ToString("yyyyMMdd");
- txtPath = Global.curEvt.path + "\\DownLoad";
- if (HISDetailDataExport(txtPath, txtName) != 0)
- {
- outParam ="HISDetailDataExport数据导出异常!";
- return -1;
- }
- //
- JObject joRtn = JObject.Parse(error);
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- int i = 0;
- //上传给中心
- dynamic joCheck = new JObject();
- //joCheck.insutype = dt.Rows[i]["insutype"].ToString();
- //joCheck.clr_type = dt.Rows[i]["clr_type"].ToString();
- //joCheck.setl_optins = dt.Rows[i]["setl_optins"].ToString();
- joCheck.medfee_sumamt = dt.Rows[i]["medfee_sumamt"].ToString();
- joCheck.fund_pay_sumamt = dt.Rows[i]["fund_pay_sumamt"].ToString();
- joCheck.acct_pay = dt.Rows[i]["acct_pay"].ToString();
- joCheck.fixmedins_setl_cnt = dt.Rows[i]["fixmedins_setl_cnt"].ToString();
- joCheck.stmt_begndate = dpST_L.Value.ToString("yyyy-MM-dd");
- joCheck.stmt_enddate = dpED_L.Value.ToString("yyyy-MM-dd");
- if (cbxValid.SelectedIndex == 0)
- joCheck.is_cont_refd_rcd = 1;
- else
- joCheck.is_cont_refd_rcd = 0;
- joCheck.prm_filepath = txtPath;
- joCheck.prm_inputfile = txtName+".txt";
- if (rbgSettlOrgan.SelectedIndex == 0)
- joCheck.prm_yabtch = "9900";
- else
- joCheck.prm_yabtch = "0100";
- joRtn = new JObject();
-
- if (invoker.invokeYHCom("H7102", joCheck, out error) != 0)
- {
- outParam = error;
- return -1;
- }
- else
- {
- filePath = JsonHelper.getDestValue(JObject.Parse(xmler.ToJSON(error)), "output.prm_outputfile");
- }
- //导入TXT
- if (importToDgvCenterSetlRec(filePath, out outParam) != 0)
- {
- return -1;
- }
-
- return 0;
- }
- catch (Exception ex)
- {
- outParam = "CheckDetail_Single:" + ex.Message;
- return -1;
- }
- }
- private void dgvRowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
- {
- DataGridView dgv = (DataGridView)sender;
- dgv.RowHeadersWidth = 60;
- if (dgv.Rows.Count > 1)
- e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
- }
- private void dgvSettlSummary_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
- {
- if (dgvSettlSummary.Rows.Count > 1)
- e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
- }
- private void dgvHisSettlRec_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
- {
- if (dgvHisSettlRec.Rows.Count > 1)
- e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
- }
- private int compareDataGridView(string value, string colName, Sunny.UI.UIDataGridView dgv)
- {
- try
- {
- for (int i = 0; i < dgv.RowCount; i++)
- {
- if (dgv.Rows[i].Cells[colName].Value.ToString() == value)
- {
- return 0;
- }
- }
- return -1;
- }
- catch (Exception ex)
- {
- MessageBox.Show("compareDataGridView" + ex.Message);
- return -1;
- }
- }
- private void tsmAICheck_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < dgvHisSettlRec.RowCount; i++)
- {
- string value = dgvHisSettlRec.Rows[i].Cells["SettlementID"].Value.ToString();
- string colName = "setl_id";
- if (compareDataGridView(value, colName, dgvCenterSettlRec) != 0)
- {
- dgvHisSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Red;
- rtbCheckDetailLog.AppendText("HIS结算ID:" + value + "在中心明细中未找到数据!" + "\r\n");
- }
- }
- for (int i = 0; i < tcLocalCheckDetail.RowCount; i++)
- {
- string value = dgvCenterSettlRec.Rows[i].Cells["setl_id"].Value.ToString();
- string colName = "SettlementID";
- if (compareDataGridView(value, colName, dgvHisSettlRec) != 0)
- {
- dgvCenterSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Red;
- rtbCheckDetailLog.AppendText("中心结算ID:" + value + "在HIS明细中未找到数据!" + "\r\n");
- }
- }
- }
- private void btnAddOneDay_Click(object sender, EventArgs e)
- {
- dpST.Value = dpST.Value.AddDays(1);
- dpED.Value = dpED.Value.AddDays(1);
- }
- private void btnReduceOndDay_Click(object sender, EventArgs e)
- {
- dpST.Value = dpST.Value.AddDays(-1);
- dpED.Value = dpED.Value.AddDays(-1);
- }
- private void btnQueryClrSum_Click(object sender, EventArgs e)
- {
- DataTable dtInteface = (DataTable)cbInterface_2.DataSource;
- int i = cbInterface_2.SelectedIndex;
- //
- string sqlStr = "SELECT SUM(billtype*Sumamt) AS Sumamt, SUM(billtype*AccountPaySumamt) AS AccountPaySumamt, ";
- sqlStr = sqlStr + " SUM(billtype*FundPaySumamt) AS FundPaySumamt, ";
- sqlStr = sqlStr + " SUM(billtype*EnterpriseSupplementPay) AS EnterpriseSupplementPay, ";
- sqlStr = sqlStr + " SUM(billtype*CivilserviceAllowancePay) AS CivilserviceAllowancePay, ";
- sqlStr = sqlStr + " ClearingType ,Interface_Dr,ClearingOrgan,InsuranceType ";
- sqlStr = sqlStr + " FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_2.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_2.Text + "'";
- sqlStr = sqlStr + " and BillType<>9 and((ConfirmFlag = 1 and AdmType IN('3', '4')) OR(AdmType IN('1', '2')))";
- if (cbInterface_2.Text != "")
- {
- sqlStr = sqlStr + " and interface_dr =" + dtInteface.Rows[i]["ID"].ToString();
- }
- if (cbInsutype_2.Text != "")
- {
- sqlStr = sqlStr + " and InsuranceType ='" + cbInsutype_2.SelectedValue + "'";
- }
- if (cbClrType_2.Text != "")
- {
- sqlStr = sqlStr + " and clr_type ='" + cbClrType_2.SelectedValue + "'";
- }
- if (tbSettlOption_2.Text != "")
- {
- sqlStr = sqlStr + " and ClearingOrgan ='" + tbSettlOption_2.Text + "'";
- }
- if (cbClrWay_2.Text != "")
- {
- sqlStr = sqlStr + " and ClearingWay ='" + cbClrWay_2.SelectedValue + "'";
- }
- if (cbValid_2.SelectedIndex != 0)
- {
- if (cbValid_2.SelectedIndex == 1)
- { sqlStr = sqlStr + " and ValidFlag =1"; }
- else
- sqlStr = sqlStr + " and ValidFlag =-1";
- }
- ////省医保本地
- //if ((Global.inf.interfaceDr == 1) && (cbOtherPlaceFlag.SelectedIndex == 2))
- //{
- // sqlStr = sqlStr + " and (insuplc_admdvs='519900' or insuplc_admdvs='510000')";
- //}
- ////省医保异地
- //if ((Global.inf.interfaceDr == 1) && (cbOtherPlaceFlag.SelectedIndex == 1))
- //{
- // sqlStr = sqlStr + " and (insuplc_admdvs<>'519900' and insuplc_admdvs<>'510000')";
- //}
- sqlStr = sqlStr + " Group By Interface_Dr,ClearingType,ClearingOrgan,InsuranceType ";
- 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", "09010081");
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询汇总结算信息(清算)");
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvClearingSum.DataSource = dt;
- }
- private void tmsClearing_2_Click(object sender, EventArgs e)
- {
- string error = "";
- //if ((Global.inf.interfaceDr == 1) && (cbOtherPlaceFlag.SelectedIndex == 1))
- //{
- // if (OthPlcClearing_Single(out error) != 0)
- // {
- // MessageBox.Show("异地清算失败:" + error);
- // }
- // else
- // {
- // MessageBox.Show("异地清算成功");
- // }
- //}
- //else
- //{
- // if (Clearing_Single(out error) != 0)
- // {
- // MessageBox.Show("清算失败:" + error);
- // }
- // else
- // {
- // MessageBox.Show("清算成功");
- // }
- //}
- if (Clearing_Single(out error) != 0)
- {
- MessageBox.Show("清算失败:" + error);
- }
- else
- {
- MessageBox.Show("清算成功");
- }
- }
- private void btnClose_3_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void btnQueryClearing_Click(object sender, EventArgs e)
- {
- DataTable dtInteface = (DataTable)cbInterface_3.DataSource;
- int i = cbInterface_3.SelectedIndex;
- //
- string sqlStr = "SELECT * from BS_MedInsuClearingRecord where Hosp_Dr=" + dtInteface.Rows[i]["HospitalDr"].ToString(); ;
- sqlStr = sqlStr + " and interface_dr =" + dtInteface.Rows[i]["ID"].ToString();
- if (rbgTimeWay.SelectedIndex == 0)
- {
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_3.Value.ToString("yyyy-MM-dd 00:00:00") + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_3.Value.ToString("yyyy-MM-dd 23:59:59") + "'";
- }
- else
- {
- sqlStr = sqlStr + " and Begndate>='" + dpST_3.Value.ToString("yyyy-MM-dd 00:00:00") + "'";
- sqlStr = sqlStr + " and Enddate<='" + dpED_3.Value.ToString("yyyy-MM-dd 23:59:59") + "'";
- }
- if (cbValid_3.SelectedIndex != 0)
- {
- if (cbValid_3.SelectedIndex == 1)
- { sqlStr = sqlStr + " and ValidFlag =1"; }
- else
- sqlStr = sqlStr + " and ValidFlag =-1";
- }
- 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", "09010069");
- InvokeHelper invoker = new InvokeHelper();
- JObject joRtn = invoker.invokeInsuService(joSettlQuery.ToString(), "查询清算信息");
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvClearingData.DataSource = dt;
- }
- private void btnCancleClearing_Click(object sender, EventArgs e)
- {
- string error = "";
- if (1==1)
- {
- if (CancleClearing_Single(out error) != 0)
- {
- MessageBox.Show("撤销清算失败:" + error);
- }
- else
- {
- MessageBox.Show("撤销清算成功");
- }
- }
- else
- {
- if (CancleOthPlcClearing_Single(out error) != 0)
- {
- MessageBox.Show("异地撤销清算失败:" + error);
- }
- else
- {
- MessageBox.Show("异地撤销清算成功");
- }
- }
- }
- private void btnAddMonth_Click(object sender, EventArgs e)
- {
- dpST_2.Value = dpST_2.Value.AddMonths(1);
- dpED_2.Value = dpST_2.Value.AddDays(1 - dpST_2.Value.Day).AddMonths(1).AddMinutes(-1);
- }
- private void btnReduceMonth_Click(object sender, EventArgs e)
- {
- dpST_2.Value = dpST_2.Value.AddMonths(-1);
- dpED_2.Value = dpST_2.Value.AddDays(1 - dpST_2.Value.Day).AddMonths(1).AddMinutes(-1);
- }
- private void uiButton3_Click(object sender, EventArgs e)
- {
- string sqlStr = "SELECT Convert(decimal(18,2),(BillType*(HealthInsurancePay + EnterpriseSupplementPay +CivilserviceAllowancePay +OtherPay +MedicalAssistPay+AccountPaySumamt))) AS FundPaySumamt, ";
- sqlStr = sqlStr + "Convert(decimal(18,2),Sumamt) as Sumamt ";
- sqlStr = sqlStr + ",Adm_Dr,PatientName,Convert(VARCHAR(12),RecordID) as RecordID,MdtrtID,SettlementID,PersonnelNO,SettlementDateTime as SettlementTime,ValidFlag,BillType";
- sqlStr = sqlStr + ",InsuranceAreaCode,MedicalType,msgid,ClearingOrgan,MainSettlementIDOfMutualAid";
- sqlStr = sqlStr + " FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_O.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_O.Text + "'";
- sqlStr = sqlStr + " and interface_dr =" + Global.inf.interfaceDr;
- sqlStr = sqlStr + " and ClearingType ='9902'";
- sqlStr = sqlStr + " and BillType<>9 and((ConfirmFlag = 1 and AdmType IN('3', '4')) OR(AdmType IN('1', '2')))";
- //sqlStr = sqlStr + " and (LEFT(InsuranceAreaCode,4) <>'5299' and ClearingOrgan='529900')";
- if (cbxValid_O.SelectedIndex != 0)
- {
- if (cbxValid_O.SelectedIndex == 1)
- { sqlStr = sqlStr + " and ValidFlag =1"; }
- else
- sqlStr = sqlStr + " and ValidFlag =-1";
- }
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- JObject joHisRtn = BatchHisRecord(joRtn);
- if (JsonHelper.parseIrisRtnValue(joHisRtn, out string error) != 0)
- {
- error = "查询HIS结算记录出错,请联系管理员!" + error;
- MessageBox.Show(error);
- return;
- }
- DataTable dt = (DataTable)JsonConvert.DeserializeObject(JsonHelper.getDestValue(joHisRtn, "result"), (typeof(DataTable)));
- //DataTable dt = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
-
- dgvOthCheck.DataSource = dt;
- tcOtherPlaceCheck.SelectedIndex = 0;
- }
- private void tsmOthPlcCheck_Click(object sender, EventArgs e)
- {
-
- string error = "";
- if (OthPlcCheck_Single(out error) != 0)
- {
- MessageBox.Show("对账失败:" + error);
- }
- else
- {
- MessageBox.Show("对账成功");
- }
- }
- private void uiSymbolButton2_Click(object sender, EventArgs e)
- {
- dpST_O.Value = dpST_O.Value.AddDays(1);
- dpED_O.Value = dpED_O.Value.AddDays(1);
- }
- private ArrayList getIndexArray(String inputStr, String findStr)
- {
- ArrayList list = new ArrayList();
- int start = 0;
- while (start < inputStr.Length)
- {
- int index = inputStr.IndexOf(findStr, start);
- if (index >= 0)
- {
- list.Add(index);
- start = index + findStr.Length;
- }
- else
- {
- break;
- }
- }
- return list;
- }
- private void batchOtherPlcCheck ()
- {
- DataTable dt = (DataTable)dgvOthCheck.DataSource;
- string error = "";
- int failRows = 0;
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- //dgvOthCheck.Rows[i].Selected = true;
- dgvOthCheck.CurrentCell = dgvOthCheck.Rows[i].Cells[0];
- if (OthPlcCheck_Single(out error) != 0)
- {
- string str = "【当前人员】:";
- //Graphics g = this.CreateGraphics();
- //Font font = new Font("宋体", 14, FontStyle.Bold);
- //SolidBrush brush = new SolidBrush(Color.Red);
- //g.DrawString(str, font, brush, 20, 50);
- string patInfo = str + dt.Rows[i]["PatientName"].ToString()
- + ",结算编号:" + dt.Rows[i]["SettlementID"].ToString();
- //+ ",清算类别:" + dt.Rows[i]["ClearingType"].ToString()
- //+ ",就诊类别(1门诊2住院):" + dt.Rows[i]["admType"].ToString();
- rtbOthCheckResultRecord.AppendText(patInfo + ";对账失败:" + error + "\r\n");
- failRows++;
- }
- else
- {
- //rtbOthCheckResultRecord.AppendText("当前人员:" + dt.Rows[i]["PatientName"].ToString() + ";对账成功!" + "\r\n");
- }
- }
- if (failRows == 0)
- {
- rtbOthCheckResultRecord.AppendText("当前所有人员对账成功!" + "\r\n");
- }
- else
- {
- string str = "【当前人员】";
- ArrayList list = getIndexArray(rtbOthCheckResultRecord.Text, str);
- for (int i = 0; i < list.Count; i++)
- {
- int index = (int)list[i];
- rtbOthCheckResultRecord.Select(index, str.Length);
- rtbOthCheckResultRecord.SelectionColor = Color.Red;
- Font oldFont = rtbOthCheckResultRecord.SelectionFont;
- Font font = new Font(oldFont, oldFont.Style | FontStyle.Bold);
- rtbOthCheckResultRecord.SelectionFont = font;
- }
- }
- }
- private void uiButton2_Click(object sender, EventArgs e)
- {
- //1.绑定需要执行的操作方法
- var act = new Action(batchOtherPlcCheck);
- act.BeginInvoke(ar => act.EndInvoke(ar), null); //参数null可以作为回调函数的返回参数
- //batchOtherPlcCheck();
- }
- private void btDownloadUnCheckData_Click(object sender, EventArgs e)
- {
- //dynamic joTmp = new JObject();
- //joTmp.prm_date = dpST_O.Value.ToString("yyyy-MM-dd");
- //Global.pat.patExtend.prm_yabtch = joTmp.prm_yabtch = tbCBD_O.Text;
- //string errMsg;
- //if (invoker.invokeYHCom("H7105", joTmp, out errMsg) != 0)
- //{
- // MessageBox.Show(errMsg);
- // return;
- //}
- //else
- //{
- // string centerRtn = errMsg;
- // //导入数据
- // if (importToDgvUnCheckData_O(centerRtn, out errMsg) != 0)
- // {
- // MessageBox.Show(errMsg);
- // return;
- // }
- // tcOtherPlaceCheck.SelectedIndex = 1;
- //}
- // 创建 DataLoader 并传递 queryExportData 方法
- DataLoader _dataLoader;
- _dataLoader = new DataLoader((out string errMsg) => QueryOthplcUnCheckData(out errMsg), this);
- _dataLoader.StartQueryExportData((result, errMsg) =>
- {
- // 在这里处理结果和错误信息
- if (result == 0)
- {
- MessageBox.Show(errMsg);
- }
- else
- {
- MessageBox.Show(errMsg);
- }
- });
- //QueryOthplcUnCheckData(out string errMsg);
- }
- private int QueryOthplcUnCheckData(out string errMsg)
- {
- try
- {
- errMsg = "";
- // 创建一个新的DataTable来存储合并后的数据
- DataTable mergedDataTable = new DataTable();
- // 获取一周的数据并合并
- DateTime dtBegin = dpST_O.Value;
- DateTime dtEnd = dpED_O.Value;
- string err;
- for (DateTime date = dtBegin; date <= dtEnd; date = date.AddDays(1))
- {
- DataTable dailyData;
- if (GetUnCheckData(date, out DataTable dt, out err) != 0)
- {
- Global.writeLog(err);
- continue;
- }
- else
- {
- dailyData = dt;
- }
- // 如果是第一天,初始化mergedDataTable的结构
- if (date == dtBegin)
- {
- mergedDataTable = dailyData.Clone();
- }
- // 使用Merge方法合并dailyData到mergedDataTable
- mergedDataTable.Merge(dailyData);
- ////将dailyData中的数据合并到mergedDataTable中
- //foreach (DataRow row in dailyData.Rows)
- //{
- // mergedDataTable.ImportRow(row);
- //}
- }
- //dgvUnCheckData_O.DataSource = mergedDataTable;
- //tcOtherPlaceCheck.SelectedIndex = 1;
- this.Invoke((MethodInvoker)delegate {
- dgvUnCheckData_O.DataSource = mergedDataTable;
- tcOtherPlaceCheck.SelectedIndex = 1;
- });
- if ((mergedDataTable == null) || (mergedDataTable.Rows.Count ==0))
- {
- errMsg = "未查询到数据!";
- return -1;
- }
- else
- {
- errMsg = "查询完成";
- return 0;
- }
- }
- catch (Exception ex)
- {
- errMsg = "异常:" + ex.Message;
- return -1;
- }
- }
- private int GetUnCheckData(DateTime date,out DataTable dt, out string errMsg)
- {
- errMsg = "";
- dt = null;
- dynamic joTmp = new JObject();
- joTmp.prm_date = date.ToString("yyyy-MM-dd");
- joTmp.prm_yabtch = Global.pat.patExtend.prm_yabtch;
- if (invoker.invokeYHCom("H7105", joTmp, out errMsg) != 0)
- {
- return -1;
- }
- else
- {
- JObject joRtn = JObject.Parse(xmler.ToJSON(errMsg));
- dt = (DataTable)JsonConvert.DeserializeObject(JsonHelper.getDestValue(joRtn, "output.sqldata.row"), (typeof(DataTable)));
- if (dt == null)
- {
- errMsg = "返回数据集为空";
- return -1;
- }
- else
- {
- return 0;
- }
- }
- }
- private void btPrintClearingData_Click(object sender, EventArgs e)
- {
- string error = "";
- DataTable dt = (DataTable)dgvClearingData.DataSource;
- int i = dgvClearingData.CurrentRow.Index;
- dynamic joPrint = new JObject();
- joPrint.prm_ykb053 = dt.Rows[i]["ApplyID"].ToString();//医院清算申请流水号
- joPrint.prm_aab304 = Global.user.ID;//负责人
- joPrint.prm_ykc141 = Global.user.ID;//经办人
- if (dt.Rows[i]["ClrType"].ToString() == "03")
- {
- joPrint.prm_yabtch = "GS01";
- joPrint.prm_yka054 = "1";
- joPrint.prm_aka130 = "G31";
- joPrint.prm_akb020 = Global.inf.hospitalNO;
- joPrint.prm_yab003 = dt.Rows[i]["ClearingOrgan"].ToString();
- joPrint.prm_yae366 = dt.Rows[i]["ClearYearMonth"].ToString();
- joPrint.prm_ykb065 = "5";
- }
- else
- {
- if (string.IsNullOrEmpty(dt.Rows[i]["ClearingOrgan"].ToString()))
- joPrint.prm_yabtch = "9900";
- else
- joPrint.prm_yabtch = dt.Rows[i]["ClearingOrgan"].ToString();
- }
-
- //上传给中心
- if (invoker.invokeYHCom("75", joPrint, out error) != 0)
- {
- MessageBox.Show(error);
- }
- }
- private void tsmDownloadCenterDetail_Click(object sender, EventArgs e)
- {
- string errMsg;
- if (CheckDetail_Single(out errMsg) != 0)
- {
- MessageBox.Show(errMsg);
- }
- tcLocalCheckDetail.SelectedIndex = 1;
- }
- private void toolStripMenuItem8_Click(object sender, EventArgs e)
- {
- txtName = "IN" + DateTime.Now.ToString("yyyyMMdd");
- txtPath = Global.curEvt.path + "\\Download";
- HISDetailDataExport(txtPath, txtName);
- //System.IO.Compression.ZipFile.CreateFromDirectory(txtPath + "\\" + "2022ceshi", txtPath + "\\" + "111.zip");
- }
- private void btCheckLocalDetail_Click(object sender, EventArgs e)
- {
- tsmHisRecord_Click(sender,null);
- tsmDownloadCenterDetail_Click(sender, null);
- tsmAICompare_Click(sender, null);
- }
- private void btQueryCenterSettlData_Click(object sender, EventArgs e)
- {
- //上传给中心
- dynamic joCheck = new JObject();
- joCheck.prm_akb020 = Global.inf.hospitalNO;
- joCheck.prm_begindate = dpST_5.Value.ToString("yyyy-MM-dd");
- joCheck.prm_enddate = dpET_5.Value.ToString("yyyy-MM-dd");
- string filePath = Global.curEvt.path + "\\Download\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + "_46.txt";
- joCheck.prm_outputfile = filePath;
- if (rbgPrmBatch.SelectedIndex == 0)
- joCheck.prm_yabtch = "9900";
- else
- joCheck.prm_yabtch = "0100";
- string error;
- if (invoker.invokeYHCom("46", joCheck, out error) != 0)
- {
- MessageBox.Show(error);
- return ;
- }
-
- //导入TXT
- if (importToDgvCenterSettlData(filePath, out error) != 0)
- {
- MessageBox.Show(error);
- return ;
- }
- }
- private void uiGroupBox3_Click(object sender, EventArgs e)
- {
- }
- private void btQueryCenterClearingData_Click(object sender, EventArgs e)
- {
- }
- private void uiSymbolButton4_Click(object sender, EventArgs e)
- {
- dpST_L.Value = dpST_L.Value.AddDays(1);
- dpED_L.Value = dpED_L.Value.AddDays(1);
- }
- private void btExit_L_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void uiSymbolButton3_Click(object sender, EventArgs e)
- {
- dpST_L.Value = dpST_L.Value.AddDays(-1);
- dpED_L.Value = dpED_L.Value.AddDays(-1);
- }
- private void btnBatchCheck_Click(object sender, EventArgs e)
- {
- DataTable dt = (DataTable)dgvSettlSummary.DataSource;
- string error = "";
- int failRows = 0;
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- dgvSettlSummary.CurrentCell = dgvSettlSummary.Rows[i].Cells[0];
- string errMsg = "";
- if (Check_Single(out errMsg) != 0)
- {
- string checkInfo = "【清算机构:" + dt.Rows[i]["setl_optins"].ToString()
- + ",清算类别:" + dt.Rows[i]["clr_type"].ToString() + "】";
- error = error + checkInfo + "对账失败:" + errMsg + "\r\n";
- failRows++;
- }
- }
- if (failRows == 0)
- {
- MessageBox.Show("当前所有数据均对账成功!" + "\r\n");
- }
- else
- {
- MessageBox.Show(error);
- }
- }
- private void tsmAICompare_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < dgvHisSettlRec.RowCount; i++)
- {
- string value = dgvHisSettlRec.Rows[i].Cells["SettlementID"].Value.ToString();
- string colName = "setl_id";
- if (compareDataGridView(value, colName, dgvCenterSettlRec) != 0)
- {
- dgvHisSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Red;
- rtbCheckDetailLog.AppendText("HIS结算ID:" + value + "在中心明细中未找到数据!" + "\r\n");
- }
- }
- for (int i = 0; i < dgvCenterSettlRec.RowCount; i++)
- {
- string value = dgvCenterSettlRec.Rows[i].Cells["setl_id"].Value.ToString();
- string colName = "SettlementID";
- if (compareDataGridView(value, colName, dgvHisSettlRec) != 0)
- {
- dgvCenterSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Red;
- rtbCheckDetailLog.AppendText("中心结算ID:" + value + "在HIS明细中未找到数据!" + "\r\n");
- }
- }
- }
- private void uiSymbolButton1_Click(object sender, EventArgs e)
- {
- dpST_O.Value = dpST_O.Value.AddDays(-1);
- dpED_O.Value = dpED_O.Value.AddDays(-1);
- }
- private void tsmLocateBySetlID_Click(object sender, EventArgs e)
- {
- if (tbSettlmentID.Text == "")
- {
- MessageBox.Show("请在左侧输入框输入结算ID!");
- return ;
- }
- bool bFind = false;
- if ((dgvHisSettlRec.RowCount > 0) && (tcLocalCheckDetail.SelectedIndex ==0))
- {
- for (int i = 0; i < dgvHisSettlRec.RowCount; i++)
- {
- string settlID = tbSettlmentID.Text;
- string colValue = dgvHisSettlRec.Rows[i].Cells["SettlementID"].Value.ToString();
- if (settlID == colValue)
- {
- dgvHisSettlRec.ClearSelection();
- dgvHisSettlRec.Rows[i].Selected = true;
- //让指定行处于选中状态(状态)
- dgvHisSettlRec.CurrentCell = dgvHisSettlRec.Rows[i].Cells[1];
- dgvHisSettlRec.CurrentRow.Selected = true;
- bFind = true;
- }
- }
- if (!bFind)
- {
- MessageBox.Show("在His数据集中未定位到相关数据,请扩大查询范围或更改结算ID");
- }
- }
- bFind = false;
- if ((dgvCenterSettlRec.RowCount > 0) && (tcLocalCheckDetail.SelectedIndex == 1))
- {
- for (int i = 0; i < dgvCenterSettlRec.RowCount; i++)
- {
- string settlID = tbSettlmentID.Text;
- string colValue = dgvCenterSettlRec.Rows[i].Cells["setl_id"].Value.ToString();
- if (settlID == colValue)
- {
- dgvCenterSettlRec.ClearSelection();
- dgvCenterSettlRec.Rows[i].Selected = true;
- //让指定行处于选中状态(状态)
- dgvCenterSettlRec.CurrentCell = dgvCenterSettlRec.Rows[i].Cells[1];
- dgvCenterSettlRec.CurrentRow.Selected = true;
- bFind = true;
- }
- }
- if (!bFind)
- {
- MessageBox.Show("在中心下载的数据集中未定位到相关数据,请扩大查询范围或更改结算ID");
- }
- }
-
-
- }
- private void cmsCheck_Opening(object sender, CancelEventArgs e)
- {
- }
- private void btnPatchClr_Click(object sender, EventArgs e)
- {
- }
- private void btQueryHisAndInsuCheckData_Click(object sender, EventArgs e)
- {
- string errMsg = "";
- DataTable dtInteface = (DataTable)cbInterface_Local.DataSource;
- int i = cbInterface_Local.SelectedIndex;
- //定义condition 对象,并组织内容
- JObject joCondition = new JObject();
- joCondition.Add("beginDate", dpST_Local.Text);
- joCondition.Add("endDate", dpED_Local.Text);
- joCondition.Add("areaCode", "520100");
- string sqlStr = "select sum(sumamt) MISumamt, sum(FundPaySumamt) MIFundPay, sum(AccountPaySumamt) ";
- sqlStr = sqlStr + "MIAccountPay, sum(PersonCashPay) MICashPay, sum(HospitalPartAmount) ";
- sqlStr = sqlStr + "MIHospitalPartAmount ";
-
- //Convert(decimal(18,2),Sumamt) as Sumamt
- //sqlStr = sqlStr + " Interface_dr,clearingWay AS clr_way,clearingType AS clr_type ";
- //select sum(sumamt),divcode from(SELECT sumamt, InsuranceAreaCode, case when InsuranceAreaCode = '520123' THEN 'A' when InsuranceAreaCode = '520524'
- //THEN 'B' ELSE 'C' END AS DivCOde FROM SQLUser.BS_MedInsuSettlement) a group by a.divcode
- string conditionStr = " Group By";
- if (cbgLocal.GetItemCheckState(0))
- {
- joCondition.Add("groupByInterfaceDr", "Y");
- sqlStr = sqlStr + ",Interface_Dr interfaceDr ";
- conditionStr = conditionStr + " A.Interface_Dr,";
- }
- if (cbgLocal.GetItemCheckState(1))
- {
- joCondition.Add("groupByAdmType", "Y");
- sqlStr = sqlStr + ",admType";
- conditionStr = conditionStr + " A.AdmType,";
- }
- if (cbgLocal.GetItemCheckState(2))
- {
- joCondition.Add("groupByDivision", "Y");
- sqlStr = sqlStr + ",divCode";
- conditionStr = conditionStr + " A.divCode,";
- }
- sqlStr = sqlStr + " from (SELECT admType ,interface_Dr,sumamt , ";
- sqlStr = sqlStr + " FundPaySumamt,AccountPaySumamt,PersonCashPay,HospitalPartAmount,InsuranceAreaCode, ";
- sqlStr = sqlStr + " case when substr(InsuranceAreaCode,1,4) ='5201' THEN 'CityBJ' "
- + " when substr(InsuranceAreaCode,1,4) = '5299' THEN 'ProBJ'"
- + " when substr(InsuranceAreaCode,1,2) <> '52' THEN 'OtherPro'"
- + " when((substr(InsuranceAreaCode, 1, 2) = '52') and(substr(InsuranceAreaCode, 1, 4) <> '5201')"
- + " and(substr(InsuranceAreaCode, 1, 4) <> '5299')) THEN 'OtherCity' END AS DivCode "
- + " FROM SQLUser.BS_MedInsuSettlement WHERE Hospital_Dr = " + Global.inf.hospitalDr;
- sqlStr = sqlStr + " and SettlementDateTime>'" + dpST_Local.Text + "'";
- sqlStr = sqlStr + " and SettlementDateTime<'" + dpED_Local.Text + "'";
- if (cbInterface_Local.Text != "")
- {
- sqlStr = sqlStr + " and Interface_Dr =" + dtInteface.Rows[i]["ID"].ToString();
- }
- if (cbAdmType.SelectedIndex != 2)
- {
- string admType = "0";
- if (cbAdmType.SelectedIndex == 0) admType = "1";
- if (cbAdmType.SelectedIndex == 1) admType = "2";
- sqlStr = sqlStr + " and AdmType ='" + admType + "'";
- joCondition.Add("admType",admType);
- }
-
- //conditionStr = conditionStr.Remove(conditionStr.Length - 1, 1);
- //ValidFlag=1 and BillType=1 表示正常结算记录 ValidFlag=0 and BillType=-1 表示退费记录 ValidFlag=0表示无效记录
- if (cbValidFlag.SelectedIndex != 2)
- {
- if (cbValidFlag.SelectedIndex == 0)
- {
- joCondition.Add("validFlag", 1);
- sqlStr = sqlStr + " and ValidFlag =1";
- }
- else
- {
- sqlStr = sqlStr + " and ValidFlag =0";
- joCondition.Add("validFlag", 0);
- }
- }
- if (cbBillType.SelectedIndex != 2)
- {
- if (cbBillType.SelectedIndex == 0)
- {
- sqlStr = sqlStr + " and BillType =1";
- joCondition.Add("billType", 1);
- }
- else
- {
- sqlStr = sqlStr + " and BillType =-1";
- joCondition.Add("billType", -1);
- }
- }
- sqlStr = sqlStr + " ) A ";
- if (cbDivision.SelectedIndex != 4)
- {
- string divCOde = "";
- if (cbDivision.SelectedIndex == 0) divCOde = "CityBJ";
- if (cbDivision.SelectedIndex == 1) divCOde = "ProBJ";
- if (cbDivision.SelectedIndex == 2) divCOde = "OtherCity";
- if (cbDivision.SelectedIndex == 3) divCOde = "OtherPro";
- sqlStr = sqlStr + " where A.DivCOde ='" + divCOde + "'";
- joCondition.Add("divCode", divCOde);
- }
- if (conditionStr != " Group By")
- {
- conditionStr = conditionStr.Remove(conditionStr.Length - 1, 1);
- sqlStr = sqlStr + conditionStr;
- }
-
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- //查询医保平台数据
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- //组织医保平台data入参
- JObject joData = new JObject();
- JArray jaData = JArray.Parse(JsonHelper.getDestValue(joRtn,"result.data"));
- for (int j = 0; j < jaData.Count; j++)
- {
- }
- if (jaData.Count != 0)
- {
- joData.Add("data",jaData);
- }
- //组织HIS入参
- JObject joHis = new JObject();
- joHis.Add("condition", joCondition);
- joHis.Add("data", jaData);
- JObject joInpar = JsonHelper.setIrisInpar("09030053", joHis);
- joInpar.Add("hisHospID", Global.inf.hisHospitalDr);
- joRtn = invoker.invokeHISService(joInpar.ToString(), "HIS与医保结算数据比对");
- if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
- {
- MessageBox.Show(errMsg);
- return;
- }
- //返参显示到DGV
- DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- dgvHisAndInsuCheck.DataSource = dt;
- uiTabControl3.SelectedIndex = 0;
- }
- private void tsmLocalInsuSetlData_Click(object sender, EventArgs e)
- {
- DataTable dtInteface = (DataTable)cbInterface_Local.DataSource;
- int i = cbInterface_Local.SelectedIndex;
- string errMsg = "";
- DataTable dtSetlSum = (DataTable)dgvHisAndInsuCheck.DataSource;
- int k = dgvHisAndInsuCheck.SelectedIndex;
- string sqlStr = "select CAST(recordID AS CHAR(10)) recordID,CAST(billID AS CHAR(10)) billID,SettlementID setlID, sumamt sumamt, FundPaySumamt fundPay, AccountPaySumamt accountPay,admType,Interface_Dr,ValidFlag,BillType ";
- sqlStr = sqlStr + ", PersonCashPay cashPay, HospitalPartAmount ";
- sqlStr = sqlStr + "hospitalPartAmount ";
- string conditionStr = " FROM SQLUser.BS_MedInsuSettlement where 1=1 ";
- if (cbgLocal.GetItemCheckState(0))
- {
- sqlStr = sqlStr + ",Interface_Dr interfaceDr ";
- conditionStr = conditionStr + " and Interface_Dr =" + dtSetlSum.Rows[k]["interfaceDr"].ToString();;
- }
- if (cbgLocal.GetItemCheckState(1))
- {
- conditionStr = conditionStr + " and AdmType=" + dtSetlSum.Rows[k]["AdmType"].ToString();
- }
- if (cbgLocal.GetItemCheckState(2))
- {
- string insuAreaCondition = "";
- if (dtSetlSum.Rows[k]["divCode"].ToString() == "CityBJ")
- {
- insuAreaCondition = "and substr(InsuranceAreaCode,1,4) ='5201'";
- }
- if (dtSetlSum.Rows[k]["divCode"].ToString() == "ProBJ")
- {
- insuAreaCondition = " and substr(InsuranceAreaCode,1,4) ='5299'";
- }
- if (dtSetlSum.Rows[k]["divCode"].ToString() == "OtherCity")
- {
- insuAreaCondition = " and ((substr(InsuranceAreaCode,1,2) ='52') and (substr(InsuranceAreaCode,1,4) <>'5201') and (substr(InsuranceAreaCode,1,4) <>'5299'))";
- }
- if (dtSetlSum.Rows[k]["divCode"].ToString() == "OtherPro")
- {
- insuAreaCondition = " and substr(InsuranceAreaCode,1,2) <>'52'";
- }
- conditionStr = conditionStr + insuAreaCondition;
- }
- conditionStr = conditionStr + " and SettlementDateTime>'" + dpST_Local.Text + "'";
- conditionStr = conditionStr + " and SettlementDateTime<'" + dpED_Local.Text + "'";
- if (cbInterface_Local.Text != "")
- {
- conditionStr = conditionStr + " and Interface_Dr =" + dtInteface.Rows[i]["ID"].ToString();
- }
- if (cbAdmType.SelectedIndex != 2)
- {
- string admType = "0";
- if (cbAdmType.SelectedIndex == 0) admType = "1";
- if (cbAdmType.SelectedIndex == 0) admType = "2";
- conditionStr = conditionStr + " and AdmType ='" + admType + "'";
- }
- if (cbDivision.SelectedIndex != 4)
- {
- string insuAreaCondition = "";
- if (cbDivision.SelectedIndex == 0) insuAreaCondition = "and substr(InsuranceAreaCode,1,4) ='5201'";
- if (cbDivision.SelectedIndex == 1) insuAreaCondition = " and substr(InsuranceAreaCode,1,4) ='5299'";
- if (cbDivision.SelectedIndex == 2) insuAreaCondition = " and substr(InsuranceAreaCode,1,2) <>'52'";
- if (cbDivision.SelectedIndex == 3) insuAreaCondition = " and ((substr(InsuranceAreaCode,1,2) ='52') and (substr(InsuranceAreaCode,1,4) <>'5201') and (substr(InsuranceAreaCode,1,4) <>'5299'))";
- conditionStr = conditionStr + insuAreaCondition;
- }
- //conditionStr = conditionStr.Remove(conditionStr.Length - 1, 1);
- //ValidFlag=1 and BillType=1 表示正常结算记录 ValidFlag=0 and BillType=-1 表示退费记录 ValidFlag=0表示无效记录
- if (cbValidFlag.SelectedIndex != 2)
- {
- if (cbValidFlag.SelectedIndex == 0)
- conditionStr = conditionStr + " and ValidFlag =1";
- else
- conditionStr = conditionStr + " and ValidFlag =0";
- }
- if (cbBillType.SelectedIndex != 2)
- {
- if (cbBillType.SelectedIndex == 0)
- conditionStr = conditionStr + " and BillType =1";
- else
- conditionStr = conditionStr + " and BillType =-1";
- }
- sqlStr = sqlStr + conditionStr;
- JObject joSqlstr = new JObject();
- joSqlstr.Add("sqlStr", sqlStr);
- //查询医保平台数据
- JObject joRtn = mIS.DynamicQuerySettlInfo(joSqlstr);
- if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
- {
- MessageBox.Show(errMsg);
- return;
- }
- //返参显示到DGV
- DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
- dgvInsuSettlData.DataSource = dt;
- uiTabControl3.SelectedIndex = 2;
- }
- private void tsmLocalHisSetlData_Click(object sender, EventArgs e)
- {
- string errMsg;
- DataTable dtInteface = (DataTable)cbInterface_Local.DataSource;
- int i = cbInterface_Local.SelectedIndex;
- DataTable dtSetlSum = (DataTable)dgvHisAndInsuCheck.DataSource;
- int k = dgvHisAndInsuCheck.SelectedIndex;
- JObject joHis = new JObject();
- joHis.Add("areaCode", "520100");
- if (cbgLocal.GetItemCheckState(0))
- {
- joHis.Add("interfaceDr", dtSetlSum.Rows[k]["interfaceDr"].ToString());
- }
- if (cbgLocal.GetItemCheckState(1))
- {
- joHis.Add("admType", dtSetlSum.Rows[k]["AdmType"].ToString());
- }
- if (cbgLocal.GetItemCheckState(2))
- {
- joHis.Add("divCode", dtSetlSum.Rows[k]["divCode"].ToString());
- }
- joHis.Add("beginDate", dpST_Local.Text);
- joHis.Add("endDate", dpED_Local.Text);
- ////
- if ((cbInterface_Local.Text != "") && (!cbgLocal.GetItemCheckState(0)))
- {
- joHis.Add("interfaceDr", dtInteface.Rows[i]["ID"].ToString());
- }
- if ((cbAdmType.SelectedIndex != 2)&& (!cbgLocal.GetItemCheckState(1)))
- {
- string admType = "0";
- if (cbAdmType.SelectedIndex == 0) admType = "1";
- if (cbAdmType.SelectedIndex == 1) admType = "2";
- joHis.Add("admType", admType);
- }
- if ((cbDivision.SelectedIndex != 4)&& (!cbgLocal.GetItemCheckState(2)))
- {
- string divCOde = "";
- if (cbDivision.SelectedIndex == 0) divCOde = "CityBJ";
- if (cbDivision.SelectedIndex == 1) divCOde = "ProBJ";
- if (cbDivision.SelectedIndex == 2) divCOde = "OtherCity";
- if (cbDivision.SelectedIndex == 3) divCOde = "OtherPro";
- joHis.Add("divCode", divCOde);
- }
- //conditionStr = conditionStr.Remove(conditionStr.Length - 1, 1);
- //ValidFlag=1 and BillType=1 表示正常结算记录 ValidFlag=0 and BillType=-1 表示退费记录 ValidFlag=0表示无效记录
- if (cbValidFlag.SelectedIndex != 2)
- {
- if (cbValidFlag.SelectedIndex == 0)
- {
- joHis.Add("validFlag", 1);
- }
- else
- {
- joHis.Add("validFlag", 0);
- }
- }
- //查询医保平台数据
- JObject joInpar = JsonHelper.setIrisInpar("09030054", joHis);
- joInpar.Add("hisHospID", Global.inf.hisHospitalDr);
- JObject joRtn = invoker.invokeHISService(joInpar.ToString(), "HIS医保结算数据明细查询");
- if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
- {
- MessageBox.Show(errMsg);
- return;
- }
- //返参显示到DGV
- DataTable dt = (DataTable)joRtn["result"].ToObject(typeof(DataTable));
- dgvHisSetlData.DataSource = dt;
- uiTabControl3.SelectedIndex = 1;
- }
- private void uiGroupBox14_Click(object sender, EventArgs e)
- {
- }
- private void tsmReversal_Click(object sender, EventArgs e)
- {
- DataTable dt = (DataTable)dgvHisSettlRec.DataSource;
- string errorMessage = "";
- int a = dgvHisSettlRec.CurrentRow.Index;
- Global.pat.insuplc_admdvs = dt.Rows[a]["InsuranceAreaCode"].ToString();
- Global.pat.mdtrtID = dt.Rows[a]["MdtrtID"].ToString();
- Global.pat.psn_no = dt.Rows[a]["PersonnelNO"].ToString();
- Global.pat.adm_Dr = int.Parse(dt.Rows[a]["Adm_Dr"].ToString());
- Global.pat.settlID = dt.Rows[a]["SettlementID"].ToString();
- Global.pat.medType = dt.Rows[a]["MedicalType"].ToString();
- hBus.setPrmBatch();
- JObject joInparam = new JObject();
- //string infno = "";
- //if (dt.Rows[a]["admType"].ToString() == "1") infno = "2207";
- //if (dt.Rows[a]["admType"].ToString() == "2") infno = "2304";
- JObject joData = new JObject();
- String msgID = dt.Rows[a]["msgid"].ToString();
- joData.Add("omsgid", msgID);
- joData.Add("prm_aac001", dt.Rows[a]["PersonnelNO"].ToString());
- joData.Add("prm_akc190", Global.pat.mdtrtID);
- joData.Add("prm_yka103", Global.pat.settlID);
- joData.Add("prm_yabtch", Global.pat.patExtend.prm_yabtch);//没有取清算机构
- Global.writeLog($"joData:{joData}");
- //将中心返回的结果返回HIS 调用HIS服务进行保存
- string funNO = "H7103";
- if (dt.Rows[a]["ClearingOrgan"].ToString() == "9902") funNO = "H7106";
- //冲正是一个不可逆操作,询问操作员是否确定继续
- // 显示一个带有“是”和“否”按钮的消息框
- DialogResult userAnswer = MessageBox.Show("注意:该操作不可逆,如操作错误可能导致医院利益受损,您确定要继续吗?", "确认继续", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
- if (userAnswer != DialogResult.Yes)
- {
- // 用户选择了“是”,在这里执行你要进行的操作
- MessageBox.Show("用户选择了继续操作!");
- return;
- }
- if (invoker.invokeYHCom(funNO, joData, out errorMessage) != 0)
- {
- MessageBox.Show("冲正失败:" + errorMessage);
- }
- else
- {
- dynamic joTmp = new JObject();
- joTmp.admID = Global.pat.adm_Dr;
- joTmp.PersonalNO = Global.pat.psn_no;
- joTmp.mdtrt_id = Global.pat.mdtrtID;
- joTmp.setl_id = Global.pat.settlID;
- if (mIS.cancleSettlement(Global.pat.settlID, out errorMessage) != 0)
- {
- errorMessage = "中心取消结算成功但云HIS平台取消失败,请联系管理员!" + errorMessage;
- MessageBox.Show(errorMessage);
- }
- else
- {
- MessageBox.Show("冲正成功");
- }
- }
- }
- private void btnClose_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void dgvHisSettlRec_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
- {
- int j = e.RowIndex;
- string settlementID = dgvHisSettlRec.Rows[j].Cells["SettlementID"].Value.ToString();
- string validFlag = dgvHisSettlRec.Rows[j].Cells["ValidFlag"].Value.ToString();
- string billType = dgvHisSettlRec.Rows[j].Cells["BillType"].Value.ToString();
- string recordID = dgvHisSettlRec.Rows[j].Cells["RecordID"].Value.ToString();
- string exist = dgvHisSettlRec.Rows[j].Cells["Exist"].Value.ToString();
- //N 正常;A 作废;S 红冲;TP 预结算;BS 已红冲
- string status = dgvHisSettlRec.Rows[j].Cells["status"].Value.ToString();
- if ((validFlag == "1") && (status != "N"))
- {
- dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- }
- if (exist != "存在")
- {
- if (recordID == "")
- {
- dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Orange;
- }
- else
- {
- dgvHisSettlRec.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- }
- }
- }
- private void dgvCenterSettlRec_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
- {
- int i = e.RowIndex;
- string stmt_rslt = dgvCenterSettlRec.Rows[i].Cells["stmt_rslt"].Value.ToString();
- if (stmt_rslt == "101")
- {
- dgvCenterSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
- }
- if (stmt_rslt == "102")
- {
- dgvCenterSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
- }
- if (stmt_rslt == "103")
- {
- dgvCenterSettlRec.Rows[i].DefaultCellStyle.BackColor = Color.Orange;
- }
- }
- private void tsmAICheck_Click_1(object sender, EventArgs e)
- {
- }
- private void uiButton1_Click_1(object sender, EventArgs e)
- {
- Close();
- }
- private void btnClose_2_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void uiButton4_Click(object sender, EventArgs e)
- {
- Close();
- }
- private void dgvOthCheck_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
- {
- int j = e.RowIndex;
- string settlementID = dgvOthCheck.Rows[j].Cells["SettlementID"].Value.ToString();
- string validFlag = dgvOthCheck.Rows[j].Cells["ValidFlag"].Value.ToString();
- string billType = dgvOthCheck.Rows[j].Cells["BillType"].Value.ToString();
- string recordID = dgvOthCheck.Rows[j].Cells["RecordID"].Value.ToString();
- string exist = dgvOthCheck.Rows[j].Cells["Exist"].Value.ToString();
- //N 正常;A 作废;S 红冲;TP 预结算;BS 已红冲
- string status = dgvOthCheck.Rows[j].Cells["status"].Value.ToString();
- if ((validFlag == "1") && (status != "N"))
- {
- dgvOthCheck.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- }
- if (exist != "存在")
- {
- if (recordID == "")
- {
- dgvOthCheck.Rows[j].DefaultCellStyle.BackColor = Color.Orange;
- }
- else
- {
- dgvOthCheck.Rows[j].DefaultCellStyle.BackColor = Color.Yellow;
- }
- }
- }
- }
- }
|