瀏覽代碼

事前事中

353489937@qq.com 7 月之前
父節點
當前提交
3271b8b44e

二進制
.vs/JiNanMI/v16/.suo


+ 12 - 8
Business/HisMainBusiness.cs

@@ -1858,12 +1858,12 @@ namespace PTMedicalInsurance.Business
                 ////先签到
                 //JObject jo9001Rtn = new JObject();
                 //cBus.signIn(out jo9001Rtn);
-
-                //if (trig_scen == "5")
-                //{
-                //    outparam = inparam;
-                //}
-                //else
+                //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
+                if (trig_scen == "2")
+                {
+                    outparam = inparam;
+                }
+                else
                 {
                     //获取HIS返回的内容
                     if (hIS.PreAnalysis(out outparam) != 0)
@@ -1890,6 +1890,10 @@ namespace PTMedicalInsurance.Business
                         outparam = JsonHelper.getDestValue(joRtn, "output.message");
                         return -1;
                     }
+                    if (JsonHelper.getDestValue(joRtn, "output.result") == "")
+                    {
+                        return 0;
+                    }
 
                     JArray jaResult = JArray.Parse(JsonHelper.getDestValue(joRtn, "output.result"));
                     if (jaResult.HasValues)
@@ -1988,8 +1992,8 @@ namespace PTMedicalInsurance.Business
                         pat.mdtrtID = JsonHelper.getDestValue(joInparam, "insuAdmObj.mdtrt_id");
                         pat.insuplc_admdvs = JsonHelper.getDestValue(joInparam, "insuAdmObj.insuplc_admdvs");
                         pat.name = JsonHelper.getDestValue(joInparam, "insuAdmObj.psn_name");
-                        pat.billID = JsonHelper.getDestValue(joInparam, "params[0].billID");
-                        Global.pat.insuType = JsonHelper.getDestValue(joInparam, "insuAdmObj.insutype");
+                        //pat.billID = JsonHelper.getDestValue(joInparam, "params[0].billID");
+                        //Global.pat.insuType = JsonHelper.getDestValue(joInparam, "insuAdmObj.insutype");
                         break;
                     }
                 default:

+ 2 - 1
Business/Inpatient/IPFeeUploadProcess.cs

@@ -36,7 +36,8 @@ namespace PTMedicalInsurance.Business
             {
                 Global.pat.insuplc_admdvs = "370102";
                 Global.inf.areaCode = "370102";
-                if (hBus.PreAnalysis("5", "", out errMsg) != 0)
+                //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
+                if (hBus.PreAnalysis("9", "", out errMsg) != 0)
                 {
                     return Exception("事前分析", errMsg);
                 }

+ 8 - 8
Business/Inpatient/IPPreSettlementProcess.cs

@@ -65,14 +65,14 @@ namespace PTMedicalInsurance.Business
             #endregion
 
             #region 事中分析
-            string errMsg;
-            if (Global.curEvt.ext.isOpenAnalysis)
-            {
-                if (hBus.InProcessAnalysis(out errMsg) != 0)
-                {
-                    return Exception(-1, "InProcessAnalysis", errMsg);
-                }
-            }
+            //string errMsg;
+            //if (Global.curEvt.ext.isOpenAnalysis)
+            //{
+            //    if (hBus.InProcessAnalysis(out errMsg) != 0)
+            //    {
+            //        return Exception(-1, "InProcessAnalysis", errMsg);
+            //    }
+            //}
 
             #endregion
 

+ 11 - 1
Business/Outpatient/OPPreSettlementProcess.cs

@@ -20,6 +20,16 @@ namespace PTMedicalInsurance.Business
         /// <returns></returns>
         public override CallResult Process(JObject joReg)
         {
+            ////事前分析
+            if (Global.curEvt.ext.isOpenAnalysis)
+            {
+                //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
+                if (hBus.PreAnalysis("7", "", out outParam) != 0)
+                {
+                    return Error(-1, "门诊就诊信息上传成功后调用3101事前服务失败");
+                }
+            }
+
             JObject joRtn = new JObject();
             //调用IRIS获取医保各项金额
             if (mIS.getSumFee(out outParam) != 0)
@@ -70,7 +80,7 @@ namespace PTMedicalInsurance.Business
             JObject jo2206Rtn = invoker.invokeCenterService(TradeEnum.OutpatientPreSettlement, jo2206Data);
             if (JsonHelper.parseCenterRtnValue(jo2206Rtn, out outParam) != 0)
             {
-                return Exception(-1, "出院预结算", outParam);
+                return Exception(-1, "门诊预结算", outParam);
             }
 
             //返回给HIS进行预结算判断

+ 1 - 0
Business/Outpatient/OPSettlementProcess.cs

@@ -36,6 +36,7 @@ namespace PTMedicalInsurance.Business
 
                 }
                 //返回给HIS
+                joSettlement.Add("insuplc_admdvs",Global.pat.insuplc_admdvs);
                 JObject joSetlinfo = JObject.Parse(JsonHelper.getDestValue(joRtn, "output.setlinfo"));
                 if (hIS.returnOutpatSettlementInfo(joSettlement, joSetlinfo, out outParam) != 0)
                 {

+ 1 - 1
Helper/InvokeHelper.cs

@@ -464,11 +464,11 @@ namespace PTMedicalInsurance.Helper
                 JObject joOutPlain = new JObject(JObject.Parse(outParamPlain));
                 JArray jaParams = new JArray();
                 JObject joParam = new JObject();
+                joIn.Add("infno", JsonHelper.getDestValue(joInParam, "info"));
                 joParam.Add("inParam", JObject.FromObject(joIn));
                 joParam.Add("outParam", JObject.FromObject(joOut));
                 joParam.Add("inParamPlain", JObject.FromObject(joInPlain));
                 joParam.Add("outParamPlain", JObject.FromObject(joOutPlain));
-
                 joParam.Add("HospitalDr", Global.inf.hospitalDr);
                 joParam.Add("InterfaceDr", Global.inf.interfaceDr);
                 joParam.Add("updateUserID", Global.user.ID);

+ 22 - 10
InsuBusiness.cs

@@ -108,12 +108,12 @@ namespace PTMedicalInsurance
                     {
                         if (businessType != "BasicData")//如果是打开数据对照界面不调用初始化 
                         {
-                            if (!Global.curEvt.needSignIn)
-                            {
-                                Global.curEvt.signno = "000000";
-                                rtnResult = JsonHelper.setIrisReturnValue(0, "签到成功", joRtn).ToString();
-                            }
-                            else
+                            //if (!Global.curEvt.needSignIn)
+                            //{
+                            //    Global.curEvt.signno = "000000";
+                            //    rtnResult = JsonHelper.setIrisReturnValue(0, "签到成功", joRtn).ToString();
+                            //}
+                            //else
                             {
                                 CallResult callResult = new SignInProcess().Process(joRtn);
                                 rtnResult = callResult.Data;
@@ -566,6 +566,7 @@ namespace PTMedicalInsurance
                     }
                     
                 }
+ 
                 //获取pat
                 hBus.GetAgentFunHisInfo(businessType, joInParam, out Global.pat);
                 switch (businessType)
@@ -626,19 +627,30 @@ namespace PTMedicalInsurance
                         }
                     case "PreAndInProcessAnalysis"://事前分析  诊间只有住院的事前分析
                         {
-                            Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(joInParam, "params[0].admID"));
+                            //Global.pat.adm_Dr = int.Parse(JsonHelper.getDestValue(joInParam, "params[0].admID"));
                             JObject joResult = new JObject();
-
                             joResult.Add("result", JObject.Parse(JsonHelper.getDestValue(joParam, "insuData")));
+                            Global.writeLog(joResult.ToString());
                             //事前分析
                             if (Global.curEvt.ext.isOpenAnalysis)
                             {
-                                if (hBus.PreAnalysis("5", joResult.ToString(), out errMsg) != 0)
+                                //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
+                                if (hBus.PreAnalysis("2", joResult.ToString(), out errMsg) != 0)
+                                {
+                                    rtnResult = JsonHelper.setExceptionJson(-1, "PreAndInProcessAnalysis 交易", errMsg).ToString();
+                                    break;
+                                }
+                                else
                                 {
-                                    MessageBox.Show(errMsg);
+                                    rtnResult = JsonHelper.setExceptionJson(0, "PreAndInProcessAnalysis 交易", "上传成功!").ToString();
                                     break;
                                 }
                             }
+                            else 
+                            {
+                                rtnResult = JsonHelper.setExceptionJson(-1, "PreAndInProcessAnalysis 交易", "本地配置文件isOpenAnalysis设置为不启用!").ToString();
+                                break;
+                            }
 
                             break;
                         }

+ 20 - 3
Variables/Global.cs

@@ -18,7 +18,7 @@ using System.Threading.Tasks;
 using PTMedicalInsurance.Common;
 using System.Reflection;
 using System.IO;
-
+using Newtonsoft.Json.Linq;
 
 namespace PTMedicalInsurance.Variables
 {
@@ -74,13 +74,30 @@ namespace PTMedicalInsurance.Variables
         }
         public static void writeLog_Iris(string tradeName, string inParam, string outParam)
         {
-            string logDir = Global.curEvt.path  + "\\Log", logName = DateTime.Now.ToString("yyyy-MM-dd") + "_iris.Log";
+            if (inParam.Contains("09010021"))
+            {
+                JObject joRtn = JObject.Parse(outParam);
+                if (joRtn["errorCode"].ToString() == "0")
+                {
+                    return;
+                }
+            }
+
+            string logDir = Global.curEvt.path + "\\Log", logName = DateTime.Now.ToString("yyyy-MM-dd") + "_iris.Log";
             Log log = new Log(logDir, logName);
 
             string content = "****************************交易开始(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + ")****************************" + "\r\n";
             content = content + "交易名称:" + tradeName + "\r\n";
             content = content + "交易入参:" + inParam + "\r\n";
-            content = content + "交易出参:" + outParam + "\r\n";
+
+            if ((outParam.Length > 10000) && (!inParam.Contains("09010122")))
+            {
+                content = content + "交易出参:" + outParam.Substring(0, 9999) + "................" + "\r\n";
+            }
+            else
+            {
+                content = content + "交易出参:" + outParam + "\r\n";
+            }
             //content = content + "****************************交易结束(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff") + ")****************************" + "\r\n";
             log.Write(content);
         }