diff --git a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java index f22072c..1bc8a64 100644 --- a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java +++ b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java @@ -8,6 +8,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; @@ -186,10 +187,68 @@ public class ExcelDownlodeUtils { } - - - - - - + + public void downloadStockExcelFile(String excelFileName, HttpServletResponse response, + String sheetName, String[] columnName, List> dto) { + String fileName = ""; + try { + fileName = new String((excelFileName + ".xlsx").getBytes("utf-8"), "iso-8859-1"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + response.setContentType("ms-vnd/excel"); + response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\";"); + + Workbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet(sheetName); + + Row row = null; + Cell cell = null; + int rowNum = 0; + + row = sheet.createRow(rowNum); + for( int i = 0; i <= columnName.length -1; i++ ) { + cell = row.createCell(i); + cell.setCellValue(columnName[i]); + } + rowNum += 1; + + //수정부분 + makeStockBody(dto,row,sheet,cell,rowNum); + + try { + workbook.write(response.getOutputStream()); + workbook.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + + } + + public void makeStockBody(List> listdto, Row row, Sheet sheet, + Cell cell, int rowNum) { + // + for (int i = 0; i < listdto.size(); i++) { + row = sheet.createRow(rowNum++); + Map dto = listdto.get(i); + cell = row.createCell(0); + cell.setCellValue((String) dto.get("productName")); + cell = row.createCell(1); + cell.setCellValue((String) dto.get("cls_nm_4")); + cell = row.createCell(2); + cell.setCellValue((String) dto.get("warehouseName")); + cell = row.createCell(3); + cell.setCellValue((String) dto.get("quantity")); + + } + } + + + + + + + + } diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index 147b145..30a23cc 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -1,6 +1,7 @@ package com.no1.wms.stock; +import com.no1.wms.excel.ExcelDownlodeUtils; import com.no1.wms.vendor.VendorDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -9,6 +10,8 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -19,6 +22,9 @@ public class StockController { @Autowired StockService service; + + @Autowired + ExcelDownlodeUtils excelDownlodeUtils; // 탭 1 재고 리스트 출력 @GetMapping("/list") @@ -221,4 +227,24 @@ public class StockController { //테스트 return mav; } + // 엑셀다운로드테스트 + @GetMapping("/stock/downlodeExcelList") + public void downlodeExcelList(HttpServletResponse response) { + List> dto = service.selectAll(); + String excelFileName = "재고 파일"; + String sheetName = "재고"; + String[] columnName = {"제품명","카테고리","창고","재고수"}; + excelDownlodeUtils.downloadStockExcelFile(excelFileName, response, sheetName, columnName, dto); + + }; + + //서식 다운로드 + @GetMapping("/vendor/downlodeVendorForm") + public void downlodeVendorForm (HttpServletResponse response) throws IOException { + String vendorFormName = "재고 데이터 입력 서식.xlsx"; + excelDownlodeUtils.downlodeExcelForm(response, vendorFormName); + }; } + + + diff --git a/src/main/java/com/no1/wms/stock/StockMapper.java b/src/main/java/com/no1/wms/stock/StockMapper.java index 79d8476..1fa0ad7 100644 --- a/src/main/java/com/no1/wms/stock/StockMapper.java +++ b/src/main/java/com/no1/wms/stock/StockMapper.java @@ -8,6 +8,7 @@ import java.util.Map; @Mapper public interface StockMapper { + List> selectAll(); int count(Map m);//검색 글 갯수 diff --git a/src/main/java/com/no1/wms/stock/StockService.java b/src/main/java/com/no1/wms/stock/StockService.java index 03ef0ed..c8d349b 100644 --- a/src/main/java/com/no1/wms/stock/StockService.java +++ b/src/main/java/com/no1/wms/stock/StockService.java @@ -142,6 +142,10 @@ public class StockService { return mapper.warehouseCount(m); } + public List> selectAll() { + return mapper.selectAll(); + } + } diff --git a/src/main/java/com/no1/wms/vendor/VendorController.java b/src/main/java/com/no1/wms/vendor/VendorController.java index 4aed0a9..0f53f17 100644 --- a/src/main/java/com/no1/wms/vendor/VendorController.java +++ b/src/main/java/com/no1/wms/vendor/VendorController.java @@ -130,8 +130,8 @@ public class VendorController { } // 엑셀다운로드테스트 - @GetMapping("/vendor/downloadTest") - public void downloadExcelTest(HttpServletResponse response) { + @GetMapping("/vendor/downlodeExcelList") + public void downlodeExcelList(HttpServletResponse response) { List dto = service.selectAll(); String excelFileName = "거래처 파일"; String sheetName = "거래처"; diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index 1daf620..c30f1a4 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -5,6 +5,15 @@ + +