diff --git a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java index 38df348..f22072c 100644 --- a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java +++ b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java @@ -11,6 +11,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.no1.wms.vendor.VendorDto; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; @@ -115,8 +116,76 @@ public class ExcelDownlodeUtils { } - - + + + + + public void downloadVendorExcelFile(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; + + //수정부분 + makeVendorBody(dto,row,sheet,cell,rowNum); + + try { + workbook.write(response.getOutputStream()); + workbook.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + + } + + public void makeVendorBody(List listdto, Row row, Sheet sheet, + Cell cell, int rowNum) { + // + for (int i = 0; i < listdto.size(); i++) { + row = sheet.createRow(rowNum++); + VendorDto dto = listdto.get(i); + cell = row.createCell(0); + cell.setCellValue(dto.getName()); + cell = row.createCell(1); + cell.setCellValue(dto.getPresident_name()); + cell = row.createCell(2); + cell.setCellValue(dto.getAddress()); + cell = row.createCell(3); + cell.setCellValue(dto.getRegistration_number()); + cell = row.createCell(4); + cell.setCellValue(dto.getEmail()); + cell = row.createCell(5); + cell.setCellValue(dto.getPresident_telephone()); + cell = row.createCell(6); + cell.setCellValue(dto.getVendor_manager()); + cell = row.createCell(7); + cell.setCellValue(dto.getVendor_manager_telephone()); + cell = row.createCell(8); + cell.setCellValue(dto.getMain_product()); + } + } + + diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java index 8cb897d..ecc05ef 100644 --- a/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; +import java.util.Objects; @Controller @RequestMapping("/resetpassword") @@ -20,21 +21,16 @@ public class ResetPasswordController { @GetMapping("/list") public String list(@RequestParam(name = "searchn", defaultValue = "0") int searchn, @RequestParam(name = "search", defaultValue = "") String search, - @RequestParam(name = "p", defaultValue = "1") int page, String resetpassword, String cancelrequest, Model m) { + @RequestParam(name = "p", defaultValue = "1") int page, + Model m) { int count = resetPasswordService.count(searchn, search); int perPage = 10; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; - if(resetpassword != null){ - - } - if(cancelrequest != null){ - - } - //스톡서비스로 재고 리스트 출력 메서트 작성 List> dto = resetPasswordService.list(searchn, search, startRow ,perPage); + m.addAttribute("rlist", dto); m.addAttribute("start", startRow + 1); @@ -55,8 +51,6 @@ public class ResetPasswordController { m.addAttribute("totalPages", totalPages); m.addAttribute("p" , page); - System.out.println("테스트 : : " + m); - return "resetpassword/list"; } @@ -70,13 +64,22 @@ public class ResetPasswordController { } - @PostMapping("/delete") + @DeleteMapping("/delete") @ResponseBody - public String delete(ResetPasswordDto dto, Gson gson){ - resetPasswordService.delete(dto); - - return gson.toJson("s"); + public int delete(ResetPasswordDto dto){ + int i = resetPasswordService.delete(dto); + return i; } + @PutMapping("/update") + @ResponseBody + public boolean update(ResetPasswordDto dto) { + int i = resetPasswordService.passwordUpdate(dto); + if (i != 0) { + resetPasswordService.delete(dto); + return true; + } + return false; + } } diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java index 331290d..59f12da 100644 --- a/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java @@ -16,7 +16,9 @@ public interface ResetPasswordMapper { void insert(ResetPasswordDto dto); - void delete(ResetPasswordDto dto); + int delete(ResetPasswordDto dto); + + int passwordUpdate(ResetPasswordDto dto); diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java index 7eae4a1..1aa9174 100644 --- a/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java @@ -40,7 +40,10 @@ public class ResetPasswordService { mapper.insert(dto); } - void delete(ResetPasswordDto dto){ - mapper.delete(dto); + int delete(ResetPasswordDto dto){ + return mapper.delete(dto); } + + int passwordUpdate(ResetPasswordDto dto){ + return mapper.passwordUpdate(dto);} } diff --git a/src/main/java/com/no1/wms/vendor/VendorController.java b/src/main/java/com/no1/wms/vendor/VendorController.java index 3b7a83f..4aed0a9 100644 --- a/src/main/java/com/no1/wms/vendor/VendorController.java +++ b/src/main/java/com/no1/wms/vendor/VendorController.java @@ -1,5 +1,7 @@ package com.no1.wms.vendor; +import com.no1.wms.category.CategoryDto; +import com.no1.wms.excel.ExcelDownlodeUtils; import com.no1.wms.warehouse.WarehouseDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -7,6 +9,8 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -16,6 +20,9 @@ public class VendorController { @Autowired VendorService service; + + @Autowired + ExcelDownlodeUtils excelDownlodeUtils; // 재고 리스트 출력 @GetMapping("vendor/list") @@ -121,4 +128,22 @@ public class VendorController { int i = service.deleteVendor(id); return i; } + + // 엑셀다운로드테스트 + @GetMapping("/vendor/downloadTest") + public void downloadExcelTest(HttpServletResponse response) { + List dto = service.selectAll(); + String excelFileName = "거래처 파일"; + String sheetName = "거래처"; + String[] columnName = {"업체명","대표자명","주소","사엄자등록번호","이메일","대표번호","거래처 담당자 이름","거래처 담당자 연락 번호","주요품목"}; + excelDownlodeUtils.downloadVendorExcelFile(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/vendor/VendorMapper.java b/src/main/java/com/no1/wms/vendor/VendorMapper.java index ebd888c..46e39b6 100644 --- a/src/main/java/com/no1/wms/vendor/VendorMapper.java +++ b/src/main/java/com/no1/wms/vendor/VendorMapper.java @@ -9,7 +9,7 @@ import java.util.Map; @Mapper public interface VendorMapper { - + List selectAll(); List list(Map m); int count(Map m);//검색 글 갯수 diff --git a/src/main/java/com/no1/wms/vendor/VendorService.java b/src/main/java/com/no1/wms/vendor/VendorService.java index c88207e..7e67e76 100644 --- a/src/main/java/com/no1/wms/vendor/VendorService.java +++ b/src/main/java/com/no1/wms/vendor/VendorService.java @@ -54,4 +54,8 @@ public class VendorService { public int deleteVendor(String id) { return mapper.deleteVendor(id); } + + public List selectAll() { + return mapper.selectAll(); + } } diff --git a/src/main/resources/mappers/ResetPasswordMapper.xml b/src/main/resources/mappers/ResetPasswordMapper.xml index 759e422..e23bd76 100644 --- a/src/main/resources/mappers/ResetPasswordMapper.xml +++ b/src/main/resources/mappers/ResetPasswordMapper.xml @@ -20,14 +20,14 @@ (UUID(), (SELECT id from account where employee_number = #{employeeNumber} ), #{note}, NOW()) - SELECT rs.id as id, rs.account_id as account_id, rs.note as note, rs.date as date, acc.id, - acc.name as name, + acc.name, acc.email as email, acc.employee_number as employee_number @@ -38,7 +38,7 @@ acc.activation = 1 and acc.employee_number like concat('%',#{search},'%') - order by date desc limit #{start}, #{perPage} + order by rs.id desc limit #{start}, #{perPage} + + + update account a + left join reset_password rs on a.id = rs.account_id + set a.password = a.employee_number + where rs.id = #{id} + + delete from reset_password WHERE id = #{id} diff --git a/src/main/resources/mappers/VendorMapper.xml b/src/main/resources/mappers/VendorMapper.xml index b9c7550..a748e39 100644 --- a/src/main/resources/mappers/VendorMapper.xml +++ b/src/main/resources/mappers/VendorMapper.xml @@ -4,6 +4,20 @@ + + + + diff --git a/src/main/webapp/WEB-INF/views/price/create.jsp b/src/main/webapp/WEB-INF/views/price/create.jsp index 958e58e..57d9477 100644 --- a/src/main/webapp/WEB-INF/views/price/create.jsp +++ b/src/main/webapp/WEB-INF/views/price/create.jsp @@ -1,4 +1,5 @@ <%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> @@ -45,11 +46,8 @@ aria-describedby="basic-addon1"> - - - - - + + @@ -93,8 +91,8 @@ $(document).ready(function() { type: "post", data: { "price": price, - "manager_id": manager_id, // 추후 수정해야함. - "product_id": product_id, // 추후 수정해야함. + "manager_id": manager_id, + "product_id": product_id, "activation": true }, datatype:"json" @@ -102,24 +100,6 @@ $(document).ready(function() { if (data == true) { alert("제품 가격을 추가했습니다."); $(location).attr("href", "/price/list"); - - - //생각해서 바꿔야함. - // 조건 : DB에서 생성되는 uuid를 어떻게 자바스크립트에서 가져올것인지 궁리. - /* - var form = document.createElement("form"); - form.action = "/product/read"; - form.method = "POST"; - document.body.appendChild(form); - - var input = document.createElement("input"); - input.type = "hidden"; - input.name = "id"; - input.value = data.id; - form.appendChild(input); - - form.submit(); - */ } else { alert("제품 가격 추가에 실패하였습니다."); } @@ -153,8 +133,5 @@ function showSearchModal(title, val){ - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/price/update.jsp b/src/main/webapp/WEB-INF/views/price/update.jsp index e780309..e83ffb3 100644 --- a/src/main/webapp/WEB-INF/views/price/update.jsp +++ b/src/main/webapp/WEB-INF/views/price/update.jsp @@ -1,4 +1,5 @@ <%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> @@ -34,14 +35,15 @@ - +
담당자 + aria-label="담당자" value="${userData.name }" readonly>
+ @@ -62,6 +64,7 @@ $("#submitBtn").on("click", function() { var id = $("#id").val(); var price = $("#price").val(); + var manager_id = $("#manager_id").val(); if (!price || isNaN(price)) { alert("올바른 가격을 입력하세요."); @@ -74,7 +77,8 @@ type: "put", data: { "id": id, - "price": price + "price": price, + "manager_id": manager_id }, datatype: "json" }).done(function(data) { diff --git a/src/main/webapp/WEB-INF/views/product/create.jsp b/src/main/webapp/WEB-INF/views/product/create.jsp index a2f0686..f7a2bd8 100644 --- a/src/main/webapp/WEB-INF/views/product/create.jsp +++ b/src/main/webapp/WEB-INF/views/product/create.jsp @@ -63,11 +63,9 @@ - - + + - - @@ -81,7 +79,7 @@ - + diff --git a/src/main/webapp/WEB-INF/views/product/update.jsp b/src/main/webapp/WEB-INF/views/product/update.jsp index 4e43aa0..c19de7e 100644 --- a/src/main/webapp/WEB-INF/views/product/update.jsp +++ b/src/main/webapp/WEB-INF/views/product/update.jsp @@ -1,4 +1,5 @@ <%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> @@ -59,10 +60,8 @@ - - - - + + diff --git a/src/main/webapp/WEB-INF/views/resetpassword/list.jsp b/src/main/webapp/WEB-INF/views/resetpassword/list.jsp index 8d1ed12..f3e45a8 100644 --- a/src/main/webapp/WEB-INF/views/resetpassword/list.jsp +++ b/src/main/webapp/WEB-INF/views/resetpassword/list.jsp @@ -1,244 +1,249 @@ -<%@ page contentType="text/html; charset=UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - -패스워드 초기화 요청 + + 패스워드 초기화 요청 -
-

패스워드 초기화 요청

-
-
-
-
-
-
-
-
- -
- - - - - - - - -
-
-
-
-
-
-
- - - - - - - - +
+

패스워드 초기화 요청

+
+
+
+
+
+
+
+
+ +
+ + -
- - - - - - - - - - - - -
번호사원명email요청사유
${start} ${dto.name }${dto.email }${dto.note } - - -
-
-
-
-
-
+ + + + -
-
+ +
+
+
+
+
+ + + + + + + + - -
  • - < -
  • -
    - -
  • active "> - ${i } -
  • -
    - -
  • - > -
  • -
    - - - + + + + + + + + + + + + + +
    번호사원명email요청사유
    ${start} ${dto.name }${dto.email }${dto.note } + + + +
    +
    +
    +
    +
    +
    -
    -
    -
    - - - + + });//ready + function pageingFunction(clickedId) { + var searchn1 = $("#searchn1").val(); + var search1 = $("#search1").val(); + + var form = document.createElement("form"); + form.action = "/resetpassword/list"; + form.method = "get"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn1; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search1; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = clickedId; + form.appendChild(input3); + + document.body.appendChild(form); + form.submit(); + } + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/vendor/create.jsp b/src/main/webapp/WEB-INF/views/vendor/create.jsp index a9f37cf..9856e3f 100644 --- a/src/main/webapp/WEB-INF/views/vendor/create.jsp +++ b/src/main/webapp/WEB-INF/views/vendor/create.jsp @@ -37,7 +37,8 @@ <%-- 세션 만들어지고 value 수정--%> - + + diff --git a/src/main/webapp/WEB-INF/views/vendor/list.jsp b/src/main/webapp/WEB-INF/views/vendor/list.jsp index 078c088..4c8ea17 100644 --- a/src/main/webapp/WEB-INF/views/vendor/list.jsp +++ b/src/main/webapp/WEB-INF/views/vendor/list.jsp @@ -69,7 +69,7 @@
    ms-excel - +
    @@ -106,6 +106,14 @@ $(document).ready(function(){ + $("#downlodeExcelForm").on("click",function(){ + var form = document.createElement("form"); + form.action = "/vendor/downloadTest"; + form.method = "GET"; + document.body.appendChild(form); + form.submit(); + }); + //POST방식으로 create폼화면 출력 $("#createButton").on("click",function(){ var form = document.createElement("form"); diff --git a/src/main/webapp/WEB-INF/views/warehouse/create.jsp b/src/main/webapp/WEB-INF/views/warehouse/create.jsp index d2bb1e9..fab60dd 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/create.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/create.jsp @@ -36,7 +36,8 @@ <%-- 세션 만들어지고 value 수정--%> - + + diff --git a/src/main/webapp/excelfiles/excelform/거래처 데이터 입력 서식.xlsx b/src/main/webapp/excelfiles/excelform/거래처 데이터 입력 서식.xlsx new file mode 100644 index 0000000..2259690 Binary files /dev/null and b/src/main/webapp/excelfiles/excelform/거래처 데이터 입력 서식.xlsx differ