Merge branch 'hylee' into advc

This commit is contained in:
hylee 2024-01-11 09:59:43 +09:00
commit dd2b335875
12 changed files with 458 additions and 211 deletions

View File

@ -80,4 +80,6 @@ public interface EgovCmmUseService {
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam); public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam);
String selectCmmCodeDetailCode(ComDefaultCodeVO vo); String selectCmmCodeDetailCode(ComDefaultCodeVO vo);
public List<CmmnDetailCode> selectCmmCodeDetailLikeNmOrderByCode(ComDefaultCodeVO comDefaultCodeVO);
} }

View File

@ -88,4 +88,8 @@ public class CmmUseDAO extends EgovComAbstractDAO {
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) { public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetailOrderByCode", codeParam); return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetailOrderByCode", codeParam);
} }
public List<CmmnDetailCode> selectCmmCodeDetailLikeNmOrderByCode(ComDefaultCodeVO comDefaultCodeVO) {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetailLikeNmOrderByCode", comDefaultCodeVO);
}
} }

View File

@ -154,4 +154,9 @@ public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements Eg
// TODO Auto-generated method stub // TODO Auto-generated method stub
return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam); return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam);
} }
@Override
public List<CmmnDetailCode> selectCmmCodeDetailLikeNmOrderByCode(ComDefaultCodeVO comDefaultCodeVO) {
return cmmUseDAO.selectCmmCodeDetailLikeNmOrderByCode(comDefaultCodeVO);
}
} }

View File

@ -4,8 +4,12 @@ import java.time.LocalDate;
import java.time.Period; import java.time.Period;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -23,6 +27,8 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes; import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.fasterxml.jackson.databind.ObjectMapper;
import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.cmmn.exception.FdlException;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@ -456,12 +462,12 @@ public class CndtnTrgtMngController {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
// 사용자 권한이 관할청 담당자일때 userWork로 관할 가져오기
String userWork = this.getUserWork(request); String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork); model.addAttribute("userWork", userWork);
@ -470,11 +476,60 @@ public class CndtnTrgtMngController {
ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008"); codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
// CODE 값을 저장할 Set (중복을 제거하기 위해 사용)
Set<String> uniqueCodes = new HashSet<>();
for(CmmnDetailCode vo : CmmnDetailCodeList) {
uniqueCodes.add(vo.getCode().split("-")[0]);
}
model.addAttribute("CmmnDetailCodeList", uniqueCodes);
return "oprtn/cndtnSspnIdtmt/trgtReg"; return "oprtn/cndtnSspnIdtmt/trgtReg";
} }
/**
* 조건부기소유예과정 등록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/selectCmptntAthrtCodeAjax.do")
public ModelAndView selectCmptntAthrtCodeAjax(
@ModelAttribute("comDefaultCodeVO") ComDefaultCodeVO comDefaultCodeVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
System.out.println("comDefaultCodeVO.getCodeNm() : "+ comDefaultCodeVO.getCodeNm());
comDefaultCodeVO.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailLikeNmOrderByCode(comDefaultCodeVO);
modelAndView.addObject("cmmnCodeList", CmmnDetailCodeList);
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 조건부기소유예과정 등록 * 조건부기소유예과정 등록
*/ */
@ -1338,13 +1393,41 @@ public class CndtnTrgtMngController {
model.addAttribute("fileList", result); model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size()); model.addAttribute("fileListCnt", result.size());
/*
// 관할청 공통코드 // 관할청 공통코드
ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008"); codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
*/
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
// CODE 값을 저장할 Set (중복을 제거하기 위해 사용)
Set<String> uniqueCodes = new HashSet<>();
for(CmmnDetailCode vo : CmmnDetailCodeList) {
uniqueCodes.add(vo.getCode().split("-")[0]);
}
model.addAttribute("CmmnDetailCodeList", uniqueCodes);
// 관할청 - 지역명
String codeNm = cndtnTrgtInfoVO.getCmptntAthrt().split("-")[0];
model.addAttribute("cmptntAthrtCode", codeNm);
codeParam.setCodeNm(codeNm);
List<CmmnDetailCode> CmmnDetailList = egovCmmUseService.selectCmmCodeDetailLikeNmOrderByCode(codeParam);
model.addAttribute("cmmnCodeList", CmmnDetailList);
return "oprtn/cndtnSspnIdtmt/trgtMngMdfy"; return "oprtn/cndtnSspnIdtmt/trgtMngMdfy";
} }

View File

@ -106,4 +106,21 @@
ORDER BY code ORDER BY code
]]> ]]>
</select> </select>
<select id="CmmUseDAO.selectCmmCodeDetailLikeNmOrderByCode" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = 'VEA008'
<isNotEmpty property="codeNm">
AND CODE_NM like #codeNm# || '%'
</isNotEmpty>
<!-- AND CODE = #code# -->
ORDER BY code
</select>
</sqlMap> </sqlMap>

View File

@ -40,6 +40,8 @@
,edu_place ,edu_place
,dprtm_nm ,dprtm_nm
,cn_atch_file_id ,cn_atch_file_id
,prcs_cn
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
@ -115,6 +117,8 @@
,#eduPlace# ,#eduPlace#
,#dprtmNm# ,#dprtmNm#
,#cnAtchFileId# ,#cnAtchFileId#
,#prcsCn#
) )
</insert> </insert>
@ -236,6 +240,9 @@
<isNotEmpty property="cnAtchFileId"> <isNotEmpty property="cnAtchFileId">
, cn_atch_file_id = #cnAtchFileId# , cn_atch_file_id = #cnAtchFileId#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="prcsCn">
, prcs_cn = #prcsCn#
</isNotEmpty>
WHERE WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd# prcs_aplct_prd_ord = #prcsAplctPrdOrd#
@ -577,7 +584,7 @@
,a.ddln_cd AS ddlnCd ,a.ddln_cd AS ddlnCd
,a.edu_strt_pnttm AS eduStrtPnttm ,a.edu_strt_pnttm AS eduStrtPnttm
,a.edu_ddln_pnttm AS eduDdlnPnttm ,a.edu_ddln_pnttm AS eduDdlnPnttm
,b.prcs_cn AS prcsCn ,a.prcs_cn AS prcsCn
<!-- ,(SELECT lctr_plan_atch_file_id <!-- ,(SELECT lctr_plan_atch_file_id
FROM vea_prcs_aplct_prd_instr_asgnm FROM vea_prcs_aplct_prd_instr_asgnm
WHERE prcs_aplct_prd_ord = a.prcs_aplct_prd_ord WHERE prcs_aplct_prd_ord = a.prcs_aplct_prd_ord

View File

@ -284,7 +284,7 @@
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육과정</th>
<td> <td>
<textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea> <textarea name="prcsCn" id="prcsCn" class="memo" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
</td> </td>
</tr> </tr>

View File

@ -219,7 +219,7 @@
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육과정</th>
<td> <td>
<textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${prcsCn }" /></textarea> <textarea name="prcsCn" id="prcsCn" class="memo" class="inputLight" style="height: 200px;"><c:out value="${prcsCn }" /></textarea>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -34,10 +34,57 @@
$(".btn_type01").on('click', function(){ $(".btn_type01").on('click', function(){
$("#file_temp").click(); $("#file_temp").click();
}); });
//파일첨부관련 설정들=============================================== //파일첨부관련 설정들===============================================
$('#cmptntAthrtCode').change(function(){
selectCmptntAthrtCodeAjax($(this).val());
});
}); });
function selectCmptntAthrtCodeAjax(codeNm){
var dataToSend = {
"codeNm": codeNm
};
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/selectCmptntAthrtCodeAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData.cmmnCodeList);
var selectBox = $('#cmptntAthrt');
selectBox.empty();
$.each(returnData.cmmnCodeList, function(i, item) {
selectBox.append($('<option>', {
value: item.code,
text : item.codeDc
}));
});
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
function addPro() { function addPro() {
var addQuest = $(".addPro_wrap"); var addQuest = $(".addPro_wrap");
@ -333,12 +380,29 @@
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<%--
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1"> <select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option> <option value="">선택</option>
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status"> <c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option> <option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option>
</c:forEach> </c:forEach>
</select> </select>
--%>
<select id="cmptntAthrtCode" class="sel_type1">
<option value="">지역 선택</option>
<c:forEach items="${CmmnDetailCodeList}" var="text">
<option value="${text}" <c:if test="${cmptntAthrtCode==text }">selected="selected"</c:if>>${text}</option>
</c:forEach>
</select>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">지역을 먼저 선택해 주세요</option>
<c:forEach var="list" items="${cmmnCodeList}" varStatus="status">
<option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option>
</c:forEach>
</select>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -35,6 +35,17 @@
$("#file_temp").click(); $("#file_temp").click();
}); });
// var cmmnDetailCodeList = '<c:out value="${cmptntAthrtCode }" />';
// console.log('cmmnDetailCodeList : ', cmmnDetailCodeList);
var jsonData = '<c:out value="${jsonData }" />';
console.log('jsonData : ', jsonData);
$('#cmptntAthrtCode').change(function(){
selectCmptntAthrtCodeAjax($(this).val());
});
}); });
@ -129,6 +140,48 @@
} }
function selectCmptntAthrtCodeAjax(codeNm){
var dataToSend = {
"codeNm": codeNm
};
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/selectCmptntAthrtCodeAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData.cmmnCodeList);
var selectBox = $('#cmptntAthrt');
selectBox.empty();
$.each(returnData.cmmnCodeList, function(i, item) {
selectBox.append($('<option>', {
value: item.code,
text : item.codeDc
}));
});
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
// 강사 배치 // 강사 배치
function fn_duplChkPopup() { function fn_duplChkPopup() {
var form = document.createForm; var form = document.createForm;
@ -342,11 +395,15 @@
/> />
--%> --%>
<select id="cmptntAthrtCode" class="sel_type1">
<option value="">지역 선택</option>
<c:forEach items="${CmmnDetailCodeList}" var="text">
<option value="${text}">${text}</option>
</c:forEach>
</select>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1"> <select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option> <option value="">지역을 먼저 선택해 주세요</option>
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }">${list.codeNm }</option>
</c:forEach>
</select> </select>

View File

@ -44,6 +44,10 @@
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-')); var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
// 시간 맞추기
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
var currentDate = new Date(); var currentDate = new Date();
var textVal=''; var textVal='';

View File

@ -47,6 +47,10 @@
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-')); var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
// 시간 맞추기
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
var currentDate = new Date(); var currentDate = new Date();
// new Date에서 년, 월, 일만 생성 // new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());