2022-11-10 19:46 조정위원 사건 관리 통계 화면 작업

This commit is contained in:
myname 2022-11-10 19:46:38 +09:00
parent 484be5d630
commit afde0c93c5
7 changed files with 707 additions and 201 deletions

View File

@ -25,6 +25,8 @@ public interface AdjReqMgrOffLineService {
Integer adjReqMgrOffListCount(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception;
List<AdjReqMgrOffLineVO> adjReqMgrOffList(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception;
List<AdjReqMgrSttstVO> adjReqMgrSttstList(AdjReqMgrSttstVO adjReqMgrSttstVO) throws Exception;
List<AdjReqMgrOffLineVO> selectAdjstReqMgrOffPersonList(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception;

View File

@ -0,0 +1,201 @@
package kcc.kccadr.adjReqMgrOff.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
public class AdjReqMgrSttstVO extends ComDefaultVO implements Serializable {
// 검색조건
private String srchYear = ""; // 검색 년도
private String srchType1 = ""; // 검색 조건1 /반기/분기
private String srchType2 = ""; // 검색 조건2 1~12월/,하반기/1분기~4분기
// 조정위원
private String memSeq = ""; // 조정위원번호
private String memNm = ""; // 조정위원이름
private String blank = ""; // 조정위원이름
//분야별
private String cctySum = ""; // 전체
private String ccty01 = ""; // 어문저작물
private String ccty02 = ""; // 음악저작물
private String ccty03 = ""; // 연극저작물
private String ccty04 = ""; // 도형저작물
private String ccty05 = ""; // 영상저작물
private String ccty06 = ""; // 사진저작물
private String ccty07 = ""; // 미술저작물
private String ccty08 = ""; // 편집저작물
private String ccty09 = ""; // 저작인접물
private String ccty10 = ""; // 데이터베이스
private String ccty11 = ""; // 건축저작물
private String ccty12 = ""; // 컴퓨터프로그램
private String ccty13 = ""; // 저작인격권
//사용상태별
private String statCdSum = ""; // 전체
private String statCd3070 = ""; // 불성립
private String statCd3050 = ""; // 취하종결
private String statCd3060 = ""; // 직권조정
private String statCd3030 = ""; // 조정권고
private String statCd4000 = ""; // 성립
public String getSrchYear() {
return srchYear;
}
public void setSrchYear(String srchYear) {
this.srchYear = srchYear;
}
public String getSrchType1() {
return srchType1;
}
public void setSrchType1(String srchType1) {
this.srchType1 = srchType1;
}
public String getSrchType2() {
return srchType2;
}
public void setSrchType2(String srchType2) {
this.srchType2 = srchType2;
}
public String getMemSeq() {
return memSeq;
}
public void setMemSeq(String memSeq) {
this.memSeq = memSeq;
}
public String getCctySum() {
return cctySum;
}
public void setCctySum(String cctySum) {
this.cctySum = cctySum;
}
public String getCcty01() {
return ccty01;
}
public void setCcty01(String ccty01) {
this.ccty01 = ccty01;
}
public String getCcty02() {
return ccty02;
}
public void setCcty02(String ccty02) {
this.ccty02 = ccty02;
}
public String getCcty03() {
return ccty03;
}
public void setCcty03(String ccty03) {
this.ccty03 = ccty03;
}
public String getCcty04() {
return ccty04;
}
public void setCcty04(String ccty04) {
this.ccty04 = ccty04;
}
public String getCcty05() {
return ccty05;
}
public void setCcty05(String ccty05) {
this.ccty05 = ccty05;
}
public String getCcty06() {
return ccty06;
}
public void setCcty06(String ccty06) {
this.ccty06 = ccty06;
}
public String getCcty07() {
return ccty07;
}
public void setCcty07(String ccty07) {
this.ccty07 = ccty07;
}
public String getCcty08() {
return ccty08;
}
public void setCcty08(String ccty08) {
this.ccty08 = ccty08;
}
public String getCcty09() {
return ccty09;
}
public void setCcty09(String ccty09) {
this.ccty09 = ccty09;
}
public String getCcty10() {
return ccty10;
}
public void setCcty10(String ccty10) {
this.ccty10 = ccty10;
}
public String getCcty11() {
return ccty11;
}
public void setCcty11(String ccty11) {
this.ccty11 = ccty11;
}
public String getCcty12() {
return ccty12;
}
public void setCcty12(String ccty12) {
this.ccty12 = ccty12;
}
public String getCcty13() {
return ccty13;
}
public void setCcty13(String ccty13) {
this.ccty13 = ccty13;
}
public String getStatCdSum() {
return statCdSum;
}
public void setStatCdSum(String statCdSum) {
this.statCdSum = statCdSum;
}
public String getStatCd3070() {
return statCd3070;
}
public void setStatCd3070(String statCd3070) {
this.statCd3070 = statCd3070;
}
public String getStatCd3050() {
return statCd3050;
}
public void setStatCd3050(String statCd3050) {
this.statCd3050 = statCd3050;
}
public String getStatCd3060() {
return statCd3060;
}
public void setStatCd3060(String statCd3060) {
this.statCd3060 = statCd3060;
}
public String getStatCd3030() {
return statCd3030;
}
public void setStatCd3030(String statCd3030) {
this.statCd3030 = statCd3030;
}
public String getMemNm() {
return memNm;
}
public void setMemNm(String memNm) {
this.memNm = memNm;
}
public String getStatCd4000() {
return statCd4000;
}
public void setStatCd4000(String statCd4000) {
this.statCd4000 = statCd4000;
}
public String getBlank() {
return blank;
}
public void setBlank(String blank) {
this.blank = blank;
}
}

View File

@ -6,6 +6,7 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrSttstVO;
@Repository("AdjReqMgrOffLineDAO")
public class AdjReqMgrOffLineDAO extends EgovAbstractDAO {
@ -73,6 +74,9 @@ public class AdjReqMgrOffLineDAO extends EgovAbstractDAO {
return (List<AdjReqMgrOffLineVO>) list("AdjReqMgrOffLineDAO.adjReqMgrOffList", adjReqMgrOffLineVO);
}
public List<AdjReqMgrSttstVO> adjReqMgrSttstList(AdjReqMgrSttstVO adjReqMgrSttstVO) throws Exception {
return (List<AdjReqMgrSttstVO>) list("AdjReqMgrOffLineDAO.adjReqMgrSttstList", adjReqMgrSttstVO);
}
public List<AdjReqMgrOffLineVO> selectAdjstReqMgrOffPersonList(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception {
return (List<AdjReqMgrOffLineVO>) list("adjReqMgrOffLineDAO.selectAdjstReqMgrOffPersonList", adjReqMgrOffLineVO);

View File

@ -13,6 +13,7 @@ import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrSttstVO;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjreqmgr.service.impl.AdjReqMgrDAO;
import kcc.kccadr.adjst.service.AdjstReqVO;
@ -723,6 +724,11 @@ public String insertAdjReqMgrRpplReq(AdjReqMgrOffLineVO adjReqMgrOffLineVO) thro
return adjReqMgrOffLineDAO.adjReqMgrOffList(adjReqMgrOffLineVO);
}
@Override
public List<AdjReqMgrSttstVO> adjReqMgrSttstList(AdjReqMgrSttstVO adjReqMgrSttstVO) throws Exception {
return adjReqMgrOffLineDAO.adjReqMgrSttstList(adjReqMgrSttstVO);
}
@Override
public List<AdjReqMgrOffLineVO> selectAdjstReqMgrOffPersonList(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception {
return adjReqMgrOffLineDAO.selectAdjstReqMgrOffPersonList(adjReqMgrOffLineVO);

View File

@ -6,6 +6,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
@ -15,6 +16,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -35,10 +37,12 @@ import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.spring.data.util.ExcelUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrSttstVO;
import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -429,7 +433,10 @@ public class AdvcSttstController {
* date : 2021.09.111
*/
@RequestMapping("/kccadr/advcSttst/memSttstList.do")
public String memSttstList(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
public String memSttstList(
@ModelAttribute("adjReqMgrSttstVO") AdjReqMgrSttstVO adjReqMgrSttstVO
, ModelMap model
) throws Exception {
// 제출
// adr_mgr_master 테이블 stat_cd 제출 완료(ADR_REQ_COMP, 101010), lastupdtPnttm, lastupdtId 업데이트
@ -438,6 +445,7 @@ public class AdvcSttstController {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
/*
if(adjReqMgrOffLineVO.getPageUnit() != 10) {
adjReqMgrOffLineVO.setPageUnit(adjReqMgrOffLineVO.getPageUnit());
}
@ -450,7 +458,7 @@ public class AdvcSttstController {
adjReqMgrOffLineVO.setSearchKeyword(egovCryptoUtil.encrypt(adjReqMgrOffLineVO.getSearchKeyword()));
}
/** paging */
// paging
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(adjReqMgrOffLineVO.getPageIndex());
paginationInfo.setRecordCountPerPage(adjReqMgrOffLineVO.getPageUnit());
@ -461,19 +469,87 @@ public class AdvcSttstController {
adjReqMgrOffLineVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
paginationInfo.setTotalRecordCount(adjReqMgrOffLineService.adjReqMgrOffListCount(adjReqMgrOffLineVO));
model.addAttribute("paginationInfo", paginationInfo);
List<AdjReqMgrOffLineVO> list = adjReqMgrOffLineService.adjReqMgrOffList(adjReqMgrOffLineVO);
*/
List<AdjReqMgrSttstVO> list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO);
// 복호화
decryptInfomation(list, null);
//decryptInfomation(list, null);
decryptInfomation4Sttst(list, null);
model.addAttribute("list", list);
/*
if(("3".equals(adjReqMgrOffLineVO.getSearchCondition()) || "4".equals(adjReqMgrOffLineVO.getSearchCondition())) && StringUtils.isNotBlank(adjReqMgrOffLineVO.getSearchKeyword())){
adjReqMgrOffLineVO.setSearchKeyword(egovCryptoUtil.decrypt(adjReqMgrOffLineVO.getSearchKeyword()));
}
*/
return "kccadr/advcSttst/memSttstList";
}
/**
* 조정진행목록 목록 Excel
*
* @param apmVO
* @param model
* @return
* @throws Exception
*/
@SuppressWarnings("rawtypes")
@RequestMapping("/kccadr/advcSttst/excel.do")
public ModelAndView excel(
@ModelAttribute("adjReqMgrSttstVO") AdjReqMgrSttstVO adjReqMgrSttstVO
, ModelMap model
) throws Exception {
List list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO);
// 복호화
//decryptInfomation(list, null);
decryptInfomation4Sttst(list, null);
//cmmVO.setExcelYn("Y");
//List list = cmmService.selectPgrCmmList(cmmVO);
// 세팅값
String title = "조정위원 사건 관리 통계";
int[] width = {
4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000
}; // 너비
String[] header = {
"이름"
, "사용상태별(건수)"
, "전체", "성립", "불성립", "취하종결", "직권조정", "조정권고", "반려"
, "분야별(건수)"
, "전체", "어문저작물", "음악저작물", "연극저작물", "미술저작물", "건축저작물", "사진저작물"
, "cctySum", "도형저작물", "컴퓨터프로그램", "편집저작물", "데이터베이스", "저작인격권", "저작인접권"
}; // 헤더에 들어갈 이름
String[] order = {
"MemNm"
, "Blank"
, "StatCdSum", "StatCd4000", "StatCd3070", "StatCd3050", "StatCd3060", "StatCd3030", "Blank"
, "Blank"
, "CctySum", "Ccty01", "Ccty02", "Ccty03", "Ccty07", "Ccty11", "Ccty06"
, "Ccty05", "Ccty04", "Ccty12", "Ccty08", "Ccty10", "Ccty09", "Ccty13"
}; // vo 내부의 필드 이름 (첫글자 대문자, 낙타체 사용)
// 호출
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(list, header, order, width, title);
model.addAttribute("locale", Locale.KOREA);
model.addAttribute("workbook", workbook);
model.addAttribute("workbookName", title);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView");
modelAndView.addObject(model);
return modelAndView;
}
@RequestMapping("/kccadr/advcSttst/adjReqMgrOffDetail.do")
public String adjReqMgrOffDetail(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
@ -693,4 +769,18 @@ public class AdvcSttstController {
info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm()));
}
}
private void decryptInfomation4Sttst(
List<AdjReqMgrSttstVO> list
, AdjReqMgrSttstVO info){
if(CollectionUtils.isNotEmpty(list)){
for(AdjReqMgrSttstVO model : list){
model.setMemNm(egovCryptoUtil.decrypt(model.getMemNm()));
}
}
if(info != null){
info.setMemNm(egovCryptoUtil.decrypt(info.getMemNm()));
}
}
}

View File

@ -4,6 +4,7 @@
<sqlMap namespace="AdjReqMgrOff">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjReqMgrOffVO" type="kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO"/>
<typeAlias alias="AdjReqMgrSttstVO" type="kcc.kccadr.adjReqMgrOff.service.AdjReqMgrSttstVO"/>
<!-- 조정사건정보 등록 : 업무시스템 조정신청 저장 -->
@ -506,6 +507,297 @@
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 조정위원별 사건 관리 현황 통계 -->
<select id="AdjReqMgrOffLineDAO.adjReqMgrSttstList" parameterClass="AdjReqMgrSttstVO" resultClass="AdjReqMgrSttstVO">
SELECT aaaaaa.*
, bbbbbb.statCdSum
, bbbbbb.statCd3070
, bbbbbb.statCd3050
, bbbbbb.statCd3060
, bbbbbb.statCd3030
, cccccc.mem_name AS memNm
, bbbbbb.statCdSum
- bbbbbb.statCd3070
- bbbbbb.statCd3050
- bbbbbb.statCd3060
- bbbbbb.statCd3030 AS statCd4000
FROM (
SELECT aaaa.mem_seq AS memSeq
, SUM(IF(nos='2',cnt,0)) cctySum
, SUM(IF(nos='1' AND ccty='01',cnt,0)) AS ccty01 /* 어문저작물 */
, SUM(IF(nos='1' AND ccty='02',cnt,0)) AS ccty02 /* 음악저작물 */
, SUM(IF(nos='1' AND ccty='03',cnt,0)) AS ccty03 /* 연극저작물 */
, SUM(IF(nos='1' AND ccty='04',cnt,0)) AS ccty04 /* 도형저작물 */
, SUM(IF(nos='1' AND ccty='05',cnt,0)) AS ccty05 /* 영상저작물 */
, SUM(IF(nos='1' AND ccty='06',cnt,0)) AS ccty06 /* 사진저작물 */
, SUM(IF(nos='1' AND ccty='07',cnt,0)) AS ccty07 /* 미술저작물 */
, SUM(IF(nos='1' AND ccty='08',cnt,0)) AS ccty08 /* 편집저작물 */
, SUM(IF(nos='1' AND ccty='09',cnt,0)) AS ccty09 /* 저작인접물 */
, SUM(IF(nos='1' AND ccty='10',cnt,0)) AS ccty10 /* 데이터베이스 */
, SUM(IF(nos='1' AND ccty='11',cnt,0)) AS ccty11 /* 건축저작물 */
, SUM(IF(nos='1' AND ccty='12',cnt,0)) AS ccty12 /* 컴퓨터프로그램 */
, SUM(IF(nos='1' AND ccty='13',cnt,0)) AS ccty13 /* 저작인격권 */
FROM (
SELECT *
FROM (
SELECT mem_seq, ccTy, COUNT(*) cnt
FROM (
SELECT
amm.mem_seq
/* 조정위원 고유 번호*/
,
M.ADR_SEQ AS adrSeq
/* 조정일련번호 */
,
D.ADR_SN AS adrSn
/* 조정회차 */
,
M.ADR_NO AS adrNo
/* 조정사건번호 */
,
M.STAT_CD AS statCd
/* 조정사건상태 */
,
SCD.CODE_NM AS statCdTx
/* 조정사건상태_TX */
,
M.REQ_OL_CD AS reqOlCd
/* 온_오프라인_신청구분 */
,
CCD.CODE_NM AS ccTyTx
/* 저작물 유형_Tx */
,
M.CC_TY AS ccTy
/* 저작물 유형_CD */
,
M.REQ_TY AS reqTy
/* 신청유형 */
,
D.MEM_DEPT_SEQ AS memDeptSeq
/* 조정부 */
,
DM.MEM_DEPT_NM AS memDeptNm
/* 조정부명 */
,
AP.RPPL_NM AS appliCantNm
/* 신청인 */
FROM ADR_MGR_MASTER M
LEFT JOIN
( SELECT ADR_SEQ ,
MAX ( ADR_SN ) AS ADR_SN
FROM ADR_MGR_DETAIL
GROUP BY ADR_SEQ
)
Z
ON M.ADR_SEQ = Z.ADR_SEQ
LEFT JOIN ADR_MGR_DETAIL D
ON M.ADR_SEQ = D.ADR_SEQ
AND D.ADR_SN = Z.ADR_SN
/*
LEFT JOIN LETTNEMPLYRINFO AU
ON D.ADR_ADM_ID = AU.ESNTL_ID
*/
LEFT JOIN LETTCCMMNDETAILCODE SCD
ON SCD.CODE_ID = 'CC013'
AND SCD.CODE = M.STAT_CD
/*
LEFT JOIN LETTCCMMNDETAILCODE RCD
ON RCD.CODE_ID = 'CC014'
AND RCD.CODE = TRIM ( M.REQ_OL_CD )
*/
LEFT JOIN LETTCCMMNDETAILCODE CCD
ON CCD.CODE_ID = 'CC002'
AND CCD.CODE = TRIM ( M.CC_TY )
LEFT JOIN ADR_MEM_DEPT_MGR DM
ON DM.MEM_DEPT_SEQ = D.MEM_DEPT_SEQ
LEFT JOIN ADR_RPPL AP
ON AP.ADR_SEQ = M.ADR_SEQ
AND AP.RPPL_TY = '10'
LEFT JOIN
( SELECT ADR_SEQ ,
ADR_SN ,
MAX ( APP_SEQ ) AS APP_SEQ
FROM ADR_APP_MGR
GROUP BY ADR_SEQ,
ADR_SN
)
ZAM
ON M.ADR_SEQ = ZAM.ADR_SEQ
AND D.ADR_SN = ZAM.ADR_SN
LEFT JOIN ADR_APP_MGR AM
ON M.ADR_SEQ = AM.ADR_SEQ
AND D.ADR_SN = AM.ADR_SN
AND ZAM.APP_SEQ = AM.APP_SEQ
, adr_mem_dept_map amm
WHERE 1 =1
AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ
AND M.STAT_CD='400000'
)aa
GROUP BY mem_seq, ccTy
)aaa
,(SELECT 1 NOS UNION ALL SELECT 2 NOS)bbb
)aaaa
GROUP BY aaaa.mem_seq
)aaaaaa
,
(
SELECT aaaaa.mem_seq AS memSeq
, SUM(IF(nos='2',cnt,0)) statCdSum
, SUM(IF(nos='1' AND INSTR(aaaaa.stat_cd,'3070')>0,cnt,0)) AS statCd3070 /* 불성립 */
, SUM(IF(nos='1' AND INSTR(aaaaa.stat_cd,'3050')>0,cnt,0)) AS statCd3050 /* 취하종결 */
, SUM(IF(nos='1' AND INSTR(aaaaa.stat_cd,'3060')>0,cnt,0)) AS statCd3060 /* 직권조정 */
, SUM(IF(nos='1' AND INSTR(aaaaa.stat_cd,'3030')>0,cnt,0)) AS statCd3030 /* 조정권고 */
FROM (
SELECT aaaa.mem_seq
, aaaa.stat_cd
, aaaa.cnt
, bbbb.nos
FROM (
SELECT mem_seq, stat_cd, COUNT(*) cnt
FROM (
SELECT bbb.stat_cd,
aaa.*
FROM (
SELECT
amm.mem_seq
/* 조정위원 고유 번호*/
,
M.ADR_SEQ AS adrSeq
/* 조정일련번호 */
, (
SELECT MAX(adr_hstry_seq) AS adrHstrySeq
FROM adr_hstry
WHERE adr_seq=M.ADR_SEQ
AND '309000' > stat_cd
) AS hstrySeq
,
D.ADR_SN AS adrSn
/* 조정회차 */
,
M.ADR_NO AS adrNo
/* 조정사건번호 */
,
M.STAT_CD AS statCd
/* 조정사건상태 */
,
SCD.CODE_NM AS statCdTx
/* 조정사건상태_TX */
,
M.REQ_OL_CD AS reqOlCd
/* 온_오프라인_신청구분 */
,
CCD.CODE_NM AS ccTyTx
/* 저작물 유형_Tx */
,
M.CC_TY AS ccTy
/* 저작물 유형_CD */
,
M.REQ_TY AS reqTy
/* 신청유형 */
,
D.MEM_DEPT_SEQ AS memDeptSeq
/* 조정부 */
,
DM.MEM_DEPT_NM AS memDeptNm
/* 조정부명 */
,
AP.RPPL_NM AS appliCantNm
/* 신청인 */
FROM ADR_MGR_MASTER M
LEFT JOIN
( SELECT ADR_SEQ ,
MAX ( ADR_SN ) AS ADR_SN
FROM ADR_MGR_DETAIL
GROUP BY ADR_SEQ
)
Z
ON M.ADR_SEQ = Z.ADR_SEQ
LEFT JOIN ADR_MGR_DETAIL D
ON M.ADR_SEQ = D.ADR_SEQ
AND D.ADR_SN = Z.ADR_SN
/*
LEFT JOIN LETTNEMPLYRINFO AU
ON D.ADR_ADM_ID = AU.ESNTL_ID
*/
LEFT JOIN LETTCCMMNDETAILCODE SCD
ON SCD.CODE_ID = 'CC013'
AND SCD.CODE = M.STAT_CD
/*
LEFT JOIN LETTCCMMNDETAILCODE RCD
ON RCD.CODE_ID = 'CC014'
AND RCD.CODE = TRIM ( M.REQ_OL_CD )
*/
LEFT JOIN LETTCCMMNDETAILCODE CCD
ON CCD.CODE_ID = 'CC002'
AND CCD.CODE = TRIM ( M.CC_TY )
LEFT JOIN ADR_MEM_DEPT_MGR DM
ON DM.MEM_DEPT_SEQ = D.MEM_DEPT_SEQ
LEFT JOIN ADR_RPPL AP
ON AP.ADR_SEQ = M.ADR_SEQ
AND AP.RPPL_TY = '10'
LEFT JOIN
( SELECT ADR_SEQ ,
ADR_SN ,
MAX ( APP_SEQ ) AS APP_SEQ
FROM ADR_APP_MGR
GROUP BY ADR_SEQ,
ADR_SN
)
ZAM
ON M.ADR_SEQ = ZAM.ADR_SEQ
AND D.ADR_SN = ZAM.ADR_SN
LEFT JOIN ADR_APP_MGR AM
ON M.ADR_SEQ = AM.ADR_SEQ
AND D.ADR_SN = AM.ADR_SN
AND ZAM.APP_SEQ = AM.APP_SEQ
, adr_mem_dept_map amm
WHERE 1 =1
AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ
AND M.STAT_CD='400000'
)aaa
, adr_hstry bbb
WHERE aaa.hstrySeq=bbb.adr_hstry_seq
)aaaa
GROUP BY mem_seq, stat_cd
)aaaa
,(SELECT 1 NOS UNION ALL SELECT 2 NOS)bbbb
)aaaaa
GROUP BY aaaaa.mem_seq
)bbbbbb
, adr_mem_mgr cccccc
WHERE aaaaaa.memSeq=bbbbbb.memSeq
AND aaaaaa.memSeq=cccccc.mem_seq
ORDER BY aaaaaa.memSeq
</select>
<select id="adjReqMgrOffLineDAO.selectAdjstReqMgrOffPersonList" parameterClass="AdjReqMgrOffVO" resultClass="AdjReqMgrOffVO">
SELECT
ADR_SEQ AS adrSeq,

View File

@ -47,10 +47,10 @@
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/adjReqMgOff/adjReqMgrOffList.do'/>";
//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(){
@ -73,6 +73,13 @@
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>
@ -107,22 +114,33 @@
<ul>
<li>
<p class="tit_text">기간</p>
<select name="year" id="year">
<select name="srchYear" id="srchYear">
<option value="">연도</option>
<option value="2022">2022</option>
<option value="2021">2021</option>
</select>
<select name="month" id="month">
<select name="srchType1" id="srchType1">
<option value="">전체</option>
<option value="1">반기</option>
<option value="2">분기</option>
<option value="3">월</option>
</select>
<select name="srchType2" id="srchType2">
<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>
</select>
<select name="day" id="day">
<option value="">전체</option>
<option value="1">1일</option>
<option value="2">2일</option>
</select>
<button type="button" class="btn_search">검색</button>
<button type="button" class="btn_search" onclick="fncGoList(); return false;">검색</button>
</li>
</ul>
</div>
@ -131,11 +149,87 @@
<div class="tb_tit">
<p>조정위원</p>
<div class="btn_wrap">
<button type="button" class="btn_down_excel">엑셀 다운로드</button>
<button type="button" class="btn_down_excel" onclick="fncExcel(); return false;">엑셀 다운로드</button>
</div>
</div>
<div class="stat_list">
<ul>
<c:forEach var="item" items="${list}" varStatus="status">
<li>
<dl>
<dt>${item.memNm}</dt>
<dd class="tbType02">
<table>
<colgroup>
<col style="width:120px;" />
<col style="width:auto;" />
</colgroup>
<tbody>
<tr>
<th class="title" rowspan="2">사용상태별<br>(건수)</th>
<th>전체</th>
<th>성립</th>
<th>불성립</th>
<th>취하종결</th>
<th>직권조정</th>
<th>조정권고</th>
<th>반려</th>
</tr>
<tr>
<td class="all"><c:out value="${item.statCdSum}" /></td>
<td><c:out value="${item.statCd4000}" /></td>
<td><c:out value="${item.statCd3070}" /></td>
<td><c:out value="${item.statCd3050}" /></td>
<td><c:out value="${item.statCd3060}" /></td>
<td><c:out value="${item.statCd3030}" /></td>
<td><c:out value="0" /></td>
</tr>
<tr>
<th class="title" rowspan="4">분야별<br>(건수)</th>
<th>전체</th>
<th>어문저작물</th>
<th>음악저작물</th>
<th>연극저작물</th>
<th>미술저작물</th>
<th>건축저작물</th>
<th>사진저작물</th>
</tr>
<tr>
<td class="all"><c:out value="${item.cctySum}" /></td>
<td><c:out value="${item.ccty01}" /></td>
<td><c:out value="${item.ccty02}" /></td>
<td><c:out value="${item.ccty03}" /></td>
<td><c:out value="${item.ccty07}" /></td>
<td><c:out value="${item.ccty11}" /></td>
<td><c:out value="${item.ccty06}" /></td>
</tr>
<tr>
<th>영상저작물</th>
<th>도형저작물</th>
<th>컴퓨터프로그램</th>
<th>편집저작물</th>
<th>데이터베이스</th>
<th>저작인격권</th>
<th>저작인접권</th>
</tr>
<tr>
<td><c:out value="${item.ccty05}" /></td>
<td><c:out value="${item.ccty04}" /></td>
<td><c:out value="${item.ccty12}" /></td>
<td><c:out value="${item.ccty08}" /></td>
<td><c:out value="${item.ccty10}" /></td>
<td><c:out value="${item.ccty09}" /></td>
<td><c:out value="${item.ccty13}" /></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</li>
</c:forEach>
<!--
<li>
<dl>
<dt>김길동</dt>
@ -278,193 +372,10 @@
</dd>
</dl>
</li>
<li>
<dl>
<dt>김길동</dt>
<dd class="tbType02">
<table>
<colgroup>
<col style="width:120px;" />
<col style="width:auto;" />
</colgroup>
<tbody>
<tr>
<th class="title" rowspan="2">사용상태별<br>(건수)</th>
<th>전체</th>
<th>성립</th>
<th>불성립</th>
<th>취하종결</th>
<th>직권조정</th>
<th>조정권고</th>
<th>반려</th>
</tr>
<tr>
<td class="all">27</td>
<td>2</td>
<td>1</td>
<td>20</td>
<td>4</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th class="title" rowspan="4">분야별<br>(건수)</th>
<th>전체</th>
<th>어문저작물</th>
<th>음악저작물</th>
<th>연극저작물</th>
<th>미술저작물</th>
<th>건축저작물</th>
<th>사진저작물</th>
</tr>
<tr>
<td class="all">27</td>
<td>2</td>
<td>1</td>
<td>20</td>
<td>4</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>영상저작물</th>
<th>도형저작물</th>
<th>컴퓨터프로그램</th>
<th>편집저작물</th>
<th>데이터베이스</th>
<th>저작인격권</th>
<th>저작인접권</th>
</tr>
<tr>
<td>27</td>
<td>2</td>
<td>1</td>
<td>20</td>
<td>4</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
</dd>
</dl>
</li>
-->
</ul>
</div>
</div>
<!--
<div class="cont">
<div class="list_top">
<div class="list_util">
<div class="detail_search">
<ul>
<li>
<p class="tit_text">구분</p>
<select name="searchCondition" id="searchCondition">
<%-- <option value="" ${adjReqMgrOffLineVO.searchCondition eq '' ? 'selected' : '' }>전체</option> --%>
<option value="1" ${adjReqMgrOffLineVO.searchCondition eq '1' ? 'selected' : '' }>조정번호</option>
<%-- <option value="2" ${adjReqMgrOffLineVO.searchCondition eq '2' ? 'selected' : '' }>접수기간</option> --%>
<option value="3" ${adjReqMgrOffLineVO.searchCondition eq '3' ? 'selected' : '' }>신청인명</option>
<option value="4" ${adjReqMgrOffLineVO.searchCondition eq '4' ? 'selected' : '' }>피신청인명</option>
<option value="5" ${adjReqMgrOffLineVO.searchCondition eq '5' ? 'selected' : '' }>신청내용</option>
<option value="6" ${adjReqMgrOffLineVO.searchCondition eq '6' ? 'selected' : '' }>조정상태</option>
</select>
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${adjReqMgrOffLineVO.searchKeyword}'/>">
&nbsp;&nbsp;&nbsp;&nbsp;
<p class="tit_text">접수기간</p>
<div id="sel_date" class="sel_date">
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${adjReqMgrOffLineVO.searchStartDt}" data-datecontrol="true">
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal"></button>
<div id="startDate01-lry" class="calendarPop" style="display: none;">
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div> ~
<input type="text" class="endDate inp" title="검색시작일" id="endDate" name="searchEndDt" value="${adjReqMgrOffLineVO.searchEndDt}" data-datecontrol="true">
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ></button>
<div id="endDate-lry" class="calendarPop" style="display: none;">
<iframe id="endDate-ifrm" name="endDate-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
<button class="btn_search" onclick="fncGoList(); return false;">검색</button>
</li>
</ul>
</div>
</div>
</div>
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 20%">
<col style="width: 20%">
<col style="width: 20%">
<col style="width: 20%">
</colgroup>
<thead>
<tr>
<th>번호<button class="sort btn_sort" id="sort_adrSeq">▲</button></th>
<th>신청인<button type="button" class="sort sortBtn" id="sort_appliCantNm"></button></th>
<th>피신청인<button type="button" class="sort sortBtn" id="sort_resPonDentNm"></button></th>
<th>저작물종류<button type="button" class="sort sortBtn" id="sort_reqCn1"></button></th>
<th>조정상태<button type="button" class="sort sortBtn" id="sort_statCd"></button></th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<c:if test="${adjReqMgrOffLineVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((adjReqMgrOffLineVO.pageIndex -1)*adjReqMgrOffLineVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${adjReqMgrOffLineVO.searchSortOrd eq 'asc' }">
<c:out value="${(adjReqMgrOffLineVO.pageIndex - 1) * adjReqMgrOffLineVO.pageUnit + status.count}"/>
</c:if>
</td>
<td><a href="#none" onclick="fncGoDetail('${list.adrSeq}');">${list.appliCantNm} <c:if test="${not empty list.depuTyNm}">(${list.depuTyNm})</c:if></a></td>
<td><a href="#none" onclick="fncGoDetail('${list.adrSeq}');">${list.resPonDentNm}</a></td>
<td>
<a href="#none" onclick="fncGoDetail('${list.adrSeq}');">
<kc:code codeId="CC002" code="${list.ccTy}"/>
</a>
</td>
<td>
<p class="status_cmp"><kc:code codeId="CC013" code="${list.statCd}"/></p>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout02">
<button type="button" class="btnType02" onclick="AppReq();">결재 요청 팝업 임시버튼</button>
<button class="btnType02" onclick="fncCreate(); return false;" >등록</button>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</div>
</div>
</div>
-->
<!-- //cont -->
<!-- //cont -->
</form:form>