⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blinvest.java

📁 保单相互转化数据的流向生成各个表中数据并回写数据保证准确
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

        intYear = bankInterFace_DetailDto.getEndDate().getYear();
        intMonth = bankInterFace_DetailDto.getEndDate().getMonth();
        intDay = bankInterFace_DetailDto.getEndDate().getDay();
        strEndDate = new Integer(intYear).toString() + "-"
                     + new Integer(intMonth).toString() + "-"
                     + new Integer(intDay).toString();

        prpTitemKindSchema.setProposalNo(bankInterFace_DetailDto.getProposalNo());
        prpTitemKindSchema.setRiskCode(bankInterFace_DetailDto.getRiskCode());
        prpTitemKindSchema.setItemKindNo("1");
        prpTitemKindSchema.setKindCode("001");
        prpTitemKindSchema.setKindName(prpDkindDto.getKindCName());
        prpTitemKindSchema.setItemCode("0001");
        prpTitemKindSchema.setItemDetailName(prpDkindDto.getKindCName());
        prpTitemKindSchema.setStartDate(strStartDate); //原存储过程为:StartDate+1,现在修改为:StartDate
        prpTitemKindSchema.setStartHour("0");
        prpTitemKindSchema.setEndDate(strEndDate);
        prpTitemKindSchema.setEndHour("24");
        prpTitemKindSchema.setAddressNo("1");
        prpTitemKindSchema.setCalculateFlag("Y");
        prpTitemKindSchema.setCurrency("CNY");
        prpTitemKindSchema.setUnitAmount(String.valueOf(prpDbankInvestDto.getUnitAmount())); //原存储过程没有给单位保额赋值,此处增加处理
        prpTitemKindSchema.setAmount(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitAmount()));
        prpTitemKindSchema.setRate(String.valueOf(prpDbankInvestDto.getUnitRate())); //原存储过程没有给费率赋值,此处增加处理
        prpTitemKindSchema.setShortRateFlag("3"); //原存储过程没有给短期费率方式赋值,此处增加处理
//add begin by hezhuan at 20071206 reason:从配置库取一年期两年期来计算原短期而不是直接写成100
        prpTitemKindSchema.setShortRate(String.valueOf(prpDbankInvestDto.getPeriod()*100)); //原存储过程没有给短期费率赋值,此处增加处理
//add end by hezhuan at 20071206
        prpTitemKindSchema.setPremium(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTitemKindSchema.setFlag(" 1");
        blPrpTitemKind.setArr(prpTitemKindSchema);

        return blPrpTitemKind ;
    }

    /**
     * @desc 投联险由接口表数据生成保单数据:生成投保单金额信息对象BLPrpTfee
     * @param bankInterFace_DetailDto
     * @param prpDbankInvestDto
     * @return blPrpTfee
     * @throws Exception
     */
    public BLPrpTfee generateObjectOfTfee(BankInterFace_DetailDto bankInterFace_DetailDto, PrpDbankInvestDto prpDbankInvestDto) throws Exception {
        BLPrpTfee blPrpTfee = new BLPrpTfee();
        PrpTfeeSchema prpTfeeSchema = new PrpTfeeSchema();

        prpTfeeSchema.setProposalNo(bankInterFace_DetailDto.getProposalNo());
        prpTfeeSchema.setRiskCode(bankInterFace_DetailDto.getRiskCode());
        prpTfeeSchema.setCurrency(bankInterFace_DetailDto.getCurrency());
        prpTfeeSchema.setAmount(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitAmount()));
        prpTfeeSchema.setPremium(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTfeeSchema.setCurrency1(bankInterFace_DetailDto.getCurrency());
        prpTfeeSchema.setExchangeRate1("1");
        prpTfeeSchema.setAmount1(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitAmount()));
        prpTfeeSchema.setPremium1(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTfeeSchema.setCurrency2(bankInterFace_DetailDto.getCurrency());
        prpTfeeSchema.setExchangeRate2("1");
        prpTfeeSchema.setAmount2(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitAmount()));
        prpTfeeSchema.setPremium2(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        blPrpTfee.setArr(prpTfeeSchema);

        return blPrpTfee;
    }

    /**
     * @desc 投联险由接口表数据生成保单数据:生成投保单缴费计划信息对象BLPrpTplan
     * @param bankInterFace_DetailDto
     * @return blPrpTplan
     * @throws Exception
     */
    //add begin by hezhuan at 20071204 reason:为什么Tfee表信息都是从配置表里面取单份保费,而Tplan表不从配置库取修改上面的方法
    public BLPrpTplan generateObjectOfTplanNew(BankInterFace_DetailDto bankInterFace_DetailDto, PrpDbankInvestDto prpDbankInvestDto) throws Exception {
        BLPrpTplan blPrpTplan = new BLPrpTplan();
        PrpTplanSchema prpTplanSchema = new PrpTplanSchema();
        prpTplanSchema.setProposalNo(bankInterFace_DetailDto.getProposalNo());
        prpTplanSchema.setSerialNo("1");
        prpTplanSchema.setPayNo("1");
        prpTplanSchema.setPayReason("R10");
        prpTplanSchema.setPlanDate(bankInterFace_DetailDto.getInvestDate().toString());
        prpTplanSchema.setCurrency(bankInterFace_DetailDto.getCurrency());
        prpTplanSchema.setPlanFee(""+(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTplanSchema.setDelinquentFee(""+(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTplanSchema.setPlanStartDate(bankInterFace_DetailDto.getInvestDate().toString());
        blPrpTplan.setArr(prpTplanSchema);

        return blPrpTplan;
    }
    //add end by hezhuan at 20071204
    /**
     * @desc 投联险由接口表数据生成保单数据:生成投保单缴费计划信息对象BLPrpTplan
     * @param bankInterFace_DetailDto
     * @return blPrpTplan
     * @throws Exception
     */
    public BLPrpTplan generateObjectOfTplan(BankInterFace_DetailDto bankInterFace_DetailDto) throws Exception {
        BLPrpTplan blPrpTplan = new BLPrpTplan();
        PrpTplanSchema prpTplanSchema = new PrpTplanSchema();
        prpTplanSchema.setProposalNo(bankInterFace_DetailDto.getProposalNo());
        prpTplanSchema.setSerialNo("1");
        prpTplanSchema.setPayNo("1");
        prpTplanSchema.setPayReason("R10");
        prpTplanSchema.setPlanDate(bankInterFace_DetailDto.getInvestDate().toString());
        prpTplanSchema.setCurrency(bankInterFace_DetailDto.getCurrency());
        prpTplanSchema.setPlanFee(new Integer(bankInterFace_DetailDto.getInvestCount() * 6).toString());
        prpTplanSchema.setDelinquentFee(new Integer(bankInterFace_DetailDto.getInvestCount() *6).toString());
        prpTplanSchema.setPlanStartDate(bankInterFace_DetailDto.getInvestDate().toString());
        blPrpTplan.setArr(prpTplanSchema);

        return blPrpTplan;
    }
    /**
     * @desc 投联险由接口表数据生成保单数据:生成保单号码
     * @param dbPool
     * @param strComCode
     * @param strSessionId
     * @param blPrpTmain
     * @return strPolicyNo
     * @throws Exception
     */
    public String getPolicyNo(DbPool dbPool, String strComCode, String strSessionId, BLPrpTmain blPrpTmain) throws Exception {
        Bill bill = new Bill();

        String strRiskCode = "";
        String strPolicyNo = "";
        int intYear = 0;

        strRiskCode = blPrpTmain.getArr(0).getRiskCode();
        intYear = new DateTime().current().getYear();

        strPolicyNo = bill.getNo(dbPool, "prpcmain", strRiskCode, strComCode, intYear, strSessionId);
        return strPolicyNo;
    }

    /**
     * @desc 投联险由接口表数据生成保单数据:生成保单对象BLPolicy
     * @param strPolicyNo
     * @param blProposal
     * @return blPolicy
     * @throws Exception
     */
    public BLPolicy generateObjectOfPolicy(String strPolicyNo, BLProposal blProposal) throws Exception {
        BLPolicy blPolicy = new BLPolicy();
        BLPrpCmain blPrpCmain = null;
        BLPrpCinsured blPrpCinsured = null;
        BLPrpCaddress blPrpCaddress = null;
        BLPrpCmainInvest blPrpCmainInvest = null;
        BLPrpCitemKind blPrpCitemKind = null;
        BLPrpCfee blPrpCfee = null;
        BLPrpCplan blPrpCplan = null;

        blPrpCmain = generateObjectOfCmain(strPolicyNo, blProposal.getBLPrpTmain());
        blPrpCinsured = generateObjectOfCinsured(strPolicyNo, blProposal.getBLPrpTinsured());
        blPrpCaddress = generateObjectOfCaddress(strPolicyNo, blProposal.getBLPrpTaddress());
        blPrpCmainInvest = generateObjectOfCmainInvest(strPolicyNo, blProposal.getBLPrpTmainInvest());
        blPrpCitemKind = generateObjectOfCitemKind(strPolicyNo, blProposal.getBLPrpTitemKind());
        blPrpCfee = generateObjectOfCfee(strPolicyNo, blProposal.getBLPrpTfee());
        blPrpCplan = generateObjectOfCplan(strPolicyNo, blProposal.getBLPrpTplan());
        
        
        blPolicy.setBLPrpCmain(blPrpCmain);
        blPolicy.setBLPrpCinsured(blPrpCinsured);
        blPolicy.setBLPrpCaddress(blPrpCaddress);
        blPolicy.setBLPrpCmainInvest(blPrpCmainInvest);
        blPolicy.setBLPrpCitemKind(blPrpCitemKind);
        blPolicy.setBLPrpCfee(blPrpCfee);
        blPolicy.setBLPrpCplan(blPrpCplan);

        return blPolicy;
    }
    
    //add by hezhuan 20080124 begin
    /**
     * @desc 投联险由接口表数据生成保单数据:生成保单手续费信息
     * @param bankInterFace_DetailDto
     * @return blPolicy
     * @throws Exception
     */
    public BLPrpCommission generateObjectOfCommission(BankInterFace_DetailDto bankInterFace_DetailDto, BLPolicy blPolicy) throws Exception {
    	BLPrpCommission blPrpCommission = new BLPrpCommission();
    	BLPrpDagreementFacade blPrpDagreementFacade = new BLPrpDagreementFacade();
    	BLPrpDagreeDetailFacade blPrpDagreeDetailFacade = new BLPrpDagreeDetailFacade();
    	PrpCommissionSchema prpCommissionSchema = new PrpCommissionSchema();
    	PrpCmainSchema prpCmainSchema = new PrpCmainSchema();
    	ChgDate chgDate = new ChgDate();
    	PrpDagreementDto prpDagreementDto = null;
    	PrpDagreeDetailDto prpDagreeDetailDto = null;
    	Collection prpDagreementDtoList = null;
    	String strBankCode = "";
        String strAgreementNo = "";
        double dbDisrate = 0;
        double dbDisFee = 0;
    	strBankCode = bankInterFace_DetailDto.getBankcode();
        prpDagreementDtoList = blPrpDagreementFacade.findByConditions("AgentCode='" + strBankCode + "'");
        for(Iterator prpDagreementDtoListTmp = prpDagreementDtoList.iterator(); prpDagreementDtoListTmp.hasNext();) {
            prpDagreementDto = (PrpDagreementDto)prpDagreementDtoListTmp.next();
            strAgreementNo = prpDagreementDto.getAgreementNo();
            System.out.println("strAgreementNo======协议号===="+strAgreementNo);
            break;
        }
        prpDagreeDetailDto = blPrpDagreeDetailFacade.findByPrimaryKey(strAgreementNo, bankInterFace_DetailDto.getRiskCode());
        if(prpDagreeDetailDto==null)
			throw new UserException(-98, -1167, "BLInvest.generateObjectOfCommission",
			"手续费比例取值失败,请管理员进行配置!" ); 
        if((String.valueOf(prpDagreeDetailDto.getTopCommission())).trim().equals("")
           ||prpDagreeDetailDto.getTopCommission()<0){
			throw new UserException(-98, -1167, "BLInvest.generateObjectOfCommission",
					"手续费比例取值失败,请管理员进行配置!" ); 
        }else
        {
        	dbDisrate = prpDagreeDetailDto.getTopCommission(); 
        }
        if(blPolicy != null && blPolicy.getBLPrpCmain().getSize() > 0) {
            prpCmainSchema = blPolicy.getBLPrpCmain().getArr(0);
        }
        dbDisFee = bankInterFace_DetailDto.getSumPremium()*dbDisrate/100;
        prpCommissionSchema.setClassCode(bankInterFace_DetailDto.getClassCode());
        prpCommissionSchema.setRiskCode(bankInterFace_DetailDto.getRiskCode());
        prpCommissionSchema.setCertiNo(prpCmainSchema.getPolicyNo());
        prpCommissionSchema.setCertiType("P");
        prpCommissionSchema.setPolicyNo(prpCmainSchema.getPolicyNo());
        prpCommissionSchema.setDisRate(String.valueOf(dbDisrate));
        prpCommissionSchema.setCurrency(bankInterFace_DetailDto.getCurrency());
        prpCommissionSchema.setDisFee(String.valueOf(dbDisFee));
        prpCommissionSchema.setGenerateDate(chgDate.getCurrentTime("yyyy-MM-dd"));
        prpCommissionSchema.setGenerateTime(chgDate.getCurrentTime("HH:mm"));
        prpCommissionSchema.setSelfRate("");
        blPrpCommission.setArr(prpCommissionSchema);
    	return blPrpCommission;
}
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -