Merge branch 'JIWOO' into advc

This commit is contained in:
jiwoo 2024-01-08 12:26:34 +09:00
commit 0a64e322e7
2 changed files with 152 additions and 117 deletions

View File

@ -1322,7 +1322,145 @@ public class CndtnTrgtMngController {
}
//수료자 관리 엑셀 다운로드
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltExcel.do")
public ModelAndView trgtCmpltExcel(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority());
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject(model);
return modelAndView;
}
//로그인 처리====================================
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
try {
//1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
// 이수 조건 추가
cndtnTrgtInfoMngVO.setEduStateCd("20");
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
ComDefaultCodeVO vo = new ComDefaultCodeVO();
for(CndtnTrgtMngVO tmp : cndtnTrgtInfoMngVOList) {
//의뢰읠
tmp.setReqPnttm(tmp.getReqPnttm().substring(0, 10));
//이름 복호화
tmp.setTrgtNm(egovCryptoUtil.decrypt(tmp.getTrgtNm()));
//생년월일 - VO에 dbirth와 Dbirth 둘다 있음
if(StringUtil.isNotEmpty(tmp.getdBirth())) {
tmp.setDBirth(tmp.getdBirth());
}
//성별
if(StringUtil.isNotEmpty(tmp.getSex())) {
vo.setCodeId("COM014");
vo.setCode(tmp.getSex());
CmmnDetailCode cmmnDetailCodeSex= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeSex!=null) tmp.setSex((StringUtil.escapeXml(cmmnDetailCodeSex.getCodeNm())));
}
//의뢰상태
if(StringUtil.isNotEmpty(tmp.getReqStateCd())) {
if (tmp.getPrcsAplctPrdOrdCmplt()==null) {
vo.setCodeId("VEA005");
vo.setCode(tmp.getReqStateCd());
CmmnDetailCode cmmnDetailCodeReqState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeReqState!=null) tmp.setReqStateCd((StringUtil.escapeXml(cmmnDetailCodeReqState.getCodeNm())));
}else {
tmp.setReqStateCd("병합처리");
}
}
//교육상태
if(StringUtil.isNotEmpty(tmp.getEduStateCd())) {
vo.setCodeId("VEA002");
vo.setCode(tmp.getEduStateCd());
CmmnDetailCode cmmnDetailCodeEduState= egovCmmUseService.selectCmmCodeDetailValue(vo);
if (cmmnDetailCodeEduState!=null) tmp.setEduStateCd((StringUtil.escapeXml(cmmnDetailCodeEduState.getCodeNm())));
}
//주소
if(StringUtil.isNotEmpty(tmp.getAddr()) && StringUtil.isNotEmpty(tmp.getAddrDetail())) {
tmp.setAddr(tmp.getAddr()+" "+tmp.getAddrDetail());
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
int[] width = {
4000, 5000, 5000, 5000, 3000
, 3000, 5000, 4000, 5000, 13000
, 3500
}; // 너비
String[] header = {
"의뢰일", "사건번호", "관할청", "생년월일", "성명"
, "성별" , "의뢰번호", "의뢰상태", "교육상태", "주소"
, "검사명"
}; // 헤더에 들어갈 이름
String[] order = {
"ReqPnttm", "VntNmbr", "CmptntAthrt", "DBirth", "TrgtNm"
, "Sex", "ReqNmbr", "ReqStateCd", "EduStateCd", "Addr"
, "PrsctrNm"
}; // vo 내부의 필드 이름 (첫글자 대문자, 낙타체 사용)
excelDown(
cndtnTrgtInfoMngVOList,
"수료자 목록",
width,
header,
order,
model
);
//3.pageing step3
// paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo);
//
// model.addAttribute("paginationInfo", paginationInfo);
//
//
// //대상 리스트, 페이징 정보 전달
// model.addAttribute("list", cndtnTrgtInfoMngVOList);
//
// ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
// codeParam.setCodeId("VEA008");
// List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
// model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
modelAndView.addObject(model);
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -40,47 +40,7 @@
$(document).ready(function(){
searchInit();
// 검색 select box
$('#searchStatus').change(function(){
$('#searchKeyword').val('');
$('#searchSmbtStartDt').val('');
$('#searchSmbtEndDt').val('');
if($(this).val() == 'frstRegistPnttm'){
$('#searchKeyword').hide();
$('#calendar').show();
}
if($(this).val() == 'trgt_nm'){
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
if($(this).val() == 'd_birth'){
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
var selecedTxt = $('#searchStatus option:checked').val();
console.log('selecedTxt : ', selecedTxt);
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
$('#calendar').hide();
}else{
$('#searchKeyword').hide();
}
}
function fncGoList(){
linkPage(1);
@ -89,7 +49,6 @@
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do'/>";
listForm.submit();
}
@ -102,81 +61,6 @@
detailForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
@ -184,6 +68,11 @@
});
}
function fncExcel(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltExcel.do'/>";
listForm.submit();
}
</script>
<title>교육과정관리</title>
</head>
@ -261,6 +150,14 @@
</div>
</div>
</div>
<div class="list_top_4">
<div class="util_left">
<p>엑셀 다운로드</p>
</div>
<div class="util_right">
<button type="button" class="btn_type08" onclick="fncExcel();">엑셀 다운로드</button>
</div>
</div>
</div>
<div class="list_util">