인사시스템 연동 부분 주석처리

강석 최 2022-12-06 10:24:47 +09:00
parent 97ca230737
commit 3736e78288
12 changed files with 388 additions and 250 deletions

View File

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

View File

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

View File

@ -13,32 +13,32 @@ import javax.persistence.*;
@Setter @Setter
@Entity @Entity
@NoArgsConstructor @NoArgsConstructor
@DynamicInsert //@DynamicInsert
@DynamicUpdate //@DynamicUpdate
@Table(name = "V_EMPLOYEE") //@Table(name = "V_EMPLOYEE")
public class VEmployee { public class VEmployee {
@Id // @Id
@Column(name = "DIC_CODE") // @Column(name = "DIC_CODE")
private String dicCode; // private String dicCode;
@Column(name = "EMP_NM") // @Column(name = "EMP_NM")
private String empNm; // private String empNm;
@Column(name = "BIRTH_DATE") // @Column(name = "BIRTH_DATE")
private String birthDate; // private String birthDate;
@Column(name = "SEX") // @Column(name = "SEX")
private String sex; // private String sex;
@Column(name = "POLICE_BMNG_IL") // @Column(name = "POLICE_BMNG_IL")
private String policeBmngIl; // private String policeBmngIl;
@Column(name = "JIKGEUP") // @Column(name = "JIKGEUP")
private String jikgeup; // private String jikgeup;
@Column(name = "HN_JIKGEUP_IMYNGIL") // @Column(name = "HN_JIKGEUP_IMYNGIL")
private String hnJikgeupImyngil; // private String hnJikgeupImyngil;
@Column(name = "CALL_BUSEO_NM") // @Column(name = "CALL_BUSEO_NM")
private String callBuseoNm; // private String callBuseoNm;
@Column(name = "SAYONG_YN") // @Column(name = "SAYONG_YN")
private String sayongYn; // private String sayongYn;
@Column(name = "GYUNGGWA") // @Column(name = "GYUNGGWA")
private String gyunggwa; // private String gyunggwa;
@Column(name = "JIKBYUL") // @Column(name = "JIKBYUL")
private String jikbyul; // private String jikbyul;
} }

View File

@ -17,38 +17,38 @@ import java.time.LocalDateTime;
@Setter @Setter
@Entity @Entity
@NoArgsConstructor @NoArgsConstructor
@DynamicInsert //@DynamicInsert
@DynamicUpdate //@DynamicUpdate
@Table(name = "V_HORD_YUNDONG_STAT") //@Table(name = "V_HORD_YUNDONG_STAT")
public class VHordYundongStat { public class VHordYundongStat {
@Id // @Id
@Column(name = "HORD_YUNDONG_CD") // @Column(name = "HORD_YUNDONG_CD")
private String hordYundongCd; // private String hordYundongCd;
@Column(name = "DIC_CODE") // @Column(name = "DIC_CODE")
private String dicCode; // private String dicCode;
@Column(name = "IMYONG_GUBUN_CD") // @Column(name = "IMYONG_GUBUN_CD")
private String imyongGubunCd; // private String imyongGubunCd;
@Column(name = "IMYONG_GUBUN_NM") // @Column(name = "IMYONG_GUBUN_NM")
private String imyongGubunNm; // private String imyongGubunNm;
@Column(name = "BUSEO_CD") // @Column(name = "BUSEO_CD")
private String buseoCd; // private String buseoCd;
@Column(name = "JIKGEUP_CD") // @Column(name = "JIKGEUP_CD")
private String jikgeupCd; // private String jikgeupCd;
@Column(name = "START_DATE") // @Column(name = "START_DATE")
private LocalDate startDate; // private LocalDate startDate;
@Column(name = "END_DATE") // @Column(name = "END_DATE")
private LocalDate endDate; // private LocalDate endDate;
@Column(name = "WORK_DAY") // @Column(name = "WORK_DAY")
private Integer workDay; // private Integer workDay;
@Column(name = "WORK_MONTH") // @Column(name = "WORK_MONTH")
private Integer workMonth; // private Integer workMonth;
@Column(name = "WORK_MONTH_DESC") // @Column(name = "WORK_MONTH_DESC")
private String workMonthDesc; // private String workMonthDesc;
@Column(name = "IMYONGBUSEO_CHONGCHING") // @Column(name = "IMYONGBUSEO_CHONGCHING")
private String imyongbuseoChongching; // private String imyongbuseoChongching;
@Column(name = "IMYONG_JIKGEUP_NM") // @Column(name = "IMYONG_JIKGEUP_NM")
private String imyongJikgeupNm; // private String imyongJikgeupNm;
@Column(name = "SYS_DATE") // @Column(name = "SYS_DATE")
private LocalDateTime sysDate; // private LocalDateTime sysDate;
} }

View File

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

View File

@ -6,7 +6,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List; import java.util.List;
public interface VHordYundongStatRepository extends JpaRepository<VHordYundongStat, String> { //public interface VHordYundongStatRepository extends JpaRepository<VHordYundongStat, String> {
public interface VHordYundongStatRepository {
List<VHordYundongStat> findByDicCodeOrderByStartDateDesc(String dicCode); // List<VHordYundongStat> findByDicCodeOrderByStartDateDesc(String dicCode);
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
$(document).on('click', '#dicCodeSearchBtn', function (){ $(document).on('click', '#dicCodeSearchBtn', function (){
const dicCode = $("#dicCode").val(); const dicCode = $("#dicCode").val();
if(dicCode!==''){ //if(dicCode!==''){
$.ajax({ $.ajax({
url: '/kwms/getEmpInfoToJoinForm', url: '/kwms/getEmpInfoToJoinForm',
data: {dicCode: dicCode}, data: {dicCode: dicCode},
@ -15,12 +15,12 @@ $(document).on('click', '#dicCodeSearchBtn', function (){
}); });
}, },
error:function(e){ error:function(e){
debugger
} }
}); });
}else{ //}else{
alert("공무원식별번호를 입력해주세요.") // alert("공무원식별번호를 입력해주세요.")
} //}
}) })
$(document).on('click', '#saveBtn', function (){ $(document).on('click', '#saveBtn', function (){

View File

@ -5,7 +5,7 @@
<h5 class="modal-title text-white" id="userInsertModalLabel">사용자 신청</h5> <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> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </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"> <div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label> <label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
<div class="col-sm-3"> <div class="col-sm-3">
@ -14,9 +14,9 @@
</div> </div>
<button type="button" class="btn btn-sm btn-outline-primary col-sm-1" id="dicCodeSearchBtn">검색</button> <button type="button" class="btn btn-sm btn-outline-primary col-sm-1" id="dicCodeSearchBtn">검색</button>
</div> </div>
</div> </div>-->
<div class="modal-body" th:if="${joinFlag eq 'T'}"> <div class="modal-body"><!-- th:if="${joinFlag eq 'T'}"-->
<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post"> <!--<form id="userInfoInsert" action="#" th:action="@{/admin/insertUserInfo}" method="post">
<div class="mb-3 mt-3 row"> <div class="mb-3 mt-3 row">
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label> <label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
<div class="col-sm-3"> <div class="col-sm-3">
@ -79,7 +79,7 @@
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label> <label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="ogCd" name="ogCd"> <select class="form-select form-select-sm" id="ogCd" name="ogCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${ogList}"> <th:block th:each="code:${ogList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
</th:block> </th:block>
@ -94,7 +94,7 @@
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label> <label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd"> <select class="form-select form-select-sm" id="ofcCd" name="ofcCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${ofcList}"> <th:block th:each="code:${ofcList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
</th:block> </th:block>
@ -109,7 +109,7 @@
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label> <label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="titleCd" name="titleCd"> <select class="form-select form-select-sm" id="titleCd" name="titleCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${titleList}"> <th:block th:each="code:${titleList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
</th:block> </th:block>
@ -124,7 +124,7 @@
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label> <label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd"> <select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${outturnList}"> <th:block th:each="code:${outturnList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
</th:block> </th:block>
@ -133,7 +133,7 @@
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label> <label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd"> <select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${seriesList}"> <th:block th:each="code:${seriesList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
</th:block> </th:block>
@ -144,16 +144,152 @@
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label> <label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" id="languageCd" name="languageCd"> <select class="form-select form-select-sm" id="languageCd" name="languageCd">
<option value="">--선택--</option> <option value="">&#45;&#45;선택&#45;&#45;</option>
<th:block th:each="code:${languageList}"> <th:block th:each="code:${languageList}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option> <option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
</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> </form>
</div> </div>
<div class="modal-footer" th:if="${joinFlag eq 'T'}"> <div class="modal-footer"><!-- 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-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
<button type="button" class="btn btn-primary" id="saveBtn">신청</button> <button type="button" class="btn btn-primary" id="saveBtn">신청</button>
</div> </div>