コード例 #1
0
ファイル: LRAccount.cs プロジェクト: omHsbc517/HSBC.Excel
        private static LRInsureContModel GetLRInsureContModel(List <LRInsureContModel> listLRInsureContModel, InsuranceReinsuranceStatement model)
        {
            LRInsureContModel lRInsureContModel = new LRInsureContModel();

            try
            {
                if (model.FilePath.Contains("MR_Health"))
                {
                    lRInsureContModel = listLRInsureContModel.Where(A => A.ReinsurerName == model.ToCompanyName && A.ContOrAmendmentType == "1" && A.ReInsuranceContName.Contains("健康")).ToList().FirstOrDefault();
                }
                else if (model.FilePath.Contains("MR_life"))
                {
                    lRInsureContModel = listLRInsureContModel.Where(A => A.ReinsurerName == model.ToCompanyName && A.ContOrAmendmentType == "1" && A.ReInsuranceContName.Contains("人寿")).ToList().FirstOrDefault();
                }
                else
                {
                    lRInsureContModel = listLRInsureContModel.Where(A => A.ReinsurerName == model.ToCompanyName && A.ContOrAmendmentType == "1").ToList().FirstOrDefault();
                }
            }
            catch (Exception EX)
            {
                throw new Exception("The billing information does not match the contract");
            }

            return(lRInsureContModel);
        }
コード例 #2
0
ファイル: LRInsureCont.cs プロジェクト: omHsbc517/HSBC.Excel
        private void GetLRInsureContByRIContractInfo(List <RIContractInfo> RIContractInfo, bool isChild = false, int contractNumber = 0, string MainReInsuranceContNo = "")
        {
            int ReInsuranceContNo = 0;

            for (int i = 0; i < RIContractInfo.Count; i++)
            {
                LRInsureContModel lRInsureContModel = new LRInsureContModel();
                var    model                    = RIContractInfo[i];
                var    reinsurer                = new Reinsurer().GetReinsurerInforByName(model.Reinsurer);
                var    reinsurerCode            = reinsurer == null ? string.Empty : reinsurer.ReinsurerCode;
                string currentReInsuranceContNo = "";
                if (isChild)
                {
                    if (listLRInsureContModel.Where(A => A.ReInsuranceContName == model.TreatyName &&
                                                    A.ReinsurerName == reinsurer.ReinsurerChineseName).ToList().Count() > 0)
                    {
                        continue;
                    }
                    currentReInsuranceContNo = "RICN" + reinsurerCode + model.ContractTypeSign
                                               + (contractNumber + 1).ToString().PadLeft(2, '0') + (ReInsuranceContNo++ + 1).ToString().PadLeft(3, '0');

                    //ReInsuranceContNo++;
                }
                else
                {
                    currentReInsuranceContNo = "RICN" + reinsurerCode + model.ContractTypeSign
                                               + (i + 1).ToString().PadLeft(2, '0') + "000";
                    MainReInsuranceContNo = currentReInsuranceContNo;
                }

                lRInsureContModel.TransactionNo           = "";
                lRInsureContModel.CompanyCode             = origanizationCode;
                lRInsureContModel.ReInsuranceContNo       = currentReInsuranceContNo; //
                lRInsureContModel.ReInsuranceContName     = model.TreatyName;
                lRInsureContModel.ReInsuranceContTitle    = "";
                lRInsureContModel.MainReInsuranceContNo   = MainReInsuranceContNo;//主合同号码
                lRInsureContModel.ContOrAmendmentType     = "合同".Equals(model.ContOrAmendmentType) ? "1" : "2";
                lRInsureContModel.ContAttribute           = "1";
                lRInsureContModel.ContStatus              = "1";
                lRInsureContModel.TreatyOrFacultativeFlag = "1";
                lRInsureContModel.ContSigndate            = Convert.ToDateTime(model.SignDate_INSH).ToString("yyyy/MM/dd");
                lRInsureContModel.PeriodFrom              = Convert.ToDateTime(model.EffectiveDate).ToString("yyyy/MM/dd");
                lRInsureContModel.PeriodTo      = "";
                lRInsureContModel.ContType      = model.RImethodI == "非比例" ? "2" : "1";
                lRInsureContModel.ReinsurerCode = reinsurer == null ? "" : reinsurer.ReinsurerCode;
                lRInsureContModel.ReinsurerName = reinsurer == null ? "" : reinsurer.ReinsurerChineseName;
                lRInsureContModel.ChargeType    = "2";
                listLRInsureContModel.Add(lRInsureContModel);
                if (!isChild)
                {
                    GetLRInsureContByRIContractInfo(model.lstChildRIContractInfo, true, i, MainReInsuranceContNo);
                }
            }
        }
コード例 #3
0
ファイル: LRAccount.cs プロジェクト: omHsbc517/HSBC.Excel
        private void GetLRAccountData(ContractInfoBusiness contractInfoBusiness, string dateyyyymm)
        {
            var listLRInsureContModel = contractInfoBusiness.lstLRInsureContModel;
            var listStatement         = contractInfoBusiness.lstInsuranceReinsuranceStatementModel;

            for (int i = 0; i < listStatement.Count; i++)
            {
                var model = listStatement[i];
                try
                {
                    LRInsureContModel lRInsureContModel = GetLRInsureContModel(listLRInsureContModel, model);
                    if (lRInsureContModel == null)
                    {
                        throw new Exception("Get " + model.ToCompanyName + " information error");
                    }
                    LRAccountModel lrAccountModel = new LRAccountModel();
                    var            reinsurer      = new Reinsurer().GetReinsurerInforByName(model.ToCompanyName);
                    var            reinsurerCode  = reinsurer == null ? string.Empty : reinsurer.ReinsurerCode;
                    lrAccountModel.TransactionNo              = CommFuns.GetTransactionNo2(i + 1, dateyyyymm);
                    lrAccountModel.CompanyCode                = origanizationCode;
                    lrAccountModel.AccountID                  = lRInsureContModel.MainReInsuranceContNo + dateyyyymm.Substring(0, 6);//账单编号
                    lrAccountModel.AccountingPeriodfrom       = Convert.ToDateTime(dateyyyymm.Substring(0, 4) + "-" + dateyyyymm.Substring(4, 2) + "-01").ToString("yyyy/MM/dd");
                    lrAccountModel.AccountingPeriodto         = Convert.ToDateTime(dateyyyymm.Substring(0, 4) + "-" + dateyyyymm.Substring(4, 2) + "-01").AddMonths(1).AddDays(-1).ToString("yyyy/MM/dd");
                    lrAccountModel.ReinsurerCode              = reinsurerCode;
                    lrAccountModel.ReinsurerName              = reinsurer == null ? string.Empty : reinsurer.ReinsurerChineseName;
                    lrAccountModel.ReInsuranceContNo          = lRInsureContModel.MainReInsuranceContNo;                                         //合同号码
                    lrAccountModel.ReInsuranceContName        = lRInsureContModel.ReInsuranceContName;                                           //合同名称
                    lrAccountModel.Currency                   = "156";
                    lrAccountModel.ReinsurancePremium         = decimal.Round(decimal.Parse(model.Debit.ReinsurancePremiums), 2).ToString();     //
                    lrAccountModel.ReinsuranceCommssionRate   = "0.5";                                                                           //分保佣金、分保费50%
                    lrAccountModel.ReinsuranceCommssion       = decimal.Round(decimal.Parse(model.Credit.ReinsuranceCommissions), 2).ToString(); //
                    lrAccountModel.ReturnReinsurancePremium   = "0";
                    lrAccountModel.ReturnReinsuranceCommssion = "0";
                    lrAccountModel.ReturnSurrenderPay         = "0";
                    lrAccountModel.ReturnClaimPay             = decimal.Round(decimal.Parse(model.Credit.ReinsuranceClaimAmounts), 2).ToString();
                    lrAccountModel.ReturnMaturity             = "0";
                    lrAccountModel.ReturnAnnuity              = "0";
                    lrAccountModel.ReturnLivBene              = "0";
                    lrAccountModel.AccountStatus              = "1";
                    lrAccountModel.PairingStatus              = "2";
                    lrAccountModel.PairingDate                = lrAccountModel.AccountingPeriodto == null ? "" : Convert.ToDateTime(lrAccountModel.AccountingPeriodto).ToString("yyyy/MM/dd");
                    lrAccountModel.CurrentRate                = "1";

                    listLRAccount.Add(lrAccountModel);
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
        }
コード例 #4
0
ファイル: LRInsureCont.cs プロジェクト: omHsbc517/HSBC.Excel
        private void GetLRInsureContByHugeDisasterModel(List <HugeDisasterModel> RIContractInfo)
        {
            int reInsuranceContNo = 0;

            for (int i = 0; i < RIContractInfo.Count; i++)
            {
                LRInsureContModel lRInsureContModel = new LRInsureContModel();
                var model         = RIContractInfo[i];
                var reinsurer     = new Reinsurer().GetReinsurerInforByName(model.Reinsurer);
                var reinsurerCode = reinsurer == null ? string.Empty : reinsurer.ReinsurerCode;

                if (listLRInsureContModel.Where(A => A.ReInsuranceContName == model.TreatyName &&
                                                A.ReinsurerName == reinsurer.ReinsurerChineseName).ToList().Count() > 0)
                {
                    continue;
                }
                string currentReInsuranceContNo = "RICN" + reinsurerCode + "M" + (reInsuranceContNo++ + 1).ToString().PadLeft(2, '0') + "000";

                lRInsureContModel.TransactionNo           = "";
                lRInsureContModel.CompanyCode             = origanizationCode;
                lRInsureContModel.ReInsuranceContNo       = currentReInsuranceContNo; //合同号码需赋值
                lRInsureContModel.ReInsuranceContName     = model.TreatyName;
                lRInsureContModel.ReInsuranceContTitle    = "";
                lRInsureContModel.MainReInsuranceContNo   = currentReInsuranceContNo;//主合同号码
                lRInsureContModel.ContOrAmendmentType     = "合同".Equals(model.ContOrAmendmentType) ? "1" : "2";
                lRInsureContModel.ContAttribute           = "1";
                lRInsureContModel.ContStatus              = "ChinaRe".Equals(model.Reinsurer) && "Terminated".Equals(model.Remark) ? "2" : "1";
                lRInsureContModel.TreatyOrFacultativeFlag = "1";
                lRInsureContModel.ContSigndate            = Convert.ToDateTime(model.SignDate_INSH).ToString("yyyy/MM/dd");
                lRInsureContModel.PeriodFrom              = Convert.ToDateTime(model.EffectiveDate).ToString("yyyy/MM/dd");
                lRInsureContModel.PeriodTo      = "ChinaRe".Equals(model.Reinsurer) && "Terminated".Equals(model.Remark) ? Convert.ToDateTime(Convert.ToDateTime(model.EffectiveDate).AddYears(1).ToString("yyyy") + "/01/01").AddDays(-1).ToString("yyyy/MM/dd") : "";
                lRInsureContModel.ContType      = model.RImethodI == "非比例" ? "2" : "1";
                lRInsureContModel.ReinsurerCode = reinsurer == null ? "" : reinsurer.ReinsurerCode;
                lRInsureContModel.ReinsurerName = reinsurer == null ? "" : reinsurer.ReinsurerChineseName;
                lRInsureContModel.ChargeType    = "2";
                listLRInsureContModel.Add(lRInsureContModel);
            }
        }