외사경찰 정원/현원 현황 작업 마침.

강석 최 2022-11-17 11:34:57 +09:00
parent 810d893daf
commit 28445f0443
23 changed files with 205 additions and 87 deletions

View File

@ -62,7 +62,7 @@ public class BaseController {
@GetMapping("/selectBoxOptions") @GetMapping("/selectBoxOptions")
public ModelAndView codeMgtPage(String categoryCd, String selectedCd) { public ModelAndView codeMgtPage(String categoryCd, String selectedCd) {
ModelAndView mav = new ModelAndView("common/selectBox/options"); ModelAndView mav = new ModelAndView("common/selectBox/options");
mav.addObject("codeList", codeMgtService.selectCodeMgtList(categoryCd)); mav.addObject("codeList", codeMgtService.selectCodeMgtList(categoryCd, ""));
mav.addObject("selectedCd", selectedCd); mav.addObject("selectedCd", selectedCd);
return mav; return mav;
} }

View File

@ -54,8 +54,8 @@ public class ModalController {
if(userInfo.getUserStatus() == null || userInfo.getUserStatus().equals("")) { if(userInfo.getUserStatus() == null || userInfo.getUserStatus().equals("")) {
userInfo.setUserStatus("USC003"); userInfo.setUserStatus("USC003");
} }
mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG")); mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG", ""));
mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo)); mav.addObject("userInfoList", userInfoService.selectUserInfoList(userInfo));
userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo)); userInfo.setContentCnt(userInfoService.selectUserInfoListCnt(userInfo));
userInfo.setPaginationInfo(); userInfo.setPaginationInfo();

View File

@ -31,12 +31,12 @@ public class KwmsController {
}else{ }else{
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", ""));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT", ""));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC", ""));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC", ""));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG", ""));
} }
}else{ }else{
mav.addObject("joinFlag", "F"); mav.addObject("joinFlag", "F");
@ -58,12 +58,12 @@ public class KwmsController {
}else{ }else{
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", ""));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT", ""));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC", ""));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC", ""));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG", ""));
} }
}else{ }else{
mav.addObject("joinFlag", "F"); mav.addObject("joinFlag", "F");

View File

@ -60,11 +60,15 @@ public class CodeMgtService{
return categoryMap; return categoryMap;
} }
public List<CodeMgt> selectCodeMgtList(String categoryCd) { public List<CodeMgt> selectCodeMgtList(String categoryCd, String orderBy) {
return codeMgtRepository.findByCategoryCdAndUseChkOrderByItemCdAsc(categoryCd, "T"); List<CodeMgt> codeList = codeMgtRepository.findByCategoryCdAndUseChkOrderByItemCdAsc(categoryCd, "T");
if(orderBy.equals("reverse")){
codeList.sort((o1, o2) -> o2.getItemCd().compareTo(o1.getItemCd()));
}
return codeList;
} }
public String searchCode(String categoryCd, String value){ public String searchCode(String categoryCd, String value){
List<CodeMgt> codeList = selectCodeMgtList(categoryCd); List<CodeMgt> codeList = selectCodeMgtList(categoryCd, "");
for(CodeMgt code: codeList){ for(CodeMgt code: codeList){
if(code.getItemValue().equals(value)){ if(code.getItemValue().equals(value)){
return code.getItemCd(); return code.getItemCd();

View File

@ -87,7 +87,7 @@ public class FaRptController {
faRptBoard.setWrtUserNm(loginUser.getUserNm()); faRptBoard.setWrtUserNm(loginUser.getUserNm());
faRptBoard.setWrtDt(LocalDateTime.now()); faRptBoard.setWrtDt(LocalDateTime.now());
} }
mav.addObject("frCategoryList", codeMgtService.selectCodeMgtList("FRC")); mav.addObject("frCategoryList", codeMgtService.selectCodeMgtList("FRC", ""));
mav.addObject("faRpt", faRptBoard); mav.addObject("faRpt", faRptBoard);
return mav; return mav;
} }

View File

@ -56,14 +56,14 @@ public class FishingBoatController {
//메뉴권한 확인 //메뉴권한 확인
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/processResult").get(0).getAccessAuth()); mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/processResult").get(0).getAccessAuth());
mav.addObject("ataList", codeMgtService.selectCodeMgtList("ATA")); mav.addObject("ataList", codeMgtService.selectCodeMgtList("ATA", ""));
mav.addObject("cpoList", codeMgtService.selectCodeMgtList("CPO")); mav.addObject("cpoList", codeMgtService.selectCodeMgtList("CPO", ""));
mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT")); mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT", ""));
mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT")); mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT", ""));
mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM")); mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM", ""));
mav.addObject("prList", codeMgtService.selectCodeMgtList("PR")); mav.addObject("prList", codeMgtService.selectCodeMgtList("PR", ""));
mav.addObject("bdtList", codeMgtService.selectCodeMgtList("BDT")); mav.addObject("bdtList", codeMgtService.selectCodeMgtList("BDT", ""));
mav.addObject("boatList", codeMgtService.selectCodeMgtList(crackdownStatus.getCrackdownPolice())); mav.addObject("boatList", codeMgtService.selectCodeMgtList(crackdownStatus.getCrackdownPolice(), ""));
mav.addObject("userSeq", loginUser.getUserSeq()); mav.addObject("userSeq", loginUser.getUserSeq());
return mav; return mav;
} }
@ -82,13 +82,13 @@ public class FishingBoatController {
crackdownStatus.getFishingBoat().setWrtUserNm(loginUser.getUserNm()); crackdownStatus.getFishingBoat().setWrtUserNm(loginUser.getUserNm());
crackdownStatus.getFishingBoat().setWrtUserGrd(loginUser.getTitleCd()); crackdownStatus.getFishingBoat().setWrtUserGrd(loginUser.getTitleCd());
} }
mav.addObject("ataList", codeMgtService.selectCodeMgtList("ATA")); mav.addObject("ataList", codeMgtService.selectCodeMgtList("ATA", ""));
mav.addObject("cpoList", codeMgtService.selectCodeMgtList("CPO")); mav.addObject("cpoList", codeMgtService.selectCodeMgtList("CPO", ""));
mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT")); mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT", ""));
mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT")); mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT", ""));
mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM")); mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM", ""));
mav.addObject("prList", codeMgtService.selectCodeMgtList("PR")); mav.addObject("prList", codeMgtService.selectCodeMgtList("PR", ""));
mav.addObject("bdtList", codeMgtService.selectCodeMgtList("BDT")); mav.addObject("bdtList", codeMgtService.selectCodeMgtList("BDT", ""));
mav.addObject("crackdownStatus", crackdownStatus); mav.addObject("crackdownStatus", crackdownStatus);
return mav; return mav;
} }
@ -109,9 +109,9 @@ public class FishingBoatController {
public ModelAndView fishingBoatVersionInfo(FishingBoatVersion version){ public ModelAndView fishingBoatVersionInfo(FishingBoatVersion version){
ModelAndView mav = new ModelAndView("faStatistics/fishingBoat/fishingBoardVersionInfo"); ModelAndView mav = new ModelAndView("faStatistics/fishingBoat/fishingBoardVersionInfo");
mav.addObject("fishingBoat", fishingBoatService.selectFishingBoatVersion(version.getFbKey(), version.getVersionNo())); mav.addObject("fishingBoat", fishingBoatService.selectFishingBoatVersion(version.getFbKey(), version.getVersionNo()));
mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT")); mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT", ""));
mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT")); mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT", ""));
mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM")); mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM", ""));
return mav; return mav;
} }
} }

View File

@ -124,7 +124,7 @@ public class InternationalCrimeArrestController {
} }
public List<OrganConfig> selectOrganList(){ public List<OrganConfig> selectOrganList(){
List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG"); List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG", "");
List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList(); List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList();
for(CodeMgt organCode: organCdList){ for(CodeMgt organCode: organCdList){
if(!organCode.getItemCd().equals("OG001")){ if(!organCode.getItemCd().equals("OG001")){

View File

@ -116,7 +116,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard)); affairBoard.setContentCnt(affairService.selectAffairBoardListCnt(affairBoard));
affairBoard.setPaginationInfo(); affairBoard.setPaginationInfo();
mav.addObject("searchParams", affairBoard); mav.addObject("searchParams", affairBoard);
mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR")); mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR", ""));
return mav; return mav;
} }
@ -211,7 +211,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
(loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth(); (loginUser.getUserSeq(), "/affair/affairMgt?affairCategory="+affairBoard.getAffairCategory()).get(0).getApprovalAuth();
mav.addObject("apprvAuth", apprvAuth); mav.addObject("apprvAuth", apprvAuth);
if(apprvAuth!=null && (apprvAuth.equals("APC002") || apprvAuth.equals("APC001"))){ if(apprvAuth!=null && (apprvAuth.equals("APC002") || apprvAuth.equals("APC001"))){
mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR")); mav.addObject("ratingCodeList", codeMgtService.selectCodeMgtList("AAR", ""));
} }
return mav; return mav;
} }

View File

@ -174,8 +174,8 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
resultBoard.setWrtDt(LocalDateTime.now()); resultBoard.setWrtDt(LocalDateTime.now());
} }
mav.addObject("result", resultBoard); mav.addObject("result", resultBoard);
mav.addObject("categoryList", codeMgtService.selectCodeMgtList("RIC")); mav.addObject("categoryList", codeMgtService.selectCodeMgtList("RIC", ""));
mav.addObject("codeList", codeMgtService.selectCodeMgtList("RID")); mav.addObject("codeList", codeMgtService.selectCodeMgtList("RID", ""));
return mav; return mav;
} }
@ -223,8 +223,8 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
public ModelAndView getClearInfoRow(ClearInfo info){ public ModelAndView getClearInfoRow(ClearInfo info){
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/clearInfoRow"); ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/clearInfoRow");
mav.addObject("info", info); mav.addObject("info", info);
mav.addObject("categoryList", codeMgtService.selectCodeMgtList("RIC")); mav.addObject("categoryList", codeMgtService.selectCodeMgtList("RIC", ""));
mav.addObject("codeList", codeMgtService.selectCodeMgtList("RID")); mav.addObject("codeList", codeMgtService.selectCodeMgtList("RID", ""));
return mav; return mav;
} }
@GetMapping("/getResultInfoRow") @GetMapping("/getResultInfoRow")

View File

@ -33,9 +33,9 @@ public class MenuMgtController {
public ModelAndView menuEditModal(MenuMgt menuMgt){ public ModelAndView menuEditModal(MenuMgt menuMgt){
ModelAndView mav = new ModelAndView("adminPage/menuMgt/menuEditModal"); ModelAndView mav = new ModelAndView("adminPage/menuMgt/menuEditModal");
mav.addObject("menuMgt", menuMgt); mav.addObject("menuMgt", menuMgt);
mav.addObject("cat1List", codeMgtService.selectCodeMgtList("CAT1")); mav.addObject("cat1List", codeMgtService.selectCodeMgtList("CAT1", ""));
mav.addObject("cat2List", codeMgtService.selectCodeMgtList("CAT2")); mav.addObject("cat2List", codeMgtService.selectCodeMgtList("CAT2", ""));
mav.addObject("cat3List", codeMgtService.selectCodeMgtList("CAT3")); mav.addObject("cat3List", codeMgtService.selectCodeMgtList("CAT3", ""));
return mav; return mav;
} }

View File

@ -28,7 +28,7 @@ public class OrganConfigController {
@GetMapping("/selectOrganList") @GetMapping("/selectOrganList")
public List<OrganConfig> selectOrganList(){ public List<OrganConfig> selectOrganList(){
List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG"); List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG", "");
List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList(); List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList();
for(CodeMgt organCode: organCdList){ for(CodeMgt organCode: organCdList){
if(!organCode.getItemCd().equals("OG001")){ if(!organCode.getItemCd().equals("OG001")){

View File

@ -71,7 +71,7 @@ public class PublicBoardController {
mav.addObject("referenceList", publicBoardService.selectContentList(publicBoard)); mav.addObject("referenceList", publicBoardService.selectContentList(publicBoard));
publicBoard.setContentCnt(publicBoardService.selectContentListCnt(publicBoard)); publicBoard.setContentCnt(publicBoardService.selectContentListCnt(publicBoard));
publicBoard.setPaginationInfo(); publicBoard.setPaginationInfo();
mav.addObject("tabStatusList", codeMgtService.selectCodeMgtList("RPC")); mav.addObject("tabStatusList", codeMgtService.selectCodeMgtList("RPC", ""));
mav.addObject("searchParams", publicBoard); mav.addObject("searchParams", publicBoard);
return mav; return mav;
} }

View File

@ -92,13 +92,13 @@ public class FaispController {
@GetMapping("/policeEditModal") @GetMapping("/policeEditModal")
public ModelAndView policeEditModal(@AuthenticationPrincipal UserInfo loginUser,UserInfo userInfo){ public ModelAndView policeEditModal(@AuthenticationPrincipal UserInfo loginUser,UserInfo userInfo){
ModelAndView mav = new ModelAndView("/faisp/policeEditModal"); ModelAndView mav = new ModelAndView("/faisp/policeEditModal");
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG")); mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG", ""));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT", ""));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC", ""));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC", ""));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG", ""));
mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC")); mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC", ""));
//메뉴권한 확인 //메뉴권한 확인
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faisp/policeList").get(0).getAccessAuth(); String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faisp/policeList").get(0).getAccessAuth();
@ -153,7 +153,7 @@ public class FaispController {
@GetMapping("/personnelStatus") @GetMapping("/personnelStatus")
public ModelAndView personnelStatus(@AuthenticationPrincipal UserInfo loginUser, PersonnelStatus personnelStatus){ public ModelAndView personnelStatus(@AuthenticationPrincipal UserInfo loginUser, PersonnelStatus personnelStatus){
ModelAndView mav = new ModelAndView("faisp/personnelStatus"); ModelAndView mav = new ModelAndView("faisp/personnelStatus/personnelStatus");
//메뉴권한 확인 //메뉴권한 확인
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faisp/personnelStatus").get(0).getAccessAuth(); String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faisp/personnelStatus").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth); mav.addObject("accessAuth", accessAuth);
@ -163,9 +163,7 @@ public class FaispController {
} }
personnelStatus.setDownOrganCdList(loginUser.getDownOrganCdList()); personnelStatus.setDownOrganCdList(loginUser.getDownOrganCdList());
mav.addObject("searchParams", personnelStatus); mav.addObject("searchParams", personnelStatus);
List<CodeMgt> jtList = codeMgtService.selectCodeMgtList("JT"); mav.addObject("jtList", codeMgtService.selectCodeMgtList("JT", "reverse"));
jtList.sort((o1, o2) -> o2.getItemCd().compareTo(o1.getItemCd()));
mav.addObject("jtList", jtList);
List<PersonnelStatus> statusList = userInfoService.selectPersonnelStatusList(personnelStatus); List<PersonnelStatus> statusList = userInfoService.selectPersonnelStatusList(personnelStatus);
statusList = calcStatusList(statusList); statusList = calcStatusList(statusList);
mav.addObject("statusSummary", makeStatusSummary(statusList)); mav.addObject("statusSummary", makeStatusSummary(statusList));
@ -175,7 +173,7 @@ public class FaispController {
@GetMapping("/personnelStatusRow") @GetMapping("/personnelStatusRow")
public ModelAndView personnelStatusRow(@AuthenticationPrincipal UserInfo loginUser){ public ModelAndView personnelStatusRow(@AuthenticationPrincipal UserInfo loginUser){
ModelAndView mav = new ModelAndView("faisp/personnelStatusRow"); ModelAndView mav = new ModelAndView("faisp/personnelStatus/personnelStatusRow");
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
return mav; return mav;
} }
@ -192,6 +190,14 @@ public class FaispController {
public void savePersonnelStatus(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<PersonnelStatus> personnelStatusList){ public void savePersonnelStatus(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<PersonnelStatus> personnelStatusList){
userInfoService.savePersonnelStatus(loginUser, personnelStatusList); userInfoService.savePersonnelStatus(loginUser, personnelStatusList);
} }
@GetMapping("/personnelStatusHistory")
public ModelAndView personnelStatusHistory(PersonnelStatus status){
ModelAndView mav = new ModelAndView("faisp/personnelStatus/personnelStatusHistory");
mav.addObject("jtList", codeMgtService.selectCodeMgtList("JT", "reverse"));
List<PersonnelStatus> statusList = userInfoService.selectPersonnelStatusHistoryList(status);
mav.addObject("statusList", calcStatusList(statusList));
return mav;
}
@GetMapping("/careerMgt") @GetMapping("/careerMgt")
public ModelAndView careerMgt(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo, HttpServletResponse response){ public ModelAndView careerMgt(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo, HttpServletResponse response){

View File

@ -25,13 +25,13 @@ public class MyInfoController {
public ModelAndView myInfoPage(@AuthenticationPrincipal UserInfo loginUser){ public ModelAndView myInfoPage(@AuthenticationPrincipal UserInfo loginUser){
ModelAndView mav = new ModelAndView("user/myInfo"); ModelAndView mav = new ModelAndView("user/myInfo");
mav.addObject("userInfo", userInfoService.selectUserInfo(loginUser.getUserSeq())); mav.addObject("userInfo", userInfoService.selectUserInfo(loginUser.getUserSeq()));
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG")); mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG", ""));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT", ""));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC", ""));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC", ""));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG", ""));
mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC")); mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC", ""));
mav.addObject("dashboardConfigList", userInfoService.getDashboardConfigList(loginUser.getUserSeq())); mav.addObject("dashboardConfigList", userInfoService.getDashboardConfigList(loginUser.getUserSeq()));
return mav; return mav;

View File

@ -55,10 +55,10 @@ public class PersonnelStatus extends BaseModel {
private Integer jt001Max = 0; private Integer jt001Max = 0;
@Column(name = "jt001_now") @Column(name = "jt001_now")
private Integer jt001Now = 0; private Integer jt001Now = 0;
@Column(name = "organ_cd") @Column(name = "wrt_organ")
private String organCd; private String wrtOrgan;
@Column(name = "part_cd") @Column(name = "wrt_part")
private String partCd; private String wrtPart;
@Column(name = "wrt_user_seq") @Column(name = "wrt_user_seq")
private Integer wrtUserSeq; private Integer wrtUserSeq;
@Column(name = "wrt_user_grd") @Column(name = "wrt_user_grd")

View File

@ -3,8 +3,11 @@ package com.dbnt.faisp.main.userInfo.repository;
import com.dbnt.faisp.main.userInfo.model.PersonnelStatus; import com.dbnt.faisp.main.userInfo.model.PersonnelStatus;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
import java.util.Optional; import java.util.Optional;
public interface PersonnelStatusRepository extends JpaRepository<PersonnelStatus, PersonnelStatus.personnelStatusId> { public interface PersonnelStatusRepository extends JpaRepository<PersonnelStatus, PersonnelStatus.personnelStatusId> {
Optional<PersonnelStatus> findTop1ByYearAndOgCdOrderByVersionNoDesc(String year, String ogCd); Optional<PersonnelStatus> findTop1ByYearAndOgCdOrderByVersionNoDesc(String year, String ogCd);
List<PersonnelStatus> findByYearAndOgCdOrderByVersionNoDesc(String year, String ogCd);
} }

View File

@ -313,8 +313,8 @@ public class UserInfoService implements UserDetailsService {
for(PersonnelStatus status: personnelStatusList){ for(PersonnelStatus status: personnelStatusList){
PersonnelStatus lastVersion = personnelStatusRepository.findTop1ByYearAndOgCdOrderByVersionNoDesc(status.getYear(), status.getOgCd()).orElse(null); PersonnelStatus lastVersion = personnelStatusRepository.findTop1ByYearAndOgCdOrderByVersionNoDesc(status.getYear(), status.getOgCd()).orElse(null);
status.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1)); status.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1));
status.setOrganCd(loginUser.getOgCd()); status.setWrtOrgan(loginUser.getOgCd());
status.setPartCd(loginUser.getOfcCd()); status.setWrtPart(loginUser.getOfcCd());
status.setWrtUserSeq(loginUser.getUserSeq()); status.setWrtUserSeq(loginUser.getUserSeq());
status.setWrtUserNm(loginUser.getUserNm()); status.setWrtUserNm(loginUser.getUserNm());
status.setWrtUserGrd(loginUser.getTitleCd()); status.setWrtUserGrd(loginUser.getTitleCd());
@ -327,6 +327,10 @@ public class UserInfoService implements UserDetailsService {
return userInfoMapper.nowPersonnelStatus(ogCd); return userInfoMapper.nowPersonnelStatus(ogCd);
} }
public List<PersonnelStatus> selectPersonnelStatusHistoryList(PersonnelStatus status) {
return personnelStatusRepository.findByYearAndOgCdOrderByVersionNoDesc(status.getYear(), status.getOgCd());
}
public UserInfo selectPoliceInfo(Integer userSeq) { public UserInfo selectPoliceInfo(Integer userSeq) {
return userInfoMapper.selectPoliceInfo(userSeq); return userInfoMapper.selectPoliceInfo(userSeq);
} }
@ -368,5 +372,4 @@ public class UserInfoService implements UserDetailsService {
userEduRepository.deleteById(new UserEduId(userEdu.getEduSeq(), userEdu.getUserSeq())); userEduRepository.deleteById(new UserEduId(userEdu.getEduSeq(), userEdu.getUserSeq()));
return userEdu.getUserSeq(); return userEdu.getUserSeq();
} }
} }

View File

@ -39,13 +39,13 @@ public class userMgtController {
@GetMapping("/userEditModal") @GetMapping("/userEditModal")
public ModelAndView menuEditModal(UserInfo userInfo){ public ModelAndView menuEditModal(UserInfo userInfo){
ModelAndView mav = new ModelAndView("adminPage/userMgt/userEditModal"); ModelAndView mav = new ModelAndView("adminPage/userMgt/userEditModal");
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG")); mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG", ""));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC")); mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC", ""));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT")); mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT", ""));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC")); mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC", ""));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC", ""));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG", ""));
mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC")); mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC", ""));
mav.addObject("userInfo", userInfoService.selectUserInfo(userInfo.getUserSeq())); mav.addObject("userInfo", userInfoService.selectUserInfo(userInfo.getUserSeq()));
return mav; return mav;

View File

@ -209,8 +209,8 @@
jt002_now, jt002_now,
jt001_max, jt001_max,
jt001_now, jt001_now,
a.organ_cd, wrt_organ,
part_cd, wrt_part,
wrt_user_seq, wrt_user_seq,
wrt_user_grd, wrt_user_grd,
wrt_user_nm, wrt_user_nm,

View File

@ -31,7 +31,7 @@ $(document).on('change', '.ogCd', function (){
$.ajax({ $.ajax({
url: '/faisp/selectPersonnelStatus', url: '/faisp/selectPersonnelStatus',
type: 'GET', type: 'GET',
data: {year: $("#year").val(), ogCd: this.value}, data: {year: new Date().getFullYear(), ogCd: this.value},
dataType:"json", dataType:"json",
success: function(data){ success: function(data){
personnelStatusRow.find(".jt007Max").val(data.jt007Max); personnelStatusRow.find(".jt007Max").val(data.jt007Max);
@ -92,10 +92,11 @@ $(document).on('click', '#saveBtn', function (){
if(confirm("저장하시겠습니까?")){ if(confirm("저장하시겠습니까?")){
contentFade("in"); contentFade("in");
const personnelStatusList = []; const personnelStatusList = [];
const year = new Date().getFullYear();
$.each($(".personnelStatusRow"), function(idx, personnelStatus){ $.each($(".personnelStatusRow"), function(idx, personnelStatus){
const row = $(personnelStatus); const row = $(personnelStatus);
personnelStatusList.push({}); personnelStatusList.push({});
personnelStatusList[idx].year = $("#year").val(); personnelStatusList[idx].year = year;
personnelStatusList[idx].ogCd = row.find(".ogCd").val() personnelStatusList[idx].ogCd = row.find(".ogCd").val()
personnelStatusList[idx].jt007Max = row.find(".jt007Max").val() personnelStatusList[idx].jt007Max = row.find(".jt007Max").val()
personnelStatusList[idx].jt007Now = row.find(".jt007Now").val() personnelStatusList[idx].jt007Now = row.find(".jt007Now").val()
@ -135,6 +136,23 @@ $(document).on('click', '#saveBtn', function (){
} }
}) })
$(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(){
}
});
})
function personnelStatusOgCdCheck(){ function personnelStatusOgCdCheck(){
let flag = true; let flag = true;
$.each($(".ogCd"), function(idx, selectBox){ $.each($(".ogCd"), function(idx, selectBox){

View File

@ -74,6 +74,8 @@
</thead> </thead>
<tbody class="table-group-divider"> <tbody class="table-group-divider">
<tr class="statusTr" th:each="status:${statusList}"> <tr class="statusTr" th:each="status:${statusList}">
<input type="hidden" class="year" th:value="${status.year}">
<input type="hidden" class="ogCd" th:value="${status.ogCd}">
<th:block th:each="code:${session.commonCode.get('OG')}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${code.itemCd eq status.ogCd}"> <th:block th:if="${code.itemCd eq status.ogCd}">
<td th:text="${code.itemValue}"></td> <td th:text="${code.itemValue}"></td>
@ -81,7 +83,7 @@
</th:block> </th:block>
<td th:text="${status.sumMax}"></td> <td th:text="${status.sumMax}"></td>
<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}"></td>
<td th:text="${status.jt006Max}"></td> <td th:text="${status.jt006Max}"></td>
@ -154,5 +156,23 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="personnelStatusHistoryModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="personnelStatusHistoryModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xxl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="personnelStatusHistoryModalLabel">수정이력조회</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="personnelStatusHistoryModalBody">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
</div>
</div>
</div>
</div>
</div> </div>
</html> </html>

View File

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="row">
<div class="col-12">
<table class="table table-hover text-center">
<thead>
<tr>
<th rowspan="2">관서</th>
<th rowspan="2">정원</th>
<th rowspan="2">현원</th>
<th rowspan="2">과부족</th>
<th:block th:each="code:${jtList}">
<th colspan="2" th:text="${code.itemValue}"></th>
</th:block>
<th rowspan="2">수정자</th>
<th rowspan="2">수정일</th>
</tr>
<tr>
<th:block th:each="code:${jtList}">
<th>정원</th>
<th>현원</th>
</th:block>
</tr>
</thead>
<tbody>
<tr class="versionInfoTr" th:each="ps:${statusList}">
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${ps.ogCd eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
</td>
<td th:text="${ps.sumMax}"></td>
<td th:text="${ps.sumNow}"></td>
<td th:text="${ps.sumNow-ps.sumMax}" th:classappend="${(ps.sumNow-ps.sumMax)>=0?'text-primary':'text-danger'}"></td>
<td th:text="${ps.jt007Max}"></td>
<td th:text="${ps.jt007Now}"></td>
<td th:text="${ps.jt006Max}"></td>
<td th:text="${ps.jt006Now}"></td>
<td th:text="${ps.jt005Max}"></td>
<td th:text="${ps.jt005Now}"></td>
<td th:text="${ps.jt004Max}"></td>
<td th:text="${ps.jt004Now}"></td>
<td th:text="${ps.jt003Max}"></td>
<td th:text="${ps.jt003Now}"></td>
<td th:text="${ps.jt002Max}"></td>
<td th:text="${ps.jt002Now}"></td>
<td th:text="${ps.jt001Max}"></td>
<td th:text="${ps.jt001Now}"></td>
<td>
<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${ps.wrtOrgan eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:each="code:${session.commonCode.get('JT')}">
<th:block th:if="${ps.wrtUserGrd eq code.itemCd}" th:text="${code.itemValue}"></th:block>
</th:block>
<th:block th:text="${ps.wrtUserNm}"></th:block>
</td>
<td th:text="${#temporals.format(ps.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div>
</div>
</html>