فهرست منبع

feat: 下单接口完善

zhengjie 1 سال پیش
والد
کامیت
0d6d1088ee
4فایلهای تغییر یافته به همراه53 افزوده شده و 36 حذف شده
  1. 31 22
      Business/Local/LocalMobileOrderInfoProcess.cs
  2. 20 13
      Business/Local/LocalMobilePayProcess.cs
  3. 1 0
      Business/Local/LocalMobilePayService.cs
  4. 1 1
      JiNanMI.csproj

+ 31 - 22
Business/Local/LocalGetPatientInfoProcess.cs → Business/Local/LocalMobileOrderInfoProcess.cs

@@ -26,10 +26,12 @@ namespace PTMedicalInsurance.Business
 
             // 缺少姓名和证件号
             string psn_setlway =  JsonHelper.getDestValue(input, "insuAdmObj.psnSetlway");
+            string feeType = JsonHelper.getDestValue(input, "insuAdmObj.feeType");
+            string acctUsedFlag = JsonHelper.getDestValue(input, "insuAdmObj.acctUsedFlag");
 
             Global.pat.name = JsonHelper.getDestValue(input, "insuAdmObj.name");
-            Global.pat.certType = "02"; //身份证
-            Global.pat.certNO = JsonHelper.getDestValue(input, "insuAdmObj.certNo");
+            Global.pat.mdtrtcertType = "02"; //身份证
+            Global.pat.mdtrtcertNO = JsonHelper.getDestValue(input, "insuAdmObj.certNo");
 
             //调用服务获取门诊诊断信息
             string diagnoses;
@@ -45,7 +47,11 @@ namespace PTMedicalInsurance.Business
             JObject joReg = new JObject();
 
             JObject joPatInfo = new JObject();
-          
+            joPatInfo.Add("med_org_ord", Global.pat.billID);
+            joPatInfo.Add("id_no", Global.pat.mdtrtcertNO);
+            joPatInfo.Add("user_name", Global.pat.name);
+            joPatInfo.Add("id_type", Global.pat.mdtrtcertType);
+            joPatInfo.Add("insu_code", Global.inf.areaCode);
 
             #region 组织挂号入参
             JObject joRegInpar = new JObject();
@@ -53,8 +59,8 @@ namespace PTMedicalInsurance.Business
             joRegInpar.Add("psn_no", Global.pat.psn_no);
             joRegInpar.Add("insutype", Global.pat.insuType);
             joRegInpar.Add("begntime", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.begntime"));//挂号时间 occurTime
-            joRegInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
-            joRegInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
+            //joRegInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
+            //joRegInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
 
             string admDr = Utils.convertAdmDr(Global.pat.adm_Dr.ToString());
             joRegInpar.Add("ipt_otp_no", admDr);
@@ -63,23 +69,25 @@ namespace PTMedicalInsurance.Business
             joRegInpar.Add("dr_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.chfpdr_name"));
             joRegInpar.Add("dept_code", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_codg"));
             joRegInpar.Add("dept_name", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.adm_dept_name"));
-            joRegInpar.Add("exp_content", "");
-            joRegInpar.Add("caty", "72");
-            joReg.Add("data", joRegInpar);
+            joRegInpar.Add("caty", "A10");
+            
             #endregion
 
             #region 组织就诊信息入参
             string diseCodg = "", diseName = "";
             JObject joMdtrtinfo = new JObject();
-            for (int i = 0; i < jaDiagnoses.Count; i++)
+            jaDiagnoses.ToList().ForEach((diag) =>
             {
-                diseCodg = jaDiagnoses[i]["Code"].Text();
-                diseName = jaDiagnoses[i]["Name"].Text();
-                jaDiagnoses[i]["vali_flag"] = "1";
-            }
+                if ("1".Equals(diag["maindiag_flag"].Text()))
+                {
+                    diseCodg = diag["Code"].Text();
+                    diseName = diag["Name"].Text();
+                }
+                diag["vali_flag"] = "1";
+            });
 
             joMdtrtinfo.Add("mdtrt_id", Global.pat.mdtrtID);
-            joMdtrtinfo.Add("psn_no", Global.pat.psn_no);          //人员编号
+            //joMdtrtinfo.Add("psn_no", Global.pat.psn_no);          //人员编号
             joMdtrtinfo.Add("med_type", Global.pat.medType);          //医疗类别
             joMdtrtinfo.Add("begntime", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.begntime"));          //开始时间
             joMdtrtinfo.Add("main_cond_dscr", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.main_cond_dscr"));          //主要病情描述
@@ -87,30 +95,31 @@ namespace PTMedicalInsurance.Business
             joMdtrtinfo.Add("dise_name", diseName);          //病种名称
             joMdtrtinfo.Add("birctrl_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.birctrl_type"));          //计划生育手术类别
             joMdtrtinfo.Add("matn_type", JsonHelper.getDestValue(joHisRtnInfo, "mdtrtinfo.matn_type"));          //生育类别
+            joMdtrtinfo.Add("fetts", "0");
             joMdtrtinfo.Add("exp_content", "");          //字段扩展
 
             #endregion
 
             #region 组织结算入参
             JObject joSetlInpar = new JObject();
-            joSetlInpar.Add("psn_no", Global.pat.psn_no);
-            joSetlInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
-            joSetlInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
-            joSetlInpar.Add("med_type", Global.pat.medType);
+            //joSetlInpar.Add("psn_no", Global.pat.psn_no);
+            //joSetlInpar.Add("mdtrt_cert_type", Global.pat.mdtrtcertType);
+            //joSetlInpar.Add("mdtrt_cert_no", Global.pat.mdtrtcertNO);
+            //joSetlInpar.Add("med_type", Global.pat.medType);
             joSetlInpar.Add("medfee_sumamt", "");
+            joSetlInpar.Add("fee_type", feeType);
             joSetlInpar.Add("psn_setlway", psn_setlway); //结算方式
             joSetlInpar.Add("mdtrt_id", Global.pat.mdtrtID);
             joSetlInpar.Add("chrg_bchno", Global.pat.adm_Dr.ToString());
-            joSetlInpar.Add("acct_used_flag", "1");//个人账户使用标志
-            joSetlInpar.Add("insutype", "310");//险种类型
+            joSetlInpar.Add("acct_used_flag", acctUsedFlag);//个人账户使用标志
+            //joSetlInpar.Add("insutype", Global.pat.insuType);//险种类型
             joSetlInpar.Add("pub_hosp_rfom_flag", "");
-            joSetlInpar.Add("exp_content", "");
             #endregion
 
+            joReg.Add("data", joRegInpar);
             joReg.Add("mdtrtinfo", joMdtrtinfo);
             joReg.Add("diseinfo", jaDiagnoses);
             joReg.Add("settlement", joSetlInpar);
-
             //无读卡,手动构建
             joReg.Add("patInfo", joPatInfo);
 

+ 20 - 13
Business/Local/LocalMobilePayProcess.cs

@@ -14,16 +14,6 @@ namespace PTMedicalInsurance.Business
     {
         public override CallResult Process(JObject input)
         {
-            //从医保平台获取患者详细的医保登记信息
-            if (mIS.queryRegisterInfo(1, out outParam) != 0)
-            {
-                return Exception("查询患者云平台登记信息", outParam);
-            }
-            JObject joReg = JObject.Parse(outParam);
-            Global.pat.medType = JsonHelper.getDestValue(joReg, "data.MedicalType");
-            Global.pat.insuType = JsonHelper.getDestValue(joReg, "data.InsuType");
-
-            //开始进行费用传送
             //调用HIS费用查询信息
             if (hIS.getHisFee(Global.pat, out outParam) != 0)
             {
@@ -43,14 +33,31 @@ namespace PTMedicalInsurance.Business
                 fee["med_type"] = Global.pat.medType;
             });
 
+            JObject joSettlement = (JObject)input["settlement"];
+            joSettlement["medfee_sumamt"] = joHisFee["total"];
+
+            //合并参数
             JObject joInput = new JObject();
             joInput.Add("feedetail", jaFeeDetail);
+            joInput = mergeJson(joInput, (JObject)input["patInfo"]);
+            joInput = mergeJson(joInput, (JObject)input["data"]);
+            joInput = mergeJson(joInput, (JObject)input["mdtrtinfo"]);
+            joInput = mergeJson(joInput, joSettlement);
+            joInput.Add("diseinfo_list",input["diseinfo"]);
+            joInput.Add("feedetail_list", jaFeeDetail);
 
-            JObject joOutput = Utils.ConvertRequest<JObject>(TradeEnum.MobilePayOrder, joInput);
-
-            outParam = JsonHelper.toJsonString(joOutput);
+            outParam = JsonHelper.toJsonString(joInput);
 
             return Success();
         }
+
+        private JObject mergeJson(JObject source,JObject target)
+        {
+            source.Merge(target, new JsonMergeSettings
+            {
+                MergeArrayHandling = MergeArrayHandling.Union
+            });
+            return source;
+        }
     }
 }

+ 1 - 0
Business/Local/LocalMobilePayService.cs

@@ -24,5 +24,6 @@ namespace PTMedicalInsurance.Business
         {
             throw new NotImplementedException();
         }
+
     }
 }

+ 1 - 1
JiNanMI.csproj

@@ -113,7 +113,7 @@
     <Compile Include="Business\Local\LocalOPSettleService.cs" />
     <Compile Include="Business\Local\LocalMedDirDownloadProcess.cs" />
     <Compile Include="Business\Local\LocalPayFundSplitService.cs" />
-    <Compile Include="Business\Local\LocalGetPatientInfoProcess.cs" />
+    <Compile Include="Business\Local\LocalMobileOrderInfoProcess.cs" />
     <Compile Include="Business\Local\LocalSettleBillPrintProcess.cs" />
     <Compile Include="Business\Local\TestProcess.cs" />
     <Compile Include="Business\Other\MedDirDownloadProcess.cs" />