diff --git a/src/main/java/com/no1/wms/account/AccountController.java b/src/main/java/com/no1/wms/account/AccountController.java index b4ebfd8..5cf6ea9 100644 --- a/src/main/java/com/no1/wms/account/AccountController.java +++ b/src/main/java/com/no1/wms/account/AccountController.java @@ -30,6 +30,7 @@ public class AccountController { int count = accountService.count(searchn, search, startRow, perPage); + int pageNum = 4;//보여질 페이지 번호 수 int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 @@ -37,7 +38,7 @@ public class AccountController { //스톡서비스로 재고 리스트 출력 메서트 작성 - List list = accountService.selectAll(searchn, search, searchn, perPage); + List list = accountService.selectAll(searchn, search, startRow, perPage); int begin = (page - 1) / pageNum * pageNum + 1; int end = begin + pageNum - 1; @@ -48,8 +49,9 @@ public class AccountController { mav.addObject("end", end); mav.addObject("searchn", searchn); mav.addObject("search", search); - mav.addObject("page", startRow); + mav.addObject("pageNum", pageNum); mav.addObject("begin", begin); + mav.addObject("page", page); mav.setViewName("account/list"); return mav; } diff --git a/src/main/java/com/no1/wms/base/AuthAspect.java b/src/main/java/com/no1/wms/base/AuthAspect.java index 6bfe1e3..3553aa9 100644 --- a/src/main/java/com/no1/wms/base/AuthAspect.java +++ b/src/main/java/com/no1/wms/base/AuthAspect.java @@ -45,7 +45,7 @@ public class AuthAspect { String[] list = targetController.split("\\."); String packageName = list[3]; - if(packageName.equals("login")) { + if(packageName.equals("login") || packageName.equals("resetpassword")) { return joinPoint.proceed(); } diff --git a/src/main/java/com/no1/wms/in/InController.java b/src/main/java/com/no1/wms/in/InController.java index 7008965..d858fbe 100644 --- a/src/main/java/com/no1/wms/in/InController.java +++ b/src/main/java/com/no1/wms/in/InController.java @@ -1,5 +1,5 @@ package com.no1.wms.in; public class InController { - + } diff --git a/src/main/java/com/no1/wms/in/InDto.java b/src/main/java/com/no1/wms/in/InDto.java new file mode 100644 index 0000000..98a0d64 --- /dev/null +++ b/src/main/java/com/no1/wms/in/InDto.java @@ -0,0 +1,5 @@ +package com.no1.wms.in; + +public class InDto { + +} diff --git a/src/main/java/com/no1/wms/in/InMapper.java b/src/main/java/com/no1/wms/in/InMapper.java new file mode 100644 index 0000000..4639fcc --- /dev/null +++ b/src/main/java/com/no1/wms/in/InMapper.java @@ -0,0 +1,5 @@ +package com.no1.wms.in; + +public class InMapper { + +} diff --git a/src/main/java/com/no1/wms/in/InService.java b/src/main/java/com/no1/wms/in/InService.java new file mode 100644 index 0000000..dd43d69 --- /dev/null +++ b/src/main/java/com/no1/wms/in/InService.java @@ -0,0 +1,5 @@ +package com.no1.wms.in; + +public class InService { + +} diff --git a/src/main/java/com/no1/wms/login/LoginController.java b/src/main/java/com/no1/wms/login/LoginController.java index 33e3535..991231a 100644 --- a/src/main/java/com/no1/wms/login/LoginController.java +++ b/src/main/java/com/no1/wms/login/LoginController.java @@ -34,6 +34,21 @@ public class LoginController { } + @PostMapping("/pass_reset_call") + @ResponseBody + public String passResetCall(AccountDto dto, Gson gson) + { + return gson.toJson("s"); + + } + + @GetMapping("/passreset") + public String passReset() + { + return "pass_reset_call"; + + } + @PostMapping("/login/check_password") @@ -55,6 +70,7 @@ public class LoginController { auth.put("vendor",getAuthArrayFromInt(authDto.getVendor())); auth.put("warehouse",getAuthArrayFromInt(authDto.getWarehouse())); auth.put("stock",getAuthArrayFromInt(authDto.getStock())); + auth.put("planin",getAuthArrayFromInt(authDto.getPlanIn())); auth.put("in",getAuthArrayFromInt(authDto.getProductIn())); //prodcut_in auth.put("out",getAuthArrayFromInt(authDto.getProductOut())); //product_out auth.put("board",getAuthArrayFromInt(authDto.getBoard())); diff --git a/src/main/java/com/no1/wms/mypage/ImgService.java b/src/main/java/com/no1/wms/mypage/ImgService.java new file mode 100644 index 0000000..4812ad2 --- /dev/null +++ b/src/main/java/com/no1/wms/mypage/ImgService.java @@ -0,0 +1,77 @@ +package com.no1.wms.mypage; + +import java.io.File; +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import com.no1.wms.excel.EgovWebUtil; + +@Service +public class ImgService { + + + public void imgFileUplode(HttpServletRequest request, MultipartFile imageFile, String fileName) { + + String storePathString = ""; + try { + + ClassPathResource resource = new ClassPathResource("/static/img/mypage/profile"); + storePathString = resource.getFile().getAbsolutePath(); + //storePathString = System.getProperty("user.dir") + "/src/main/resources/static/img/mypage/profile"; + //System.out.println("storePathString : " + storePathString); + //String path = ResourceUtils.getFile("classpath:static/img/mypage/profile/").toPath().toString(); + //storePathString = path; + + //System.out.println("storePathString : " + storePathString); + + } catch (Exception e) { + e.printStackTrace(); + } + File saveFolder = new File(EgovWebUtil.filePathBlackList(storePathString)); + //폴더 없으면 생성 + if (!saveFolder.exists() || saveFolder.isFile()) { + saveFolder.mkdirs(); + } + // 원본 파일 이름 가져오기 + String originalFileName = imageFile.getOriginalFilename(); + // 확장자 추출 + int index = originalFileName.lastIndexOf("."); + String fileExt = originalFileName.substring(index + 1); + + String newFileName = fileName; + // 저장될 파일 경로 설정 + String filePath = storePathString + File.separator + newFileName + "." + fileExt; + + try { + // 동일한 파일명이 존재하는지 확인하고 있다면 기존 파일 삭제 + String jpg = storePathString + File.separator + newFileName + "." + "jpg"; + String png = storePathString + File.separator + newFileName + "." + "png"; + String jpeg = storePathString + File.separator + newFileName + "." + "jpeg"; + File existingJpgFile = new File(jpg); + File existingPngFile = new File(png); + File existingJpegFile = new File(jpeg); + + String imgSrc = ""; + if(existingJpgFile.exists()) { + existingJpgFile.delete(); + }else if(existingPngFile.exists()) { + existingPngFile.delete(); + }else if(existingJpegFile.exists()) { + existingJpegFile.delete(); + } + + // 이미지를 지정된 경로에 저장 + imageFile.transferTo(new File(EgovWebUtil.filePathBlackList(filePath))); + //System.out.println("Image file saved at: " + filePath); + + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/com/no1/wms/mypage/MypageController.java b/src/main/java/com/no1/wms/mypage/MypageController.java new file mode 100644 index 0000000..fd21e22 --- /dev/null +++ b/src/main/java/com/no1/wms/mypage/MypageController.java @@ -0,0 +1,103 @@ +package com.no1.wms.mypage; + +import java.io.File; +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; + +import com.no1.wms.account.AccountDto; +import com.no1.wms.account.AccountService; + +@Controller +public class MypageController { + + @Autowired + AccountService accountService; + + @Autowired + ImgService imgService; + + @GetMapping("/mypage") + public String mypage(Model m, HttpServletRequest request) { + + HttpSession session = request.getSession(); + AccountDto dto = (AccountDto) session.getAttribute("userData"); + + AccountDto list = accountService.selectById(dto); + m.addAttribute("list", list); + + String id = list.getId(); + + ClassPathResource resource = new ClassPathResource("/static/img/mypage/profile"); + String storePathString; + try { + storePathString = resource.getFile().getAbsolutePath(); + String jpg = storePathString + File.separator + id + "." + "jpg"; + String png = storePathString + File.separator + id + "." + "png"; + String jpeg = storePathString + File.separator + id + "." + "jpeg"; + File existingJpgFile = new File(jpg); + File existingPngFile = new File(png); + File existingJpegFile = new File(jpeg); + + String imgSrc = ""; + if(existingJpgFile.exists()) { + imgSrc = "/resources/static/img/mypage/profile/"+ id +".jpg"; + //System.out.println("jpg"); + }else if(existingPngFile.exists()) { + imgSrc = "/resources/static/img/mypage/profile/"+ id +".png"; + //System.out.println("png"); + }else if(existingJpegFile.exists()) { + imgSrc = "/resources/static/img/mypage/profile/"+ id +".jpeg"; + //System.out.println("jpeg"); + }else { + imgSrc = "/resources/static/img/mypage/profile/defaultimg.png"; + //System.out.println("default"); + } + m.addAttribute("imgSrc", imgSrc); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return "mypage/mypage"; + } + + @ResponseBody + @PutMapping("/mypage/updateUserInfo") + public boolean updateUserInfo(AccountDto dto) { + int i = accountService.update(dto); + System.out.println(i); + if (i == 1) { + return true; + } else { + return false; + } + } + + @PostMapping("/mypage/uplodeImg") + public String imgFileUplode(HttpServletRequest request, MultipartFile file) { + //System.out.println(file); + HttpSession session = request.getSession(); + AccountDto dto = (AccountDto) session.getAttribute("userData"); + String fileName = dto.getId(); + //System.out.println(fileName); + imgService.imgFileUplode(request, file, fileName); + + return "redirect:/mypage"; + } + + +} diff --git a/src/main/java/com/no1/wms/planin/PlanInController.java b/src/main/java/com/no1/wms/planin/PlanInController.java new file mode 100644 index 0000000..87be4e5 --- /dev/null +++ b/src/main/java/com/no1/wms/planin/PlanInController.java @@ -0,0 +1,56 @@ +package com.no1.wms.planin; + +import com.no1.wms.account.AccountDto; +import com.no1.wms.planin.PlanInService; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + + + +@Controller +@RequestMapping("planin") +public class PlanInController { + @Autowired + PlanInService planinservice; + + @GetMapping("/list") + public ModelAndView list(ModelAndView mav,@RequestParam(defaultValue = "0") int searchn, @RequestParam(defaultValue = "") String search, @RequestParam(defaultValue = "1") int page){ + int perPage = 10; + int startRow = (page - 1) * perPage; + int count = planinservice.count(searchn, search, startRow, perPage); + + + + int pageNum = 4;//보여질 페이지 번호 수 + int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 + + + + + //스톡서비스로 재고 리스트 출력 메서트 작성 + List list = planinservice.selectAll(searchn, search, startRow, perPage); + + int begin = (page - 1) / pageNum * pageNum + 1; + int end = begin + pageNum - 1; + if (end > totalPages) { + end = totalPages; + } + mav.addObject("list", list); + mav.addObject("end", end); + mav.addObject("searchn", searchn); + mav.addObject("search", search); + mav.addObject("pageNum", pageNum); + mav.addObject("begin", begin); + mav.addObject("page", page); + mav.setViewName("account/list"); + return mav; + } + +} \ No newline at end of file diff --git a/src/main/java/com/no1/wms/planin/PlanInDto.java b/src/main/java/com/no1/wms/planin/PlanInDto.java new file mode 100644 index 0000000..6002619 --- /dev/null +++ b/src/main/java/com/no1/wms/planin/PlanInDto.java @@ -0,0 +1,5 @@ +package com.no1.wms.planin; + +public class PlanInDto { + +} diff --git a/src/main/java/com/no1/wms/planin/PlanInMapper.java b/src/main/java/com/no1/wms/planin/PlanInMapper.java new file mode 100644 index 0000000..c25aada --- /dev/null +++ b/src/main/java/com/no1/wms/planin/PlanInMapper.java @@ -0,0 +1,18 @@ +package com.no1.wms.planin; + +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import com.no1.wms.account.AccountDto; + +@Repository +@Mapper +public interface PlanInMapper { + + List selectAll(Map m); + + int count(Map m); +} diff --git a/src/main/java/com/no1/wms/planin/PlanInService.java b/src/main/java/com/no1/wms/planin/PlanInService.java new file mode 100644 index 0000000..d26659a --- /dev/null +++ b/src/main/java/com/no1/wms/planin/PlanInService.java @@ -0,0 +1,37 @@ +package com.no1.wms.planin; + +import java.util.HashMap; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.no1.wms.account.AccountDto; + +@Service +public class PlanInService { + @Autowired + PlanInMapper mapper; + + public List selectAll(int searchn, String search, int start, int perPage){ + HashMap map = new HashMap(); + map.put("search", search); + map.put("start", start); + map.put("perPage", perPage); + map.put("searchn", searchn); + + + + return mapper.selectAll(map); + } + + + int count(int searchn, String search, int start, int perPage){ + HashMap m = new HashMap<>(); + m.put("searchn", searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + return mapper.count(m); + } +} diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java new file mode 100644 index 0000000..8736520 --- /dev/null +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordController.java @@ -0,0 +1,36 @@ +package com.no1.wms.resetpassword; + +import com.google.gson.Gson; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +@RequestMapping("/resetpassword") +public class ResetPasswordController { + + + @Autowired + ResetPasswordService resetPasswordService; + + @PostMapping("/insert") + @ResponseBody + public String insert(ResetPasswordDto dto, Gson gson){ + resetPasswordService.insert(dto); + + return gson.toJson("s"); + + } + + @PostMapping("/delete") + @ResponseBody + public String delete(ResetPasswordDto dto, Gson gson){ + resetPasswordService.delete(dto); + + return gson.toJson("s"); + + } + +} diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordDto.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordDto.java new file mode 100644 index 0000000..9084d19 --- /dev/null +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordDto.java @@ -0,0 +1,27 @@ +package com.no1.wms.resetpassword; + +import com.no1.wms.account.AccountDto; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.ibatis.type.Alias; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Alias("ResetPasswordDto") +public class ResetPasswordDto { + String id; + String accountId; + String note; + @DateTimeFormat(pattern = "yyyy-MM-dd") + Date date; + + AccountDto accountDto; + String employeeNumber; +} diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java new file mode 100644 index 0000000..1de2009 --- /dev/null +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordMapper.java @@ -0,0 +1,15 @@ +package com.no1.wms.resetpassword; + +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Repository +@Mapper +public interface ResetPasswordMapper { + + void insert(ResetPasswordDto dto); + + void delete(ResetPasswordDto dto); + + +} diff --git a/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java b/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java new file mode 100644 index 0000000..9f5fd67 --- /dev/null +++ b/src/main/java/com/no1/wms/resetpassword/ResetPasswordService.java @@ -0,0 +1,19 @@ +package com.no1.wms.resetpassword; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ResetPasswordService { + + @Autowired + ResetPasswordMapper mapper; + + void insert(ResetPasswordDto dto){ + mapper.insert(dto); + } + + void delete(ResetPasswordDto dto){ + mapper.delete(dto); + } +} diff --git a/src/main/resources/mappers/AccountMapper.xml b/src/main/resources/mappers/AccountMapper.xml index 5696769..fa099aa 100644 --- a/src/main/resources/mappers/AccountMapper.xml +++ b/src/main/resources/mappers/AccountMapper.xml @@ -65,8 +65,8 @@ from account acc join authority auth join authority auth2 on acc.personal_authority_id = auth.id and acc.group_authority_id = auth2.id - acc.activation = 1 and acc.name like concat('%',#{search},'%') - acc.activation = 1 and acc.employee_number like concat('%',#{search},'%') + acc.activation = 1 and acc.name like concat('%',#{search},'%') + acc.activation = 1 and acc.employee_number like concat('%',#{search},'%') order by acc.id desc limit #{start}, #{perPage} @@ -140,6 +140,9 @@ update account SET activation = false WHERE id = #{id} + + update account SET password = #{password} WHERE employee_number = #{employeeNumber} + \ No newline at end of file diff --git a/src/main/resources/mappers/PlainInMapper.xml b/src/main/resources/mappers/PlainInMapper.xml new file mode 100644 index 0000000..9f5847d --- /dev/null +++ b/src/main/resources/mappers/PlainInMapper.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + insert into plan_In + ( + group_number, product_id, quantity, date, + vendor_id, manager_id, warehouse_id, qr_hash, + url, clear, vendor_date, other, activation, view_group_number + ) + VALUES + ( + UUID(), #{productId}, #{quantity}, + #{date}, #{vendorId}, + #{managerId},#{warehouseId},#{qrHash}, + #{url},#{clear}, #{vendor_date}, + #{other},#{activation}, (select MAX(c.group_number)+1 as cnt + from ( select group_number,MAX(group_number) from plan_In group by group_number ) as c) + ) + + + + + update plan_In SET + quantity = #{quantity}, + date = #{date}, + vendor_id = #{vendorId}, + manager_id = #{managerId}, + warehouse_id = #{warehouseId}, + qr_hash = #{qrHash}, + url = #{url}, + clear = #{clear}, + vendor_date = #{vendorDate}, + other = #{other}, + activation = #{activation}, + product_id = #{productId} + WHERE group_number = #{groupNumber} and product_id = #{oldProductId} + + + + update plan_In SET activation = false WHERE group_number = #{groupNumber} + + + update plan_In SET activation = false WHERE group_number = #{groupNumber} and product_id = #{productId} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/ResetPasswordMapper.xml b/src/main/resources/mappers/ResetPasswordMapper.xml new file mode 100644 index 0000000..34feaff --- /dev/null +++ b/src/main/resources/mappers/ResetPasswordMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + insert into reset_password + ( + id, account_id, note, date + ) + VALUES + ( + UUID(), (SELECT id from account where employee_number = #{employeeNumber} ), #{note}, NOW() + ) + + + + delete from reset_password WHERE id = #{id} + + + \ No newline at end of file diff --git a/src/main/resources/static/css/account.css b/src/main/resources/static/css/account.css new file mode 100644 index 0000000..1774d11 --- /dev/null +++ b/src/main/resources/static/css/account.css @@ -0,0 +1,3 @@ +tbody tr{ + cursor: pointer; +} \ No newline at end of file diff --git a/src/main/resources/static/img/mypage/profile/defaultimg.png b/src/main/resources/static/img/mypage/profile/defaultimg.png new file mode 100644 index 0000000..147064e Binary files /dev/null and b/src/main/resources/static/img/mypage/profile/defaultimg.png differ diff --git a/src/main/webapp/WEB-INF/views/account/list.jsp b/src/main/webapp/WEB-INF/views/account/list.jsp index 392626b..d9f7422 100644 --- a/src/main/webapp/WEB-INF/views/account/list.jsp +++ b/src/main/webapp/WEB-INF/views/account/list.jsp @@ -1,7 +1,7 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> - + -
+
-

계정 관리

+

계정 관리


@@ -72,60 +78,56 @@
-
-
-
-
- -
-
-
-
- - - - - - - - - - - - - -
사번사용자 명활성 여부
${dto.employeeNumber}${dto.name} - - O - X - -
-
-
-
-
-
- - [<] - - - ${i} - - - [>] - -
-
+
+
+ + + + +
+ + +
+
+
+ + + + + + + + + + + + + +
사번사용자 명활성 여부
${dto.employeeNumber}${dto.name} + + O + X + +
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/views/authority/list.jsp b/src/main/webapp/WEB-INF/views/authority/list.jsp index 916501b..88631fe 100644 --- a/src/main/webapp/WEB-INF/views/authority/list.jsp +++ b/src/main/webapp/WEB-INF/views/authority/list.jsp @@ -70,7 +70,7 @@
-
+
-
- - -
diff --git a/src/main/webapp/WEB-INF/views/base/navigation.jsp b/src/main/webapp/WEB-INF/views/base/navigation.jsp index 8ac097c..e6a99d0 100644 --- a/src/main/webapp/WEB-INF/views/base/navigation.jsp +++ b/src/main/webapp/WEB-INF/views/base/navigation.jsp @@ -6,7 +6,7 @@