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);
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) {
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
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.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
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.mvc.support.RedirectAttributes;
import com.fasterxml.jackson.databind.ObjectMapper;
import egovframework.rte.fdl.cmmn.exception.FdlException;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@ -456,12 +462,12 @@ public class CndtnTrgtMngController {
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
// 사용자 권한이 관할청 담당자일때 userWork로 관할 가져오기
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
@ -470,11 +476,60 @@ public class CndtnTrgtMngController {
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
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";
}
/**
* 조건부기소유예과정 등록
*/
@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("fileListCnt", result.size());
/*
// 관할청 공통코드
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
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";
}

View File

@ -106,4 +106,21 @@
ORDER BY code
]]>
</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>

View File

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

View File

@ -284,7 +284,7 @@
<tr>
<th scope="row">상세교육과정</th>
<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>
</tr>

View File

@ -219,7 +219,7 @@
<tr>
<th scope="row">상세교육과정</th>
<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>
</tr>
<tr>

View File

@ -34,11 +34,58 @@
$(".btn_type01").on('click', function(){
$("#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() {
var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length;
@ -333,12 +380,29 @@
<tr>
<th scope="row">관할청</th>
<td>
<%--
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option>
<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>
</c:forEach>
</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>
</tr>
<tr>

View File

@ -35,6 +35,17 @@
$("#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() {
var form = document.createForm;
@ -342,13 +395,17 @@
/>
--%>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option>
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }">${list.codeNm }</option>
<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">
<option value="">지역을 먼저 선택해 주세요</option>
</select>
</c:when>
<c:otherwise>

View File

@ -44,6 +44,10 @@
var strtPnttm = new Date(dateText.split("~")[0].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 textVal='';

View File

@ -47,6 +47,10 @@
var strtPnttm = new Date(dateText.split("~")[0].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();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());