فهرست منبع

增加武汉市医保测试密码

zzz 5 ماه پیش
والد
کامیت
b4a7085e1c
5فایلهای تغییر یافته به همراه116 افزوده شده و 68 حذف شده
  1. 3 1
      HuBeiMI/Business/IrisServices.cs
  2. 54 59
      HuBeiMI/Forms/SettlementChecklist.cs
  3. 5 0
      HuBeiMI/Helper/InvokeHelper.cs
  4. 45 6
      HuBeiMI/Helper/JsonHelper.cs
  5. 9 2
      HuBeiMI/InsuBusiness.cs

+ 3 - 1
HuBeiMI/Business/IrisServices.cs

@@ -1936,7 +1936,7 @@ namespace PTMedicalInsurance.Business
         /// </summary>
         /// <param name="outParam"></param>
         /// <returns></returns>
-        public int cancleSettlement(string newSettlID, out string outParam)
+        public int cancleSettlement(string newSettlID,string balc, string setl_time, out string outParam)
         {
             JObject joTmp = new JObject();
             string errMsg = "";
@@ -1948,6 +1948,8 @@ namespace PTMedicalInsurance.Business
                 joTmp.Add("mdtrt_id", Global.pat.mdtrtID);
                 joTmp.Add("setl_id", Global.pat.settlID);
                 joTmp.Add("new_setl_id", newSettlID);
+                joTmp.Add("balc", balc);
+                joTmp.Add("setl_time", setl_time);
                 joTmp.Add("updateUserID", Global.user.ID);
                 joTmp.Add("msgid", Global.curEvt.msgid);
                 joTmp.Add("OccurTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

+ 54 - 59
HuBeiMI/Forms/SettlementChecklist.cs

@@ -48,9 +48,7 @@ namespace PTMedicalInsurance.Forms
         private InvokeHelper invoker = new InvokeHelper();
         public SettlementChecklist()
         {
-            MessageBox.Show("进入打印函数991");
             InitializeComponent();
-            MessageBox.Show("进入打印函数992");
             hospitalDr = Global.inf.hospitalDr;
             hospitalNO = Global.inf.hospitalNO;
             hospitalName = Global.inf.hospitalName;
@@ -1134,10 +1132,10 @@ namespace PTMedicalInsurance.Forms
                 Global.pat.recordID = recordID;
 
 
-                if (BillType == "-1")
-                {
-                    MessageBox.Show("请选择结算正记录!该记录为退费记录");
-                }
+                //if (BillType == "-1")
+                //{
+                //    MessageBox.Show("请选择结算正记录!该记录为退费记录");
+                //}
 
                 sqlStr = "SELECT * FROM  BS_MedInsuTransactionLog WHERE MSGID='" + msgid + "'";
                 JObject joSqlstr = new JObject();
@@ -1152,56 +1150,56 @@ namespace PTMedicalInsurance.Forms
                 //DataTable dtlog = (DataTable)joRtn["result"]["data"][0].ToObject(typeof(DataTable));
                 JObject Outlog = JObject.Parse(joRtn["result"]["data"][0]["OutparamPlain"].ToString());
                 dynamic setlinfo = new JObject();//结算信息节点
-                setlinfo.setl_id = Outlog["setl_id"];//结算ID
-                setlinfo.mdtrt_id = Outlog["mdtrt_id"];//就诊ID
-                setlinfo.psn_no = Outlog["psn_no"];//人员编号
-                setlinfo.psn_name = Outlog["psn_name"];//人员姓名
-                setlinfo.psn_cert_type = Outlog["psn_cert_type"];//凭证类型
-
-                setlinfo.certno = Outlog["certno"];//证件号码
-                setlinfo.gend = Outlog["gend"];//性别
-                setlinfo.naty = Outlog["naty"];//民族
-                setlinfo.brdy = Outlog["brdy"];//出生日期
-                setlinfo.age = Outlog["age"];//年龄
-
-                setlinfo.insutype = Outlog["insutype"];//险种类型
-                setlinfo.psn_type = Outlog["psn_type"];//人员类别
-                setlinfo.cvlserv_flag = Outlog["cvlserv_flag"];//公务员标志
-                setlinfo.setl_time = Outlog["setl_time"];//结算时间
-                setlinfo.mdtrt_cert_type = Outlog["mdtrt_cert_type"];//就诊凭证类型
-
-                setlinfo.med_type = Outlog["med_type"];//医疗类别
-                setlinfo.medfee_sumamt = Outlog["medfee_sumamt"];//医疗费总额
-                setlinfo.fulamt_ownpay_amt = Outlog["fulamt_ownpay_amt"];//全自费金额
-                setlinfo.overlmt_selfpay = Outlog["overlmt_selfpay"];//超限价自费费用
-                setlinfo.preselfpay_amt = Outlog["preselfpay_amt"];//先行自付金额
-
-                setlinfo.inscp_scp_amt = Outlog["inscp_scp_amt"];//符合政策范围金额
-                setlinfo.act_pay_dedc = Outlog["act_pay_dedc"];//实际支付起付线
-                setlinfo.hifp_pay = Outlog["hifp_pay"];//基本医疗保险统筹基金支出
-                setlinfo.pool_prop_selfpay = Outlog["pool_prop_selfpay"];//基本医疗保险统筹基金支付比例
-                setlinfo.cvlserv_pay = Outlog["cvlserv_pay"];//公务员医疗补助资金支出
-
-                setlinfo.hifes_pay = Outlog["hifes_pay"];//企业补充医疗保险基金支出
-                setlinfo.hifmi_pay = Outlog["hifmi_pay"];//居民大病保险资金支出
-                setlinfo.hifob_pay = Outlog["hifob_pay"];//职工大额医疗费用补助基金支出
-                setlinfo.maf_pay = Outlog["maf_pay"];//医疗救助基金支出
-                setlinfo.oth_pay = Outlog["oth_pay"];//结算ID
-
-                setlinfo.fund_pay_sumamt = Outlog["fund_pay_sumamt"];//基金支付总额
-                setlinfo.psn_part_amt = Outlog["psn_part_amt"];//个人负担总金额
-                setlinfo.acct_pay = Outlog["acct_pay"];//个人账户支出
-                setlinfo.psn_cash_pay = Outlog["psn_cash_pay"];//个人现金支出
-                setlinfo.balc = Outlog["balc"];//余额
-
-                setlinfo.acct_mulaid_pay = Outlog["acct_mulaid_pay"];//个人账户共济支付金额
-                setlinfo.medins_setl_id = Outlog["medins_setl_id"];//医药机构结算结算ID
-                setlinfo.clr_optins = Outlog["clr_optins"];//clr_optins
-                setlinfo.clr_way = Outlog["clr_way"];//clr_way
-                setlinfo.clr_type = Outlog["clr_type"];//clr_type
-
-                setlinfo.exp_content = Outlog["exp_content"];//exp_content
-                setlinfo.hosp_part_amt = Outlog["hosp_part_amt"];//医院负担金额
+                setlinfo.setl_id = Outlog["output"]["setlinfo"]["setl_id"];//结算ID
+                setlinfo.mdtrt_id = Outlog["output"]["setlinfo"]["mdtrt_id"];//就诊ID
+                setlinfo.psn_no = Outlog["output"]["setlinfo"]["psn_no"];//人员编号
+                setlinfo.psn_name = Outlog["output"]["setlinfo"]["psn_name"];//人员姓名
+                setlinfo.psn_cert_type = Outlog["output"]["setlinfo"]["psn_cert_type"];//凭证类型
+
+                setlinfo.certno = Outlog["output"]["setlinfo"]["certno"];//证件号码
+                setlinfo.gend = Outlog["output"]["setlinfo"]["gend"];//性别
+                setlinfo.naty = Outlog["output"]["setlinfo"]["naty"];//民族
+                setlinfo.brdy = Outlog["output"]["setlinfo"]["brdy"];//出生日期
+                setlinfo.age = Outlog["output"]["setlinfo"]["age"];//年龄
+
+                setlinfo.insutype = Outlog["output"]["setlinfo"]["insutype"];//险种类型
+                setlinfo.psn_type = Outlog["output"]["setlinfo"]["psn_type"];//人员类别
+                setlinfo.cvlserv_flag = Outlog["output"]["setlinfo"]["cvlserv_flag"];//公务员标志
+                setlinfo.setl_time = Outlog["output"]["setlinfo"]["setl_time"];//结算时间
+                setlinfo.mdtrt_cert_type = Outlog["output"]["setlinfo"]["mdtrt_cert_type"];//就诊凭证类型
+
+                setlinfo.med_type = Outlog["output"]["setlinfo"]["med_type"];//医疗类别
+                setlinfo.medfee_sumamt = Outlog["output"]["setlinfo"]["medfee_sumamt"];//医疗费总额
+                setlinfo.fulamt_ownpay_amt = Outlog["output"]["setlinfo"]["fulamt_ownpay_amt"];//全自费金额
+                setlinfo.overlmt_selfpay = Outlog["output"]["setlinfo"]["overlmt_selfpay"];//超限价自费费用
+                setlinfo.preselfpay_amt = Outlog["output"]["setlinfo"]["preselfpay_amt"];//先行自付金额
+
+                setlinfo.inscp_scp_amt = Outlog["output"]["setlinfo"]["inscp_scp_amt"];//符合政策范围金额
+                setlinfo.act_pay_dedc = Outlog["output"]["setlinfo"]["act_pay_dedc"];//实际支付起付线
+                setlinfo.hifp_pay = Outlog["output"]["setlinfo"]["hifp_pay"];//基本医疗保险统筹基金支出
+                setlinfo.pool_prop_selfpay = Outlog["output"]["setlinfo"]["pool_prop_selfpay"];//基本医疗保险统筹基金支付比例
+                setlinfo.cvlserv_pay = Outlog["output"]["setlinfo"]["cvlserv_pay"];//公务员医疗补助资金支出
+
+                setlinfo.hifes_pay = Outlog["output"]["setlinfo"]["hifes_pay"];//企业补充医疗保险基金支出
+                setlinfo.hifmi_pay = Outlog["output"]["setlinfo"]["hifmi_pay"];//居民大病保险资金支出
+                setlinfo.hifob_pay = Outlog["output"]["setlinfo"]["hifob_pay"];//职工大额医疗费用补助基金支出
+                setlinfo.maf_pay = Outlog["output"]["setlinfo"]["maf_pay"];//医疗救助基金支出
+                setlinfo.oth_pay = Outlog["output"]["setlinfo"]["oth_pay"];//结算ID
+
+                setlinfo.fund_pay_sumamt = Outlog["output"]["setlinfo"]["fund_pay_sumamt"];//基金支付总额
+                setlinfo.psn_part_amt = Outlog["output"]["setlinfo"]["psn_part_amt"];//个人负担总金额
+                setlinfo.acct_pay = Outlog["output"]["setlinfo"]["acct_pay"];//个人账户支出
+                setlinfo.psn_cash_pay = Outlog["output"]["setlinfo"]["psn_cash_pay"];//个人现金支出
+                setlinfo.balc = Outlog["output"]["setlinfo"]["balc"];//余额
+
+                setlinfo.acct_mulaid_pay = Outlog["output"]["setlinfo"]["acct_mulaid_pay"];//个人账户共济支付金额
+                setlinfo.medins_setl_id = Outlog["output"]["setlinfo"]["medins_setl_id"];//医药机构结算结算ID
+                setlinfo.clr_optins = Outlog["output"]["setlinfo"]["clr_optins"];//clr_optins
+                setlinfo.clr_way = Outlog["output"]["setlinfo"]["clr_way"];//clr_way
+                setlinfo.clr_type = Outlog["output"]["setlinfo"]["clr_type"];//clr_type
+
+                setlinfo.exp_content = Outlog["output"]["setlinfo"]["exp_content"].ToString();//exp_content
+                setlinfo.hosp_part_amt = Outlog["output"]["setlinfo"]["hosp_part_amt"];//医院负担金额
                 setlinfo.hifdm_pay = 0;//伤残人员医疗保障基金支出
 
 
@@ -1625,7 +1623,6 @@ namespace PTMedicalInsurance.Forms
                     {
                         jaFeeOne.Add("prd_days", decimal.Parse(jaFeeDetail[k]["prd_days"].ToString()));
                     }
-                    MessageBox.Show("555");
                     if (string.IsNullOrEmpty(jaFeeDetail[k]["medc_way_dscr"].ToString()))
                     {
                         jaFeeOne.Add("medc_way_dscr", "");
@@ -1651,7 +1648,6 @@ namespace PTMedicalInsurance.Forms
                     {
                         jaFeeOne.Add("bilg_dr_name", jaFeeDetail[k]["bilg_dr_name"]);
                     }
-                    MessageBox.Show("666");
                     jaFeeOne.Add("phar_name", "");
 
                     jaFeeOne.Add("phar_prac_cert_no", "");
@@ -1664,7 +1660,6 @@ namespace PTMedicalInsurance.Forms
                     jaFeeDetail1.Add(jaFeeOne);
 
                     jaFeeOne = new JObject();
-                    MessageBox.Show("777");
                 }
           
                 JObject Jo992004 = new JObject();

+ 5 - 0
HuBeiMI/Helper/InvokeHelper.cs

@@ -769,6 +769,11 @@ namespace PTMedicalInsurance.Helper
 
                     Global.curEvt.URL = "http://test.xxhgl.whsybj.cn/mrss-data/api/uts/callService";
                 }
+                if (Global.inf.interfaceDr == 45) //湖北普瑞测试环境
+                {
+
+                    Global.curEvt.URL = "http://test.xxhgl.whsybj.cn/mrss-data/api/uts/callService";
+                }
 
                 joRtn = invokeCenterServiceJXC(JsonHelper.setCenterInparInventory(data));//调用前加密
                 Global.writeLog("返回解密后"+ joRtn.ToString());

+ 45 - 6
HuBeiMI/Helper/JsonHelper.cs

@@ -185,9 +185,17 @@ namespace PTMedicalInsurance.Helper
             Jo.recer_sys_code = Global.inf.recivedSystem;
             Jo.dev_safe_info = Global.inf.dev_safe_info; //设备编号
             Jo.cainfo = Global.inf.cainfo;//设备安全信息
+
             if (Global.inf.hospitalDr.ToString() == "18")
             {
-                Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                if (Global.inf.interfaceDr == 13)
+                {
+                    Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                }
+                if (Global.inf.interfaceDr == 45)
+                {
+                    Jo.cainfo = "9c2ae52eda1ee21b7486c289e3d453b4T";//武汉普瑞硚口测试验收医保密钥20251020
+                }
             }
             if (Global.inf.hospitalDr.ToString() == "20")
             {
@@ -196,8 +204,6 @@ namespace PTMedicalInsurance.Helper
                 {
                  Jo.cainfo = "0f35371f8890ff4e889ba76a5ebaba6a"; //湖北普瑞测试环境测试追溯安全控件测试密钥
                     //Jo.cainfo = "309627d5adbfc5cb610ece4d9a14022a"; //湖北普瑞测试环境测试追溯安全控件测试密钥==旧版888
-
-                
                 }
                 if (Global.inf.interfaceDr == 14)
                 {
@@ -264,7 +270,14 @@ namespace PTMedicalInsurance.Helper
             Jo.cainfo = Global.inf.cainfo;//设备安全信息
             if (Global.inf.hospitalDr.ToString() == "18")
             {
-                Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                if (Global.inf.interfaceDr == 13)
+                {
+                    Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                }
+                if (Global.inf.interfaceDr == 45)
+                {
+                    Jo.cainfo = "9c2ae52eda1ee21b7486c289e3d453b4T";//武汉普瑞硚口测试验收医保密钥20251020
+                }
             }
             if (Global.inf.hospitalDr.ToString() == "20")
             {
@@ -345,7 +358,14 @@ namespace PTMedicalInsurance.Helper
             Jo.cainfo = Global.inf.cainfo ;//
             if (Global.inf.hospitalDr.ToString() == "18")
             {
-                Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                if (Global.inf.interfaceDr == 13)
+                {
+                    Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                }
+                if (Global.inf.interfaceDr == 45)
+                {
+                    Jo.cainfo = "9c2ae52eda1ee21b7486c289e3d453b4T";//武汉普瑞硚口测试验收医保密钥20251020
+                }
             }
             if (Global.inf.hospitalDr.ToString() == "20")
             {
@@ -447,7 +467,14 @@ namespace PTMedicalInsurance.Helper
             Jo.cainfo = Global.inf.cainfo;//
             if (Global.inf.hospitalDr.ToString() == "18")
             {
-                Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                if (Global.inf.interfaceDr == 13)
+                {
+                    Jo.cainfo = "1d960e8bbe077a482cc631af7c054008";//武汉普瑞硚口区医保密钥20230918
+                }
+                if (Global.inf.interfaceDr == 45)
+                {
+                    Jo.cainfo = "9c2ae52eda1ee21b7486c289e3d453b4T";//武汉普瑞硚口测试验收医保密钥20251020
+                }
             }
             if (Global.inf.hospitalDr.ToString() == "20")
             {
@@ -630,6 +657,18 @@ namespace PTMedicalInsurance.Helper
                 Global.inf.publicKey = "BCfnkiDeQ/b3FNtjAuTsLa0hJLE0lQJAXSjEEWlaQtlpSndN/vPlCG9LFrzhrCOLqrOAZA5+R3dTeoyXB64igzk=";
                 Global.inf.InvCenterURL = "http://test.xxhgl.whsybj.cn/mrss-data/api/uts/callService";
             }
+            else if (Global.inf.interfaceDr == 45) //武汉普瑞测试环境
+            {
+                //应用ID
+                Global.inf.appId = "ebb8bb9052c34b4086a166a71e8182";
+                //应用秘钥
+                Global.inf.Secret = "4158E2C56FED29A97C6EF45E414E2802";
+                //应用私钥
+                Global.inf.privateKey = "CTh1ht37hU+kzfhjaGPiddx78RxQfx52GB0lxkUBVGU=";
+                //应用公钥            
+                Global.inf.publicKey = "BFkg5CAW0fbELGrgVxI8swBkWUU3tlihNZvr6jgH1b9lqFGZzmjDk9bdRQn6gq/mlKq24uVm2C1VoShbijjegYo=";
+                Global.inf.InvCenterURL = "http://test.xxhgl.whsybj.cn/mrss-data/api/uts/callService";
+            }
             #endregion
 
             Global.writeLog("医保进销存密钥id:" + Global.inf.appId);

+ 9 - 2
HuBeiMI/InsuBusiness.cs

@@ -1004,6 +1004,8 @@ namespace PTMedicalInsurance
 
                             //退中心结算
                             string newSettleID = "";
+                            string balc = "";
+                            string setl_time = "";
                             if (cBus.cancleSettlement("2208", out outParam) != 0)
                             {
                                 int i = outParam.IndexOf("获取到的就诊信息为无效状态,不能办理结算撤销业务");                                
@@ -1052,6 +1054,9 @@ namespace PTMedicalInsurance
                             else
                             {
                                 newSettleID = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.setl_id");
+
+                                balc = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.balc");
+                                setl_time = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.setl_time");
                             }
 
                             //string newSettleID = "10290453";
@@ -1060,7 +1065,7 @@ namespace PTMedicalInsurance
                             //Global.pat.settlID = "10290445";
 
                             //退云医保平台结算
-                            if (mIS.cancleSettlement(newSettleID, out outParam) != 0)
+                            if (mIS.cancleSettlement(newSettleID, balc, setl_time ,out outParam) != 0)
                             {
                                 rtnResult = JsonHelper.setExceptionJson(-1, "取消平台结算信息", outParam).ToString();
                                 //return rtnResult;
@@ -1410,8 +1415,10 @@ namespace PTMedicalInsurance
                             {
                                 //退结算会返一个新的ID
                                 string newSettleID = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.setl_id");
+                                string balc = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.balc");
+                                string setl_time = JsonHelper.getDestValue(JObject.Parse(outParam), "output.setlinfo.setl_time");                                
                                 //取消平台结算信息
-                                if (mIS.cancleSettlement(newSettleID, out outParam) != 0)
+                                if (mIS.cancleSettlement(newSettleID, balc, setl_time, out outParam) != 0)
                                 {
                                     rtnResult = JsonHelper.setExceptionJson(-1, "中心结算取消成功,医保平台结算信息取消失败!", outParam).ToString();
                                     return rtnResult;