대시보드 수정.

ajp 설정 변경
인사시스템 연동 수정.
master
강석 최 2022-12-28 15:30:07 +09:00
parent 0cff930690
commit e68c9e35da
19 changed files with 652 additions and 669 deletions

View File

@ -1,8 +1,14 @@
package com.dbnt.faisp.config;
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
import com.dbnt.faisp.main.faRpt.model.FaRptBoard;
import com.dbnt.faisp.main.faRpt.service.FaRptService;
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
import com.dbnt.faisp.main.menuMgt.service.MenuMgtService;
import com.dbnt.faisp.main.organMgt.service.OrganConfigService;
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
import com.dbnt.faisp.main.publicBoard.service.PublicBoardService;
import com.dbnt.faisp.main.userInfo.model.UserInfo;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
@ -25,6 +31,9 @@ public class BaseController {
private final CodeMgtService codeMgtService;
private final OrganConfigService organConfigService;
private final MenuMgtService menuMgtService;
private final PublicBoardService publicBoardService;
private final FaRptService faRptService;
private final AffairService affairService;
@GetMapping("/")
public ModelAndView loginCheck(@AuthenticationPrincipal UserInfo loginUser) {
@ -57,8 +66,27 @@ public class BaseController {
}
@GetMapping("/dashboard")
public ModelAndView dashboard() {
public ModelAndView dashboard(@AuthenticationPrincipal UserInfo loginUser) {
ModelAndView mav = new ModelAndView("login/dashboard");
PublicBoard noticeParams = new PublicBoard();
noticeParams.setPublicType("PLB001");
noticeParams.setRowCnt(5);
noticeParams.setDownOrganCdList(loginUser.getDownOrganCdList());
noticeParams.setUpOrganCdList(loginUser.getUpOrganCdList());
mav.addObject("noticeList", publicBoardService.selectContentList(noticeParams));
FaRptBoard faRpt = new FaRptBoard();
faRpt.setActiveTab("receive");
faRpt.setRowCnt(5);
faRpt.setStatus("DST007");
faRpt.setReceiveUserSeq(loginUser.getUserSeq());
mav.addObject("faRptList", faRptService.selectFaRptList(faRpt));
AffairBoard affair = new AffairBoard();
affair.setAffairCategory("CAT215");
affair.setRatingOrgan(loginUser.getOgCd());
affair.setRowCnt(5);
mav.addObject("affair1List", affairService.selectAffairBoardList(affair));
affair.setAffairCategory("CAT216");
mav.addObject("affair2List", affairService.selectAffairBoardList(affair));
return mav;
}

View File

@ -15,45 +15,45 @@ import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.util.HashMap;
//@Configuration
//@EnableJpaRepositories(
// basePackages = "com.dbnt.faisp.kwms.repository",
// entityManagerFactoryRef = "kwmsEntityManager",
// transactionManagerRef = "kwmsTransactionManager"
//)
@Configuration
@EnableJpaRepositories(
basePackages = "com.dbnt.faisp.kwms.repository",
entityManagerFactoryRef = "kwmsEntityManager",
transactionManagerRef = "kwmsTransactionManager"
)
public class KwmsDatabaseConfig {
// @Autowired
// private Environment env;
//
// @Bean
// public LocalContainerEntityManagerFactoryBean kwmsEntityManager(){
// LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
// em.setDataSource(kwmsDataSource());
//
// //Entity 패키지 경로
// em.setPackagesToScan(new String[] { "com.dbnt.faisp.kwms.model" });
//
// HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
// em.setJpaVendorAdapter(vendorAdapter);
//
// //Hibernate 설정
// HashMap<String, Object> properties = new HashMap<>();
// properties.put("hibernate.hbm2ddl.auto", "none");
// properties.put("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect");
// em.setJpaPropertyMap(properties);
// return em;
// }
//
// @Bean
// @ConfigurationProperties(prefix="spring.datasource-kwms")
// public DataSource kwmsDataSource() {
// return DataSourceBuilder.create().build();
// }
//
// @Bean
// public PlatformTransactionManager kwmsTransactionManager() {
// JpaTransactionManager transactionManager = new JpaTransactionManager();
// transactionManager.setEntityManagerFactory(kwmsEntityManager().getObject());
// return transactionManager;
// }
@Autowired
private Environment env;
@Bean
public LocalContainerEntityManagerFactoryBean kwmsEntityManager(){
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(kwmsDataSource());
//Entity 패키지 경로
em.setPackagesToScan(new String[] { "com.dbnt.faisp.kwms.model" });
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
//Hibernate 설정
HashMap<String, Object> properties = new HashMap<>();
properties.put("hibernate.hbm2ddl.auto", "none");
properties.put("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect");
em.setJpaPropertyMap(properties);
return em;
}
@Bean
@ConfigurationProperties(prefix="spring.datasource-kwms")
public DataSource kwmsDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public PlatformTransactionManager kwmsTransactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(kwmsEntityManager().getObject());
return transactionManager;
}
}

View File

@ -1,13 +1,17 @@
package com.dbnt.faisp.config;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.ProtocolHandler;
import org.apache.coyote.ajp.AbstractAjpProtocol;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//@Configuration
import java.net.InetAddress;
@Configuration
public class TomcatConfiguration {
@Value("${tomcat.ajp.protocol}")
@ -26,6 +30,12 @@ public class TomcatConfiguration {
ajpConnector.setSecure(false);
ajpConnector.setAllowTrace(false);
ajpConnector.setScheme("http");
ajpConnector.setProperty("address", "0.0.0.0");
ajpConnector.setProperty("allowedRequestAttributesPattern", ".*");
if(protocol.contains("AJP")){
((AbstractAjpProtocol)ajpConnector.getProtocolHandler()).setSecretRequired(false);
}
return ajpConnector;
}
}

View File

@ -23,63 +23,54 @@ public class KwmsController {
@GetMapping("/getEmpInfoToJoinForm")
public ModelAndView getEmpInfo(VEmployee empInfo){
ModelAndView mav = new ModelAndView("login/joinForm");
// if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){
// UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode());
// if(userInfo==null){
// mav.addObject("joinFlag", "F");
// mav.addObject("userInfo", empInfo);
// mav.addObject("msg", "검색 결과가 없습니다.");
// }else{
if(userInfoService.selectUserInfoToDicCode(empInfo.getDic()) == null){
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
if(userInfo==null){
mav.addObject("joinFlag", "F");
mav.addObject("userInfo", empInfo);
mav.addObject("msg", "검색 결과가 없습니다.");
}else{
mav.addObject("joinFlag", "T");
// mav.addObject("userInfo", userInfo);
mav.addObject("userInfo", new UserInfo());
mav.addObject("userInfo", userInfo);
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
// }
// }else{
// mav.addObject("joinFlag", "F");
// mav.addObject("userInfo", empInfo);
// mav.addObject("msg", "이미 가입된 식별번호입니다.");
// }
}
}else{
mav.addObject("joinFlag", "F");
mav.addObject("userInfo", empInfo);
mav.addObject("msg", "이미 가입된 식별번호입니다.");
}
return mav;
}
// @GetMapping("/updateUserInfoToKwms")
// public ModelAndView updateUserInfoToKwms(VEmployee empInfo){
// ModelAndView mav = new ModelAndView("login/joinForm");
// if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){
// UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode());
// if(userInfo==null){
// mav.addObject("joinFlag", "F");
// mav.addObject("userInfo", empInfo);
// mav.addObject("msg", "검색 결과가 없습니다.");
// }else{
// mav.addObject("joinFlag", "T");
// mav.addObject("userInfo", userInfo);
// mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
// mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
// mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
// mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
// mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
// mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
// }
// }else{
// mav.addObject("joinFlag", "F");
// mav.addObject("userInfo", empInfo);
// mav.addObject("msg", "이미 가입된 식별번호입니다.");
// }
// return mav;
// }
//
// @GetMapping("/kwmsCareerModal")
// public ModelAndView kwmsCareerModal(Integer userSeq, String dicCode){
// ModelAndView mav = new ModelAndView("faisp/career/kwmsCareerModal");
// mav.addObject("crcList", codeMgtService.selectCodeMgtList("CRC"));
// mav.addObject("careerList", kwmsService.selectUserCareerList(userSeq, dicCode));
// return mav;
// }
@GetMapping("/updateUserInfoToKwms")
public ModelAndView updateUserInfoToKwms(VEmployee empInfo){
ModelAndView mav = new ModelAndView("login/joinForm");
if(userInfoService.selectUserInfoToDicCode(empInfo.getDic()) == null){
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDic());
if(userInfo==null){
mav.addObject("joinFlag", "F");
mav.addObject("userInfo", empInfo);
mav.addObject("msg", "검색 결과가 없습니다.");
}else{
mav.addObject("joinFlag", "T");
mav.addObject("userInfo", userInfo);
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
}
}else{
mav.addObject("joinFlag", "F");
mav.addObject("userInfo", empInfo);
mav.addObject("msg", "이미 가입된 식별번호입니다.");
}
return mav;
}
}

View File

@ -13,32 +13,34 @@ import javax.persistence.*;
@Setter
@Entity
@NoArgsConstructor
//@DynamicInsert
//@DynamicUpdate
//@Table(name = "V_EMPLOYEE")
@DynamicInsert
@DynamicUpdate
@Table(name = "V_EMPLOYEE_EDU")
public class VEmployee {
// @Id
// @Column(name = "DIC_CODE")
// private String dicCode;
// @Column(name = "EMP_NM")
// private String empNm;
// @Column(name = "BIRTH_DATE")
// private String birthDate;
// @Column(name = "SEX")
// private String sex;
// @Column(name = "POLICE_BMNG_IL")
// private String policeBmngIl;
// @Column(name = "JIKGEUP")
// private String jikgeup;
// @Column(name = "HN_JIKGEUP_IMYNGIL")
// private String hnJikgeupImyngil;
// @Column(name = "CALL_BUSEO_NM")
// private String callBuseoNm;
// @Column(name = "SAYONG_YN")
// private String sayongYn;
// @Column(name = "GYUNGGWA")
// private String gyunggwa;
// @Column(name = "JIKBYUL")
// private String jikbyul;
@Id
@Column(name = "DIC")
private String dic;
@Column(name = "USERID")
private String userid;
@Column(name = "NAME")
private String name;
@Column(name = "SEXCD")
private String sexcd;
@Column(name = "BIRTHDT")
private String birthdt;
@Column(name = "LDEPTNM")
private String ldeptnm;
@Column(name = "JIKGUBNM")
private String jikgubnm;
@Column(name = "STATUSCD")
private String statuscd;
@Column(name = "BMNGDT")
private String bmngdt;
@Column(name = "JIKGUBDT")
private String jikgubdt;
@Column(name = "BUSEODT")
private String buseodt;
@Column(name = "KYUNGGWA")
private String kyunggwa;
}

View File

@ -6,7 +6,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
//public interface VEmployeeRepository extends JpaRepository<VEmployee, String> {
public interface VEmployeeRepository {
// Optional<VEmployee> findByDicCode(String dicCode);
public interface VEmployeeRepository extends JpaRepository<VEmployee, String> {
Optional<VEmployee> findByDic(String dicCode);
}

View File

@ -1,9 +1,7 @@
package com.dbnt.faisp.kwms.service;
import com.dbnt.faisp.kwms.model.VEmployee;
import com.dbnt.faisp.kwms.model.VHordYundongStat;
import com.dbnt.faisp.kwms.repository.VEmployeeRepository;
import com.dbnt.faisp.kwms.repository.VHordYundongStatRepository;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
import com.dbnt.faisp.main.userInfo.model.UserCareer;
import com.dbnt.faisp.main.userInfo.model.UserInfo;
@ -20,68 +18,41 @@ import java.util.List;
@Service
@RequiredArgsConstructor
public class KwmsService {
// private final VEmployeeRepository vEmployeeRepository;
// private final VHordYundongStatRepository vHordRepository;
// private final CodeMgtService codeMgtService;
// private final UserCareerRepository careerRepository;
//
// public UserInfo selectEmpInfo(String dicCode){
// VEmployee empInfo = vEmployeeRepository.findByDicCode(dicCode).orElse(null);
// if(empInfo==null){
// return null;
// }else{
// return convertVEmployeeToUserInfo(empInfo);
// }
// }
//
// private UserInfo convertVEmployeeToUserInfo(VEmployee empInfo){
// UserInfo userInfo = new UserInfo();
// userInfo.setDicCode(empInfo.getDicCode());
// userInfo.setUserNm(empInfo.getEmpNm());
// userInfo.setSex(empInfo.getSex().strip().equals("F")?"SEX001":"SEX002");
// String[] positionAry = empInfo.getCallBuseoNm().split(" ");
// userInfo.setOgCd(codeMgtService.searchCodeToCategoryAndValue("OG", positionAry[0]));
// if (positionAry.length>1){
// userInfo.setOfcCd(codeMgtService.searchCodeToCategoryAndValue("OFC", positionAry[1]));
// }
// userInfo.setTitleCd(codeMgtService.searchCodeToCategoryAndValue("JT", empInfo.getJikgeup()));
// userInfo.setOutturnCd(codeMgtService.searchCodeToCategoryAndValue("OTC", empInfo.getGyunggwa()));
// userInfo.setSeriesCd(codeMgtService.searchCodeToCategoryAndValue("SRC", empInfo.getJikbyul()));
//
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
// empInfo.setBirthDate(
// (Integer.parseInt(empInfo.getBirthDate().substring(0,2))>60?"19":"20")+empInfo.getBirthDate());
// userInfo.setBirthDate(LocalDate.parse(empInfo.getBirthDate(), formatter));
// userInfo.setPoliceInDate(LocalDate.parse(empInfo.getPoliceBmngIl(), formatter));
// userInfo.setTitleInDate(LocalDate.parse(empInfo.getHnJikgeupImyngil(), formatter));
// return userInfo;
// }
//
// public List<UserCareer> selectUserCareerList(Integer userSeq, String dicCode) {
// List<VHordYundongStat> statList = vHordRepository.findByDicCodeOrderByStartDateDesc(dicCode);
// List<UserCareer> savedList = careerRepository.findByUserSeqOrderByStartDateDesc(userSeq);
// List<UserCareer> careerList = new ArrayList<>();
// for(VHordYundongStat stat: statList){
// boolean savedFlag = false;
// for(UserCareer savedCareer: savedList){
// if (stat.getHordYundongCd().equals(savedCareer.getHordCd())) {
// savedFlag = true;
// break;
// }
// }
// if(!savedFlag){
// UserCareer career = new UserCareer();
// career.setDesignationCd(codeMgtService.searchCodeToCategoryAndValue("DSN", stat.getImyongGubunNm()));
// career.setWorkPositionStr(stat.getImyongbuseoChongching());
// career.setWorkTitle(codeMgtService.searchCodeToCategoryAndValue("JT", stat.getImyongJikgeupNm()));
// career.setStartDate(stat.getStartDate());
// career.setEndDate(stat.getEndDate());
// career.setWorkDay(stat.getWorkDay()==null?0:stat.getWorkDay());
// career.setWorkMonth(stat.getWorkMonth()==null?0:stat.getWorkMonth());
// career.setHordCd(stat.getHordYundongCd());
// careerList.add(career);
// }
// }
// return careerList;
// }
private final VEmployeeRepository vEmployeeRepository;
private final CodeMgtService codeMgtService;
private final UserCareerRepository careerRepository;
public UserInfo selectEmpInfo(String dicCode){
VEmployee empInfo = vEmployeeRepository.findByDic(dicCode).orElse(null);
if(empInfo==null){
return null;
}else{
return convertVEmployeeToUserInfo(empInfo);
}
}
private UserInfo convertVEmployeeToUserInfo(VEmployee empInfo){
UserInfo userInfo = new UserInfo();
userInfo.setDicCode(empInfo.getDic());
userInfo.setUserId(empInfo.getUserid());
userInfo.setUserNm(empInfo.getName());
userInfo.setSex(empInfo.getSexcd().strip().equals("F")?"SEX001":"SEX002");
String[] positionAry = empInfo.getLdeptnm().split(" ");
userInfo.setOgCd(codeMgtService.searchCodeToCategoryAndValue("OG", positionAry[0]));
if (positionAry.length>1){
userInfo.setOfcCd(codeMgtService.searchCodeToCategoryAndValue("OFC", positionAry[1]));
}
userInfo.setTitleCd(codeMgtService.searchCodeToCategoryAndValue("JT", empInfo.getJikgubnm()));
userInfo.setOutturnCd(codeMgtService.searchCodeToCategoryAndValue("OTC", empInfo.getKyunggwa()));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
empInfo.setBirthdt(
(Integer.parseInt(empInfo.getBirthdt().substring(0,2))>60?"19":"20")+empInfo.getBirthdt());
userInfo.setBirthDate(LocalDate.parse(empInfo.getBirthdt(), formatter));
userInfo.setPoliceInDate(LocalDate.parse(empInfo.getBmngdt(), formatter));
userInfo.setOfcInDate(LocalDate.parse(empInfo.getBuseodt(), formatter));
userInfo.setTitleInDate(LocalDate.parse(empInfo.getJikgubdt(), formatter));
return userInfo;
}
}

View File

@ -70,11 +70,11 @@ public class MyInfoController {
@PostMapping("/syncSelfToKwms")
public void syncSelfToKwms(@AuthenticationPrincipal UserInfo loginUser, UserInfo userInfo) {
// UserInfo kwmsInfo = kwmsService.selectEmpInfo(userInfo.getDicCode());
// if(kwmsInfo!= null){
// kwmsInfo.setUserSeq(loginUser.getUserSeq());
// userInfoService.updateUserInfo(loginUser,kwmsInfo);
// }
UserInfo kwmsInfo = kwmsService.selectEmpInfo(userInfo.getDicCode());
if(kwmsInfo!= null){
kwmsInfo.setUserSeq(loginUser.getUserSeq());
userInfoService.updateUserInfo(loginUser,kwmsInfo);
}
}
@GetMapping("/moveAlarmBoard")
public ModelAndView moveAlarmBoard(UserAlarm alarm){

View File

@ -133,13 +133,13 @@ public class PoliceController {
@PostMapping("/syncUserInfoToKwms")
@ResponseBody
public String syncUserInfoToKwms(@AuthenticationPrincipal UserInfo loginUser,@RequestBody List<UserInfo> infoList){
// for(UserInfo info: infoList){
// UserInfo kwmsInfo = kwmsService.selectEmpInfo(info.getDicCode());
// if(kwmsInfo!=null){
// kwmsInfo.setUserSeq(info.getUserSeq());
// userInfoService.updateUserInfo(loginUser,kwmsInfo);
// }
// }
for(UserInfo info: infoList){
UserInfo kwmsInfo = kwmsService.selectEmpInfo(info.getDicCode());
if(kwmsInfo!=null){
kwmsInfo.setUserSeq(info.getUserSeq());
userInfoService.updateUserInfo(loginUser,kwmsInfo);
}
}
if(infoList.size()==1){
return infoList.get(0).getUserSeq().toString();
}else{

View File

@ -90,13 +90,13 @@ public class UserMgtController {
@PostMapping("/syncUserInfoToKwms")
@ResponseBody
public String syncUserInfoToKwms(@AuthenticationPrincipal UserInfo loginUser,@RequestBody List<UserInfo> infoList){
// for(UserInfo info: infoList){
// UserInfo kwmsInfo = kwmsService.selectEmpInfo(info.getDicCode());
// if(kwmsInfo!=null){
// kwmsInfo.setUserSeq(info.getUserSeq());
// userInfoService.updateUserInfo(loginUser,kwmsInfo);
// }
// }
for(UserInfo info: infoList){
UserInfo kwmsInfo = kwmsService.selectEmpInfo(info.getDicCode());
if(kwmsInfo!=null){
kwmsInfo.setUserSeq(info.getUserSeq());
userInfoService.updateUserInfo(loginUser,kwmsInfo);
}
}
if(infoList.size()==1){
return infoList.get(0).getUserSeq().toString();
}else{

View File

@ -1,15 +1,15 @@
#tomcat.ajp.protocol=HTTP/1.1
tomcat.ajp.protocol=AJP/1.3
#server.port=80
#file upload
spring.servlet.multipart.location=/home/jboss/faisp/uploadFiles
spring.servlet.multipart.location=/backup/faisp/uploadFiles
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=500MB
site.domain=10.187.58.46:8080
#file
file.dir=C:\\faispUploadFiles
file.dir=/backup/faisp/uploadFiles
file.dir.vulnerable=/vulnerable
file.dir.part=/part
file.dir.equip=/equip

View File

@ -102,7 +102,7 @@
<Version>1.0.0.23</Version>
<Version_daemon>1.0.0.3</Version_daemon>
<Version_com>1.0.0.19</Version_com>
<SupportBrowser>1</SupportBrowser>
<SupportBrowser>0</SupportBrowser>
<AutoInstall></AutoInstall>
</Plugins>
<Mime>

View File

@ -194,7 +194,7 @@ function setEditor(divId, editorHeight){
CrossEditor.params.NewToolbar = true;
CrossEditor.params.UploadFileExecutePath = "/Crosseditor/uploadImg";
CrossEditor.params.FullScreen = false;
$("#editor").show();
$("#"+divId).show();
CrossEditor.EditorStart();
}

View File

@ -1,9 +1,9 @@
$(document).on('click', '#dicCodeSearchBtn', function (){
const dicCode = $("#dicCode").val();
//if(dicCode!==''){
if(dicCode!==''){
$.ajax({
url: '/kwms/getEmpInfoToJoinForm',
data: {dicCode: dicCode},
data: {dic: dicCode},
type: 'GET',
dataType:"html",
success: function(html){
@ -18,9 +18,9 @@ $(document).on('click', '#dicCodeSearchBtn', function (){
}
});
//}else{
// alert("공무원식별번호를 입력해주세요.")
//}
}else{
alert("공무원식별번호를 입력해주세요.")
}
})
$(document).on('click', '#saveBtn', function (){

View File

@ -178,7 +178,7 @@ function getCareerModal(userSeq, careerCd){
});
}
function getKwmsCareerModal(userSeq, dicCode){
$.ajax({
/*$.ajax({
url: '/kwms/kwmsCareerModal',
data: {userSeq: userSeq, dicCode: dicCode},
type: 'GET',
@ -190,7 +190,7 @@ function getKwmsCareerModal(userSeq, dicCode){
error:function(){
}
});
});*/
}
function checkValue(){
let flag = true;

View File

@ -4,142 +4,148 @@
<h5 class="modal-title text-white" id="planEditModalLabel">국제범죄검거 현황</h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="icaEditBody">
<form action="#" method="post" id="icaEditForm">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<div class="modal-body">
<input type="hidden" name="icaKey" th:value="${internationalCrimeArrest.icaKey}">
<input type="hidden" name="wrtOrgan" th:value="${internationalCrimeArrest.wrtOrgan}">
<input type="hidden" name="wrtNm" th:value="${internationalCrimeArrest.wrtNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(internationalCrimeArrest.wrtDt, 'yyyy-MM-dd HH:mm')}">
<input type="hidden" id="contentStatus" name="contentStatus">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건번호</label>
<div class="col-sm-2">
<input type="text" name="caseNum" class="form-control form-control-sm" th:value="${internationalCrimeArrest.caseNum}" readonly>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건번호</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${internationalCrimeArrest.caseNum}"></label>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">지방청</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="organConfig:${organConfigList}">
<th:block th:if="${organConfig.organCd eq internationalCrimeArrest.organ}" th:text="${organConfig.organNm}"></th:block>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">관할서</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="organConfig:${organConfigList}">
<th:block th:if="${organConfig.organCd eq internationalCrimeArrest.department}" th:text="${organConfig.organNm}"></th:block>
</th:block>
</label>
</div>
<hr class="my-1">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범죄테마</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('CTH')}">
<th:block th:if="${code.itemCd eq internationalCrimeArrest.crimeType}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">위반유형</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get(internationalCrimeArrest.crimeType)}">
<th:block th:if="${code.itemCd eq internationalCrimeArrest.violationType}" th:text="${code.itemValue}"></th:block>
</th:block>
</label>
<th:block th:if="${internationalCrimeArrest.crimeType ne 'CTH002'}">
<div class="col-sm-4" id="crimeNameDiv">
<div class="row">
<label class="col-sm-6 col-form-label col-form-label-sm text-center">죄명</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${internationalCrimeArrest.crimeName}"></label>
</div>
</div>
</th:block>
</div>
<div class="row mb-1" id="smugglingAmountDiv">
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH002'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수입출 품목</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('SG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="smuggledGoods" id="smugglingAmount" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="smuggledGoodsEtc" th:value="${internationalCrimeArrest.smuggledGoods}" readonly>
</div>
</th:block>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수가액</label>
<div class="col-sm-2">
<input type="number" min="0" name="smugglingAmount" th:value="${internationalCrimeArrest.smugglingAmount}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">단속 인원(경찰관)</label>
<div class="col-sm-2">
<input type="number" min="0" name="caseNum" th:value="${internationalCrimeArrest.caseNum}" readonly>
</div>
</th:block>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">발생원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="occurTable" th:value="${internationalCrimeArrest.occurTable}" readonly>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">지방청</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="organ" disabled>
<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 internationalCrimeArrest.organ}"></option>
</th:block>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">관할서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="department" disabled>
<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 internationalCrimeArrest.department}"></option>
</th:block>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="arrestTable" th:value="${internationalCrimeArrest.arrestTable}" readonly>
</div>
<hr class="my-1">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범죄테마</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="crimeType" id="crimeType" disabled>
<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 internationalCrimeArrest.crimeType}"></option>
</th:block>
</select>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">위반유형</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="violationType" id="violationType" disabled>
<option value="">선택</option>
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CTH')))}">
<th:block th:if="${'CTH'+num == internationalCrimeArrest.crimeType}" 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>
<th:block th:if="${internationalCrimeArrest.crimeType ne 'CTH002'}">
<div class="col-sm-4" id="crimeNameDiv">
<div class="row">
<label class="col-sm-6 col-form-label col-form-label-sm text-center">죄명</label>
<div class="col-sm-6">
<input type="text" class="form-control form-control-sm" name="crimeName" th:value="${internationalCrimeArrest.crimeName}" readonly>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="suspectTable" th:value="${internationalCrimeArrest.suspectTable}" readonly>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범행형태</label>
<div class="col-auto" id="crimeFormDiv">
<select class="form-select form-select-sm bg-white" name="crimeForm" id="crimeForm" disabled>
<th:block th:each="commonCode:${session.commonCode.get('CMF')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.crimeForm}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1" id="spiParentDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자 인적사항</label>
<div class="col-sm-10">
<div class="border" id="spiDiv">
<th:block th:if="${#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<div class="row spi-list my-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2" id="sexFormDiv">
<select class="form-select form-select-sm bg-white" name="sex" disabled>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
<div class="col-sm-2" id="ageFormDiv">
<select class="form-select form-select-sm bg-white" name="age" disabled>
<th:block th:each="commonCode:${session.commonCode.get('AGE')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2" id="countryFormDiv">
<select class="form-select form-select-sm bg-white country" name="country" disabled>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
<option value="etc">기타</option>
</select>
</div>
</div>
</div>
</th:block>
</div>
<div class="row mb-1" id="smugglingAmountDiv">
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH002'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수입출 품목</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="smuggledGoods" id="smugglingAmount" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.smuggledGoods ne null && internationalCrimeArrest.smuggledGoods ne '' && !#strings.contains(internationalCrimeArrest.smuggledGoods, 'SG')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="smuggledGoodsEtc" th:value="${internationalCrimeArrest.smuggledGoods}" readonly>
</div>
</th:block>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">밀수가액</label>
<div class="col-sm-2">
<input type="number" min="0" name="smugglingAmount" th:value="${internationalCrimeArrest.smugglingAmount}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">단속 인원(경찰관)</label>
<div class="col-sm-2">
<input type="number" min="0" name="caseNum" th:value="${internationalCrimeArrest.caseNum}" readonly>
</div>
</th:block>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">발생원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="occurTable" th:value="${internationalCrimeArrest.occurTable}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="arrestTable" th:value="${internationalCrimeArrest.arrestTable}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자원표</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="suspectTable" th:value="${internationalCrimeArrest.suspectTable}" readonly>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범행형태</label>
<div class="col-auto" id="crimeFormDiv">
<select class="form-select form-select-sm bg-white" name="crimeForm" id="crimeForm" disabled>
<th:block th:each="commonCode:${session.commonCode.get('CMF')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.crimeForm}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1" id="spiParentDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">피의자 인적사항</label>
<div class="col-sm-10">
<div class="border" id="spiDiv">
<th:block th:if="${#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
</th:block>
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:each="suspectPersonInfo:${internationalCrimeArrest.suspectPersonInfoList}">
<div class="row spi-list my-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2" id="sexFormDiv">
<select class="form-select form-select-sm bg-white" name="sex" disabled>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.sex ne null && commonCode.itemCd eq suspectPersonInfo.sex}"></option>
</th:block>
</select>
</div>
@ -147,193 +153,161 @@
<div class="col-sm-2" id="ageFormDiv">
<select class="form-select form-select-sm bg-white" name="age" disabled>
<th:block th:each="commonCode:${session.commonCode.get('AGE')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.age ne null && commonCode.itemCd eq suspectPersonInfo.age}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2" id="countryFormDiv">
<select class="form-select form-select-sm bg-white country" name="country" disabled>
<select class="form-select form-select-sm bg-white country" name="country" id="country" disabled>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.country ne null && commonCode.itemCd eq suspectPersonInfo.country}"></option>
</th:block>
<option value="etc">기타</option>
<option value="etc" th:selected="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">기타</option>
</select>
</div>
</div>
</th:block>
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:each="suspectPersonInfo:${internationalCrimeArrest.suspectPersonInfoList}">
<div class="row spi-list my-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-2" id="sexFormDiv">
<select class="form-select form-select-sm bg-white" name="sex" disabled>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.sex ne null && commonCode.itemCd eq suspectPersonInfo.sex}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">나이</label>
<div class="col-sm-2" id="ageFormDiv">
<select class="form-select form-select-sm bg-white" name="age" disabled>
<th:block th:each="commonCode:${session.commonCode.get('AGE')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.age ne null && commonCode.itemCd eq suspectPersonInfo.age}"></option>
</th:block>
</select>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2" id="countryFormDiv">
<select class="form-select form-select-sm bg-white country" name="country" id="country" disabled>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${suspectPersonInfo.country ne null && commonCode.itemCd eq suspectPersonInfo.country}"></option>
</th:block>
<option value="etc" th:selected="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">기타</option>
</select>
</div>
<th:block th:if="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="countryEtc" th:value="${suspectPersonInfo.country}" readonly>
</div>
</th:block>
</div>
</th:block>
</th:block>
</div>
</div>
</div>
<div class="row mb-1" id="spiInfoDiv">
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH002' || internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT005' ? '불법체류 및 취업' : '피의자 정보'}">피의자 정보</label>
<div class="col-sm-10">
<div class="row" id="spiWrapper">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center entryVisa">입국비자</label>
<div class="col-sm-2 entryVisa">
<input type="text" class="form-control form-control-sm" name="entryVisa" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].entryVisa}" readonly>
<th:block th:if="${suspectPersonInfo.country ne null && suspectPersonInfo.country ne '' && !#strings.contains(suspectPersonInfo.country, 'NNY')}">
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="countryEtc" th:value="${suspectPersonInfo.country}" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류 자격</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="stayQualification" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].stayQualification}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류기간 만료일</label>
<div class="col-sm-2" id="stayQualificationDiv">
<input type="text" class="form-control form-control-sm" name="stayPeriodExpiredDt" id="stayPeriodExpiredDt" th:value="${#temporals.format(internationalCrimeArrest.suspectPersonInfoList[0].stayPeriodExpiredDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</th:block>
</th:block>
</div>
</div>
</div>
<div class="row mb-1" id="spiInfoDiv">
<th:block th:if="${!#lists.isEmpty(internationalCrimeArrest.suspectPersonInfoList)}">
<th:block th:if="${internationalCrimeArrest.crimeType eq 'CTH002' || internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT005' ? '불법체류 및 취업' : '피의자 정보'}">피의자 정보</label>
<div class="col-sm-10">
<div class="row" id="spiWrapper">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT005'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center entryVisa">입국비자</label>
<div class="col-sm-2 entryVisa">
<input type="text" class="form-control form-control-sm" name="entryVisa" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].entryVisa}" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류 자격</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="stayQualification" th:value="${internationalCrimeArrest.suspectPersonInfoList[0].stayQualification}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">체류기간 만료일</label>
<div class="col-sm-2" id="stayQualificationDiv">
<input type="text" class="form-control form-control-sm" name="stayPeriodExpiredDt" id="stayPeriodExpiredDt" th:value="${#temporals.format(internationalCrimeArrest.suspectPersonInfoList[0].stayPeriodExpiredDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
</div>
</div>
</th:block>
</th:block>
</div>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT002' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<div class="row mb-1" id="meansDiv">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 출발지(국가)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 행선지(도착예정지)' : '밀항 행선지(도착예정지)')}"></label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="destination" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 수단(방법)' : '밀항 수단(방법)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="means" id="means" disabled>
<option>선택</option>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS1')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationType ne 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS2')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="meansEtc" th:value="${internationalCrimeArrest.means}" readonly>
</div>
</th:block>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 목적(사유)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 목적(시유)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 목적(사유)' : '밀항 목적(사유)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="purpose" id="purpose" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PPS')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.purpose}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="purposeEtc" th:value="${internationalCrimeArrest.purpose}" readonly>
</div>
</th:block>
</div>
</div>
<div class="row mb-1" id="arrestAreaDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거 지역 </label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="arrestArea" th:value="${internationalCrimeArrest.arrestArea}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 시도 해역(해안)' : '밀항 시도 해역(해안)'))}"></label>
<div class="col-sm-3">
<select class="form-select form-select-sm bg-white" name="seaArea" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SAA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.seaArea}"></option>
</th:block>
</select>
</div>
</div>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationAmount ne null}">
<div class="row mb-1" id="violationAmountDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">표시위반 금액(만원)</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="violationAmount" th:value="${internationalCrimeArrest.violationAmount}" readonly>
</div>
</div>
</th:block>
<hr class="my-1">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범죄인지</label>
<div class="col-sm-2" id="crimeAwarenessDtDiv">
<input type="text" class="form-control form-control-sm" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(internationalCrimeArrest.crimeAwarenessDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건송치</label>
<div class="col-sm-2" id="caseSentDtDiv">
<input type="text" class="form-control form-control-sm" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(internationalCrimeArrest.caseSentDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">신병처리</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="processResult" id="processResult" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.processResult}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="processResultEtc" th:value="${internationalCrimeArrest.processResult}" readonly>
</div>
</th:block>
</div>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT002' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<div class="row mb-1" id="meansDiv">
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001' || internationalCrimeArrest.violationType eq 'VLT003'|| internationalCrimeArrest.violationType eq 'VLT004'}">
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 출발지(국가)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 행선지(도착예정지)' : '밀항 행선지(도착예정지)')}"></label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="destination" readonly>
</div>
</th:block>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 수단(방법)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 수단(방법)' : '밀항 수단(방법)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="means" id="means" disabled>
<option>선택</option>
<th:block th:if="${internationalCrimeArrest.violationType eq 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS1')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationType ne 'VLT001'}" th:each="commonCode:${session.commonCode.get('MS2')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.means}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.means ne null && internationalCrimeArrest.means ne '' && !#strings.contains(internationalCrimeArrest.means, 'MS1') && !#strings.contains(internationalCrimeArrest.means, 'MS2')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="meansEtc" th:value="${internationalCrimeArrest.means}" readonly>
</div>
</th:block>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 목적(사유)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 목적(시유)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 목적(사유)' : '밀항 목적(사유)'))}"></label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="purpose" id="purpose" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PPS')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.purpose}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.purpose ne null && internationalCrimeArrest.purpose ne '' && !#strings.contains(internationalCrimeArrest.purpose, 'PPS')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="purposeEtc" th:value="${internationalCrimeArrest.purpose}" readonly>
</div>
</th:block>
</div>
</div>
<div class="row mb-1" id="arrestAreaDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">검거 지역 </label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" name="arrestArea" th:value="${internationalCrimeArrest.arrestArea}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:text="${internationalCrimeArrest.violationType eq 'VLT001' ? '밀입국 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT002' ? '도외이탈 시도 해역(해안)' : (internationalCrimeArrest.violationType eq 'VLT003' ? '밀출국 시도 해역(해안)' : '밀항 시도 해역(해안)'))}"></label>
<div class="col-sm-3">
<select class="form-select form-select-sm bg-white" name="seaArea" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SAA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.seaArea}"></option>
</th:block>
</select>
</div>
</div>
</th:block>
<th:block th:if="${internationalCrimeArrest.violationAmount ne null}">
<div class="row mb-1" id="violationAmountDiv">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">표시위반 금액(만원)</label>
<div class="col-sm-2">
<input type="number" min="0" class="form-control form-control-sm" name="violationAmount" th:value="${internationalCrimeArrest.violationAmount}" readonly>
</div>
</div>
</th:block>
<hr class="my-1">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center">범죄인지</label>
<div class="col-sm-2" id="crimeAwarenessDtDiv">
<input type="text" class="form-control form-control-sm" name="crimeAwarenessDt" id="crimeAwarenessDt" th:value="${#temporals.format(internationalCrimeArrest.crimeAwarenessDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">사건송치</label>
<div class="col-sm-2" id="caseSentDtDiv">
<input type="text" class="form-control form-control-sm" name="caseSentDt" id="caseSentDt" th:value="${#temporals.format(internationalCrimeArrest.caseSentDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label class="col-sm-2 col-form-label col-form-label-sm text-center">신병처리</label>
<div class="col-sm-2">
<select class="form-select form-select-sm bg-white" name="processResult" id="processResult" disabled>
<option>선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PCR')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
th:selected="${commonCode.itemCd eq internationalCrimeArrest.processResult}"></option>
</th:block>
<option value="etc" th:selected="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}">기타</option>
</select>
<th:block th:if="${internationalCrimeArrest.processResult ne null && internationalCrimeArrest.processResult ne '' && !#strings.contains(internationalCrimeArrest.processResult, 'PCR')}">
<div class="col-auto">
<input type="text" class="form-control form-control-sm" name="processResultEtc" th:value="${internationalCrimeArrest.processResult}" readonly>
</div>
</th:block>
</div>
</div>
<div class="row mb-1 justify-content-center">
<label for="caseOverviewDiv" class="col-sm-2 col-form-label col-form-label-sm text-center">범죄사실(사건개요)</label>
<div class="col-sm-10" id="caseOverviewDiv">
<div class="border p-1" name='caseOverview' th:utext="${internationalCrimeArrest.caseOverview}"></div>
</div>
<div class="row mb-1 justify-content-center">
<label for="caseOverviewDiv" class="col-sm-2 col-form-label col-form-label-sm text-center">범죄사실(사건개요)</label>
<div class="col-sm-10" id="caseOverviewDiv">
<div class="border p-1" name='caseOverview' th:utext="${internationalCrimeArrest.caseOverview}"></div>
</div>
</div>
</form>
</div>
</div>
<div class="modal-footer bg-light">
<th:block th:if="${userSeq eq internationalCrimeArrest.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->

View File

@ -3,30 +3,174 @@
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}">
<th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/dashboard.js}"></script>
<!--<script type="text/javascript" th:src="@{/js/dashboard.js}"></script>-->
</th:block>
<div layout:fragment="content">
<main>
<div class="row justify-content-between mx-0">
<div class="col-auto"><h4>대시보드</h4></div>
<div class="col-auto mt-2">
<a class="link-dark align-bottom" href="/myInfo/myInfoPage?activeTab=dashboard">대시보드 편집</a>
<!--<a class="link-dark align-bottom" href="/myInfo/myInfoPage?activeTab=dashboard">대시보드 편집</a>-->
</div>
</div>
<div class="row mx-0">
<div class="col-12 card bg-light">
<div class="card-body">
<div class="row">
<div class="col-4 py-1" id="subPage0"></div>
<div class="col-4 py-1" id="subPage1"></div>
<div class="col-4 py-1" id="subPage2"></div>
<div class="col-4 py-1" id="subPage3"></div>
<div class="col-4 py-1" id="subPage4"></div>
<div class="col-4 py-1" id="subPage5"></div>
<div class="col-6 py-1" id="subPage0">
<script type="text/javascript" th:src="@{/js/publicBoard/publicBoard.js}"></script>
<script type="text/javascript" th:src="@{/js/publicBoard/notice.js}"></script>
<div class="card">
<div class="card-header bg-white">
<div class="row justify-content-between">
<div class="col-auto">공지사항</div>
<div class="col-auto"><a href="/publicBoard/noticePage" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-sm table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성자</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<tr class="noticeTr" th:each="notice:${noticeList}">
<input type="hidden" class="publicKey" th:value="${notice.publicKey}">
<td>
<th:block th:if="${#strings.length(notice.title)>35}" th:text="|${#strings.substring(notice.title, 0, 35)}...|"></th:block>
<th:block th:unless="${#strings.length(notice.title)>35}" th:text="${notice.title}"></th:block>
</td>
<td th:text="${notice.wrtUserNm}"></td>
<td th:text="${#temporals.format(notice.wrtDt, 'yyyy-MM-dd')}"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-6 py-1" id="subPage1">
<script type="text/javascript" th:src="@{/js/faRpt/faRpt.js}"></script>
<div class="card">
<div class="card-header bg-white">
<div class="row justify-content-between">
<div class="col-auto">외사정보보고 수신문서</div>
<div class="col-auto"><a href="/faRpt/faRptBoard?activeTab=receive" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<tr class="faRptTr" th:each="faRpt:${faRptList}">
<input type="hidden" class="faRptKey" th:value="${faRpt.faRptKey}">
<td th:text="${faRpt.title}"></td>
<td th:text="${#temporals.format(faRpt.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-6 py-1" id="subPage2">
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/affair/affairMgt.js}"></script>
<div class="card">
<div class="card-header bg-white">
<div class="row justify-content-between">
<div class="col-auto">외사경찰 견문관리</div>
<div class="col-auto"><a href="/affair/affairMgt?affairCategory=CAT215" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-sm table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<tr class="affairTr" th:each="affair:${affair1List}">
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
<td th:text="${affair.title}"></td>
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<td th:if="${affair.affairStatus eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-6 py-1" id="subPage3">
<div class="card">
<div class="card-header bg-white">
<div class="row justify-content-between">
<div class="col-auto">외사첩보망 견문관리</div>
<div class="col-auto"><a href="/affair/affairMgt?affairCategory=CAT216" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-sm table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<tr class="affairTr" th:each="affair:${affair2List}">
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
<td th:text="${affair.title}"></td>
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<td th:if="${affair.affairStatus eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
</th:block>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<div class="modal fade" id="viewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="viewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="viewContent">
</div>
</div>
</div>
<div class="modal fade" id="affairViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="affairViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="affairViewBody">
</div>
</div>
</div>
<div class="modal fade" id="faRptViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="faRptViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="faRptViewBody">
</div>
</div>
</div>
</div>
</html>

View File

@ -5,7 +5,7 @@
<h5 class="modal-title text-white" id="userInsertModalLabel">사용자 신청</h5>
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<!-- <div class="modal-body">th:if="${joinFlag eq 'F'}"
<div class="modal-body" th:if="${joinFlag eq 'F'}">
<div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
<div class="col-sm-3">
@ -14,9 +14,9 @@
</div>
<button type="button" class="btn btn-sm btn-outline-primary col-sm-1" id="dicCodeSearchBtn">검색</button>
</div>
</div>-->
<div class="modal-body"><!-- th:if="${joinFlag eq 'T'}"-->
<!--<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
</div>
<div class="modal-body" th:if="${joinFlag eq 'T'}">
<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
<div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
<div class="col-sm-3">
@ -27,7 +27,7 @@
<div class="row mb-1">
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="off">
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="new-password" th:value="${userInfo.userId}">
<label for="userId" style="font-size: 12px">6~20자 사이의 알파벳, 숫자를 입력하세요</label>
</div>
<label for="userNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
@ -38,7 +38,7 @@
<div class="row mb-1">
<label for="modalPassword" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호</label>
<div class="col-sm-4">
<input type="password" class="form-control form-control-sm" id="modalPassword" name="password" >
<input type="password" class="form-control form-control-sm" id="modalPassword" name="password" autocomplete="new-password">
<label for="userId" style="font-size: 12px">8~16자 사이의 알파벳, 숫자, 특수문자 조합</label>
</div>
<label for="passwordConfirm" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호 확인</label>
@ -79,7 +79,7 @@
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ogCd" name="ogCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${ogList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
</th:block>
@ -94,7 +94,7 @@
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${ofcList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
</th:block>
@ -109,7 +109,7 @@
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="titleCd" name="titleCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${titleList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
</th:block>
@ -124,7 +124,7 @@
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${outturnList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
</th:block>
@ -133,7 +133,7 @@
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${seriesList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
</th:block>
@ -144,152 +144,16 @@
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="languageCd" name="languageCd">
<option value="">&#45;&#45;선택&#45;&#45;</option>
<option value="">--선택--</option>
<th:block th:each="code:${languageList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option>
</th:block>
</select>
</div>
</div>
</form>-->
<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
<div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
<div class="col-sm-3">
<input type="text" class="form-control form-control-sm" id="dicCode" name="dicCode" autocomplete="off">
</div>
<button type="button" class="btn btn-sm btn-outline-primary col-sm-1" id="dicCodeSearchBtn">검색</button>
</div>
<div class="row mb-1">
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="off">
<label for="userId" style="font-size: 12px">6~20자 사이의 알파벳, 숫자를 입력하세요</label>
</div>
<label for="userNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-4">
<input type="text" class=" form-control form-control-sm" id="userNm" name="userNm" autocomplete="off">
</div>
</div>
<div class="row mb-1">
<label for="modalPassword" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호</label>
<div class="col-sm-4">
<input type="password" class="form-control form-control-sm" id="modalPassword" name="password" autocomplete="new-password">
<label for="userId" style="font-size: 12px">8~16자 사이의 알파벳, 숫자, 특수문자 조합</label>
</div>
<label for="passwordConfirm" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호 확인</label>
<div class="col-sm-4">
<input type="password" class="form-control form-control-sm" id="passwordConfirm">
</div>
</div>
<div class="row mb-1">
<label for="phoneNo" class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
<div class="col-sm-4">
<input type="tel" class="form-control form-control-sm" id="phoneNo" name="phoneNo">
</div>
<label for="email" class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
<div class="col-sm-4">
<input type="email" class="form-control form-control-sm" id="email" name="email">
</div>
</div>
<div class="row mb-1">
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="sex" name="sex">
<option value="SEX002"></option>
<option value="SEX001"></option>
</select>
</div>
</div>
<div class="row mb-1">
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" readonly>
</div>
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="policeInDate" name="policeInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ogCd" name="ogCd">
<option value="">--선택--</option>
<th:block th:each="code:${ogList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="organInDate" name="organInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd">
<option value="">--선택--</option>
<th:block th:each="code:${ofcList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="ofcInDate" name="ofcInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="titleCd" name="titleCd">
<option value="">--선택--</option>
<th:block th:each="code:${titleList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
<div class="col-sm-4">
<input type="text" class="form-control form-control-sm dateSelector" id="titleInDate" name="titleInDate" readonly>
</div>
</div>
<div class="row mb-1">
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
<option value="">--선택--</option>
<th:block th:each="code:${outturnList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
<option value="">--선택--</option>
<th:block th:each="code:${seriesList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="languageCd" name="languageCd">
<option value="">--선택--</option>
<th:block th:each="code:${languageList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
</th:block>
</select>
</div>
</div>
</form>
</div>
<div class="modal-foote bg-light"><!-- th:if="${joinFlag eq 'T'}"-->
<div class="modal-footer bg-light" th:if="${joinFlag eq 'T'}">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
<button type="button" class="btn btn-primary" id="saveBtn">신청</button>
</div>

View File

@ -25,7 +25,7 @@
<button class="nav-link" th:classappend="${activeTab ne 'dashboard'?'active':''}" id="infoTab" data-bs-toggle="tab" data-bs-target="#infoTabPanel" type="button" role="tab" aria-controls="infoTabPanel" th:aria-selected="${activeTab ne 'dashboard'?'true':'false'}">개인정보</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" th:classappend="${activeTab eq 'dashboard'?'active':''}" id="dashboardTab" data-bs-toggle="tab" data-bs-target="#dashboardTabPanel" type="button" role="tab" aria-controls="dashboardTabPanel" th:aria-selected="${activeTab eq 'dashboard'?'true':'false'}">대시보드</button>
<button class="nav-link disabled" th:classappend="${activeTab eq 'dashboard'?'active':''}" id="dashboardTab" data-bs-toggle="tab" data-bs-target="#dashboardTabPanel" type="button" role="tab" aria-controls="dashboardTabPanel" th:aria-selected="${activeTab eq 'dashboard'?'true':'false'}">대시보드</button>
</li>
</ul>
<div class="tab-content bg-white border border-top-0 p-2">