parent
778539224b
commit
9330763c2c
|
|
@ -29,13 +29,17 @@ public class KwmsController {
|
||||||
mav.addObject("userInfo", empInfo);
|
mav.addObject("userInfo", empInfo);
|
||||||
mav.addObject("msg", "-포함 입력 ex) M00-00000");
|
mav.addObject("msg", "-포함 입력 ex) M00-00000");
|
||||||
}else{
|
}else{
|
||||||
if(userInfoService.selectUserInfoToDicCode(empInfo.getDic()) == null){
|
UserInfo savedUser = userInfoService.selectUserInfoToDicCode(empInfo.getDic());
|
||||||
|
if(savedUser == null || savedUser.getUserStatus().equals("USC004")){
|
||||||
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
|
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
|
||||||
if(userInfo==null){
|
if(userInfo==null){
|
||||||
mav.addObject("joinFlag", "F");
|
mav.addObject("joinFlag", "F");
|
||||||
mav.addObject("userInfo", empInfo);
|
mav.addObject("userInfo", empInfo);
|
||||||
mav.addObject("msg", "검색 결과가 없습니다.");
|
mav.addObject("msg", "검색 결과가 없습니다.");
|
||||||
}else{
|
}else{
|
||||||
|
if(savedUser.getUserStatus().equals("USC004")){
|
||||||
|
userInfo.setUserSeq(savedUser.getUserSeq());
|
||||||
|
}
|
||||||
mav.addObject("joinFlag", "T");
|
mav.addObject("joinFlag", "T");
|
||||||
mav.addObject("userInfo", userInfo);
|
mav.addObject("userInfo", userInfo);
|
||||||
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ public interface UserInfoRepository extends JpaRepository<UserInfo, Integer> {
|
||||||
Optional<UserInfo> findByUserSeq(Integer userSeq);
|
Optional<UserInfo> findByUserSeq(Integer userSeq);
|
||||||
|
|
||||||
Optional<UserInfo> findByDicCode(String dicCode);
|
Optional<UserInfo> findByDicCode(String dicCode);
|
||||||
|
Optional<UserInfo> findByDicCodeAndUserStatus(String dicCode, String userStatus);
|
||||||
|
|
||||||
@Query(value = "SELECT user_status FROM user_info WHERE user_seq=:userSeq", nativeQuery = true)
|
@Query(value = "SELECT user_status FROM user_info WHERE user_seq=:userSeq", nativeQuery = true)
|
||||||
String getUserStatus(@Param("userSeq") Integer userSeq);
|
String getUserStatus(@Param("userSeq") Integer userSeq);
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,8 @@ public class UserInfoService implements UserDetailsService {
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public String insertUserInfo(UserInfo userInfo){
|
public String insertUserInfo(UserInfo userInfo){
|
||||||
if(userInfoRepository.findByUserId(userInfo.getUserId()).orElse(null) != null){
|
UserInfo savedUser = userInfoRepository.findByUserId(userInfo.getUserId()).orElse(null);
|
||||||
|
if(savedUser != null && savedUser.getUserStatus().equals("USC003")){
|
||||||
return "userIdDuplication";
|
return "userIdDuplication";
|
||||||
}
|
}
|
||||||
userInfo.setUserRole(Role.USER.getValue());
|
userInfo.setUserRole(Role.USER.getValue());
|
||||||
|
|
@ -43,7 +44,7 @@ public class UserInfoService implements UserDetailsService {
|
||||||
userInfo.setPassword(convertPassword(userInfo.getPassword()));
|
userInfo.setPassword(convertPassword(userInfo.getPassword()));
|
||||||
userInfo.setWrtDt(LocalDateTime.now());
|
userInfo.setWrtDt(LocalDateTime.now());
|
||||||
UserInfo result = userInfoRepository.save(userInfo);
|
UserInfo result = userInfoRepository.save(userInfo);
|
||||||
saveUserInfoHistory(result, result);
|
saveUserInfoHistory(savedUser==null?result:savedUser, result);
|
||||||
return result.getUserId();
|
return result.getUserId();
|
||||||
}
|
}
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
|
||||||
|
|
@ -51,9 +51,11 @@ $(document).on('click', '#updateBtn', function (){
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#deleteBtn', function (){
|
$(document).on('click', '#deleteBtn', function (){
|
||||||
if(confirm("삭제 하시겠습니까?")){
|
/*if(confirm("삭제 하시겠습니까?")){
|
||||||
deleteUser([{userSeq: Number($("#userSeq").val())}])
|
deleteUser([{userSeq: Number($("#userSeq").val())}])
|
||||||
}
|
}*/
|
||||||
|
$("#editModalUserStatus").val('USC004');
|
||||||
|
saveUserInfo();
|
||||||
})
|
})
|
||||||
$(document).on('click', '#syncToKwmsBtn', function (){
|
$(document).on('click', '#syncToKwmsBtn', function (){
|
||||||
const dicCode = $("#dicCode").val();
|
const dicCode = $("#dicCode").val();
|
||||||
|
|
@ -159,7 +161,13 @@ function userCompanion(checkArr){
|
||||||
|
|
||||||
|
|
||||||
function saveUserInfo(){
|
function saveUserInfo(){
|
||||||
if(confirm("저장하시겠습니까?")){
|
let actionMsg = "";
|
||||||
|
if($("#editModalUserStatus").val()==="USC004"){
|
||||||
|
actionMsg = "삭제"
|
||||||
|
}else{
|
||||||
|
actionMsg = "저장"
|
||||||
|
}
|
||||||
|
if(confirm(actionMsg+"하시겠습니까?")){
|
||||||
contentFade("in");
|
contentFade("in");
|
||||||
const formData = new FormData($("#userInfoUpdate")[0]);
|
const formData = new FormData($("#userInfoUpdate")[0]);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
@ -169,12 +177,12 @@ function saveUserInfo(){
|
||||||
processData: false,
|
processData: false,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
success : function() {
|
success : function() {
|
||||||
alert("저장되었습니다.");
|
alert(actionMsg+"되었습니다.");
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
location.reload();
|
location.reload();
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
alert("저장에 실패하였습니다.");
|
alert(actionMsg+"에 실패하였습니다.");
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<input type="hidden" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
<input type="hidden" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
||||||
<input type="hidden" name="userStatus" th:value="${userInfo.userStatus}">
|
<input type="hidden" name="userStatus" id="editModalUserStatus" th:value="${userInfo.userStatus}">
|
||||||
<div class="mb-3 mt-3 row" sec:authorize="hasRole('ROLE_ADMIN')" th:classappend="${#strings.contains(userInfo.userRole, 'ROLE_ADMIN')?'d-none':''}">
|
<div class="mb-3 mt-3 row" sec:authorize="hasRole('ROLE_ADMIN')" th:classappend="${#strings.contains(userInfo.userRole, 'ROLE_ADMIN')?'d-none':''}">
|
||||||
<label for="userRole" class="col-sm-2 col-form-label col-form-label-sm text-center ">시스템권한</label>
|
<label for="userRole" class="col-sm-2 col-form-label col-form-label-sm text-center ">시스템권한</label>
|
||||||
<div class="col-sm-4" id="userRole">
|
<div class="col-sm-4" id="userRole">
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" th:if="${joinFlag eq 'T'}">
|
<div class="modal-body" th:if="${joinFlag eq 'T'}">
|
||||||
<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
|
<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
|
||||||
|
<input type="hidden" name="userSeq" th:value="${userInfo.userSeq}">
|
||||||
<div class="mb-3 mt-3 row">
|
<div class="mb-3 mt-3 row">
|
||||||
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
|
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">디지털식별코드</label>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
|
|
|
||||||
|
|
@ -64,19 +64,19 @@
|
||||||
<th th:text="${statusSummary.sumNow}"></th>
|
<th th:text="${statusSummary.sumNow}"></th>
|
||||||
<th th:text="${statusSummary.sumNow-statusSummary.sumMax}" th:classappend="${(statusSummary.sumNow-statusSummary.sumMax)>=0?'text-primary':'text-danger'}"></th>
|
<th th:text="${statusSummary.sumNow-statusSummary.sumMax}" th:classappend="${(statusSummary.sumNow-statusSummary.sumMax)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt007Max}"></th>
|
<th th:text="${statusSummary.jt007Max}"></th>
|
||||||
<th th:text="${statusSummary.jt007Now}"></th>
|
<th th:text="${statusSummary.jt007Now}" th:classappend="${(statusSummary.jt007Now-statusSummary.jt007Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt006Max}"></th>
|
<th th:text="${statusSummary.jt006Max}"></th>
|
||||||
<th th:text="${statusSummary.jt006Now}"></th>
|
<th th:text="${statusSummary.jt006Now}" th:classappend="${(statusSummary.jt006Now-statusSummary.jt006Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt005Max}"></th>
|
<th th:text="${statusSummary.jt005Max}"></th>
|
||||||
<th th:text="${statusSummary.jt005Now}"></th>
|
<th th:text="${statusSummary.jt005Now}" th:classappend="${(statusSummary.jt005Now-statusSummary.jt005Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt004Max}"></th>
|
<th th:text="${statusSummary.jt004Max}"></th>
|
||||||
<th th:text="${statusSummary.jt004Now}"></th>
|
<th th:text="${statusSummary.jt004Now}" th:classappend="${(statusSummary.jt004Now-statusSummary.jt004Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt003Max}"></th>
|
<th th:text="${statusSummary.jt003Max}"></th>
|
||||||
<th th:text="${statusSummary.jt003Now}"></th>
|
<th th:text="${statusSummary.jt003Now}" th:classappend="${(statusSummary.jt003Now-statusSummary.jt003Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt002Max}"></th>
|
<th th:text="${statusSummary.jt002Max}"></th>
|
||||||
<th th:text="${statusSummary.jt002Now}"></th>
|
<th th:text="${statusSummary.jt002Now}" th:classappend="${(statusSummary.jt002Now-statusSummary.jt002Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
<th th:text="${statusSummary.jt001Max}"></th>
|
<th th:text="${statusSummary.jt001Max}"></th>
|
||||||
<th th:text="${statusSummary.jt001Now}"></th>
|
<th th:text="${statusSummary.jt001Now}" th:classappend="${(statusSummary.jt001Now-statusSummary.jt001Max)>=0?'text-primary':'text-danger'}"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider">
|
<tbody class="table-group-divider">
|
||||||
|
|
@ -90,19 +90,19 @@
|
||||||
<td th:text="${status.sumNow}"></td>
|
<td th:text="${status.sumNow}"></td>
|
||||||
<td th:text="${status.sumNow-status.sumMax}" th:classappend="${(status.sumNow-status.sumMax)>=0?'text-primary':'text-danger'}"></td>
|
<td th:text="${status.sumNow-status.sumMax}" th:classappend="${(status.sumNow-status.sumMax)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt007Max}"></td>
|
<td th:text="${status.jt007Max}"></td>
|
||||||
<td th:text="${status.jt007Now}"></td>
|
<td th:text="${status.jt007Now}" th:classappend="${(status.jt007Now-status.jt007Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt006Max}"></td>
|
<td th:text="${status.jt006Max}"></td>
|
||||||
<td th:text="${status.jt006Now}"></td>
|
<td th:text="${status.jt006Now}" th:classappend="${(status.jt006Now-status.jt006Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt005Max}"></td>
|
<td th:text="${status.jt005Max}"></td>
|
||||||
<td th:text="${status.jt005Now}"></td>
|
<td th:text="${status.jt005Now}" th:classappend="${(status.jt005Now-status.jt005Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt004Max}"></td>
|
<td th:text="${status.jt004Max}"></td>
|
||||||
<td th:text="${status.jt004Now}"></td>
|
<td th:text="${status.jt004Now}" th:classappend="${(status.jt004Now-status.jt004Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt003Max}"></td>
|
<td th:text="${status.jt003Max}"></td>
|
||||||
<td th:text="${status.jt003Now}"></td>
|
<td th:text="${status.jt003Now}" th:classappend="${(status.jt003Now-status.jt003Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt002Max}"></td>
|
<td th:text="${status.jt002Max}"></td>
|
||||||
<td th:text="${status.jt002Now}"></td>
|
<td th:text="${status.jt002Now}" th:classappend="${(status.jt002Now-status.jt002Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${status.jt001Max}"></td>
|
<td th:text="${status.jt001Max}"></td>
|
||||||
<td th:text="${status.jt001Now}"></td>
|
<td th:text="${status.jt001Now}" th:classappend="${(status.jt001Now-status.jt001Max)>=0?'text-primary':'text-danger'}"></td>
|
||||||
<td th:text="${#temporals.format(status.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
<td th:text="${#temporals.format(status.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue