수정요청사항 작업중.
parent
bdc9bd7a9a
commit
c38e6e64df
|
|
@ -27,125 +27,99 @@ import java.util.List;
|
||||||
@RequestMapping("/faStatistics")
|
@RequestMapping("/faStatistics")
|
||||||
public class InternationalCrimeArrestController {
|
public class InternationalCrimeArrestController {
|
||||||
|
|
||||||
private final AuthMgtService authMgtService;
|
private final AuthMgtService authMgtService;
|
||||||
private final InternationalCrimeArrestService internationalCrimeArrestService;
|
private final InternationalCrimeArrestService internationalCrimeArrestService;
|
||||||
private final CodeMgtService codeMgtService;
|
private final CodeMgtService codeMgtService;
|
||||||
private final OrganConfigService organConfigService;
|
private final OrganConfigService organConfigService;
|
||||||
private final SuspectPersonInfoRepository suspectPersonInfoRepository;
|
private final SuspectPersonInfoRepository suspectPersonInfoRepository;
|
||||||
|
|
||||||
@GetMapping("/internationalCrimeArrest")
|
@GetMapping("/internationalCrimeArrest")
|
||||||
public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) {
|
public ModelAndView internationalCrimeArrest(@AuthenticationPrincipal UserInfo loginUser,InternationalCrimeArrest internationalCrimeArrest) {
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/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("accessAuth", accessAuth);
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||||
|
|
||||||
internationalCrimeArrest.setQueryInfo();
|
internationalCrimeArrest.setQueryInfo();
|
||||||
List<InternationalCrimeArrest> internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest);
|
List<InternationalCrimeArrest> internationalCrimeArrestList = internationalCrimeArrestService.selectInternationalCrimeArrestList(internationalCrimeArrest);
|
||||||
|
|
||||||
for (InternationalCrimeArrest ica:internationalCrimeArrestList) {
|
for (InternationalCrimeArrest ica:internationalCrimeArrestList) {
|
||||||
ica.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(ica.getIcaKey()));
|
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal")
|
mav.addObject("internationalCrimeArrestList", internationalCrimeArrestList);
|
||||||
public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
internationalCrimeArrest.setContentCnt(internationalCrimeArrestService.selectInternationalCrimeArrestListCnt(internationalCrimeArrest));
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal");
|
internationalCrimeArrest.setPaginationInfo();
|
||||||
if(internationalCrimeArrest.getIcaKey()!=null){
|
mav.addObject("organConfigList", organConfigService.selectOrganList());
|
||||||
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
mav.addObject("searchParams", internationalCrimeArrest);
|
||||||
}else{
|
return mav;
|
||||||
internationalCrimeArrest.setWrtOrgan(loginUser.getOgCd());
|
}
|
||||||
internationalCrimeArrest.setWrtNm(loginUser.getUserNm());
|
|
||||||
internationalCrimeArrest.setWrtDt(LocalDateTime.now());
|
@GetMapping("/internationalCrimeArrest/internationalCrimeArrestEditModal")
|
||||||
internationalCrimeArrest.setSuspectPersonInfoList(suspectPersonInfoRepository.findByIcaKey(internationalCrimeArrest.getIcaKey()));
|
public ModelAndView internationalCrimeArrestEditModal(@AuthenticationPrincipal UserInfo loginUser, InternationalCrimeArrest internationalCrimeArrest){
|
||||||
}
|
ModelAndView mav = new ModelAndView("faStatistics/internationalCrimeArrest/internationalCrimeArrestEditModal");
|
||||||
mav.addObject("organConfigList", selectOrganList());
|
if(internationalCrimeArrest.getIcaKey()!=null){
|
||||||
mav.addObject("internationalCrimeArrest", internationalCrimeArrest);
|
internationalCrimeArrest = internationalCrimeArrestService.selectInternationalCrimeArrest(internationalCrimeArrest.getIcaKey());
|
||||||
return mav;
|
}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");
|
ModelAndView mav = new ModelAndView("sri/sriBoard");
|
||||||
|
|
||||||
if(sri.getActiveTab()==null){
|
if(sri.getActiveTab()==null){
|
||||||
sri.setActiveTab("send");
|
sri.setActiveTab("send");
|
||||||
}
|
}
|
||||||
mav.addObject("searchUrl", "/sri/sriBoard");
|
mav.addObject("searchUrl", "/sri/sriBoard");
|
||||||
String accessAuth = authMgtService.selectAccessConfigList
|
String accessAuth = authMgtService.selectAccessConfigList
|
||||||
|
|
@ -39,15 +39,15 @@ public class SriController {
|
||||||
mav.addObject("accessAuth", accessAuth);
|
mav.addObject("accessAuth", accessAuth);
|
||||||
|
|
||||||
if(sri.getActiveTab().equals("send")){
|
if(sri.getActiveTab().equals("send")){
|
||||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
}else if(sri.getActiveTab().equals("receive")){
|
}else if(sri.getActiveTab().equals("receive")){
|
||||||
sri.setStatus("DST007");
|
sri.setStatus("DST007");
|
||||||
sri.setReceiveUserSeq(loginUser.getUserSeq());
|
sri.setReceiveUserSeq(loginUser.getUserSeq());
|
||||||
}else if(sri.getActiveTab().equals("all") && accessAuth.equals("ACC003")){
|
}else if(sri.getActiveTab().equals("all") && accessAuth.equals("ACC003")){
|
||||||
sri.setDownOrganCdList(loginUser.getDownOrganCdList());
|
sri.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||||
}else if(sri.getActiveTab().equals("all")){
|
}else if(sri.getActiveTab().equals("all")){
|
||||||
sri.setActiveTab("send");
|
sri.setActiveTab("send");
|
||||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
}
|
}
|
||||||
if(accessAuth.equals("ACC003")){
|
if(accessAuth.equals("ACC003")){
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||||
|
|
@ -66,25 +66,27 @@ public class SriController {
|
||||||
public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){
|
public ModelAndView faRptEditModal(@AuthenticationPrincipal UserInfo loginUser, Sri sri){
|
||||||
ModelAndView mav = new ModelAndView("sri/sriEditModal");
|
ModelAndView mav = new ModelAndView("sri/sriEditModal");
|
||||||
if(sri.getFaSriKey()!=null){
|
if(sri.getFaSriKey()!=null){
|
||||||
sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null);
|
sri = sriService.selectFaSriBoard(sri.getFaSriKey(), null);
|
||||||
}else{
|
}else{
|
||||||
if(sri.getRefKey()!=null){
|
if(sri.getRefKey()!=null){
|
||||||
SriReadUser readUser = new SriReadUser();
|
Sri originSri = sriService.selectFaSriBoard(sri.getRefKey(), null);
|
||||||
readUser.setUserSeq(sri.getWrtUserSeq());
|
SriReadUser readUser = new SriReadUser();
|
||||||
readUser.setOgCd(sri.getWrtOrgan());
|
readUser.setUserSeq(originSri.getWrtUserSeq());
|
||||||
readUser.setOfcCd(sri.getWrtPart());
|
readUser.setOgCd(originSri.getWrtOrgan());
|
||||||
readUser.setTitleCd(sri.getWrtTitle());
|
readUser.setOfcCd(originSri.getWrtPart());
|
||||||
readUser.setUserNm(sri.getWrtUserNm());
|
readUser.setTitleCd(originSri.getWrtTitle());
|
||||||
sri.setReadUserList(new ArrayList<>());
|
readUser.setUserNm(originSri.getWrtUserNm());
|
||||||
sri.getReadUserList().add(readUser);
|
sri.setReadUserList(new ArrayList<>());
|
||||||
}
|
sri.getReadUserList().add(readUser);
|
||||||
|
sri.setTitle("RE: "+originSri.getTitle());
|
||||||
|
}
|
||||||
|
|
||||||
sri.setWrtUserSeq(loginUser.getUserSeq());
|
sri.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
sri.setWrtOrgan(loginUser.getOgCd());
|
sri.setWrtOrgan(loginUser.getOgCd());
|
||||||
sri.setWrtPart(loginUser.getOfcCd());
|
sri.setWrtPart(loginUser.getOfcCd());
|
||||||
sri.setWrtTitle(loginUser.getTitleCd());
|
sri.setWrtTitle(loginUser.getTitleCd());
|
||||||
sri.setWrtUserNm(loginUser.getUserNm());
|
sri.setWrtUserNm(loginUser.getUserNm());
|
||||||
sri.setWrtDt(LocalDateTime.now());
|
sri.setWrtDt(LocalDateTime.now());
|
||||||
}
|
}
|
||||||
mav.addObject("SriCategoryList", codeMgtService.selectCodeMgtList("SRI"));
|
mav.addObject("SriCategoryList", codeMgtService.selectCodeMgtList("SRI"));
|
||||||
mav.addObject("sri", sri);
|
mav.addObject("sri", sri);
|
||||||
|
|
@ -101,9 +103,9 @@ public class SriController {
|
||||||
|
|
||||||
@PostMapping("/saveSri")
|
@PostMapping("/saveSri")
|
||||||
public Integer saveFaRpt(Sri sri,
|
public Integer saveFaRpt(Sri sri,
|
||||||
MultipartHttpServletRequest request,
|
MultipartHttpServletRequest request,
|
||||||
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
@RequestParam(value = "fileSeq", required = false) List<Integer> deleteFileSeq){
|
||||||
sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
sri.setMultipartFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||||
return sriService.saveSriBoard(sri, deleteFileSeq);
|
return sriService.saveSriBoard(sri, deleteFileSeq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -120,7 +122,7 @@ public class SriController {
|
||||||
|
|
||||||
@PostMapping("/sriDelete")
|
@PostMapping("/sriDelete")
|
||||||
public void sriDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<Sri> sri){
|
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;
|
private List<SriReadUser> readUserList;
|
||||||
@Transient
|
@Transient
|
||||||
private List<MultipartFile> multipartFileList;
|
private List<MultipartFile> multipartFileList;
|
||||||
|
@Transient
|
||||||
|
private Sri refSri;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,9 @@ public class SriService extends BaseService {
|
||||||
if(sri != null){
|
if(sri != null){
|
||||||
sri.setFileList(sriFileRepository.findByFaSriKey(faSriKey));
|
sri.setFileList(sriFileRepository.findByFaSriKey(faSriKey));
|
||||||
sri.setReadUserList(sriReadUserRepository.findByFaSriKey(faSriKey));
|
sri.setReadUserList(sriReadUserRepository.findByFaSriKey(faSriKey));
|
||||||
|
if(sri.getRefKey()!=null){
|
||||||
|
sri.setRefSri(sriRepository.findById(sri.getRefKey()).orElse(null));
|
||||||
|
}
|
||||||
if(sri.getStatus().equals("DST007")){
|
if(sri.getStatus().equals("DST007")){
|
||||||
for(SriReadUser readUser: sri.getReadUserList()){
|
for(SriReadUser readUser: sri.getReadUserList()){
|
||||||
if(readUser.getUserSeq().equals(userSeq)){
|
if(readUser.getUserSeq().equals(userSeq)){
|
||||||
|
|
|
||||||
|
|
@ -120,12 +120,14 @@ public class MenuMgtService {
|
||||||
if(cat2Cd.contains(cat1Cd)){
|
if(cat2Cd.contains(cat1Cd)){
|
||||||
MenuMgt secondMenu = new MenuMgt();
|
MenuMgt secondMenu = new MenuMgt();
|
||||||
List<MenuMgt> thirdMenuList = new ArrayList<>();
|
List<MenuMgt> thirdMenuList = new ArrayList<>();
|
||||||
|
secondMenu.setCat1Cd(cat1Cd);
|
||||||
secondMenu.setCat2Cd(cat2Cd.replace(cat1Cd, ""));
|
secondMenu.setCat2Cd(cat2Cd.replace(cat1Cd, ""));
|
||||||
Iterator<String> cat3Itr = cat3Set.iterator();
|
Iterator<String> cat3Itr = cat3Set.iterator();
|
||||||
while(cat3Itr.hasNext()){
|
while(cat3Itr.hasNext()){
|
||||||
String cat3Cd = cat3Itr.next();
|
String cat3Cd = cat3Itr.next();
|
||||||
if(cat3Cd.contains(cat2Cd)){
|
if(cat3Cd.contains(cat2Cd)){
|
||||||
MenuMgt thirdMenu = new MenuMgt();
|
MenuMgt thirdMenu = new MenuMgt();
|
||||||
|
thirdMenu.setCat2Cd(secondMenu.getCat2Cd());
|
||||||
thirdMenu.setCat3Cd(cat3Cd.replace(cat2Cd, ""));
|
thirdMenu.setCat3Cd(cat3Cd.replace(cat2Cd, ""));
|
||||||
for(MenuMgt accessMenu: accessMenuList){
|
for(MenuMgt accessMenu: accessMenuList){
|
||||||
if(accessMenu.getCat1Cd().equals(cat1Cd)
|
if(accessMenu.getCat1Cd().equals(cat1Cd)
|
||||||
|
|
|
||||||
|
|
@ -28,29 +28,7 @@ public class OrganConfigController {
|
||||||
|
|
||||||
@GetMapping("/selectOrganList")
|
@GetMapping("/selectOrganList")
|
||||||
public List<OrganConfig> selectOrganList(){
|
public List<OrganConfig> selectOrganList(){
|
||||||
List<CodeMgt> organCdList = codeMgtService.selectCodeMgtList("OG");
|
return organConfigService.selectOrganList();
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/saveOrganConfig")
|
@PostMapping("/saveOrganConfig")
|
||||||
|
|
|
||||||
|
|
@ -28,5 +28,7 @@ public class OrganConfig {
|
||||||
private String organNm;
|
private String organNm;
|
||||||
@Transient
|
@Transient
|
||||||
private String useState;
|
private String useState;
|
||||||
|
@Transient
|
||||||
|
private Integer orderNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,23 @@
|
||||||
package com.dbnt.faisp.main.organMgt.service;
|
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.mapper.OrganConfigMapper;
|
||||||
import com.dbnt.faisp.main.organMgt.model.OrganConfig;
|
import com.dbnt.faisp.main.organMgt.model.OrganConfig;
|
||||||
import com.dbnt.faisp.main.organMgt.repository.OrganConfigRepository;
|
import com.dbnt.faisp.main.organMgt.repository.OrganConfigRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class OrganConfigService {
|
public class OrganConfigService {
|
||||||
private final OrganConfigRepository organConfigRepository;
|
private final OrganConfigRepository organConfigRepository;
|
||||||
private final OrganConfigMapper organConfigMapper;
|
private final OrganConfigMapper organConfigMapper;
|
||||||
|
private final CodeMgtService codeMgtService;
|
||||||
|
|
||||||
public List<OrganConfig> selectSavedOrganList() {
|
public List<OrganConfig> selectSavedOrganList() {
|
||||||
return organConfigRepository.findAll();
|
return organConfigRepository.findAll();
|
||||||
|
|
@ -32,4 +37,33 @@ public class OrganConfigService {
|
||||||
upOrganList.add(ogCd);
|
upOrganList.add(ogCd);
|
||||||
return upOrganList;
|
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
|
And EXTRACT(MONTH FROM pr.wrt_dt) = #{month}::NUMERIC
|
||||||
</if>
|
</if>
|
||||||
<if test='caseNum != null and caseNum != ""'>
|
<if test='caseNum != null and caseNum != ""'>
|
||||||
AND caseNum = #{caseNum}
|
AND case_num = #{caseNum}
|
||||||
</if>
|
</if>
|
||||||
<if test='nll != null and nll != ""'>
|
<if test='nll != null and nll != ""'>
|
||||||
AND nll = #{nll}
|
AND nll = #{nll}
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.mouse-hover:hover{
|
.mouse-hover-clickable:hover{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,27 @@
|
||||||
let files = [];
|
let files = [];
|
||||||
let CrossEditor;
|
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){
|
function contentFade(action){
|
||||||
if(action === "in"){
|
if(action === "in"){
|
||||||
$("#fadeDiv").show()
|
$("#fadeDiv").show()
|
||||||
|
|
@ -229,8 +250,10 @@ function departmentDynamicOption(targetTagName, code, defaultOptionName='') {
|
||||||
$(targetTagName).empty();
|
$(targetTagName).empty();
|
||||||
let option = '';
|
let option = '';
|
||||||
organConfigList.forEach(function (organConfig) {
|
organConfigList.forEach(function (organConfig) {
|
||||||
if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) {
|
if(!(organConfig.organCd === "OG027" || organConfig.organCd === "OG028")){
|
||||||
option += '<option value="' + organConfig.organCd + '">' + organConfig.organNm + '</option>';
|
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);
|
$(targetTagName).append('<option value="">' + defaultOptionName + ' 선택</option>' + option);
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@ $(function() {
|
||||||
$(document).on('click', '#addSriBtn', function (){
|
$(document).on('click', '#addSriBtn', function (){
|
||||||
getSriEditModal({faSriKey: null})
|
getSriEditModal({faSriKey: null})
|
||||||
})
|
})
|
||||||
|
$(document).on('click', '#getOriginSriBtn', function (){
|
||||||
|
getSriViewModal($(this).attr("data-fasrikey"))
|
||||||
|
})
|
||||||
function getSriEditModal(faSriKey){
|
function getSriEditModal(faSriKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/sri/sriEditModal',
|
url: '/sri/sriEditModal',
|
||||||
|
|
@ -70,71 +72,71 @@ $(document).on('click', '#saveSriBtn', function (){
|
||||||
})
|
})
|
||||||
|
|
||||||
function saveSri(faSriState){
|
function saveSri(faSriState){
|
||||||
if(faSriState == 'DST001'){
|
if(faSriState === 'DST001'){
|
||||||
if(confirm("임시저장하시겠습니까?")){
|
if(confirm("임시저장하시겠습니까?")){
|
||||||
save(faSriState);
|
save(faSriState);
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(contentCheck()){
|
if(contentCheck()){
|
||||||
if(confirm("저장하시겠습니까?")){
|
if(confirm("저장하시겠습니까?")){
|
||||||
save(faSriState);
|
save(faSriState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function save(faSriState){
|
function save(faSriState){
|
||||||
$("#status").val(faSriState);
|
$("#status").val(faSriState);
|
||||||
contentFade("in");
|
contentFade("in");
|
||||||
const formData = new FormData($("#sriEditForm")[0]);
|
const formData = new FormData($("#sriEditForm")[0]);
|
||||||
for(const file of files) {
|
for(const file of files) {
|
||||||
if(!file.isDelete)
|
if(!file.isDelete)
|
||||||
formData.append('uploadFiles', file, file.name);
|
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());
|
contentFade("out");
|
||||||
$.each($(".readUserRow"), function (idx, row){
|
$("#sriEditModal").modal('hide');
|
||||||
formData.append('readUserList['+idx+'].userSeq', $(row).find('.userSeq').val());
|
getSriViewModal(result);
|
||||||
formData.append('readUserList['+idx+'].ogCd', $(row).find('.ogCd').val());
|
},
|
||||||
formData.append('readUserList['+idx+'].ofcCd', $(row).find('.ofcCd').val());
|
error : function(xhr, status) {
|
||||||
formData.append('readUserList['+idx+'].titleCd', $(row).find('.titleCd').val());
|
if(faSriState == 'DST001'){
|
||||||
formData.append('readUserList['+idx+'].userNm', $(row).find('.userNm').val());
|
alert("임시저장에 실패하였습니다.")
|
||||||
});
|
}else{
|
||||||
$(".text-decoration-line-through").each(function (idx, el){
|
alert("저장에 실패하였습니다.")
|
||||||
formData.append('fileSeq', $(el).attr("data-fileseq"));
|
}
|
||||||
})
|
contentFade("out");
|
||||||
$.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");
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '.faSriTr', function (event){
|
$(document).on('click', '.faSriTr', function (event){
|
||||||
const target = event.target;
|
const target = event.target;
|
||||||
if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){
|
if(!(target.className === "sriChk" ||$(target).parents("td").length>0)){
|
||||||
getSriViewModal(Number($(this).find(".faSriKey").val()));
|
getSriViewModal(Number($(this).find(".faSriKey").val()));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function getSriViewModal(faSriKey){
|
function getSriViewModal(faSriKey){
|
||||||
|
|
@ -176,12 +178,7 @@ function OnInitCompleted(e){
|
||||||
$(document).on('click', '#reSendBtn', function (){
|
$(document).on('click', '#reSendBtn', function (){
|
||||||
$("#sriViewModal").modal('hide');
|
$("#sriViewModal").modal('hide');
|
||||||
const faSri = {
|
const faSri = {
|
||||||
refKey: Number($(this).attr("data-fasrikey")),
|
refKey: Number($(this).attr("data-fasrikey"))
|
||||||
wrtUserSeq: $("#wrtUserSeq").val(),
|
|
||||||
wrtOrgan: $("#wrtOrgan").val(),
|
|
||||||
wrtPart: $("#wrtPart").val(),
|
|
||||||
wrtTitle: $("#wrtTitle").val(),
|
|
||||||
wrtUserNm: $("#wrtUserNm").val()
|
|
||||||
}
|
}
|
||||||
getSriEditModal(faSri);
|
getSriEditModal(faSri);
|
||||||
})
|
})
|
||||||
|
|
@ -191,48 +188,48 @@ $(document).on('click', '#saveTempBtn', function (){
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#sriDeleteBtn', function (){
|
$(document).on('click', '#sriDeleteBtn', function (){
|
||||||
if($('input:checkbox[name=sriChk]:checked').length < 1){
|
if($('input:checkbox[name=sriChk]:checked').length < 1){
|
||||||
alert("게시물을 선택해주세요");
|
alert("게시물을 선택해주세요");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||||
const checkArr = [];
|
const checkArr = [];
|
||||||
$('input:checkbox[name=sriChk]:checked').each(function (idx, el){
|
$('input:checkbox[name=sriChk]:checked').each(function (idx, el){
|
||||||
checkArr.push({});
|
checkArr.push({});
|
||||||
const target = $(el);
|
const target = $(el);
|
||||||
checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val());
|
checkArr[idx].faSriKey = Number(target.parents('tr').find('.faSriKey').val());
|
||||||
})
|
})
|
||||||
deleteSri(checkArr);
|
deleteSri(checkArr);
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#deleteSri', function (){
|
$(document).on('click', '#deleteSri', function (){
|
||||||
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
if(confirm("삭제시 되돌릴 수 없습니다. 대상을 삭제처리 하시겠습니까?")){
|
||||||
const checkArr = [];
|
const checkArr = [];
|
||||||
checkArr.push({});
|
checkArr.push({});
|
||||||
checkArr[0].faSriKey = Number($(this).attr("data-fasrikey"));
|
checkArr[0].faSriKey = Number($(this).attr("data-fasrikey"));
|
||||||
deleteSri(checkArr);
|
deleteSri(checkArr);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function deleteSri(checkArr){
|
function deleteSri(checkArr){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
url : "/sri/sriDelete",
|
url : "/sri/sriDelete",
|
||||||
data : JSON.stringify(checkArr),
|
data : JSON.stringify(checkArr),
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
beforeSend: function (xhr){
|
beforeSend: function (xhr){
|
||||||
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||||
},
|
},
|
||||||
success : function() {
|
success : function() {
|
||||||
alert("삭제처리 되었습니다.");
|
alert("삭제처리 되었습니다.");
|
||||||
location.reload();
|
location.reload();
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
alert("삭제처리에 실패하였습니다");
|
alert("삭제처리에 실패하였습니다");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
@ -259,19 +256,23 @@ function setReadUserRowNum(){
|
||||||
}
|
}
|
||||||
|
|
||||||
function contentCheck(){
|
function contentCheck(){
|
||||||
let flag = true;
|
if(!$("#refKey").val()){
|
||||||
if(!$("#faSriType").val()){
|
if(!$("#faSriType").val()){
|
||||||
alert("분류를 선택해주세요.")
|
alert("분류를 선택해주세요.")
|
||||||
flag = false;
|
return false;
|
||||||
|
}
|
||||||
|
if(!$("#faSriEdate").val()){
|
||||||
|
alert("제출기한을 선택해주세요.")
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(!$("#title").val()){
|
if(!$("#title").val()){
|
||||||
alert("제목을 입력해주세요.")
|
alert("제목을 입력해주세요.")
|
||||||
flag = false;
|
return false;
|
||||||
}
|
}
|
||||||
if($("#readUserRow").children().length===0){
|
if($("#readUserRow").children().length===0){
|
||||||
alert("수신자를 입력해주세요.")
|
alert("수신자를 입력해주세요.")
|
||||||
flag = false;
|
return false;
|
||||||
}
|
}
|
||||||
flag = fileCheck(flag, files);
|
return fileCheck(true, files);
|
||||||
return flag;
|
|
||||||
}
|
}
|
||||||
|
|
@ -8,9 +8,9 @@
|
||||||
<th>대분류</th>
|
<th>대분류</th>
|
||||||
<th>중분류</th>
|
<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: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>
|
</th:block>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
@ -54,9 +54,9 @@
|
||||||
<th>대분류</th>
|
<th>대분류</th>
|
||||||
<th>중분류</th>
|
<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: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>
|
</th:block>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<input type="text" class="form-control form-control-sm" name="caseNum" placeholder="사건번호" th:value="${searchParams.caseNum}">
|
<input type="text" class="form-control form-control-sm" name="caseNum" placeholder="사건번호" th:value="${searchParams.caseNum}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<input type="text" class="form-control form-control-sm" name="menuUrl" placeholder="url" th:value="${searchParams.menuUrl}">
|
<input type="text" class="form-control form-control-sm" name="menuUrl" placeholder="url" th:value="${searchParams.menuUrl}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
<input type="text" class="form-control form-control-sm" name="userId" placeholder="사용자 아이디" th:value="${searchParams.userId}">
|
<input type="text" class="form-control form-control-sm" name="userId" placeholder="사용자 아이디" th:value="${searchParams.userId}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -14,19 +14,13 @@
|
||||||
<input type="hidden" name="wrtNm" th:value="${internationalCrimeArrest.wrtNm}">
|
<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" name="wrtDt" th:value="${#temporals.format(internationalCrimeArrest.wrtDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
<input type="hidden" id="contentStatus" name="contentStatus">
|
<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">
|
<div class="row mb-1">
|
||||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">지방청</label>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">지방청</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="organ">
|
<select class="form-select form-select-sm" name="organ">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="organConfig:${organConfigList}">
|
<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>
|
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq internationalCrimeArrest.organ}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
<div class="pt-3" th:fragment="leftMenuFragment">
|
<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">
|
<ul class="list-unstyled ps-0">
|
||||||
<li class="mb-1" th:each="firstMenu:${session.menuList}">
|
<li class="mb-1" th:each="firstMenu:${session.menuList}">
|
||||||
<th:block th:each="cat1Code:${session.commonCode.get('CAT1')}">
|
<th:block th:each="cat1Code:${session.commonCode.get('CAT1')}">
|
||||||
<th:block th:if="${cat1Code.itemCd eq firstMenu.cat1Cd}">
|
<th:block th:if="${cat1Code.itemCd eq firstMenu.cat1Cd}">
|
||||||
<button class="btn btn-toggle align-items-center rounded collapsed leftMenuItem text-light"
|
<button class="btn btn-toggle align-items-center rounded collapsed leftMenuItem text-light"
|
||||||
data-bs-toggle="collapse" aria-expanded="false"
|
data-bs-toggle="collapse" aria-expanded="false" th:data-category="${cat1Code.itemCd}"
|
||||||
th:data-bs-target="'#collapse'+${cat1Code.itemCd}" th:text="${cat1Code.itemValue}">
|
th:data-bs-target="'#collapse'+${cat1Code.itemCd}" th:text="${cat1Code.itemValue}">
|
||||||
</button>
|
</button>
|
||||||
<div class="collapse ps-3" th:id="|collapse${cat1Code.itemCd}|">
|
<div class="collapse ps-3" th:id="|collapse${cat1Code.itemCd}|">
|
||||||
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
||||||
|
|
@ -19,13 +19,13 @@
|
||||||
<li class="mb-1">
|
<li class="mb-1">
|
||||||
<th:block th:unless="${#lists.isEmpty(secondMenu.childList)}">
|
<th:block th:unless="${#lists.isEmpty(secondMenu.childList)}">
|
||||||
<button class="btn btn-toggle align-items-center rounded collapsed leftMenuItem text-light"
|
<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}">
|
th:data-bs-target="'#collapse'+${cat2Code.itemCd}" th:text="${cat2Code.itemValue}">
|
||||||
</button>
|
</button>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${#lists.isEmpty(secondMenu.childList)}">
|
<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"
|
<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>
|
</th:block>
|
||||||
<div class="collapse ps-3" th:id="|collapse${cat2Code.itemCd}|">
|
<div class="collapse ps-3" th:id="|collapse${cat2Code.itemCd}|">
|
||||||
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1">
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
<ul class="list-unstyled ps-0">
|
<ul class="list-unstyled ps-0">
|
||||||
<li>
|
<li>
|
||||||
<a th:href="@{${thirdMenu.menuUrl}}" class="bi bi-dash link-light rounded ps-3 text-decoration-none"
|
<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>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
|
|
@ -99,14 +99,7 @@
|
||||||
<tfoot>
|
<tfoot>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="11">
|
<td colspan="11">
|
||||||
<div class="row justify-content-center">
|
<button type="button" class="btn btn-sm btn-primary careerAddBtn" th:data-careercd="${code.itemCd}">추가</button>
|
||||||
<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>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
|
|
|
||||||
|
|
@ -6,44 +6,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="mb-3 mt-3 row">
|
<div class="mb-3 mt-3 row">
|
||||||
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center">직급</label>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">관서</label>
|
||||||
<div class="col-sm-4">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.ogCd}"></label>
|
||||||
<input type="text" class="form-control form-control-sm" th:value="${userInfo.titleCd}" readonly>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">부서</label>
|
||||||
</div>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.ofcCd}"></label>
|
||||||
<label for="userId" class="col-sm-2 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>
|
||||||
<div class="col-sm-4">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.titleCd}"></label>
|
||||||
<input type="text" class="form-control form-control-sm" th:value="${userInfo.birthDate}" readonly>
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">이름</label>
|
||||||
</div>
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${userInfo.userNm}"></label>
|
||||||
</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>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body text-center">
|
<div class="card-body text-center">
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<input type="hidden" name="wrtUserSeq" th:value="${sri.wrtUserSeq}">
|
<input type="hidden" name="wrtUserSeq" th:value="${sri.wrtUserSeq}">
|
||||||
<input type="hidden" name="wrtTitle" th:value="${sri.wrtTitle}">
|
<input type="hidden" name="wrtTitle" th:value="${sri.wrtTitle}">
|
||||||
<input type="hidden" name="status" id="status" th:value="${sri.status}">
|
<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="row">
|
||||||
<div class="col-8">
|
<div class="col-8">
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
</div>
|
</div>
|
||||||
<th:block th:if="${sri.refKey eq null}">
|
<th:block th:if="${sri.refKey eq null}">
|
||||||
<div class="row mb-1">
|
<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">
|
<div class="col-sm-4">
|
||||||
<select class="form-select form-select-sm" id="faSriType" name="faSriType">
|
<select class="form-select form-select-sm" id="faSriType" name="faSriType">
|
||||||
<option value="">선택해주세요.</option>
|
<option value="">선택해주세요.</option>
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</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">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="faSriEdate" name="faSriEdate" th:value="${sri.faSriEdate}" readonly>
|
<input type="text" class="form-control form-control-sm" id="faSriEdate" name="faSriEdate" th:value="${sri.faSriEdate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -47,12 +47,7 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="title" class="col-sm-2 col-form-label col-form-label-sm text-center">제목</label>
|
<label for="title" class="col-sm-2 col-form-label col-form-label-sm text-center">제목</label>
|
||||||
<div class="col-sm-10">
|
<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}">
|
<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>
|
</div>
|
||||||
<div class="row mb-1 justify-content-center">
|
<div class="row mb-1 justify-content-center">
|
||||||
|
|
@ -85,7 +80,11 @@
|
||||||
<div class="col-12 pb-2">
|
<div class="col-12 pb-2">
|
||||||
<div class="row justify-content-between">
|
<div class="row justify-content-between">
|
||||||
<div class="col-auto">■ 수신자</div>
|
<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>
|
</div>
|
||||||
<div class="col-1">no</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-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="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
|
||||||
<div class="row mb-1" th:if="${faSri.status eq 'DST001'}">
|
<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">
|
<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:each="code:${session.commonCode.get('DST')}">
|
||||||
<th:block th:if="${code.itemCd eq faSri.status}" th:text="${code.itemValue}"></th:block>
|
<th:block th:if="${code.itemCd eq faSri.status}" th:text="${code.itemValue}"></th:block>
|
||||||
|
|
@ -28,32 +28,46 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<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">
|
<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:each="code:${session.commonCode.get('SRI')}">
|
||||||
<th:block th:if="${code.itemCd eq faSri.faSriType}" th:text="${code.itemValue}"></th:block>
|
<th:block th:if="${code.itemCd eq faSri.faSriType}" th:text="${code.itemValue}"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</label>
|
</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>
|
<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>
|
<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>
|
<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>
|
||||||
<div class="row mb-1">
|
<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-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-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">
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${faSri.wrtUserNm}"></label>
|
||||||
|
|
||||||
<th:block th:text="${faSri.wrtUserNm}"></th:block>
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
<hr class="my-1">
|
<hr class="my-1">
|
||||||
<div class="row mb-1 justify-content-center">
|
<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 class="col-sm-11 form-control-sm" id="content" th:utext="${faSri.content}"></div>
|
||||||
</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>
|
||||||
<div class="tab-pane fade p-2" id="readUserTabPanel" role="tabpanel" tabindex="0">
|
<div class="tab-pane fade p-2" id="readUserTabPanel" role="tabpanel" tabindex="0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
@ -128,7 +142,7 @@
|
||||||
<th:block th:each="readUser:${faSri.readUserList}">
|
<th:block th:each="readUser:${faSri.readUserList}">
|
||||||
<th:block th:if="${userSeq eq readUser.userSeq}">
|
<th:block th:if="${userSeq eq readUser.userSeq}">
|
||||||
<th:block th:unless="${faSri.faSriEdate eq null}">
|
<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>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue