게시판 디자인 작업중. 관리자메뉴 남음.
parent
cbce941558
commit
819955e441
|
|
@ -24,109 +24,107 @@ import java.util.List;
|
||||||
@RequestMapping("/faStatistics")
|
@RequestMapping("/faStatistics")
|
||||||
public class CrackdownStatusController {
|
public class CrackdownStatusController {
|
||||||
|
|
||||||
private final AuthMgtService authMgtService;
|
private final AuthMgtService authMgtService;
|
||||||
private final CrackdownStatusService crackdownStatusService;
|
private final CrackdownStatusService crackdownStatusService;
|
||||||
private final ViolationRepository violationRepository;
|
private final ViolationRepository violationRepository;
|
||||||
private final ProcessResultRepository processResultRepository;
|
private final ProcessResultRepository processResultRepository;
|
||||||
private final FishingBoatRepository fishingBoatRepository;
|
private final FishingBoatRepository fishingBoatRepository;
|
||||||
private final SailorRepository sailorRepository;
|
private final SailorRepository sailorRepository;
|
||||||
|
|
||||||
@RequestMapping("/crackdownStatus")
|
@RequestMapping("/crackdownStatus")
|
||||||
public ModelAndView crackdownStatus(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus) {
|
public ModelAndView crackdownStatus(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus) {
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatus");
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatus");
|
||||||
|
//메뉴권한 확인
|
||||||
|
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth();
|
||||||
|
mav.addObject("accessAuth", accessAuth);
|
||||||
|
|
||||||
//메뉴권한 확인
|
crackdownStatus.setYear(((Integer)LocalDateTime.now().getYear()).toString());
|
||||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth();
|
List<CrackdownStatus> crackdownStatusList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus);
|
||||||
|
for (CrackdownStatus cds:crackdownStatusList) {
|
||||||
mav.addObject("accessAuth", accessAuth);
|
cds.setViolationList(violationRepository.findByFbKey(cds.getFbKey()));
|
||||||
|
cds.setProcessResult(processResultRepository.findByCdsKey(cds.getCdsKey()).orElse(new ProcessResult()));
|
||||||
List<CrackdownStatus> crackdownStatusList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus);
|
cds.setFishingBoat(fishingBoatRepository.findByCdsKey(cds.getCdsKey()).orElse(new FishingBoat()));
|
||||||
|
cds.setSailorList(sailorRepository.findByFbKey(cds.getFbKey()));
|
||||||
for (CrackdownStatus cds:crackdownStatusList) {
|
|
||||||
cds.setViolationList(violationRepository.findByFbKey(cds.getFbKey()));
|
|
||||||
cds.setProcessResult(processResultRepository.findByCdsKey(cds.getCdsKey()).orElse(new ProcessResult()));
|
|
||||||
cds.setFishingBoat(fishingBoatRepository.findByCdsKey(cds.getCdsKey()).orElse(new FishingBoat()));
|
|
||||||
cds.setSailorList(sailorRepository.findByFbKey(cds.getFbKey()));
|
|
||||||
}
|
|
||||||
|
|
||||||
mav.addObject("crackdownStatusList", crackdownStatusList);
|
|
||||||
mav.addObject("searchParams", crackdownStatus);
|
|
||||||
return mav;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/crackdownStatus/crackdownStatusViewModal")
|
mav.addObject("crackdownStatusList", crackdownStatusList);
|
||||||
public ModelAndView crackdownStatusViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
mav.addObject("searchParams", crackdownStatus);
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusViewModal");
|
return mav;
|
||||||
crackdownStatus = crackdownStatusService.selectCrackdownStatus(crackdownStatus.getCdsKey());
|
}
|
||||||
crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
|
||||||
crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
|
||||||
crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
|
||||||
crackdownStatus.setSailorList(sailorRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
|
||||||
|
|
||||||
mav.addObject("crackdownStatus", crackdownStatus);
|
@GetMapping("/crackdownStatus/crackdownStatusViewModal")
|
||||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
public ModelAndView crackdownStatusViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
||||||
//메뉴권한 확인
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusViewModal");
|
||||||
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth());
|
crackdownStatus = crackdownStatusService.selectCrackdownStatus(crackdownStatus.getCdsKey());
|
||||||
return mav;
|
crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
||||||
|
crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
||||||
|
crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
||||||
|
crackdownStatus.setSailorList(sailorRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
||||||
|
|
||||||
|
mav.addObject("crackdownStatus", crackdownStatus);
|
||||||
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
//메뉴권한 확인
|
||||||
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth());
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/crackdownStatus/crackdownStatusEditModal")
|
||||||
|
public ModelAndView crackdownStatusEditModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusEditModal");
|
||||||
|
if(crackdownStatus.getCdsKey()!=null){
|
||||||
|
crackdownStatus = crackdownStatusService.selectCrackdownStatus(crackdownStatus.getCdsKey());
|
||||||
|
crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
||||||
|
crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
||||||
|
crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
||||||
|
crackdownStatus.setSailorList(sailorRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
||||||
|
}else{
|
||||||
|
crackdownStatus.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
crackdownStatus.setWrtPart(loginUser.getOfcCd());
|
||||||
|
crackdownStatus.setWrtUserGrd(loginUser.getGroupCd());
|
||||||
|
crackdownStatus.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
crackdownStatus.setWrtUserNm(loginUser.getUserNm());
|
||||||
|
crackdownStatus.setWrtDt(LocalDateTime.now());
|
||||||
|
crackdownStatus.setFishingBoat(new FishingBoat());
|
||||||
|
crackdownStatus.getFishingBoat().setWrtOrgan(loginUser.getOgCd());
|
||||||
|
crackdownStatus.getFishingBoat().setWrtUserNm(loginUser.getUserNm());
|
||||||
|
crackdownStatus.getFishingBoat().setWrtDt(LocalDateTime.now());
|
||||||
|
crackdownStatus.setProcessResult(new ProcessResult());
|
||||||
|
crackdownStatus.getProcessResult().setWrtOrgan(loginUser.getOgCd());
|
||||||
|
crackdownStatus.getProcessResult().setWrtUserNm(loginUser.getUserNm());
|
||||||
|
crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now());
|
||||||
}
|
}
|
||||||
|
mav.addObject("crackdownStatus", crackdownStatus);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/crackdownStatus/crackdownStatusEditModal")
|
@GetMapping("/crackdownStatus/crackdownStatusHistoryViewModal")
|
||||||
public ModelAndView crackdownStatusEditModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
public ModelAndView crackdownStatusHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusEditModal");
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryViewModal");
|
||||||
if(crackdownStatus.getCdsKey()!=null){
|
List<CrackdownStatusVersion> crackdownStatusVersionList = crackdownStatusService.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey());
|
||||||
crackdownStatus = crackdownStatusService.selectCrackdownStatus(crackdownStatus.getCdsKey());
|
|
||||||
crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
|
||||||
crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(crackdownStatus.getCdsKey()).orElse(null));
|
|
||||||
crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
|
||||||
crackdownStatus.setSailorList(sailorRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey()));
|
|
||||||
}else{
|
|
||||||
crackdownStatus.setWrtOrgan(loginUser.getOgCd());
|
|
||||||
crackdownStatus.setWrtPart(loginUser.getOfcCd());
|
|
||||||
crackdownStatus.setWrtUserGrd(loginUser.getGroupCd());
|
|
||||||
crackdownStatus.setWrtOrgan(loginUser.getOgCd());
|
|
||||||
crackdownStatus.setWrtUserNm(loginUser.getUserNm());
|
|
||||||
crackdownStatus.setWrtDt(LocalDateTime.now());
|
|
||||||
crackdownStatus.setFishingBoat(new FishingBoat());
|
|
||||||
crackdownStatus.getFishingBoat().setWrtOrgan(loginUser.getOgCd());
|
|
||||||
crackdownStatus.getFishingBoat().setWrtUserNm(loginUser.getUserNm());
|
|
||||||
crackdownStatus.getFishingBoat().setWrtDt(LocalDateTime.now());
|
|
||||||
crackdownStatus.setProcessResult(new ProcessResult());
|
|
||||||
crackdownStatus.getProcessResult().setWrtOrgan(loginUser.getOgCd());
|
|
||||||
crackdownStatus.getProcessResult().setWrtUserNm(loginUser.getUserNm());
|
|
||||||
crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now());
|
|
||||||
}
|
|
||||||
mav.addObject("crackdownStatus", crackdownStatus);
|
|
||||||
return mav;
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/crackdownStatus/crackdownStatusHistoryViewModal")
|
mav.addObject("crackdownStatusVersionList", crackdownStatusVersionList);
|
||||||
public ModelAndView crackdownStatusHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
mav.addObject("crackdownStatus", crackdownStatus);
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryViewModal");
|
return mav;
|
||||||
List<CrackdownStatusVersion> crackdownStatusVersionList = crackdownStatusService.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey());
|
}
|
||||||
|
|
||||||
mav.addObject("crackdownStatusVersionList", crackdownStatusVersionList);
|
@GetMapping("/crackdownStatus/crackdownStatusHistoryDetail")
|
||||||
mav.addObject("crackdownStatus", crackdownStatus);
|
public ModelAndView crackdownStatusHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatusVersion crackdownStatusVersion){
|
||||||
return mav;
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryDetail");
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/crackdownStatus/crackdownStatusHistoryDetail")
|
crackdownStatusVersion = crackdownStatusService.selectCrackdownStatusVersion(crackdownStatusVersion.getVersionNo(), crackdownStatusVersion.getCdsKey());
|
||||||
public ModelAndView crackdownStatusHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatusVersion crackdownStatusVersion){
|
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryDetail");
|
|
||||||
|
|
||||||
crackdownStatusVersion = crackdownStatusService.selectCrackdownStatusVersion(crackdownStatusVersion.getVersionNo(), crackdownStatusVersion.getCdsKey());
|
mav.addObject("crackdownStatusVersion", crackdownStatusVersion);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
mav.addObject("crackdownStatusVersion", crackdownStatusVersion);
|
@PostMapping("/crackdownStatus/saveCrackdownStatus")
|
||||||
return mav;
|
public Integer saveCrackdownStatus(@AuthenticationPrincipal UserInfo loginUser,
|
||||||
}
|
CrackdownStatus crackdownStatus,
|
||||||
|
FishingBoat fishingBoat,
|
||||||
@PostMapping("/crackdownStatus/saveCrackdownStatus")
|
ProcessResult processResult){
|
||||||
public Integer saveCrackdownStatus(@AuthenticationPrincipal UserInfo loginUser,
|
crackdownStatus.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
CrackdownStatus crackdownStatus,
|
crackdownStatus.setFishingBoat(fishingBoat);
|
||||||
FishingBoat fishingBoat,
|
crackdownStatus.setProcessResult(processResult);
|
||||||
ProcessResult processResult){
|
return crackdownStatusService.saveCrackdownStatus(crackdownStatus);
|
||||||
crackdownStatus.setWrtUserSeq(loginUser.getUserSeq());
|
}
|
||||||
crackdownStatus.setFishingBoat(fishingBoat);
|
|
||||||
crackdownStatus.setProcessResult(processResult);
|
|
||||||
return crackdownStatusService.saveCrackdownStatus(crackdownStatus);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -451,7 +451,7 @@
|
||||||
<if test='userNm != null and userNm != ""'>
|
<if test='userNm != null and userNm != ""'>
|
||||||
and wrt_user_nm like '%'||#{userNm}||'%'
|
and wrt_user_nm like '%'||#{userNm}||'%'
|
||||||
</if>
|
</if>
|
||||||
<if test='startDate != null and startDate != ""'>
|
<if test='startDate != null and startDate != ""'>
|
||||||
and wrt_dt >= #{startDate}::date
|
and wrt_dt >= #{startDate}::date
|
||||||
</if>
|
</if>
|
||||||
<if test='endDate != null and endDate != ""'>
|
<if test='endDate != null and endDate != ""'>
|
||||||
|
|
|
||||||
|
|
@ -4,118 +4,101 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
<mapper namespace="com.dbnt.faisp.main.translator.mapper.TranslatorMapper">
|
<mapper namespace="com.dbnt.faisp.main.translator.mapper.TranslatorMapper">
|
||||||
|
<sql id="selectTranslatorListWhere">
|
||||||
<select id="selectTranslatorList" resultType="Translator" parameterType="Translator">
|
<where>
|
||||||
select a.translator_key,
|
ogdp1 in
|
||||||
version_no,
|
|
||||||
c.item_value as ogdp1,
|
|
||||||
d.item_value as tr_lang,
|
|
||||||
tr_career,
|
|
||||||
tr_name,
|
|
||||||
e.item_value as tr_sex,
|
|
||||||
tr_age,
|
|
||||||
f.item_value as tr_nny,
|
|
||||||
g.item_value as tr_edu,
|
|
||||||
tr_cft,
|
|
||||||
h.item_value as tr_visa,
|
|
||||||
dml_yn,
|
|
||||||
apt_dt,
|
|
||||||
tr_phone
|
|
||||||
from translator_info a
|
|
||||||
inner join (select translator_key, max(version_no) as lastVer
|
|
||||||
from translator_info
|
|
||||||
group by translator_key) b
|
|
||||||
on a.translator_key =b.translator_key and a.version_no = b.lastVer
|
|
||||||
left outer join code_mgt c on a.ogdp1 = c.item_cd
|
|
||||||
left outer join code_mgt d on a.tr_lang = d.item_cd
|
|
||||||
left outer join code_mgt e on a.tr_sex = e.item_cd
|
|
||||||
left outer join code_mgt f on a.tr_nny = f.item_cd
|
|
||||||
left outer join code_mgt g on a.tr_edu = g.item_cd
|
|
||||||
left outer join code_mgt h on a.tr_visa = h.item_cd
|
|
||||||
where ogdp1 in
|
|
||||||
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
|
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
<if test='trLang != null and trLang != ""'>
|
<if test='trLang != null and trLang != ""'>
|
||||||
and tr_lang = #{trLang}
|
and tr_lang = #{trLang}
|
||||||
</if>
|
</if>
|
||||||
<if test='ogdp1 != null and ogdp1 != ""'>
|
<if test='ogdp1 != null and ogdp1 != ""'>
|
||||||
and ogdp1 = #{ogdp1}
|
and ogdp1 = #{ogdp1}
|
||||||
</if>
|
</if>
|
||||||
<if test='trName != null and trName != ""'>
|
<if test='trName != null and trName != ""'>
|
||||||
and tr_name = #{trName}
|
and tr_name = #{trName}
|
||||||
</if>
|
</if>
|
||||||
<if test='trNny != null and trNny != ""'>
|
<if test='trNny != null and trNny != ""'>
|
||||||
and tr_nny = #{trNny}
|
and tr_nny = #{trNny}
|
||||||
</if>
|
</if>
|
||||||
<if test='trVisa != null and trVisa != ""'>
|
<if test='trVisa != null and trVisa != ""'>
|
||||||
and tr_visa = #{trVisa}
|
and tr_visa = #{trVisa}
|
||||||
</if>
|
</if>
|
||||||
<if test='aptDt != null'>
|
<if test='startDate != null and startDate != ""'>
|
||||||
and to_char(apt_dt,'YYYY-MM-DD') = #{aptDt}::VARCHAR
|
and apt_dt >= #{startDate}::date
|
||||||
|
</if>
|
||||||
|
<if test='endDate != null and endDate != ""'>
|
||||||
|
and apt_dt <= #{endDate}::date+1
|
||||||
</if>
|
</if>
|
||||||
<if test='dmlYn != null and dmlYn != ""'>
|
<if test='dmlYn != null and dmlYn != ""'>
|
||||||
and dml_yn = #{dmlYn}
|
and dml_yn = #{dmlYn}
|
||||||
</if>
|
</if>
|
||||||
order by translator_key desc
|
</where>
|
||||||
|
</sql>
|
||||||
|
<select id="selectTranslatorList" resultType="Translator" parameterType="Translator">
|
||||||
|
select a.translator_key,
|
||||||
|
version_no,
|
||||||
|
c.item_value as ogdp1,
|
||||||
|
d.item_value as tr_lang,
|
||||||
|
tr_career,
|
||||||
|
tr_name,
|
||||||
|
e.item_value as tr_sex,
|
||||||
|
tr_age,
|
||||||
|
f.item_value as tr_nny,
|
||||||
|
g.item_value as tr_edu,
|
||||||
|
tr_cft,
|
||||||
|
h.item_value as tr_visa,
|
||||||
|
dml_yn,
|
||||||
|
apt_dt,
|
||||||
|
tr_phone
|
||||||
|
from translator_info a
|
||||||
|
inner join (select translator_key, max(version_no) as lastVer
|
||||||
|
from translator_info
|
||||||
|
group by translator_key) b
|
||||||
|
on a.translator_key =b.translator_key and a.version_no = b.lastVer
|
||||||
|
left outer join code_mgt c on a.ogdp1 = c.item_cd
|
||||||
|
left outer join code_mgt d on a.tr_lang = d.item_cd
|
||||||
|
left outer join code_mgt e on a.tr_sex = e.item_cd
|
||||||
|
left outer join code_mgt f on a.tr_nny = f.item_cd
|
||||||
|
left outer join code_mgt g on a.tr_edu = g.item_cd
|
||||||
|
left outer join code_mgt h on a.tr_visa = h.item_cd
|
||||||
|
<include refid="selectTranslatorListWhere"></include>
|
||||||
|
order by translator_key desc
|
||||||
limit #{rowCnt} offset #{firstIndex}
|
limit #{rowCnt} offset #{firstIndex}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectTranslatorListCnt" resultType="int" parameterType="Translator">
|
<select id="selectTranslatorListCnt" resultType="int" parameterType="Translator">
|
||||||
select count(*)
|
select count(*)
|
||||||
from(
|
from(
|
||||||
select a.translator_key,
|
select a.translator_key,
|
||||||
version_no,
|
version_no,
|
||||||
c.item_value as ogdp1,
|
c.item_value as ogdp1,
|
||||||
d.item_value as tr_lang,
|
d.item_value as tr_lang,
|
||||||
tr_career,
|
tr_career,
|
||||||
tr_name,
|
tr_name,
|
||||||
e.item_value as tr_sex,
|
e.item_value as tr_sex,
|
||||||
tr_age,
|
tr_age,
|
||||||
f.item_value as tr_nny,
|
f.item_value as tr_nny,
|
||||||
g.item_value as tr_edu,
|
g.item_value as tr_edu,
|
||||||
tr_cft,
|
tr_cft,
|
||||||
h.item_value as tr_visa,
|
h.item_value as tr_visa,
|
||||||
dml_yn,
|
dml_yn,
|
||||||
apt_dt,
|
apt_dt,
|
||||||
tr_phone
|
tr_phone
|
||||||
from translator_info a
|
from translator_info a
|
||||||
inner join (select translator_key, max(version_no) as lastVer
|
inner join (select translator_key, max(version_no) as lastVer
|
||||||
from translator_info
|
from translator_info
|
||||||
group by translator_key) b
|
group by translator_key) b
|
||||||
on a.translator_key =b.translator_key and a.version_no = b.lastVer
|
on a.translator_key =b.translator_key and a.version_no = b.lastVer
|
||||||
left outer join code_mgt c on a.ogdp1 = c.item_cd
|
left outer join code_mgt c on a.ogdp1 = c.item_cd
|
||||||
left outer join code_mgt d on a.tr_lang = d.item_cd
|
left outer join code_mgt d on a.tr_lang = d.item_cd
|
||||||
left outer join code_mgt e on a.tr_sex = e.item_cd
|
left outer join code_mgt e on a.tr_sex = e.item_cd
|
||||||
left outer join code_mgt f on a.tr_nny = f.item_cd
|
left outer join code_mgt f on a.tr_nny = f.item_cd
|
||||||
left outer join code_mgt g on a.tr_edu = g.item_cd
|
left outer join code_mgt g on a.tr_edu = g.item_cd
|
||||||
left outer join code_mgt h on a.tr_visa = h.item_cd
|
left outer join code_mgt h on a.tr_visa = h.item_cd
|
||||||
where ogdp1 in
|
<include refid="selectTranslatorListWhere"></include>
|
||||||
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
|
) a
|
||||||
#{item}
|
|
||||||
</foreach>
|
|
||||||
<if test='trLang != null and trLang != ""'>
|
|
||||||
and tr_lang = #{trLang}
|
|
||||||
</if>
|
|
||||||
<if test='ogdp1 != null and ogdp1 != ""'>
|
|
||||||
and ogdp1 = #{ogdp1}
|
|
||||||
</if>
|
|
||||||
<if test='trName != null and trName != ""'>
|
|
||||||
and tr_name = #{trName}
|
|
||||||
</if>
|
|
||||||
<if test='trNny != null and trNny != ""'>
|
|
||||||
and tr_nny = #{trNny}
|
|
||||||
</if>
|
|
||||||
<if test='trVisa != null and trVisa != ""'>
|
|
||||||
and tr_visa = #{trVisa}
|
|
||||||
</if>
|
|
||||||
<if test='aptDt != null'>
|
|
||||||
and to_char(apt_dt,'YYYY-MM-DD') = #{aptDt}::VARCHAR
|
|
||||||
</if>
|
|
||||||
<if test='dmlYn != null and dmlYn != ""'>
|
|
||||||
and dml_yn = #{dmlYn}
|
|
||||||
</if>
|
|
||||||
) a
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectHistoryList" resultType="Translator" parameterType="Translator">
|
<select id="selectHistoryList" resultType="Translator" parameterType="Translator">
|
||||||
|
|
|
||||||
|
|
@ -69,11 +69,6 @@
|
||||||
--bs-modal-width : 1440px;
|
--bs-modal-width : 1440px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*사이드바 카테고리 트리*/
|
|
||||||
.btn-toggle:hover, .btn-toggle:focus {
|
|
||||||
/*color: rgba(0, 0, 0, .85);
|
|
||||||
background-color: #d2eaf4;*/
|
|
||||||
}
|
|
||||||
.btn-toggle::before {
|
.btn-toggle::before {
|
||||||
content: url("/img/bootstrap-icons-1.9.1/caret-right-fill.svg");
|
content: url("/img/bootstrap-icons-1.9.1/caret-right-fill.svg");
|
||||||
filter: invert(100%);
|
filter: invert(100%);
|
||||||
|
|
@ -82,14 +77,17 @@
|
||||||
content: url("/img/bootstrap-icons-1.9.1/caret-down-fill.svg");
|
content: url("/img/bootstrap-icons-1.9.1/caret-down-fill.svg");
|
||||||
}
|
}
|
||||||
|
|
||||||
.fs-13{
|
.fs-10{
|
||||||
font-size: 13px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
.fs-11{
|
.fs-11{
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
.fs-10{
|
.fs-12{
|
||||||
font-size: 10px;
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.fs-13{
|
||||||
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
.pl-15{
|
.pl-15{
|
||||||
padding-left: 15%;
|
padding-left: 15%;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
let trCarrerList=[];
|
let trCarrerList=[];
|
||||||
let selectedIdx=0;
|
let selectedIdx=0;
|
||||||
|
$(function(){
|
||||||
|
$("#dateSelectorDiv").datepicker({
|
||||||
|
format: "yyyy-mm-dd",
|
||||||
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
|
});
|
||||||
|
})
|
||||||
$(document).on('click', '.userInfoTr', function (event){
|
$(document).on('click', '.userInfoTr', function (event){
|
||||||
$("#selectedKey").val($(this).find(".trKey").val())
|
$("#selectedKey").val($(this).find(".trKey").val())
|
||||||
$("#selectedVerNo").val($(this).find(".verNo").val())
|
$("#selectedVerNo").val($(this).find(".verNo").val())
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,12 @@ $(document).on('click', '#syncToKwmsAllBtn', function (){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if(confirm(userList.length+"건의 정보를 갱신하시겠습니까?")){
|
if(userList.length===0){
|
||||||
syncUserInfoToKwms(userList);
|
alert("대상을 선택해주세요.")
|
||||||
|
}else{
|
||||||
|
if(confirm(userList.length+"건의 정보를 갱신하시겠습니까?")){
|
||||||
|
syncUserInfoToKwms(userList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,125 +8,123 @@
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>사용자 로그</h4>
|
<h4>사용자 로그</h4>
|
||||||
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
<div class="card bg-light">
|
||||||
<li class="nav-item" role="presentation">
|
<div class="card-body">
|
||||||
<button class="nav-link" id="requestTab" data-bs-toggle="tab" type="button" role="tab">메뉴로그</button>
|
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
||||||
</li>
|
<li class="nav-item" role="presentation">
|
||||||
<li class="nav-item" role="presentation">
|
<button class="nav-link" id="requestTab" data-bs-toggle="tab" type="button" role="tab">메뉴로그</button>
|
||||||
<button class="nav-link active" id="inoutTab" data-bs-toggle="tab" type="button" role="tab">접속로그</button>
|
</li>
|
||||||
</li>
|
<li class="nav-item" role="presentation">
|
||||||
</ul>
|
<button class="nav-link active" id="inoutTab" data-bs-toggle="tab" type="button" role="tab">접속로그</button>
|
||||||
<div class="row mx-0">
|
</li>
|
||||||
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
</ul>
|
||||||
<form method="get" th:action="@{/userMgt/userLog/inoutLog}">
|
<div class="row mx-0">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
||||||
<div class="row justify-content-between py-1">
|
<form method="get" th:action="@{/userMgt/userLog/inoutLog}">
|
||||||
<div class="col-auto">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
<div class="row justify-content-between py-1">
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
<div class="col-auto">
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
</th:block>
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
</select>
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
</div>
|
</th:block>
|
||||||
<div class="col-6">
|
</select>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-10">
|
<div class="col-8">
|
||||||
<div class="row justify-content-end pb-1">
|
|
||||||
<div class="col-4">
|
|
||||||
<select class="form-select form-select-sm" name="inoutType">
|
|
||||||
<option value="">결과</option>
|
|
||||||
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${searchParams.inoutType eq code.itemCd}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="contactIp" placeholder="아이피" th:value="${searchParams.contactIp}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4">
|
<div class="col-11">
|
||||||
<input type="text" class="form-control form-control-sm" name="userBelong" placeholder="사용자" th:value="${searchParams.userBelong}">
|
<div class="row justify-content-end pb-1">
|
||||||
</div>
|
<div class="col-2">
|
||||||
<div class="col-8">
|
<select class="form-select form-select-sm" name="inoutType">
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
<option value="">결과</option>
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${searchParams.inoutType eq code.itemCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="contactIp" placeholder="아이피" th:value="${searchParams.contactIp}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="userBelong" placeholder="사용자" th:value="${searchParams.userBelong}">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-0">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 d-grid gap-2">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary mx-2" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</div>
|
<div class="row">
|
||||||
</form>
|
<div class="col-12">
|
||||||
<div class="row justify-content-start">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<div class="col-12">
|
<thead>
|
||||||
<div class="card">
|
<tr class="table-secondary">
|
||||||
<div class="card-body">
|
<th>접속아이피</th>
|
||||||
<div class="row">
|
<th>결과</th>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<th>사용자</th>
|
||||||
<thead>
|
<th>등록일</th>
|
||||||
<tr class="table-secondary">
|
</tr>
|
||||||
<th>접속아이피</th>
|
</thead>
|
||||||
<th>결과</th>
|
<tbody class="table-group-divider">
|
||||||
<th>사용자</th>
|
<tr class="inoutLogTr" th:each="log:${logList}">
|
||||||
<th>등록일</th>
|
<input type="hidden" class="contactIp" th:value="${log.contactIp}">
|
||||||
</tr>
|
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
||||||
</thead>
|
<th:block th:if="${code.itemCd eq log.inoutType}">
|
||||||
<tbody class="table-group-divider">
|
<input type="hidden" class="inoutType" th:value="${code.itemValue}">
|
||||||
<tr class="inoutLogTr" th:each="log:${logList}">
|
|
||||||
<input type="hidden" class="contactIp" th:value="${log.contactIp}">
|
|
||||||
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
|
||||||
<th:block th:if="${code.itemCd eq log.inoutType}">
|
|
||||||
<input type="hidden" class="inoutType" th:value="${code.itemValue}">
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<input type="hidden" class="sessionId" th:value="${log.sessionId}">
|
</th:block>
|
||||||
<input type="hidden" class="userBelong" th:value="${log.userBelong}">
|
<input type="hidden" class="sessionId" th:value="${log.sessionId}">
|
||||||
<input type="hidden" class="wrtDt" th:value="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
<input type="hidden" class="userBelong" th:value="${log.userBelong}">
|
||||||
<td th:text="${log.contactIp}"></td>
|
<input type="hidden" class="wrtDt" th:value="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
||||||
<td>
|
<td th:text="${log.contactIp}"></td>
|
||||||
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
<td>
|
||||||
<th:block th:if="${code.itemCd eq log.inoutType}" th:text="${code.itemValue}"></th:block>
|
<th:block th:each="code:${session.commonCode.get('IOT')}">
|
||||||
</th:block>
|
<th:block th:if="${code.itemCd eq log.inoutType}" th:text="${code.itemValue}"></th:block>
|
||||||
</td>
|
</th:block>
|
||||||
<td th:text="${log.userBelong}"></td>
|
</td>
|
||||||
<td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
<td th:text="${log.userBelong}"></td>
|
||||||
</tr>
|
<td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
</tbody>
|
||||||
</div>
|
</table>
|
||||||
<div class="row justify-content-center">
|
</div>
|
||||||
<div class="col-auto">
|
</div>
|
||||||
<nav aria-label="Page navigation">
|
<div class="row justify-content-center">
|
||||||
<ul class="pagination mb-0">
|
<div class="col-auto">
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
<nav aria-label="Page navigation">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
<ul class="pagination mb-0">
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<span aria-hidden="true">«</span>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
</a>
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
</li>
|
<span aria-hidden="true">«</span>
|
||||||
</th:block>
|
</a>
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
</li>
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
</th:block>
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
</li>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
</th:block>
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
</li>
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
</th:block>
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
<span aria-hidden="true">»</span>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
</a>
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
</li>
|
<span aria-hidden="true">»</span>
|
||||||
</th:block>
|
</a>
|
||||||
</ul>
|
</li>
|
||||||
</nav>
|
</th:block>
|
||||||
</div>
|
</ul>
|
||||||
</div>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,123 +8,121 @@
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>사용자 로그</h4>
|
<h4>사용자 로그</h4>
|
||||||
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
<div class="card bg-light">
|
||||||
<li class="nav-item" role="presentation">
|
<div class="card-body">
|
||||||
<button class="nav-link active" id="requestTab" data-bs-toggle="tab" type="button" role="tab">메뉴로그</button>
|
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
||||||
</li>
|
<li class="nav-item" role="presentation">
|
||||||
<li class="nav-item" role="presentation">
|
<button class="nav-link active" id="requestTab" data-bs-toggle="tab" type="button" role="tab">메뉴로그</button>
|
||||||
<button class="nav-link" id="inoutTab" data-bs-toggle="tab" type="button" role="tab">접속로그</button>
|
</li>
|
||||||
</li>
|
<li class="nav-item" role="presentation">
|
||||||
</ul>
|
<button class="nav-link" id="inoutTab" data-bs-toggle="tab" type="button" role="tab">접속로그</button>
|
||||||
<div class="row mx-0">
|
</li>
|
||||||
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
</ul>
|
||||||
<form method="get" th:action="@{/userMgt/userLog/requestLog}">
|
<div class="row mx-0">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
||||||
<div class="row justify-content-between py-1">
|
<form method="get" th:action="@{/userMgt/userLog/requestLog}">
|
||||||
<div class="col-auto">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
<div class="row justify-content-between py-1">
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
<div class="col-auto">
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
</th:block>
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
</select>
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
</div>
|
</th:block>
|
||||||
<div class="col-6">
|
</select>
|
||||||
<div class="row justify-content-end">
|
</div>
|
||||||
<div class="col-10">
|
<div class="col-8">
|
||||||
<div class="row pb-1">
|
|
||||||
<div class="col-4">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="contactIp" placeholder="아이피" th:value="${searchParams.contactIp}">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="requestUrl" placeholder="URL" th:value="${searchParams.requestUrl}">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<select class="form-select form-select-sm" name="requestMethod">
|
|
||||||
<option value="">접근방식</option>
|
|
||||||
<option value="GET" th:selected="${searchParams.requestMethod eq 'GET'}">GET</option>
|
|
||||||
<option value="POST" th:selected="${searchParams.requestMethod eq 'POST'}">POST</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4">
|
<div class="col-11">
|
||||||
<input type="text" class="form-control form-control-sm" name="userBelong" placeholder="사용자" th:value="${searchParams.userBelong}">
|
<div class="row justify-content-end pb-1">
|
||||||
</div>
|
<div class="col-2">
|
||||||
<div class="col-8">
|
<input type="text" class="form-control form-control-sm" name="contactIp" placeholder="아이피" th:value="${searchParams.contactIp}">
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
</div>
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
<input type="text" class="form-control form-control-sm" name="requestUrl" placeholder="URL" th:value="${searchParams.requestUrl}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="requestMethod">
|
||||||
|
<option value="">접근방식</option>
|
||||||
|
<option value="GET" th:selected="${searchParams.requestMethod eq 'GET'}">GET</option>
|
||||||
|
<option value="POST" th:selected="${searchParams.requestMethod eq 'POST'}">POST</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="userBelong" placeholder="사용자" th:value="${searchParams.userBelong}">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-0">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 d-grid gap-2">
|
</div>
|
||||||
<input type="submit" class="btn btn-sm btn-primary mx-2" id="searchBtn" value="검색">
|
</form>
|
||||||
</div>
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th>접속아이피</th>
|
||||||
|
<th>요청 URL</th>
|
||||||
|
<th>접근 방식</th>
|
||||||
|
<th>사용자</th>
|
||||||
|
<th>등록일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider">
|
||||||
|
<tr class="requestLogTr" th:each="log:${logList}">
|
||||||
|
<input type="hidden" class="contactIp" th:value="${log.contactIp}">
|
||||||
|
<input type="hidden" class="requestUrl" th:value="${log.requestUrl}">
|
||||||
|
<input type="hidden" class="requestMethod" th:value="${log.requestMethod}">
|
||||||
|
<input type="hidden" class="searchParams" th:value="${log.searchParams}">
|
||||||
|
<input type="hidden" class="handlerDescription" th:value="${log.handlerDescription}">
|
||||||
|
<input type="hidden" class="userBelong" th:value="${log.userBelong}">
|
||||||
|
<input type="hidden" class="wrtDt" th:value="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
||||||
|
<td th:text="${log.contactIp}"></td>
|
||||||
|
<td th:text="${log.requestUrl}"></td>
|
||||||
|
<td th:text="${log.requestMethod}"></td>
|
||||||
|
<td th:text="${log.userBelong}"></td>
|
||||||
|
<td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row justify-content-center">
|
||||||
</form>
|
<div class="col-auto">
|
||||||
<div class="row justify-content-start">
|
<nav aria-label="Page navigation">
|
||||||
<div class="col-12">
|
<ul class="pagination mb-0">
|
||||||
<div class="card">
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<div class="card-body">
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
<div class="row">
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<span aria-hidden="true">«</span>
|
||||||
<thead>
|
</a>
|
||||||
<tr class="table-secondary">
|
</li>
|
||||||
<th>접속아이피</th>
|
</th:block>
|
||||||
<th>요청 URL</th>
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
<th>접근 방식</th>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
<th>사용자</th>
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
<th>등록일</th>
|
</li>
|
||||||
</tr>
|
</th:block>
|
||||||
</thead>
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
<tbody class="table-group-divider">
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
<tr class="requestLogTr" th:each="log:${logList}">
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
<input type="hidden" class="contactIp" th:value="${log.contactIp}">
|
<span aria-hidden="true">»</span>
|
||||||
<input type="hidden" class="requestUrl" th:value="${log.requestUrl}">
|
</a>
|
||||||
<input type="hidden" class="requestMethod" th:value="${log.requestMethod}">
|
</li>
|
||||||
<input type="hidden" class="searchParams" th:value="${log.searchParams}">
|
</th:block>
|
||||||
<input type="hidden" class="handlerDescription" th:value="${log.handlerDescription}">
|
</ul>
|
||||||
<input type="hidden" class="userBelong" th:value="${log.userBelong}">
|
</nav>
|
||||||
<input type="hidden" class="wrtDt" th:value="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}">
|
|
||||||
<td th:text="${log.contactIp}"></td>
|
|
||||||
<td th:text="${log.requestUrl}"></td>
|
|
||||||
<td th:text="${log.requestMethod}"></td>
|
|
||||||
<td th:text="${log.userBelong}"></td>
|
|
||||||
<td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-auto">
|
|
||||||
<nav aria-label="Page navigation">
|
|
||||||
<ul class="pagination mb-0">
|
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
|
||||||
<span aria-hidden="true">«</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
|
||||||
<span aria-hidden="true">»</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,173 +7,171 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>외사경찰 관리</h4>
|
|
||||||
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
|
||||||
<li class="nav-item" role="presentation">
|
|
||||||
<button class="nav-link" th:classappend="${searchParams.userStatus eq 'USC003'?'active':''}" id="apprvTab" data-bs-toggle="tab" type="button" role="tab">승인목록</button>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item" role="presentation">
|
|
||||||
<button class="nav-link" th:classappend="${searchParams.userStatus ne 'USC003'?'active':''}" id="stayTab" data-bs-toggle="tab" type="button" role="tab">승인대기</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<div class="row mx-0">
|
<h4>외사경찰 관리</h4>
|
||||||
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
<div class="card bg-light">
|
||||||
<form method="get" th:action="@{/userMgt/userMgtPage}">
|
<div class="card-body">
|
||||||
<input type="hidden" name="userStatus" id="userStatus" th:value="${searchParams.userStatus}">
|
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<li class="nav-item" role="presentation">
|
||||||
<div class="row justify-content-between py-1">
|
<button class="nav-link" th:classappend="${searchParams.userStatus eq 'USC003'?'active':''}" id="apprvTab" data-bs-toggle="tab" type="button" role="tab">승인목록</button>
|
||||||
<div class="col-auto">
|
</li>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
<li class="nav-item" role="presentation">
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
<button class="nav-link" th:classappend="${searchParams.userStatus ne 'USC003'?'active':''}" id="stayTab" data-bs-toggle="tab" type="button" role="tab">승인대기</button>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
</li>
|
||||||
</th:block>
|
</ul>
|
||||||
</select>
|
<div class="row mx-0">
|
||||||
</div>
|
<div class="col-12 tab-content bg-white border border-top-0 p-2">
|
||||||
<div class="col-auto">
|
<form method="get" th:action="@{/userMgt/userMgtPage}">
|
||||||
<div class="row justify-content-end">
|
<input type="hidden" name="userStatus" id="userStatus" th:value="${searchParams.userStatus}">
|
||||||
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
<div class="row justify-content-between py-1">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<select class="form-select form-select-sm" name="ogCd">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<option value="">관서 선택</option>
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd==commonCode.itemCd}"></option>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<select class="form-select form-select-sm" name="ofcCd">
|
<div class="row justify-content-end">
|
||||||
<option value="">부서 선택</option>
|
<div class="col-auto">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
|
<select class="form-select form-select-sm" name="ogCd">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ofcCd==commonCode.itemCd}"></option>
|
<option value="">관서 선택</option>
|
||||||
</th:block>
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
</select>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd==commonCode.itemCd}"></option>
|
||||||
</div>
|
</th:block>
|
||||||
<div class="col-auto">
|
</select>
|
||||||
<select class="form-select form-select-sm" name="titleCd">
|
</div>
|
||||||
<option value="">계급 선택</option>
|
<div class="col-auto">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
<select class="form-select form-select-sm" name="ofcCd">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.titleCd==commonCode.itemCd}"></option>
|
<option value="">부서 선택</option>
|
||||||
</th:block>
|
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
|
||||||
</select>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ofcCd==commonCode.itemCd}"></option>
|
||||||
</div>
|
</th:block>
|
||||||
<div class="col-auto">
|
</select>
|
||||||
<input type="text" class="form-control form-control-sm" name="userNm" placeholder="사용자명" th:value="${searchParams.userNm}">
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<select class="form-select form-select-sm" name="titleCd">
|
||||||
<input type="text" class="form-control form-control-sm" name="userId" placeholder="사용자 아이디" th:value="${searchParams.userId}">
|
<option value="">계급 선택</option>
|
||||||
</div>
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
<div class="col-auto">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.titleCd==commonCode.itemCd}"></option>
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="userNm" placeholder="사용자명" th:value="${searchParams.userNm}">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<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="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th> <input type="checkbox" class="allChk"></th>
|
||||||
|
<th>소속</th>
|
||||||
|
<th>부서</th>
|
||||||
|
<th>계급</th>
|
||||||
|
<th>성명</th>
|
||||||
|
<th>아이디</th>
|
||||||
|
<th>식별번호</th>
|
||||||
|
<th>등록일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider">
|
||||||
|
<tr class="userInfoTr" th:each="userInfo:${userInfoList}">
|
||||||
|
<input type="hidden" name="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
||||||
|
<input type="hidden" name="dicCode" class="dicCode" th:value="${userInfo.dicCode}">
|
||||||
|
<td class="checkBoxTd">
|
||||||
|
<input type="checkbox" id="userChk" name="userChk" class="userInfoCheckBox" th:value="${userInfo.userSeq}">
|
||||||
|
</td>
|
||||||
|
<th:block th:if="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
||||||
|
<td></td>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${commonCode.itemCd == userInfo.ogCd}">
|
||||||
|
<td th:text="${commonCode.itemValue}"></td>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${userInfo.ofcCd eq null or userInfo.ofcCd eq ''}">
|
||||||
|
<td></td>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${userInfo.ofcCd eq null or userInfo.ofcCd eq ''}">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
|
||||||
|
<th:block th:if="${commonCode.itemCd == userInfo.ofcCd}">
|
||||||
|
<td th:text="${commonCode.itemValue}"></td>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${userInfo.titleCd eq null or userInfo.titleCd eq ''}">
|
||||||
|
<td></td>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${userInfo.titleCd eq null or userInfo.titleCd eq ''}">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<th:block th:if="${commonCode.itemCd == userInfo.titleCd}">
|
||||||
|
<td th:text="${commonCode.itemValue}"></td>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
<td th:text="${userInfo.userNm}"></td>
|
||||||
|
<td th:text="${userInfo.userId}"></td>
|
||||||
|
<td th:text="${userInfo.dicCode}"></td>
|
||||||
|
<td th:text="${#temporals.format(userInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row justify-content-between">
|
||||||
</form>
|
<div class="col-auto">
|
||||||
<div class="row justify-content-start">
|
<th:block th:if="${searchParams.userStatus eq 'USC002'}">
|
||||||
<div class="col-12">
|
<input type="button" class="btn btn-danger" value="반려" id="companionBtn">
|
||||||
<div class="card">
|
</th:block>
|
||||||
<div class="card-body">
|
<th:block th:if="${searchParams.userStatus eq 'USC003'}">
|
||||||
<div class="row">
|
<button type="button" class="btn btn-info" id="syncToKwmsAllBtn">인사시스템 정보 불러오기</button>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
</th:block>
|
||||||
<thead>
|
</div>
|
||||||
<tr class="table-secondary">
|
<div class="col-auto">
|
||||||
<th> <input type="checkbox" class="allChk"></th>
|
<nav aria-label="Page navigation">
|
||||||
<th>소속</th>
|
<ul class="pagination mb-0">
|
||||||
<th>부서</th>
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<th>계급</th>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
<th>성명</th>
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
<th>아이디</th>
|
<span aria-hidden="true">«</span>
|
||||||
<th>식별번호</th>
|
</a>
|
||||||
<th>등록일</th>
|
</li>
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="table-group-divider">
|
|
||||||
<tr class="userInfoTr" th:each="userInfo:${userInfoList}">
|
|
||||||
<input type="hidden" name="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
|
||||||
<input type="hidden" name="dicCode" class="dicCode" th:value="${userInfo.dicCode}">
|
|
||||||
<td class="checkBoxTd">
|
|
||||||
<input type="checkbox" id="userChk" name="userChk" class="userInfoCheckBox" th:value="${userInfo.userSeq}">
|
|
||||||
</td>
|
|
||||||
<th:block th:if="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
|
||||||
<td></td>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${commonCode.itemCd == userInfo.ogCd}">
|
|
||||||
<td th:text="${commonCode.itemValue}"></td>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${userInfo.ofcCd eq null or userInfo.ofcCd eq ''}">
|
|
||||||
<td></td>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${userInfo.ofcCd eq null or userInfo.ofcCd eq ''}">
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OFC')}">
|
|
||||||
<th:block th:if="${commonCode.itemCd == userInfo.ofcCd}">
|
|
||||||
<td th:text="${commonCode.itemValue}"></td>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${userInfo.titleCd eq null or userInfo.titleCd eq ''}">
|
|
||||||
<td></td>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${userInfo.titleCd eq null or userInfo.titleCd eq ''}">
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
|
||||||
<th:block th:if="${commonCode.itemCd == userInfo.titleCd}">
|
|
||||||
<td th:text="${commonCode.itemValue}"></td>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
<td th:text="${userInfo.userNm}"></td>
|
|
||||||
<td th:text="${userInfo.userId}"></td>
|
|
||||||
<td th:text="${userInfo.dicCode}"></td>
|
|
||||||
<td th:text="${#temporals.format(userInfo.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-between">
|
|
||||||
<div class="col-auto">
|
|
||||||
<th:block th:if="${searchParams.userStatus eq 'USC002'}">
|
|
||||||
<input type="button" class="btn btn-danger" value="반려" id="companionBtn">
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${searchParams.userStatus eq 'USC003'}">
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
<button type="button" class="btn btn-info" id="syncToKwmsAllBtn">인사시스템 정보 불러오기</button>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
|
</li>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
<div class="col-auto">
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
<nav aria-label="Page navigation">
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
<ul class="pagination mb-0">
|
<span aria-hidden="true">»</span>
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
</a>
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
</li>
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
</th:block>
|
||||||
<span aria-hidden="true">«</span>
|
</ul>
|
||||||
</a>
|
</nav>
|
||||||
</li>
|
</div>
|
||||||
</th:block>
|
<div class="col-auto">
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
<th:block th:if="${searchParams.userStatus eq 'USC002'}">
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
<input type="button" class="btn btn-success" value="외사경찰 승인" id="approvalBtn">
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
<input type="button" class="btn btn-warning" value="비외사경찰 승인" id="notPoliceBtn">
|
||||||
</li>
|
</th:block>
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
|
||||||
<span aria-hidden="true">»</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<th:block th:if="${searchParams.userStatus eq 'USC002'}">
|
|
||||||
<input type="button" class="btn btn-success" value="외사경찰 승인" id="approvalBtn">
|
|
||||||
<input type="button" class="btn btn-warning" value="비외사경찰 승인" id="notPoliceBtn">
|
|
||||||
</th:block>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -16,126 +16,122 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row justify-content-start">
|
<form id="searchFm" method="get" th:action="@{/equip/pvreUseList}">
|
||||||
<div class="col-12">
|
<input type="hidden" name="excel">
|
||||||
<div class="card">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<div class="card-body">
|
<div class="row justify-content-between py-1">
|
||||||
<form id="searchFm" method="get" th:action="@{/equip/pvreUseList}">
|
<div class="col-auto">
|
||||||
<input type="hidden" name="excel">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<div class="row justify-content-between py-1">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
</select>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
</div>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<div class="col-auto">
|
||||||
</th:block>
|
<button type="button" class="btn btn-sm btn-success" id="goExcel">엑셀다운</button>
|
||||||
</select>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="row justify-content-end py-1">
|
||||||
<button type="button" class="btn btn-sm btn-success" id="goExcel">엑셀다운</button>
|
<div class="col-1" th:if="${accessAuth eq 'ACC003'}">
|
||||||
</div>
|
<select class="form-select form-select-sm" name="mgtOrgan">
|
||||||
</div>
|
<option value="">경찰서</option>
|
||||||
<div class="row justify-content-end py-1">
|
<th:block th:each="organList:${organList}">
|
||||||
<div class="col-1" th:if="${accessAuth eq 'ACC003'}">
|
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq searchParams.mgtOrgan}"></option>
|
||||||
<select class="form-select form-select-sm" name="mgtOrgan">
|
</th:block>
|
||||||
<option value="">경찰서</option>
|
</select>
|
||||||
<th:block th:each="organList:${organList}">
|
</div>
|
||||||
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq searchParams.mgtOrgan}"></option>
|
<div class="col-1">
|
||||||
</th:block>
|
<input type="text" class="form-control form-control-sm" placeholder="연번" name="useNo" th:value="${searchParams.useNo}">
|
||||||
</select>
|
</div>
|
||||||
</div>
|
<div class="col-1">
|
||||||
<div class="col-1">
|
<select class="form-select form-select-sm" name="detailType">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="연번" name="useNo" th:value="${searchParams.useNo}">
|
<option value="">사용사유</option>
|
||||||
</div>
|
<th:block th:each="commonCode:${session.commonCode.get('PVREUSE')}">
|
||||||
<div class="col-1">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.detailType}"></option>
|
||||||
<select class="form-select form-select-sm" name="detailType">
|
</th:block>
|
||||||
<option value="">사용사유</option>
|
</select>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('PVREUSE')}">
|
</div>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.detailType}"></option>
|
<div class="col-2">
|
||||||
</th:block>
|
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||||
</select>
|
<select class="form-select form-select-sm w-30" name="dateSelector">
|
||||||
</div>
|
<option value="">조건선택</option>
|
||||||
<div class="col-2">
|
<option value="useDt" th:selected="${searchParams.dateSelector eq 'useDt'}">사용일</option>
|
||||||
<div class="input-group input-daterange" id="dateSelectorDiv">
|
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>
|
||||||
<select class="form-select form-select-sm w-30" name="dateSelector">
|
</select>
|
||||||
<option value="">조건선택</option>
|
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
<option value="useDt" th:selected="${searchParams.dateSelector eq 'useDt'}">사용일</option>
|
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>
|
</div>
|
||||||
</select>
|
</div>
|
||||||
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
</form>
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
<div class="card">
|
||||||
</div>
|
<div class="card-body">
|
||||||
</div>
|
<div class="row">
|
||||||
</form>
|
<div class="col-12">
|
||||||
<div class="row">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<div class="col-12">
|
<thead>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<tr class="table-secondary">
|
||||||
<thead>
|
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
|
||||||
<tr class="table-secondary">
|
<th>연번</th>
|
||||||
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
|
<th>경찰서</th>
|
||||||
<th>연번</th>
|
<th>사용일시</th>
|
||||||
<th>경찰서</th>
|
<th>사용사유</th>
|
||||||
<th>사용일시</th>
|
<th>사용인원</th>
|
||||||
<th>사용사유</th>
|
<th>비고</th>
|
||||||
<th>사용인원</th>
|
<th>최종수정일</th>
|
||||||
<th>비고</th>
|
</tr>
|
||||||
<th>최종수정일</th>
|
</thead>
|
||||||
</tr>
|
<tbody class="table-group-divider">
|
||||||
</thead>
|
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
|
||||||
<tbody class="table-group-divider">
|
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
|
||||||
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
|
<td th:text="${list.useNo}"></td>
|
||||||
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
|
<td th:text="${list.sosok}"></td>
|
||||||
<td th:text="${list.useNo}"></td>
|
<td th:text="${list.useDt}"></td>
|
||||||
<td th:text="${list.sosok}"></td>
|
<td th:text="${list.detailTypeName}" th:if="${list.detailType != 'PVREUSE007'}"></td>
|
||||||
<td th:text="${list.useDt}"></td>
|
<td th:text="${list.detailSelf}" th:unless="${list.detailType != 'PVREUSE007'}"></td>
|
||||||
<td th:text="${list.detailTypeName}" th:if="${list.detailType != 'PVREUSE007'}"></td>
|
<td th:text="${list.peopleCnt}"></td>
|
||||||
<td th:text="${list.detailSelf}" th:unless="${list.detailType != 'PVREUSE007'}"></td>
|
<td th:text="${list.description}"></td>
|
||||||
<td th:text="${list.peopleCnt}"></td>
|
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
<td th:text="${list.description}"></td>
|
</tr>
|
||||||
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
</tbody>
|
||||||
</tr>
|
</table>
|
||||||
</tbody>
|
</div>
|
||||||
</table>
|
</div>
|
||||||
</div>
|
<div class="row justify-content-between">
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="row justify-content-between">
|
<button type="button" class="btn btn-warning" id="historyBtn">수정이력</button>
|
||||||
<div class="col-auto">
|
<button type="button" class="btn btn-danger" id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
|
||||||
<button type="button" class="btn btn-warning" id="historyBtn">수정이력</button>
|
</div>
|
||||||
<button type="button" class="btn btn-danger" id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
|
<div class="col-auto">
|
||||||
</div>
|
<nav aria-label="Page navigation">
|
||||||
<div class="col-auto">
|
<ul class="pagination mb-0">
|
||||||
<nav aria-label="Page navigation">
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<ul class="pagination mb-0">
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
<span aria-hidden="true">«</span>
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
</a>
|
||||||
<span aria-hidden="true">«</span>
|
</li>
|
||||||
</a>
|
</th:block>
|
||||||
</li>
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
</th:block>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
</li>
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
</th:block>
|
||||||
</li>
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
</th:block>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
<span aria-hidden="true">»</span>
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
</a>
|
||||||
<span aria-hidden="true">»</span>
|
</li>
|
||||||
</a>
|
</th:block>
|
||||||
</li>
|
</ul>
|
||||||
</th:block>
|
</nav>
|
||||||
</ul>
|
</div>
|
||||||
</nav>
|
<div class="col-auto">
|
||||||
</div>
|
<button type="button" class="btn btn-primary" id="addPvre" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
||||||
<div class="col-auto">
|
|
||||||
<button type="button" class="btn btn-primary" id="addPvre" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -16,126 +16,122 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row justify-content-start">
|
<form id="searchFm" method="get" th:action="@{/equip/qirUseList}">
|
||||||
<div class="col-12">
|
<input type="hidden" name="excel">
|
||||||
<div class="card">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<div class="card-body">
|
<div class="row justify-content-between py-1">
|
||||||
<form id="searchFm" method="get" th:action="@{/equip/qirUseList}">
|
<div class="col-auto">
|
||||||
<input type="hidden" name="excel">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<div class="row justify-content-between py-1">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
</select>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
</div>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<div class="col-auto">
|
||||||
</th:block>
|
<button type="button" class="btn btn-sm btn-success" id="goExcel">엑셀다운</button>
|
||||||
</select>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="row justify-content-end py-1">
|
||||||
<button type="button" class="btn btn-sm btn-success" id="goExcel">엑셀다운</button>
|
<div class="col-1" th:if="${accessAuth eq 'ACC003'}">
|
||||||
</div>
|
<select class="form-select form-select-sm" name="mgtOrgan">
|
||||||
</div>
|
<option value="">경찰서</option>
|
||||||
<div class="row justify-content-end py-1">
|
<th:block th:each="organList:${organList}">
|
||||||
<div class="col-1" th:if="${accessAuth eq 'ACC003'}">
|
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq searchParams.mgtOrgan}"></option>
|
||||||
<select class="form-select form-select-sm" name="mgtOrgan">
|
</th:block>
|
||||||
<option value="">경찰서</option>
|
</select>
|
||||||
<th:block th:each="organList:${organList}">
|
</div>
|
||||||
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq searchParams.mgtOrgan}"></option>
|
<div class="col-1">
|
||||||
</th:block>
|
<input type="text" class="form-control form-control-sm" placeholder="연번" name="useNo" th:value="${searchParams.useNo}">
|
||||||
</select>
|
</div>
|
||||||
</div>
|
<div class="col-1">
|
||||||
<div class="col-1">
|
<select class="form-select form-select-sm" name="detailType">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="연번" name="useNo" th:value="${searchParams.useNo}">
|
<option value="">사용사유</option>
|
||||||
</div>
|
<th:block th:each="commonCode:${session.commonCode.get('QIRUSE')}">
|
||||||
<div class="col-1">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.detailType}"></option>
|
||||||
<select class="form-select form-select-sm" name="detailType">
|
</th:block>
|
||||||
<option value="">사용사유</option>
|
</select>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('QIRUSE')}">
|
</div>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.detailType}"></option>
|
<div class="col-2">
|
||||||
</th:block>
|
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||||
</select>
|
<select class="form-select form-select-sm w-30" name="dateSelector">
|
||||||
</div>
|
<option value="">조건</option>
|
||||||
<div class="col-2">
|
<option value="useDt" th:selected="${searchParams.dateSelector eq 'useDt'}">사용일</option>
|
||||||
<div class="input-group input-daterange" id="dateSelectorDiv">
|
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>
|
||||||
<select class="form-select form-select-sm w-30" name="dateSelector">
|
</select>
|
||||||
<option value="">조건</option>
|
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
<option value="useDt" th:selected="${searchParams.dateSelector eq 'useDt'}">사용일</option>
|
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
<option value="wrtDt" th:selected="${searchParams.dateSelector eq 'wrtDt'}">최종수정일</option>
|
</div>
|
||||||
</select>
|
</div>
|
||||||
<input type="text" class="form-control form-control-sm w-35" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control form-control-sm w-35" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
</form>
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
<div class="card">
|
||||||
</div>
|
<div class="card-body">
|
||||||
</div>
|
<div class="row">
|
||||||
</form>
|
<div class="col-12">
|
||||||
<div class="row">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<div class="col-12">
|
<thead>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<tr class="table-secondary">
|
||||||
<thead>
|
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
|
||||||
<tr class="table-secondary">
|
<th>연번</th>
|
||||||
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
|
<th>경찰서</th>
|
||||||
<th>연번</th>
|
<th>사용일시</th>
|
||||||
<th>경찰서</th>
|
<th>사용사유</th>
|
||||||
<th>사용일시</th>
|
<th>사용인원</th>
|
||||||
<th>사용사유</th>
|
<th>비고</th>
|
||||||
<th>사용인원</th>
|
<th>최종수정일</th>
|
||||||
<th>비고</th>
|
</tr>
|
||||||
<th>최종수정일</th>
|
</thead>
|
||||||
</tr>
|
<tbody class="table-group-divider">
|
||||||
</thead>
|
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
|
||||||
<tbody class="table-group-divider">
|
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
|
||||||
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
|
<td th:text="${list.useNo}"></td>
|
||||||
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
|
<td th:text="${list.sosok}"></td>
|
||||||
<td th:text="${list.useNo}"></td>
|
<td th:text="${list.useDt}"></td>
|
||||||
<td th:text="${list.sosok}"></td>
|
<td th:text="${list.detailTypeName}" th:if="${list.detailType != 'QIRUSE006'}"></td>
|
||||||
<td th:text="${list.useDt}"></td>
|
<td th:text="${list.detailSelf}" th:unless="${list.detailType != 'QIRUSE006'}"></td>
|
||||||
<td th:text="${list.detailTypeName}" th:if="${list.detailType != 'QIRUSE006'}"></td>
|
<td th:text="${list.peopleCnt}"></td>
|
||||||
<td th:text="${list.detailSelf}" th:unless="${list.detailType != 'QIRUSE006'}"></td>
|
<td th:text="${list.description}"></td>
|
||||||
<td th:text="${list.peopleCnt}"></td>
|
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
<td th:text="${list.description}"></td>
|
</tr>
|
||||||
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
</tbody>
|
||||||
</tr>
|
</table>
|
||||||
</tbody>
|
</div>
|
||||||
</table>
|
</div>
|
||||||
</div>
|
<div class="row justify-content-between">
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="row justify-content-between">
|
<button type="button" class="btn btn-warning" id="historyBtn">수정이력</button>
|
||||||
<div class="col-auto">
|
<button type="button" class="btn btn-danger" id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
|
||||||
<button type="button" class="btn btn-warning" id="historyBtn">수정이력</button>
|
</div>
|
||||||
<button type="button" class="btn btn-danger" id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
|
<div class="col-auto">
|
||||||
</div>
|
<nav aria-label="Page navigation">
|
||||||
<div class="col-auto">
|
<ul class="pagination mb-0">
|
||||||
<nav aria-label="Page navigation">
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<ul class="pagination mb-0">
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
<span aria-hidden="true">«</span>
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
</a>
|
||||||
<span aria-hidden="true">«</span>
|
</li>
|
||||||
</a>
|
</th:block>
|
||||||
</li>
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
</th:block>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
</li>
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
</th:block>
|
||||||
</li>
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
</th:block>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
<span aria-hidden="true">»</span>
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
</a>
|
||||||
<span aria-hidden="true">»</span>
|
</li>
|
||||||
</a>
|
</th:block>
|
||||||
</li>
|
</ul>
|
||||||
</th:block>
|
</nav>
|
||||||
</ul>
|
</div>
|
||||||
</nav>
|
<div class="col-auto">
|
||||||
</div>
|
<button type="button" class="btn btn-primary" id="addQir" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
||||||
<div class="col-auto">
|
|
||||||
<button type="button" class="btn btn-primary" id="addQir" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -22,110 +22,110 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light">
|
<div class="col-12 card bg-light">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="card">
|
<form method="get" th:action="@{/faStatistics/internationalCrimeArrest}" id="icaSearchForm">
|
||||||
<div class="card-body">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<form method="get" th:action="@{/faStatistics/internationalCrimeArrest}" id="icaSearchForm">
|
<input type="hidden" name="dateSelector" value="wrtDt">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<div class="row justify-content-between py-1">
|
||||||
<input type="hidden" name="dateSelector" value="wrtDt">
|
<div class="col-auto">
|
||||||
<div class="row justify-content-between py-1">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<div class="col-auto">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
</th:block>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
</select>
|
||||||
</th:block>
|
</div>
|
||||||
</select>
|
<div class="col-8">
|
||||||
</div>
|
<div class="row">
|
||||||
<div class="col-8">
|
<div class="col-11">
|
||||||
<div class="row">
|
<div class="row justify-content-end">
|
||||||
<div class="col-11">
|
<div class="col-2">
|
||||||
<div class="row justify-content-end">
|
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="caseNum" th:value="${searchParams.caseNum}">
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="caseNum" th:value="${searchParams.caseNum}">
|
|
||||||
</div>
|
|
||||||
<div class="col-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'}">
|
|
||||||
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq searchParams.organ}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2" id="departmentDiv">
|
|
||||||
<select class="form-select form-select-sm" name="department">
|
|
||||||
<option value="">경찰서 선택</option>
|
|
||||||
<th:block th:each="organConfig:${organConfigList}">
|
|
||||||
<th:block th:if="${organConfig.parentOrgan ne null && organConfig.organType ne 'OGC002'}">
|
|
||||||
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq searchParams.department}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="crimeType" id="searchCrimeType">
|
|
||||||
<option value="">범죄테마 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('CTH')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.crimeType}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="violationType" id="searchViolationType">
|
|
||||||
<option value="">위반유형 선택</option>
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CTH')))}">
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('CTH'+num)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${internationalCrimeArrest.violationType eq commonCode.itemCd}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="죄명" name="crimeName" th:value="${searchParams.crimeName}">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="발생원표" name="occurTable" th:value="${searchParams.occurTable}">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="검거원표" name="arrestTable" th:value="${searchParams.arrestTable}">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="피의자원표" name="suspectTable" th:value="${searchParams.suspectTable}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm dateSelector" placeholder="범죄인지" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(searchParams.crimeAwarenessDt, 'yyyy-MM-dd')}">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm dateSelector" placeholder="사건송치" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(searchParams.caseSentDt, 'yyyy-MM-dd')}">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="processResult" id="processResult">
|
|
||||||
<option value="">신병처리 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
|
||||||
th:selected="${commonCode.itemCd eq searchParams.processResult}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-1 d-grid gap-2">
|
<div class="col-2">
|
||||||
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
<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'}">
|
||||||
|
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq searchParams.organ}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2" id="departmentDiv">
|
||||||
|
<select class="form-select form-select-sm" name="department">
|
||||||
|
<option value="">경찰서 선택</option>
|
||||||
|
<th:block th:each="organConfig:${organConfigList}">
|
||||||
|
<th:block th:if="${organConfig.parentOrgan ne null && organConfig.organType ne 'OGC002'}">
|
||||||
|
<option th:value="${organConfig.organCd}" th:text="${organConfig.organNm}" th:selected="${organConfig.organCd eq searchParams.department}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="crimeType" id="searchCrimeType">
|
||||||
|
<option value="">범죄테마 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('CTH')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.crimeType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="violationType" id="searchViolationType">
|
||||||
|
<option value="">위반유형 선택</option>
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CTH')))}">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('CTH'+num)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${internationalCrimeArrest.violationType eq commonCode.itemCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="죄명" name="crimeName" th:value="${searchParams.crimeName}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="발생원표" name="occurTable" th:value="${searchParams.occurTable}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="검거원표" name="arrestTable" th:value="${searchParams.arrestTable}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="피의자원표" name="suspectTable" th:value="${searchParams.suspectTable}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" placeholder="범죄인지" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(searchParams.crimeAwarenessDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" placeholder="사건송치" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(searchParams.caseSentDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="processResult" id="processResult">
|
||||||
|
<option value="">신병처리 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||||
|
th:selected="${commonCode.itemCd eq searchParams.processResult}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered ws-nowrap" id="ivsgtTable">
|
<table class="table table-sm table-hover table-bordered ws-nowrap" id="ivsgtTable">
|
||||||
|
|
|
||||||
|
|
@ -16,77 +16,77 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<form id="searchFm" method="get" th:action="@{/target/partInfoList}">
|
||||||
|
<input type="hidden" name="excel">
|
||||||
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
<div class="row justify-content-between py-1">
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-8">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-11">
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="mgtOrgan">
|
||||||
|
<option value="">해경서</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mgtOrgan}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="landPolice" th:value="${searchParams.landPolice}" placeholder="육경서">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="mpWorkType">
|
||||||
|
<option value="">해경서 근무방법</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mpWorkType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="plWorkType">
|
||||||
|
<option value="">육경서 근무방법</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.plWorkType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="piManagerName" th:value="${searchParams.piManagerName}" placeholder="담당자">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="terminalNm" th:value="${searchParams.terminalNm}" placeholder="터미널명">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
<div class="row justify-content-start">
|
<div class="row justify-content-start">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form id="searchFm" method="get" th:action="@{/target/partInfoList}">
|
|
||||||
<input type="hidden" name="excel">
|
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
|
||||||
<div class="row justify-content-between py-1">
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-11">
|
|
||||||
<div class="row justify-content-end pb-1">
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="mgtOrgan">
|
|
||||||
<option value="">해경서</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mgtOrgan}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="landPolice" th:value="${searchParams.landPolice}" placeholder="육경서">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="mpWorkType">
|
|
||||||
<option value="">해경서 근무방법</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.mpWorkType}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="plWorkType">
|
|
||||||
<option value="">육경서 근무방법</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.plWorkType}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="piManagerName" th:value="${searchParams.piManagerName}" placeholder="담당자">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" name="terminalNm" th:value="${searchParams.terminalNm}" placeholder="터미널명">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-1 d-grid gap-2">
|
|
||||||
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<input type="hidden" id="selectedKey">
|
<input type="hidden" id="selectedKey">
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
<li><a href="/userMgt/userMgtPage" class="dropdown-item">외사경찰관리</a></li>
|
<li><a href="/userMgt/userMgtPage" class="dropdown-item">외사경찰관리</a></li>
|
||||||
<li><a href="/authMgt/authMgtPage" class="dropdown-item">권한설정</a></li>
|
<li><a href="/authMgt/authMgtPage" class="dropdown-item">권한설정</a></li>
|
||||||
<li><a href="/userMgt/userLog/requestLog" class="dropdown-item">사용자로그</a></li>
|
<li><a href="/userMgt/userLog/requestLog" class="dropdown-item">사용자로그</a></li>
|
||||||
<li><a href="#" class="dropdown-item">접속설정</a></li>
|
<li><a href="#" class="dropdown-item disabled">접속설정</a></li>
|
||||||
</th:block>
|
</th:block>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
|
|
@ -42,73 +42,77 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8">
|
<div class="col-8">
|
||||||
<div class="row justify-content-end">
|
<div class="row">
|
||||||
<div class="col-11">
|
<div class="col-11">
|
||||||
<div class="row justify-content-end pb-1" th:if="${accessAuth eq 'ACC003'}">
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
|
||||||
<option value="">관서 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="작성자" name="wrtUserNm" th:value="${searchParams.wrtUserNm}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end pb-1">
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="affairType1">
|
|
||||||
<option value="">분야1 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DC01')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType1}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="affairType2">
|
|
||||||
<option value="">분야2 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DC02')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType2}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="affairType3">
|
|
||||||
<option value="">분야3 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DC03')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType3}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
<select class="form-select form-select-sm" name="affairType4">
|
|
||||||
<option value="">분야4 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DC04')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType4}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-end">
|
<div class="row justify-content-end">
|
||||||
<div class="col-2">
|
<div class="col-11">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
<div class="row justify-content-end pb-1" th:if="${accessAuth eq 'ACC003'}">
|
||||||
</div>
|
<div class="col-2">
|
||||||
<div class="col-2">
|
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||||
<select class="form-select form-select-sm" name="affairStatus">
|
<option value="">관서 선택</option>
|
||||||
<option value="">상태 선택</option>
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairStatus}"></option>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</th:block>
|
||||||
</div>
|
</select>
|
||||||
<div class="col-4">
|
</div>
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<input type="text" class="form-control form-control-sm" placeholder="작성자" name="wrtUserNm" th:value="${searchParams.wrtUserNm}">
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end pb-1">
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="affairType1">
|
||||||
|
<option value="">분야1 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DC01')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType1}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="affairType2">
|
||||||
|
<option value="">분야2 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DC02')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType2}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="affairType3">
|
||||||
|
<option value="">분야3 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DC03')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType3}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="affairType4">
|
||||||
|
<option value="">분야4 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DC04')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairType4}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="affairStatus">
|
||||||
|
<option value="">상태 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.affairStatus}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,12 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>외사경찰 경력 현황</h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>외사경찰 경력 현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">외사경찰 > 외사경찰 경력현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
@ -27,164 +30,156 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
||||||
<div class="card">
|
<form id="searchFm" method="get" th:action="@{/police/careerMgt}">
|
||||||
<div class="card-body">
|
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
||||||
<div class="row">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<div class="col-12 pb-2">
|
<div class="row justify-content-between pb-1">
|
||||||
<form id="searchFm" method="get" th:action="@{/police/careerMgt}">
|
<div class="col-auto">
|
||||||
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<div class="row justify-content-between">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
</select>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
</div>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<div class="col-auto">
|
||||||
</th:block>
|
<div class="row justify-content-end">
|
||||||
</select>
|
<div class="col-auto">
|
||||||
</div>
|
<select class="form-select form-select-sm" name="ogCd">
|
||||||
<div class="col-auto">
|
<option value="">관서 선택</option>
|
||||||
<div class="row justify-content-end">
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
<div class="col-auto">
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
<select class="form-select form-select-sm" name="ogCd">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd eq commonCode.itemCd}"></option>
|
||||||
<option value="">관서 선택</option>
|
</th:block>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
</th:block>
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
</select>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd eq commonCode.itemCd}"></option>
|
</div>
|
||||||
</th:block>
|
<div class="col-auto">
|
||||||
</th:block>
|
<select class="form-select form-select-sm" name="sex">
|
||||||
</select>
|
<option value="">성별</option>
|
||||||
</div>
|
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
||||||
<div class="col-auto">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.sex eq commonCode.itemCd}"></option>
|
||||||
<select class="form-select form-select-sm" name="sex">
|
</th:block>
|
||||||
<option value="">성별</option>
|
</select>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
</div>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.sex eq commonCode.itemCd}"></option>
|
<div class="col-auto">
|
||||||
</th:block>
|
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
||||||
</select>
|
</div>
|
||||||
</div>
|
<div class="col-auto">
|
||||||
<div class="col-auto">
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
</div>
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-12">
|
</form>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<div class="row">
|
||||||
<thead>
|
<div class="col-12">
|
||||||
<tr class="table-secondary">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<th>순번</th>
|
<thead>
|
||||||
<th>계급</th>
|
<tr class="table-secondary">
|
||||||
<th>성명</th>
|
<th>순번</th>
|
||||||
<th>청</th>
|
<th>계급</th>
|
||||||
<th>부서</th>
|
<th>성명</th>
|
||||||
<th>생년월일</th>
|
<th>청</th>
|
||||||
<th>성별</th>
|
<th>부서</th>
|
||||||
<th>외사경력</th>
|
<th>생년월일</th>
|
||||||
<th>수사경력</th>
|
<th>성별</th>
|
||||||
<th>정보경력</th>
|
<th>외사경력</th>
|
||||||
<th>보안경력</th>
|
<th>수사경력</th>
|
||||||
<th>국제경력</th>
|
<th>정보경력</th>
|
||||||
</tr>
|
<th>보안경력</th>
|
||||||
</thead>
|
<th>국제경력</th>
|
||||||
<tbody class="table-group-divider">
|
</tr>
|
||||||
<tr class="policeTr" th:each="police:${policeList}">
|
</thead>
|
||||||
<input type="hidden" class="userSeq" th:value="${police.userSeq}">
|
<tbody class="table-group-divider">
|
||||||
<td th:text="${police.rownum}"></td>
|
<tr class="policeTr" th:each="police:${policeList}">
|
||||||
<td th:text="${police.titleCd}"></td>
|
<input type="hidden" class="userSeq" th:value="${police.userSeq}">
|
||||||
<td th:text="${police.userNm}"></td>
|
<td th:text="${police.rownum}"></td>
|
||||||
<td th:text="${police.organNm}"></td>
|
<td th:text="${police.titleCd}"></td>
|
||||||
<td th:text="${police.ofcCd}"></td>
|
<td th:text="${police.userNm}"></td>
|
||||||
<td th:text="${police.birthDate}"></td>
|
<td th:text="${police.organNm}"></td>
|
||||||
<td th:text="${police.sex}"></td>
|
<td th:text="${police.ofcCd}"></td>
|
||||||
<td>
|
<td th:text="${police.birthDate}"></td>
|
||||||
<th:block th:if="${police.crc001Sum ne null and police.crc001Sum ne 0}">
|
<td th:text="${police.sex}"></td>
|
||||||
<th:block th:if="${police.crc001Sum > 12}">
|
<td>
|
||||||
<th:block th:text="|${police.crc001Sum/12}년 ${police.crc001Sum%12}개월|"></th:block>
|
<th:block th:if="${police.crc001Sum ne null and police.crc001Sum ne 0}">
|
||||||
</th:block>
|
<th:block th:if="${police.crc001Sum > 12}">
|
||||||
<th:block th:unless="${police.crc001Sum > 12}">
|
<th:block th:text="|${police.crc001Sum/12}년 ${police.crc001Sum%12}개월|"></th:block>
|
||||||
<th:block th:text="|${police.crc001Sum}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<th:block th:if="${police.crc002Sum ne null and police.crc002Sum ne 0}">
|
|
||||||
<th:block th:if="${police.crc002Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc002Sum/12}년 ${police.crc002Sum%12}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${police.crc002Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc002Sum}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<th:block th:if="${police.crc003Sum ne null and police.crc003Sum ne 0}">
|
|
||||||
<th:block th:if="${police.crc003Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc003Sum/12}년 ${police.crc003Sum%12}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${police.crc003Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc003Sum}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<th:block th:if="${police.crc004Sum ne null and police.crc004Sum ne 0}">
|
|
||||||
<th:block th:if="${police.crc004Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc004Sum/12}년 ${police.crc004Sum%12}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${police.crc004Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc004Sum}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<th:block th:if="${police.crc005Sum ne null and police.crc005Sum ne 0}">
|
|
||||||
<th:block th:if="${police.crc005Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc005Sum/12}년 ${police.crc005Sum%12}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${police.crc005Sum > 12}">
|
|
||||||
<th:block th:text="|${police.crc005Sum}개월|"></th:block>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-auto">
|
|
||||||
<nav aria-label="Page navigation">
|
|
||||||
<ul class="pagination mb-0">
|
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
|
||||||
<span aria-hidden="true">«</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
<th:block th:unless="${police.crc001Sum > 12}">
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
<th:block th:text="|${police.crc001Sum}개월|"></th:block>
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
</th:block>
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
</td>
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
<td>
|
||||||
<span aria-hidden="true">»</span>
|
<th:block th:if="${police.crc002Sum ne null and police.crc002Sum ne 0}">
|
||||||
</a>
|
<th:block th:if="${police.crc002Sum > 12}">
|
||||||
</li>
|
<th:block th:text="|${police.crc002Sum/12}년 ${police.crc002Sum%12}개월|"></th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</ul>
|
<th:block th:unless="${police.crc002Sum > 12}">
|
||||||
</nav>
|
<th:block th:text="|${police.crc002Sum}개월|"></th:block>
|
||||||
</div>
|
</th:block>
|
||||||
</div>
|
</th:block>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<th:block th:if="${police.crc003Sum ne null and police.crc003Sum ne 0}">
|
||||||
|
<th:block th:if="${police.crc003Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc003Sum/12}년 ${police.crc003Sum%12}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${police.crc003Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc003Sum}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<th:block th:if="${police.crc004Sum ne null and police.crc004Sum ne 0}">
|
||||||
|
<th:block th:if="${police.crc004Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc004Sum/12}년 ${police.crc004Sum%12}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${police.crc004Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc004Sum}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<th:block th:if="${police.crc005Sum ne null and police.crc005Sum ne 0}">
|
||||||
|
<th:block th:if="${police.crc005Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc005Sum/12}년 ${police.crc005Sum%12}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${police.crc005Sum > 12}">
|
||||||
|
<th:block th:text="|${police.crc005Sum}개월|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<nav aria-label="Page navigation">
|
||||||
|
<ul class="pagination mb-0">
|
||||||
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,12 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>외사경찰 교육 현황</h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>외사경찰 교육 현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">외사경찰 > 외사경찰 교육 현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
@ -27,131 +30,121 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
||||||
<div class="card">
|
<form id="searchFm" method="get" th:action="@{/police/educationMgt}">
|
||||||
<div class="card-body">
|
<input type="hidden" name="excel">
|
||||||
<div class="row">
|
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
||||||
<div class="col-12">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<form id="searchFm" method="get" th:action="@{/police/educationMgt}">
|
<div class="row justify-content-between pb-1">
|
||||||
<input type="hidden" name="excel">
|
<div class="col-auto">
|
||||||
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<div class="row justify-content-between py-1">
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
</select>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
</div>
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<div class="col-8">
|
||||||
</th:block>
|
<div class="row justify-content-end">
|
||||||
</select>
|
<div class="col-auto">
|
||||||
</div>
|
<select class="form-select form-select-sm" name="ogCd">
|
||||||
</div>
|
<option value="">관서 선택</option>
|
||||||
<div class="row justify-content-end pe-3 py-1">
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
<div class="col-auto">
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
<div class="row justify-content-end">
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd eq commonCode.itemCd}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<select class="form-select form-select-sm" name="ogCd">
|
</th:block>
|
||||||
<option value="">관서 선택</option>
|
</select>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
</div>
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
<div class="col-auto">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.ogCd eq commonCode.itemCd}"></option>
|
<select class="form-select form-select-sm" name="sex">
|
||||||
</th:block>
|
<option value="">성별</option>
|
||||||
</th:block>
|
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
||||||
</select>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.sex eq commonCode.itemCd}"></option>
|
||||||
</div>
|
</th:block>
|
||||||
<div class="col-auto">
|
</select>
|
||||||
<select class="form-select form-select-sm" name="sex">
|
</div>
|
||||||
<option value="">성별</option>
|
<div class="col-auto">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.sex eq commonCode.itemCd}"></option>
|
</div>
|
||||||
</th:block>
|
<div class="col-auto">
|
||||||
</select>
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-12">
|
|
||||||
<table class="table table-sm table-hover table-bordered">
|
|
||||||
<thead>
|
|
||||||
<tr class="table-secondary">
|
|
||||||
<th>순번</th>
|
|
||||||
<th>계급</th>
|
|
||||||
<th>성명</th>
|
|
||||||
<th>청</th>
|
|
||||||
<th>현부서<br>과</th>
|
|
||||||
<th>생년월일</th>
|
|
||||||
<th>성별</th>
|
|
||||||
<th>고등학교</th>
|
|
||||||
<th>전문대</th>
|
|
||||||
<th>대학교</th>
|
|
||||||
<th>석사</th>
|
|
||||||
<th>박사</th>
|
|
||||||
<th>전공</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="table-group-divider">
|
|
||||||
<tr class="policeTr" th:each="list:${policeList}">
|
|
||||||
<th:block>
|
|
||||||
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
|
|
||||||
</th:block>
|
|
||||||
<td th:text="${list.rownum}"></td>
|
|
||||||
<td th:text="${list.titleCd}"></td>
|
|
||||||
<td th:text="${list.userNm}"></td>
|
|
||||||
<td th:text="${list.organNm}"></td>
|
|
||||||
<td th:text="${list.ofcCd}"></td>
|
|
||||||
<td th:text="${list.birthDate}"></td>
|
|
||||||
<td th:text="${list.sex}"></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-between">
|
|
||||||
<div class="col-auto">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<nav aria-label="Page navigation">
|
|
||||||
<ul class="pagination mb-0">
|
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
|
||||||
<span aria-hidden="true">«</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
|
||||||
<span aria-hidden="true">»</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th>순번</th>
|
||||||
|
<th>계급</th>
|
||||||
|
<th>성명</th>
|
||||||
|
<th>청</th>
|
||||||
|
<th>현부서<br>과</th>
|
||||||
|
<th>생년월일</th>
|
||||||
|
<th>성별</th>
|
||||||
|
<th>고등학교</th>
|
||||||
|
<th>전문대</th>
|
||||||
|
<th>대학교</th>
|
||||||
|
<th>석사</th>
|
||||||
|
<th>박사</th>
|
||||||
|
<th>전공</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider">
|
||||||
|
<tr class="policeTr" th:each="list:${policeList}">
|
||||||
|
<th:block>
|
||||||
|
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
|
||||||
|
</th:block>
|
||||||
|
<td th:text="${list.rownum}"></td>
|
||||||
|
<td th:text="${list.titleCd}"></td>
|
||||||
|
<td th:text="${list.userNm}"></td>
|
||||||
|
<td th:text="${list.organNm}"></td>
|
||||||
|
<td th:text="${list.ofcCd}"></td>
|
||||||
|
<td th:text="${list.birthDate}"></td>
|
||||||
|
<td th:text="${list.sex}"></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<nav aria-label="Page navigation">
|
||||||
|
<ul class="pagination mb-0">
|
||||||
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,12 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>외사경찰 정원/현원 현황</h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>외사경찰 정원/현원 현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">외사경찰 > 외사경찰 정원/현원 현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
@ -28,10 +31,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="row justify-content-start">
|
<div class="card">
|
||||||
<div class="col-12">
|
<div class="card-body">
|
||||||
<div class="card">
|
<div class="row">
|
||||||
<div class="card-body">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered" id="psTable">
|
<table class="table table-sm table-hover table-bordered" id="psTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="table-secondary">
|
<tr class="table-secondary">
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,12 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4 th:text="${userStatus eq 'USC003' ? '現 외사경찰 현황' : (userStatus eq 'USC006' ? '前 외사경찰 현황' : (userStatus eq 'USC007' ? '非 외사경찰 현황' : null))}"></h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>외사경찰현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">외사경찰 > 외사경찰현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
@ -27,30 +30,30 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
<div class="tab-content bg-white border border-top-0 p-3" id="userContent">
|
||||||
<div class="card">
|
<div class="row pb-1">
|
||||||
<div class="card-body">
|
<div class="col-12">
|
||||||
<div class="row">
|
<form id="searchFm" method="get" th:action="@{/police/policeList}">
|
||||||
<div class="col-12">
|
<input type="hidden" name="excel">
|
||||||
<form id="searchFm" method="get" th:action="@{/police/policeList}">
|
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
||||||
<input type="hidden" name="excel">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<input type="hidden" name="userStatus" th:value="${userStatus}">
|
<div class="row justify-content-end pb-1">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<div class="col-auto">
|
||||||
<div class="row justify-content-between py-1">
|
<button type="button" class="btn bnt-sm btn-success" id="goExcel">엑셀다운</button>
|
||||||
<div class="col-auto">
|
</div>
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
</div>
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
<div class="row justify-content-between">
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<div class="col-auto">
|
||||||
</th:block>
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
</select>
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
</div>
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
<div class="col-auto">
|
</th:block>
|
||||||
<button type="button" class="btn btn-success" id="goExcel">엑셀다운</button>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-8">
|
||||||
<div class="row justify-content-end pe-3 py-1">
|
<div class="row">
|
||||||
<div class="col-auto">
|
<div class="col-11">
|
||||||
<div class="row justify-content-end">
|
<div class="row justify-content-end">
|
||||||
<div class="col-auto">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="ogCd">
|
<select class="form-select form-select-sm" name="ogCd">
|
||||||
<option value="">관서 선택</option>
|
<option value="">관서 선택</option>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
|
@ -60,7 +63,7 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-2">
|
||||||
<select class="form-select form-select-sm" name="sex">
|
<select class="form-select form-select-sm" name="sex">
|
||||||
<option value="">성별</option>
|
<option value="">성별</option>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
||||||
|
|
@ -68,108 +71,108 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-2">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
<input type="text" class="form-control form-control-sm" placeholder="이름" name="userNm" th:value="${searchParams.userNm}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-2">
|
||||||
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-12">
|
</div>
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<div class="row">
|
||||||
<thead>
|
<div class="col-12">
|
||||||
<tr class="table-secondary">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<th>순번</th>
|
<thead>
|
||||||
<th>계급</th>
|
<tr class="table-secondary">
|
||||||
<th>성명</th>
|
<th>순번</th>
|
||||||
<th>청</th>
|
<th>계급</th>
|
||||||
<th>현부서<br>과</th>
|
<th>성명</th>
|
||||||
<th>생년월일</th>
|
<th>청</th>
|
||||||
<th>성별</th>
|
<th>현부서<br>과</th>
|
||||||
<th>최초<br>임용</th>
|
<th>생년월일</th>
|
||||||
<th>현 계급<br>임용</th>
|
<th>성별</th>
|
||||||
<th>현 부서<br>임용</th>
|
<th>최초<br>임용</th>
|
||||||
<th>수사경과<br>보유여부</th>
|
<th>현 계급<br>임용</th>
|
||||||
<th>외사경력</th>
|
<th>현 부서<br>임용</th>
|
||||||
<th>입직<br>경로</th>
|
<th>수사경과<br>보유여부</th>
|
||||||
<th>최종<br>수정일</th>
|
<th>외사경력</th>
|
||||||
<th:block th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">
|
<th>입직<br>경로</th>
|
||||||
<th>전출<input type="checkbox" id="chk-all"></th>
|
<th>최종<br>수정일</th>
|
||||||
</th:block>
|
<th:block th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">
|
||||||
<th:block th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">
|
<th>전출<input type="checkbox" id="chk-all"></th>
|
||||||
<th>전입<input type="checkbox" id="chk-all"></th>
|
</th:block>
|
||||||
</th:block>
|
<th:block th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">
|
||||||
</tr>
|
<th>전입<input type="checkbox" id="chk-all"></th>
|
||||||
</thead>
|
</th:block>
|
||||||
<tbody class="table-group-divider">
|
</tr>
|
||||||
<tr class="policeTr" th:each="list:${policeList}">
|
</thead>
|
||||||
<th:block>
|
<tbody class="table-group-divider">
|
||||||
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
|
<tr class="policeTr" th:each="list:${policeList}">
|
||||||
</th:block>
|
<th:block>
|
||||||
<td th:text="${list.rownum}"></td>
|
<input type="hidden" class="userSeq" th:value="${list.userSeq}">
|
||||||
<td th:text="${list.titleCd}"></td>
|
</th:block>
|
||||||
<td th:text="${list.userNm}"></td>
|
<td th:text="${list.rownum}"></td>
|
||||||
<td th:text="${list.organNm}"></td>
|
<td th:text="${list.titleCd}"></td>
|
||||||
<td th:text="${list.ofcCd}"></td>
|
<td th:text="${list.userNm}"></td>
|
||||||
<td th:text="${list.birthDate}"></td>
|
<td th:text="${list.organNm}"></td>
|
||||||
<td th:text="${list.sex}"></td>
|
<td th:text="${list.ofcCd}"></td>
|
||||||
<td th:text="${list.policeInDate}"></td>
|
<td th:text="${list.birthDate}"></td>
|
||||||
<td th:text="${list.titleInDate}"></td>
|
<td th:text="${list.sex}"></td>
|
||||||
<td th:text="${list.ofcInDate}"></td>
|
<td th:text="${list.policeInDate}"></td>
|
||||||
<td th:text="${list.outturnCd}"></td>
|
<td th:text="${list.titleInDate}"></td>
|
||||||
<td></td>
|
<td th:text="${list.ofcInDate}"></td>
|
||||||
<td th:text="${list.jobInCd}"></td>
|
<td th:text="${list.outturnCd}"></td>
|
||||||
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
<td></td>
|
||||||
<th:block th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">
|
<td th:text="${list.jobInCd}"></td>
|
||||||
<td class="checkBoxTd"><input type="checkbox" name="policeChk" class="policeCheckBox"></td>
|
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
</th:block>
|
<th:block th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">
|
||||||
<th:block th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">
|
<td class="checkBoxTd"><input type="checkbox" name="policeChk" class="policeCheckBox"></td>
|
||||||
<td class="checkBoxTd"><input type="checkbox" name="policeChk" class="policeCheckBox"></td>
|
</th:block>
|
||||||
</th:block>
|
<th:block th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">
|
||||||
</tr>
|
<td class="checkBoxTd"><input type="checkbox" name="policeChk" class="policeCheckBox"></td>
|
||||||
</tbody>
|
</th:block>
|
||||||
</table>
|
</tr>
|
||||||
</div>
|
</tbody>
|
||||||
</div>
|
</table>
|
||||||
<div class="row justify-content-between">
|
</div>
|
||||||
<div class="col-auto">
|
</div>
|
||||||
</div>
|
<div class="row justify-content-between">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<nav aria-label="Page navigation">
|
</div>
|
||||||
<ul class="pagination mb-0">
|
<div class="col-auto">
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
<nav aria-label="Page navigation">
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
<ul class="pagination mb-0">
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
<span aria-hidden="true">«</span>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
</a>
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
</li>
|
<span aria-hidden="true">«</span>
|
||||||
</th:block>
|
</a>
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
</li>
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
</th:block>
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
</li>
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
</th:block>
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
</li>
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
</th:block>
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
<span aria-hidden="true">»</span>
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
</a>
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
</li>
|
<span aria-hidden="true">»</span>
|
||||||
</th:block>
|
</a>
|
||||||
</ul>
|
</li>
|
||||||
</nav>
|
</th:block>
|
||||||
</div>
|
</ul>
|
||||||
<div class="col-auto">
|
</nav>
|
||||||
<button type="button" class="btn btn-success" id="outBtn" th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">전출</button>
|
</div>
|
||||||
<button type="button" class="btn btn-success" id="inBtn" th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">전입</button>
|
<div class="col-auto">
|
||||||
</div>
|
<button type="button" class="btn btn-success" id="outBtn" th:if="${userStatus eq 'USC003'} and ${accessAuth eq 'ACC003'}">전출</button>
|
||||||
</div>
|
<button type="button" class="btn btn-success" id="inBtn" th:if="${accessAuth eq 'ACC003'} and (${userStatus eq 'USC006'} or ${userStatus eq 'USC007'})">전입</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -15,48 +15,48 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<form method="get" th:action="@{/publicBoard/boardPage}">
|
||||||
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
<div class="row justify-content-between py-1">
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto" sec:authorize="hasRole('ROLE_SUB_ADMIN')">
|
||||||
|
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||||
|
<option value="">관서 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
<div class="row justify-content-start">
|
<div class="row justify-content-start">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form method="get" th:action="@{/publicBoard/boardPage}">
|
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
|
||||||
<div class="row justify-content-between py-1">
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-auto" sec:authorize="hasRole('ROLE_SUB_ADMIN')">
|
|
||||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
|
||||||
<option value="">관서 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
|
|
||||||
|
|
@ -15,51 +15,51 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row justify-content-start">
|
<form method="get" th:action="@{/publicBoard/noticePage}">
|
||||||
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
<div class="row justify-content-between py-1">
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||||
|
<option value="">관서 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="작성자" name="wrtUserNm" th:value="${searchParams.wrtUserNm}">
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-1 d-grid gap-0">
|
||||||
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form method="get" th:action="@{/publicBoard/noticePage}">
|
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
|
||||||
<div class="row justify-content-between py-1">
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
|
||||||
<option value="">관서 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="작성자" name="wrtUserNm" th:value="${searchParams.wrtUserNm}">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
|
|
||||||
|
|
@ -16,48 +16,48 @@
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
<form method="get" th:action="@{/publicBoard/qnaPage}">
|
||||||
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
<div class="row justify-content-between py-1">
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-auto" sec:authorize="hasRole('ROLE_SUB_ADMIN')">
|
||||||
|
<select class="form-select form-select-sm" name="wrtOrgan">
|
||||||
|
<option value="">관서 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
<div class="row justify-content-start">
|
<div class="row justify-content-start">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form method="get" th:action="@{/publicBoard/qnaPage}">
|
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
|
||||||
<div class="row justify-content-between py-1">
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-auto" sec:authorize="hasRole('ROLE_SUB_ADMIN')">
|
|
||||||
<select class="form-select form-select-sm" name="wrtOrgan">
|
|
||||||
<option value="">관서 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.wrtOrgan}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="제목" name="title" th:value="${searchParams.title}">
|
|
||||||
</div>
|
|
||||||
<div class="col-4">
|
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
|
|
|
||||||
|
|
@ -7,170 +7,180 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>민간 통역인 현황</h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>민간통역인 현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">민간통역인 > 민간통역인 현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form id="searchFm" method="get" th:action="@{/translator/info}">
|
<form id="searchFm" method="get" th:action="@{/translator/info}">
|
||||||
<input type="hidden" name="excel">
|
<input type="hidden" name="excel">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
<div class="row pe-3 py-1">
|
<div class="row justify-content-between py-1">
|
||||||
<div class="col-1">
|
<div class="col-auto">
|
||||||
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
<select class="form-select form-select-sm" name="rowCnt" id="rowCnt">
|
||||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt==num*10}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-10">
|
<div class="col-8">
|
||||||
<div class="row justify-content-end pb-1">
|
<div class="row">
|
||||||
<div class="col-auto">
|
<div class="col-11">
|
||||||
<select class="form-select form-select-sm" name="dmlYn">
|
<div class="row justify-content-end pb-1">
|
||||||
<option value="">해촉 선택</option>
|
<div class="col-2">
|
||||||
<option value="O" th:selected="${'O' eq searchParams.dmlYn}">O</option>
|
<select class="form-select form-select-sm" name="dmlYn">
|
||||||
<option value="X" th:selected="${'X' eq searchParams.dmlYn}">X</option>
|
<option value="">해촉 선택</option>
|
||||||
</select>
|
<option value="O" th:selected="${'O' eq searchParams.dmlYn}">O</option>
|
||||||
|
<option value="X" th:selected="${'X' eq searchParams.dmlYn}">X</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="ogdp1">
|
||||||
|
<option value="">관서 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.ogdp1}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="trLang">
|
||||||
|
<option value="">언어 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('LGG')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trLang}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="trVisa">
|
||||||
|
<option value="">비자 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trVisa}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-2">
|
||||||
|
<select class="form-select form-select-sm" name="trNny">
|
||||||
|
<option value="">국적선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trNny}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-select-sm" name="trName" th:value="${searchParams.trName}" placeholder="성명">
|
||||||
|
</div>
|
||||||
|
<!--<div class="col-2">
|
||||||
|
<input type="text" class="form-control form-select-sm" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일" readonly>
|
||||||
|
</div>-->
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="input-group input-daterange" id="dateSelectorDiv">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="위촉일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="위촉일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-1 d-grid gap-2">
|
||||||
<select class="form-select form-select-sm" name="ogdp1">
|
<input type="submit" class="btn btn-primary" id="searchBtn" value="검색">
|
||||||
<option value="">관서 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.ogdp1}"></option>
|
|
||||||
</th:block>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="trLang">
|
|
||||||
<option value="">언어 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('LGG')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trLang}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="trVisa">
|
|
||||||
<option value="">비자 선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trVisa}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<select class="form-select form-select-sm" name="trNny">
|
|
||||||
<option value="">국적선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trNny}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row justify-content-end">
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-select-sm" name="trName" th:value="${searchParams.trName}" placeholder="성명">
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<input type="text" class="form-control form-select-sm" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-1 d-grid gap-2">
|
|
||||||
<input type="submit" class="btn btn-lg btn-primary col-auto" id="searchBtn" value="검색">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="row justify-content-start">
|
<div class="card">
|
||||||
<div class="col-12">
|
<div class="card-body">
|
||||||
<div class="card">
|
<div class="row">
|
||||||
<div class="card-body">
|
<div class="col-12">
|
||||||
<div class="row">
|
<input type="hidden" id="selectedKey">
|
||||||
<input type="hidden" id="selectedKey">
|
<input type="hidden" id="selectedVerNo">
|
||||||
<input type="hidden" id="selectedVerNo">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<thead>
|
||||||
<thead>
|
<tr class="table-secondary">
|
||||||
<tr class="table-secondary">
|
<th>연번</th>
|
||||||
<th>연번</th>
|
<th>관서명</th>
|
||||||
<th>관서명</th>
|
<th>언어</th>
|
||||||
<th>언어</th>
|
<th>경력</th>
|
||||||
<th>경력</th>
|
<th>성명</th>
|
||||||
<th>성명</th>
|
<th>성별</th>
|
||||||
<th>성별</th>
|
<th>나이</th>
|
||||||
<th>나이</th>
|
<th>국적</th>
|
||||||
<th>국적</th>
|
<th>학력</th>
|
||||||
<th>학력</th>
|
<th>자격증</th>
|
||||||
<th>자격증</th>
|
<th>비자</th>
|
||||||
<th>비자</th>
|
<th>해촉</th>
|
||||||
<th>해촉</th>
|
<th>위촉일</th>
|
||||||
<th>위촉일</th>
|
<th>연락처</th>
|
||||||
<th>연락처</th>
|
</tr>
|
||||||
</tr>
|
</thead>
|
||||||
</thead>
|
<tbody class="table-group-divider">
|
||||||
<tbody class="table-group-divider">
|
<tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
|
||||||
<tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
|
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
|
||||||
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
|
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
|
||||||
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
|
<td>
|
||||||
<td>
|
<p class="m-0" th:text="${trInfo.translatorKey}"></p>
|
||||||
<p class="m-0" th:text="${trInfo.translatorKey}"></p>
|
<ul class="dropdown-menu">
|
||||||
<ul class="dropdown-menu">
|
<li><a class="dropdown-item careerInfo" href="#">경력관리</a></li>
|
||||||
<li><a class="dropdown-item careerInfo" href="#">경력관리</a></li>
|
<li><a class="dropdown-item translatorInfo" href="#">인적사항</a></li>
|
||||||
<li><a class="dropdown-item translatorInfo" href="#">인적사항</a></li>
|
|
||||||
</ul>
|
|
||||||
</td>
|
|
||||||
<td th:text="${trInfo.ogdp1}"></td>
|
|
||||||
<td th:text="${trInfo.trLang}"></td>
|
|
||||||
<td th:text="${trInfo.trCareer}"></td>
|
|
||||||
<td th:text="${trInfo.trName}"></td>
|
|
||||||
<td th:text="${trInfo.trSex}"></td>
|
|
||||||
<td th:text="${trInfo.trAge}"></td>
|
|
||||||
<td th:text="${trInfo.trNny}"></td>
|
|
||||||
<td th:text="${trInfo.trEdu}"></td>
|
|
||||||
<td th:text="${trInfo.trCft}"></td>
|
|
||||||
<td th:text="${trInfo.trVisa}"></td>
|
|
||||||
<td th:if="${trInfo.dmlYn == 'O'}">●</td>
|
|
||||||
<td th:unless="${trInfo.dmlYn == 'O'}"></td>
|
|
||||||
<td th:text="${trInfo.aptDt}"></td>
|
|
||||||
<td th:text="${trInfo.trPhone}"></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="row justify-content-between">
|
|
||||||
<div class="col-auto">
|
|
||||||
<button id="goExcel" class="btn btn-success">엑셀다운</button>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<nav aria-label="Page navigation">
|
|
||||||
<ul class="pagination mb-0">
|
|
||||||
<th:block th:if="${searchParams.pageIndex>3}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Previous">
|
|
||||||
<span aria-hidden="true">«</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
|
||||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
|
||||||
<a class="page-link" href="#" th:text="${num}"></a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
|
||||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
|
||||||
<a class="page-link" href="#" aria-label="Next">
|
|
||||||
<span aria-hidden="true">»</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</th:block>
|
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</td>
|
||||||
</div>
|
<td th:text="${trInfo.ogdp1}"></td>
|
||||||
<div class="col-auto">
|
<td th:text="${trInfo.trLang}"></td>
|
||||||
<button data-bs-toggle="modal" class="btn btn-primary" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
<td th:text="${trInfo.trCareer}"></td>
|
||||||
</div>
|
<td th:text="${trInfo.trName}"></td>
|
||||||
</div>
|
<td th:text="${trInfo.trSex}"></td>
|
||||||
|
<td th:text="${trInfo.trAge}"></td>
|
||||||
|
<td th:text="${trInfo.trNny}"></td>
|
||||||
|
<td th:text="${trInfo.trEdu}"></td>
|
||||||
|
<td th:text="${trInfo.trCft}"></td>
|
||||||
|
<td th:text="${trInfo.trVisa}"></td>
|
||||||
|
<td th:if="${trInfo.dmlYn == 'O'}">●</td>
|
||||||
|
<td th:unless="${trInfo.dmlYn == 'O'}"></td>
|
||||||
|
<td th:text="${trInfo.aptDt}"></td>
|
||||||
|
<td th:text="${trInfo.trPhone}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto">
|
||||||
|
<button id="goExcel" class="btn btn-success">엑셀다운</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<nav aria-label="Page navigation">
|
||||||
|
<ul class="pagination mb-0">
|
||||||
|
<th:block th:if="${searchParams.pageIndex>3}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Previous">
|
||||||
|
<span aria-hidden="true">«</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||||
|
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex==num?'active':''}">
|
||||||
|
<a class="page-link" href="#" th:text="${num}"></a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||||
|
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||||
|
<a class="page-link" href="#" aria-label="Next">
|
||||||
|
<span aria-hidden="true">»</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</th:block>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button data-bs-toggle="modal" class="btn btn-primary" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -188,114 +198,114 @@
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="translatorInsert" action="#" method="post">
|
<form id="translatorInsert" action="#" method="post">
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<br>
|
<br>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="ogdp1" class="col-sm-1 col-form-label text-center fs-13 fw-bold">관서</label>
|
<label for="ogdp1" class="col-sm-1 col-form-label text-center fs-13 fw-bold">관서</label>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<select class="form-select" id="ogdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}">
|
<select class="form-select" id="ogdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
|
||||||
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq userOrgan}"></option>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq userOrgan}"></option>
|
||||||
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</select>
|
||||||
</select>
|
</div>
|
||||||
|
<label for="lang" class="col-sm-1 col-form-label text-center fs-13 fw-bold">언어</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<select class="form-select" id="lang" name="trLang">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('LGG')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="trCareer" class="col-sm-1 col-form-label text-center fs-13 fw-bold">경력</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="lang" class="col-sm-1 col-form-label text-center fs-13 fw-bold">언어</label>
|
<div class="row mb-1">
|
||||||
<div class="col-sm-3">
|
<label for="trName" class="col-sm-1 col-form-label text-center fs-13 fw-bold">성명</label>
|
||||||
<select class="form-select" id="lang" name="trLang">
|
<div class="col-sm-3">
|
||||||
<option value="">선택</option>
|
<input type="text" class="form-control" id="trName" name="trName">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('LGG')}">
|
</div>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
<label for="trSex" class="col-sm-1 col-form-label text-center fs-13 fw-bold">성별</label>
|
||||||
</th:block>
|
<div class="col-sm-3">
|
||||||
</select>
|
<select class="form-select" id="trSex" name="trSex">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="trPhone" class="col-sm-1 col-form-label text-center fs-13 fw-bold">연락처</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trPhone" name="trPhone">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="trCareer" class="col-sm-1 col-form-label text-center fs-13 fw-bold">경력</label>
|
<div class="row mb-1">
|
||||||
<div class="col-sm-3">
|
<label for="trNny" class="col-sm-1 col-form-label text-center fs-13 fw-bold">국적</label>
|
||||||
<input type="text" class="form-control" id="trCareer" name="trCareer">
|
<div class="col-sm-3">
|
||||||
|
<select class="form-select" id="trNny" name="trNny">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="trAge" class="col-sm-1 col-form-label text-center fs-13 fw-bold">나이</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trAge" name="trAge">
|
||||||
|
</div>
|
||||||
|
<label for="trEdu" class="col-sm-1 col-form-label text-center fs-13 fw-bold">학력</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<select class="form-select" id="trEdu" name="trEdu">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('EDU')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row mb-1">
|
||||||
<div class="row mb-1">
|
<label for="trCft" class="col-sm-1 col-form-label text-center fs-13 fw-bold">자격증</label>
|
||||||
<label for="trName" class="col-sm-1 col-form-label text-center fs-13 fw-bold">성명</label>
|
<div class="col-sm-3">
|
||||||
<div class="col-sm-3">
|
<input type="text" class="form-control" id="trCft" name="trCft">
|
||||||
<input type="text" class="form-control" id="trName" name="trName">
|
</div>
|
||||||
|
<label for="trVisa" class="col-sm-1 col-form-label text-center fs-13 fw-bold">비자</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<select class="form-select" id="trVisa" name="trVisa">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="aptDt" class="col-sm-1 col-form-label text-center fs-13 fw-bold">위촉일</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="aptDt" name="aptDt" readonly>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="trSex" class="col-sm-1 col-form-label text-center fs-13 fw-bold">성별</label>
|
<div class="mb-2 row">
|
||||||
<div class="col-sm-3">
|
<label for="dmlYn" class="col-sm-1 col-form-label text-center fs-13 fw-bold">해촉</label>
|
||||||
<select class="form-select" id="trSex" name="trSex">
|
<div class="col-sm-3">
|
||||||
<option value="">선택</option>
|
<select class="form-select" id="dmlYn" name="dmlYn">
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
|
<option value="">선택</option>
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
<option value="O">O</option>
|
||||||
</th:block>
|
<option value="X">X</option>
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="remark" class="col-sm-1 col-form-label text-center fs-13 fw-bold">비고</label>
|
||||||
|
<div class="col-sm-7">
|
||||||
|
<input type="text" class="form-control" id="remark" name="remark">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="trPhone" class="col-sm-1 col-form-label text-center fs-13 fw-bold">연락처</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<input type="text" class="form-control" id="trPhone" name="trPhone">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row mb-1">
|
|
||||||
<label for="trNny" class="col-sm-1 col-form-label text-center fs-13 fw-bold">국적</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<select class="form-select" id="trNny" name="trNny">
|
|
||||||
<option value="">선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<label for="trAge" class="col-sm-1 col-form-label text-center fs-13 fw-bold">나이</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<input type="text" class="form-control" id="trAge" name="trAge">
|
|
||||||
</div>
|
|
||||||
<label for="trEdu" class="col-sm-1 col-form-label text-center fs-13 fw-bold">학력</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<select class="form-select" id="trEdu" name="trEdu">
|
|
||||||
<option value="">선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('EDU')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row mb-1">
|
|
||||||
<label for="trCft" class="col-sm-1 col-form-label text-center fs-13 fw-bold">자격증</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<input type="text" class="form-control" id="trCft" name="trCft">
|
|
||||||
</div>
|
|
||||||
<label for="trVisa" class="col-sm-1 col-form-label text-center fs-13 fw-bold">비자</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<select class="form-select" id="trVisa" name="trVisa">
|
|
||||||
<option value="">선택</option>
|
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
|
||||||
</th:block>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<label for="aptDt" class="col-sm-1 col-form-label text-center fs-13 fw-bold">위촉일</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<input type="text" class="form-control" id="aptDt" name="aptDt" readonly>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-2 row">
|
|
||||||
<label for="dmlYn" class="col-sm-1 col-form-label text-center fs-13 fw-bold">해촉</label>
|
|
||||||
<div class="col-sm-3">
|
|
||||||
<select class="form-select" id="dmlYn" name="dmlYn">
|
|
||||||
<option value="">선택</option>
|
|
||||||
<option value="O">O</option>
|
|
||||||
<option value="X">X</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<label for="remark" class="col-sm-1 col-form-label text-center fs-13 fw-bold">비고</label>
|
|
||||||
<div class="col-sm-7">
|
|
||||||
<input type="text" class="form-control" id="remark" name="remark">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
|
||||||
|
|
|
||||||
|
|
@ -7,68 +7,69 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main>
|
<main>
|
||||||
<h4>어권별 현황</h4>
|
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row justify-content-between">
|
||||||
|
<div class="col-auto"><h4>어권별 현황</h4></div>
|
||||||
|
<div class="col-auto"><p class="mb-0 mt-2">민간통역인 > 어권별 현황</p></div>
|
||||||
|
</div>
|
||||||
<div class="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card bg-light text-center">
|
<div class="col-12 card bg-light text-center">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row justify-content-start">
|
<div class="row justify-content-end pb-1">
|
||||||
<div class="col-12">
|
<div class="col-auto">
|
||||||
<div class="card">
|
<button id="excelDown" class="btn btn-success">엑셀다운</button>
|
||||||
<div class="card-body">
|
</div>
|
||||||
<div class="row justify-content-end">
|
</div>
|
||||||
<div class="col-auto">
|
<div class="card">
|
||||||
<button id="excelDown" class="btn btn-success">엑셀다운</button>
|
<div class="card-body">
|
||||||
</div>
|
<div class="row">
|
||||||
</div>
|
<div class="col-12">
|
||||||
<div class="row">
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<thead>
|
||||||
<thead>
|
<tr class="table-secondary">
|
||||||
<tr class="table-secondary">
|
<th colspan="2">어권별 구분</th>
|
||||||
<th colspan="2">어권별 구분</th>
|
<th>총계</th>
|
||||||
<th>총계</th>
|
<th>중부청</th>
|
||||||
<th>중부청</th>
|
<th>서해청</th>
|
||||||
<th>서해청</th>
|
<th>남해청</th>
|
||||||
<th>남해청</th>
|
<th>동해청</th>
|
||||||
<th>동해청</th>
|
<th>제주청</th>
|
||||||
<th>제주청</th>
|
</tr>
|
||||||
</tr>
|
<tr class="table-secondary">
|
||||||
<tr class="table-secondary">
|
<th>연번</th>
|
||||||
<th>연번</th>
|
<th>계</th>
|
||||||
<th>계</th>
|
<th:block th:if="${not #strings.isEmpty(total)}">
|
||||||
<th:block th:if="${not #strings.isEmpty(total)}">
|
|
||||||
<th th:text="${total.total_total}"></th>
|
<th th:text="${total.total_total}"></th>
|
||||||
<th th:text="${total.total_center}"></th>
|
<th th:text="${total.total_center}"></th>
|
||||||
<th th:text="${total.total_west}"></th>
|
<th th:text="${total.total_west}"></th>
|
||||||
<th th:text="${total.total_south}"></th>
|
<th th:text="${total.total_south}"></th>
|
||||||
<th th:text="${total.total_east}"></th>
|
<th th:text="${total.total_east}"></th>
|
||||||
<th th:text="${total.total_jeju}"></th>
|
<th th:text="${total.total_jeju}"></th>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:unless="${not #strings.isEmpty(total)}">
|
<th:block th:unless="${not #strings.isEmpty(total)}">
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
<th>0</th>
|
<th>0</th>
|
||||||
</th:block>
|
</th:block>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider">
|
<tbody class="table-group-divider">
|
||||||
<tr class="" th:each="cnt,index:${cntList}">
|
<tr class="" th:each="cnt,index:${cntList}">
|
||||||
<td th:text="${index.index+1}"></td>
|
<td th:text="${index.index+1}"></td>
|
||||||
<td th:text="${cnt.lang}"></td>
|
<td th:text="${cnt.lang}"></td>
|
||||||
<td th:text="${cnt.cnt_total}"></td>
|
<td th:text="${cnt.cnt_total}"></td>
|
||||||
<td th:text="${cnt.cnt_center}"></td>
|
<td th:text="${cnt.cnt_center}"></td>
|
||||||
<td th:text="${cnt.cnt_west}"></td>
|
<td th:text="${cnt.cnt_west}"></td>
|
||||||
<td th:text="${cnt.cnt_south}"></td>
|
<td th:text="${cnt.cnt_south}"></td>
|
||||||
<td th:text="${cnt.cnt_east}"></td>
|
<td th:text="${cnt.cnt_east}"></td>
|
||||||
<td th:text="${cnt.cnt_jeju}"></td>
|
<td th:text="${cnt.cnt_jeju}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -29,19 +29,18 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-8">
|
||||||
<div class="row justify-content-end">
|
<div class="row">
|
||||||
<div class="col-10">
|
<div class="col-11">
|
||||||
<div class="row">
|
<div class="row justify-content-end pb-1">
|
||||||
<div class="col-3"></div>
|
<div class="col-2">
|
||||||
<div class="col-3">
|
|
||||||
<select class="form-select form-select-sm" name="viewYn">
|
<select class="form-select form-select-sm" name="viewYn">
|
||||||
<option value="">열람여부</option>
|
<option value="">열람여부</option>
|
||||||
<option value="Y" th:selected="${searchParams.viewYn eq 'Y'}">O</option>
|
<option value="Y" th:selected="${searchParams.viewYn eq 'Y'}">O</option>
|
||||||
<option value="N" th:selected="${searchParams.viewYn eq 'N'}">X</option>
|
<option value="N" th:selected="${searchParams.viewYn eq 'N'}">X</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-4">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<select class="form-select form-select-sm" name="cat1Cd">
|
<select class="form-select form-select-sm" name="cat1Cd">
|
||||||
<option value="">대분류</option>
|
<option value="">대분류</option>
|
||||||
|
|
@ -63,10 +62,12 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 pt-1">
|
</div>
|
||||||
|
<div class="row justify-content-end">
|
||||||
|
<div class="col-4">
|
||||||
<input type="text" class="form-control form-control-sm" placeholder="메시지" name="alarmMsg" th:value="${searchParams.alarmMsg}">
|
<input type="text" class="form-control form-control-sm" placeholder="메시지" name="alarmMsg" th:value="${searchParams.alarmMsg}">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 pt-1">
|
<div class="col-4">
|
||||||
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
<div class="input-group w-auto input-daterange" id="dateSelectorDiv">
|
||||||
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
<input type="text" class="form-control form-control-sm" id="startDate" name="startDate" placeholder="시작일" autocomplete="off" readonly th:value="${searchParams.startDate}">
|
||||||
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
<input type="text" class="form-control form-control-sm" id="endDate" name="endDate" placeholder="종료일" autocomplete="off" readonly th:value="${searchParams.endDate}">
|
||||||
|
|
@ -74,7 +75,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 d-grid gap-2">
|
<div class="col-1 d-grid gap-0">
|
||||||
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
<input type="submit" class="btn btn-sm btn-primary" id="searchBtn" value="검색">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -86,45 +87,46 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<table class="table table-sm table-hover table-bordered">
|
<div class="col-12">
|
||||||
<thead>
|
<table class="table table-sm table-hover table-bordered">
|
||||||
<tr class="table-secondary">
|
<thead>
|
||||||
<th>대분류</th>
|
<tr class="table-secondary">
|
||||||
<th>중분류</th>
|
<th>대분류</th>
|
||||||
<th>소분류</th>
|
<th>중분류</th>
|
||||||
<th>메시지</th>
|
<th>소분류</th>
|
||||||
<th>열람여부</th>
|
<th>메시지</th>
|
||||||
<th>등록일시</th>
|
<th>열람여부</th>
|
||||||
</tr>
|
<th>등록일시</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody class="table-group-divider">
|
</thead>
|
||||||
<tr class="alarmTr" th:each="alarm:${pageAlarmList}">
|
<tbody class="table-group-divider">
|
||||||
<input type="hidden" class="alarmKey" th:value="${alarm.alarmKey}">
|
<tr class="alarmTr" th:each="alarm:${pageAlarmList}">
|
||||||
<input type="hidden" class="userSeq" th:value="${alarm.userSeq}">
|
<input type="hidden" class="alarmKey" th:value="${alarm.alarmKey}">
|
||||||
<td>
|
<input type="hidden" class="userSeq" th:value="${alarm.userSeq}">
|
||||||
<th:block th:each="code:${session.commonCode.get('CAT1')}">
|
<td>
|
||||||
<th:block th:if="${code.itemCd eq alarm.cat1Cd}" th:text="${code.itemValue}"></th:block>
|
<th:block th:each="code:${session.commonCode.get('CAT1')}">
|
||||||
</th:block>
|
<th:block th:if="${code.itemCd eq alarm.cat1Cd}" th:text="${code.itemValue}"></th:block>
|
||||||
</td>
|
</th:block>
|
||||||
<td>
|
</td>
|
||||||
<th:block th:each="code:${session.commonCode.get('CAT2')}">
|
<td>
|
||||||
<th:block th:if="${code.itemCd eq alarm.cat2Cd}" th:text="${code.itemValue}"></th:block>
|
<th:block th:each="code:${session.commonCode.get('CAT2')}">
|
||||||
</th:block>
|
<th:block th:if="${code.itemCd eq alarm.cat2Cd}" th:text="${code.itemValue}"></th:block>
|
||||||
</td>
|
</th:block>
|
||||||
<td>
|
</td>
|
||||||
<th:block th:each="code:${session.commonCode.get('CAT3')}">
|
<td>
|
||||||
<th:block th:if="${code.itemCd eq alarm.cat3Cd}" th:text="${code.itemValue}"></th:block>
|
<th:block th:each="code:${session.commonCode.get('CAT3')}">
|
||||||
</th:block>
|
<th:block th:if="${code.itemCd eq alarm.cat3Cd}" th:text="${code.itemValue}"></th:block>
|
||||||
</td>
|
</th:block>
|
||||||
<td th:text="${alarm.alarmMsg}"></td>
|
</td>
|
||||||
<td th:text="${alarm.viewYn eq 'Y'?'O':'X'}"></td>
|
<td th:text="${alarm.alarmMsg}"></td>
|
||||||
<td th:text="${#temporals.format(alarm.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
<td th:text="${alarm.viewYn eq 'Y'?'O':'X'}"></td>
|
||||||
</tr>
|
<td th:text="${#temporals.format(alarm.wrtDt, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-between">
|
<div class="row justify-content-center">
|
||||||
<div class="col-auto"></div>
|
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<nav aria-label="Page navigation">
|
<nav aria-label="Page navigation">
|
||||||
<ul class="pagination mb-0">
|
<ul class="pagination mb-0">
|
||||||
|
|
@ -150,9 +152,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
|
||||||
<input type="button" class="btn btn-success" value="등록" id="addNoticeBtn" sec:authorize="hasRole('ROLE_SUB_ADMIN')">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,10 @@
|
||||||
<div class="row justify-content-end">
|
<div class="row justify-content-end">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button type="button" class="btn btn-sm btn-info" id="syncBtn" th:disabled="${#strings.isEmpty(userInfo.dicCode)}">인사시스템 정보 연동</button>
|
<button type="button" class="btn btn-sm btn-info" id="syncBtn" th:disabled="${#strings.isEmpty(userInfo.dicCode)}">인사시스템 정보 연동</button>
|
||||||
<label for="syncBtn" style="font-size: 12px" th:if="${#strings.isEmpty(userInfo.dicCode)}">공무원식별번호가 필요합니다.</label>
|
<label for="syncBtn" class="fs-12" th:if="${#strings.isEmpty(userInfo.dicCode)}">공무원식별번호가 필요합니다.</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<button type="button" class="btn btn-sm btn-primary" id="updateBtn">수정</button>
|
<button type="button" class="btn btn-sm btn-success" id="updateBtn">수정</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue