관리자 - 성인 > 강사관리 > 강사일괄출력 - 체크박스 출력으로 수정 기능 테스트중

This commit is contained in:
hylee 2023-12-26 18:13:23 +09:00
parent 3dfd2bd06c
commit 11aa1ed604
10 changed files with 231 additions and 11 deletions

View File

@ -590,6 +590,8 @@ public class EgovCryptoUtil {
for(VEEduAplctVO vo : vEPrcsDetailVOList) {
vo.setChrgNm(this.decrypt(vo.getChrgNm()));
vo.setUserNm(this.decrypt(vo.getUserNm()));
vo.setPhone(this.decrypt(vo.getPhone()));
// }
}
// TODO Auto-generated method stub

View File

@ -566,6 +566,50 @@ public class CrownixAjaxController {
}
/**
* 성인강사들 출력 정보
*
*/
@RequestMapping("/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do")
public ModelAndView instrDetailListAjax_v2(
VEInstrDetailVO vEInstrDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
System.out.println(" vEInstrDetailVO.getUserIdList().toString() :: "+vEInstrDetailVO.getUserIdList().toString());
//대상 강사 리스트
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectWhereInDetailReport(vEInstrDetailVO);
//복호화
vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList);
JSONArray jsReqInfo = new JSONArray(); //신청인 정보
for (int i=0;i<vEInstrDetailVOList.size();i++) {
JSONObject jsDrtInfo = new JSONObject(); //전체 정보
jsDrtInfo.put("data_1", vEInstrDetailVOList.get(i).getInstrNm());
jsDrtInfo.put("data_2", vEInstrDetailVOList.get(i).getPhone());
jsDrtInfo.put("data_3", vEInstrDetailVOList.get(i).getEmail());
jsDrtInfo.put("data_4", vEInstrDetailVOList.get(i).getAddr());
jsDrtInfo.put("data_5", vEInstrDetailVOList.get(i).getRsdne());
jsDrtInfo.put("data_6", vEInstrDetailVOList.get(i).getdBirth());
jsDrtInfo.put("data_7", vEInstrDetailVOList.get(i).getPrfsnFld());
//jsDrtInfo.put("image", "http://119.193.215.98:9989/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEInstrDetailVOList.get(i).getPhtAtchFileId());
jsDrtInfo.put("image", "http://192.168.0.59:3080/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEInstrDetailVOList.get(i).getPhtAtchFileId());
jsReqInfo.add(jsDrtInfo);
}
modelAndView.addObject("instrs", jsReqInfo);
return modelAndView;
}
/**
* 청소년 강사 활동내역서 출력 정보

View File

@ -562,7 +562,7 @@ public class FndtnEnhanceTrnController {
vEEduAplctVO.setPrvsQs(vEPrcsDetailVO.getPrvsQs());
vEEduAplctVO.setEmail(vEPrcsDetailVO.getEmail());
vEEduAplctVO.setPhone(vEPrcsDetailVO.getPhone());
vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone()));
fndtnEnhanceTrnService.insertVeEduAplct(vEEduAplctVO);

View File

@ -484,7 +484,7 @@ public class SspnIdtmtController {
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEEduAplctVO.setTrgtNm(vEPrcsDetailVO.getTrgtNm());
vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth());
vEEduAplctVO.setPhone(vEPrcsDetailVO.getPhone());
vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone()));
vEEduAplctVO.setEmail(vEPrcsDetailVO.getEmail());
String result = "";

View File

@ -1,6 +1,8 @@
package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import kcc.com.cmm.ComDefaultVO;
@ -27,7 +29,7 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
private String checkTopSum;
private String weekCnt;
private List<String> userIdList = new ArrayList<String>();
//ve_instr_detail
private String instrDiv; //강사구분
@ -820,6 +822,12 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
public void setWeekCnt(String weekCnt) {
this.weekCnt = weekCnt;
}
public List<String> getUserIdList() {
return userIdList;
}
public void setUserIdList(List<String> userIdList) {
this.userIdList = userIdList;
}
public String getBirth() {
return Birth;
}

View File

@ -109,4 +109,6 @@ public interface VEInstrMixService {
//강사 등록 신청 제출 처리
int updateInstrId(VEInstrDetailVO vEInstrDetailVO) throws Exception;
int updateInstrDetailSbmtY(VEInstrDetailVO vEInstrDetailVO) throws Exception;
List<VEInstrDetailVO> selectWhereInDetailReport(VEInstrDetailVO vEInstrDetailVO);
}

View File

@ -235,4 +235,9 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
public int updateInstrDetailSbmtY(VEInstrDetailVO vEInstrDetailVO) throws Exception {
return update("VEInstrMixDAO.updateInstrDetailSbmtY", vEInstrDetailVO);
}
public List<VEInstrDetailVO> selectWhereInDetailReport(VEInstrDetailVO vEInstrDetailVO) {
List<VEInstrDetailVO> tlist = (List<VEInstrDetailVO>) list("VEInstrMixDAO.selectWhereInDetailReport", vEInstrDetailVO);
return tlist;
}
}

View File

@ -186,4 +186,9 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
return vEInstrMixDAO.updateInstrDetailSbmtY(vEInstrDetailVO);
}
@Override
public List<VEInstrDetailVO> selectWhereInDetailReport(VEInstrDetailVO vEInstrDetailVO) {
return vEInstrMixDAO.selectWhereInDetailReport(vEInstrDetailVO);
}
}

View File

@ -941,6 +941,137 @@
</isNotEmpty>
</select>
<!-- 강사 디테일 정보 L page -->
<select id="VEInstrMixDAO.selectWhereInDetailReport" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
/* VEInstrMixDAO.selectPagingDetailList4Report */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrMixDAO.select_detail_column_name"/>,
<!-- useYN이 N인 수정요청 조회-->
(SELECT COUNT(1)
FROM ve_lctr_stng vls
WHERE a.instr_div = vls.instr_div
AND a.user_id = vls.user_id
AND vls.aprvl_cd = '10'
AND vls.use_yn = 'N'
) AS stngCnt,
(SELECT COUNT(1)
FROM <include refid="VEInstrMixDAO.detail_table_name"/> cc
WHERE a.instr_div = cc.instr_div
AND a.user_id = cc.user_id
AND cc.aprvl_cd = '10'
AND cc.use_yn = 'N'
AND cc.instr_detail_ord > a.instr_detail_ord
) AS rqstCnt
, (SELECT
MAX(cc.instr_detail_ord)
FROM <include refid="VEInstrMixDAO.detail_table_name"/> cc
WHERE a.instr_div = cc.instr_div
AND a.user_id = cc.user_id
AND cc.aprvl_cd = '10'
AND cc.use_yn = 'N'
AND cc.instr_detail_ord >a.instr_detail_ord
) AS instrMdfyOrd
/*
, (SELECT f.one_depth_nm
FROM ve_rsdnc f
WHERE f.post_id = MAX(e.area_cd)
GROUP BY f.one_depth_nm
) AS lctrAreaNm
, COUNT(e.area_cd) AS lctrAreaCnt
*/
, ( SELECT f.one_depth_nm
FROM ve_rsdnc f
WHERE f.post_id = (
SELECT MAX(ee.area_cd)
FROM ve_lctr_area ee
WHERE ee.instr_div = d.instr_div
AND ee.user_id = d.user_id
AND ee.lctr_stng_ord=d.lctr_stng_ord
)
GROUP BY f.one_depth_nm
) AS lctrAreaNm
, (
SELECT count(1)
FROM ve_lctr_area ee
WHERE ee.instr_div = d.instr_div
AND ee.user_id = d.user_id
AND ee.lctr_stng_ord=d.lctr_stng_ord
) AS lctrAreaCnt
, CASE WHEN d.mon_lctr_yn = 'Y' THEN 1
ELSE 0
END AS monLctrYn
, CASE WHEN d.tue_lctr_yn = 'Y' THEN 1
ELSE 0
END AS tueLctrYn
, CASE WHEN d.wed_lctr_yn = 'Y' THEN 1
ELSE 0
END AS wedLctrYn
, CASE WHEN d.thu_lctr_yn = 'Y' THEN 1
ELSE 0
END AS thuLctrYn
, CASE WHEN d.fri_lctr_yn = 'Y' THEN 1
ELSE 0
END AS friLctrYn
, (SELECT g.sbmt_pnttm
FROM ve_instr_detail g
WHERE g.user_id = a.user_id
AND g.instr_detail_ord = '1'
AND g.instr_div = a.instr_div
)AS regSbmtPnttm
FROM ( SELECT COUNT(1) OVER() AS totCnt ,
a0.instr_div AS instrDiv ,
a0.user_id AS userId ,
a0.instr_detail_ord AS instrDetailOrd
FROM ve_instr b0 ,
ve_instr_detail a0
WHERE 1 =1
/*
AND a0.user_id=b0.user_id
AND a0.sbmt_yn='Y'
AND a0.use_yn = 'Y'
AND
(
b0.tngr_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y'
)
AND a0.instr_div='10'
*/
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
GROUP BY a0.instr_div ,
a0.user_id ,
a0.instr_detail_ord
) a00
, <include refid="VEInstrMixDAO.detail_table_name"/> a
LEFT OUTER JOIN ve_lctr_stng d
ON (d.instr_div = a.instr_div
AND d.user_id = a.user_id
AND d.use_yn='Y'
)
WHERE 1=1
AND a00.instrDiv =a.instr_div
AND a00.userId =a.user_id
AND a00.instrDetailOrd=a.instr_detail_ord
AND
<iterate property="userIdList" open="(" close=")" conjunction=",">
#userIdList[]#
</iterate>
</select>
<!-- 강사 디테일 정보 L page -->

View File

@ -104,6 +104,11 @@
listForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/instrInfo/eduAplctExcelDownLoad.do'/>";
listForm.submit();
}
function chkAll(obj) {
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
}
</script>
<title>강사신청 관리</title>
<form:form id="popupForm" name="popupForm" method="post" commandName="vEInstrDetailVO" onsubmit="return false;">
@ -210,6 +215,7 @@
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 10%;">
<col style="width: 9%;">
<col style="width: 16%">
@ -221,6 +227,7 @@
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th scope="col">이름</th>
<th scope="col">구분</th>
<th scope="col">거주지</th>
@ -234,6 +241,10 @@
<tbody>
<c:forEach var="list" items="${resultList}" varStatus="status">
<tr onclick="fncGoDetail('<c:out value="${list.userId}"/>', '<c:out value="${list.instrDiv}"/>' , '<c:out value="${list.instrDetailOrd}"/>', '<c:out value="${list.rqstCnt}"/>');" style="cursor:pointer;">
<td>
<input name="chk" value="${list.userId}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.instrNm}"/>
</td>
@ -306,7 +317,7 @@
</div>
<div class="btn_right">
<button type="button" class="btn_type06" onclick="fncCmpltCrtfc(); return false;">강사일괄출력</button>
<button type="button" class="btn_type06" onclick="fncCmpltCrtfc(); return false;">강사선택출력</button>
</div>
</div>
@ -331,17 +342,29 @@
//function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
function fncCmpltCrtfc(){
var v_searchQlfctEndYn = $('#searchQlfctEndYn').val();
var v_searcDivCd = $('#searcDivCd').val();
var v_searchKeyword = $('#searchKeyword').val();
var userIdList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var eduAplctOrdValue = $(this).val();
userIdList.push(eduAplctOrdValue);
});
if (userIdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
// var v_searchQlfctEndYn = $('#searchQlfctEndYn').val();
// var v_searcDivCd = $('#searcDivCd').val();
// var v_searchKeyword = $('#searchKeyword').val();
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
viewer.hideToolbarItem(["save"]);
viewer.showToolbarItem(["print_pdf"]);
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn='+v_searchQlfctEndYn+'&p_searcDivCd='+v_searcDivCd+'&p_searchKeyword='+v_searchKeyword+']');
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
// viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn='+v_searchQlfctEndYn+'&p_searcDivCd='+v_searcDivCd+'&p_searchKeyword='+v_searchKeyword+']');
}