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); }
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); } } }
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; } } }
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); } }