|
@@ -29,12 +29,13 @@ namespace PTMedicalInsurance.Forms
|
|
|
private UIDataGridViewFooter dgvHisSettlRecFooter = new Sunny.UI.UIDataGridViewFooter();
|
|
|
JObject jo9102Rtn = new JObject();
|
|
|
|
|
|
+ InvokeHelper invoker = new InvokeHelper();
|
|
|
+
|
|
|
public Clearing()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
|
|
|
this.StartPosition = FormStartPosition.CenterParent;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void Clearing_Load(object sender, EventArgs e)
|
|
@@ -59,6 +60,12 @@ namespace PTMedicalInsurance.Forms
|
|
|
grdSetter.SetHeaderTextOfClearingData(dgvClearingData);
|
|
|
grdSetter.SetHeaderTextOfOthPlcCheck(dgvOthCheck);
|
|
|
|
|
|
+ grdSetter.SetHeaderTextOfQueryClearApply(dgv_2804_A);
|
|
|
+ grdSetter.SetHeaderTextOfClearMode(dgv_2803_A);
|
|
|
+
|
|
|
+ grdSetter.DatagridviewColumnWidthAdaptation(dgv_2804_A);
|
|
|
+ grdSetter.DatagridviewColumnWidthAdaptation(dgv_2803_A);
|
|
|
+
|
|
|
cbgGroupSet.SelectAll();
|
|
|
cbgGroupSet.SetItemCheckState(4, false);
|
|
|
|
|
@@ -358,6 +365,7 @@ namespace PTMedicalInsurance.Forms
|
|
|
joTmp.Add("OthPlcFlag", 0);
|
|
|
joTmp.Add("ValidFlag", 1);
|
|
|
joTmp.Add("Operator", "0");
|
|
|
+ joTmp.Add("InsuBusinessID", "2701_A");
|
|
|
|
|
|
JArray jaParam = new JArray();
|
|
|
jaParam.Add(joTmp);
|
|
@@ -379,6 +387,93 @@ namespace PTMedicalInsurance.Forms
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private int Clearing_2801_A(out string error)
|
|
|
+ {
|
|
|
+ error = "";
|
|
|
+ DataTable dt = (DataTable)dgvClearingSum.DataSource;
|
|
|
+ int i = dgvClearingSum.CurrentRow.Index;
|
|
|
+ dynamic joClearing = new JObject();
|
|
|
+
|
|
|
+ //双定点必须分开申请,通过报文头中insuplc_admdvs参保地行政区划区分。比如郑州省直双定点,向郑州申请时insuplc_admdvs传410100,向省直申请时insuplc_admdvs传419900。
|
|
|
+ //异地申请:清算类别传9909,报文头中参保地行政区划省内传410000,跨省不需要清算申请
|
|
|
+
|
|
|
+ Global.pat.insuplc_admdvs = dt.Rows[i]["clr_optins"].ToString();
|
|
|
+
|
|
|
+ //清算类别
|
|
|
+ if (dt.Rows[i]["clr_optins"].ToString() == "610000")
|
|
|
+ joClearing.clr_type = "9909";
|
|
|
+ else
|
|
|
+ joClearing.clr_type = dt.Rows[i]["clr_type"].ToString();
|
|
|
+
|
|
|
+ joClearing.clr_way = dt.Rows[i]["clr_way"].ToString(); //清算方式
|
|
|
+ joClearing.clr_type_lv2 = ""; //二级清算类别
|
|
|
+ joClearing.begndate = dpST_2.Value.ToString("yyyy-MM-dd"); //开始日期
|
|
|
+ joClearing.enddate = dpED_2.Value.ToString("yyyy-MM-dd"); //结束日期
|
|
|
+ joClearing.clr_optins = dt.Rows[i]["clr_optins"].ToString(); //清算经办机构
|
|
|
+ joClearing.setlym = dpST_2.Value.ToString("yyyyMM"); //即时结算年月
|
|
|
+ joClearing.psntime = dt.Rows[i]["psntime"].ToString(); //即时结算人次
|
|
|
+ joClearing.medfee_sumamt = dt.Rows[i]["medfee_sumamt"].ToString(); //医疗费总额
|
|
|
+ joClearing.med_sumfee = dt.Rows[i]["med_sumfee"].ToString(); //医保认可费用总额
|
|
|
+ joClearing.fund_appy_sum = dt.Rows[i]["fund_appy_sum"].ToString(); //基金申报总额
|
|
|
+
|
|
|
+ //先签到
|
|
|
+ //CenterBusiness cBus = new CenterBusiness();
|
|
|
+ //JObject jo9001Rtn = new JObject();
|
|
|
+ //cBus.signIn(out jo9001Rtn);
|
|
|
+
|
|
|
+ JObject joData = new JObject();
|
|
|
+ joData.Add("data", joClearing);
|
|
|
+
|
|
|
+ string input = JsonHelper.setCenterInpar("2801_A", joData.ToString());
|
|
|
+ JObject joRtn = invoker.invokeCenterService("2801_A", input);
|
|
|
+ if (JsonHelper.parseCenterReturnJson(joRtn, 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", JsonHelper.getDestValue(joRtn, "output.result.clr_appy_evt_id"));
|
|
|
+ joTmp.Add("OccurTime", 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", 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("OthPlcFlag", 0);
|
|
|
+ joTmp.Add("ValidFlag", 1);
|
|
|
+ joTmp.Add("Operator", "0");
|
|
|
+ joTmp.Add("InsuBusinessID", "2801_A");
|
|
|
+
|
|
|
+ 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(), "插入即时结算(2801_A)记录");
|
|
|
+
|
|
|
+ if (JsonHelper.parseIrisRtnValue(joRtn, out error) != 0)
|
|
|
+ {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private int OthPlcClearing_Single(out string error)
|
|
|
{
|
|
|
if (tbInsuPlc.Text != "")
|
|
@@ -455,7 +550,6 @@ namespace PTMedicalInsurance.Forms
|
|
|
|
|
|
private int CancleClearing_Single(out string error)
|
|
|
{
|
|
|
-
|
|
|
error = "";
|
|
|
DataTable dt = (DataTable)dgvClearingData.DataSource;
|
|
|
int i = dgvClearingData.CurrentRow.Index;
|
|
@@ -520,6 +614,60 @@ namespace PTMedicalInsurance.Forms
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private int CancleClearing_2802_A(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();
|
|
|
+
|
|
|
+ JObject joData = new JObject();
|
|
|
+ joData.Add("data", joCancleClearing);
|
|
|
+ //上传给中心
|
|
|
+ //先签到
|
|
|
+ CenterBusiness cBus = new CenterBusiness();
|
|
|
+ JObject jo9001Rtn = new JObject();
|
|
|
+ cBus.signIn(out jo9001Rtn);
|
|
|
+
|
|
|
+ InvokeHelper invoker = new InvokeHelper();
|
|
|
+ JObject joRtn = invoker.invokeCenterService("2802_A", joData.ToString());
|
|
|
+ if (JsonHelper.parseCenterReturnJson(joRtn, 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("ClrType", dt.Rows[i]["ClrType"].ToString());
|
|
|
+ joTmp.Add("ValidFlag", -1);
|
|
|
+ joTmp.Add("updateUserID", "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 CancleOthPlcClearing_Single(out string error)
|
|
|
{
|
|
|
|
|
@@ -1279,7 +1427,6 @@ namespace PTMedicalInsurance.Forms
|
|
|
outParam = "CheckDetail_Single:" + ex.Message;
|
|
|
return -1;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void dgvRowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
|
|
@@ -1461,7 +1608,6 @@ namespace PTMedicalInsurance.Forms
|
|
|
dgvClearingSum.DataSource = dt;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
private void tmsClearing_2_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
string error = "";
|
|
@@ -1487,7 +1633,6 @@ namespace PTMedicalInsurance.Forms
|
|
|
MessageBox.Show("清算成功");
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
private void btnClose_3_Click(object sender, EventArgs e)
|
|
@@ -1500,7 +1645,7 @@ namespace PTMedicalInsurance.Forms
|
|
|
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(); ;
|
|
|
+ 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)
|
|
|
{
|
|
@@ -1538,27 +1683,23 @@ namespace PTMedicalInsurance.Forms
|
|
|
private void btnCancleClearing_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
string error = "";
|
|
|
- if (1 == 1)
|
|
|
+ DataTable dt = (DataTable)dgvClearingSum.DataSource;
|
|
|
+ int i = dgvClearingSum.CurrentRow.Index;
|
|
|
+ string FunNo = dt.Rows[i]["InsuBusinessID"].ToString(); //交易码
|
|
|
+
|
|
|
+ if (FunNo == "2801_A")
|
|
|
{
|
|
|
- if (CancleClearing_Single(out error) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show("撤销清算失败:" + error);
|
|
|
- }
|
|
|
+ if (CancleClearing_2802_A(out error) != 0)
|
|
|
+ MessageBox.Show("撤销即时结算申报失败:" + error);
|
|
|
else
|
|
|
- {
|
|
|
- MessageBox.Show("撤销清算成功");
|
|
|
- }
|
|
|
+ MessageBox.Show("撤销即时结算申报成功");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (CancleOthPlcClearing_Single(out error) != 0)
|
|
|
- {
|
|
|
- MessageBox.Show("异地撤销清算失败:" + error);
|
|
|
- }
|
|
|
+ if (CancleClearing_Single(out error) != 0)
|
|
|
+ MessageBox.Show("撤销清算失败:" + error);
|
|
|
else
|
|
|
- {
|
|
|
- MessageBox.Show("异地撤销清算成功");
|
|
|
- }
|
|
|
+ MessageBox.Show("撤销清算成功");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1869,44 +2010,148 @@ namespace PTMedicalInsurance.Forms
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void uiButton1_Click_1(object sender, EventArgs e)
|
|
|
+ private void btnBatchCheck_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void btnBatchCheck_Click(object sender, EventArgs e)
|
|
|
+ private void cmsClearing_Opening(object sender, CancelEventArgs e)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void btnPatchClr_Click(object sender, EventArgs e)
|
|
|
+ private void dgvSettlSummary_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
|
{
|
|
|
-
|
|
|
+ string error;
|
|
|
+ if (queryHisSettlementInfo(out error) != 0)
|
|
|
+ {
|
|
|
+ MessageBox.Show(error);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- private void cmsClearing_Opening(object sender, CancelEventArgs e)
|
|
|
+ private void tms_Clearing2801A_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
+ string error = "";
|
|
|
+ if (Clearing_2801_A(out error) != 0)
|
|
|
+ {
|
|
|
+ MessageBox.Show("即时结算失败:" + error);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBox.Show("即时结算成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ private void rbg_QueryType_ValueChanged(object sender, int index, string text)
|
|
|
+ {
|
|
|
+ if (index == 0)
|
|
|
+ tbQueryData.SelectedIndex = 0;
|
|
|
+ else
|
|
|
+ tbQueryData.SelectedIndex = 1;
|
|
|
}
|
|
|
|
|
|
- private void dgvSettlSummary_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
|
+ /// <summary>
|
|
|
+ /// 即时结算模式查询
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="error"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private int Query_2803_A(out JObject joRtn,out string error)
|
|
|
{
|
|
|
- string error;
|
|
|
- if (queryHisSettlementInfo(out error) != 0)
|
|
|
+ error = "";
|
|
|
+
|
|
|
+ dynamic joClearing = new JObject();
|
|
|
+ joClearing.admdvs = tb_Admdvs.Text; //清算经办机构
|
|
|
+ joClearing.clr_ym = dt_DateYM.Value.ToString("yyyyMM"); //即时结算年月
|
|
|
+
|
|
|
+ //先签到
|
|
|
+ //CenterBusiness cBus = new CenterBusiness();
|
|
|
+ //JObject jo9001Rtn = new JObject();
|
|
|
+ //cBus.signIn(out jo9001Rtn);
|
|
|
+
|
|
|
+ JObject joData = new JObject();
|
|
|
+ joData.Add("data", joClearing);
|
|
|
+
|
|
|
+ string input = JsonHelper.setCenterInpar("2803_A", joData.ToString());
|
|
|
+ joRtn = invoker.invokeCenterService("2803_A", input);
|
|
|
+ if (JsonHelper.parseCenterReturnJson(joRtn, out error) != 0)
|
|
|
{
|
|
|
- MessageBox.Show(error);
|
|
|
+ return -1;
|
|
|
}
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
- private void btnQueryClrSum_Click_1(object sender, EventArgs e)
|
|
|
+ /// <summary>
|
|
|
+ /// 即时结算申请查询
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="error"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private int Query_2804_A(out JObject joRtn,out string error)
|
|
|
{
|
|
|
-
|
|
|
+ error = "";
|
|
|
+
|
|
|
+ dynamic joClearing = new JObject();
|
|
|
+ joClearing.clr_stas = ""; //清算状态
|
|
|
+ joClearing.clr_type = ""; //清算类别
|
|
|
+
|
|
|
+ joClearing.clr_way = cbb_ClrWay.Text.Substring(0, 2); //清算方式
|
|
|
+
|
|
|
+ joClearing.clr_type_lv2 = ""; //二级清算类别
|
|
|
+ joClearing.clr_optins = tb_Admdvs.Text; //清算经办机构
|
|
|
|
|
|
+ joClearing.clr_ym = dt_DateYM.Value.ToString("yyyyMM"); ; //清算年月
|
|
|
+
|
|
|
+ joClearing.page_num = "1"; //当前页数
|
|
|
+ joClearing.page_size = "100"; //每页显示数量
|
|
|
+
|
|
|
+ //先签到
|
|
|
+ //CenterBusiness cBus = new CenterBusiness();
|
|
|
+ //JObject jo9001Rtn = new JObject();
|
|
|
+ //cBus.signIn(out jo9001Rtn);
|
|
|
+
|
|
|
+ JObject joData = new JObject();
|
|
|
+ joData.Add("data", joClearing);
|
|
|
+
|
|
|
+ string input = JsonHelper.setCenterInpar("2804_A", joData.ToString());
|
|
|
+ joRtn = invoker.invokeCenterService("2804_A", input);
|
|
|
+ if (JsonHelper.parseCenterReturnJson(joRtn, out error) != 0)
|
|
|
+ {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
- private void toolStripMenuItem2_Click(object sender, EventArgs e)
|
|
|
+ private void btbQuery_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
|
|
|
+
|
|
|
+ string error = "";
|
|
|
+ JObject joRtn = new JObject();
|
|
|
+ if (rbg_QueryType.SelectedIndex == 0)
|
|
|
+ {
|
|
|
+ if (Query_2803_A(out joRtn, out error) != 0)
|
|
|
+ MessageBox.Show("即时结算模式查询失败:" + error);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ DataTable dt = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
|
|
|
+ dgv_2803_A.DataSource = dt;
|
|
|
+
|
|
|
+ MessageBox.Show("即时结算模式查询成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (Query_2804_A(out joRtn, out error) != 0)
|
|
|
+ MessageBox.Show("即时结算申请查询失败:" + error);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ DataTable dt = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
|
|
|
+ dgv_2804_A.DataSource = dt;
|
|
|
+
|
|
|
+ MessageBox.Show("即时结算申请查询成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|