#
luxiaotao1123
2021-06-21 f6c8a961595ea54f2c9a6b7da589480481cc6283
src/main/java/com/slcf/service/impl/WaitPakInLogServiceImpl.java
@@ -1,9 +1,15 @@
package com.slcf.service.impl;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.slcf.util.DateTimeUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -11,6 +17,8 @@
import com.slcf.dao.WaitPakInLogDao;
import com.slcf.pojo.WaitPakInLogBean;
import com.slcf.service.WaitPakInLogService;
import javax.servlet.http.HttpServletResponse;
/**
 * 入库通知历史档接口实现
@@ -53,4 +61,81 @@
      }
   }
   
   public void ExportWaitPakInLogList(WaitPakInLogCondition condition, HttpServletResponse response) {
      //输出Excel文件
      try {
         //HSSFWorkbook对象(excel的文档对象)
         HSSFWorkbook workBook=new HSSFWorkbook();
         //sheet对象(excel的表单)
         HSSFSheet sheet=workBook.createSheet("入库通知历史档");
         //行数,参数为行索引(excel的行)
//            HSSFRow rowHead=sheet.createRow(0);//第一行  可以是0~65535之间的任何一个
//            //创建excel的单元格,参数为列索引,可以是0~255之间的任何一个
//            HSSFCell cellOne=rowHead.createCell(0);
//            cellOne.setCellValue("用户信息");//表头
         //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
//            sheet.addMergedRegion(new CellRangeAddress(0,0,0,5));
         sheet.setColumnWidth(0, (int)((10 + 0.72) * 256));
         sheet.setColumnWidth(1, (int)((20 + 0.72) * 256));
         sheet.setColumnWidth(2, (int)((15 + 0.72) * 256));
         sheet.setColumnWidth(3, (int)((15 + 0.72) * 256));
         sheet.setColumnWidth(4, (int)((15 + 0.72) * 256));
         sheet.setColumnWidth(5, (int)((25 + 0.72) * 256));
         sheet.setColumnWidth(6, (int)((10 + 0.72) * 256));
         sheet.setColumnWidth(7, (int)((8 + 0.72) * 256));
         sheet.setColumnWidth(8, (int)((10 + 0.72) * 256));
         sheet.setColumnWidth(9, (int)((10 + 0.72) * 256));
         sheet.setColumnWidth(10, (int)((10 + 0.72) * 256));
         sheet.setColumnWidth(11, (int)((25 + 0.72) * 256));
         HSSFRow rows=sheet.createRow(0);//第二行
         //创建单元格并设置单元格内容
         rows.createCell(0).setCellValue("库位号");
         rows.createCell(1).setCellValue("物料");
         rows.createCell(2).setCellValue("物料描述");
         rows.createCell(3).setCellValue("仓库号");
         rows.createCell(4).setCellValue("请求编号");
         rows.createCell(5).setCellValue("物料标签ID");
         rows.createCell(6).setCellValue("工厂");
         rows.createCell(7).setCellValue("数量");
         rows.createCell(8).setCellValue("单位");
         rows.createCell(9).setCellValue("托盘码");
         rows.createCell(10).setCellValue("用户ID");
         rows.createCell(11).setCellValue("异动时间");
         List<WaitPakInLogBean> list=waitPakInLogDao.getWaitPakInLogAll(condition);
         for(int i=0;i<list.size();i++){
            HSSFRow row=sheet.createRow(i+1);//从第三行开始
            //创建单元格并设置单元格内容
            row.createCell(0).setCellValue(list.get(i).getLoc_no());
            row.createCell(1).setCellValue(list.get(i).getMatnr());
            row.createCell(2).setCellValue(list.get(i).getMaktx());
            row.createCell(3).setCellValue(list.get(i).getLgnum());
            row.createCell(4).setCellValue(list.get(i).getTbnum());
            row.createCell(5).setCellValue(list.get(i).getZmatid());
            row.createCell(6).setCellValue(list.get(i).getWerks());
            row.createCell(7).setCellValue(list.get(i).getAnfme());
            row.createCell(8).setCellValue(list.get(i).getAltme());
            row.createCell(9).setCellValue(list.get(i).getZpallet());
            row.createCell(10).setCellValue(list.get(i).getBname());
            row.createCell(11).setCellValue(list.get(i).getModi_time());
         }
//         //输出Excel文件
//          try {
         OutputStream output=response.getOutputStream();
         response.reset();
         response.setHeader("Content-disposition", "attachment; filename=WaitPakInLog"+ DateTimeUtil.getStringDateTime(14)+".xls");
         response.setContentType("application/msexcel");
         workBook.write(output);
         output.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}