using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PTMedicalInsurance;
using PTMedicalInsurance.Business;
using PTMedicalInsurance.Common;
using PTMedicalInsurance.Forms;
using PTMedicalInsurance.FormSetter;
using PTMedicalInsurance.Helper;
using PTMedicalInsurance.Variables;
namespace MedicalInsurance.Forms
{
public partial class MutualAid : Form
{
public DataTable dtSumumt;
public DataTable dtSettlInfo;
public string settlementID;
public string finalSettlementInfo;
int numbersOfMutualAid = 1;
private MIIrisServices iris = new MIIrisServices();
InvokeHelper invoker = new InvokeHelper();
public string relation; //亲属关系
public string set_flag; //结算标志 预结正结标志
public string mutualAidPay; //共济金额
private string oldAreaCode = "";
private int oldInterfaceDr = 0;
private string oldMdtrtID = "";
private string oldSetleID = "";
private void CacheVariables()
{
// 共济可能会同时使用不同的医保接口类型,此时由共济选择后指定
Global.curEvt.MustConvertURL = false;
oldAreaCode = Global.inf.areaCode;
oldInterfaceDr = Global.inf.interfaceDr;
oldMdtrtID = Global.pat.mdtrtID;
oldSetleID = Global.pat.settlID;
}
private void RestoreVariables()
{
Global.curEvt.MustConvertURL = true;
Global.inf.areaCode = oldAreaCode;
Global.inf.interfaceDr = oldInterfaceDr;
Global.pat.insuplc_admdvs = Global.inf.areaCode;
Global.pat.mdtrtID = oldMdtrtID;
Global.pat.settlID = oldSetleID;
}
public MutualAid(JObject jo)
{
InitializeComponent();
GridViewSetter grdSetter = new GridViewSetter();
grdSetter.SetHeaderTextOfDgvMutualAidSettleInfo(dgvSettlInfo);
grdSetter.SetHeaderTextOfDgvMutualAidSumamtInfo(dgvSumamt);
settlementID = JsonHelper.getDestValue(jo, "setl_id") ;
string errMsg;
getSettlInfo(out errMsg);
getSumamtInfo(out errMsg);
CacheVariables();
}
public MutualAid(string settlId)
{
InitializeComponent();
GridViewSetter grdSetter = new GridViewSetter();
grdSetter.SetHeaderTextOfDgvMutualAidSettleInfo(dgvSettlInfo);
grdSetter.SetHeaderTextOfDgvMutualAidSumamtInfo(dgvSumamt);
settlementID =settlId;
string errMsg;
getSettlInfo(out errMsg);
getSumamtInfo(out errMsg);
// 共济可能会同时使用不同的医保接口类型,此时由共济选择后指定
CacheVariables();
}
#region 方法封装
//获取结算汇总信息
private int getSumamtInfo(out string errMsg)
{
errMsg = "";
try
{
string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr + " AND SettlementID='" + settlementID + "'";
JObject joSqlStr = new JObject();
joSqlStr.Add("sqlStr", sqlStr);
JObject joRtn = iris.QuerySettlementInfo(joSqlStr);
dtSumumt = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
decimal accountPay=0, mutualAidPay = 0;
for (int i = 1; i < dtSettlInfo.Rows.Count; i++)
{
int billType = int.Parse(dtSettlInfo.Rows[i]["BillType"].ToString());
accountPay = accountPay + decimal.Parse(dtSettlInfo.Rows[i]["AccountPaySumamt"].ToString()) * billType;
mutualAidPay = mutualAidPay + decimal.Parse(dtSettlInfo.Rows[i]["AccountMutualAidAmount"].ToString()) * billType;
if (billType==1)
{ numbersOfMutualAid++; }
else
{
dgvSettlInfo.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
}
}
dgvSettlInfo.Refresh();
dtSumumt.Rows[0]["AccountPaySumamt"] = decimal.Parse(dtSumumt.Rows[0]["AccountPaySumamt"].ToString()) + accountPay;
dtSumumt.Rows[0]["PersonCashPay"] = decimal.Parse(dtSumumt.Rows[0]["PersonCashPay"].ToString()) - accountPay;
dtSumumt.Rows[0]["AccountMutualAidAmount"] = accountPay;
dgvSumamt.DataSource = dtSumumt;
dgvSettlInfo.SelectedIndex = dgvSettlInfo.Rows.Count - 1;
return 0;
}
catch (Exception e)
{
errMsg = e.Message;
return 1;
}
}
//获取多次结算信息
private int getSettlInfo(out string errMsg)
{
errMsg = "";
try
{
string sqlStr = "SELECT * FROM BS_MedInsuSettlement WHERE Hospital_Dr=" + Global.inf.hospitalDr + " AND MainSettlementIDOfMutualAid='" + settlementID + "'";
JObject joSqlStr = new JObject();
joSqlStr.Add("sqlStr", sqlStr);
JObject joRtn = iris.QuerySettlementInfo(joSqlStr);
dtSettlInfo = (DataTable)JsonConvert.DeserializeObject(joRtn["result"]["data"].ToString(), (typeof(DataTable)));
dgvSettlInfo.DataSource = dtSettlInfo;
return 0;
}
catch (Exception e)
{
errMsg = e.Message;
return 1;
}
}
//中心共济结算
private int mutualAid(string patInfo, out string output)
{
output = "";
string mPsnNO,mCertType, mCertNO, mInsutype;
dynamic joExpContent = new JObject();
try
{
JObject jo1101 = JObject.Parse(patInfo);
JObject joBaseInfo = JObject.FromObject(jo1101["output"]["baseinfo"]);
JObject joSelectedInsuInfo = JObject.FromObject(jo1101["selectedInsuInfo"]);
JObject joComInfo = JObject.FromObject(jo1101["comInfo"]);
mPsnNO = joBaseInfo["psn_no"].ToString();
mCertType = joComInfo["mdtrt_cert_type"].ToString();
mCertNO = joComInfo["mdtrt_cert_no"].ToString();
mInsutype = joSelectedInsuInfo["insutype"].ToString();
Global.pat.insuplc_admdvs = JsonHelper.getDestValue(joSelectedInsuInfo, "insuplc_admdvs");
joExpContent.card_token = Global.pat.card.Cardtoken;
//弹出共济结算选择框
//组织入参
JObject joData = new JObject();
joData.Add("psn_no", mPsnNO); //人员编号
joData.Add("mdtrt_cert_type", mCertType); //就诊凭证类型
joData.Add("mdtrt_cert_no",mCertNO); //就诊凭证编号
joData.Add("insutype", mInsutype); //险种
joData.Add("acct_mulaid_pay", mutualAidPay); //个人账户共济支付金额
joData.Add("ima_mdtrt_id", dtSettlInfo.Rows[0]["MdtrtID"].ToString()); //原主交易就诊ID
joData.Add("ima_setl_id", dtSettlInfo.Rows[0]["SettlementID"].ToString()); //原主交易结算ID
joData.Add("ima_certno", dtSettlInfo.Rows[0]["CertificateNO"].ToString()); //原主交易证件号码
joData.Add("ima_med_type", dtSettlInfo.Rows[0]["MedicalType"].ToString()); //原主交易医疗类别
joData.Add("ima_medfee_sumamt", dtSettlInfo.Rows[0]["Sumamt"].ToString()); //原主交易医疗费总额
joData.Add("ima_fund_pay_sumamt", dtSettlInfo.Rows[0]["FundPaySumamt"].ToString()); //原主交易基金支付总额
joData.Add("ima_acct_pay", dtSettlInfo.Rows[0]["AccountPaySumamt"].ToString()); //原主交易个人账户支出
joData.Add("ima_psn_cash_pay", dtSettlInfo.Rows[0]["PersonCashPay"].ToString()); //原主交易个人现金支出
joData.Add("ima_psn_no", dtSettlInfo.Rows[0]["PersonnelNO"].ToString()); //原主交易个人编号
joData.Add("ima_psn_name", dtSettlInfo.Rows[0]["PatientName"].ToString()); //原主交易人员姓名
joData.Add("relation", relation); //亲属关系
joData.Add("set_flag", set_flag); //结算标志
joData.Add("expContent", joExpContent); //字段扩展
JObject joInput = new JObject();
joInput.Add("data",joData);
//调用中心结算
JObject joRtn = invoker.invokeCenterService(TradeEnum.MutualAidPay, joInput);
//保存中心返回的结果
if (JsonHelper.parseCenterReturnJson(joRtn, out output) != 0)
{
return -1;
}
else
{
output = joRtn.ToString();
return 0;
}
}
catch (Exception e)
{
output = e.Message;
return 1;
}
}
//撤销中心共济结算
private int cancleMutualAid(out string errMsg)
{
errMsg = "";
try
{
int i = dgvSettlInfo.SelectedIndex;
if ((dtSettlInfo.Rows[i]["MutualAidFlag"].ToString() == "") || (dtSettlInfo.Rows[i]["MutualAidFlag"].ToString() == "0"))
{
errMsg = "当前结算无共济支付信息!";
return -1;
}
else if (int.Parse(dtSettlInfo.Rows[i]["MutualAidFlag"].ToString()) == 1)
{
errMsg = "当前结算为主结算,请选择正确的共济支付结算!";
return -1;
}
if (dtSettlInfo.Rows[i]["InterfaceDr"].ToString() == "38")
{
Global.curEvt.URL = @"http://10.109.103.59:8080/mss/web/api/fsi/callService";
Global.inf.areaCode = "519900";
}
if (dtSettlInfo.Rows[i]["InterfaceDr"].ToString() == "37")
{
Global.curEvt.URL = @"http://10.109.103.61:8080/mss/web/api/fsi/callService";
Global.inf.areaCode = "510106";
}
Global.pat.insuplc_admdvs = dtSettlInfo.Rows[i]["insuplc_admdvs"].ToString();
//组织入参
dynamic joTmp = new JObject();
joTmp.mdtrt_id = dtSettlInfo.Rows[i]["MdtrtID"].ToString();
joTmp.psn_no = dtSettlInfo.Rows[i]["PersonnelNO"].ToString();
joTmp.setl_id = dtSettlInfo.Rows[i]["SettlementID"].ToString();
joTmp.expContent = "";
JObject joData = new JObject();
joData.Add("data", joTmp);
JObject joRtn = invoker.invokeCenterService(TradeEnum.MutualAidCancel, joData);
//将中心返回的结果返回HIS 调用HIS服务进行保存
if (JsonHelper.parseCenterReturnJson(joRtn, out errMsg) != 0)
{
return -1;
}
else
{
errMsg = joRtn.ToString();
dgvSettlInfo.SelectedIndex = dgvSettlInfo.Rows.Count - 1;
return 0;
}
}
catch (Exception e)
{
errMsg = e.Message;
return -1;
}
}
//保存到云医保平台
private int saveMutualAidSettlementToCloudPlatform(string patInfo,string centerReturn,out string errMsg)
{
errMsg = "";
try
{
//返回给云医保平台
JObject joCenterRtn = JObject.Parse(centerReturn);
JObject joSetlinfo = JObject.Parse(JsonHelper.getDestValue(joCenterRtn, "output.result"));
JObject joPatInfo= JObject.Parse(patInfo);
//以下节点中心不返回,传给后台保存的值为空,手工置为0
joSetlinfo.Add("cvlserv_pay", 0);
joSetlinfo.Add("hifdm_pay", 0);
joSetlinfo.Add("hifmi_pay", 0);
joSetlinfo.Add("act_pay_dedc", 0);
joSetlinfo.Add("acct_mulaid_pay", 0);
joSetlinfo.Add("oth_pay", 0);
joSetlinfo.Add("hifes_pay", 0);
joSetlinfo.Add("fund_pay_sumamt", 0);
joSetlinfo.Add("fulamt_ownpay_amt", 0);
joSetlinfo.Add("hosp_part_amt", 0);
joSetlinfo.Add("inscp_scp_amt", 0);
joSetlinfo.Add("maf_pay", 0);
joSetlinfo.Add("psn_part_amt", 0);
joSetlinfo.Add("pool_prop_selfpay", 0);
joSetlinfo.Add("hifp_pay", 0);
joSetlinfo.Add("overlmt_selfpay", 0);
joSetlinfo.Add("preselfpay_amt", 0);
//
joSetlinfo.Add("HospitalDr", Global.inf.hospitalDr);
joSetlinfo.Add("admID", dtSettlInfo.Rows[0]["AdmID"].ToString());
joSetlinfo.Add("ValidFlag", 1);
joSetlinfo.Add("BillType", 1);
joSetlinfo.Add("updateUserID", Global.user.ID);
joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joSetlinfo.Add("billID", dtSettlInfo.Rows[0]["BillID"].ToString());
joSetlinfo.Add("recordID", dtSettlInfo.Rows[0]["RecordID"].ToString());
joSetlinfo.Add("msgid", Global.curEvt.msgid);
joSetlinfo.Add("interfaceDr", Global.inf.interfaceDr);
joSetlinfo.Add("admType", dtSettlInfo.Rows[0]["admType"].ToString());
joSetlinfo.Add("insuplc_admdvs",JsonHelper.getDestValue(joPatInfo, "selectedInsuInfo.insuplc_admdvs"));
joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSettlInfo.Rows[0]["SettlementID"].ToString());
numbersOfMutualAid++;
joSetlinfo.Add("MutualAidFlag", numbersOfMutualAid);
dynamic joTmp = new JObject();
joTmp.code = "09010051";
JArray jaTmp = new JArray();
jaTmp.Add(joSetlinfo);
joTmp.Add("params", jaTmp);
JObject joRtn = invoker.invokeInsuService(joTmp.ToString(), "插入结算信息");
if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
{
return -1;
}
JObject joSetlDetail = new JObject();
joSetlDetail.Add("HospitalDr", Global.inf.hospitalDr);
joSetlDetail.Add("InterfaceDr", Global.inf.interfaceDr);
joSetlDetail.Add("MdtrtID", JsonHelper.getDestValue(joCenterRtn, "output.result.mdtrt_id"));
joSetlDetail.Add("SettlementID", JsonHelper.getDestValue(joSetlinfo, "setl_id"));
joSetlDetail.Add("AdmID", dtSettlInfo.Rows[0]["AdmID"].ToString());
joSetlDetail.Add("updateUserID", Global.user.ID);
JArray jaSetlDetail = JArray.Parse(JsonHelper.getDestValue(joCenterRtn, "output.setldetail"));
joSetlDetail.Add("setldetail", jaSetlDetail);
joTmp = new JObject();
joTmp.code = "09010056";
jaTmp = new JArray();
jaTmp.Add(joSetlDetail);
joTmp.Add("params", jaTmp);
JObject joInsertSetlDetail = invoker.invokeInsuService(joTmp.ToString(), "插入结算明细信息");
if (JsonHelper.parseIrisRtnValue(joInsertSetlDetail, out errMsg) != 0)
{
MessageBox.Show("插入结算明细信息:" + errMsg);
}
return 0;
}
catch (Exception e)
{
errMsg = e.Message;
return -1;
}
}
///
/// 撤销云平台结算信息
///
///
///
private int cancleMutualAidOfCloudPlatform(string centerReturn,out string errMsg)
{
errMsg = "";
try
{
int i = dgvSettlInfo.SelectedIndex;
dynamic joTmp = new JObject();
Global.pat.adm_Dr = int.Parse(dtSettlInfo.Rows[i]["AdmID"].ToString());
joTmp.PersonalNO = dtSettlInfo.Rows[i]["PersonnelNO"].ToString();
Global.pat.mdtrtID = dtSettlInfo.Rows[i]["MdtrtID"].ToString();
Global.pat.settlID = dtSettlInfo.Rows[i]["SettlementID"].ToString();
JObject joCenterRtn = JObject.Parse(centerReturn);
string newSetlId = JsonHelper.getDestValue(joCenterRtn,"output.result.setl_id");
int ret = iris.cancleSettlement(newSetlId,out errMsg);
if (ret != 0)
{
return -1;
}
else
{
return 0;
}
}
catch (Exception e)
{
errMsg = e.Message;
return -1;
}
}
///
/// 获取最终的结算信息,返回给HIS。无论共济多少次,返回给HIS的只有这一条。
///
///
///
private int getFinalSettlementInfo(out string output)
{
output = "";
try
{
JObject joCenterRtn = new JObject();
JObject joSetlinfo = JObject.Parse(JsonHelper.getDestValue(joCenterRtn, "output.result"));
joSetlinfo.Add("HospitalDr", Global.inf.hospitalDr);
joSetlinfo.Add("admID", dtSettlInfo.Rows[0]["Adm_Dr"].ToString());
joSetlinfo.Add("ValidFlag", 1);
joSetlinfo.Add("BillType", 1);
joSetlinfo.Add("updateUserID", Global.user.ID);
joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joSetlinfo.Add("billID", dtSettlInfo.Rows[0]["BillID"].ToString());
joSetlinfo.Add("recordID", dtSettlInfo.Rows[0]["RecordID"].ToString());
joSetlinfo.Add("msgid", Global.curEvt.msgid);
joSetlinfo.Add("interfaceDr", Global.inf.interfaceDr);
joSetlinfo.Add("admType", dtSettlInfo.Rows[0]["admType"].ToString());
joSetlinfo.Add("insuplc_admdvs", Global.pat.insuplc_admdvs);
joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSettlInfo.Rows[0]["SettlementID"].ToString());
joSetlinfo.Add("MutualAidFlag", numbersOfMutualAid);
output = joSetlinfo.ToString();
return 0;
}
catch (Exception e)
{
output = e.Message;
return -1;
}
}
#endregion
private void btMutualAid_Click(object sender, EventArgs e)
{
string errMsg = "";
try
{
//读卡
string patInfo, funNO = "S2101";
//if (dtSettlInfo.Rows[0]["admType"].ToString() == "2")
//{
// funNO = "1101";
//}
Global.businessType = "01301"; //结算
MutualAidChooser frm = new MutualAidChooser();
if (frm.ShowDialog() == DialogResult.OK)
{
mutualAidPay = frm.mutualAidPay;
relation = frm.relation;
set_flag = frm.set_flag;
int i = frm.cbxInterface.SelectedIndex;
DataTable dtInteface = (DataTable)frm.cbxInterface.DataSource;
Global.curEvt.URL = dtInteface.Rows[i]["CenterURL"].ToString();
Global.inf.areaCode = dtInteface.Rows[i]["AreaCode"].ToString();
Global.inf.interfaceDr = int.Parse(dtInteface.Rows[i]["ID"].ToString());
}
else
{
MessageBox.Show("收款员取消共济结算!");
return;
}
if (MutualAidReadCard(funNO, out patInfo, Global.curEvt.URL) != 0)
{
MessageBox.Show(patInfo);
return;
}
//中心共济结算
string centerReturn;
if (mutualAid(patInfo, out centerReturn) != 0)
{
MessageBox.Show(centerReturn);
return;
}
//保存到医保平台
if (saveMutualAidSettlementToCloudPlatform(patInfo, centerReturn, out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
//刷新结算信息显示
if (getSettlInfo(out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
//刷新汇总信息显示
if (getSumamtInfo(out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
else
{
MessageBox.Show("共济结算成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
///
/// 共济读卡
///
///
public int MutualAidReadCard(string funNO, out string outParam, string centerUrl)
{
outParam = "";
JObject joSignRtn = new JObject();
if (!iris.isSigned(ref Global.curEvt.signno))
{
CallResult ret = new SignInProcess().Process(joSignRtn);
Global.writeLog("共济签到:" + ret.Data);
}
else {
Global.writeLog("收费员已签到!");
}
//if (!ret.Success)
//{
// outParam = ret.Data;
// return -1;
//}
//else
//{
// Global.writeLog(ret.Data);
//}
try
{
YinHaiSafeCtrl safeCtrl = new YinHaiSafeCtrl();
if (safeCtrl.Prepare(TradeEnum.PatientInfo.GetCode(), out outParam) != 0)
{
outParam = JsonHelper.setExceptionJson(-1,"调用安全控件", outParam).ToString();
return -1;
}
JObject jodata = JObject.Parse(outParam);
dynamic joInput_1101 = new JObject();
dynamic joTmp = new JObject();
joTmp.mdtrt_cert_type = jodata["mdtrt_cert_type"].ToString();
joTmp.mdtrt_cert_no = jodata["mdtrt_cert_no"].ToString();
joTmp.card_sn = jodata["card_sn"].ToString();
joTmp.begntime = "";
joTmp.psn_cert_type = jodata["psn_cert_type"].ToString();
joTmp.certno = jodata["certno"].ToString();
joTmp.psn_name = jodata["psn_name"].ToString();
dynamic joExpContent = new JObject();
joExpContent.card_token = jodata["card_token"].ToString();
joTmp.Add("expContent", JObject.FromObject(joExpContent));
joInput_1101.Add("data", JObject.FromObject(joTmp));
JObject joCenterServiceRtn = invoker.invokeCenterService(TradeEnum.PatientInfo, joInput_1101);
if (joCenterServiceRtn["infcode"].ToString() != "0")
{
outParam = "调用1101失败! ";
return -1;
}
else
{
string output = joCenterServiceRtn["output"].ToString();
//展示信息界面
JObject joOutput = JObject.Parse(output);
//编码转换
JArray jaConvertCode = new JArray();
JObject joConvertCodeParam = new JObject();
joConvertCodeParam.Add("hospitalDr", Global.inf.hospitalDr);
joConvertCodeParam.Add("interfaceDr", Global.inf.interfaceDr);
joConvertCodeParam.Add("output", joOutput);
jaConvertCode.Add(joConvertCodeParam);
JObject joConvertCode = new JObject();
joConvertCode.Add("code", "09010054");
joConvertCode.Add("params", jaConvertCode);
InvokeHelper invoker = new InvokeHelper();
JObject joConvertCodeRtn = invoker.invokeInsuService(joConvertCode.ToString(), "患者信息编码转换");
// insuinfo保持转换之前的
JArray jaInsuInfo = JArray.Parse(JsonHelper.getDestValue(joOutput, "insuinfo"));
JArray jaIdInfo = JArray.Parse(JsonHelper.getDestValue(joConvertCodeRtn, "idetinfo"));
JObject jaBaseInfo = JObject.Parse(JsonHelper.getDestValue(joConvertCodeRtn, "baseinfo"));
joOutput["baseinfo"] = jaBaseInfo;
PatientInsuInfo frmPatientInfo = new PatientInsuInfo(joConvertCodeRtn);
//相关信息转换到登记面板
if (frmPatientInfo.ShowDialog() == DialogResult.OK)
{
JObject joSelectedInsuInfo = (JObject)jaInsuInfo[frmPatientInfo.insuInfoIndex];
joCenterServiceRtn.Property("output").AddBeforeSelf(new JProperty("selectedInsuInfo", joSelectedInsuInfo));
joCenterServiceRtn.Property("output").AddBeforeSelf(new JProperty("comInfo", jodata));
Global.writeLog("joCenterServiceRtn:" + joCenterServiceRtn.ToString());
}
else
{
outParam = JsonHelper.setExceptionJson(-1, "读卡", "收款员取消读卡").ToString();
return -1;
}
}
outParam = joCenterServiceRtn.ToString();
Global.writeLog("MutualAidReadCard", "", outParam);
return 0;
}
catch (Exception ex)
{
outParam = "异常:" + ex.Message;
return -1;
}
}
private void btCancleMutualAid_Click(object sender, EventArgs e)
{
string errMsg = "";
try
{
//撤销中心共济结算
string centerReturn;
if (cancleMutualAid(out centerReturn) != 0)
{
MessageBox.Show(centerReturn);
return;
}
//保存到医保平台
if (cancleMutualAidOfCloudPlatform(centerReturn, out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
//刷新结算信息显示
if (getSettlInfo(out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
//刷新汇总信息显示
if (getSumamtInfo(out errMsg) != 0)
{
MessageBox.Show(errMsg);
return;
}
else
{
MessageBox.Show("撤销共济成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void btYes_Click(object sender, EventArgs e)
{
try
{
JObject joSetlinfo = new JObject();
joSetlinfo.Add("setl_time", dtSumumt.Rows[0]["SettlementTime"].ToString());
joSetlinfo.Add("cvlserv_pay", dtSumumt.Rows[0]["CivilserviceAllowancePay"].ToString());
joSetlinfo.Add("hifdm_pay", dtSumumt.Rows[0]["HealthInsurancePay"].ToString());
joSetlinfo.Add("cvlserv_flag", dtSumumt.Rows[0]["CivilserviceAllowancePay"].ToString());
joSetlinfo.Add("med_type", dtSumumt.Rows[0]["MedicalType"].ToString());
joSetlinfo.Add("brdy", dtSumumt.Rows[0]["BirthDay"].ToString());
joSetlinfo.Add("naty", dtSumumt.Rows[0]["Nation"].ToString());
joSetlinfo.Add("psn_cash_pay", dtSumumt.Rows[0]["PersonCashPay"].ToString());
joSetlinfo.Add("certno", dtSumumt.Rows[0]["CertificateNO"].ToString());
joSetlinfo.Add("hifmi_pay", dtSumumt.Rows[0]["SeriousIllnessPay"].ToString());
joSetlinfo.Add("psn_no", dtSumumt.Rows[0]["PersonnelNO"].ToString());
joSetlinfo.Add("act_pay_dedc", dtSumumt.Rows[0]["ActualPayDeductible"].ToString());
joSetlinfo.Add("mdtrt_cert_type", dtSumumt.Rows[0]["MdtrtCertType"].ToString());
joSetlinfo.Add("balc", dtSumumt.Rows[0]["Balance"].ToString());
joSetlinfo.Add("medins_setl_id", dtSumumt.Rows[0]["OrganSettlementID"].ToString());
joSetlinfo.Add("psn_cert_type", dtSumumt.Rows[0]["CertificateType"].ToString());
joSetlinfo.Add("acct_mulaid_pay", dtSumumt.Rows[0]["AccountMutualAidAmount"].ToString());
joSetlinfo.Add("clr_way", dtSumumt.Rows[0]["ClearingWay"].ToString());
joSetlinfo.Add("hifob_pay", dtSumumt.Rows[0]["LargeExpensesSupplementPay"].ToString());
joSetlinfo.Add("oth_pay", dtSumumt.Rows[0]["OtherPay"].ToString());
joSetlinfo.Add("medfee_sumamt", dtSumumt.Rows[0]["Sumamt"].ToString());
joSetlinfo.Add("hifes_pay", dtSumumt.Rows[0]["EnterpriseSupplementPay"].ToString());
joSetlinfo.Add("gend", dtSumumt.Rows[0]["Gender"].ToString());
joSetlinfo.Add("mdtrt_id", dtSumumt.Rows[0]["MdtrtID"].ToString());
joSetlinfo.Add("acct_pay", dtSumumt.Rows[0]["AccountPaySumamt"].ToString());
joSetlinfo.Add("fund_pay_sumamt", dtSumumt.Rows[0]["FundPaySumamt"].ToString());
joSetlinfo.Add("fulamt_ownpay_amt", dtSumumt.Rows[0]["OwnPayAmount"].ToString());
joSetlinfo.Add("hosp_part_amt", dtSumumt.Rows[0]["HospitalPartAmount"].ToString());
joSetlinfo.Add("setl_id", dtSumumt.Rows[0]["SettlementID"].ToString());
joSetlinfo.Add("inscp_scp_amt", dtSumumt.Rows[0]["InPolicyRangeAmount"].ToString());
joSetlinfo.Add("insutype", dtSumumt.Rows[0]["InsuranceType"].ToString());
joSetlinfo.Add("maf_pay", dtSumumt.Rows[0]["MedicalAssistPay"].ToString());
joSetlinfo.Add("psn_name", dtSumumt.Rows[0]["PatientName"].ToString());
joSetlinfo.Add("psn_part_amt", dtSumumt.Rows[0]["PersonPaySumamt"].ToString());
joSetlinfo.Add("clr_optins", dtSumumt.Rows[0]["ClearingOrgan"].ToString());
joSetlinfo.Add("pool_prop_selfpay", dtSumumt.Rows[0]["HealthInsuranceRatio"].ToString());
joSetlinfo.Add("psn_type", dtSumumt.Rows[0]["PersonType"].ToString());
joSetlinfo.Add("hifp_pay", dtSumumt.Rows[0]["HealthInsurancePay"].ToString());
joSetlinfo.Add("overlmt_selfpay", dtSumumt.Rows[0]["OverLimitAmount"].ToString());
joSetlinfo.Add("preselfpay_amt", dtSumumt.Rows[0]["PreSelfPayAmount"].ToString());
joSetlinfo.Add("age", dtSumumt.Rows[0]["Age"].ToString());
joSetlinfo.Add("clr_type", dtSumumt.Rows[0]["ClearingType"].ToString());
//
joSetlinfo.Add("HospitalDr", Global.inf.hospitalDr);
joSetlinfo.Add("admID", dtSumumt.Rows[0]["AdmID"].ToString());
joSetlinfo.Add("ValidFlag", dtSumumt.Rows[0]["ValidFlag"].ToString());
joSetlinfo.Add("BillType", dtSumumt.Rows[0]["BillType"].ToString());
joSetlinfo.Add("updateUserID", Global.user.ID);
joSetlinfo.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
joSetlinfo.Add("billID", dtSumumt.Rows[0]["BillID"].ToString());
joSetlinfo.Add("recordID", dtSumumt.Rows[0]["RecordID"].ToString());
joSetlinfo.Add("msgid", dtSumumt.Rows[0]["msgid"].ToString());
joSetlinfo.Add("interfaceDr", dtSumumt.Rows[0]["InterfaceDr"].ToString());
joSetlinfo.Add("admType", dtSumumt.Rows[0]["admType"].ToString());
joSetlinfo.Add("insuplc_admdvs", dtSumumt.Rows[0]["AccountPaySumamt"].ToString());
joSetlinfo.Add("MainSettlementIDOfMutualAid", dtSumumt.Rows[0]["SettlementID"].ToString());
finalSettlementInfo = joSetlinfo.ToString();
this.DialogResult = DialogResult.OK;
Global.writeLog("finalSettlementInfo", finalSettlementInfo,"");
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btNO_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void btQuerySettlInfo_Click(object sender, EventArgs e)
{
settlementID = tbMainSettlID.Text;
string errMsg;
if (getSettlInfo(out errMsg) != 0) { MessageBox.Show(errMsg); }
if (getSumamtInfo(out errMsg) != 0) { MessageBox.Show(errMsg); }
}
private void MutualAid_FormClosing(object sender, FormClosingEventArgs e)
{
// 恢复转换规则
RestoreVariables();
}
}
}