Merge branch 'hylee'

This commit is contained in:
hylee 2022-11-23 11:39:12 +09:00
commit 4c80bc343c
8 changed files with 295 additions and 63 deletions

View File

@ -219,4 +219,21 @@ public final class DateUtil {
return df.format(cal.getTime());
}
/**
* @methodName : setLastDayOfMonth
* @author : 이호영
* @date : 2022.11.23
* @description : 해당 월의 마지막 날짜 구함
* @param year
* @param month
* @return
*/
public static int setLastDayOfMonth(String year, String month) {
Calendar cal = Calendar.getInstance();
cal.set(Integer.parseInt(year), Integer.parseInt(month)-1, 1);
return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
}

View File

@ -37,4 +37,6 @@ public interface AdjReqMgrOffLineService {
int updateAdjstReqMgrOff(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception;
String selectAdjstReqMgrOffStatCdYn(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception;
List<String> findByApprDeList();
}

View File

@ -9,6 +9,8 @@ public class AdjReqMgrSttstVO extends ComDefaultVO implements Serializable {
private String srchYear = ""; // 검색 년도
private String srchType1 = ""; // 검색 조건1 /반기/분기
private String srchType2 = ""; // 검색 조건2 1~12월/,하반기/1분기~4분기
private String srchStrtDe = ""; // 검색 시작 일자
private String srchEndDe = ""; // 검색 종료 일자
// 조정위원
@ -59,6 +61,18 @@ public class AdjReqMgrSttstVO extends ComDefaultVO implements Serializable {
public void setSrchType2(String srchType2) {
this.srchType2 = srchType2;
}
public String getSrchStrtDe() {
return srchStrtDe;
}
public void setSrchStrtDe(String srchStrtDe) {
this.srchStrtDe = srchStrtDe;
}
public String getSrchEndDe() {
return srchEndDe;
}
public void setSrchEndDe(String srchEndDe) {
this.srchEndDe = srchEndDe;
}
public String getMemSeq() {
return memSeq;
}

View File

@ -106,4 +106,8 @@ public class AdjReqMgrOffLineDAO extends EgovAbstractDAO {
return (String) select("adjReqMgrOffLineDAO.selectAdjstReqMgrOffStatCdYn", adjReqMgrOffLineVO);
}
public List<String> findByApprDeList() {
return (List<String>) list("adjReqMgrOffLineDAO.findByApprDeList");
}
}

View File

@ -1,15 +1,18 @@
package kcc.kccadr.adjReqMgrOff.service.impl;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.util.DateUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
@ -725,8 +728,83 @@ public String insertAdjReqMgrRpplReq(AdjReqMgrOffLineVO adjReqMgrOffLineVO) thro
}
@Override
public List<AdjReqMgrSttstVO> adjReqMgrSttstList(AdjReqMgrSttstVO adjReqMgrSttstVO) throws Exception {
return adjReqMgrOffLineDAO.adjReqMgrSttstList(adjReqMgrSttstVO);
public List<AdjReqMgrSttstVO> adjReqMgrSttstList(AdjReqMgrSttstVO sttstVO) throws Exception {
/*
* 검색 조건이 있는지 확인
* 있으면 조건에 맞게 데이터 가공
*/
String srchYear = sttstVO.getSrchYear();
if(StringUtils.isNotEmpty(srchYear))
{
String srchType2 = sttstVO.getSrchType2().replaceAll(",", "");
// 세부선택 안할 Exception 방지
sttstVO.setSrchStrtDe(srchYear+"-01-01");
sttstVO.setSrchEndDe(srchYear+"-12-31");
if("01".equals(sttstVO.getSrchType1()))
{
// 상반기
if("01".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-01-01");
sttstVO.setSrchEndDe(srchYear+"-06-30");
}
// 하반기
else if("02".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-07-01");
sttstVO.setSrchEndDe(srchYear+"-12-31");
}
}
// 분기
else if("02".equals(sttstVO.getSrchType1()))
{
// 1분기
if("01".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-01-01");
sttstVO.setSrchEndDe(srchYear+"-03-31");
}
// 2분기
else if("02".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-04-01");
sttstVO.setSrchEndDe(srchYear+"-06-30");
}
// 3분기
else if("03".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-07-01");
sttstVO.setSrchEndDe(srchYear+"-09-30");
}
// 4분기
else if("04".equals(srchType2))
{
sttstVO.setSrchStrtDe(srchYear+"-10-01");
sttstVO.setSrchEndDe(srchYear+"-12-31");
}
}
//
else if("03".equals(sttstVO.getSrchType1()))
{
sttstVO.setSrchStrtDe(srchYear+"-"+srchType2+"-01");
sttstVO.setSrchEndDe(srchYear+"-"+srchType2+"-"+DateUtil.setLastDayOfMonth(srchYear, srchType2));
}
// 년도 전체
else
{
sttstVO.setSrchStrtDe(srchYear+"-01-01");
sttstVO.setSrchEndDe(srchYear+"-12-31");
}
}
return adjReqMgrOffLineDAO.adjReqMgrSttstList(sttstVO);
}
@Override
@ -1034,5 +1112,11 @@ public String insertAdjReqMgrRpplReq(AdjReqMgrOffLineVO adjReqMgrOffLineVO) thro
return resultSts;
}
@Override
public List<String> findByApprDeList() {
return adjReqMgrOffLineDAO.findByApprDeList();
}
}

View File

@ -470,10 +470,20 @@ public class AdvcSttstController {
paginationInfo.setTotalRecordCount(adjReqMgrOffLineService.adjReqMgrOffListCount(adjReqMgrOffLineVO));
model.addAttribute("paginationInfo", paginationInfo);
*/
List<AdjReqMgrSttstVO> list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO);
List<String> srchYearList = adjReqMgrOffLineService.findByApprDeList();
List<AdjReqMgrSttstVO> list = null;
try {
list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
// 복호화
//decryptInfomation(list, null);
decryptInfomation4Sttst(list, null);
model.addAttribute("srchYearList", srchYearList);
model.addAttribute("list", list);

View File

@ -644,6 +644,9 @@
AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ
AND M.STAT_CD='400000'
<isNotEmpty prepend="AND" property="srchYear">
M.APPR_DE BETWEEN TO_DATETIME(#srchStrtDe#, 'YYYY-MM-DD') AND TO_DATETIME(#srchEndDe#, 'YYYY-MM-DD')
</isNotEmpty>
)aa
GROUP BY mem_seq, ccTy
)aaa
@ -782,6 +785,9 @@
AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ
AND M.STAT_CD='400000'
<isNotEmpty prepend="AND" property="srchYear">
M.APPR_DE BETWEEN TO_DATETIME(#srchStrtDe#, 'YYYY-MM-DD') AND TO_DATETIME(#srchEndDe#, 'YYYY-MM-DD')
</isNotEmpty>
)aaa
, adr_hstry bbb
WHERE aaa.hstrySeq=bbb.adr_hstry_seq
@ -1001,5 +1007,10 @@
</select>
<!-- 조정위원 사건 관리 통계 년도 select -->
<select id="adjReqMgrOffLineDAO.findByApprDeList" resultClass="string">
select distinct SUBSTR(appr_de, -4, 4) as apprDe from adr_mgr_master order by apprDe asc;
</select>
</sqlMap>

View File

@ -34,52 +34,129 @@
//해당 페이지에 대한 권한 체크
_admin_fn_check_authority("memSttstList", "div.cont", "ALL");
// 검색 년도 (1Depth)
var srchYear = "${adjReqMgrSttstVO.srchYear}";
console.log('srchYear :: ', srchYear);
/**
* 처음 화면이면 검색조건 초기화 function
*/
if(!srchYear){
$('.srchType').hide();
}
else
{
$("#srchYear").val(srchYear).prop("selected", true);
// 검색 조건 (2Depth - 반기/분기/월)
var srchType1 = "${adjReqMgrSttstVO.srchType1}";
// 검색 조건 (3Depth - 반기/분기/월 - 상세)
var srchType2 = "${adjReqMgrSttstVO.srchType2}";
srchType2 = srchType2.replaceAll(',', '');
console.log('srchType1 :: ', srchType1);
console.log('srchType2 :: ', srchType2);
// 검색 조건 상세 숨김
$('.srchTypeDetail').hide();
$('#srchType00').val(srchType1).prop("selected", true);
$('#srchType'+srchType1).show();
$('#srchType'+srchType1).val(srchType2).prop("selected", true);
}
// 년도 체인지 이벤트
$('#srchYear').change(function(){
if($(this).val())
$('#srchType00').show();
else
{
$('.srchType').hide();
$('.srchType').val('');
}
});
// 반기/분기/월 선택 이벤트
$('#srchType00').change(function(){
$('.srchTypeDetail').hide();
$('.srchTypeDetail').val('');
var selectId = 'srchType';
if($(this).val()){
selectId += $(this).val();
$('#'+selectId).show();
}else{
$('.srchTypeDetail').hide();
$('.srchTypeDetail').val('');
}
});
});
/*
* 3Depth가 없으면 2Depth 초기화
*/
function fn_validator(){
var isVal = true;
$('.srchTypeDetail').each(function(index,item){
if($(item).val()){
isVal = false;
}
});
if(isVal)
{
$('#srchType00').val('');
}
}
//권한 체크 결과값으로 후속처리
function admin_fn_check_authority_ret(p_param){
//alert(p_param); //리턴값으로 상세 권한 체크시 사용 "" 또는 CUD 또는 CUDP
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
//listForm.pageIndex.value = pageNo ;
//listForm.searchCondition.value = $('#searchCondition').val();
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/advcSttst/memSttstList.do'/>";
listForm.submit();
}
function fncCreate(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/adjReqMgrOff/adjReqMgrOffRegist.do'/>";
listForm.submit();
}
function fncGoDetail(adrSeq){
var listForm = document.listForm ;
listForm.adrSeq.value = adrSeq;
listForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffDetail.do'/>";
listForm.submit();
}
function fncGoList(){
function AppReq(){
var form = $('<form id="payform"></form>');
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
form.appendTo('body');
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do" , "850", "700", "AppReqPopup", form);
form.remove();
}
function fncExcel() {
var listForm = document.listForm;
//listForm.action = "<c:url value='/kccadr/adjPgrMgr/apm/excel.do'/>";
listForm.action = "<c:url value='/kccadr/advcSttst/excel.do'/>";
listForm.submit();
}
fn_validator()
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
//listForm.pageIndex.value = pageNo ;
//listForm.searchCondition.value = $('#searchCondition').val();
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/advcSttst/memSttstList.do'/>";
listForm.submit();
}
function fncCreate(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/adjReqMgrOff/adjReqMgrOffRegist.do'/>";
listForm.submit();
}
function fncGoDetail(adrSeq){
var listForm = document.listForm ;
listForm.adrSeq.value = adrSeq;
listForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffDetail.do'/>";
listForm.submit();
}
function AppReq(){
var form = $('<form id="payform"></form>');
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
form.appendTo('body');
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do" , "850", "700", "AppReqPopup", form);
form.remove();
}
function fncExcel() {
var listForm = document.listForm;
//listForm.action = "<c:url value='/kccadr/adjPgrMgr/apm/excel.do'/>";
listForm.action = "<c:url value='/kccadr/advcSttst/excel.do'/>";
listForm.submit();
}
</script>
<title>조정신청목록</title>
</head>
@ -115,32 +192,42 @@
<li>
<p class="tit_text">기간</p>
<select name="srchYear" id="srchYear">
<option value="">연도</option>
<option value="2022">2022</option>
<option value="2021">2021</option>
</select>
<select name="srchType1" id="srchType1">
<option value="">전체</option>
<option value="1">반기</option>
<option value="2">분기</option>
<option value="3">월</option>
<c:forEach items="${srchYearList }" var="srchYear">
<option value="${srchYear }">${srchYear }</option>
</c:forEach>
</select>
<select name="srchType2" id="srchType2">
<select name="srchType1" class="srchType" id="srchType00">
<option value="">전체</option>
<option value="1">1월</option>
<option value="2">2월</option>
<option value="3">3월</option>
<option value="4">4월</option>
<option value="5">5월</option>
<option value="6">6월</option>
<option value="7">7월</option>
<option value="8">8월</option>
<option value="9">9월</option>
<option value="10">10월</option>
<option value="11">11월</option>
<option value="12">12월</option>
<option value="01">반기</option>
<option value="02">분기</option>
<option value="03">월</option>
</select>
<button type="button" class="btn_search" onclick="fncGoList(); return false;">검색</button>
<select name="srchType2" class="srchType srchTypeDetail" id="srchType01">
<option value="">반기선택</option>
<option value="01">상반기</option>
<option value="02">하반기</option>
</select>
<select name="srchType2" class="srchType srchTypeDetail" id="srchType02">
<option value="">분기선택</option>
<c:forEach var="i" begin="1" end="4">
<option value="0${i}">${i}분기</option>
</c:forEach>
</select>
<select name="srchType2" class="srchType srchTypeDetail" id="srchType03">
<option value="">월선택</option>
<c:forEach var="i" begin="1" end="12">
<c:choose>
<c:when test="${i lt 10 }">
<option value="0${i}">0${i}월</option>
</c:when>
<c:otherwise>
<option value="${i}">${i}월</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
<button type="button" class="btn_search" onclick="fncGoList(); return false;">검색</button>
</li>
</ul>
</div>
@ -227,6 +314,9 @@
</dl>
</li>
</c:forEach>
<c:if test="${ empty list}">
<li style="text-align: center;">해당 기간에 데이터가 없습니다.</li>
</c:if>
<!--