feat: pms-#3220 [관리자] 청소년찾아가는 저작권 교육 > 강의조사 요청 목록 수정 사항 :: 완료
This commit is contained in:
parent
bf04903d9e
commit
711591e6f8
@ -212,4 +212,14 @@ public final class DateUtil {
|
||||
|
||||
return strWeek;
|
||||
}
|
||||
|
||||
public static int getNowyyyyMMddReturnInt() {
|
||||
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
return Integer.parseInt(LocalDateTime.now().format(formatter2));
|
||||
}
|
||||
public static LocalDate getStringToLocalDate(String p_date) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
LocalDate date = LocalDate.parse(p_date, formatter);
|
||||
return date;
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,6 +22,10 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String userNm; //사용자 이름
|
||||
private String lctrStngOrd; //강의설정순번
|
||||
private String lctrStngOrdTtl; // 참여현황 - 총계
|
||||
private String lctrStngOrdSbmt; // 참여현황 - 참여
|
||||
|
||||
|
||||
private String sunLctrYn; //일요일 강의 여부
|
||||
private String monLctrYn; //월요일 강의 여부
|
||||
private String tueLctrYn; //화요일 강의 여부
|
||||
@ -120,6 +124,13 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable {
|
||||
//ve_lctr_rsrch_mng
|
||||
private String rsrchInstrDiv;
|
||||
private String rsrchStrtDt;
|
||||
|
||||
// 조사 상태
|
||||
private String rsrchState;
|
||||
|
||||
|
||||
|
||||
;
|
||||
private String rsrchEndDt;
|
||||
private String stngYrMnt; //설정년월
|
||||
|
||||
@ -355,6 +366,18 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable {
|
||||
public String getLctrStngOrd() {
|
||||
return lctrStngOrd;
|
||||
}
|
||||
public String getLctrStngOrdTtl() {
|
||||
return lctrStngOrdTtl;
|
||||
}
|
||||
public void setLctrStngOrdTtl(String lctrStngOrdTtl) {
|
||||
this.lctrStngOrdTtl = lctrStngOrdTtl;
|
||||
}
|
||||
public String getLctrStngOrdSbmt() {
|
||||
return lctrStngOrdSbmt;
|
||||
}
|
||||
public void setLctrStngOrdSbmt(String lctrStngOrdSbmt) {
|
||||
this.lctrStngOrdSbmt = lctrStngOrdSbmt;
|
||||
}
|
||||
public void setLctrStngOrd(String lctrStngOrd) {
|
||||
this.lctrStngOrd = lctrStngOrd;
|
||||
}
|
||||
@ -571,6 +594,12 @@ public class VELctrDetailVO extends ComDefaultVO implements Serializable {
|
||||
public String getRsrchStrtDt() {
|
||||
return rsrchStrtDt;
|
||||
}
|
||||
public String getRsrchState() {
|
||||
return rsrchState;
|
||||
}
|
||||
public void setRsrchState(String rsrchState) {
|
||||
this.rsrchState = rsrchState;
|
||||
}
|
||||
public void setRsrchStrtDt(String rsrchStrtDt) {
|
||||
this.rsrchStrtDt = rsrchStrtDt;
|
||||
}
|
||||
|
||||
@ -28,4 +28,8 @@ public interface VELctrRsrchMngService {
|
||||
//조사진행목록
|
||||
List<VELctrDetailVO> selectPagingListLctr(VELctrDetailVO paramVO) throws Exception;
|
||||
|
||||
// lctrStngOrd 값 가져오기
|
||||
// 강의조사 요청목록에 참여현황 데이터 정제를 위함
|
||||
List<String> findByLctrStngOrd(String stngYrMnt) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -74,4 +74,9 @@ public class VELctrRsrchMngDAO extends EgovAbstractDAO {
|
||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VELctrRsrchMngDAO.selectPagingListLctr", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<String> findByLctrStngOrd(String stngYrMnt) throws Exception {
|
||||
List<String> tlist = (List<String>) list("VELctrRsrchMngDAO.findByLctrStngOrd", stngYrMnt);
|
||||
return tlist;
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,4 +57,8 @@ public class VELctrRsrchMngServiceImpl implements VELctrRsrchMngService {
|
||||
public List<VELctrDetailVO> selectPagingListLctr(VELctrDetailVO paramVO) throws Exception{
|
||||
return vELctrRsrchMngDAO.selectPagingListLctr(paramVO);
|
||||
}
|
||||
|
||||
public List<String> findByLctrStngOrd(String stngYrMnt) throws Exception{
|
||||
return vELctrRsrchMngDAO.findByLctrStngOrd(stngYrMnt);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
package kcc.ve.oprtn.instr.tngrVisitEdu.lctrRsrch.web;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.ctc.wstx.util.DataUtil;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.EgovMessageSource;
|
||||
@ -22,6 +26,7 @@ import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.util.DateUtil;
|
||||
import kcc.com.utl.user.service.CheckAdrProcessUtil;
|
||||
import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
@ -204,6 +209,34 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
//2. pageing step2
|
||||
vELctrDetailVO = vEPagingUtil.setPagingStep2_VELctrDetailVO(vELctrDetailVO, paginationInfo);
|
||||
List<VELctrDetailVO> selectVELctrDetailVOList = vELctrRsrchMngService.selectPagingList(vELctrDetailVO);
|
||||
|
||||
LocalDate nowDate = LocalDate.now();
|
||||
selectVELctrDetailVOList.stream().forEach(t->{
|
||||
try {
|
||||
List<String> lctrStngOrdList = vELctrRsrchMngService.findByLctrStngOrd(t.getStngYrMnt());
|
||||
// 참여현황 총 토탈 카운트
|
||||
t.setLctrStngOrdTtl(Integer.toString(lctrStngOrdList.size()));
|
||||
// 참여현황 참여 카운트
|
||||
t.setLctrStngOrdSbmt(Long.toString(lctrStngOrdList.stream().filter(s -> StringUtils.isNotEmpty(s)).count()));
|
||||
|
||||
LocalDate startDate = DateUtil.getStringToLocalDate(t.getRsrchStrtDt());
|
||||
LocalDate endDate = DateUtil.getStringToLocalDate(t.getRsrchEndDt());
|
||||
|
||||
// 진행중 체크
|
||||
// 공통 코드 추가 VE0034 01 : 진행전, 02 : 진행중, 03 : 마감
|
||||
if(nowDate.isEqual(startDate) || nowDate.isEqual(endDate)) {t.setRsrchState("02");}
|
||||
else if(nowDate.isBefore(startDate)) {t.setRsrchState("01");}
|
||||
else if(nowDate.isAfter(endDate)) {t.setRsrchState("03");}
|
||||
|
||||
t.getRsrchEndDt();
|
||||
t.getRsrchState();
|
||||
DateUtil.getNowyyyyMMddReturnInt();
|
||||
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//3.pageing step3
|
||||
|
||||
@ -357,4 +357,65 @@
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<select id="VELctrRsrchMngDAO.findByLctrStngOrd" parameterClass="String" resultClass="String">
|
||||
|
||||
|
||||
select
|
||||
ccc.lctr_stng_ord as lctrStngOrd
|
||||
from
|
||||
(
|
||||
select
|
||||
aa.rsrch_instr_div ,
|
||||
aa.stng_yr_mnt ,
|
||||
aa.rsrch_strt_dt ,
|
||||
aa.rsrch_end_dt ,
|
||||
bb.*
|
||||
from
|
||||
ve_lctr_rsrch_mng aa,
|
||||
(
|
||||
select
|
||||
b.instr_div ,
|
||||
b.user_id
|
||||
from
|
||||
ve_instr a ,
|
||||
ve_instr_detail b
|
||||
where
|
||||
a.tngr_instr_yn = 'Y'
|
||||
and b.instr_div = '10'
|
||||
and b.user_id = a.user_id
|
||||
and b.use_yn = 'Y'
|
||||
)bb
|
||||
where
|
||||
aa.rsrch_instr_div = '10'
|
||||
and aa.stng_yr_mnt = #stngYrMnt#
|
||||
)aaa
|
||||
left outer join (
|
||||
select
|
||||
c.*
|
||||
from
|
||||
ve_lctr_rsrch_mng a ,
|
||||
ve_lctr_rsrch_sbmt b ,
|
||||
ve_lctr_stng c
|
||||
where
|
||||
a.rsrch_instr_div = '10'
|
||||
and a.stng_yr_mnt = #stngYrMnt#
|
||||
and a.rsrch_instr_div = b.rsrch_instr_div
|
||||
and a.stng_yr_mnt = b.stng_yr_mnt
|
||||
and b.instr_div = c.instr_div
|
||||
and b.user_id = c.user_id
|
||||
and b.lctr_stng_ord = c.lctr_stng_ord /* 제출인것만 제출로 인정 2023-03-14 사용은 하나뿐이므로 use_yn='Y' only one, but sbmt_yn='Y'는 모든 제출에 적용 */
|
||||
and c.sbmt_yn = 'Y'
|
||||
) ccc
|
||||
on ccc.instr_div = aaa.instr_div
|
||||
and ccc.user_id = aaa.user_id
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
</sqlMap>
|
||||
|
||||
@ -232,7 +232,8 @@
|
||||
<th>강의조사월</th>
|
||||
<th>조사시작일</th>
|
||||
<th>조사마감일</th>
|
||||
<th>마감여부</th>
|
||||
<th>참여현황</th>
|
||||
<th>마감여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -253,9 +254,11 @@
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.rsrchEndDt}" var="rsrchEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rsrchEndDt}" pattern="yyyy.MM.dd"/>
|
||||
|
||||
|
||||
${list.lctrStngOrdSbmt } / ${list.lctrStngOrdTtl }
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0034" code="${list.rsrchState }"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user