实际开发中,解决打印iReport中获取list集合遍历,并且缩小间距

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30546099/article/details/83061109

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

猜你喜欢

转载自blog.csdn.net/qq_30546099/article/details/83061109