1. 程式人生 > >實際開發中,解決列印iReport中獲取list集合遍歷,並且縮小間距

實際開發中,解決列印iReport中獲取list集合遍歷,並且縮小間距

用iReport做列印的時候,在後端程式碼中得到map集合後,map中存放list

用$F獲取屬性,欄屬性代表每行的空、間隔

    /***
      *
      * @author  xxx
      * @param checkVisaReqVo
      * @return CheckVisaRespVo
      */     
      @Override
     public void originalPrintNew(String policyNo,String riskCode,HttpServletRequest request, HttpServletResponse response) throws Exception {
           InputStream inputStreamBusiness = null;
           InputStream inputStreamCi = null;
           OriginalPrintPrintReqVo originalPrintPrintReqVo = new OriginalPrintPrintReqVo();
           originalPrintPrintReqVo.setPolicyNo(policyNo);
           originalPrintPrintReqVo.setRiskCode(riskCode);
           originalPrintPrintReqVo.setBizNo(policyNo);
           String requestJson = JSON.toJSONString(originalPrintPrintReqVo);
           Map<String, Object> emptyHashMapBusiness = null;
           Map<String, Object> emptyHashMapCi = null;
           if("0518".equals(riskCode)||"0508".equals(riskCode)){
                String  responseJson=  new ChannelUtil().callChannel(requestJson,ChannelConstants.INTERFACE_CODE_26);
//              String responseJsonBusiness = HttpUtil.validateIdentity(
                UIPolicyCardFormatPrint4to1OutputVo uIPolicyCardFormatPrint4to1OutputVo = JSON.parseObject(responseJson,UIPolicyCardFormatPrint4to1OutputVo.class);
                emptyHashMapBusiness = this.assignmentProposalCheckOutPrintBusiness(uIPolicyCardFormatPrint4to1OutputVo);
           } else if ("0507".equals(riskCode)) {
                String  responseJson=  new ChannelUtil().callChannel(requestJson,ChannelConstants.INTERFACE_CODE_27);
                UIPolicy0507NoneFormatRespShema uIPolicy0507NoneFormatRespShema = JSON.parseObject(responseJson,
                          UIPolicy0507NoneFormatRespShema.class);// 交強
                emptyHashMapCi = this.assignmentProposalCheckOutPrintCi(uIPolicy0507NoneFormatRespShema);// 交強
           }
           
           
           try {
                ClassLoader classLoader = this.getClass().getClassLoader();
                List<Map<String, Object>> list = new ArrayList<>();
                if("0518".equals(riskCode)||"0508".equals(riskCode)){
                  //列印模板地址
                     inputStreamBusiness = classLoader.getResourceAsStream("template/policy0518td.jrxml");
                    emptyHashMapBusiness.put("templetPath", inputStreamBusiness);
                     list.add(emptyHashMapBusiness);
                 }else if("0507".equals(riskCode)){
                  //列印模板地址
                  inputStreamCi = classLoader.getResourceAsStream("template/policy0507td.jrxml");
                  emptyHashMapCi.put("templetPath", inputStreamCi);
                  list.add(emptyHashMapCi);
                 }
                PrintUtil.printReportPdfMore(list, 1, response);
           } catch (Exception e) {
                e.printStackTrace();
           }finally {
                if(inputStreamBusiness != null){
                     inputStreamBusiness.close();
                }
           }
     }
     /**
      * 商業
      * @param uIPolicyCardFormatPrint4to1OutputVo
      * @return
      * @throws Exception
      */
     public Map<String,Object> assignmentProposalCheckOutPrintBusiness(UIPolicyCardFormatPrint4to1OutputVo uIPolicyCardFormatPrint4to1OutputVo) throws Exception{
           Map<String, Object> emptyHashMap = new HashMap<String, Object>();
           
          emptyHashMap.put("strValidNo",uIPolicyCardFormatPrint4to1OutputVo.getValidNo());
         ..........................
        emptyHashMap.put("strOperatorCode", uIPolicyCardFormatPrint4to1OutputVo.getOperatorCode());
        emptyHashMap.put("strHandlerCode",uIPolicyCardFormatPrint4to1OutputVo.getHandlerCode());
           
           return emptyHashMap;
     }