/// <summary>
        /// 处方上传
        /// </summary>
        /// <returns></returns>
        public ApiJsonResultData PrescriptionUpload(PrescriptionUploadWebParam param, HisBaseParam baseParam)
        {   //选择性上次
            var resultData = new ApiJsonResultData();

            if (param.BusinessIdDetailList != null && param.BusinessIdDetailList.Any())
            {
                var queryParam = new InpatientInfoDetailQueryBasiclevelParam();
                queryParam.IdList = param.BusinessIdDetailList;

                var resultSaveData = HttpHelp.HttpPost(Logs.ToJson(queryParam), "InpatientInfoDetailQuery",
                                                       new List <OutpatientDetailQueryBasiclevelDto>());
                if (resultSaveData.Any())
                {
                    var uploadData = resultSaveData.OrderBy(c => c.Id).ToList();

                    var uploadParam = new PrescriptionUploadParam();
                    uploadParam.PI_ZHY = param.PI_ZHY;
                    uploadParam.PI_JBR = baseParam.EmpIDCode;
                    uploadParam.CFMX   = uploadData.Select(c => new PrescriptionUploadCFMX()
                    {
                        CO     = "0",
                        AKA072 = "0",
                        AKC229 = "0"
                    }).ToList();
                }
            }

            return(resultData);
        }
Beispiel #2
0
 private void MessageBoxShow(ApiJsonResultData resultData)
 {
     if (!resultData.Success)
     {
         MessageBox.Show(resultData.Message);
     }
 }
Beispiel #3
0
        /// <summary>
        /// 处方数据上传
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData PrescriptionUploadData(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var uploadDataParam = JsonConvert.DeserializeObject <PrescriptionUploadParam>(param);
                var xmlStr          = XmlHelp.SaveXmlEntity(uploadDataParam);
                if (!xmlStr)
                {
                    throw new Exception("处方数据上传保存参数出错!!!");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("处方数据上传医保执行失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB004");
                if (result == 1)
                {
                    var resultStr = XmlHelp.DeSerializerModel(new PrescriptionUploadDto(), true);

                    var batchConfirmParam = new BatchConfirmParam()
                    {
                        BatchNumber = resultStr.ProjectBatch,
                        ConfirmType = 1,
                        MedicalInsuranceHospitalizationNo = uploadDataParam.MedicalInsuranceHospitalizationNo,
                        Operators = uploadDataParam.Operators
                    };
                    //批次确认
                    XmlHelp.SaveXmlEntity(batchConfirmParam);
                    MedicalInsuranceDll.CallService_cxjb("CXJB007");
                    var iniResult = XmlHelp.DeSerializerModel(new IniDto(), true);
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = JsonConvert.SerializeObject(baseParam),
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("CXJB007");

            return(resultData);
        }
Beispiel #4
0
        /// <summary>
        /// 职工入院登记修改
        /// </summary>
        /// <param name="paramc"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData ModifyWorkerHospitalization(string paramc, HisBaseParam baseParam)
        {
            var resultValue = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = paramc,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                var param     = JsonConvert.DeserializeObject <ModifyWorkerHospitalizationParam>(paramc);
                //返回状态
                var resultState = new byte[1024];
                //消息
                var msg = new byte[1024];

                MedicalInsuranceDll.ModifyHospitalization
                    (param.OrganizationCode,
                    param.MedicalInsuranceHospitalizationNo,
                    param.AdministrativeArea,
                    param.AdmissionDate,
                    param.AdmissionMainDiagnosisIcd10,
                    param.DiagnosisIcd10Two,
                    param.DiagnosisIcd10Three,
                    param.AdmissionMainDiagnosis,
                    param.InpatientArea,
                    param.BedNumber,
                    param.HospitalizationNo,
                    resultState,
                    msg
                    );
                if (CommonHelp.StrToTransCoding(resultState) != "1")
                {
                    throw new Exception(CommonHelp.StrToTransCoding(msg));
                }


                Logs.LogWriteData(new LogWriteDataParam()
                {
                    JoinJson   = JsonConvert.SerializeObject(param),
                    ReturnJson = "职工住院登记修改成功",
                    OperatorId = baseParam.OperatorId
                });
                resultValue.Data = "职工住院登记修改成功";
            }
            catch (Exception e)
            {
                resultValue.Success = false;
                resultValue.Message = e.Message;
            }
            return(resultValue);
        }
        ///// <summary>
        //  /// 门诊方法集合
        //  /// </summary>
        //  /// <param name="param"></param>
        //  /// <param name="baseParam"></param>
        //  /// <param name="methodName"></param>
        //  /// <returns></returns>
        //public string OutpatientMethods(string param, string baseParam, string methodName)
        //{
        //    //反射获取 命名空间 + 类名
        //    string className = "BenDingActive.Service.OutpatientDepartmentService";
        //    var resultData=  MedicalInsuranceExecute(param, baseParam, methodName, className);
        //    return resultData;
        //}
        ///// <summary>
        ///// 住院方法集合
        ///// </summary>
        ///// <param name="param"></param>
        ///// <param name="baseParam"></param>
        ///// <param name="methodName"></param>
        ///// <returns></returns>
        //public string HospitalizationMethods(string param, string baseParam, string methodName)
        //{
        //    //反射获取 命名空间 + 类名
        //    string className = "BenDingActive.Service.HospitalizationService";
        //    var resultData = MedicalInsuranceExecute(param, baseParam, methodName, className);
        //    return resultData;
        //}
        /// <summary>
        /// 银海医保方法集合
        /// </summary>
        /// <param name="param"></param>

        /// <returns></returns>
        public string YinHaiMethods(string param)
        {
            Logs.LogWriteData(new LogWriteDataParam()
            {
                JoinJson = param
            });
            var resultData = new ApiJsonResultData();
            var iniParam   = JsonConvert.DeserializeObject <GetYinHaiBaseParam>(param);

            if (iniParam != null)
            {
                switch (iniParam.TransactionNumber)
                {
                case "ConfirmDeal":
                    resultData = yinHaiService.ConfirmDeal(iniParam.SerialNumber, iniParam.VerificationCode,
                                                           iniParam.UserId);
                    break;

                case "CancelDeal":
                    resultData = yinHaiService.CancelDeal(iniParam.SerialNumber, iniParam.VerificationCode,
                                                          iniParam.UserId);
                    break;

                case "Getuncertaintytrade":
                    resultData = yinHaiService.Getuncertaintytrade(iniParam.TransactionControlXml, iniParam.TransactionInputXml,
                                                                   iniParam.UserId);
                    break;

                case "03":
                    resultData = yinHaiService.GetUserInfo(iniParam.TransactionControlXml, iniParam.TransactionInputXml,
                                                           iniParam.UserId);
                    break;

                case "05":
                    resultData = yinHaiService.MedicalInsuranceSignIn(iniParam.TransactionControlXml, iniParam.TransactionInputXml,
                                                                      iniParam.UserId);
                    break;

                default:
                    resultData = yinHaiService.YiHaiMedicalInsuranceOperation(new YiHaiMedicalInsuranceOperationParam
                    {
                        ControlParam      = iniParam.TransactionControlXml,
                        InputParam        = iniParam.TransactionInputXml,
                        OperatorId        = iniParam.UserId,
                        TransactionNumber = iniParam.TransactionNumber
                    });
                    break;
                }
            }

            ////反射获取 命名空间 + 类名
            //string className = "BenDingActive.Service.YinHaiService";
            //var resultData = YinHaiMedicalInsuranceExecute(controlParam, inputParam, methodName, operatorId, className);
            return(JsonConvert.SerializeObject(resultData));
        }
Beispiel #6
0
        /// <summary>
        /// 职工取消结算
        /// </summary>
        /// <param name="paramc"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData WorkerSettlementCancel(string paramc, HisBaseParam baseParam)
        {
            var resultValue = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = paramc,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                var param     = JsonConvert.DeserializeObject <WorkerSettlementCancelParam>(paramc);

                //返回状态
                var resultState = new byte[1024];
                //消息
                var msg      = new byte[1024];
                var yearSign = new byte[1024];
                MedicalInsuranceDll.WorkerSettlementCancel
                    (param.AdministrativeArea,
                    param.OrganizationCode,
                    param.MedicalInsuranceHospitalizationNo,
                    param.SettlementNo,
                    param.CancelLimit,
                    param.User.UserName,
                    yearSign,
                    resultState,
                    msg
                    );
                if (CommonHelp.StrToTransCoding(resultState) != "1")
                {
                    throw new Exception(CommonHelp.StrToTransCoding(msg));
                }

                Logs.LogWriteData(new LogWriteDataParam()
                {
                    JoinJson = JsonConvert.SerializeObject(param),

                    OperatorId = baseParam.OperatorId
                });
                resultValue.Data      = "取消成功!!!";
                resultValue.OtherInfo = CommonHelp.StrToTransCoding(yearSign);
            }
            catch (Exception e)
            {
                resultValue.Success = false;
                resultValue.Message = e.Message;
            }
            return(resultValue);
        }
Beispiel #7
0
        /// <summary>
        /// 门诊计划生育结算
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public ApiJsonResultData OutpatientPlanBirthSettlement(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception("门诊计划生育结算保存参数出错");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("SYBX005");
                if (result != 1)
                {
                    throw new Exception("门诊计划生育结算执行出错!!!");
                }
                if (result == 1)
                {
                    var resultStr = XmlHelp.SerializerModelJson();
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                    MedicalInsuranceDll.DisConnectAppServer_cxjb("SYBX005");
                    //获取用余额
                    var userInfo = GetUserInfoEntity("", baseParam);
                    resultData.OtherInfo = userInfo.InsuranceType == "310" ? userInfo.WorkersInsuranceBalance.ToString(CultureInfo.InvariantCulture)
                        : userInfo.ResidentInsuranceBalance.ToString(CultureInfo.InvariantCulture);
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }

            return(resultData);
        }
Beispiel #8
0
        /// <summary>
        /// 门诊月结汇总
        /// </summary>
        /// <param name="param"></param>
        public ApiJsonResultData MonthlyHospitalization(string param, HisBaseParam baseParam)
        {
            Logs.LogWrite(new LogParam()
            {
                Params = param,
                Msg    = JsonConvert.SerializeObject(baseParam)
            });
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                var iniParam = JsonConvert.DeserializeObject <MonthlyHospitalizationParticipationParam>(param);
                iniParam.StartTime = Convert.ToDateTime(iniParam.StartTime).ToString("yyyyMMdd");
                iniParam.EndTime   = Convert.ToDateTime(iniParam.EndTime).ToString("yyyyMMdd");
                var xmlStr = XmlHelp.SaveXmlEntity(iniParam);
                if (!xmlStr)
                {
                    throw new Exception("门诊月结汇总保存参数出错");
                }

                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("TPYP214");
                if (result != 1)
                {
                    throw new Exception("门诊月结汇总执行出错!!!");
                }
                if (result == 1)
                {
                    var resultStr = XmlHelp.SerializerModelJson();
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("TPYP214");
            return(resultData);
        }
Beispiel #9
0
        /// <summary>
        /// 获取签到人员id
        /// </summary>
        public ApiJsonResultData GetSignInUserId(string controlParam, string inputParam, string operatorId)
        {
            var resultData = new ApiJsonResultData();
            var userId     = YinHaiCOM.GetSignInUserId();

            //为空时
            if (string.IsNullOrWhiteSpace(userId))
            {
                resultData.Success = false;
            }
            resultData.Data = userId;

            return(resultData);
        }
Beispiel #10
0
        /// <summary>
        /// 门诊计划生育结算查询
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public ApiJsonResultData OutpatientPlanBirthSettlementQuery(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception("门诊计划生育结算查询保存参数出错");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("SYBX007");
                if (result != 1)
                {
                    throw new Exception("门诊计划生育结算查询执行出错!!!");
                }
                if (result == 1)
                {
                    var data      = XmlHelp.DeSerializerModel(new WorkerBirthPreSettlementJsonDto(), true);
                    var resultStr = JsonConvert.SerializeObject(data);
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("SYBX007");
            return(resultData);
        }
Beispiel #11
0
        /// <summary>
        /// 医保出院费用结算
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData LeaveHospitalSettlement(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception("居民住院结算保存参数出错!!!");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("居民住院结算医保执行失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB010");
                if (result == 1)
                {
                    var resultStr = XmlHelp.SerializerModelJson();
                    MedicalInsuranceDll.DisConnectAppServer_cxjb("CXJB010");
                    var userInfo = GetUserInfoEntity(baseParam);
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data      = resultStr;
                    resultData.OtherInfo = userInfo.ResidentInsuranceBalance.ToString();
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }

            return(resultData);
        }
Beispiel #12
0
        /// <summary>
        /// 项目下载
        /// </summary>
        public ApiJsonResultData ProjectDownload(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception("项目下载保存参数出错");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("项目下载执行出错!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB019");
                if (result == 1)
                {
                    string strXml    = XmlHelp.DeSerializerModelStr("ROWDATA");
                    var    data      = XmlHelp.DeSerializer <ResidentProjectDownloadDto>(strXml);
                    var    resultStr = JsonConvert.SerializeObject(data);
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("CXJB019");
            return(resultData);
        }
Beispiel #13
0
        /// <summary>
        /// 医保操作
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        /// <param name="code">医保编码</param>
        /// <param name="tipsMsg">提示信息</param>
        /// <returns></returns>
        private ApiJsonResultData MedicalInsuranceOperation(string param, HisBaseParam baseParam, string code, string tipsMsg)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception(tipsMsg + "保存参数出错!!!");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception(tipsMsg + "医保执行失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb(code);
                if (result == 1)
                {
                    var resultStr = XmlHelp.SerializerModelJson();

                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb(code);
            return(resultData);
        }
Beispiel #14
0
        /// <summary>
        /// 取消门诊月结汇总
        /// </summary>
        /// <param name="param"></param>
        public ApiJsonResultData CancelMonthlyHospitalization(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };

            try
            {
                var xmlStr = XmlHelp.SaveXmlStr(param);
                if (!xmlStr)
                {
                    throw new Exception("取消门诊月结汇总保存参数出错");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("TPYP215");
                if (result != 1)
                {
                    throw new Exception("取消门诊月结汇总执行出错!!!");
                }
                if (result == 1)
                {
                    var resultStr = XmlHelp.SerializerModelJson();
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = param,
                        ReturnJson = resultStr,
                        OperatorId = baseParam.OperatorId
                    });
                    resultData.Data = resultStr;
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("TPYP215");
            return(resultData);
        }
Beispiel #15
0
        // <summary>
        // 读卡获取信息
        // </summary>
        ///<param name = "paramStr"></param >
        /// <param name="baseParam"></param>
        public ApiJsonResultData ReadCardInfo(string paramStr, HisBaseParam baseParam)
        {
            var param      = JsonConvert.DeserializeObject <ReadCardInfoParam>(paramStr);
            var resultData = new ApiJsonResultData {
                Success = true
            };
            //姓名
            var patientName = new byte[1024];
            //性别
            var patientSex = new byte[1024];
            //出生日期
            var birthday = new byte[1024];

            //身份证号
            var idCardNo = new byte[1024];
            //联系地址
            var contactAddress = new byte[1024];
            //职工医保账户余额
            var workersInsuranceBalance = new byte[1024];
            //职工卡号
            var workersCardNo = new byte[1024];
            //返回状态
            var resultState = new byte[1024];
            //消息
            var msg      = new byte[1024];
            var userData = new GetResidentUserInfoDto();

            try
            {
                if (param == null)
                {
                    throw new Exception("职工结算入参不能为空!!!");
                }
                if (string.IsNullOrWhiteSpace(baseParam.Account))
                {
                    throw new Exception("医保账户不能为空!!!");
                }
                if (string.IsNullOrWhiteSpace(baseParam.Pwd))
                {
                    throw new Exception("医保账户密码不能为空!!!");
                }
                if (string.IsNullOrWhiteSpace(param.CardPwd))
                {
                    throw new Exception("卡密码不能为空!!!");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                //居民职工
                if (param.InsuranceType == 0)
                {
                    var readCardData = MedicalInsuranceDll.ReadCardInfo_cxjb("1", param.CardPwd);
                    if (readCardData != 1)
                    {
                        throw new Exception("读卡失败!!!");
                    }
                    userData = XmlHelp.DeSerializerModel(new Model.Dto.GetResidentUserInfoDto(), true);
                    //数据日志存入
                    param.CardPwd = "******";
                    Logs.LogWriteData(new LogWriteDataParam()
                    {
                        JoinJson   = JsonConvert.SerializeObject(param),
                        ReturnJson = JsonConvert.SerializeObject(userData),
                        OperatorId = baseParam.OperatorId
                    });
                    if (userData.ReturnState == "1")
                    {
                        resultData.Data = JsonConvert.SerializeObject(userData);
                    }
                    else
                    {
                        throw new Exception(userData.Msg);
                    }
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogWrite(new LogParam()
                {
                    Msg          = e.Message,
                    OperatorCode = baseParam.OperatorId,
                    Params       = Logs.ToJson(param),
                    ResultData   = Logs.ToJson(userData)
                });
            }
            return(resultData);
        }
Beispiel #16
0
        /// <summary>
        /// 职工结算
        /// </summary>
        /// <param name="paramc"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData WorkerHospitalizationSettlement(string paramc, HisBaseParam baseParam)
        {
            var resultValue = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = paramc,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                var param     = JsonConvert.DeserializeObject <WorkerHospitalizationSettlementParam>(paramc);

                //社保住院号
                var documentNo = new byte[1024];
                //发生费用金额
                var totalAmount = new byte[1024];
                //基本统筹支付
                var basicOverallPay = new byte[1024];
                //补充医疗保险支付金额
                var supplementPayAmount = new byte[1024];
                //专项基金支付金额
                var specialFundPayAmount = new byte[1024];
                //公务员补贴
                var civilServantsSubsidies = new byte[1024];
                //公务员补助
                var civilServantsSubsidy = new byte[1024];
                //其它支付金额
                var otherPaymentAmount = new byte[1024];
                //账户支付
                var accountPayment = new byte[1024];
                //现金支付
                var cashPayment = new byte[1024];
                //起付金额
                var paidAmount = new byte[1024];
                // 备注
                var remark = new byte[1024];
                //返回状态
                var resultState = new byte[1024];
                //消息
                var msg = new byte[1024];
                MedicalInsuranceDll.WorkerHospitalizationSettlement
                    (param.OrganizationCode,
                    param.MedicalInsuranceHospitalizationNo,
                    param.AdministrativeArea,
                    param.IsHospitalizationFrequency,
                    param.Operators,
                    param.LeaveHospitalDate,
                    param.LeaveHospitalState,
                    param.AdmissionMainDiagnosisIcd10,
                    param.DiagnosisIcd10Two,
                    param.DiagnosisIcd10Three,
                    param.LeaveHospitalMainDiagnosis,
                    totalAmount,
                    basicOverallPay,
                    supplementPayAmount,
                    specialFundPayAmount,
                    civilServantsSubsidies,
                    civilServantsSubsidy,
                    otherPaymentAmount,
                    accountPayment,
                    cashPayment,
                    paidAmount,
                    documentNo,
                    remark,
                    resultState,
                    msg
                    );
                if (CommonHelp.StrToTransCoding(resultState) != "1")
                {
                    throw new Exception(CommonHelp.StrToTransCoding(msg));
                }
                var resultData = new WorkerHospitalizationPreSettlementDto()
                {
                    DocumentNo             = CommonHelp.StrToTransCoding(documentNo),
                    TotalAmount            = Convert.ToDecimal(CommonHelp.StrToTransCoding(totalAmount)),
                    BasicOverallPay        = Convert.ToDecimal(CommonHelp.StrToTransCoding(basicOverallPay)),
                    SupplementPayAmount    = Convert.ToDecimal(CommonHelp.StrToTransCoding(supplementPayAmount)),
                    SpecialFundPayAmount   = Convert.ToDecimal(CommonHelp.StrToTransCoding(specialFundPayAmount)),
                    CivilServantsSubsidies = Convert.ToDecimal(CommonHelp.StrToTransCoding(civilServantsSubsidies)),
                    CivilServantsSubsidy   = Convert.ToDecimal(CommonHelp.StrToTransCoding(civilServantsSubsidy)),
                    OtherPaymentAmount     = Convert.ToDecimal(CommonHelp.StrToTransCoding(otherPaymentAmount)),
                    AccountPayment         = Convert.ToDecimal(CommonHelp.StrToTransCoding(accountPayment)),
                    CashPayment            = Convert.ToDecimal(CommonHelp.StrToTransCoding(cashPayment)),
                    PaidAmount             = Convert.ToDecimal(CommonHelp.StrToTransCoding(paidAmount)),
                    Remark = CommonHelp.StrToTransCoding(cashPayment),
                };
                var infoEntity = GetUserInfoEntity(baseParam);
                resultValue.OtherInfo = infoEntity.WorkersInsuranceBalance.ToString();
                Logs.LogWriteData(new LogWriteDataParam()
                {
                    JoinJson   = JsonConvert.SerializeObject(param),
                    ReturnJson = JsonConvert.SerializeObject(resultData),
                    OperatorId = baseParam.OperatorId
                });
                resultValue.Data = JsonConvert.SerializeObject(resultData);
            }
            catch (Exception e)
            {
                resultValue.Success = false;
                resultValue.Message = e.Message;
            }
            return(resultValue);
        }
        public ApiJsonResultData HospitalizationRegister(QueryInpatientInfoBasicParam param, HisBaseParam baseParam)
        {  // 1.查询中间库当前病人是否入院
           // 1.1.1如果入院直接返回查询结果
           // 1.1.2如果住院病人无数据则对当前病人进行基础入院信息下载(GetInpatientInfo),再进行查询并返回结果
           // 1.2 判断医保信息回写至基层系统CXJB002数据是否存在入院数据
           // 1.2.1 如果已有入院登记记录(则返回已有入院记录)
           // 1.2.2 居民医保进行入院办理(HospitalizationRegister)
           // 1.2.3 更新医保人员信息
           // 1.2.4 医保信息回写至基层系统CXJB002
           //-------------------------------

            var resultData = new ApiJsonResultData();

            try
            {
                //1.    1.1.1    1.1.2
                var result = HttpHelp.HttpPost(Logs.ToJson(param), "QueryInpatientInfo",
                                               new QueryInpatientInfoBasicLevelDto());

                if (result != null && !string.IsNullOrWhiteSpace(result.Id)) //判断是否存在
                {
                    var residentInfoParam = new ResidentInfoBasiclevelParam()
                    {
                        BusinessId = baseParam.BID,
                        IdCard     = result.身份证号,
                        OrgCode    = baseParam.OrgID
                    };
                    // 1.2
                    var saveDataAllQueryData = HttpHelp.HttpPost(Logs.ToJson(residentInfoParam),
                                                                 "QueryMedicalInsuranceResidentInfo",
                                                                 new MedicalInsuranceResidentInfoBasiclevelDto());
                    if (saveDataAllQueryData != null &&
                        !string.IsNullOrWhiteSpace(saveDataAllQueryData.DataAllId)) //判断是否存在
                    {                                                               //获取社保卡信息
                        if (saveDataAllQueryData.DataType == "003")
                        {                                                           //医保办理入院
                            //1.2.2居民医保进行入院办理(HospitalizationRegister)
                            var dateTime = HttpHelp.HttpPost("",
                                                             "GetServiceTime",
                                                             new ApiJsonResultData());
                            var RegisterParam = new HospitalizationRegisterParam()
                            {
                                PI_SFBZ    = param.PI_SFBZ,
                                PI_CRBZ    = param.PI_CRBZ,
                                PI_YLLB    = param.PI_YLLB,
                                PI_TES     = param.PI_TES,
                                PI_HKXZ    = param.PI_HKXZ,
                                PI_RYRQ    = Convert.ToDateTime(result.入院日期).ToString("yyyyMMdd"),
                                PI_ICD10   = result.入院主诊断ICD10,
                                PI_ICD10_2 = result.入院次诊断ICD10,
                                PI_RYZD    = result.入院主诊断,
                                PI_ZYBQ    = result.入院科室,
                                PI_CWH     = result.入院床位,
                                PI_YYZYH   = Convert.ToDateTime(dateTime.Data).ToString("yyyyMMddHHmmss") + baseParam.OrgID.ToString().Substring(0, 6),
                                PI_JBR     = baseParam.EmpIDCode,
                            };
                            var RegisterData = Resident.HospitalizationRegister(RegisterParam);
                            if (RegisterData.PO_FHZ == "1")
                            {
                                // 1.2.3 更新医保人员信息

                                var saveResidentInfoParam = new SaveMedicalInsuranceResidentInfoBasiclevelParam()
                                {
                                    YbOrgCode      = baseParam.YbOrgCode,
                                    BID            = baseParam.YbOrgCode,
                                    BsCode         = baseParam.BsCode,
                                    TransKey       = baseParam.TransKey,
                                    EmpID          = baseParam.EmpID,
                                    OrgID          = baseParam.OrgID,
                                    BusinessId     = baseParam.BID,
                                    ContentJson    = Logs.ToJson(RegisterParam),
                                    ResultDatajson = Logs.ToJson(RegisterData),
                                    DataAllId      = saveDataAllQueryData.DataAllId,
                                    DataId         = baseParam.BID,
                                    DataType       = baseParam.BsCode
                                };
                                var resultSaveData = HttpHelp.HttpPost(Logs.ToJson(residentInfoParam), "SaveMedicalInsuranceResidentInfo",
                                                                       new ApiJsonResultData());

                                //1.2.4医保信息回写至基层系统CXJB002

                                var DataAllBasiclevelParam = new SaveXmlDataServiceParam()
                                {
                                    YbOrgCode      = baseParam.YbOrgCode,
                                    OrgID          = baseParam.OrgID,
                                    BID            = baseParam.BID,
                                    EmpID          = baseParam.EmpID,
                                    BsCode         = baseParam.BsCode,
                                    TransKey       = baseParam.TransKey,
                                    Participation  = Logs.ToJson(RegisterParam),
                                    ResultData     = Logs.ToJson(RegisterData),
                                    BusinessNumber = "CXJB002",
                                };
                                //CXJB001 存入基层
                                var SaveDataAll = HttpHelp.HttpPost(Logs.ToJson(DataAllBasiclevelParam),
                                                                    "SaveMedicalInsuranceDataAll",
                                                                    new ApiJsonResultData());
                                if (SaveDataAll.Success == false)
                                {
                                    throw new Exception(SaveDataAll.Message);
                                }
                            }
                            else
                            {
                                throw new Exception(RegisterData.PO_MSG);
                            }
                        }
                        else
                        {
                            throw new Exception("BusinessId:" + saveDataAllQueryData.BusinessId + "DataType" +
                                                saveDataAllQueryData.DataType + "病人状态不正确");
                        }
                    }
                }
                else
                {
                    throw new Exception("IdCard:" + param.IdCard + "该病人未在基层系统中住院,请检查该病人是否离院!!!");
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogWrite(new LogParam()
                {
                    //Msg = data.Po_MSG,
                    Msg          = e.Message,
                    OperatorCode = baseParam.EmpID.ToString(),
                });
            }

            return(resultData);
        }
Beispiel #18
0
        /// <summary>
        /// 职工入院登记
        /// </summary>
        /// <param name="paramc"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ApiJsonResultData WorkerHospitalizationRegister(string paramc, HisBaseParam baseParam)
        {
            var resultValue = new ApiJsonResultData {
                Success = true
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params = paramc,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                var param     = JsonConvert.DeserializeObject <WorKerHospitalizationRegisterParam>(paramc);
                WorkerHospitalizationRegisterDto resultData;
                //社保住院号
                var medicalInsuranceHospitalizationNo = new byte[1024];
                //审批编号
                var approvalNumber = new byte[1024];
                //年住院次数
                var yearHospitalizationNumber = new byte[1024];
                //统筹已付金额
                var overallPlanningAlreadyAmount = new byte[1024];
                //统筹可付金额
                var overallPlanningCanAmount = new byte[1024];
                //返回状态
                var resultState = new byte[1024];
                //消息
                var msg = new byte[1024];
                //  param.AdministrativeArea,
                MedicalInsuranceDll.HospitalizationRegister
                    (param.IdentityMark,
                    param.AfferentSign,
                    param.AdministrativeArea,
                    param.OrganizationCode,
                    param.MedicalCategory,
                    param.AdmissionDate,
                    param.AdmissionMainDiagnosisIcd10,
                    param.DiagnosisIcd10Two,
                    param.DiagnosisIcd10Three,
                    param.AdmissionMainDiagnosis,
                    param.InpatientArea,
                    param.BedNumber,
                    param.HospitalizationNo,
                    param.Operators,
                    medicalInsuranceHospitalizationNo,
                    approvalNumber,
                    yearHospitalizationNumber,
                    overallPlanningAlreadyAmount,
                    overallPlanningCanAmount,
                    resultState,
                    msg
                    );
                if (CommonHelp.StrToTransCoding(resultState) != "1")
                {
                    throw new Exception(CommonHelp.StrToTransCoding(msg));
                }
                resultData = new WorkerHospitalizationRegisterDto()
                {
                    MedicalInsuranceHospitalizationNo = CommonHelp.StrToTransCoding(medicalInsuranceHospitalizationNo),
                    ApprovalNumber               = CommonHelp.StrToTransCoding(approvalNumber),
                    YearHospitalizationNumber    = CommonHelp.StrToTransCoding(yearHospitalizationNumber),
                    OverallPlanningAlreadyAmount = CommonHelp.StrToTransCoding(overallPlanningAlreadyAmount),
                    OverallPlanningCanAmount     = CommonHelp.StrToTransCoding(overallPlanningCanAmount),
                };
                var resultStr = JsonConvert.SerializeObject(resultData);
                Logs.LogWriteData(new LogWriteDataParam()
                {
                    JoinJson   = JsonConvert.SerializeObject(resultData),
                    ReturnJson = resultStr,
                    OperatorId = baseParam.OperatorId
                });
                resultValue.Data = resultStr;
            }
            catch (Exception e)
            {
                resultValue.Success = false;
                resultValue.Message = e.Message;
            }
            return(resultValue);
        }
        public ApiJsonResultData GetUserInfo()
        {
            var resultData = new ApiJsonResultData();
            //获取社保卡信息
            var hisBase = new HisBaseParam()
            {
                YbOrgCode = "003",
                OrgID     = Guid.NewGuid().ToString(),
                BID       = Guid.NewGuid().ToString(),
                EmpID     = "A2A4866484DC40F0A10FB7482603AABD",
                BsCode    = "003",
                TransKey  = Guid.NewGuid().ToString(),
            };
            //读取社保卡
            var Param = new UserInfoParam
            {
                PI_CRBZ = "1",
                PI_SFBZ = "513701199002124815"
            };

            try
            {
                var data = Resident.GetUserInfo(Param);
                if (data.PO_FHZ == "1")
                {
                    //查看当前病人是否有医保信息
                    var residentInfoParam = new ResidentInfoBasiclevelParam()
                    {
                        BusinessId = hisBase.BID,
                        IdCard     = data.PO_SFZH,
                        OrgCode    = hisBase.OrgID
                    };
                    var result = HttpHelp.HttpPost(Logs.ToJson(residentInfoParam), "QueryMedicalInsuranceResidentInfo",
                                                   new MedicalInsuranceResidentInfoBasiclevelDto());
                    if (result == null)
                    {//保存医保病人信息
                        var saveResidentInfoParam = new SaveMedicalInsuranceResidentInfoBasiclevelParam()
                        {
                            YbOrgCode      = hisBase.YbOrgCode,
                            BID            = hisBase.YbOrgCode,
                            BsCode         = hisBase.BsCode,
                            TransKey       = hisBase.TransKey,
                            EmpID          = hisBase.EmpID,
                            OrgID          = hisBase.OrgID,
                            BusinessId     = hisBase.BID,
                            ContentJson    = Logs.ToJson(residentInfoParam),
                            ResultDatajson = Logs.ToJson(data),
                            DataAllId      = Guid.NewGuid().ToString("N"),
                            DataId         = hisBase.BID,
                            IdCard         = data.PO_SFZH,
                            DataType       = hisBase.BsCode
                        };
                        var resultSaveData = HttpHelp.HttpPost(Logs.ToJson(residentInfoParam), "SaveMedicalInsuranceResidentInfo",
                                                               new ApiJsonResultData());
                    }
                    //CXJB001 存入基层
                    var saveXmlParam = new SaveXmlDataServiceParam()
                    {
                        YbOrgCode      = hisBase.YbOrgCode,
                        OrgID          = hisBase.OrgID,
                        BID            = hisBase.BID,
                        EmpID          = hisBase.EmpID,
                        BsCode         = hisBase.BsCode,
                        TransKey       = hisBase.TransKey,
                        Participation  = Logs.ToJson(Param),
                        ResultData     = Logs.ToJson(data),
                        BusinessNumber = "CXJB001",
                    };
                    var resultXml = HttpHelp.HttpPost(Logs.ToJson(saveXmlParam),
                                                      "SaveXmlData", new ApiJsonResultData());
                }
                //日志
                Logs.LogWrite(new LogParam()
                {
                    OperatorCode = hisBase.EmpID.ToString(),
                    Params       = Logs.ToJson(Param),
                    ResultData   = Logs.ToJson(data) //Logs.ToJson(data)
                });
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogWrite(new LogParam()
                {
                    Msg          = e.Message,
                    OperatorCode = hisBase.EmpID.ToString(),
                });
            }
            return(resultData);
        }
Beispiel #20
0
        /// <summary>
        /// 读卡获取个人基础资料
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        public ApiJsonResultData ReadCardUserInfo(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var data = new ResidentUserInfoJsonDto();

            try
            {
                var iniFile = new IniFile();
                //端口号
                var port = iniFile.GetIni();
                Logs.LogWrite(new LogParam()
                {
                    Params = param,
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                if (!string.IsNullOrWhiteSpace(param) == false)
                {
                    throw  new  Exception("密码不能为空!!!");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.ReadCardInfo_cxjb(port, param);
                if (result == 1)
                {
                    data = XmlHelp.DeSerializerModel(new ResidentUserInfoJsonDto(), true);
                    if (data.ReturnState == "1")
                    {
                        var userInfoDto = UserInfoToDto(data);
                        resultData.Data = JsonConvert.SerializeObject(userInfoDto);
                        Logs.LogWriteData(new LogWriteDataParam()
                        {
                            JoinJson   = JsonConvert.SerializeObject(param),
                            ReturnJson = JsonConvert.SerializeObject(userInfoDto),
                            OperatorId = baseParam.OperatorId
                        });
                    }
                    else
                    {
                        throw new Exception(data.Msg);
                    }
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = baseParam.OperatorId,
                    Params       = Logs.ToJson(param),
                    ResultData   = Logs.ToJson(data)
                });
            }
            return(resultData);
        }
Beispiel #21
0
        /// <summary>
        /// 获取个人基础资料
        /// </summary>
        /// <param name="controlParam"></param>
        /// <param name="inputParam"></param>
        /// <param name="operatorId"></param>
        /// <returns></returns>
        public ApiJsonResultData GetUserInfo(string controlParam, string inputParam, string operatorId)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var data = new ResidentUserInfoJsonDto();

            string xmlStr = @"<?xml version='1.0' encoding='GBK' standalone='yes'?>
                              <output>
                    <aac001>010025489</aac001>
                    <aac002>510103196510030982</aac002>
                    <aac003>李蓉</aac003>
                    <aac004>2</aac004>
                    <aac006>1965-10-03 00:00:00</aac006>
                    <akc023>54</akc023>
                    <akc021>02</akc021>
                    <ykc117></ykc117>
                    <grzhye>
                        <row>
                            <ykc303>城乡居民基本医疗帐户</ykc303>
                            <ykc194>0.00</ykc194>
                        </row>
                    </grzhye>
                    <yab003>0003</yab003>
                    <aae013></aae013>
                    <aab001>51010600100100</aab001>
                    <aab004>金牛-荷花池辖区街道办事处-荷花社区</aab004>
                    <ydbz></ydbz>
                    <gsdataset>
                        <yke109></yke109>
                        <alc022></alc022>
                        <aka130></aka130>
                    </gsdataset>
                </output>";

            var iniParam = new DealModel()
            {
                TransactionNumber     = "03",
                TransactionControlXml = XmlHelp.YinHaiXmlSerialize(new UserInfoControlXmlDto()
                {
                    edition = "3"
                }),
                TransactionInputXml = XmlHelp.YinHaiXmlSerialize(new UserInfoDataXmlDto()),
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params       = controlParam,
                    ResultData   = inputParam,
                    OperatorCode = operatorId
                });
                YinHaiCOM.CallDeal(iniParam);
                //iniParam.TransactionOutputXml = xmlStr;
                //iniParam.along_appcode = 1;
                if (iniParam.along_appcode < 0)
                {
                    throw new Exception("yiHai" + iniParam.Msg);
                }
                if (string.IsNullOrWhiteSpace(iniParam.TransactionOutputXml))
                {
                    throw new Exception("yiHai医保执行获取个人信息为空");
                }
                var userData   = XmlHelp.YiHaiDeSerializerModelJson(new GetUserInfoJsonDto(), iniParam.TransactionOutputXml);
                var userEntity = GetUserInfoEntity(userData);
                resultData.Data = JsonConvert.SerializeObject(userEntity);

                Logs.LogWriteData(new LogWriteDataParam
                {
                    JoinJson   = "",
                    ReturnJson = JsonConvert.SerializeObject(iniParam),
                    OperatorId = operatorId
                });
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogErrorWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = operatorId,
                    ResultData   = JsonConvert.SerializeObject(iniParam)
                });
            }

            return(resultData);
        }
Beispiel #22
0
        /// <summary>
        /// 查询不确定交易
        /// </summary>
        /// <param name="controlParam"></param>
        /// <param name="inputParam"></param>
        /// <param name="operatorId"></param>
        /// <returns></returns>
        public ApiJsonResultData Getuncertaintytrade(string controlParam, string inputParam, string operatorId)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var param = new YiHaiMedicalInsuranceOperationParam
            {
                ControlParam = controlParam,
                OperatorId   = operatorId,
                InputParam   = inputParam,
            };

            var iniParam = new DealModel()
            {
                TransactionNumber = param.ControlParam,
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params       = param.ControlParam,
                    ResultData   = param.InputParam,
                    OperatorCode = param.OperatorId
                });

                if (!string.IsNullOrWhiteSpace(param.TransactionOutputXml))
                {
                    iniParam.TransactionOutputXml = param.TransactionOutputXml;
                    iniParam.along_appcode        = 1;
                }
                else
                {
                    YinHaiCOM.Getuncertaintytrade(iniParam);

                    //var outputData = new QueryUncertainTransactionOutputXmlDto();
                    //var listRow = new List<QueryUncertainTransactionOutputRowXmlDto>();
                    //listRow.Add(new QueryUncertainTransactionOutputRowXmlDto()
                    //{
                    //    SerialNumber = "12C0000SJ37F6E2F8",
                    //    Key = new List<QueryUncertainTransactionOutputRowKeyXmlDto>()
                    //    {
                    //        new QueryUncertainTransactionOutputRowKeyXmlDto()
                    //        { SettlementNo = "0003S293400370",
                    //          VisitNo = "00002005289161163",
                    //            ReimbursementType = "门诊结算"
                    //        },new QueryUncertainTransactionOutputRowKeyXmlDto()
                    //        {
                    //            SettlementNo = "0003S293400370",
                    //            VisitNo = "00002005289161163",
                    //            ReimbursementType = "门诊结算"
                    //        }
                    //    }
                    //});
                    //outputData.Row = listRow;
                    //XmlHelp.YinHaiXmlSerialize(outputData);
                    //iniParam.TransactionOutputXml =
                    //----

                    if (iniParam.along_appcode < 0)
                    {
                        throw new Exception("yinHaiMsg" + iniParam.Msg);
                    }
                }
                resultData.Data = JsonConvert.SerializeObject(iniParam);

                Logs.LogWriteData(new LogWriteDataParam
                {
                    JoinJson   = "",
                    ReturnJson = resultData.Data.ToString(),
                    OperatorId = param.OperatorId
                });
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogErrorWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = param.OperatorId,
                    ResultData   = JsonConvert.SerializeObject(iniParam)
                });
            }

            return(resultData);
        }
        public ApiJsonResultData HospitalizationModify(HospitalizationModifyWebParam param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData();

            try
            {
                var result = HttpHelp.HttpPost(Logs.ToJson(param), "QueryInpatientInfo",
                                               new QueryInpatientInfoBasicLevelDto());

                var RegisterParam = new HospitalizationModifyParam()
                {
                    PI_TES     = param.PI_TES,
                    PI_HKXZ    = param.PI_HKXZ,
                    PI_RYRQ    = Convert.ToDateTime(result.入院日期).ToString("yyyyMMdd"),
                    PI_ICD10   = result.入院主诊断ICD10,
                    PI_ICD10_2 = result.入院次诊断ICD10,
                    PI_RYZD    = result.入院主诊断,
                    PI_ZYBQ    = result.入院科室,
                    PI_CWH     = result.入院床位,
                    PI_ZHY     = param.PI_ZYH,
                    PI_YYZYH   = param.PI_YYZYH,
                };
                //入院登记修改
                var RegisterData = Resident.HospitalizationModify(RegisterParam);
                if (RegisterData.PO_FHZ == "1")
                {
                    //1.2.3 医保信息回写至基层系统CXJB002
                    var hisMedicalInsuranceId  = Guid.NewGuid().ToString("N");
                    var DataAllBasiclevelParam = new SaveXmlDataServiceParam()
                    {
                        YbOrgCode      = baseParam.YbOrgCode,
                        OrgID          = baseParam.OrgID,
                        BID            = baseParam.BID,
                        EmpID          = baseParam.EmpID,
                        BsCode         = baseParam.BsCode,
                        TransKey       = baseParam.TransKey,
                        Participation  = Logs.ToJson(RegisterParam),
                        ResultData     = Logs.ToJson(RegisterData),
                        BusinessNumber = "CXJB003",
                    };
                    //CXJB001 存入基层
                    var SaveDataAll = HttpHelp.HttpPost(Logs.ToJson(DataAllBasiclevelParam),
                                                        "SaveMedicalInsuranceDataAll",
                                                        new ApiJsonResultData());
                    if (SaveDataAll.Success == false)
                    {
                        throw new Exception(SaveDataAll.Message);
                    }
                }
                else
                {
                    Logs.LogWrite(new LogParam()
                    {
                        Msg          = RegisterData.PO_MSG,
                        OperatorCode = baseParam.EmpID.ToString(),
                        Params       = Logs.ToJson(RegisterParam),
                        ResultData   = Logs.ToJson(RegisterData)
                    });
                    throw new Exception(RegisterData.PO_MSG);
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
            }

            return(resultData);
        }
Beispiel #24
0
        /// <summary>
        /// 确认交易
        /// </summary>
        /// <param name="controlParam"></param>
        /// <param name="inputParam"></param>
        /// <param name="operatorId"></param>
        /// <returns></returns>
        public ApiJsonResultData ConfirmDeal(string controlParam, string inputParam, string operatorId)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var param = new YiHaiMedicalInsuranceOperationParam
            {
                ControlParam = controlParam,
                OperatorId   = operatorId,
                InputParam   = inputParam,
            };

            var iniParam = new DealModel()
            {
                SerialNumber     = controlParam,
                VerificationCode = inputParam,
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params       = param.ControlParam,
                    ResultData   = param.InputParam,
                    OperatorCode = param.OperatorId
                });

                if (!string.IsNullOrWhiteSpace(param.TransactionOutputXml))
                {
                    iniParam.TransactionOutputXml = param.TransactionOutputXml;
                    iniParam.along_appcode        = 1;
                }
                else
                {
                    YinHaiCOM.ConfirmDeal(iniParam);
                    //测试
                    //iniParam.along_appcode = 1;
                    if (iniParam.along_appcode < 0)
                    {
                        throw new Exception("yinHaiMsg" + iniParam.Msg);
                    }
                }
                resultData.Data = JsonConvert.SerializeObject(iniParam);

                Logs.LogWriteData(new LogWriteDataParam
                {
                    JoinJson   = "",
                    ReturnJson = resultData.Data.ToString(),
                    OperatorId = param.OperatorId
                });
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogErrorWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = param.OperatorId,
                    ResultData   = JsonConvert.SerializeObject(iniParam)
                });
            }

            return(resultData);
        }
Beispiel #25
0
        /// <summary>
        /// 获取个人基础资料
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        public ApiJsonResultData GetUserInfo(string param, HisBaseParam baseParam)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var data = new ResidentUserInfoJsonDto();

            try
            {//
                var userInfoParam = new ResidentUserInfoParam()
                {
                    AfferentSign = baseParam.AfferentSign,
                    IdentityMark = baseParam.IdentityMark
                };
                Logs.LogWrite(new LogParam()
                {
                    Params = JsonConvert.SerializeObject(userInfoParam),
                    Msg    = JsonConvert.SerializeObject(baseParam)
                });
                var xmlStr = XmlHelp.SaveXmlEntity(userInfoParam);
                if (!xmlStr)
                {
                    throw new Exception("获取个人基础资料保存参数出错");
                }
                var loginData = MedicalInsuranceDll.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
                if (loginData != 1)
                {
                    throw new Exception("医保登陆失败!!!");
                }
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB001");
                if (result == 1)
                {
                    data = XmlHelp.DeSerializerModel(new ResidentUserInfoJsonDto(), true);
                    if (data.ReturnState == "1")
                    {
                        var userInfoDto = UserInfoToDto(data);
                        resultData.Data = JsonConvert.SerializeObject(userInfoDto);
                        Logs.LogWriteData(new LogWriteDataParam()
                        {
                            JoinJson   = JsonConvert.SerializeObject(param),
                            ReturnJson = JsonConvert.SerializeObject(userInfoDto),
                            OperatorId = baseParam.OperatorId
                        });
                    }
                    else
                    {
                        throw  new Exception(data.Msg);
                    }
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = baseParam.OperatorId,
                    Params       = Logs.ToJson(param),
                    ResultData   = Logs.ToJson(data)
                });
            }
            MedicalInsuranceDll.DisConnectAppServer_cxjb("CXJB001");
            return(resultData);
        }
Beispiel #26
0
        /// <summary>
        /// 银海医保执行
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public ApiJsonResultData YiHaiMedicalInsuranceOperation(YiHaiMedicalInsuranceOperationParam param)
        {
            var resultData = new ApiJsonResultData {
                Success = true
            };
            var iniParam = new DealModel()
            {
                TransactionNumber     = param.TransactionNumber,
                TransactionControlXml = param.ControlParam,
                TransactionInputXml   = param.InputParam,
            };

            try
            {
                Logs.LogWrite(new LogParam()
                {
                    Params       = param.ControlParam,
                    ResultData   = param.InputParam,
                    OperatorCode = param.OperatorId
                });

                if (!string.IsNullOrWhiteSpace(param.TransactionOutputXml))
                {
                    iniParam.TransactionOutputXml = param.TransactionOutputXml;
                    iniParam.along_appcode        = 1;
                }
                else
                {
                    YinHaiCOM.CallDeal(iniParam);
                    //测试执行
                    //iniParam = GetDealModelTest(param);
                    if (iniParam.along_appcode < 0)
                    {
                        throw new Exception("yinHaiMsg" + iniParam.Msg);
                    }
                }

                resultData.OtherInfo = iniParam.SerialNumber;
                resultData.Data      = JsonConvert.SerializeObject(iniParam);
                //签到取消日志记录
                if (param.TransactionNumber != "05")
                {
                    Logs.LogWriteData(new LogWriteDataParam
                    {
                        JoinJson   = "",
                        ReturnJson = resultData.Data.ToString(),
                        OperatorId = param.OperatorId
                    });
                }
            }
            catch (Exception e)
            {
                resultData.Success = false;
                resultData.Message = e.Message;
                Logs.LogErrorWrite(new LogParam()
                {
                    Msg          = e.Message + "error:" + e.StackTrace,
                    OperatorCode = param.OperatorId,
                    ResultData   = JsonConvert.SerializeObject(iniParam)
                });
            }

            return(resultData);
        }