Exemplo n.º 1
0
        public void MZ_Charge(int tradeRecordId, string fph)
        {
            dicStr.Clear();
            dicStr.Add(InputType.TradeRecordId, tradeRecordId.ToString());
            dicStr.Add(InputType.InvoiceNo, fph);
            Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
            {
                request.AddData(input);
            });
            ServiceResponseData retdataMember = InvokeWcfService("MIService.Service", "MIMzController", "MZ_Charge", requestAction);
            bool   b = retdataMember.GetData <bool>(0);
            string s = retdataMember.GetData <string>(1);

            if (b)
            {
                List <DataTable> objects = retdataMember.GetData <List <DataTable> >(2);

                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ConvertExtend.ToList <MI_MedicalInsurancePayRecord>(objects[0])[0];
                MI_MIPayRecordHead           mIPayRecordHead           = ConvertExtend.ToList <MI_MIPayRecordHead>(objects[1])[0];
                //List<MI_MIPayRecordDetail> mIPayRecordDetailList = ConvertExtend.ToList<MI_MIPayRecordDetail>(objects[2]);
                DataTable dtPayrecordDetail = objects[2];
                MZ_MIPrinter(medicalInsurancePayRecord, mIPayRecordHead, dtPayrecordDetail);
                iFrmMITest.LoadTrade(medicalInsurancePayRecord.PersonCount);
            }
            else
            {
                MessageBoxShowError("异常!" + s);
            }
        }
        public ServiceResponseData MZ_RePrintMXInvoice()
        {
            string tradeNo   = requestData.GetData <string>(0);
            string invoiceNo = requestData.GetData <string>(1);

            //解析返回结果到类,保存
            MI_MedicalInsurancePayRecord medicalInsurancePayRecord = Mz_GetPayRecord(3, tradeNo, 2, 0);

            if (medicalInsurancePayRecord != null)
            {
                MI_MIPayRecordHead mIPayRecordHead   = Mz_GetPayRecordHead(medicalInsurancePayRecord.ID);
                DataTable          dtPayrecordDetail = Mz_GetPayRecordDetailForPrint(medicalInsurancePayRecord.ID);

                List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                result1.Add(medicalInsurancePayRecord);
                DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                result2.Add(mIPayRecordHead);
                DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                responseData.AddData(true);
                responseData.AddData(dtPayrecord);
                responseData.AddData(dtPayrecordHead);
                responseData.AddData(dtPayrecordDetail);
            }
            else
            {
                responseData.AddData(false);
            }

            return(responseData);
        }
Exemplo n.º 3
0
        //public override ResultClass Mz_CancelRegister(InputClass inputClass)//string serialNO)
        //{
        //    ResultClass resultClass = new ResultClass();
        //    try
        //    {
        //        resultDic.Clear();
        //        MI_Register register = JsonHelper.DeserializeJsonToObject<MI_Register>(inputClass.SInput[InputType.MI_Register].ToString());
        //        MI_MedicalInsurancePayRecord medicalInsurancePayRecord = JsonHelper.DeserializeJsonToObject<MI_MedicalInsurancePayRecord>(inputClass.SInput[InputType.MI_MedicalInsurancePayRecord].ToString());
        //        MI_MIPayRecordHead mIPayRecordHead = JsonHelper.DeserializeJsonToObject<MI_MIPayRecordHead>(inputClass.SInput[InputType.MI_MIPayRecordHead].ToString());
        //        List<MI_MIPayRecordDetail> mIPayRecordDetailList = JsonHelper.DeserializeJsonToList<MI_MIPayRecordDetail>(inputClass.SInput[InputType.MI_MIPayRecordDetailList].ToString());


        //        //更新登记表
        //        ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
        //        //更新交易表
        //        MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.Mz_GetPayRecord(1, register.ID.ToString(), 1, 1);
        //        if (medicalInsurancePayRecordResult != null)
        //        {
        //            medicalInsurancePayRecordResult.state = 3;
        //            hisDao.Mz_SavePayRecord(medicalInsurancePayRecordResult);
        //        }

        //        medicalInsurancePayRecord.FeeNO = medicalInsurancePayRecordResult.FeeNO;

        //        if (regResultClass.bSucess)
        //        {
        //            if (hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList) == null)
        //            {
        //                resultClass.bSucess = false;
        //                resultClass.sRemarks = "更新交易信息失败!";
        //            }
        //            else
        //            {
        //                //返回数据到前台界面,只需金额
        //                resultClass.bSucess = true;
        //            }
        //        }
        //        else
        //        {
        //            resultClass.bSucess = false;
        //            resultClass.sRemarks = "更新登记信息失败!";
        //        }

        //        resultClass.oResult = resultDic;
        //    }
        //    catch (Exception e)
        //    {
        //        resultClass.bSucess = false;
        //        resultClass.sRemarks = e.Message;
        //    }
        //    return resultClass;
        //}
        /// <summary>
        /// 预取消挂号:保存预取消信息 并返回记录ID
        /// </summary>
        /// <param name="inputClass"></param>
        /// <returns></returns>
        public override ResultClass Mz_CancelRegister(InputClass inputClass)//string serialNO)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                MI_Register register = JsonHelper.DeserializeJsonToObject <MI_Register>(inputClass.SInput[InputType.MI_Register].ToString());
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = JsonHelper.DeserializeJsonToObject <MI_MedicalInsurancePayRecord>(inputClass.SInput[InputType.MI_MedicalInsurancePayRecord].ToString());
                MI_MIPayRecordHead           mIPayRecordHead           = JsonHelper.DeserializeJsonToObject <MI_MIPayRecordHead>(inputClass.SInput[InputType.MI_MIPayRecordHead].ToString());
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = JsonHelper.DeserializeJsonToList <MI_MIPayRecordDetail>(inputClass.SInput[InputType.MI_MIPayRecordDetailList].ToString());

                MI_MedicalInsurancePayRecord medicalInsurancePayRecordNew = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);
                if (medicalInsurancePayRecordNew == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新交易信息失败!";
                }
                else
                {
                    //返回新数据ID
                    resultClass.bSucess = true;
                    resultClass.oResult = medicalInsurancePayRecordNew.ID;
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 结算
        /// 返回ResultClass ResultClass.oResult 为decimal
        /// </summary>
        /// <param name="tradeRecordId">交易记录ID</param>
        /// <param name="fph">发票号</param>

        public static ResultClass MZ_Charge(int tradeRecordId, string fph)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
                {
                    request.AddData(tradeRecordId);
                    request.AddData(fph);
                });
                ServiceResponseData retdataMember = InvokeWcfService("MIService.Service", "MIMzController", "MZ_Charge", requestAction);
                resultClass.bSucess  = retdataMember.GetData <bool>(0);
                resultClass.sRemarks = retdataMember.GetData <string>(1);
                if (resultClass.bSucess)
                {
                    List <DataTable> objects = retdataMember.GetData <List <DataTable> >(2);

                    MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ConvertExtend.ToList <MI_MedicalInsurancePayRecord>(objects[0])[0];
                    MI_MIPayRecordHead           mIPayRecordHead           = ConvertExtend.ToList <MI_MIPayRecordHead>(objects[1])[0];

                    DataTable dtPayrecordDetail = objects[2];
                    MZ_MIPrinter(medicalInsurancePayRecord, mIPayRecordHead, dtPayrecordDetail);
                    resultClass.oResult = medicalInsurancePayRecord.PersonCount;
                    //iFrmMITest.LoadTrade(medicalInsurancePayRecord.PersonCount);
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 5
0
        public override ResultClass MZ_UpdateRegister(InputClass inputClass)
        {
            ResultClass resultClass = new ResultClass();
            int         registerId  = inputClass.SInput.ContainsKey(InputType.RegisterId) ? Tools.ToInt32(inputClass.SInput[InputType.RegisterId].ToString(), 0) : 0;
            string      serialNO    = inputClass.SInput.ContainsKey(InputType.SerialNO) ? inputClass.SInput[InputType.SerialNO].ToString() : "";
            string      invoiceNo   = inputClass.SInput.ContainsKey(InputType.InvoiceNo) ? inputClass.SInput[InputType.InvoiceNo].ToString() : "";

            try
            {
                //解析返回结果到类,保存信息
                MI_Register register = hisDao.Mz_Getregister(registerId, "");
                register.ValidFlag = 1;
                register.SerialNO  = serialNO;

                ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
                //更新交易信息
                //解析返回结果到类,保存
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = hisDao.Mz_GetPayRecord(1, registerId.ToString(), 1, 1);

                medicalInsurancePayRecord.FeeNO = invoiceNo;
                resultClass = hisDao.Mz_SavePayRecord(medicalInsurancePayRecord);

                if (resultClass.bSucess)
                {
                    MI_MIPayRecordHead mIPayRecordHead   = hisDao.Mz_GetPayRecordHead(medicalInsurancePayRecord.ID);
                    DataTable          dtPayrecordDetail = hisDao.Mz_GetPayRecordDetailForPrint(medicalInsurancePayRecord.ID);

                    List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                    result1.Add(medicalInsurancePayRecord);
                    DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                    List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                    result2.Add(mIPayRecordHead);
                    DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                    List <DataTable> objects = new List <DataTable>();
                    objects.Add(dtPayrecord);
                    objects.Add(dtPayrecordHead);
                    objects.Add(dtPayrecordDetail);

                    //返回数据到前台界面,只需金额
                    resultClass.bSucess  = true;
                    resultClass.sRemarks = medicalInsurancePayRecord.TradeNO;
                    resultClass.oResult  = objects;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新登记信息失败!";
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = "更新中间表数据报错:" + e.Message;
            }

            return(resultClass);
        }
Exemplo n.º 6
0
        public override ResultClass MZ_CancelRegister(InputClass inputClass)
        {
            ResultClass resultClass = new ResultClass();
            int         registerId  = inputClass.SInput.ContainsKey(InputType.RegisterId) ? Tools.ToInt32(inputClass.SInput[InputType.RegisterId].ToString(), -1) : -1;
            string      serialNO    = inputClass.SInput.ContainsKey(InputType.SerialNO) ? inputClass.SInput[InputType.SerialNO].ToString() : "";

            try
            {
                MI_Register register = hisDao.Mz_Getregister(registerId, serialNO);
                if (register == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "获取登记信息失败!";
                    AddLog("获取HIS登记信息失败!", Color.Red);
                }
                else
                {
                    bool b = hisDao.Mz_JudgeRegister(register.ID);
                    if (b)
                    {
                        //取消医保登记并返回结果
                        resultClass = ybInterfaceDao.Mz_CancelRegister(sDll, register.SocialCreateNum);
                        DivideResult.root root = (DivideResult.root)resultClass.oResult;
                        //解析返回数据,并保存退费记录
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                        MI_MIPayRecordHead           mIPayRecordHead           = ResultToPayRecordHead(root.output);
                        List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = ResultToPayRecordDetail(root.output);
                        register.ValidFlag = 2;
                        medicalInsurancePayRecord.state     = 2;
                        medicalInsurancePayRecord.RegId     = register.ID;
                        medicalInsurancePayRecord.TradeType = 1;

                        InputClass input = new InputClass();
                        Dictionary <InputType, object> dicStr = new Dictionary <InputType, object>();
                        dicStr.Add(InputType.MI_Register, JsonHelper.SerializeObject(register));
                        dicStr.Add(InputType.MI_MedicalInsurancePayRecord, JsonHelper.SerializeObject(medicalInsurancePayRecord));
                        dicStr.Add(InputType.MI_MIPayRecordHead, JsonHelper.SerializeObject(mIPayRecordHead));
                        dicStr.Add(InputType.MI_MIPayRecordDetailList, JsonHelper.SerializeObject(mIPayRecordDetailList));
                        input.SInput = dicStr;
                        resultClass  = hisDao.Mz_CancelRegister(input);
                    }
                    else
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "存在已结算的收费数据!";
                        AddLog("HIS存在已结算的收费数据!", Color.Red);
                    }
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
                AddLog("取消登记报错:" + e.Message, Color.Red);
            }
            return(resultClass);
        }
Exemplo n.º 7
0
        public override ResultClass MZ_Charge(InputClass inputClass)//int tradeRecordId, string fph)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                int    tradeRecordId = inputClass.SInput.ContainsKey(InputType.TradeRecordId) ? Tools.ToInt32(inputClass.SInput[InputType.TradeRecordId].ToString(), 0) : 0;
                string fph           = inputClass.SInput.ContainsKey(InputType.InvoiceNo) ? inputClass.SInput[InputType.InvoiceNo].ToString() : "";


                //医保登记并返回结果
                resultClass = ybInterfaceDao.MZ_Charge();
                decimal personcount = Tools.ToDecimal(resultClass.oResult.ToString(), 0);
                //解析返回结果到类,保存
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = hisDao.Mz_GetPayRecord(0, tradeRecordId.ToString(), 2, 0);

                medicalInsurancePayRecord.PersonCount = personcount;
                medicalInsurancePayRecord.state       = 1;
                medicalInsurancePayRecord.FeeNO       = fph;
                resultClass = hisDao.Mz_SavePayRecord(medicalInsurancePayRecord);

                if (resultClass.bSucess)
                {
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = resultClass.oResult as MI_MedicalInsurancePayRecord;
                    MI_MIPayRecordHead           mIPayRecordHead = hisDao.Mz_GetPayRecordHead(tradeRecordId);
                    //List<MI_MIPayRecordDetail> mIPayRecordDetailList = hisDao.Mz_GetPayRecordDetail(tradeRecordId);
                    DataTable dtPayrecordDetail = hisDao.Mz_GetPayRecordDetailForPrint(tradeRecordId);
                    List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                    result1.Add(medicalInsurancePayRecordResult);
                    DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                    List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                    result2.Add(mIPayRecordHead);
                    DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                    List <DataTable> objects = new List <DataTable>();
                    objects.Add(dtPayrecord);
                    objects.Add(dtPayrecordHead);
                    objects.Add(dtPayrecordDetail);
                    //返回数据到前台界面,只需金额
                    resultClass.bSucess = true;
                    resultClass.oResult = objects;
                    //resultClass.oResult = mIPayRecordHead;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新登记信息失败!";
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 8
0
        public override ResultClass MZ_CancelCharge(InputClass inputClass)//string fph)
        {
            ResultClass resultClass = new ResultClass();

            resultDic.Clear();
            try
            {
                string fph = inputClass.SInput.ContainsKey(InputType.InvoiceNo) ? inputClass.SInput[InputType.InvoiceNo].ToString() : "";
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordOld = hisDao.Mz_GetPayRecord(2, fph, 2, 1);

                if (medicalInsurancePayRecordOld == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "获取收费信息失败!";
                }
                else
                {
                    //取消医保结算并返回结果
                    resultClass = ybInterfaceDao.MZ_CancelCharge(medicalInsurancePayRecordOld.TradeNO);
                    HIS_Entity.MIManage.Common.DivideResult.root root      = (HIS_Entity.MIManage.Common.DivideResult.root)resultClass.oResult;
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                    medicalInsurancePayRecord.RegId     = medicalInsurancePayRecordOld.RegId;
                    medicalInsurancePayRecord.FeeNO     = medicalInsurancePayRecordOld.FeeNO;
                    medicalInsurancePayRecord.state     = 2;
                    medicalInsurancePayRecord.TradeType = 2;
                    MI_MIPayRecordHead          mIPayRecordHead       = ResultToPayRecordHead(root.output);
                    List <MI_MIPayRecordDetail> mIPayRecordDetailList = ResultToPayRecordDetail(root.output);

                    //更新交易表
                    medicalInsurancePayRecordOld.state = 3;
                    hisDao.Mz_SavePayRecord(medicalInsurancePayRecordOld);

                    //保存新信息
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);

                    if (medicalInsurancePayRecordResult != null)
                    {   //返回数据到前台界面,只需金额
                        resultClass.bSucess = true;
                    }
                    else
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "更新收费信息失败!";
                    }

                    resultClass.oResult = resultDic;
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 9
0
        public override ResultClass MZ_CancelCharge(InputClass inputClass)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                string fph = inputClass.SInput.ContainsKey(InputType.InvoiceNo) ? inputClass.SInput[InputType.InvoiceNo].ToString() : "";
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordOld = hisDao.Mz_GetPayRecord(2, fph, 2, 1);

                if (medicalInsurancePayRecordOld == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "获取收费信息失败!";
                    AddLog("获取收费信息失败!", Color.Red);
                }
                else
                {
                    //取消医保结算并返回结果
                    resultClass = ybInterfaceDao.MZ_CancelCharge(sDll, medicalInsurancePayRecordOld.TradeNO);
                    AddLog("取消结算完成,开始解析", Color.Blue);
                    DivideResult.root            root = (DivideResult.root)resultClass.oResult;
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                    medicalInsurancePayRecord.RegId     = medicalInsurancePayRecordOld.RegId;
                    medicalInsurancePayRecord.FeeNO     = medicalInsurancePayRecordOld.FeeNO;
                    medicalInsurancePayRecord.state     = 2;
                    medicalInsurancePayRecord.TradeType = 2;
                    MI_MIPayRecordHead          mIPayRecordHead       = ResultToPayRecordHead(root.output);
                    List <MI_MIPayRecordDetail> mIPayRecordDetailList = ResultToPayRecordDetail(root.output);
                    //更新交易表
                    medicalInsurancePayRecordOld.state = 3;


                    List <MI_MedicalInsurancePayRecord> medicalInsurancePayRecordList = new List <MI_MedicalInsurancePayRecord>();
                    medicalInsurancePayRecordList.Add(medicalInsurancePayRecordOld);
                    medicalInsurancePayRecordList.Add(medicalInsurancePayRecord);

                    InputClass input = new InputClass();
                    Dictionary <InputType, object> dicStr = new Dictionary <InputType, object>();
                    dicStr.Add(InputType.MI_MedicalInsurancePayRecordList, JsonHelper.SerializeObject(medicalInsurancePayRecordList));
                    dicStr.Add(InputType.MI_MIPayRecordHead, JsonHelper.SerializeObject(mIPayRecordHead));
                    dicStr.Add(InputType.MI_MIPayRecordDetailList, JsonHelper.SerializeObject(mIPayRecordDetailList));
                    input.SInput = dicStr;
                    AddLog("取消结算完成,解析完成,保存HIS开始", Color.Blue);
                    resultClass = hisDao.MZ_CancelCharge(input);
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
                AddLog("取消结算失败!错误信息:" + e.Message, Color.Red);
            }
            return(resultClass);
        }
Exemplo n.º 10
0
        private MI_MIPayRecordHead ResultToPayRecordHead(HIS_Entity.MIManage.Common.DivideResult.output output)
        {
            MI_MIPayRecordHead mIPayRecordHead = new MI_MIPayRecordHead();

            if (IsNew)
            {
                if (output.medicatalog2 != null)
                {
                    mIPayRecordHead.medicine  = Tools.ToDecimal(output.medicatalog2.medicine, 0);
                    mIPayRecordHead.therb     = Tools.ToDecimal(output.medicatalog2.therb, 0);
                    mIPayRecordHead.tmedicine = Tools.ToDecimal(output.medicatalog2.tmedicine, 0);
                    mIPayRecordHead.examine   = Tools.ToDecimal(output.medicatalog2.examine, 0);
                    mIPayRecordHead.labexam   = Tools.ToDecimal(output.medicatalog2.labexam, 0);
                    mIPayRecordHead.treatment = Tools.ToDecimal(output.medicatalog2.treatment, 0);
                    mIPayRecordHead.operation = Tools.ToDecimal(output.medicatalog2.operation, 0);
                    mIPayRecordHead.material  = Tools.ToDecimal(output.medicatalog2.material, 0);
                    mIPayRecordHead.other     = Tools.ToDecimal(output.medicatalog2.otheropfee, 0);

                    mIPayRecordHead.diagnosis      = Tools.ToDecimal(output.medicatalog2.diagnosis, 0);
                    mIPayRecordHead.medicalservice = Tools.ToDecimal(output.medicatalog2.medicalservice, 0);
                    mIPayRecordHead.commonservice  = Tools.ToDecimal(output.medicatalog2.commonservice, 0);
                    mIPayRecordHead.registfee      = Tools.ToDecimal(output.medicatalog2.registfee, 0);
                }
            }
            else
            {
                if (output.medicatalog != null)
                {
                    mIPayRecordHead.medicine  = Tools.ToDecimal(output.medicatalog.medicine, 0);
                    mIPayRecordHead.therb     = Tools.ToDecimal(output.medicatalog.therb, 0);
                    mIPayRecordHead.tmedicine = Tools.ToDecimal(output.medicatalog.tmedicine, 0);
                    mIPayRecordHead.examine   = Tools.ToDecimal(output.medicatalog.examine, 0);
                    mIPayRecordHead.labexam   = Tools.ToDecimal(output.medicatalog.labexam, 0);
                    mIPayRecordHead.treatment = Tools.ToDecimal(output.medicatalog.treatment, 0);
                    mIPayRecordHead.operation = Tools.ToDecimal(output.medicatalog.operation, 0);
                    mIPayRecordHead.material  = Tools.ToDecimal(output.medicatalog.material, 0);
                    mIPayRecordHead.other     = Tools.ToDecimal(output.medicatalog.other, 0);

                    mIPayRecordHead.xray               = Tools.ToDecimal(output.medicatalog.xray, 0);
                    mIPayRecordHead.ultrasonic         = Tools.ToDecimal(output.medicatalog.ultrasonic, 0);
                    mIPayRecordHead.CT                 = Tools.ToDecimal(output.medicatalog.ct, 0);
                    mIPayRecordHead.mri                = Tools.ToDecimal(output.medicatalog.mri, 0);
                    mIPayRecordHead.oxygen             = Tools.ToDecimal(output.medicatalog.oxygen, 0);
                    mIPayRecordHead.bloodt             = Tools.ToDecimal(output.medicatalog.bloodt, 0);
                    mIPayRecordHead.orthodontics       = Tools.ToDecimal(output.medicatalog.orthodontics, 0);
                    mIPayRecordHead.prosthesis         = Tools.ToDecimal(output.medicatalog.prosthesis, 0);
                    mIPayRecordHead.forensic_expertise = Tools.ToDecimal(output.medicatalog.forensic_expertise, 0);
                }
            }
            return(mIPayRecordHead);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 预取消收费
        /// </summary>
        /// <param name="inputClass"></param>
        /// <returns></returns>
        public override ResultClass MZ_CancelCharge(InputClass inputClass)//string fph)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = JsonHelper.DeserializeJsonToObject <MI_MedicalInsurancePayRecord>(inputClass.SInput[InputType.MI_MedicalInsurancePayRecord].ToString());
                MI_MIPayRecordHead           mIPayRecordHead           = JsonHelper.DeserializeJsonToObject <MI_MIPayRecordHead>(inputClass.SInput[InputType.MI_MIPayRecordHead].ToString());
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = JsonHelper.DeserializeJsonToList <MI_MIPayRecordDetail>(inputClass.SInput[InputType.MI_MIPayRecordDetailList].ToString());

                //保存新信息
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);

                #region 返回结果用于打印
                MI_MIPayRecordHead mIPayRecordHeadResult = hisDao.Mz_GetPayRecordHead(medicalInsurancePayRecordResult.ID);
                DataTable          dtPayrecordDetail     = hisDao.Mz_GetPayRecordDetailForPrint(medicalInsurancePayRecordResult.ID);

                List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                result1.Add(medicalInsurancePayRecordResult);
                DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                result2.Add(mIPayRecordHeadResult);
                DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                List <DataTable> objects = new List <DataTable>();
                objects.Add(dtPayrecord);
                objects.Add(dtPayrecordHead);
                objects.Add(dtPayrecordDetail);
                //返回数据到前台界面,只需金额
                resultClass.oResult = objects;
                #endregion

                if (medicalInsurancePayRecordResult != null)
                {   //返回数据到前台界面,只需金额
                    resultClass.bSucess = true;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新收费信息失败!";
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 12
0
        public ServiceResponseData Mz_GetPayRecordHead()
        {
            int PayRecordId = requestData.GetData <int>(0);

            List <MI_MIPayRecordHead> mIPayRecordHeadList = NewObject <MI_MIPayRecordHead>().getlist <MI_MIPayRecordHead>(" PayRecordId=" + PayRecordId);

            if (mIPayRecordHeadList.Count > 0)
            {
                MI_MIPayRecordHead mIPayRecordHead = mIPayRecordHeadList[0];
                responseData.AddData(true);
                responseData.AddData(mIPayRecordHead);
            }
            else
            {
                responseData.AddData(false);
            }

            return(responseData);
        }
Exemplo n.º 13
0
        public ServiceResponseData SaveTradeInfo()
        {
            try
            {
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = requestData.GetData <MI_MedicalInsurancePayRecord>(0);
                MI_MIPayRecordHead           mIPayRecordHead           = requestData.GetData <MI_MIPayRecordHead>(1);
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = requestData.GetData <List <MI_MIPayRecordDetail> >(2);

                MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = NewObject <TradeProcess>().SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);

                responseData.AddData(true);
                responseData.AddData(medicalInsurancePayRecordResult);
            }
            catch (Exception e)
            {
                responseData.AddData(false);
                responseData.AddData(e.Message);
            }
            return(responseData);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 获取交易记录头表
        /// </summary>
        /// <param name="PayRecordId"></param>
        /// <returns></returns>
        public MI_MIPayRecordHead Mz_GetPayRecordHead(int PayRecordId)
        {
            Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
            {
                request.AddData(PayRecordId);
            });

            ServiceResponseData retdataMember = InvokeWcfService("MIProject.Service", "MIMzController", "Mz_GetPayRecordHead", requestAction);
            bool b = retdataMember.GetData <bool>(0);

            if (b)
            {
                MI_MIPayRecordHead mIPayRecordHead = retdataMember.GetData <MI_MIPayRecordHead>(1);
                return(mIPayRecordHead);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 15
0
        public override ResultClass MZ_PreviewCharge(InputClass inputClass)//TradeData tradedata)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                resultDic.Clear();
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = JsonHelper.DeserializeJsonToObject <MI_MedicalInsurancePayRecord>(inputClass.SInput[InputType.MI_MedicalInsurancePayRecord].ToString());
                MI_MIPayRecordHead           mIPayRecordHead           = JsonHelper.DeserializeJsonToObject <MI_MIPayRecordHead>(inputClass.SInput[InputType.MI_MIPayRecordHead].ToString());
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = JsonHelper.DeserializeJsonToList <MI_MIPayRecordDetail>(inputClass.SInput[InputType.MI_MIPayRecordDetailList].ToString());

                AddLog("解析完成,开始保存");
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);
                AddLog("保存完成,开始返回");
                if (medicalInsurancePayRecordResult.ID > 0)
                {
                    //返回数据到前台界面,只需金额
                    resultDic.Add("Id", medicalInsurancePayRecordResult.ID.ToString());
                    resultDic.Add("tradeno", medicalInsurancePayRecord.TradeNO);
                    resultDic.Add("FeeAll", medicalInsurancePayRecord.FeeAll.ToString());
                    resultDic.Add("fund", medicalInsurancePayRecord.FeeFund.ToString());
                    resultDic.Add("cash", medicalInsurancePayRecord.FeeCash.ToString());
                    resultDic.Add("personcountpay", medicalInsurancePayRecord.PersonCountPay.ToString());
                    resultClass.bSucess = true;
                    resultClass.oResult = resultDic;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "保存失败,返回ID为零";
                    resultClass.oResult  = null;;
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
        /// <summary>
        /// 补打明细 补打明细 InputType.TradeNo InputType.InvoiceNo InputType.SerialNO
        /// </summary>
        /// <param name="dtMedicalInsurancePayRecord"></param>
        /// <param name="dtMIPayRecordHead"></param>
        /// <param name="dtMIPayRecordDetailList"></param>
        /// <returns></returns>
        private bool MZ_MITradeMXPrint(DataTable dtMedicalInsurancePayRecord, DataTable dtMIPayRecordHead, DataTable dtMIPayRecordDetailList)
        {
            MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ConvertExtend.ToList <MI_MedicalInsurancePayRecord>(dtMedicalInsurancePayRecord)[0];
            MI_MIPayRecordHead           mIPayRecordHead           = ConvertExtend.ToList <MI_MIPayRecordHead>(dtMIPayRecordHead)[0];

            #region 参数字段
            Dictionary <string, object> myDictionary = new Dictionary <string, object>();
            myDictionary.Add("HospitalName", LoginUserInfo.WorkName);
            myDictionary.Add("TradeNO", medicalInsurancePayRecord.TradeNO);
            myDictionary.Add("Id", medicalInsurancePayRecord.ID);
            myDictionary.Add("PatientName", medicalInsurancePayRecord.PatientName);
            myDictionary.Add("ApplyNO", medicalInsurancePayRecord.ApplyNO);
            myDictionary.Add("StaffName", LoginUserInfo.EmpName);
            myDictionary.Add("FeeMIIn", medicalInsurancePayRecord.FeeMIIn);
            myDictionary.Add("FeeFund", medicalInsurancePayRecord.FeeFund);
            myDictionary.Add("FeeCash", medicalInsurancePayRecord.FeeCash);
            myDictionary.Add("PersonCountPay", medicalInsurancePayRecord.PersonCountPay);
            myDictionary.Add("PersonCount", medicalInsurancePayRecord.PersonCount);
            myDictionary.Add("FeeBigPay", medicalInsurancePayRecord.FeeBigPay);
            myDictionary.Add("FeeAll", medicalInsurancePayRecord.FeeAll);

            myDictionary.Add("FeeMIOut", medicalInsurancePayRecord.FeeMIOut);
            myDictionary.Add("FeeDeductible", medicalInsurancePayRecord.FeeDeductible);
            myDictionary.Add("FeeSelfPay", medicalInsurancePayRecord.FeeSelfPay);
            myDictionary.Add("FeeBigSelfPay", medicalInsurancePayRecord.FeeBigSelfPay);
            myDictionary.Add("FeeOutOFPay", medicalInsurancePayRecord.FeeOutOFPay);
            myDictionary.Add("Feebcbx", medicalInsurancePayRecord.Feebcbx);
            myDictionary.Add("Feejcbz", medicalInsurancePayRecord.Feejcbz);
            #endregion

            #region 明细表
            DataTable dtPrint = dtMIPayRecordDetailList.Clone();
            foreach (DataColumn dc in dtMIPayRecordDetailList.Columns)
            {
                dtPrint.Columns.Add(dc.ColumnName + "1", dc.DataType);
            }

            DataTable dtCount = dtMIPayRecordDetailList.Clone();
            #region 添加汇总信息
            DataRow dr = dtCount.NewRow();
            dr["ItemName"] = "西药";
            dr["Fee"]      = mIPayRecordHead.medicine;
            dtCount.Rows.Add(dr);

            DataRow dr1 = dtCount.NewRow();
            dr1["ItemName"] = "中成药";
            dr1["Fee"]      = mIPayRecordHead.tmedicine;
            dtCount.Rows.Add(dr1);

            DataRow dr2 = dtCount.NewRow();
            dr2["ItemName"] = "中草药";
            dr2["Fee"]      = mIPayRecordHead.therb;
            dtCount.Rows.Add(dr2);

            DataRow dr3 = dtCount.NewRow();
            dr3["ItemName"] = "化验";
            dr3["Fee"]      = mIPayRecordHead.labexam;
            dtCount.Rows.Add(dr3);

            DataRow dr4 = dtCount.NewRow();
            dr4["ItemName"] = "检查";
            dr4["Fee"]      = mIPayRecordHead.examine;
            dtCount.Rows.Add(dr4);

            DataRow dr5 = dtCount.NewRow();
            dr5["ItemName"] = "放射";
            dr5["Fee"]      = mIPayRecordHead.xray;
            dtCount.Rows.Add(dr5);

            DataRow dr6 = dtCount.NewRow();
            dr6["ItemName"] = "B超";
            dr6["Fee"]      = mIPayRecordHead.ultrasonic;
            dtCount.Rows.Add(dr6);

            DataRow dr7 = dtCount.NewRow();
            dr7["ItemName"] = "CT";
            dr7["Fee"]      = mIPayRecordHead.CT;
            dtCount.Rows.Add(dr7);

            DataRow dr8 = dtCount.NewRow();
            dr8["ItemName"] = "核磁";
            dr8["Fee"]      = mIPayRecordHead.mri;
            dtCount.Rows.Add(dr8);

            DataRow dr9 = dtCount.NewRow();
            dr9["ItemName"] = "治疗费";
            dr9["Fee"]      = mIPayRecordHead.treatment;
            dtCount.Rows.Add(dr9);

            DataRow dr10 = dtCount.NewRow();
            dr10["ItemName"] = "材料费";
            dr10["Fee"]      = mIPayRecordHead.material;
            dtCount.Rows.Add(dr10);

            DataRow dr11 = dtCount.NewRow();
            dr11["ItemName"] = "手术费";
            dr11["Fee"]      = mIPayRecordHead.operation;
            dtCount.Rows.Add(dr11);

            DataRow dr12 = dtCount.NewRow();
            dr12["ItemName"] = "输氧费";
            dr12["Fee"]      = mIPayRecordHead.oxygen;
            dtCount.Rows.Add(dr12);

            DataRow dr13 = dtCount.NewRow();
            dr13["ItemName"] = "输血费";
            dr13["Fee"]      = mIPayRecordHead.bloodt;
            dtCount.Rows.Add(dr13);

            DataRow dr14 = dtCount.NewRow();
            dr14["ItemName"] = "正畸费";
            dr14["Fee"]      = mIPayRecordHead.orthodontics;
            dtCount.Rows.Add(dr14);

            DataRow dr15 = dtCount.NewRow();
            dr15["ItemName"] = "镶牙费";
            dr15["Fee"]      = mIPayRecordHead.prosthesis;
            dtCount.Rows.Add(dr15);


            DataRow dr16 = dtCount.NewRow();
            dr16["ItemName"] = "司法鉴定";
            dr16["Fee"]      = mIPayRecordHead.forensic_expertise;
            dtCount.Rows.Add(dr16);


            DataRow dr17 = dtCount.NewRow();
            dr17["ItemName"] = "其他";
            dr17["Fee"]      = mIPayRecordHead.other;
            dtCount.Rows.Add(dr17);
            #endregion
            DataRow[] drs = dtCount.Select(" Fee>0");
            for (int i = 0; i < dtMIPayRecordDetailList.Rows.Count; i++)
            {
                string yblevel = dtMIPayRecordDetailList.Rows[i]["YBItemLevel"].ToString().Trim();
                dtMIPayRecordDetailList.Rows[i]["YBItemLevel"] = yblevel.Equals("1") ? "◇" : (yblevel.Equals("2") ? "△" : yblevel.Equals("3") ? "□" : "□");
                //dtPrint.ImportRow(dtMIPayRecordDetailList.Rows[i]);
            }
            for (int k = 0; k < drs.Length; k++)
            {
                if (!Convert.ToBoolean(k % 2))  //偶数行
                {
                    dtPrint.ImportRow(drs[k]);
                }
                else
                {
                    int j = k / 2;
                    dtPrint.Rows[j]["ItemName1"] = drs[k]["ItemName"];
                    dtPrint.Rows[j]["Fee1"]      = drs[k]["Fee"];
                }
            }

            int iRowCount = dtPrint.Rows.Count;
            for (int i = 0; i < dtMIPayRecordDetailList.Rows.Count; i++)
            {
                if (!Convert.ToBoolean(i % 2))  //偶数行
                {
                    dtPrint.ImportRow(dtMIPayRecordDetailList.Rows[i]);
                }
                else
                {
                    int j = i / 2 + iRowCount;
                    dtPrint.Rows[j]["ItemName1"]    = dtMIPayRecordDetailList.Rows[i]["ItemName"];
                    dtPrint.Rows[j]["Spec1"]        = dtMIPayRecordDetailList.Rows[i]["Spec"];
                    dtPrint.Rows[j]["Unit1"]        = dtMIPayRecordDetailList.Rows[i]["Unit"];
                    dtPrint.Rows[j]["UnitPrice1"]   = dtMIPayRecordDetailList.Rows[i]["UnitPrice"];
                    dtPrint.Rows[j]["Count1"]       = dtMIPayRecordDetailList.Rows[i]["Count"];
                    dtPrint.Rows[j]["Fee1"]         = dtMIPayRecordDetailList.Rows[i]["Fee"];
                    dtPrint.Rows[j]["YBItemLevel1"] = dtMIPayRecordDetailList.Rows[i]["YBItemLevel"];
                }
            }
            #endregion

            //EfwControls.CustomControl.ReportTool.GetReport(1, 2026, 0, myDictionary, dtPrint).Print(true);
            EfwControls.CustomControl.ReportTool.GetReport(1, 2007, 0, myDictionary, dtPrint).Print(false);
            return(true);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 保存交易信息并返回交易表
        /// </summary>
        /// <param name="medicalInsurancePayRecord"></param>
        /// <param name="mIPayRecordHead"></param>
        /// <param name="mIPayRecordDetailList"></param>
        /// <returns></returns>
        public MI_MedicalInsurancePayRecord SaveTradeInfo(MI_MedicalInsurancePayRecord medicalInsurancePayRecord, MI_MIPayRecordHead mIPayRecordHead, List <MI_MIPayRecordDetail> mIPayRecordDetailList)
        {
            Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
            {
                request.AddData(medicalInsurancePayRecord);
                request.AddData(mIPayRecordHead);
                request.AddData(mIPayRecordDetailList);
            });

            ServiceResponseData retdataMember = InvokeWcfService("MIProject.Service", "MIMzController", "SaveTradeInfo", requestAction);
            bool b = retdataMember.GetData <bool>(0);

            if (b)
            {
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = retdataMember.GetData <MI_MedicalInsurancePayRecord>(1);
                return(medicalInsurancePayRecordResult);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 18
0
        private static bool MZ_MIChangePrint(MI_MedicalInsurancePayRecord medicalInsurancePayRecord, MI_MIPayRecordHead mIPayRecordHead, DataTable dtMIPayRecordDetailList)
        {
            #region 参数字段
            Dictionary<string, object> myDictionary = new Dictionary<string, object>();
            myDictionary.Add("Title", medicalInsurancePayRecord.TradeNO);
            myDictionary.Add("TradeNO", medicalInsurancePayRecord.TradeNO);
            myDictionary.Add("Id", medicalInsurancePayRecord.ID);
            myDictionary.Add("PatientName", medicalInsurancePayRecord.PatientName);
            myDictionary.Add("ApplyNO", medicalInsurancePayRecord.ApplyNO);
            myDictionary.Add("FeeMIIn", medicalInsurancePayRecord.FeeMIIn);
            myDictionary.Add("FeeFund", medicalInsurancePayRecord.FeeFund);
            //myDictionary.Add("个人负担-Parameter4", medicalInsurancePayRecord);
            myDictionary.Add("FeeCash", medicalInsurancePayRecord.FeeCash);
            myDictionary.Add("PersonCountPay", medicalInsurancePayRecord.PersonCountPay);
            myDictionary.Add("PersonCount", medicalInsurancePayRecord.PersonCount);
            myDictionary.Add("FeeBigPay", medicalInsurancePayRecord.FeeBigPay);
            //myDictionary.Add("StaffName", medicalInsurancePayRecord.);
            myDictionary.Add("FeeAll", medicalInsurancePayRecord.FeeAll);

            myDictionary.Add("medicine", mIPayRecordHead.medicine);
            myDictionary.Add("tmedicine", mIPayRecordHead.tmedicine);
            myDictionary.Add("therb", mIPayRecordHead.therb);
            myDictionary.Add("examine", mIPayRecordHead.examine);
            myDictionary.Add("labexam", mIPayRecordHead.labexam);
            myDictionary.Add("treatment", mIPayRecordHead.treatment);
            myDictionary.Add("operation", mIPayRecordHead.operation);
            myDictionary.Add("material", mIPayRecordHead.material);
            myDictionary.Add("other", mIPayRecordHead.other);
            myDictionary.Add("xray", mIPayRecordHead.xray);
            myDictionary.Add("ultrasonic", mIPayRecordHead.ultrasonic);
            myDictionary.Add("CT", mIPayRecordHead.CT);
            myDictionary.Add("mri", mIPayRecordHead.mri);
            myDictionary.Add("oxygen", mIPayRecordHead.oxygen);
            myDictionary.Add("bloodt", mIPayRecordHead.bloodt);
            myDictionary.Add("orthodontics", mIPayRecordHead.orthodontics);
            myDictionary.Add("prosthesis", mIPayRecordHead.prosthesis);
            myDictionary.Add("forensic_expertise", mIPayRecordHead.forensic_expertise);
            #endregion

            #region 明细表
            DataTable dtPrint = dtMIPayRecordDetailList.Clone();
            foreach (DataColumn dc in dtMIPayRecordDetailList.Columns)
            {
                dtPrint.Columns.Add(dc.ColumnName + "1", dc.DataType);
            }
            for (int i = 0; i < dtMIPayRecordDetailList.Rows.Count; i++)
            {
                if (!Convert.ToBoolean(i % 2))  //偶数行
                {
                    dtPrint.ImportRow(dtMIPayRecordDetailList.Rows[i]);
                }
                else
                {
                    int j = i / 2;
                    dtPrint.Rows[j]["ItemName1"] = dtMIPayRecordDetailList.Rows[i]["ItemName"];
                    dtPrint.Rows[j]["Spec1"] = dtMIPayRecordDetailList.Rows[i]["Spec"];
                    dtPrint.Rows[j]["Unit1"] = dtMIPayRecordDetailList.Rows[i]["Unit"];
                    dtPrint.Rows[j]["UnitPrice1"] = dtMIPayRecordDetailList.Rows[i]["UnitPrice"];
                    dtPrint.Rows[j]["Count1"] = dtMIPayRecordDetailList.Rows[i]["Count"];
                    dtPrint.Rows[j]["Fee1"] = dtMIPayRecordDetailList.Rows[i]["Fee"];
                    dtPrint.Rows[j]["YBItemLevel1"] = dtMIPayRecordDetailList.Rows[i]["YBItemLevel"];
                }
            }
            #endregion

            EfwControls.CustomControl.ReportTool.GetReport(1, 2026, 0, myDictionary, dtPrint).Print(true);
            //EfwControls.CustomControl.ReportTool.GetReport("医保收费.grf", 0, myDictionary, dtPrint).Print(true);
            return true;
        }
Exemplo n.º 19
0
        /// <summary>
        /// 取消收费
        /// </summary>
        /// <param name="inputClass">InputType.InvoiceNo发票号</param>
        /// <returns>返回ResultClass 无object</returns>
        public static ResultClass MZ_CancelCharge(InputClass inputClass)
        {
            ResultClass resultClass = ((MIMzInterface)AbstractAction).MZ_CancelCharge(inputClass);
            if (resultClass.bSucess)
            {
                ResultClass resultClass1 = ((MIMzInterface)AbstractAction).MZ_CancelChargeCommit(inputClass);
                if (resultClass1.bSucess)
                {
                    List<DataTable> objects = (List<DataTable>)resultClass1.oResult;
                    if (objects != null)
                    {
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ConvertExtend.ToList<MI_MedicalInsurancePayRecord>(objects[0])[0];
                        MI_MIPayRecordHead mIPayRecordHead = ConvertExtend.ToList<MI_MIPayRecordHead>(objects[1])[0];

                        DataTable dtPayrecordDetail = objects[2];
                        //MZ_MIChangePrint(medicalInsurancePayRecord, mIPayRecordHead, dtPayrecordDetail);

                        string sTradeNo = objects[0].Rows[0]["TradeNO"].ToString();
                        if (inputClass.SInput.ContainsKey(InputType.TradeNo))
                        {
                            inputClass.SInput[InputType.TradeNo] = sTradeNo;
                        }
                        else
                        {
                            inputClass.SInput.Add(InputType.TradeNo, sTradeNo);
                        }

                        //string sFeeNO = objects[0].Rows[0]["FeeNO"].ToString();
                        //if (inputClass.SInput.ContainsKey(InputType.InvoiceNo))
                        //{
                        //    inputClass.SInput[InputType.InvoiceNo] = sFeeNO;
                        //}
                        //else
                        //{
                        //    inputClass.SInput.Add(InputType.InvoiceNo, sFeeNO);
                        //}
                        if (bPrinter)
                        {
                            ResultClass resultPrint = MZ_PrintInvoice(inputClass);

                            if (resultPrint.oResult != null && resultPrint.oResult.ToString().Equals("1"))
                            {
                                MZ_MITradePrint(objects[0], objects[1], dtPayrecordDetail);
                                resultClass.oResult = medicalInsurancePayRecord.PersonCount;
                            }
                        }
                        else if(dtPayrecordDetail.Rows.Count>19)
                        {
                            MZ_MITradePrint(objects[0], objects[1], dtPayrecordDetail);
                            resultClass.oResult = medicalInsurancePayRecord.PersonCount;
                        }
                    }

                    string sPersonCount = objects[0].Rows[0]["PersonCount"].ToString();
                    resultClass.sRemarks = sPersonCount;

                    return resultClass;
                }
                else
                {
                    return resultClass1;
                }
            }
            return resultClass;
        }
Exemplo n.º 20
0
        /// <summary>
        /// 确认收费
        /// </summary>
        /// <param name="inputClass">InputType.TradeRecordId交易ID InputType.InvoiceNo发票号</param>
        /// <returns> 返回ResultClass ResultClass.oResult 为decimal</returns>
        public static ResultClass MZ_Charge(InputClass inputClass)
        {

            ResultClass resultClass = ((MIMzInterface)AbstractAction).MZ_Charge(inputClass);
            try
            {
                if (resultClass.bSucess)
                {
                    List<DataTable> objects = (List<DataTable>)resultClass.oResult;

                    MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ConvertExtend.ToList<MI_MedicalInsurancePayRecord>(objects[0])[0];

                    if (inputClass.SInput.ContainsKey(InputType.TradeNo))
                    {
                        inputClass.SInput[InputType.TradeNo] = medicalInsurancePayRecord.TradeNO;
                    }
                    else
                    {
                        inputClass.SInput.Add(InputType.TradeNo, medicalInsurancePayRecord.TradeNO);
                    }

                    if (inputClass.SInput.ContainsKey(InputType.InvoiceNo))
                    {
                        inputClass.SInput[InputType.InvoiceNo] = medicalInsurancePayRecord.FeeNO;
                    }
                    else
                    {
                        inputClass.SInput.Add(InputType.InvoiceNo, medicalInsurancePayRecord.FeeNO);
                    }

                    if (inputClass.SInput.ContainsKey(InputType.SerialNO))
                    {
                        inputClass.SInput[InputType.SerialNO] = medicalInsurancePayRecord.FeeNO;
                    }
                    else
                    {
                        inputClass.SInput.Add(InputType.SerialNO, medicalInsurancePayRecord.FeeNO);
                    }

                    MI_MIPayRecordHead mIPayRecordHead = ConvertExtend.ToList<MI_MIPayRecordHead>(objects[1])[0];
                    DataTable dtPayrecordDetail = objects[2];

                    if (bPrinter)
                    {
                        ResultClass resultPrint = MZ_PrintInvoice(inputClass);
                        if (resultPrint.oResult != null && resultPrint.oResult.ToString().Equals("1"))
                        {
                            MZ_MITradePrint(objects[0], objects[1], dtPayrecordDetail);
                            resultClass.oResult = medicalInsurancePayRecord.PersonCount;
                        }
                    }
                    else if(dtPayrecordDetail.Rows.Count>19)
                    {
                        MZ_MITradePrint(objects[0], objects[1], dtPayrecordDetail);
                        resultClass.oResult = medicalInsurancePayRecord.PersonCount;
                    }

                    string sPersonCount = objects[0].Rows[0]["PersonCount"].ToString();
                    resultClass.sRemarks = sPersonCount;
                }
            }
            catch (Exception e)
            {
                resultClass.sRemarks = e.Message;
            }
            return resultClass;
        }
Exemplo n.º 21
0
        /// <summary>
        /// 确认取消挂号
        /// </summary>
        /// <param name="inputClass"></param>
        /// <returns></returns>
        public override ResultClass MZ_CancelRegisterCommit(InputClass inputClass)//)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                resultDic.Clear();
                decimal personcount    = inputClass.SInput.ContainsKey(InputType.Money) ? Tools.ToDecimal(inputClass.SInput[InputType.Money].ToString(), 0) : 0;
                int     registerId     = inputClass.SInput.ContainsKey(InputType.RegisterId) ? Tools.ToInt32(inputClass.SInput[InputType.RegisterId].ToString(), 0) : 0;
                string  serialNO       = inputClass.SInput.ContainsKey(InputType.SerialNO) ? inputClass.SInput[InputType.SerialNO].ToString() : "";
                int     iTradeRecordId = inputClass.SInput.ContainsKey(InputType.TradeRecordId) ? Tools.ToInt32(inputClass.SInput[InputType.TradeRecordId].ToString(), 0) : 0;

                MI_Register register = hisDao.Mz_Getregister(registerId, serialNO);
                register.ValidFlag = 2;
                //更新登记表
                ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
                //更新原交易表
                MI_MedicalInsurancePayRecord medicalInsurancePayRecordOld = hisDao.Mz_GetPayRecord(1, register.ID.ToString(), 1, 1);
                if (medicalInsurancePayRecordOld != null)
                {
                    medicalInsurancePayRecordOld.state = 3;
                    hisDao.Mz_SavePayRecord(medicalInsurancePayRecordOld);

                    MI_MedicalInsurancePayRecord medicalInsurancePayRecordNew = hisDao.Mz_GetPayRecord(0, iTradeRecordId.ToString(), 1, 0);
                    if (medicalInsurancePayRecordNew != null)
                    {
                        //medicalInsurancePayRecordNew.FeeNO = medicalInsurancePayRecordOld.FeeNO;
                        medicalInsurancePayRecordNew.state          = 2;
                        medicalInsurancePayRecordNew.PersonCount    = personcount;
                        medicalInsurancePayRecordNew.PersonCountPay = Convert.ToDecimal(medicalInsurancePayRecordOld.PersonCountPay) * -1;
                        hisDao.Mz_SavePayRecord(medicalInsurancePayRecordNew);
                    }

                    MI_MIPayRecordHead mIPayRecordHead   = hisDao.Mz_GetPayRecordHead(medicalInsurancePayRecordNew.ID);
                    DataTable          dtPayrecordDetail = hisDao.Mz_GetPayRecordDetailForPrint(medicalInsurancePayRecordNew.ID);

                    List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                    result1.Add(medicalInsurancePayRecordNew);
                    DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                    List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                    result2.Add(mIPayRecordHead);
                    DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                    List <DataTable> objects = new List <DataTable>();
                    objects.Add(dtPayrecord);
                    objects.Add(dtPayrecordHead);
                    objects.Add(dtPayrecordDetail);

                    resultClass.bSucess = true;
                    resultClass.oResult = objects;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新登记信息失败!";
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 22
0
        /// <summary>
        /// 交易信息提交
        /// </summary>
        /// <param name="_curPatlist"></param>
        /// <param name="paymentInfoList"></param>
        /// <param name="totalFee"></param>
        /// <returns></returns>
        public MI_MedicalInsurancePayRecord SaveTradeInfo(MI_MedicalInsurancePayRecord medicalInsurancePayRecord, MI_MIPayRecordHead mIPayRecordHead, List <MI_MIPayRecordDetail> mIPayRecordDetailList)
        {
            try
            {
                //插入挂号就诊表记录
                AddLog("HIS插入记录表记录开始!");
                this.BindDb(medicalInsurancePayRecord);
                medicalInsurancePayRecord.save();
                AddLog("HIS插入记录表记录结束!");

                //得到当前结账ID
                int payRecordId = medicalInsurancePayRecord.ID;//NewObject<CommonMethod>().GetPayRecordId(medicalInsurancePayRecord.MIID, medicalInsurancePayRecord.TradeNO);
                if (payRecordId == 0)
                {
                    return(null);
                }

                AddLog("HIS插入打印数据表记录开始!");
                if (mIPayRecordHead != null)
                {
                    //插入交易头表
                    mIPayRecordHead.PayRecordId = payRecordId;
                    mIPayRecordHead.tradeno     = medicalInsurancePayRecord.TradeNO;
                    this.BindDb(mIPayRecordHead);
                    mIPayRecordHead.save();
                }
                AddLog("HIS插入明细表记录结束!");
                #region 插入交易明细表
                foreach (MI_MIPayRecordDetail mIPayRecordDetail in mIPayRecordDetailList)
                {
                    if (mIPayRecordDetail.itemno == null || mIPayRecordDetail.itemno.Equals(String.Empty))
                    {
                        continue;
                    }
                    mIPayRecordDetail.PayRecordId = payRecordId;
                    mIPayRecordDetail.tradeno     = medicalInsurancePayRecord.TradeNO;
                    this.BindDb(mIPayRecordDetail);
                    mIPayRecordDetail.save();
                }
                AddLog("HIS插入明细表记录结束!");
                #endregion
                return(medicalInsurancePayRecord);
            }
            catch (Exception err)
            {
                throw new Exception(err.Message);
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// 保存登记信息:先保存医保信息;然后保存登记信息;最后保存交易信息
        /// </summary>
        /// <param name="register">登记类</param>
        /// <returns></returns>
        public override ResultClass MZ_PreviewRegister(InputClass inputClass)//MI_Register register)
        {
            ResultClass resultClass = new ResultClass();

            MI_Register register = JsonHelper.DeserializeJsonToObject <MI_Register>(inputClass.SInput[InputType.MI_Register].ToString());

            try
            {
                resultDic.Clear();
                //医保登记并返回结果
                AddLog("医保登记并返回结果开始");
                resultClass = ybInterfaceDao.MZ_PreviewRegister(PreviewRegisterToInput(register));
                AddLog("医保登记并返回结果结束,开始解析");
                HIS_Entity.MIManage.Common.DivideResult.root root      = (HIS_Entity.MIManage.Common.DivideResult.root)resultClass.oResult;
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                MI_MIPayRecordHead           mIPayRecordHead           = ResultToPayRecordHead(root.output);
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = ResultToPayRecordDetail(root.output);
                AddLog("解析完成,开始保存登记信息");
                register.SocialCreateNum = medicalInsurancePayRecord.TradeNO;
                ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
                if (regResultClass.bSucess)
                {
                    MI_Register registerResult = regResultClass.oResult as MI_Register;
                    AddLog("保存登记完成,开始保存交易信息");
                    medicalInsurancePayRecord.RegId     = registerResult.ID;
                    medicalInsurancePayRecord.state     = 0;
                    medicalInsurancePayRecord.TradeType = 1;

                    MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);
                    AddLog("保存交易信息完成,开始返回");
                    if (medicalInsurancePayRecordResult.ID > 0)
                    {
                        //返回数据到前台界面,只需金额
                        resultDic.Add("Id", registerResult.ID.ToString());
                        resultDic.Add("tradeno", root.output.tradeinfo.tradeno);
                        resultDic.Add("FeeAll", root.output.sumpay.feeall);
                        resultDic.Add("fund", root.output.sumpay.fund);
                        resultDic.Add("cash", root.output.sumpay.cash);
                        resultDic.Add("personcountpay", root.output.sumpay.personcountpay);
                        resultClass.oResult = resultDic;
                    }
                    else
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "保存交易数据失败,返回ID为零";
                        resultClass.oResult  = null;;
                    }
                }
                else
                {
                    AddLog("开始保存登记失败");
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = regResultClass.sRemarks;
                    resultClass.oResult  = null;;
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 24
0
        /// <summary>
        /// 确认取消收费
        /// </summary>
        /// <param name="inputClass"></param>
        /// <returns></returns>
        public override ResultClass MZ_CancelChargeCommit(InputClass inputClass)//)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                resultDic.Clear();
                decimal personcount = inputClass.SInput.ContainsKey(InputType.Money) ? Tools.ToDecimal(inputClass.SInput[InputType.Money].ToString(), 0) : 0;
                string  fph         = inputClass.SInput.ContainsKey(InputType.InvoiceNo) ? inputClass.SInput[InputType.InvoiceNo].ToString() : "";

                MI_MedicalInsurancePayRecord medicalInsurancePayRecordOld = hisDao.Mz_GetPayRecord(2, fph, 2, 1);
                if (medicalInsurancePayRecordOld != null)
                {
                    //更新原交易表
                    medicalInsurancePayRecordOld.state = 3;
                    hisDao.Mz_SavePayRecord(medicalInsurancePayRecordOld);
                    //更新新交易表
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecordNew = hisDao.Mz_GetPayRecord(2, fph, 2, 5);
                    if (medicalInsurancePayRecordNew != null)
                    {
                        medicalInsurancePayRecordNew.state          = 2;
                        medicalInsurancePayRecordNew.FeeNO          = "";
                        medicalInsurancePayRecordNew.PersonCount    = personcount;
                        medicalInsurancePayRecordNew.PersonCountPay = medicalInsurancePayRecordOld.PersonCountPay * -1;
                        hisDao.Mz_SavePayRecord(medicalInsurancePayRecordNew);
                    }

                    #region 返回结果用于打印
                    MI_MIPayRecordHead mIPayRecordHeadResult = hisDao.Mz_GetPayRecordHead(medicalInsurancePayRecordNew.ID);
                    DataTable          dtPayrecordDetail     = hisDao.Mz_GetPayRecordDetailForPrint(medicalInsurancePayRecordNew.ID);

                    List <MI_MedicalInsurancePayRecord> result1 = new List <MI_MedicalInsurancePayRecord>();
                    result1.Add(medicalInsurancePayRecordNew);
                    DataTable dtPayrecord = ConvertExtend.ToDataTable(result1);

                    List <MI_MIPayRecordHead> result2 = new List <MI_MIPayRecordHead>();
                    result2.Add(mIPayRecordHeadResult);
                    DataTable dtPayrecordHead = ConvertExtend.ToDataTable(result2);

                    List <DataTable> objects = new List <DataTable>();
                    objects.Add(dtPayrecord);
                    objects.Add(dtPayrecordHead);
                    objects.Add(dtPayrecordDetail);
                    //返回数据到前台界面,只需金额
                    resultClass.oResult = objects;
                    #endregion

                    resultClass.bSucess = true;
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "更新登记信息失败!";
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 25
0
        public override ResultClass MZ_PreviewRegister(InputClass inputClass)//int registerId, string serialNO)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                resultDic.Clear();
                MI_Register register = JsonHelper.DeserializeJsonToObject <MI_Register>(inputClass.SInput[InputType.MI_Register].ToString());
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = JsonHelper.DeserializeJsonToObject <MI_MedicalInsurancePayRecord>(inputClass.SInput[InputType.MI_MedicalInsurancePayRecord].ToString());
                MI_MIPayRecordHead           mIPayRecordHead           = JsonHelper.DeserializeJsonToObject <MI_MIPayRecordHead>(inputClass.SInput[InputType.MI_MIPayRecordHead].ToString());
                List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = JsonHelper.DeserializeJsonToList <MI_MIPayRecordDetail>(inputClass.SInput[InputType.MI_MIPayRecordDetailList].ToString());
                AddLog("解析完成,开始保存登记信息");
                register.SocialCreateNum = medicalInsurancePayRecord.TradeNO;
                //获取通过病人类型获取MIID
                MI_MedicalInsuranceType medicalInsuranceType = hisDao.Mz_GetMITypeInfo(register.MedicalClass);
                if (medicalInsuranceType != null && medicalInsuranceType.ID > 0)
                {
                    register.MIID        = medicalInsuranceType.ID;
                    register.PatientType = medicalInsuranceType.ID;
                    ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
                    if (regResultClass.bSucess)
                    {
                        MI_Register registerResult = regResultClass.oResult as MI_Register;
                        AddLog("保存登记完成,开始保存交易信息");
                        medicalInsurancePayRecord.RegId = registerResult.ID;

                        MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);
                        AddLog("保存交易信息完成,开始返回");
                        if (medicalInsurancePayRecordResult.ID > 0)
                        {
                            //返回数据到前台界面,只需金额
                            resultDic.Add("Id", registerResult.ID.ToString());
                            resultDic.Add("tradeno", medicalInsurancePayRecord.TradeNO);
                            resultDic.Add("FeeAll", medicalInsurancePayRecord.FeeAll.ToString());
                            resultDic.Add("fund", medicalInsurancePayRecord.FeeFund.ToString());
                            resultDic.Add("cash", medicalInsurancePayRecord.FeeCash.ToString());
                            resultDic.Add("personcountpay", medicalInsurancePayRecord.PersonCountPay.ToString());
                            resultClass.bSucess = true;
                            resultClass.oResult = resultDic;
                        }
                        else
                        {
                            resultClass.bSucess  = false;
                            resultClass.sRemarks = "保存交易数据失败,返回ID为零";
                            resultClass.oResult  = null;;
                        }
                    }
                    else
                    {
                        AddLog("开始保存登记失败");
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = regResultClass.sRemarks;
                        resultClass.oResult  = null;;
                    }
                }
                else
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "找不到病人类型的医保类型表数据!";
                    resultClass.oResult  = null;;
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 26
0
        public override ResultClass MZ_PreviewCharge(InputClass inputClass)//TradeData tradedata)
        {
            ResultClass resultClass = new ResultClass();

            try
            {
                TradeData tradedata = inputClass.SInput.ContainsKey(InputType.TradeData) ?
                                      JsonHelper.DeserializeJsonToObject <TradeData>(inputClass.SInput[InputType.TradeData].ToString()): null;
                MI_Register register = hisDao.Mz_Getregister(-1, tradedata.SerialNo);
                if (register == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",未进行医保统筹登记";
                    MiddlewareLogHelper.WriterLog(LogType.MILog, true, Color.Red, "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",未进行医保统筹登记");
                }
                else
                {
                    if (register.ValidFlag != 1)
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",医保统筹登记已取消";
                        MiddlewareLogHelper.WriterLog(LogType.MILog, true, Color.Red, "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",医保统筹登记已取消");
                    }
                    else
                    {
                        tradedata.SocityCreateNum = register.SocialCreateNum;
                        //医保登记并返回结果
                        AddLog("医保登记并返回结果开始");
                        resultClass = ybInterfaceDao.MZ_PreviewCharge(TradeDataToInput(tradedata));
                        AddLog("医保登记并返回结果结束,开始解析");
                        HIS_Entity.MIManage.Common.DivideResult.root root = (HIS_Entity.MIManage.Common.DivideResult.root)resultClass.oResult;
                        //解析返回结果到类,保存
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                        medicalInsurancePayRecord.state     = 0;
                        medicalInsurancePayRecord.RegId     = register.ID;
                        medicalInsurancePayRecord.TradeType = 2;
                        MI_MIPayRecordHead          mIPayRecordHead       = ResultToPayRecordHead(root.output);
                        List <MI_MIPayRecordDetail> mIPayRecordDetailList = ResultToPayRecordDetail(root.output);


                        AddLog("解析完成,开始保存");
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList);
                        AddLog("保存完成,开始返回");
                        if (medicalInsurancePayRecordResult.ID > 0)
                        {
                            resultDic.Clear();
                            //返回数据到前台界面,只需金额
                            resultDic.Add("Id", medicalInsurancePayRecordResult.ID.ToString());
                            resultDic.Add("tradeno", root.output.tradeinfo.tradeno);
                            resultDic.Add("FeeAll", root.output.sumpay.feeall);
                            resultDic.Add("fund", root.output.sumpay.fund);
                            resultDic.Add("cash", root.output.sumpay.cash);
                            resultDic.Add("personcountpay", root.output.sumpay.personcountpay);
                            resultClass.oResult = resultDic;
                        }
                        else
                        {
                            resultClass.bSucess  = false;
                            resultClass.sRemarks = "保存失败,返回ID为零";
                            resultClass.oResult  = null;;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 27
0
        /// <summary>
        /// 取消登记
        /// </summary>
        /// <param name="inputClass">InputType.SerialNO</param>
        public override ResultClass Mz_CancelRegister(InputClass inputClass)//string serialNO)
        {
            ResultClass resultClass = new ResultClass();
            string      serialNO    = inputClass.SInput.ContainsKey(InputType.SerialNO) ? inputClass.SInput[InputType.SerialNO].ToString() : "";

            try
            {
                resultDic.Clear();
                MI_Register register = hisDao.Mz_Getregister(-1, serialNO);
                if (register == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "获取登记信息失败!";
                }
                else
                {
                    bool b = hisDao.Mz_JudgeRegister(register.ID);
                    if (b)
                    {
                        //取消医保登记并返回结果
                        resultClass = ybInterfaceDao.Mz_CancelRegister(register.SocialCreateNum);
                        HIS_Entity.MIManage.Common.DivideResult.root root = (HIS_Entity.MIManage.Common.DivideResult.root)resultClass.oResult;
                        //解析返回数据,并保存退费记录
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                        MI_MIPayRecordHead           mIPayRecordHead           = ResultToPayRecordHead(root.output);
                        List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = ResultToPayRecordDetail(root.output);
                        register.ValidFlag = 2;

                        medicalInsurancePayRecord.state     = 2;
                        medicalInsurancePayRecord.RegId     = register.ID;
                        medicalInsurancePayRecord.TradeType = 1;
                        //更新登记表
                        ResultClass regResultClass = hisDao.Mz_SaveRegister(register);
                        //更新交易表
                        MI_MedicalInsurancePayRecord medicalInsurancePayRecordResult = hisDao.Mz_GetPayRecord(1, register.ID.ToString(), 1, 1);
                        if (medicalInsurancePayRecordResult != null)
                        {
                            medicalInsurancePayRecordResult.state = 3;
                            hisDao.Mz_SavePayRecord(medicalInsurancePayRecordResult);
                        }

                        medicalInsurancePayRecord.FeeNO = medicalInsurancePayRecordResult.FeeNO;

                        if (regResultClass.bSucess)
                        {
                            if (hisDao.SaveTradeInfo(medicalInsurancePayRecord, mIPayRecordHead, mIPayRecordDetailList) == null)
                            {
                                resultClass.bSucess  = false;
                                resultClass.sRemarks = "更新交易信息失败!";
                            }
                            else
                            {
                                //返回数据到前台界面,只需金额
                                resultClass.bSucess = true;
                            }
                        }
                        else
                        {
                            resultClass.bSucess  = false;
                            resultClass.sRemarks = "更新登记信息失败!";
                        }
                    }
                    else
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "存在已结算的收费数据!";
                    }
                }

                resultClass.oResult = resultDic;
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
            }
            return(resultClass);
        }
Exemplo n.º 28
0
        public override ResultClass MZ_PreviewCharge(InputClass inputClass)
        {
            ResultClass resultClass = new ResultClass();
            TradeData   tradedata   = inputClass.SInput.ContainsKey(InputType.TradeData) ?JsonHelper.DeserializeJsonToObject <TradeData>(inputClass.SInput[InputType.TradeData].ToString()) : null;

            MI_Register register = hisDao.Mz_Getregister(-1, tradedata.SerialNo);

            try
            {
                if (register == null)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",未进行医保统筹登记";
                    //MiddlewareLogHelper.WriterLog(LogType.MILog, true, Color.Red, "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",未进行医保统筹登记");
                    AddLog("医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",未进行医保统筹登记", Color.Red);
                }
                else
                {
                    if (register.ValidFlag != 1)
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",医保统筹登记已取消";
                        //MiddlewareLogHelper.WriterLog(LogType.MILog, true, Color.Red, "医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",医保统筹登记已取消");
                        AddLog("医院编号:" + tradedata.WorkID + ",门诊就诊号:" + tradedata.SerialNo + ",医保统筹登记已取消", Color.Red);
                    }
                    else
                    {
                        tradedata.SocityCreateNum = register.SocialCreateNum;
                        //医保登记并返回结果
                        AddLog("医保预算并返回结果开始", Color.Blue);
                        resultClass = ybInterfaceDao.MZ_PreviewCharge(sDll, TradeDataToInput(tradedata));
                    }
                }
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = e.Message;
                AddLog("医保预算报错:", Color.Red);
            }

            try
            {
                AddLog("医保预算并返回结果成功,开始解析", Color.Blue);
                DivideResult.root root = (DivideResult.root)resultClass.oResult;
                //解析返回结果到类,保存
                MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                medicalInsurancePayRecord.state     = 0;
                medicalInsurancePayRecord.RegId     = register.ID;
                medicalInsurancePayRecord.TradeType = 2;
                MI_MIPayRecordHead          mIPayRecordHead       = ResultToPayRecordHead(root.output);
                List <MI_MIPayRecordDetail> mIPayRecordDetailList = ResultToPayRecordDetail(root.output);
                AddLog("医保预算解析完成,开始保存", Color.Blue);

                InputClass input = new InputClass();
                Dictionary <InputType, object> dicStr = new Dictionary <InputType, object>();
                dicStr.Add(InputType.MI_MedicalInsurancePayRecord, JsonHelper.SerializeObject(medicalInsurancePayRecord));
                dicStr.Add(InputType.MI_MIPayRecordHead, JsonHelper.SerializeObject(mIPayRecordHead));
                dicStr.Add(InputType.MI_MIPayRecordDetailList, JsonHelper.SerializeObject(mIPayRecordDetailList));
                input.SInput = dicStr;
                resultClass  = hisDao.MZ_PreviewCharge(input);
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = "HIS插入医保预算数据报错" + e.Message;
                AddLog("HIS插入医保预算数据报错", Color.Red);
            }
            return(resultClass);
        }
Exemplo n.º 29
0
        public override ResultClass MZ_PreviewRegister(InputClass inputClass)
        {
            InputClass input = new InputClass();

            ResultClass resultClass = new ResultClass();
            MI_Register register    = JsonHelper.DeserializeJsonToObject <MI_Register>(inputClass.SInput[InputType.MI_Register].ToString());

            try
            {
                resultClass = ybInterfaceDao.MZ_PreviewRegister(sDll, PreviewRegisterToInput(register));
            }
            catch (Exception e)
            {
                resultClass.bSucess  = false;
                resultClass.sRemarks = "医保预登记报错:" + e.Message;
                AddLog("医保预登记报错:" + e.Message, Color.Red);
                return(resultClass);
            }

            if (resultClass.bSucess)
            {
                try
                {
                    AddLog("医保预登记完成,开始解析医保登记数据", Color.Blue);
                    DivideResult.root            root = (DivideResult.root)resultClass.oResult;
                    MI_MedicalInsurancePayRecord medicalInsurancePayRecord = ResultToPayRecord(root.output);
                    MI_MIPayRecordHead           mIPayRecordHead           = ResultToPayRecordHead(root.output);
                    List <MI_MIPayRecordDetail>  mIPayRecordDetailList     = ResultToPayRecordDetail(root.output);

                    Dictionary <InputType, object> dicStr = new Dictionary <InputType, object>();
                    dicStr.Add(InputType.MI_Register, JsonHelper.SerializeObject(register));
                    dicStr.Add(InputType.MI_MedicalInsurancePayRecord, JsonHelper.SerializeObject(medicalInsurancePayRecord));
                    dicStr.Add(InputType.MI_MIPayRecordHead, JsonHelper.SerializeObject(mIPayRecordHead));
                    dicStr.Add(InputType.MI_MIPayRecordDetailList, JsonHelper.SerializeObject(mIPayRecordDetailList));
                    input.SInput = dicStr;
                    AddLog("解析医保预登记数据完成,开始保存数据到HIS数据库", Color.Blue);
                }
                catch (Exception e)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "解析预登记数据报错:" + e.Message;
                    AddLog("解析预登记数据报错:" + e.Message, Color.Red);
                    return(resultClass);
                }

                try
                {
                    if (hisDao != null)
                    {
                        resultClass = hisDao.MZ_PreviewRegister(input);
                    }
                    else
                    {
                        resultClass.bSucess  = false;
                        resultClass.sRemarks = "hisDao为空";
                        AddLog("hisDao为空", Color.Red);
                    }
                }
                catch (Exception e)
                {
                    resultClass.bSucess  = false;
                    resultClass.sRemarks = "插入预登记数据报错:" + e.Message;
                    AddLog("插入预登记数据报错:" + e.Message, Color.Red);
                    return(resultClass);
                }
                return(resultClass);
            }
            else
            {
                return(resultClass);
            }
        }