Beispiel #1
0
        /// <summary>
        ///	医保处方明细查询
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public List <QueryPrescriptionDetailListDto> QueryPrescriptionDetail(QueryPrescriptionDetailParam param)
        {
            var resultdata = new List <QueryPrescriptionDetailListDto>();

            var xmlStr = XmlHelp.SaveXml(param);

            if (xmlStr)
            {
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB006");
                if (result == 1)
                {
                    string strXml = XmlHelp.DeSerializerModelStr("CFMX");
                    var    data   = XmlHelp.DeSerializer <QueryPrescriptionDetailDto>(strXml);
                    if (data.RowDataList == null && (data.RowDataList ?? throw new InvalidOperationException()).Any())
                    {
                        resultdata = data.RowDataList.Select(c => new QueryPrescriptionDetailListDto()
                        {
                            ProjectName       = c.ProjectName,
                            ProjectCode       = c.ProjectCode,
                            Amount            = c.Amount,
                            ColNum            = c.ColNum,
                            Dosage            = c.Dosage,
                            FixedEncoding     = c.FixedEncoding,
                            Formulation       = c.Formulation,
                            HospitalNumber    = c.HospitalNumber,
                            HospitalizationNo = c.HospitalizationNo,
                            PrescriptionSort  = c.PrescriptionSort,
                            Quantity          = c.Quantity,
                            Unit                      = c.Unit,
                            UnitPrice                 = c.UnitPrice,
                            Remark                    = c.Remark,
                            Usage                     = c.Usage,
                            UseDays                   = c.UseDays,
                            Specification             = c.Specification,
                            PrescriptionNum           = c.PrescriptionNum,
                            UseFrequency              = c.UseFrequency,
                            ResidentSelfPayProportion = c.ResidentSelfPayProportion,
                            ProjectLevel              = c.ProjectLevel != null
                                ? ((ProjectLevel)Convert.ToInt32(c.ProjectLevel)).ToString()
                                : c.ProjectLevel,
                            ProjectCodeType = c.ProjectCodeType != null
                                ? ((ProjectCodeType)Convert.ToInt32(c.ProjectCodeType)).ToString()
                                : c.ProjectCodeType,
                            DirectoryDate = c.DirectoryDate != null
                                ? Convert.ToDateTime(c.DirectoryDate)
                                : (DateTime?)null,
                            DirectorySettlementDate = c.DirectorySettlementDate != null
                                ? Convert.ToDateTime(c.DirectorySettlementDate)
                                : (DateTime?)null,
                        }).ToList();
                    }
                }
                else
                {
                    throw new Exception("医保处方明细查询执行失败!!!");
                }
            }

            return(resultdata);
        }
Beispiel #2
0
        /// <summary>
        /// 医保出院费用结算
        /// </summary>
        /// <param name="param"></param>
        /// <param name="infoParam"></param>
        /// <returns></returns>
        public HospitalizationPresettlementDto LeaveHospitalSettlement(LeaveHospitalSettlementParam param,
                                                                       LeaveHospitalSettlementInfoParam infoParam)
        {
            HospitalizationPresettlementDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                return(data);
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB010");

            if (result != 1)
            {
                throw new Exception("居民住院结算执行失败!!!");
            }
            var dataIni = XmlHelp.DeSerializerModel(new HospitalizationPresettlementJsonDto(), true);

            data = AutoMapper.Mapper.Map <HospitalizationPresettlementDto>(dataIni);
            //报销金额 =统筹支付+补充险支付+生育补助+民政救助+民政重大疾病救助+精准扶贫+民政优抚+其它支付
            decimal reimbursementExpenses =
                data.BasicOverallPay + data.SupplementPayAmount + data.BirthAAllowance +
                data.CivilAssistancePayAmount + data.CivilAssistanceSeriousIllnessPayAmount +
                data.AccurateAssistancePayAmount + data.CivilServicessistancePayAmount +
                data.OtherPaymentAmount;

            data.ReimbursementExpenses = reimbursementExpenses;

            return(data);
        }
        /// <summary>
        /// 查询门诊费
        /// </summary>
        public QueryOutpatientDepartmentCostjsonDto QueryOutpatientDepartmentCost(QueryOutpatientDepartmentCostParam param)
        {
            QueryOutpatientDepartmentCostjsonDto resultData = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("查询门诊费保存参数出错");
            }
            var result = MedicalInsuranceDll.CallService_cxjb("TPYP303");

            if (result != 1)
            {
                throw new Exception("门诊费用查询执行出错");
            }
            var data = XmlHelp.DeSerializerModel(new Domain.Models.Dto.OutpatientDepartment.QueryOutpatientDepartmentCostDto(), true);

            if (data == null)
            {
                throw new Exception("门诊费用查询出错");
            }
            resultData = AutoMapper.Mapper.Map <QueryOutpatientDepartmentCostjsonDto>(data);



            return(resultData);
        }
Beispiel #4
0
        /// <summary>
        /// 删除医保处方数据
        /// </summary>
        /// <param name="param"></param>
        /// <param name="ids"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public void DeletePrescriptionUpload(DeletePrescriptionUploadParam param, List <Guid> ids, UserInfoDto user)
        {
            var xmlStr = XmlHelp.SaveXml(param);

            if (xmlStr)
            {
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB005");
                if (result == 1)
                {
                    XmlHelp.DeSerializerModel(new IniDto(), true);
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// 获取个人基础资料
        /// </summary>
        /// <param name="param"></param>
        public ResidentUserInfoDto GetUserInfo(ResidentUserInfoParam param)
        {
            ResidentUserInfoDto resulData = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("获取个人基础资料保存参数出错");
            }
            MedicalInsuranceDll.CallService_cxjb("CXJB001");
            var data = XmlHelp.DeSerializerModel(new ResidentUserInfoJsonDto(), true);

            resulData = AutoMapper.Mapper.Map <ResidentUserInfoDto>(data);
            return(resulData);
        }
        /// <summary>
        /// 获取异地个人基础资料
        /// </summary>
        /// <param name="param"></param>
        public DifferentPlacesUserInfoDto DifferentPlacesGetUserInfo(DifferentPlacesGetUserInfoParam param)
        {
            DifferentPlacesUserInfoDto resultData = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("异地获取个人基础资料保存参数出错");
            }
            MedicalInsuranceDll.CallService_cxjb("YYJK001");
            var data = XmlHelp.DeSerializerModel(new DifferentPlacesUserInfoJsonDto(), true);

            resultData = AutoMapper.Mapper.Map <DifferentPlacesUserInfoDto>(data);
            return(resultData);
        }
Beispiel #7
0
        /// <summary>
        /// 修改入院登记
        /// </summary>
        /// <param name="param"></param>
        /// <param name="user"></param>
        public void HospitalizationModify(HospitalizationModifyParam param, UserInfoDto user)
        {
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("修改入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB003");

            if (result != 1)
            {
                throw new Exception("居民医保修改入院登记出错!!!");
            }
            XmlHelp.DeSerializerModel(new IniDto(), true);
        }
        /// <summary>
        /// 修改异地入院登记
        /// </summary>
        /// <param name="param"></param>
        public void ModifyDifferentPlacesHospitalization(ModifyDifferentPlacesHospitalizationParam param)
        {
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("异地修改入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB003");

            if (result != 1)
            {
                throw new Exception("异地修改入院登记出错!!!");
            }
            XmlHelp.DeSerializerModel(new IniDto(), true);
        }
        /// <summary>
        /// 取消门诊月结汇总
        /// </summary>
        /// <param name="param"></param>
        public void CancelMonthlyHospitalization(CancelMonthlyHospitalizationParam param)
        {
            var xmlStr = XmlHelp.SaveXml(param.Participation);

            if (!xmlStr)
            {
                throw new Exception("取消门诊月结汇总保存参数出错");
            }
            var result = MedicalInsuranceDll.CallService_cxjb("TPYP215");

            if (result != 1)
            {
                throw new Exception("取消门诊月结汇总执行出错");
            }
            XmlHelp.DeSerializerModel(new IniDto(), true);
        }
        /// <summary>
        /// 门诊费取消
        /// </summary>
        public void CancelOutpatientDepartmentCost(CancelOutpatientDepartmentCostParam param)
        {
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("门诊费取消保存参数出错");
            }
            var result = MedicalInsuranceDll.CallService_cxjb("TPYP302");

            if (result != 1)
            {
                throw new Exception("门诊费取消执行出错");
            }
            XmlHelp.DeSerializerModel(new IniDto(), true);
        }
Beispiel #11
0
        //职工取消划卡
        public void CancelWorkerStrokeCard(CancelWorkersStrokeCardParam param)
        {
            var data   = new HospitalizationPresettlementDto();
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("职工取消划卡保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB027");

            if (result != 1)
            {
                throw new Exception("职工取消划卡执行出错");
            }
            var dataIni = XmlHelp.DeSerializerModel(new IniDto(), true);
        }
Beispiel #12
0
        /// <summary>
        /// 门诊计划生育结算取消
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public void OutpatientPlanBirthSettlementCancel(OutpatientPlanBirthSettlementCancelParam param)
        {
            WorkerHospitalizationPreSettlementDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("门诊计划生育结算取消保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("SYBX006");

            if (result != 1)
            {
                throw new Exception("门诊计划生育结算取消执行出错!!!");
            }
            var dataIni = XmlHelp.DeSerializerModel(new IniDto(), true);
        }
Beispiel #13
0
        /// <summary>
        /// 职工生育入院登记
        /// </summary>
        /// <returns></returns>
        public WorkerBirthHospitalizationRegisterDto WorkerBirthHospitalizationRegister(WorkerBirthHospitalizationRegisterParam param)
        {
            WorkerBirthHospitalizationRegisterDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("职工生育入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("SYBX001");

            if (result != 1)
            {
                throw new Exception("职工生育入院执行出错!!!");
            }
            data = XmlHelp.DeSerializerModel(new WorkerBirthHospitalizationRegisterDto(), true);
            return(data);
        }
Beispiel #14
0
        /// <summary>
        /// 入院登记
        /// </summary>
        /// <returns></returns>
        public ResidentHospitalizationRegisterDto HospitalizationRegister(ResidentHospitalizationRegisterParam param)
        {
            ResidentHospitalizationRegisterDto data = null;

            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB002");

            if (result != 1)
            {
                throw new Exception("居民医保执行出错!!!");
            }
            data = XmlHelp.DeSerializerModel(new ResidentHospitalizationRegisterDto(), true);
            return(data);
        }
        /// <summary>
        /// 门诊月结汇总
        /// </summary>
        /// <param name="param"></param>
        public MonthlyHospitalizationDto MonthlyHospitalization(MonthlyHospitalizationParam param)
        {
            var xmlStr = XmlHelp.SaveXml(param.Participation);
            MonthlyHospitalizationDto data = null;

            if (!xmlStr)
            {
                throw new Exception("门诊月结汇总保存参数出错");
            }
            var result = MedicalInsuranceDll.CallService_cxjb("TPYP214");

            if (result != 1)
            {
                throw new Exception("门诊月结汇总执行出错");
            }
            data = XmlHelp.DeSerializerModel(new MonthlyHospitalizationDto(), true);

            return(data);
        }
        /// <summary>
        /// 门诊费用录入
        /// </summary>
        public OutpatientDepartmentCostInputDto OutpatientDepartmentCostInput(OutpatientDepartmentCostInputParam param)
        {
            OutpatientDepartmentCostInputDto resultData = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("门诊费用录入保存参数出错");
            }
            var result = MedicalInsuranceDll.CallService_cxjb("TPYP301");

            if (result != 1)
            {
                throw new Exception("门诊费用录入执行出错");
            }
            var iniData = XmlHelp.DeSerializerModel(new OutpatientDepartmentCostInputJsonDto(), true);

            resultData = AutoMapper.Mapper.Map <OutpatientDepartmentCostInputDto>(iniData);
            return(resultData);
        }
        /// <summary>
        /// 异地入院登记
        /// </summary>
        /// <returns></returns>
        public DifferentPlacesHospitalizationRegisterDto DifferentPlacesHospitalizationRegister(CanCelDifferentPlacesHospitalizationRegisterParam param)
        {
            DifferentPlacesHospitalizationRegisterDto resultData = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("异地入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("YYJK003");

            if (result != 1)
            {
                throw new Exception("异地医保执行出错!!!");
            }
            var data = XmlHelp.DeSerializerModel(new DifferentPlacesHospitalizationRegisterJsonDto(), true);

            resultData = AutoMapper.Mapper.Map <DifferentPlacesHospitalizationRegisterDto>(data);
            return(resultData);
        }
Beispiel #18
0
        /// <summary>
        /// 项目下载
        /// </summary>
        public ResidentProjectDownloadDto ProjectDownload(ResidentProjectDownloadParam param)
        {
            ResidentProjectDownloadDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("项目下载保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB019");

            if (result != 1)
            {
                throw new Exception("项目下载执行出错!!!");
            }
            string strXml = XmlHelp.DeSerializerModelStr("ROWDATA");

            data = XmlHelp.DeSerializer <ResidentProjectDownloadDto>(strXml);
            return(data);
        }
Beispiel #19
0
        /// <summary>
        /// 项目下载总条数
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public Int64 ProjectDownloadCount(ResidentProjectDownloadParam param)
        {
            Int64 resultData = 0;
            var   xmlStr     = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("项目下载总条数保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB019");

            if (result != 1)
            {
                throw new Exception("项目下载总条数执行出错!!!");
            }
            var data = XmlHelp.DeSerializerModel(new ProjectDownloadCountDto(), true);

            resultData = data.PO_CNT;
            return(resultData);
        }
Beispiel #20
0
        /// <summary>
        /// 批次确认
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        private bool BatchConfirm(BatchConfirmParam param)
        {
            var resultData = true;
            PrescriptionUploadDto data;
            var xmlStr = XmlHelp.SaveXml(param);

            if (xmlStr)
            {
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB007");
                if (result == 1)
                {
                    data = XmlHelp.DeSerializerModel(new PrescriptionUploadDto(), false);
                    if (data.ReturnState != "1")
                    {
                        resultData = false;
                    }
                }
            }

            return(resultData);
        }
Beispiel #21
0
        public ActionResult SubmitForm(OrganizeEntity organizeEntity, string keyValue)
        {
            organizeEntity.F_CategoryId = "Department";
            try
            { //医保账户认证
                var result =
                    MedicalInsuranceDll.ConnectAppServer_cxjb(organizeEntity.F_MedicalInsuranceAccount,
                                                              organizeEntity.F_MedicalInsurancePwd);
                if (result != 1)
                {
                    XmlHelp.DeSerializerModel(new IniXmlDto(), true);
                }
            }
            catch (Exception e)
            {
                return(Error(e.Message));
            }

            organizeApp.SubmitForm(organizeEntity, keyValue);
            return(Success("操作成功。"));
        }
Beispiel #22
0
        public void Login(string organizationCode)
        {
            var hospitalData = _systemManageRepository.QueryHospitalOrganizationGrade(organizationCode);

            if (hospitalData == null)
            {
                throw new Exception("当前医院无等级信息,请设置");
            }
            if (string.IsNullOrWhiteSpace(hospitalData.MedicalInsuranceAccount))
            {
                throw new Exception("当前医院未设置,医保账户,请设置!!!");
            }
            var result =
                MedicalInsuranceDll.ConnectAppServer_cxjb(hospitalData.MedicalInsuranceAccount,
                                                          hospitalData.MedicalInsurancePwd);

            if (result != 1)
            {
                XmlHelp.DeSerializerModel(new IniXmlDto(), true);
            }
        }
Beispiel #23
0
        /// <summary>
        ///查询医保出院结算信息
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public HospitalizationPresettlementDto QueryLeaveHospitalSettlement(QueryLeaveHospitalSettlementParam param)
        {
            var data   = new HospitalizationPresettlementDto();
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("查询医保出院结算信息保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB012");

            if (result != 1)
            {
                throw new Exception("查询医保出院结算信息执行出错");
            }
            var dataIni = XmlHelp.DeSerializerModel(new HospitalizationPresettlementJsonDto(), true);

            if (dataIni != null)
            {
                data = AutoMapper.Mapper.Map <HospitalizationPresettlementDto>(dataIni);
            }
            return(data);
        }
        /// <summary>
        /// 异地出院办理
        /// </summary>
        /// <param name="param"></param>
        public LeaveHospitalHandleDto LeaveHospitalHandle(LeaveHospitalHandleParam param)
        {
            var resultData = new LeaveHospitalHandleDto();
            var xmlStr     = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("异地出院办理保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("YYJK006");

            if (result != 1)
            {
                throw new Exception("异地出院办理医保执行出错!!!");
            }
            var data = XmlHelp.DeSerializerModel(new LeaveHospitalHandleJsonDto(), true);

            if (data != null)
            {
                resultData.OperationTime = data.OperationTime;
            }
            return(resultData);
        }
        /// <summary>
        /// 门诊计划生育结算查询
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public WorkerHospitalizationPreSettlementDto OutpatientPlanBirthSettlementQuery(OutpatientPlanBirthSettlementQueryParam param)
        {
            WorkerHospitalizationPreSettlementDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("门诊计划生育结算查询保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("SYBX007");

            if (result != 1)
            {
                throw new Exception("门诊计划生育结算查询执行出错!!!");
            }
            var dataIni = XmlHelp.DeSerializerModel(new WorkerBirthPreSettlementJsonDto(), true);

            if (dataIni != null)
            {
                data = AutoMapper.Mapper.Map <WorkerHospitalizationPreSettlementDto>(dataIni);
            }
            return(data);
        }
        /// <summary>
        /// 取消异地入院登记
        /// </summary>
        /// <returns></returns>
        public CanCelDifferentPlacesHospitalizationRegisterDto CanCelDifferentPlacesHospitalizationRegister(DifferentPlacesHospitalizationRegisterParam param)
        {
            var resultData = new CanCelDifferentPlacesHospitalizationRegisterDto();
            var xmlStr     = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                throw new Exception("取消异地入院登记保存参数出错");
            }
            int result = MedicalInsuranceDll.CallService_cxjb("YYJK003");

            if (result != 1)
            {
                throw new Exception("取消异地医保执行出错!!!");
            }
            var data = XmlHelp.DeSerializerModel(new CanCelDifferentPlacesHospitalizationRegisterJsonDto(), true);

            if (data != null)
            {
                resultData.OperationTime = data.OperationTime;
            }
            return(resultData);
        }
Beispiel #27
0
        /// <summary>
        /// 住院预结算
        /// </summary>
        /// <param name="param"></param>

        /// <returns></returns>
        public HospitalizationPresettlementDto HospitalizationPreSettlement(HospitalizationPresettlementParam param)
        {
            HospitalizationPresettlementDto data = null;
            var xmlStr = XmlHelp.SaveXml(param);

            if (!xmlStr)
            {
                return(data);
            }
            int result = MedicalInsuranceDll.CallService_cxjb("CXJB009");

            if (result != 1)
            {
                throw new Exception("居民住院预结算执行失败!!!");
            }
            var dataIni = XmlHelp.DeSerializerModel(new HospitalizationPresettlementJsonDto(), true);

            if (dataIni != null)
            {
                data = AutoMapper.Mapper.Map <HospitalizationPresettlementDto>(dataIni);
            }
            return(data);
        }
Beispiel #28
0
        /// <summary>
        /// 处方数据上传
        /// </summary>
        /// <param name="param"></param>
        /// <param name="businessId"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        private PrescriptionUploadDto PrescriptionUploadData(PrescriptionUploadParam param, string businessId,
                                                             UserInfoDto user)
        {
            var data   = new PrescriptionUploadDto();
            var rowXml = param.RowDataList.Select(c => new HospitalizationFeeUploadRowXml()
            {
                SerialNumber = c.DetailId
            }).ToList();
            var xmlStr = XmlHelp.SaveXml(param);

            if (xmlStr)
            {
                int result = MedicalInsuranceDll.CallService_cxjb("CXJB004");
                if (result == 1)
                {
                    //如果业务id存在则不直接抛出异常
                    if (!string.IsNullOrWhiteSpace(businessId))
                    {
                        data = XmlHelp.DeSerializerModel(new PrescriptionUploadDto(), false);
                    }
                    else
                    {
                        data = XmlHelp.DeSerializerModel(new PrescriptionUploadDto(), true);
                    }

                    if (data.ReturnState == "1")
                    {
                        //交易码
                        var transactionId = Guid.NewGuid().ToString("N");
                        //添加批次
                        var updateFeeParam = param.RowDataList.Select(d => new UpdateHospitalizationFeeParam
                        {
                            Id            = d.Id,
                            BatchNumber   = data.ProjectBatch,
                            TransactionId = transactionId,
                            UploadAmount  = d.Amount
                        }).ToList();
                        _medicalInsuranceSqlRepository.UpdateHospitalizationFee(updateFeeParam, false, user);

                        //回参
                        var xmlData = new HospitalizationFeeUploadXml()
                        {
                            MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
                            RowDataList = rowXml,
                        };

                        var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData);
                        user.TransKey = businessId;
                        var saveXml = new SaveXmlDataParam()
                        {
                            User = user,
                            MedicalInsuranceBackNum = "CXJB004",
                            MedicalInsuranceCode    = "31",
                            BusinessId = businessId,
                            BackParam  = strXmlBackParam
                        };
                        //存基层
                        _webBasicRepository.SaveXmlData(saveXml);
                        var batchConfirmParam = new BatchConfirmParam()
                        {
                            ConfirmType = 1,
                            MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
                            BatchNumber = data.ProjectBatch,
                            Operators   = CommonHelp.GuidToStr(user.UserId)
                        };
                        var batchConfirmData = BatchConfirm(batchConfirmParam);
                        //如果批次号确认失败,更新病人处方上传标示为 0(未上传)
                        if (batchConfirmData == false)
                        {
                            _medicalInsuranceSqlRepository.UpdateHospitalizationFee(updateFeeParam, true, user);
                        }
                    }
                }
                else
                {
                    throw new Exception("[" + user.UserId + "]" + "处方上传执行出错!!!");
                }
            }

            return(data);
        }
Beispiel #29
0
        /// <summary>
        /// 取消医保出院结算
        /// </summary>
        /// <param name="param"></param>
        /// <param name="infoParam"></param>
        /// <returns></returns>
        public void LeaveHospitalSettlementCancel(LeaveHospitalSettlementCancelParam param,
                                                  LeaveHospitalSettlementCancelInfoParam infoParam)
        {
            var cancelLimit = param.CancelLimit;

            if (param.CancelLimit == "1")
            {
                Cancel(param);
                var updateParam = new UpdateMedicalInsuranceResidentSettlementParam()
                {
                    UserId = infoParam.User.UserId,
                    Id     = infoParam.Id,
                    CancelTransactionId   = infoParam.User.TransKey,
                    MedicalInsuranceState = MedicalInsuranceState.MedicalInsurancePreSettlement
                };
                //存入中间层
                _medicalInsuranceSqlRepository.UpdateMedicalInsuranceResidentSettlement(updateParam);
                //添加日志
                var logParam = new AddHospitalLogParam()
                {
                    JoinOrOldJson = JsonConvert.SerializeObject(param),
                    User          = infoParam.User,
                    Remark        = "居民住院结算取消",
                    RelationId    = infoParam.Id,
                };
                //回参构建
                var xmlData = new HospitalizationRegisterXml()
                {
                    MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
                };
                var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData);
                var saveXml         = new SaveXmlDataParam()
                {
                    User = infoParam.User,
                    MedicalInsuranceBackNum = "CXJB011",
                    MedicalInsuranceCode    = "42",
                    BusinessId = infoParam.BusinessId,
                    BackParam  = strXmlBackParam
                };
                //存基层
                _webBasicRepository.SaveXmlData(saveXml);
            }
            else if (param.CancelLimit == "2") //取消入院登记并删除资料
            {
                Cancel(param);
                //回参构建
                var xmlData = new HospitalizationRegisterCancelXml()
                {
                    MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo
                };
                var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData);
                var saveXml         = new SaveXmlDataParam()
                {
                    User = infoParam.User,
                    MedicalInsuranceBackNum = "CXJB004",
                    MedicalInsuranceCode    = "22",
                    BusinessId = infoParam.BusinessId,
                    BackParam  = strXmlBackParam
                };
                //存基层
                _webBasicRepository.SaveXmlData(saveXml);
            }
            void Cancel(LeaveHospitalSettlementCancelParam paramc)
            {
                var xmlStr = XmlHelp.SaveXml(paramc);

                if (xmlStr)
                {
                    int result = MedicalInsuranceDll.CallService_cxjb("CXJB011");
                    if (result == 1)
                    {
                        var data = XmlHelp.DeSerializerModel(new IniDto(), true);
                    }
                }
            }
        }