Browse Source

fix: 移动支付取消 结算&预约挂号

zhengjie 1 year ago
parent
commit
441e1dcc4b
1 changed files with 18 additions and 29 deletions
  1. 18 29
      Business/MobilePay.cs

+ 18 - 29
Business/MobilePay.cs

@@ -258,46 +258,30 @@ namespace PTMedicalInsurance.Business
         }
         public int MobilePayCancelSettlement(out string outPar)
         {
-            string errMsg;
+            string inParam, errMsg;
             outPar = "";
             try
             {
-
-                /**目前从微信那边处理退费
-                                if (Get6203Inpar(out errMsg) != 0)
-                                {
-
-                                }
-                                YH6203Inpar = errMsg;
-                                JObject jo6203Rtn = invoker.invokeMPService("6203", M6203Inpar);
-                                //M6202
-                                if (ParseCenterRtnValue(jo6203Rtn, out errMsg) != 0)
-                                {
-
-                                }
-                                else
-                                {
-                                    string newSettlID = JsonHelper.getDestValue(jo6203Rtn,"");
-                                    //撤销医保平台结算数据
-                                    cancleSettlement(newSettlID,out errMsg);
-                                    //撤销医保平台费用,登记,
-                                }
-                    **/
-                //处理撤销数据
-
-                if (cancleSettlement(MPat.settlID, out errMsg) != 0)
+                if (Get6203Inpar(out errMsg) != 0)
                 {
                     outPar = errMsg;
                     return -1;
                 }
-                else
+                inParam = errMsg;
+                JObject jo6203Rtn = invoker.invokeMPService("6203", inParam);
+                //M6202
+                if (JsonHelper.parseMPRtnValue(jo6203Rtn, out errMsg) != 0)
                 {
                     outPar = errMsg;
-                    return 0;
+                    return -1;
                 }
+
+                //撤销医保平台结算数据
+                return cancleSettlement(MPat.settlID, out outPar);
             }
             catch (Exception ex)
             {
+                outPar = ex.Message;
                 return -1;
             }
         }
@@ -575,8 +559,13 @@ namespace PTMedicalInsurance.Business
                 joInpar.Add("medOrgOrd", MPat.recordID);//医疗机构订单号  前端传入
                 joInpar.Add("initRxOrd", JsonHelper.getDestValue(joInsuAdmObj, "initRxOrd"));//要续方的原处方流水 前端传入
                 joInpar.Add("rxCircFlag", JsonHelper.getDestValue(joInsuAdmObj, "rxCircFlag"));//电子处方流转标志 前端传入
-                MSettl.settlTime = Convert.ToDateTime(JsonHelper.getDestValue(joMdtrtinfo, "begntime"));
-                joInpar.Add("begntime", JsonHelper.getDestValue(joMdtrtinfo, "begntime"));//开始时间
+                if (MSettl.settlTime.CompareTo(DateTime.Now) > 0)
+                {
+                    //兼容预约挂号(此时时间>当前)
+                    MSettl.settlTime = DateTime.Now;
+                }
+                joInpar.Add("begntime", MSettl.settlTime.ToString("yyyy-MM-dd HH:mm:ss"));//开始时间
+
                 joInpar.Add("idNo", JsonHelper.getDestValue(joPatBaseInfo, "credNo"));//证件号码
                 joInpar.Add("userName", JsonHelper.getDestValue(joPatBaseInfo, "patName"));//用户姓名
                 joInpar.Add("idType", JsonHelper.getDestValue(joPatBaseInfo, "credCode"));//证件类别