수정요청사항 작업중.
parent
bdc9bd7a9a
commit
c38e6e64df
|
|
@ -27,125 +27,99 @@ import java.util.List;
|
|||
@RequestMapping("/faStatistics")
|
||||
public class InternationalCrimeArrestController {
|
||||
|
||||
private final AuthMgtService authMgtService;
|
||||
private final InternationalCrimeArrestService internationalCrimeArrestService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
private final OrganConfigService organConfigService;
|
||||
private final SuspectPersonInfoRepository suspectPersonInfoRepository;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final InternationalCrimeArrestService internationalCrimeArrestService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
private final OrganConfigService organConfigService;
|
||||
private final SuspectPersonInfoRepository suspectPersonInfoRepository;
|
||||
|
||||
@GetMapping("/internationalCrimeArrest")
|
||||
public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) {
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrest");
|
||||
@GetMapping("/internationalCrimeArrest")
|
||||
public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) {
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrest");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth();
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth();
|
||||
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
|
||||
internationalCrimeArrest.setQueryInfo();
|
||||
List<InternationalCrimeArrest> internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest);
|
||||
internationalCrimeArrest.setQueryInfo();
|
||||
List<InternationalCrimeArrest> internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest);
|
||||
|
||||
for (InternationalCrimeArrest ica:internationalCrimeArrestList) {
|
||||
ica.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey()));
|
||||
}
|
||||
|
||||
mav.addObject("internationalCrimeArrestList", internationalCrimeArrestList);
|
||||
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
||||
internationalCrimeArrest.setPaginationInfo();
|
||||
mav.addObject("organConfigList", selectOrganList());
|
||||
mav.addObject("searchParams", internationalCrimeArrest);
|
||||
return mav;
|
||||
for (InternationalCrimeArrest ica:internationalCrimeArrestList) {
|
||||
ica.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey()));
|
||||
}
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal")
|
||||
public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal");
|
||||
if(internationalCrimeArrest.getIcaKey()!=null){
|
||||
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
||||
}else{
|
||||
internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd());
|
||||
internationalCrimeArrest.setWrtNm(loginUser.getUserNm());
|
||||
internationalCrimeArrest.setWrtDt(LocalDateTime.now());
|
||||
internationalCrimeArrest.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(internationalCrimeArrest.getIcaKey()));
|
||||
}
|
||||
mav.addObject("organConfigList", selectOrganList());
|
||||
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
|
||||
return mav;
|
||||
mav.addObject("internationalCrimeArrestList", internationalCrimeArrestList);
|
||||
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
||||
internationalCrimeArrest.setPaginationInfo();
|
||||
mav.addObject("organConfigList", organConfigService.selectOrganList());
|
||||
mav.addObject("searchParams", internationalCrimeArrest);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal")
|
||||
public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal");
|
||||
if(internationalCrimeArrest.getIcaKey()!=null){
|
||||
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
||||
}else{
|
||||
internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd());
|
||||
internationalCrimeArrest.setWrtNm(loginUser.getUserNm());
|
||||
internationalCrimeArrest.setWrtDt(LocalDateTime.now());
|
||||
internationalCrimeArrest.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(internationalCrimeArrest.getIcaKey()));
|
||||
}
|
||||
mav.addObject("organConfigList", organConfigService.selectOrganList());
|
||||
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestViewModal")
|
||||
public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal");
|
||||
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
||||
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
mav.addObject("organConfigList", organConfigService.selectOrganList());
|
||||
//메뉴권한 확인
|
||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth());
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/internationalCrimeArrest/saveInternationalCrimeArrest")
|
||||
public Integer saveInternationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,
|
||||
InternationalCrimeArrest internationalCrimeArrest){
|
||||
internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq());
|
||||
return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest);
|
||||
}
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/ExcelDown")
|
||||
public void icaExcelDown(HttpServletResponse response, InternationalCrimeArrest internationalCrimeArrest) {
|
||||
int duplicateCount = internationalCrimeArrestService.icaDuplicateCount(internationalCrimeArrest);
|
||||
int rowCnt = internationalCrimeArrest.getRowCnt() + duplicateCount;
|
||||
internationalCrimeArrest.setRowCnt(rowCnt);
|
||||
internationalCrimeArrest.setQueryInfo();
|
||||
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
||||
internationalCrimeArrest.setPaginationInfo();
|
||||
|
||||
Excel excel = new Excel();
|
||||
String[] headers = {"ica_key", "case_num", "organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "sex", "age", "country", "crime_awareness_dt", "case_sent_dt", "process_result"};
|
||||
String[] headerNames = { "", "", "", "", "", "", "", "", "", "", "피의자 인적사항", "", "", "", "", ""};
|
||||
String[] headerNames2 = { "", "사건번호", "지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","성별","나이","국적","범죄인지","사건송치","신병처리"};
|
||||
String[] columnType = { "int", "String", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"};
|
||||
excel.setHeaders(headers);
|
||||
excel.setHeaderNames(headerNames);
|
||||
excel.setHeaderNames2(headerNames2);
|
||||
excel.setColumnType(columnType);
|
||||
excel.setSheetName("국제범죄검거현황");
|
||||
excel.setExcelFileName("국제범죄검거현황");
|
||||
List<ParamMap> icaList = internationalCrimeArrestService.selectInternationalCrimeArrestParamList(internationalCrimeArrest);
|
||||
excel.setList(icaList);
|
||||
|
||||
try {
|
||||
Utils.icaDownExcel(response, excel);
|
||||
} catch (IOException e) {
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestViewModal")
|
||||
public ModelAndView internationalCrimeArrestViewModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestViewModal");
|
||||
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
||||
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
mav.addObject("organConfigList", selectOrganList());
|
||||
//메뉴권한 확인
|
||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/internationalCrimeArrest").get(0).getAccessAuth());
|
||||
return mav;
|
||||
}
|
||||
|
||||
@PostMapping("/internationalCrimeArrest/saveInternationalCrimeArrest")
|
||||
public Integer saveInternationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,
|
||||
InternationalCrimeArrest internationalCrimeArrest){
|
||||
internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq());
|
||||
return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest);
|
||||
}
|
||||
|
||||
@GetMapping("/internationalCrimeArrest/ExcelDown")
|
||||
public void icaExcelDown(HttpServletResponse response, InternationalCrimeArrest internationalCrimeArrest) {
|
||||
int duplicateCount = internationalCrimeArrestService.icaDuplicateCount(internationalCrimeArrest);
|
||||
int rowCnt = internationalCrimeArrest.getRowCnt() + duplicateCount;
|
||||
internationalCrimeArrest.setRowCnt(rowCnt);
|
||||
internationalCrimeArrest.setQueryInfo();
|
||||
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
||||
internationalCrimeArrest.setPaginationInfo();
|
||||
|
||||
Excel excel = new Excel();
|
||||
String[] headers = {"ica_key", "case_num", "organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "sex", "age", "country", "crime_awareness_dt", "case_sent_dt", "process_result"};
|
||||
String[] headerNames = { "", "", "", "", "", "", "", "", "", "", "피의자 인적사항", "", "", "", "", ""};
|
||||
String[] headerNames2 = { "", "사건번호", "지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","성별","나이","국적","범죄인지","사건송치","신병처리"};
|
||||
String[] columnType = { "int", "String", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"};
|
||||
excel.setHeaders(headers);
|
||||
excel.setHeaderNames(headerNames);
|
||||
excel.setHeaderNames2(headerNames2);
|
||||
excel.setColumnType(columnType);
|
||||
excel.setSheetName("국제범죄검거현황");
|
||||
excel.setExcelFileName("국제범죄검거현황");
|
||||
List<ParamMap> icaList = internationalCrimeArrestService.selectInternationalCrimeArrestParamList(internationalCrimeArrest);
|
||||
excel.setList(icaList);
|
||||
|
||||
try {
|
||||
Utils.icaDownExcel(response, excel);
|
||||
} catch (IOException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public List<OrganConfig> selectOrganList(){
|
||||
List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG");
|
||||
List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList();
|
||||
for(CodeMgt organCode: organCdList){
|
||||
if(!organCode.getItemCd().equals("OG001")){
|
||||
boolean usedFlag = false;
|
||||
for(OrganConfig organConfig: organConfigList){
|
||||
if(organCode.getItemCd().equals(organConfig.getOrganCd())){
|
||||
usedFlag = true;
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setUseState("T");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!usedFlag){
|
||||
OrganConfig organConfig = new OrganConfig();
|
||||
organConfig.setOrganCd(organCode.getItemCd());
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setUseState("F");
|
||||
organConfigList.add(organConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
return organConfigList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class SriController {
|
|||
ModelAndView mav = new ModelAndView("sri/sriBoard");
|
||||
|
||||
if(sri.getActiveTab()==null){
|
||||
sri.setActiveTab("send");
|
||||
sri.setActiveTab("send");
|
||||
}
|
||||
mav.addObject("searchUrl", "/sri/sriBoard");
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
|
|
@ -39,15 +39,15 @@ public class SriController {
|
|||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
if(sri.getActiveTab().equals("send")){
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
}else if(sri.getActiveTab().equals("receive")){
|
||||
sri.setStatus("DST007");
|
||||
sri.setReceiveUserSeq(loginUser.getUserSeq());
|
||||
sri.setStatus("DST007");
|
||||
sri.setReceiveUserSeq(loginUser.getUserSeq());
|
||||
}else if(sri.getActiveTab().equals("all") && accessAuth.equals("ACC003")){
|
||||
sri.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
sri.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}else if(sri.getActiveTab().equals("all")){
|
||||
sri.setActiveTab("send");
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
sri.setActiveTab("send");
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
}
|
||||
if(accessAuth.equals("ACC003")){
|
||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||
|
|
@ -66,25 +66,27 @@ public class SriController {
|
|||
public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){
|
||||
ModelAndView mav = new ModelAndView("sri/sriEditModal");
|
||||
if(sri.getFaSriKey()!=null){
|
||||
sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null);
|
||||
sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null);
|
||||
}else{
|
||||
if(sri.getRefKey()!=null){
|
||||
SriReadUser readUser = new SriReadUser();
|
||||
readUser.setUserSeq(sri.getWrtUserSeq());
|
||||
readUser.setOgCd(sri.getWrtOrgan());
|
||||
readUser.setOfcCd(sri.getWrtPart());
|
||||
readUser.setTitleCd(sri.getWrtTitle());
|
||||
readUser.setUserNm(sri.getWrtUserNm());
|
||||
sri.setReadUserList(new ArrayList<>());
|
||||
sri.getReadUserList().add(readUser);
|
||||
}
|
||||
if(sri.getRefKey()!=null){
|
||||
Sri originSri = sriService.selectFaSriBoard(sri.getRefKey(), null);
|
||||
SriReadUser readUser = new SriReadUser();
|
||||
readUser.setUserSeq(originSri.getWrtUserSeq());
|
||||
readUser.setOgCd(originSri.getWrtOrgan());
|
||||
readUser.setOfcCd(originSri.getWrtPart());
|
||||
readUser.setTitleCd(originSri.getWrtTitle());
|
||||
readUser.setUserNm(originSri.getWrtUserNm());
|
||||
sri.setReadUserList(new ArrayList<>());
|
||||
sri.getReadUserList().add(readUser);
|
||||
sri.setTitle("RE: "+originSri.getTitle());
|
||||
}
|
||||
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
sri.setWrtOrgan(loginUser.getOgCd());
|
||||
sri.setWrtPart(loginUser.getOfcCd());
|
||||
sri.setWrtTitle(loginUser.getTitleCd());
|
||||
sri.setWrtUserNm(loginUser.getUserNm());
|
||||
sri.setWrtDt(LocalDateTime.now());
|
||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||
sri.setWrtOrgan(loginUser.getOgCd());
|
||||
sri.setWrtPart(loginUser.getOfcCd());
|
||||
sri.setWrtTitle(loginUser.getTitleCd());
|
||||
sri.setWrtUserNm(loginUser.getUserNm());
|
||||
sri.setWrtDt(LocalDateTime.now());
|
||||
}
|
||||
mav.addObject("SriCategoryList", codeMgtService.selectCodeMgtList("SRI"));
|
||||
mav.addObject("sri", sri);
|
||||
|
|
@ -101,9 +103,9 @@ public class SriController {
|
|||
|
||||
@PostMapping("/saveSri")
|
||||
public Integer saveFaRpt(Sri sri,
|
||||
MultipartHttpServletRequest request,
|
||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||
sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
MultipartHttpServletRequest request,
|
||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||
sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
return sriService.saveSriBoard(sri, deleteFileSeq);
|
||||
}
|
||||
|
||||
|
|
@ -120,7 +122,7 @@ public class SriController {
|
|||
|
||||
@PostMapping("/sriDelete")
|
||||
public void sriDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<Sri> sri){
|
||||
sriService.sriDelete(sri);
|
||||
sriService.sriDelete(sri);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,8 @@ public class Sri extends BaseModel {
|
|||
private List<SriReadUser> readUserList;
|
||||
@Transient
|
||||
private List<MultipartFile> multipartFileList;
|
||||
@Transient
|
||||
private Sri refSri;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ public class SriService extends BaseService {
|
|||
if(sri != null){
|
||||
sri.setFileList(sriFileRepository.findByFaSriKey(faSriKey));
|
||||
sri.setReadUserList(sriReadUserRepository.findByFaSriKey(faSriKey));
|
||||
if(sri.getRefKey()!=null){
|
||||
sri.setRefSri(sriRepository.findById(sri.getRefKey()).orElse(null));
|
||||
}
|
||||
if(sri.getStatus().equals("DST007")){
|
||||
for(SriReadUser readUser: sri.getReadUserList()){
|
||||
if(readUser.getUserSeq().equals(userSeq)){
|
||||
|
|
|
|||
|
|
@ -120,12 +120,14 @@ public class MenuMgtService {
|
|||
if(cat2Cd.contains(cat1Cd)){
|
||||
MenuMgt secondMenu = new MenuMgt();
|
||||
List<MenuMgt> thirdMenuList = new ArrayList<>();
|
||||
secondMenu.setCat1Cd(cat1Cd);
|
||||
secondMenu.setCat2Cd(cat2Cd.replace(cat1Cd, ""));
|
||||
Iterator<String> cat3Itr = cat3Set.iterator();
|
||||
while(cat3Itr.hasNext()){
|
||||
String cat3Cd = cat3Itr.next();
|
||||
if(cat3Cd.contains(cat2Cd)){
|
||||
MenuMgt thirdMenu = new MenuMgt();
|
||||
thirdMenu.setCat2Cd(secondMenu.getCat2Cd());
|
||||
thirdMenu.setCat3Cd(cat3Cd.replace(cat2Cd, ""));
|
||||
for(MenuMgt accessMenu: accessMenuList){
|
||||
if(accessMenu.getCat1Cd().equals(cat1Cd)
|
||||
|
|
|
|||
|
|
@ -28,29 +28,7 @@ public class OrganConfigController {
|
|||
|
||||
@GetMapping("/selectOrganList")
|
||||
public List<OrganConfig> selectOrganList(){
|
||||
List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG");
|
||||
List<OrganConfig> organConfigList = organConfigService.selectSavedOrganList();
|
||||
for(CodeMgt organCode: organCdList){
|
||||
if(!organCode.getItemCd().equals("OG001")){
|
||||
boolean usedFlag = false;
|
||||
for(OrganConfig organConfig: organConfigList){
|
||||
if(organCode.getItemCd().equals(organConfig.getOrganCd())){
|
||||
usedFlag = true;
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setUseState("T");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!usedFlag){
|
||||
OrganConfig organConfig = new OrganConfig();
|
||||
organConfig.setOrganCd(organCode.getItemCd());
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setUseState("F");
|
||||
organConfigList.add(organConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
return organConfigList;
|
||||
return organConfigService.selectOrganList();
|
||||
}
|
||||
|
||||
@PostMapping("/saveOrganConfig")
|
||||
|
|
|
|||
|
|
@ -28,5 +28,7 @@ public class OrganConfig {
|
|||
private String organNm;
|
||||
@Transient
|
||||
private String useState;
|
||||
@Transient
|
||||
private Integer orderNum;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,23 @@
|
|||
package com.dbnt.faisp.main.organMgt.service;
|
||||
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.organMgt.mapper.OrganConfigMapper;
|
||||
import com.dbnt.faisp.main.organMgt.model.OrganConfig;
|
||||
import com.dbnt.faisp.main.organMgt.repository.OrganConfigRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class OrganConfigService {
|
||||
private final OrganConfigRepository organConfigRepository;
|
||||
private final OrganConfigMapper organConfigMapper;
|
||||
private final CodeMgtService codeMgtService;
|
||||
|
||||
public List<OrganConfig> selectSavedOrganList() {
|
||||
return organConfigRepository.findAll();
|
||||
|
|
@ -32,4 +37,33 @@ public class OrganConfigService {
|
|||
upOrganList.add(ogCd);
|
||||
return upOrganList;
|
||||
}
|
||||
|
||||
public List<OrganConfig> selectOrganList() {
|
||||
List<CodeMgt> codeList = codeMgtService.selectCodeMgtList("OG");
|
||||
List<OrganConfig> configList = selectSavedOrganList();
|
||||
for(CodeMgt organCode: codeList){
|
||||
boolean usedFlag = false;
|
||||
for(OrganConfig organConfig: configList){
|
||||
if(organCode.getItemCd().equals(organConfig.getOrganCd())){
|
||||
usedFlag = true;
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setOrderNum(organCode.getOrderNum());
|
||||
organConfig.setUseState("T");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!usedFlag){
|
||||
OrganConfig organConfig = new OrganConfig();
|
||||
organConfig.setOrganCd(organCode.getItemCd());
|
||||
organConfig.setOrganNm(organCode.getItemValue());
|
||||
organConfig.setOrderNum(organCode.getOrderNum());
|
||||
organConfig.setUseState("F");
|
||||
configList.add(organConfig);
|
||||
}
|
||||
}
|
||||
configList = configList.stream()
|
||||
.sorted(Comparator.comparing(OrganConfig::getOrderNum, Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.collect(Collectors.toList());
|
||||
return configList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
And EXTRACT(MONTH FROM pr.wrt_dt) = #{month}::NUMERIC
|
||||
</if>
|
||||
<if test='caseNum != null and caseNum != ""'>
|
||||
AND caseNum = #{caseNum}
|
||||
AND case_num = #{caseNum}
|
||||
</if>
|
||||
<if test='nll != null and nll != ""'>
|
||||
AND nll = #{nll}
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
.mouse-hover:hover{
|
||||
.mouse-hover-clickable:hover{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,27 @@
|
|||
let files = [];
|
||||
let CrossEditor;
|
||||
$(document).ready(function (){
|
||||
const path = location.pathname;
|
||||
if(!(path.includes("/login") || path.includes("/dashboard") ||
|
||||
path.includes("/publicBoard") || path.includes("/myInfo"))){
|
||||
$.each($("#leftMenu").find("a"), function (idx, link){
|
||||
if(link.href.includes(location.pathname)){
|
||||
menuOpen($(link).attr("data-parent"))
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
})
|
||||
function menuOpen(categoryCd){
|
||||
const menu = $("[data-category='"+categoryCd+"']");
|
||||
if(menu.attr("aria-expanded")==='false'){
|
||||
menu.click();
|
||||
const parent = menu.attr("data-parent")
|
||||
if(parent){
|
||||
menuOpen(parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
function contentFade(action){
|
||||
if(action === "in"){
|
||||
$("#fadeDiv").show()
|
||||
|
|
@ -229,8 +250,10 @@ function departmentDynamicOption(targetTagName, code, defaultOptionName='') {
|
|||
$(targetTagName).empty();
|
||||
let option = '';
|
||||
organConfigList.forEach(function (organConfig) {
|
||||
if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) {
|
||||
option += '<option value="' + organConfig.organCd + '">' + organConfig.organNm + '</option>';
|
||||
if(!(organConfig.organCd === "OG027" || organConfig.organCd === "OG028")){
|
||||
if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) {
|
||||
option += '<option value="' + organConfig.organCd + '">' + organConfig.organNm + '</option>';
|
||||
}
|
||||
}
|
||||
});
|
||||
$(targetTagName).append('<option value="">' + defaultOptionName + ' 선택</option>' + option);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ $(function() {
|
|||
$(document).on('click', '#addSriBtn', function (){
|
||||
getSriEditModal({faSriKey: null})
|
||||
})
|
||||
|
||||
$(document).on('click', '#getOriginSriBtn', function (){
|
||||
getSriViewModal($(this).attr("data-fasrikey"))
|
||||
})
|
||||
function getSriEditModal(faSriKey){
|
||||
$.ajax({
|
||||
url: '/sri/sriEditModal',
|
||||
|
|
@ -70,71 +72,71 @@ $(document).on('click', '#saveSriBtn', function (){
|
|||
})
|
||||
|
||||
function saveSri(faSriState){
|
||||
if(faSriState == 'DST001'){
|
||||
if(confirm("임시저장하시겠습니까?")){
|
||||
if(faSriState === 'DST001'){
|
||||
if(confirm("임시저장하시겠습니까?")){
|
||||
save(faSriState);
|
||||
}
|
||||
|
||||
}else{
|
||||
if(contentCheck()){
|
||||
if(contentCheck()){
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
save(faSriState);
|
||||
save(faSriState);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function save(faSriState){
|
||||
$("#status").val(faSriState);
|
||||
contentFade("in");
|
||||
const formData = new FormData($("#sriEditForm")[0]);
|
||||
for(const file of files) {
|
||||
if(!file.isDelete)
|
||||
formData.append('uploadFiles', file, file.name);
|
||||
$("#status").val(faSriState);
|
||||
contentFade("in");
|
||||
const formData = new FormData($("#sriEditForm")[0]);
|
||||
for(const file of files) {
|
||||
if(!file.isDelete)
|
||||
formData.append('uploadFiles', file, file.name);
|
||||
}
|
||||
formData.append('content', CrossEditor.GetBodyValue());
|
||||
$.each($(".readUserRow"), function (idx, row){
|
||||
formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val());
|
||||
formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val());
|
||||
formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val());
|
||||
formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val());
|
||||
formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val());
|
||||
});
|
||||
$(".text-decoration-line-through").each(function (idx, el){
|
||||
formData.append('fileSeq', $(el).attr("data-fileseq"));
|
||||
})
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
data : formData,
|
||||
url : "/sri/saveSri",
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
if(faSriState == 'DST001'){
|
||||
alert("임시저장되었습니다.");
|
||||
}else{
|
||||
alert("저장되었습니다.");
|
||||
}
|
||||
formData.append('content', CrossEditor.GetBodyValue());
|
||||
$.each($(".readUserRow"), function (idx, row){
|
||||
formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val());
|
||||
formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val());
|
||||
formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val());
|
||||
formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val());
|
||||
formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val());
|
||||
});
|
||||
$(".text-decoration-line-through").each(function (idx, el){
|
||||
formData.append('fileSeq', $(el).attr("data-fileseq"));
|
||||
})
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
data : formData,
|
||||
url : "/sri/saveSri",
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
if(faSriState == 'DST001'){
|
||||
alert("임시저장되었습니다.");
|
||||
}else{
|
||||
alert("저장되었습니다.");
|
||||
}
|
||||
contentFade("out");
|
||||
$("#sriEditModal").modal('hide');
|
||||
getSriViewModal(result);
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
if(faSriState == 'DST001'){
|
||||
alert("임시저장에 실패하였습니다.")
|
||||
}else{
|
||||
alert("저장에 실패하였습니다.")
|
||||
}
|
||||
contentFade("out");
|
||||
}
|
||||
})
|
||||
contentFade("out");
|
||||
$("#sriEditModal").modal('hide');
|
||||
getSriViewModal(result);
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
if(faSriState == 'DST001'){
|
||||
alert("임시저장에 실패하였습니다.")
|
||||
}else{
|
||||
alert("저장에 실패하였습니다.")
|
||||
}
|
||||
contentFade("out");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
$(document).on('click', '.faSriTr', function (event){
|
||||
const target = event.target;
|
||||
if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){
|
||||
getSriViewModal(Number($(this).find(".faSriKey").val()));
|
||||
}
|
||||
if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){
|
||||
getSriViewModal(Number($(this).find(".faSriKey").val()));
|
||||
}
|
||||
})
|
||||
|
||||
function getSriViewModal(faSriKey){
|
||||
|
|
@ -176,12 +178,7 @@ function OnInitCompleted(e){
|
|||
$(document).on('click', '#reSendBtn', function (){
|
||||
$("#sriViewModal").modal('hide');
|
||||
const faSri = {
|
||||
refKey: Number($(this).attr("data-fasrikey")),
|
||||
wrtUserSeq: $("#wrtUserSeq").val(),
|
||||
wrtOrgan: $("#wrtOrgan").val(),
|
||||
wrtPart: $("#wrtPart").val(),
|
||||
wrtTitle: $("#wrtTitle").val(),
|
||||
wrtUserNm: $("#wrtUserNm").val()
|
||||
refKey: Number($(this).attr("data-fasrikey"))
|
||||
}
|
||||
getSriEditModal(faSri);
|
||||
})
|
||||
|
|
@ -191,48 +188,48 @@ $(document).on('click', '#saveTempBtn', function (){
|
|||
})
|
||||
|
||||
$(document).on('click', '#sriDeleteBtn', function (){
|
||||
if($('input:checkbox[name=sriChk]:checked').length < 1){
|
||||
alert("게시물을 선택해주세요");
|
||||
return false;
|
||||
}
|
||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||
const checkArr = [];
|
||||
$('input:checkbox[name=sriChk]:checked').each(function (idx, el){
|
||||
checkArr.push({});
|
||||
const target = $(el);
|
||||
checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val());
|
||||
})
|
||||
deleteSri(checkArr);
|
||||
if($('input:checkbox[name=sriChk]:checked').length < 1){
|
||||
alert("게시물을 선택해주세요");
|
||||
return false;
|
||||
}
|
||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||
const checkArr = [];
|
||||
$('input:checkbox[name=sriChk]:checked').each(function (idx, el){
|
||||
checkArr.push({});
|
||||
const target = $(el);
|
||||
checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val());
|
||||
})
|
||||
deleteSri(checkArr);
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#deleteSri', function (){
|
||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||
const checkArr = [];
|
||||
checkArr.push({});
|
||||
checkArr[0].faSriKey = Number($(this).attr("data-fasrikey"));
|
||||
deleteSri(checkArr);
|
||||
}
|
||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||
const checkArr = [];
|
||||
checkArr.push({});
|
||||
checkArr[0].faSriKey = Number($(this).attr("data-fasrikey"));
|
||||
deleteSri(checkArr);
|
||||
}
|
||||
})
|
||||
|
||||
function deleteSri(checkArr){
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "/sri/sriDelete",
|
||||
data : JSON.stringify(checkArr),
|
||||
contentType: 'application/json',
|
||||
beforeSend: function (xhr){
|
||||
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||
},
|
||||
success : function() {
|
||||
alert("삭제처리 되었습니다.");
|
||||
location.reload();
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
alert("삭제처리에 실패하였습니다");
|
||||
}
|
||||
})
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "/sri/sriDelete",
|
||||
data : JSON.stringify(checkArr),
|
||||
contentType: 'application/json',
|
||||
beforeSend: function (xhr){
|
||||
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||
},
|
||||
success : function() {
|
||||
alert("삭제처리 되었습니다.");
|
||||
location.reload();
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
alert("삭제처리에 실패하였습니다");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
$(function(){
|
||||
|
|
@ -259,19 +256,23 @@ function setReadUserRowNum(){
|
|||
}
|
||||
|
||||
function contentCheck(){
|
||||
let flag = true;
|
||||
if(!$("#faSriType").val()){
|
||||
alert("분류를 선택해주세요.")
|
||||
flag = false;
|
||||
if(!$("#refKey").val()){
|
||||
if(!$("#faSriType").val()){
|
||||
alert("분류를 선택해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#faSriEdate").val()){
|
||||
alert("제출기한을 선택해주세요.")
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(!$("#title").val()){
|
||||
alert("제목을 입력해주세요.")
|
||||
flag = false;
|
||||
return false;
|
||||
}
|
||||
if($("#readUserRow").children().length===0){
|
||||
alert("수신자를 입력해주세요.")
|
||||
flag = false;
|
||||
return false;
|
||||
}
|
||||
flag = fileCheck(flag, files);
|
||||
return flag;
|
||||
return fileCheck(true, files);
|
||||
}
|
||||
|
|
@ -8,9 +8,9 @@
|
|||
<th>대분류</th>
|
||||
<th>중분류</th>
|
||||
<th>소분류</th>
|
||||
<th class="selectTh" data-type="access">해제</th>
|
||||
<th class="selectTh mouse-hover-clickable" data-type="access">해제</th>
|
||||
<th:block th:each="code:${session.commonCode.get('ACC')}">
|
||||
<th class="selectTh mouse-hover" data-type="access" th:data-target="${code.itemCd}" th:text="${code.itemValue}"></th>
|
||||
<th class="selectTh mouse-hover-clickable" data-type="access" th:data-target="${code.itemCd}" th:text="${code.itemValue}"></th>
|
||||
</th:block>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -54,9 +54,9 @@
|
|||
<th>대분류</th>
|
||||
<th>중분류</th>
|
||||
<th>소분류</th>
|
||||
<th class="selectTh" data-type="approval">해제</th>
|
||||
<th class="selectTh mouse-hover-clickable" data-type="approval">해제</th>
|
||||
<th:block th:each="code:${session.commonCode.get('APC')}">
|
||||
<th class="selectTh mouse-hover" data-type="approval" th:data-target="${code.itemCd}" th:text="${code.itemValue}"></th>
|
||||
<th class="selectTh mouse-hover-clickable" data-type="approval" th:data-target="${code.itemCd}" th:text="${code.itemValue}"></th>
|
||||
</th:block>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<input type="text" class="form-control form-control-sm" name="caseNum" placeholder="사건번호" th:value="${searchParams.caseNum}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="submit" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
<input type="button" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
<input type="text" class="form-control form-control-sm" name="menuUrl" placeholder="url" th:value="${searchParams.menuUrl}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="submit" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
<input type="button" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
<input type="text" class="form-control form-control-sm" name="userId" placeholder="사용자 아이디" th:value="${searchParams.userId}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="submit" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
<input type="button" class="btn btn-sm btn-primary" id="searchModalBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,19 +14,13 @@
|
|||
<input type="hidden" name="wrtNm" th:value="${internationalCrimeArrest.wrtNm}">
|
||||
<input type="hidden" name="wrtDt" th:value="${#temporals.format(internationalCrimeArrest.wrtDt, 'yyyy-MM-dd HH:mm')}">
|
||||
<input type="hidden" id="contentStatus" name="contentStatus">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건번호</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm" name="caseNum" th:value="${internationalCrimeArrest.caseNum}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">지방청</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" name="organ">
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="organConfig:${organConfigList}">
|
||||
<th:block th:if="${organConfig.parentOrgan eq 'OG001' && organConfig.organType ne 'OGC001'}">
|
||||
<th:block th:if="${organConfig.parentOrgan eq 'OG001' or organConfig.organCd eq 'OG001'}">
|
||||
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq internationalCrimeArrest.organ}"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="pt-3" th:fragment="leftMenuFragment">
|
||||
<div class="flex-shrink-0 py-3 bg-transparent">
|
||||
<div class="flex-shrink-0 py-3 bg-transparent" id="leftMenu">
|
||||
<ul class="list-unstyled ps-0">
|
||||
<li class="mb-1" th:each="firstMenu:${session.menuList}">
|
||||
<th:block th:each="cat1Code:${session.commonCode.get('CAT1')}">
|
||||
<th:block th:if="${cat1Code.itemCd eq firstMenu.cat1Cd}">
|
||||
<button class="btn btn-toggle align-items-center rounded collapsed leftMenuItem text-light"
|
||||
data-bs-toggle="collapse" aria-expanded="false"
|
||||
th:data-bs-target="'#collapse'+${cat1Code.itemCd}" th:text="${cat1Code.itemValue}">
|
||||
data-bs-toggle="collapse" aria-expanded="false" th:data-category="${cat1Code.itemCd}"
|
||||
th:data-bs-target="'#collapse'+${cat1Code.itemCd}" th:text="${cat1Code.itemValue}">
|
||||
</button>
|
||||
<div class="collapse ps-3" th:id="|collapse${cat1Code.itemCd}|">
|
||||
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
||||
|
|
@ -19,13 +19,13 @@
|
|||
<li class="mb-1">
|
||||
<th:block th:unless="${#lists.isEmpty(secondMenu.childList)}">
|
||||
<button class="btn btn-toggle align-items-center rounded collapsed leftMenuItem text-light"
|
||||
data-bs-toggle="collapse" aria-expanded="false" th:onclick="location.href='#'"
|
||||
data-bs-toggle="collapse" aria-expanded="false" th:data-parent="${cat1Code.itemCd}" th:data-category="${cat2Code.itemCd}"
|
||||
th:data-bs-target="'#collapse'+${cat2Code.itemCd}" th:text="${cat2Code.itemValue}">
|
||||
</button>
|
||||
</th:block>
|
||||
<th:block th:if="${#lists.isEmpty(secondMenu.childList)}">
|
||||
<a th:href="@{${secondMenu.menuUrl}}" class="bi bi-dash link-light rounded ps-3 text-decoration-none"
|
||||
th:text="${cat2Code.itemValue}"></a>
|
||||
th:data-parent="${cat1Code.itemCd}" th:data-category="${cat2Code.itemCd}" th:text="${cat2Code.itemValue}"></a>
|
||||
</th:block>
|
||||
<div class="collapse ps-3" th:id="|collapse${cat2Code.itemCd}|">
|
||||
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<ul class="list-unstyled ps-0">
|
||||
<li>
|
||||
<a th:href="@{${thirdMenu.menuUrl}}" class="bi bi-dash link-light rounded ps-3 text-decoration-none"
|
||||
th:text="${cat3Code.itemValue}"></a>
|
||||
th:data-parent="${cat2Code.itemCd}" th:data-category="${cat3Code.itemCd}" th:text="${cat3Code.itemValue}"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</th:block>
|
||||
|
|
|
|||
|
|
@ -99,14 +99,7 @@
|
|||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="11">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-sm btn-primary careerAddBtn" th:data-careercd="${code.itemCd}">추가</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-sm btn-success kwmsCareerBtn" th:classappend="${#strings.isEmpty(userInfo.dicCode)?'disabled':''}">인사시스템 경력정보</button>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-sm btn-primary careerAddBtn" th:data-careercd="${code.itemCd}">추가</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
|
|
|||
|
|
@ -6,44 +6,14 @@
|
|||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="mb-3 mt-3 row">
|
||||
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center">직급</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${userInfo.titleCd}" readonly>
|
||||
</div>
|
||||
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">생년월일</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${userInfo.birthDate}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="phoneNo" class="col-sm-2 col-form-label col-form-label-sm text-center">성명</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="tel" class="form-control form-control-sm" th:value="|${userInfo.ogCd} ${userInfo.ofcCd} ${userInfo.userNm}|" readonly>
|
||||
</div>
|
||||
<label for="email" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="email" class="form-control form-control-sm" th:value="${userInfo.sex}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">학력사항</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="email" class="form-control form-control-sm" readonly>
|
||||
</div>
|
||||
<label for="sex" class="col-sm-1 col-form-label col-form-label-sm text-center">학교</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="email" class="form-control form-control-sm" readonly>
|
||||
</div>
|
||||
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="email" class="form-control form-control-sm" th:value="${userInfo.languageCd}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">전공</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" readonly>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">관서</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.ogCd}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">부서</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.ofcCd}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">직급</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.titleCd}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">이름</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.userNm}"></label>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body text-center">
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<input type="hidden" name="wrtUserSeq" th:value="${sri.wrtUserSeq}">
|
||||
<input type="hidden" name="wrtTitle" th:value="${sri.wrtTitle}">
|
||||
<input type="hidden" name="status" id="status" th:value="${sri.status}">
|
||||
<input type="hidden" name="refKey" th:value="${sri.refKey}">
|
||||
<input type="hidden" name="refKey" id="refKey" th:value="${sri.refKey}">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="row mb-1">
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
</div>
|
||||
<th:block th:if="${sri.refKey eq null}">
|
||||
<div class="row mb-1">
|
||||
<label for="faRptType" class="col-sm-2 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<label for="faSriType" class="col-sm-2 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-select form-select-sm" id="faSriType" name="faSriType">
|
||||
<option value="">선택해주세요.</option>
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<label for="faRptType" class="col-sm-2 col-form-label col-form-label-sm text-center">제출기한</label>
|
||||
<label for="faSriEdate" class="col-sm-2 col-form-label col-form-label-sm text-center">제출기한</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control form-control-sm" id="faSriEdate" name="faSriEdate" th:value="${sri.faSriEdate}" readonly>
|
||||
</div>
|
||||
|
|
@ -47,12 +47,7 @@
|
|||
<div class="row mb-1">
|
||||
<label for="title" class="col-sm-2 col-form-label col-form-label-sm text-center">제목</label>
|
||||
<div class="col-sm-10">
|
||||
<th:block th:if="${sri.refKey eq null}">
|
||||
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="${sri.title}">
|
||||
</th:block>
|
||||
<th:block th:unless="${sri.refKey eq null}">
|
||||
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="[회신]">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1 justify-content-center">
|
||||
|
|
@ -85,7 +80,11 @@
|
|||
<div class="col-12 pb-2">
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto">■ 수신자</div>
|
||||
<div class="col-auto"><button type="button" class="btn btn-sm btn-info" id="addReadUserBtn">추가</button></div>
|
||||
<div class="col-auto">
|
||||
<th:block th:if="${sri.refKey eq null}">
|
||||
<button type="button" class="btn btn-sm btn-info" id="addReadUserBtn">추가</button>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1">no</div>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<div class="tab-content bg-white border border-top-0 p-2">
|
||||
<div class="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
|
||||
<div class="row mb-1" th:if="${faSri.status eq 'DST001'}">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">상태</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${code.itemCd eq faSri.status}" th:text="${code.itemValue}"></th:block>
|
||||
|
|
@ -28,32 +28,46 @@
|
|||
</label>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<th:block th:if="${faSri.refKey eq null}">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">분류</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:each="code:${session.commonCode.get('SRI')}">
|
||||
<th:block th:if="${code.itemCd eq faSri.faSriType}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">제출기한</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">제출기한</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start" th:text="${faSri.faSriEdate}"></label>
|
||||
<div class="col-sm-5"></div>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일시</label>
|
||||
</th:block>
|
||||
<th:block th:if="${faSri.refKey ne null}">
|
||||
<div class="col-sm-9"></div>
|
||||
</th:block>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">작성일시</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(faSri.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">제목</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">제목</label>
|
||||
<label class="col-sm-8 col-form-label col-form-label-sm text-start" th:text="${faSri.title}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||
|
||||
<th:block th:text="${faSri.wrtUserNm}"></th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${faSri.wrtUserNm}"></label>
|
||||
</div>
|
||||
<hr class="my-1">
|
||||
<div class="row mb-1 justify-content-center">
|
||||
<label for="content" class="col-sm-1 col-form-label col-form-label-sm text-center">내용</label>
|
||||
<label for="content" class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">내용</label>
|
||||
<div class="col-sm-11 form-control-sm" id="content" th:utext="${faSri.content}"></div>
|
||||
</div>
|
||||
<th:block th:if="${faSri.refKey ne null}">
|
||||
<hr class="my-1">
|
||||
<div class="row mb-1">
|
||||
<label for="content" class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">하달 SRI</label>
|
||||
<label class="col-sm-8 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:text="${faSri.refSri.title}"></th:block>
|
||||
<i class="bi bi-arrow-right-square-fill text-info mouse-hover-clickable" id="getOriginSriBtn" th:data-fasrikey="${faSri.refKey}"></i>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${faSri.refSri.wrtUserNm}"></label>
|
||||
</div>
|
||||
</th:block>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="readUserTabPanel" role="tabpanel" tabindex="0">
|
||||
<div class="row">
|
||||
|
|
@ -128,7 +142,7 @@
|
|||
<th:block th:each="readUser:${faSri.readUserList}">
|
||||
<th:block th:if="${userSeq eq readUser.userSeq}">
|
||||
<th:block th:unless="${faSri.faSriEdate eq null}">
|
||||
<button type="button" class="btn btn-success" id="reSendBtn" th:if="${faSri.faSriEdate} >= ${#temporals.createToday()}" th:data-fasrikey="${faSri.faSriKey}">회신</button>
|
||||
<button type="button" class="btn btn-success" id="reSendBtn" th:if="${faSri.faSriEdate} >= ${#temporals.createToday()}" th:data-fasrikey="${faSri.faSriKey}">응신</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
|
|
|
|||
Loading…
Reference in New Issue