Пример #1
0
        ///// <summary>
        ///// 职工划卡
        ///// </summary>
        ///// <param name="param"></param>
        ///// <param name="baseParam"></param>
        ///// <returns></returns>
        //public ApiJsonResultData WorkersSettlement(WorkersSettlementParam param, HisBaseParam baseParam)
        //{
        //    //流水号
        //    var settlementNo = new byte[1024];
        //    //自付金额
        //    var selfPayment = new byte[1024];
        //    //账户支付
        //    var accountPayment = new byte[1024];
        //    //返回状态
        //    var resultState = new byte[1024];
        //    //消息
        //    var msg = new byte[1024];
        //    var resultData = new ApiJsonResultData {Success = true};

        //    Logs.LogWriteData(new LogWriteDataParam()
        //    {
        //        JoinJson = JsonConvert.SerializeObject(param),
        //        ReturnJson = JsonConvert.SerializeObject(baseParam),
        //        OperatorId = baseParam.OperatorId

        //    });
        //    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("卡密码不能为空!!!");
        //        if (string.IsNullOrWhiteSpace(param.Operator))
        //            throw new Exception("经办人不能为空!!!");
        //        if (param.AllAmount<=0)
        //            throw new Exception("划卡金额必须大于0!!!");
        //        if (param.MedicalCategory <= 0)
        //            throw new Exception("划卡类别!!!");

        //        var loginData = WorkersMedicalInsurance.ConnectAppServer_cxjb(baseParam.Account, baseParam.Pwd);
        //        if (loginData != 1) throw new Exception("医保登陆失败!!!");
        //        //var settlementData = WorkersMedicalInsurance.WorkersSettlement
        //        //(1,
        //        // param.CardPwd,
        //        // param.AllAmount.ToString(),
        //        // param.MedicalCategory.ToString(),
        //        // param.Operator,
        //        // settlementNo,
        //        // accountPayment,
        //        // selfPayment,
        //        // resultState,
        //        // msg
        //        //);
        //        //if (settlementData!=0) throw new Exception("职工划卡失败!!!");
        //        //if (CommonHelp.StrToTransCoding(resultState) != "1") throw new Exception(CommonHelp.StrToTransCoding(msg));
        //        //var data = new WorkersSettlementDto()
        //        //{
        //        //    SettlementNo = CommonHelp.StrToTransCoding(settlementNo),
        //        //    AccountPayment = Convert.ToDecimal(CommonHelp.StrToTransCoding(accountPayment)),
        //        //    SelfPayment = Convert.ToDecimal(CommonHelp.StrToTransCoding(selfPayment)),
        //        //};
        //        var accountPaymentData = param.AllAmount > 0 ? Convert.ToDecimal(0.1) : 0;

        //        //resultData.Data = JsonConvert.SerializeObject(data);
        //        ////数据日志存入
        //        //param.CardPwd = "******";
        //        //Logs.LogWriteData(new LogWriteDataParam()
        //        //{
        //        //    JoinJson = JsonConvert.SerializeObject(param),
        //        //    ReturnJson = JsonConvert.SerializeObject(data),
        //        //    OperatorId = baseParam.OperatorId

        //        //});
        //    }
        //    catch (Exception e)
        //    {
        //        resultData.Success = false;
        //        resultData.Message = e.Message;
        //        Logs.LogWrite(new LogParam()
        //        {
        //            Msg = e.Message,
        //            OperatorCode = baseParam.OperatorId,
        //            Params = Logs.ToJson(param),
        //        });

        //    }

        //    return resultData;
        //}
        private ResidentUserInfoDto UserInfoToDto(ResidentUserInfoJsonDto param)
        {
            var resultData = new ResidentUserInfoDto()
            {
                WorkersInsuranceBalance  = param.WorkersInsuranceBalance,
                ResidentInsuranceBalance = param.ResidentInsuranceBalance,
                AdministrativeArea       = param.AdministrativeArea,
                Age                          = param.Age,
                Birthday                     = param.Birthday,
                CommunityName                = param.CommunityName,
                ContactAddress               = param.ContactAddress,
                ContactPhone                 = param.ContactPhone,
                IdCardNo                     = param.IdCardNo,
                InsuranceType                = param.InsuranceType,
                InsuredState                 = param.InsuredState,
                MentorBalance                = param.MentorBalance,
                OverallPaymentBalance        = param.OverallPaymentBalance,
                ReturnState                  = param.ReturnState,
                Msg                          = param.Msg,
                PatientName                  = param.PatientName,
                PatientSex                   = param.PatientSex,
                PersonalCoding               = param.PersonalCoding,
                PersonnelClassification      = param.PersonnelClassification,
                PoorMark                     = param.PoorMark,
                PreferentialTreatmentType    = param.PreferentialTreatmentType,
                ReimbursementStatus          = param.ReimbursementStatus,
                ReimbursementStatusExplain   = param.ReimbursementStatusExplain,
                RescueType                   = param.RescueType,
                SpecialPeopleCognizancePlace = param.SpecialPeopleCognizancePlace
            };

            return(resultData);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="param"></param>
        /// <param name="baseParam"></param>
        /// <returns></returns>
        public ResidentUserInfoJsonDto GetUserInfoEntity(string param, HisBaseParam baseParam)
        {
            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")
                    {
                        Logs.LogWriteData(new LogWriteDataParam()
                        {
                            JoinJson   = JsonConvert.SerializeObject(param),
                            ReturnJson = JsonConvert.SerializeObject(data),
                            OperatorId = baseParam.OperatorId
                        });
                    }
                    else
                    {
                        throw new Exception(data.Msg);
                    }
                }
            }
            catch (Exception e)
            {
                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(data);
        }
Пример #3
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);
        }
Пример #4
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);
        }