调用文件下载方法

方法不难很简单的一句话,关键是思路问题,由于之前没做过所有有些迷茫,现在记下来防迷茫

首先是前端调用方法,传参过去,

$.ajax({
            url:'<%=path%>/export/index',
            type:'GET',
            data: { serviceId: serviceId,name:name,serviceRegisterCode:serviceRegisterCode },
            success:function(data){
                //console.log(data);
                window.open('<%=path%>'+data );
            }
        });

 

controller 获取传过来的参数, 

  //导出docx
    @RequestMapping(value = "/index", method = RequestMethod.GET)
    @ResponseBody
    public String index(HttpServletResponse response,HttpServletRequest request) {
        String serviceId=request.getParameter("serviceId");  //服务ID
        String serviceRegisterCode=request.getParameter("serviceRegisterCode");//服务编号
            String  path =serviceSaApplyManagement.selectImageByID(serviceId);// 通过服务ID获取二维码信息
            
              String codePath = request.getServletContext().getRealPath("")+path;//二维码地址
              
            String name = request.getParameter("name");//死者姓名
            String modelPath = request.getServletContext().getRealPath("") + "/serviceListTemplate/serviceListTemplate.docx";//导出模板地址
            List<Map> values = new ArrayList<>(); //含有Map<String,String>的list,每个Map中存储key值为"name","price"的两个数据
            ArrayList<BhConsumeDetail> detailList = new ArrayList<>();
            detailList=serviceBhConsumeDetail.getServiceConsume(serviceId);//根据服务ID获取已选服务清单
            
            BigDecimal sumPrice=new BigDecimal(0);
            for(int i=0;i<detailList.size();i++){
                String price="";
                if(detailList.get(i).getDiscountPrice()==null || detailList.get(i).getOriginalPrice()!=null){
                    sumPrice=sumPrice.add(detailList.get(i).getOriginalPrice());
                    price=detailList.get(i).getOriginalPrice().toString();
                }else if(detailList.get(i).getOriginalPrice()==null){
                    price="0";
                }else{
                    price=detailList.get(i).getDiscountPrice().toString();
                    
                    sumPrice=sumPrice.add(detailList.get(i).getDiscountPrice());
                }
                
                
                Map example = new HashMap();//要放在循环里面 否则只会添加最后一行数据
                example.put("name", detailList.get(i).getServiceName());
                example.put("price",price);
                values.add(example);
            }
           return ExportWordUtil.exportByModel(codePath,name,modelPath,values,response,sumPrice,request,serviceRegisterCode);
 

        
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值