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

📄 blinvest.java

📁 保单相互转化数据的流向生成各个表中数据并回写数据保证准确
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            prpDcustomerIdvSchema2.setValidStatus("1");
            prpDcustomerIdvSchema2.setLowerViewFlag("0");
            prpDcustomerIdvSchema2.setOperatorCode(bankInterFace_DetailDto.getHandlerCode());
            //Add by hezhuan 20080122 begin reason:投联生成保单main表inputdate字段取bankInterFace_Detail表uploaddate字段的值
            prpDcustomerIdvSchema2.setInputDate(strUploadDate);
            //Add by hezhuan 20080122 end
            prpDcustomerIdvSchema2.setUpdaterCode(bankInterFace_DetailDto.getHandlerCode());
            prpDcustomerIdvSchema2.setUpdateDate(strCurrentDate);
            prpDcustomerIdvSchema2.setComcode(bankInterFace_DetailDto.getComCode());
            blPrpDcustomerIdv.setArr(prpDcustomerIdvSchema2);
        }

        return blPrpDcustomerIdv;
    }

    /**
     * @desc 投联险由接口表数据生成保单数据:生成投保单对象BLProposal
     * @param dbPool
     * @param arrCustomerCode
     * @param bankInterFace_DetailDto
     * @return blProposal
     * @throws Exception
     */
    public BLProposal generateObjectOfProposal(DbPool dbPool,String[] arrCustomerCode, BankInterFace_DetailDto bankInterFace_DetailDto, String vscode) throws Exception {
        DBManager dbManager = dbPool.getDBManager(SysConfig.CONST_DDCCDATASOURCE);

        BLProposal blProposal = new BLProposal();
        BLPrpTmain blPrpTmain = null;
        BLPrpTinsured blPrpTinsured = null;
        BLPrpTaddress blPrpTaddress = null;
        BLPrpTmainInvest blPrpTmainInvest = null;
        BLPrpTitemKind blPrpTitemKind = null;
        BLPrpTfee blPrpTfee = null;
        BLPrpTplan blPrpTplan = null;

        DateTime currentDate = new DateTime().current();
        String strCurrentDate = "";
        String strCondition = "";

        strCurrentDate = new Integer(currentDate.getYear()).toString() + "-"
                       + new Integer(currentDate.getMonth()).toString() + "-"
                       + new Integer(currentDate.getDay()).toString();

        //获取投连险相关配置
        BLPrpDbankInvestAction blPrpDbankInvestAction = new BLPrpDbankInvestAction();
        PrpDbankInvestDto prpDbankInvestDto = new PrpDbankInvestDto();
        strCondition = " RiskCode='" + bankInterFace_DetailDto.getRiskCode() + "'"
        //begin add by zhouming 20070830 comCode=bankInterFace_DetailDto.getComCode()
                     + " AND ComCode='" + bankInterFace_DetailDto.getHandler1Code() + "'"
        //end add by zhouming 20070830             
                     + " AND StartDate<='" + strCurrentDate + "'"
                     + " AND EndDate>='" + strCurrentDate + "'"
                     + " AND InureFlag='1'"
                     + " ORDER BY StartDate DESC";
        ArrayList bankInvestDtoList = (ArrayList)blPrpDbankInvestAction.findByConditions(dbManager, strCondition);
        if(bankInvestDtoList.size() > 0) {
            prpDbankInvestDto = (PrpDbankInvestDto)bankInvestDtoList.get(0);
        }

        //获取银行利率及浮动收益率
        BLPrpDbankRateAction blPrpDbankRateAction = new BLPrpDbankRateAction();
        BLPrpDfloatYieldAction blPrpDfloatYieldAction = new BLPrpDfloatYieldAction();
        PrpDbankRateDto prpDbankRateDto = new PrpDbankRateDto();
        PrpDfloatYieldDto prpDfloatYieldDto = new PrpDfloatYieldDto();
        double dblInterestRate = 0; //收益率=银行利率(税后)+浮动收益率
        strCondition = " Currency='" + bankInterFace_DetailDto.getCurrency() + "'"
                     + " AND SavePeriod='" + prpDbankInvestDto.getPeriod()+"'"
                     + " AND ValidDate<='" + strCurrentDate + "'"
                     + " AND ValidStatus='1'"
                     + " ORDER BY ValidDate DESC";
        ArrayList bankRateDtoList = (ArrayList)blPrpDbankRateAction.findByConditions(dbManager,strCondition);
        if(bankRateDtoList.size() > 0) {
            prpDbankRateDto = (PrpDbankRateDto)bankRateDtoList.get(0);
        }

        strCondition = " RiskCode='" + bankInterFace_DetailDto.getRiskCode() + "'"
                     + " AND Currency='" + bankInterFace_DetailDto.getCurrency() + "'"
                     + " AND ValidDate<='" + strCurrentDate + "'"
                     + " AND ValidStatus='1'"
                     + " ORDER BY ValidDate DESC";
        ArrayList floatYieldDtoList = (ArrayList)blPrpDfloatYieldAction.findByConditions(dbManager,strCondition);
        if(floatYieldDtoList.size() > 0) {
            prpDfloatYieldDto = (PrpDfloatYieldDto)floatYieldDtoList.get(0);
        }
        dblInterestRate = prpDbankRateDto.getBankRate() + prpDfloatYieldDto.getFloatRate();

        //获取险别信息
        BLPrpDkindAction blPrpDkindAction = new BLPrpDkindAction();
        PrpDkindDto prpDkindDto = new PrpDkindDto();
        strCondition = " RiskCode='"+ bankInterFace_DetailDto.getRiskCode() + "'"
                     + " AND KindCode='001'";
        prpDkindDto =  blPrpDkindAction.findByPrimaryKey(dbManager, bankInterFace_DetailDto.getRiskCode(), "001");

        blPrpTmain = generateObjectOfTmain(arrCustomerCode, bankInterFace_DetailDto, prpDbankInvestDto,vscode); //传入配置表的信息
        blPrpTinsured = generateObjectOfTinsured(arrCustomerCode, bankInterFace_DetailDto);
        blPrpTaddress = generateObjectOfTaddress(bankInterFace_DetailDto);
        blPrpTmainInvest = generateObjectOfTmainInvest(bankInterFace_DetailDto, prpDbankInvestDto, dblInterestRate); //传入配置表的信息
        blPrpTitemKind = generateObjectOfTitemKind(bankInterFace_DetailDto, prpDbankInvestDto, prpDkindDto);
        blPrpTfee = generateObjectOfTfee(bankInterFace_DetailDto, prpDbankInvestDto); //传入配置表的信息
        //modify begin by hezhuan at 20071204 reason:Tplan单份保费应该和Tfee一样从配置表prpDbankInvest中取而不是写死6块钱
        blPrpTplan = generateObjectOfTplanNew(bankInterFace_DetailDto,prpDbankInvestDto);
        //modify end by hezhuan at 20071204
        blProposal.setBLPrpTmain(blPrpTmain);
        blProposal.setBLPrpTinsured(blPrpTinsured);
        blProposal.setBLPrpTaddress(blPrpTaddress);
        blProposal.setBLPrpTmainInvest(blPrpTmainInvest);
        blProposal.setBLPrpTitemKind(blPrpTitemKind);
        blProposal.setBLPrpTfee(blPrpTfee);
        blProposal.setBLPrpTplan(blPrpTplan);

        return blProposal;
    }

    /**
     * @desc 投联险由接口表数据生成保单数据:生成投保单主信息对象BLPrpTmain
     * @param arrCustomerCode
     * @param bankInterFace_DetailDto
     * @param prpDbankInvestDto
     * @return blPrpTmain
     * @throws Exception
     */
    public BLPrpTmain generateObjectOfTmain(String[] arrCustomerCode, BankInterFace_DetailDto bankInterFace_DetailDto, PrpDbankInvestDto prpDbankInvestDto, String visacode) throws Exception {
        BLPrpDagreementFacade blPrpDagreementFacade = new BLPrpDagreementFacade();
        PrpDagreementDto prpDagreementDto = null;
        BLPrpTmain blPrpTmain = new BLPrpTmain();
        PrpTmainSchema prpTmainSchema = new PrpTmainSchema();

        Collection prpDagreementDtoList = null;
        DateTime currentDate = new DateTime().current();
        //modify begin by hezhuan at 20071203 生成保单时,获取代理人代码agentcode不再从bankinterface_detail表中的bfbankcode取,而是取bankcode;
        String strBankCode = "";
        //modify end by hezhuan at 20071203
        String strAgreementNo = "";
        String strStartDatePrpT = "";
        String strEndDatePrpT = "";
        //modify begin by hezhuan at 20080122 reason:投联生成保单main表inputdate字段取bankInterFace_Detail表uploaddate字段的值
        String strUploadDate  = "";
        //modify end by hezhuan at 20080122
        String strCurrentDate = "";
        String strUnderWriteEndDate = "";
        //modify begin by hezhuan at 20080428 reason:根据bankInterFace_Detail表ISEIESFLAG字段区分富安居和银保数据来生成Main表数据
        String strIsEiesFlag = "";
        //modify end by hezhuan at 20080428

        int intYear = 0;
        int intMonth = 0;
        int intDay = 0;

        // 1、准备数据
        //modify begin by hezhuan at 20071203 生成保单时,获取代理人代码agentcode不再从bankinterface_detail表中的bfbankcode取,而是取bankcode;
        strBankCode = bankInterFace_DetailDto.getBankcode();
        prpDagreementDtoList = blPrpDagreementFacade.findByConditions("AgentCode='" + strBankCode + "'");
        //modify end by hezhuan at 20071203
        //modify begin by hezhuan at 20080428 reason:根据bankInterFace_Detail表ISEIESFLAG字段区分富安居和银保数据来生成Main表数据
        strIsEiesFlag = bankInterFace_DetailDto.getIseiesFlag();
        //modify end by hezhuan at 20080428
        for(Iterator prpDagreementDtoListTmp = prpDagreementDtoList.iterator(); prpDagreementDtoListTmp.hasNext();) {
            prpDagreementDto = (PrpDagreementDto)prpDagreementDtoListTmp.next();
            strAgreementNo = prpDagreementDto.getAgreementNo();
            break;
        }

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

        intYear = bankInterFace_DetailDto.getEndDate().getYear();
        intMonth = bankInterFace_DetailDto.getEndDate().getMonth();
        intDay = bankInterFace_DetailDto.getEndDate().getDay();
        strEndDatePrpT = new Integer(intYear).toString() + "-"
                       + new Integer(intMonth).toString() + "-"
                       + new Integer(intDay).toString();
        
        //Add by hezhuan 20080122 begin reason:投联生成保单main表inputdate字段取bankInterFace_Detail表uploaddate字段的值
        intYear = bankInterFace_DetailDto.getUploadDate().getYear();
        intMonth = bankInterFace_DetailDto.getUploadDate().getMonth();
        intDay = bankInterFace_DetailDto.getUploadDate().getDay();
        strUploadDate = new Integer(intYear).toString() + "-"
                      + new Integer(intMonth).toString() + "-"
                      + new Integer(intDay).toString();
        //Add by hezhuan 20080122 end
        
        intYear = currentDate.getYear();
        intMonth = currentDate.getMonth();
        intDay = currentDate.getDay();
        strCurrentDate = new Integer(intYear).toString() + "-"
                       + new Integer(intMonth).toString() + "-"
                       + new Integer(intDay).toString();

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

        // 2、给PrpTmainSchema赋值
        prpTmainSchema.setProposalNo(bankInterFace_DetailDto.getProposalNo());
        prpTmainSchema.setClassCode(bankInterFace_DetailDto.getClassCode());
        prpTmainSchema.setRiskCode(bankInterFace_DetailDto.getRiskCode());
        prpTmainSchema.setPolicySort("2"); // 暂时->普通
        // TODO
        prpTmainSchema.setBusinessNature("9"); // 原存储过程中:专业代理->兼业代理,现在修改为:专业代理->银行代理
        prpTmainSchema.setLanguage("C");
        prpTmainSchema.setPolicyType("01"); // 个人
        prpTmainSchema.setAppliCode(arrCustomerCode[0]);
        prpTmainSchema.setAppliName(bankInterFace_DetailDto.getAppliName());
        prpTmainSchema.setAppliAddress(bankInterFace_DetailDto.getAddress());
        prpTmainSchema.setInsuredCode(arrCustomerCode[1]);
        prpTmainSchema.setInsuredName(bankInterFace_DetailDto.getInsuredName());
        prpTmainSchema.setInsuredAddress(bankInterFace_DetailDto.getInsuredAdress());
        prpTmainSchema.setOperateDate(bankInterFace_DetailDto.getInvestDate().toString());
        prpTmainSchema.setStartDate(strStartDatePrpT); //原存储过程中:起保日期为BankInterFace_Detail中的起保日期+1,现在修改为不用+1
        prpTmainSchema.setStartHour("0");
        prpTmainSchema.setEndDate(strEndDatePrpT);
        prpTmainSchema.setEndHour("24");
        prpTmainSchema.setSignDate(bankInterFace_DetailDto.getStartDate().addDay(-1).toString()); //根据20070404曾昭鸿邮件意见,签单日期改为起保日期-1天
        prpTmainSchema.setDisRate(new Double(bankInterFace_DetailDto.getPoundageRate()).toString());
        prpTmainSchema.setDiscount("100");
        prpTmainSchema.setCurrency(bankInterFace_DetailDto.getCurrency());
        prpTmainSchema.setSumValue("0");
        prpTmainSchema.setSumAmount(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitAmount()));
        prpTmainSchema.setSumDiscount("0");
        prpTmainSchema.setSumPremium(String.valueOf(bankInterFace_DetailDto.getInvestCount() * prpDbankInvestDto.getUnitPremium()));
        prpTmainSchema.setSumSubPrem("0");
        prpTmainSchema.setAutoTransRenewFlag("2");
        prpTmainSchema.setPayTimes("1");
        prpTmainSchema.setEndorseTimes("0");
        prpTmainSchema.setClaimTimes("0");

⌨️ 快捷键说明

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