diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/FaispController.java b/src/main/java/com/dbnt/faisp/main/userInfo/FaispController.java
index d6e3a30d..0a01ca48 100644
--- a/src/main/java/com/dbnt/faisp/main/userInfo/FaispController.java
+++ b/src/main/java/com/dbnt/faisp/main/userInfo/FaispController.java
@@ -200,7 +200,7 @@ public class FaispController {
}
@GetMapping("/careerMgt")
- public ModelAndView careerMgt(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo, HttpServletResponse response){
+ public ModelAndView careerMgt(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo){
ModelAndView mav = new ModelAndView("faisp/career/careerMgt");
userInfo.setDownOrganCdList(loginUser.getDownOrganCdList());
if(userInfo.getUserStatus() == null) {
@@ -219,6 +219,18 @@ public class FaispController {
mav.addObject("searchParams", userInfo);
return mav;
}
+ @GetMapping("/careerEditModal")
+ public ModelAndView careerEditModal(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo){
+ ModelAndView mav = new ModelAndView("faisp/career/careerEditModal");
+
+ //메뉴권한 확인
+ String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faisp/educationMgt").get(0).getAccessAuth();
+ mav.addObject("accessAuth", accessAuth);
+ mav.addObject("userInfo", userInfoService.selectPoliceInfo(userInfo.getUserSeq()));
+ /*mav.addObject("eduList", userInfoService.selectEduList());*/
+ mav.addObject("userSeq", loginUser.getUserSeq());
+ return mav;
+ }
@GetMapping("/educationMgt")
public ModelAndView educationMgt(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo, HttpServletResponse response){
diff --git a/src/main/resources/static/js/faRpt/faRpt.js b/src/main/resources/static/js/faRpt/faRpt.js
index 8d135683..eda55e6e 100644
--- a/src/main/resources/static/js/faRpt/faRpt.js
+++ b/src/main/resources/static/js/faRpt/faRpt.js
@@ -132,7 +132,6 @@ function getFaRptEditModal(faRpt){
}
});
}
-
function saveFaRpt(faRptState){
if(contentCheck()){
if(confirm("저장하시겠습니까?")){
diff --git a/src/main/resources/static/js/faisp/careerMgt.js b/src/main/resources/static/js/faisp/careerMgt.js
index 243745fb..f96b7bed 100644
--- a/src/main/resources/static/js/faisp/careerMgt.js
+++ b/src/main/resources/static/js/faisp/careerMgt.js
@@ -1,169 +1,158 @@
-$(document).on('change', '#year', function (){
- $("#searchFm").submit();
+let eduList=[];
+let selectedIdx=0;
+
+
+$(document).on('click', '#previousTab', function (){
+ const userStatus = $(this).data('userstatus');
+ location.href = "/faisp/careerMgt?userStatus="+userStatus;
})
-$(document).on('click', '#personnelStatusEditModalBtn', function (){
- $("#personnelStatusEditDiv").empty();
- $("#personnelStatusEditModal").modal('show');
+$(document).on('click', '#presentTab', function (){
+ const userStatus = $(this).data('userstatus');
+ location.href = "/faisp/careerMgt?userStatus="+userStatus;
+})
+$(document).on('click', '#notPoliceTab', function (){
+ const userStatus = $(this).data('userstatus');
+ location.href = "/faisp/careerMgt?userStatus="+userStatus;
})
-$(document).on('click', '#personnelStatusAddBtn', function (){
+$(document).on('click', '.policeTr', function (){
$.ajax({
- url: '/faisp/personnelStatusRow',
+ url: '/faisp/careerEditModal',
+ data: {userSeq: $(this).find(".userSeq").val()},
type: 'GET',
dataType:"html",
success: function(html){
- $("#personnelStatusEditDiv").append(html)
+ $("#careerEditModalContent").empty().append(html);
+ $(".dateSelector").datepicker({
+ format: "yyyy-mm-dd",
+ language: "ko",
+ autoclose: true
+ });
+ $("#careerEditModal").modal('show');
},
error:function(){
}
});
+});
+
+$(document).on('click', '#eduAddBtn', function (){
+ const userSeq = (Number($(this).data('userseq')));
+ $('#insertEdu').append(
+ '
'+
+ '
'+
+ '
'+
+ '
'+
+ ''+
+ '
'+
+ '
'+
+ '
'+
+ ''+
+ '
'+
+ '
'+
+ '
'+
+ ''+
+ '
'+
+ '
'+
+ '
'+
+ ''+
+ '
'+
+ '
'+
+ '
'+
+ '
'
+ )
+ $(".eduSdate").datepicker({
+ format: "yyyy-mm-dd",
+ language: "ko"
+ });
+ $(".eduEdate").datepicker({
+ format: "yyyy-mm-dd",
+ language: "ko"
+ });
+ eduList.push({userSeq:userSeq, eduName:"",eduSdate:"",eduEdate:"",eduRa:""});
})
-$(document).on('click', '.personnelStatusRemoveBtn', function (){
- $(this).parents(".personnelStatusRow").remove();
+$(document).on('click', '.rowDeleteBtn', function (){
+ selectedIdx = $(this).parents("#eduDiv").index()-1;
+ eduList.splice(selectedIdx,1);
+ $(this).parents('#eduDiv').remove();
})
-$(document).on('change', '.ogCd', function (){
- const personnelStatusRow = $(this).parents(".personnelStatusRow");
- if(this.value !== ''){
- personnelStatusRow.find(".nowPersonnelStatusBtn")[0].className = "btn btn-sm btn-success nowPersonnelStatusBtn";
- $.ajax({
- url: '/faisp/selectPersonnelStatus',
- type: 'GET',
- data: {year: new Date().getFullYear(), ogCd: this.value},
- dataType:"json",
- success: function(data){
- personnelStatusRow.find(".jt007Max").val(data.jt007Max);
- personnelStatusRow.find(".jt007Now").val(data.jt007Now);
- personnelStatusRow.find(".jt006Max").val(data.jt006Max);
- personnelStatusRow.find(".jt006Now").val(data.jt006Now);
- personnelStatusRow.find(".jt005Max").val(data.jt005Max);
- personnelStatusRow.find(".jt005Now").val(data.jt005Now);
- personnelStatusRow.find(".jt004Max").val(data.jt004Max);
- personnelStatusRow.find(".jt004Now").val(data.jt004Now);
- personnelStatusRow.find(".jt003Max").val(data.jt003Max);
- personnelStatusRow.find(".jt003Now").val(data.jt003Now);
- personnelStatusRow.find(".jt002Max").val(data.jt002Max);
- personnelStatusRow.find(".jt002Now").val(data.jt002Now);
- personnelStatusRow.find(".jt001Max").val(data.jt001Max);
- personnelStatusRow.find(".jt001Now").val(data.jt001Now);
- },
- error:function(){
-
- }
- });
- }else{
- personnelStatusRow.find(".nowPersonnelStatusBtn")[0].className = "btn btn-sm btn-success nowPersonnelStatusBtn disabled";
+$(document).on('change', '.eduInput', function (){
+ selectedIdx = $(this).parents("#eduDiv").index()-1;
+ const target = eduList[selectedIdx];
+ switch (this.name){
+ case "eduName":
+ target.eduName = this.value
+ break;
+ case "eduSdate":
+ target.eduSdate = this.value
+ break;
+ case "eduEdate":
+ target.eduEdate = this.value
+ break;
+ case "eduRa":
+ target.eduRa = this.value
+ break;
}
})
-$(document).on('click', '.nowPersonnelStatusBtn', function (){
- const personnelStatusRow = $(this).parents(".personnelStatusRow");
- $.ajax({
- url: '/faisp/nowPersonnelStatus',
- type: 'GET',
- data: {ogCd: personnelStatusRow.find(".ogCd").val()},
- dataType:"json",
- success: function(data){
- if(data === null){
- alert("결과가 없습니다.")
- }else{
- personnelStatusRow.find(".jt007Now").val(data.jt007Now);
- personnelStatusRow.find(".jt006Now").val(data.jt006Now);
- personnelStatusRow.find(".jt005Now").val(data.jt005Now);
- personnelStatusRow.find(".jt004Now").val(data.jt004Now);
- personnelStatusRow.find(".jt003Now").val(data.jt003Now);
- personnelStatusRow.find(".jt002Now").val(data.jt002Now);
- personnelStatusRow.find(".jt001Now").val(data.jt001Now);
- }
- },
- error:function(){
- alert("조회에 실패하였습니다.")
- }
- });
-})
-
$(document).on('click', '#saveBtn', function (){
- if($(".ogCd").length===0){
- alert("저장할 항목이 없습니다.")
- }else{
- if(personnelStatusOgCdCheck()){
- if(confirm("저장하시겠습니까?")){
- contentFade("in");
- const personnelStatusList = [];
- const year = new Date().getFullYear();
- $.each($(".personnelStatusRow"), function(idx, personnelStatus){
- const row = $(personnelStatus);
- personnelStatusList.push({});
- personnelStatusList[idx].year = year;
- personnelStatusList[idx].ogCd = row.find(".ogCd").val()
- personnelStatusList[idx].jt007Max = row.find(".jt007Max").val()
- personnelStatusList[idx].jt007Now = row.find(".jt007Now").val()
- personnelStatusList[idx].jt006Max = row.find(".jt006Max").val()
- personnelStatusList[idx].jt006Now = row.find(".jt006Now").val()
- personnelStatusList[idx].jt005Max = row.find(".jt005Max").val()
- personnelStatusList[idx].jt005Now = row.find(".jt005Now").val()
- personnelStatusList[idx].jt004Max = row.find(".jt004Max").val()
- personnelStatusList[idx].jt004Now = row.find(".jt004Now").val()
- personnelStatusList[idx].jt003Max = row.find(".jt003Max").val()
- personnelStatusList[idx].jt003Now = row.find(".jt003Now").val()
- personnelStatusList[idx].jt002Max = row.find(".jt002Max").val()
- personnelStatusList[idx].jt002Now = row.find(".jt002Now").val()
- personnelStatusList[idx].jt001Max = row.find(".jt001Max").val()
- personnelStatusList[idx].jt001Now = row.find(".jt001Now").val()
- })
- $.ajax({
- type : 'POST',
- data : JSON.stringify(personnelStatusList),
- url : "/faisp/savePersonnelStatus",
- contentType: 'application/json',
- beforeSend: function (xhr){
- xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
- },
- success : function() {
- alert("저장되었습니다.");
- contentFade("out");
- location.reload();
- },
- error : function(xhr, status) {
- alert("저장에 실패하였습니다.");
- contentFade("out");
- }
- })
+ if(eduList.length < 1){
+ alert("새로 입력된 교육정보가 없습니다.");
+ return false;
+ }
+ if(confirm("저장하시겠습니까?")){
+ contentFade("in");
+ $.ajax({
+ type : 'POST',
+ data : JSON.stringify(eduList),
+ url : "/faisp/saveEdu",
+ contentType: 'application/json',
+ beforeSend: function (xhr){
+ xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
+ },
+ success : function(data) {
+ contentFade("out");
+ alert("교육등록이 완료되었습니다.");
+ showModal(data);
+ eduList.length = 0;
+ },
+ error : function(xhr, status) {
+ contentFade("out");
+ alert("교육등록을 실패하였습니다");
}
- }
+ })
}
})
-$(document).on('click', '.statusTr', function (){
- const statusTr = $(this);
- $.ajax({
- url: '/faisp/personnelStatusHistory',
- type: 'GET',
- data: {year: statusTr.find(".year").val(), ogCd: statusTr.find(".ogCd").val()},
- dataType:"html",
- success: function(html){
- $("#personnelStatusHistoryModalBody").empty().append(html)
- $("#personnelStatusHistoryModal").modal('show');
- },
- error:function(){
-
- }
- });
+$(document).on('click', '#deleteBtn', function (){
+ const eduSeq = (Number($(this).data('eduseq')));
+ const userSeq = (Number($(this).data('userseq')));
+ if(confirm("삭제하시겠습니까?")){
+ $.ajax({
+ type : 'POST',
+ url : "/faisp/deleteEdu",
+ data : JSON.stringify({eduSeq:eduSeq,
+ userSeq:userSeq}),
+ contentType: 'application/json',
+ beforeSend: function (xhr){
+ xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
+ },
+ success : function(data) {
+ alert("삭제 처리되었습니다.");
+ showModal(data);
+ },
+ error : function(xhr, status) {
+ alert("삭제 처리에 실패하였습니다");
+ }
+ })
+ }
})
-function personnelStatusOgCdCheck(){
- let flag = true;
- $.each($(".ogCd"), function(idx, selectBox){
- if($(selectBox).val()===''){
- flag = false;
- }
- })
- if(!flag){
- alert("관서가 지정되지 않은 항목이 있습니다.")
- }
- return flag;
-}
\ No newline at end of file
diff --git a/src/main/resources/templates/adminPage/authMgt/authMgt.html b/src/main/resources/templates/adminPage/authMgt/authMgt.html
index a3b91457..bc8871ab 100644
--- a/src/main/resources/templates/adminPage/authMgt/authMgt.html
+++ b/src/main/resources/templates/adminPage/authMgt/authMgt.html
@@ -17,7 +17,7 @@
-