diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx
index e5402d4..be26d13 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/users/List.jsx
@@ -20,9 +20,7 @@ function List({}) {
});
const [listTag, setListTag] = useState([]);
-
const [paginationInfo, setPaginationInfo] = useState({});
-
const [show, setShow] = useState(false);
const [modalBody, setModalBody] = useState();
@@ -42,13 +40,15 @@ function List({}) {
setListTag([]);
// 리스트 항목 구성
+ const cmtList = resp.result.cmtList;
resp.result.userList.forEach(function (item, index) {
mutListTag.push(
-
+
{item.userNm}
{item.email}
{item.phoneNum}
+
{item.cmtOrgNm}
{item.statusValue}
@@ -72,9 +72,9 @@ function List({}) {
setSearchCondition({...searchCondition, pageIndex: passedPage})
});
- function userInfoModal(userInfo){
+ function userInfoModal(userInfo, cmtList){
handleShow()
- setModalBody()
+ setModalBody()
}
const removeUserInfo = useCallback((seq)=>{
@@ -151,6 +151,7 @@ function List({}) {
이름
이메일
연락처
+ 위원회
상태
삭제
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx
index 5071d8e..c741900 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx
@@ -1,4 +1,4 @@
-import React, {useCallback, useEffect, useState} from "react"
+import React, {useEffect, useState} from "react"
import Modal from "react-bootstrap/Modal";
import * as EgovNet from "api/egovFetch";
import Form from "react-bootstrap/Form";
@@ -6,11 +6,12 @@ import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
import Button from "react-bootstrap/Button";
import SelectOption from "components/commonCode/SelectOption";
-import CheckBox from "components/commonCode/CheckBox";
import CODE from "../../../constants/code";
-function UserInfoModal({savedInfo, reloadFunction}){
-
+function UserInfoModal({savedInfo, cmtList, reloadFunction}){
+ const [selectedCmtList, setSelectedCmtList] = useState(cmtList);
+ const [cmtOrg, setCmtOrg] = useState({cmtSeq: savedInfo?.cmtOrg, cmtNm: savedInfo?.cmtOrgNm});
+
function userInfoChange(e){
e.preventDefault();
e.stopPropagation();
@@ -23,18 +24,10 @@ function UserInfoModal({savedInfo, reloadFunction}){
userNm: form.userNm.value,
email: form.email.value,
phoneNum: form.phoneNum.value,
- userRole: '',
+ userRole: form.userRole.value,
+ cmtOrg: form.cmtOrg.value,
status: form.status.value,
}
- let userRole = '';
- form.userRole.forEach(function (input){
- if(input.checked){
- userRole += input.value+','
- }
- })
- if(userRole){
- info.userRole = userRole.slice(0, -1)
- }
EgovNet.requestFetch(
'/admin/users/mgt/info',
{
@@ -56,8 +49,19 @@ function UserInfoModal({savedInfo, reloadFunction}){
}
)
}
-
- function modalOpen(){
+ const changeSelectorOption = (e) => {
+ selectedCmtList.forEach(function (cmt){
+ if(cmt.cmtSeq === Number(e.target.value)){
+ setCmtOrg({cmtSeq: cmt.cmtSeq, cmtNm: cmt.cmtNm});
+ if(cmt.childList.length === 0){
+ setSelectedCmtList(cmtList);
+ }else{
+ setSelectedCmtList(cmt.childList);
+ }
+ }
+ })
+ }
+ /*function modalOpen(){
EgovNet.requestFetch(
'/admin/users/mgt/info?userId='+savedInfo?.userId,
{
@@ -70,10 +74,10 @@ function UserInfoModal({savedInfo, reloadFunction}){
}
)
- }
+ }*/
useEffect(() => {
- modalOpen();
+ /*modalOpen();*/
}, []);
return (
@@ -143,6 +147,21 @@ function UserInfoModal({savedInfo, reloadFunction}){
+
+
+ 위원회
+
+
+
+
+
+
+ {selectedCmtList.map((cmt) => (
+
+ ))}
+
+
+
상태
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java
index 51903ad..4559ef6 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java
@@ -5,6 +5,7 @@ import com.dbnt.kcscbackend.admin.logs.service.AdminLogsService;
import com.dbnt.kcscbackend.admin.users.service.UsersService;
import com.dbnt.kcscbackend.auth.entity.LoginVO;
import com.dbnt.kcscbackend.auth.entity.UserInfo;
+import com.dbnt.kcscbackend.commonCode.service.CmtService;
import com.dbnt.kcscbackend.commonCode.service.CommonCodeService;
import com.dbnt.kcscbackend.config.common.BaseController;
import com.dbnt.kcscbackend.config.common.ResponseCode;
@@ -38,6 +39,7 @@ public class AdminUsersController extends BaseController {
private final UsersService usersService;
private final AdminLogsService adminLogsService;
private final CommonCodeService commonCodeService;
+ private final CmtService cmtService;
@Operation(
summary = "사용자 목록 조회",
@@ -55,6 +57,7 @@ public class AdminUsersController extends BaseController {
Map resultMap = new HashMap<>();
params.setQueryInfo();
resultMap.put("userSeOption", commonCodeService.selectCodeItemList("ACC_TYPE"));
+ resultMap.put("cmtList", cmtService.selectCmtOrgList());
resultMap.put("userList", usersService.selectUserList(params));
params.setContentCnt(usersService.selectUserListCnt(params));
params.setPaginationInfo();
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/UsersService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/UsersService.java
index 11a5479..d6f17f3 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/UsersService.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/UsersService.java
@@ -51,6 +51,7 @@ public class UsersService extends EgovAbstractServiceImpl {
savedInfo.setEmail(info.getEmail());
savedInfo.setPhoneNum(info.getPhoneNum());
savedInfo.setUserRole(info.getUserRole());
+ savedInfo.setCmtOrg(info.getCmtOrg());
savedInfo.setStatus(info.getStatus());
savedInfo.setLastChgId(updateUser);
savedInfo.setLastChgDt(LocalDateTime.now());
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/UserInfo.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/UserInfo.java
index 6696f90..65b99d3 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/UserInfo.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/auth/entity/UserInfo.java
@@ -57,6 +57,8 @@ public class UserInfo extends BoardParams implements UserDetails{
private String phoneNum;
@Column(name = "user_role")
private String userRole;
+ @Column(name = "cmt_org")
+ private Integer cmtOrg;
@Column(name = "status")
private String status;
@Column(name = "frst_crt_dt")
@@ -72,6 +74,8 @@ public class UserInfo extends BoardParams implements UserDetails{
private String passwordChk;
@Transient
private String statusValue;
+ @Transient
+ private String cmtOrgNm;
@Override
@JsonIgnore
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/entity/TnCmtOrg.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/entity/TnCmtOrg.java
index 8e83ee1..dc272f8 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/entity/TnCmtOrg.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/entity/TnCmtOrg.java
@@ -8,6 +8,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
@Getter
@Setter
@@ -57,6 +59,9 @@ public class TnCmtOrg {
@Column(name = "old_seq")
private Long oldSeq;
+ @Transient
+ private List childList = new ArrayList<>();
+
@Embeddable
@Data
@NoArgsConstructor
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
index 11ced52..38d6990 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/repository/TnCmtOrgRepository.java
@@ -10,6 +10,8 @@ import java.util.List;
import java.util.Map;
public interface TnCmtOrgRepository extends JpaRepository {
+
+ List findByUseYnOrderByCmtTypeAsc(String useYn);
List findByUseYnAndUpCmtSeqOrderByCmtOrder(String useYn, Long upCmtSeq);
TnCmtOrg findByUseYnAndCmtSeq(String useYn, Long cmtSeq);
List findByUseYnAndUpCmtSeqAndCmtTypeOrderByCmtOrder(String useYn, Long upCmtSeq, String cmtType);
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/service/CmtService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/service/CmtService.java
new file mode 100644
index 0000000..8cc0002
--- /dev/null
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/commonCode/service/CmtService.java
@@ -0,0 +1,37 @@
+package com.dbnt.kcscbackend.commonCode.service;
+
+import com.dbnt.kcscbackend.commonCode.entity.TnCmtOrg;
+import com.dbnt.kcscbackend.commonCode.repository.TnCmtOrgRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class CmtService {
+ private final TnCmtOrgRepository tnCmtOrgRepository;
+
+ public List selectCmtOrgList(){
+ List cmtList = tnCmtOrgRepository.findByUseYnOrderByCmtTypeAsc("Y");
+ List lv1List = new ArrayList<>();
+ for(TnCmtOrg cmt: cmtList){
+ if(cmt.getCmtType().equals("LV_01")){
+ lv1List.add(cmt);
+ }
+ cmt.getChildList().addAll(findChildCmt(cmt, cmtList));
+ }
+ return lv1List;
+ }
+
+ private List findChildCmt(TnCmtOrg parent, List cmtList){
+ List tempList = new ArrayList<>();
+ for(TnCmtOrg cmt: cmtList){
+ if(parent.getCmtSeq().equals(cmt.getUpCmtSeq())){
+ tempList.add(cmt);
+ }
+ }
+ return tempList;
+ }
+}
diff --git a/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml b/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml
index 73a369e..4530426 100644
--- a/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml
+++ b/kcsc-back-end/src/main/resources/mybatisMapper/AdminUsersMapper.xml
@@ -12,10 +12,13 @@
a.phone_num,
a.user_role,
a.status,
- c.item_nm as status_value
+ c.item_nm as status_value,
+ a.cmt_org,
+ d.cmt_nm as cmt_org_nm
from user_info a
inner join tc_code_item b on a.user_se = b.item_cd
inner join tc_code_item c on a.status = c.item_cd
+ left outer join tn_cmt_org d on a.cmt_org = d.cmt_seq
order by user_seq desc
limit #{rowCnt} offset #{firstIndex}