Merge remote-tracking branch 'origin/master'

This commit is contained in:
Suh
2024-01-17 09:40:45 +09:00
6 changed files with 329 additions and 3 deletions

View File

@@ -0,0 +1,51 @@
package com.no1.wms.mypage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
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.ResponseBody;
import com.no1.wms.account.AccountDto;
import com.no1.wms.account.AccountService;
@Controller
public class MypageController {
@Autowired
AccountService accountService;
@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);
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;
}
}
}

View File

@@ -1,5 +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<AccountDto> 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;
}
}
}

View File

@@ -1,5 +1,18 @@
package com.no1.wms.planin;
public class PlanInMapper {
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<AccountDto> selectAll(Map<String, Object> m);
int count(Map<String, Object> m);
}

View File

@@ -1,5 +1,37 @@
package com.no1.wms.planin;
public class PlanInService {
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<AccountDto> selectAll(int searchn, String search, int start, int perPage){
HashMap<String, Object> map = new HashMap<String, Object>();
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<String, Object> m = new HashMap<>();
m.put("searchn", searchn);
m.put("search", search);
m.put("start", start);
m.put("perPage", perPage);
return mapper.count(m);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -0,0 +1,179 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class="mt-5 mb-5 text-center">
<h1 style="color: green;" >마이페이지</h1>
</div>
<hr>
<div class="body">
<div class="container-fluid">
<div class="row">
<div class="col-md-4" style="text-align: center;">
<img alt="Default Image" src="/resources/static/img/mypage/defaultimg.png" width="200" />
<hr>
<p><b>
<span style="color: #6E6ED7; font-size: 20px;">${list.positionDto.name }&nbsp;&nbsp; </span>
<span style="font-size: 20px;">${list.name}</span>
</b></p>
<br>
<div class="col-centered">
<button type="button" class="btn btn-danger" onclick="">프로필 사진 수정</button>
</div>
</div>
<div class="col-md-8">
<form id="userInfoForm" action="/updateUserInfo" method="post">
<div class="form-group row">
<label for="name" class="col-md-2 col-form-label">이름</label>
<div class="col-md-6">
<input type="text" class="form-control" id="name" name="name" value="${list.name}" readonly>
</div>
</div>
<div class="form-group row">
<label for="employeeNumber" class="col-md-2 col-form-label">사원 번호</label>
<div class="col-md-6">
<input type="text" class="form-control" id="employeeNumber" name="employeeNumber" value="${list.employeeNumber}" readonly>
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-2 col-form-label">비밀번호</label>
<div class="col-md-6">
<input type="password" class="form-control" id="password" name="password" value="${list.password}">
</div>
</div>
<!-- -->
<div class="form-group row">
<label for="email" class="col-md-2 col-form-label">이메일주소</label>
<div class="col-md-6">
<input type="email" class="form-control" id="email" name="email" value="${list.email }">
</div>
</div>
<div class="form-group row">
<label for="gender" class="col-md-2 col-form-label">성별</label>
<div class="col-md-6">
<input type="text" class="form-control" id="gender" name="gender" value="${list.gender }">
</div>
</div>
<div class="form-group row">
<label for="birth" class="col-md-2 col-form-label">생일</label>
<div class="col-md-6">
<fmt:formatDate value="${list.birth}" pattern="yyyy-MM-dd" type="date" var="formattedDate" />
<input type="date" class="form-control" id="birth" name="birth" value="${formattedDate}" />
</div>
</div>
<div class="form-group row">
<label for="telephone" class="col-md-2 col-form-label">전화번호</label>
<div class="col-md-6">
<input type="tel" class="form-control" id="telephone" name="telephone" value="${list.telephone }">
</div>
</div>
<div class="form-group row">
<label for="address" class="col-md-2 col-form-label">주소</label>
<div class="col-md-6">
<input type="text" class="form-control" id="address" name="address" value="${list.address }">
</div>
</div>
<div class="form-group row">
<label for="department" class="col-md-2 col-form-label">부서</label>
<div class="col-md-6">
<input type="text" class="form-control" id="department" name="department" value="${list.departmentDto.name }" readonly>
</div>
</div>
<div class="form-group row">
<label for="position" class="col-md-2 col-form-label">직책</label>
<div class="col-md-6">
<input type="text" class="form-control" id="position" name="position" value="${list.positionDto.name }" readonly>
</div>
</div>
<hr style="width: 700px;">
<div class="form-group row">
<div class="col-md-2"></div>
<div class="col-md-6 text-end">
<button type="button" id="submitBtn" class="btn btn-primary">저장</button>
</div>
</div>
<input type="hidden" id="id" name="id" value="${list.id }">
<input type="hidden" id="personalAuthorityId" name="personalAuthorityId" value="${list.personalAuthorityId }">
<input type="hidden" id="groupAuthorityId" name="groupAuthorityId" value="${list.groupAuthorityId }">
<input type="hidden" id="positionId" name="positionId" value="${list.positionId }">
<input type="hidden" id="departmentId" name="departmentId" value="${list.departmentId }">
</form>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
$("#submitBtn").on("click",function(){
//
var name = $("#name").val();
var employeeNumber = $("#employeeNumber").val();
var email = $("#email").val();
var personalAuthorityId = $("#personalAuthorityId").val();
var gender = $("#gender").val();
var birth = $("#birth").val();
var telephone = $("#telephone").val();
var address = $("#address").val();
var departmentId = $("#departmentId").val();
var positionId = $("#positionId").val();
var id = $("#id").val();
var activation = true;
const data = { name : name,
employeeNumber : employeeNumber,
email : email,
personalAuthorityId : personalAuthorityId,
gender : gender,
birth : birth,
telephone : telephone,
address : address,
departmentId : departmentId,
positionId : positionId,
id : id,
activation : activation,
};
$.ajax({
type : 'put', // 타입 (get, post, put 등등)
url : '/mypage/updateUserInfo', // 요청할 서버url
dataType : 'json', // 데이터 타입 (html, xml, json, text 등등)
data : data
}).done(function(data) {
console.log(data)//true
if (data == true) {
alert("개인정보가 변경되었습니다.");
$(location).attr("href", "/mypage");
} else {
alert("개인정보 변경에 실패했습니다.");
}
}).fail(function() {
alert("오류가 발생했습니다.");
}).always(function() {
//
});
//
});//submitBtn
});//ready
</script>
</body>
</html>