2022-12-07 16:35 조정사건부 통계 작업
This commit is contained in:
parent
931ddf9f3f
commit
703b631890
@ -29,4 +29,6 @@ public interface SttsService {
|
||||
// 분쟁조정 통계
|
||||
public List<SttsVO> sttsYrlyPrcsList(SttsVO sttsVO) throws Exception;
|
||||
|
||||
// 조정 사건부 현황 통계화면
|
||||
public List<SttsVO> sttsAdjAdrList(SttsVO sttsVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -39,6 +39,17 @@ public class SttsVO extends ComDefaultVO implements Serializable {
|
||||
private String finalTotCnt = ""; // 종결총계
|
||||
private String ingCnt = ""; // 진행 건수
|
||||
|
||||
//조정사건부 현황 통계
|
||||
private String sbmtDeDay = ""; // 접수일자
|
||||
private String appliCantNm = ""; //신청인(대리인)
|
||||
private String resPonDentNm = ""; //피신청인(대리인)
|
||||
private String ccTyTx = ""; //저작물유형
|
||||
private String reqCn2 = ""; //분쟁내용
|
||||
private String closeCn1 = ""; //종결내용
|
||||
private String statCd = ""; //상태코드
|
||||
|
||||
private String reqOlCd = ""; //사건구분코드 1-오프라인, 2-과거사건 , 나머지값 일반(0,00) */
|
||||
|
||||
public String getAdrSeq() {
|
||||
return adrSeq;
|
||||
}
|
||||
@ -213,6 +224,54 @@ public class SttsVO extends ComDefaultVO implements Serializable {
|
||||
public void setIngCnt(String ingCnt) {
|
||||
this.ingCnt = ingCnt;
|
||||
}
|
||||
public String getSbmtDeDay() {
|
||||
return sbmtDeDay;
|
||||
}
|
||||
public void setSbmtDeDay(String sbmtDeDay) {
|
||||
this.sbmtDeDay = sbmtDeDay;
|
||||
}
|
||||
public String getAppliCantNm() {
|
||||
return appliCantNm;
|
||||
}
|
||||
public void setAppliCantNm(String appliCantNm) {
|
||||
this.appliCantNm = appliCantNm;
|
||||
}
|
||||
public String getResPonDentNm() {
|
||||
return resPonDentNm;
|
||||
}
|
||||
public void setResPonDentNm(String resPonDentNm) {
|
||||
this.resPonDentNm = resPonDentNm;
|
||||
}
|
||||
public String getCcTyTx() {
|
||||
return ccTyTx;
|
||||
}
|
||||
public void setCcTyTx(String ccTyTx) {
|
||||
this.ccTyTx = ccTyTx;
|
||||
}
|
||||
public String getReqCn2() {
|
||||
return reqCn2;
|
||||
}
|
||||
public void setReqCn2(String reqCn2) {
|
||||
this.reqCn2 = reqCn2;
|
||||
}
|
||||
public String getCloseCn1() {
|
||||
return closeCn1;
|
||||
}
|
||||
public void setCloseCn1(String closeCn1) {
|
||||
this.closeCn1 = closeCn1;
|
||||
}
|
||||
public String getStatCd() {
|
||||
return statCd;
|
||||
}
|
||||
public void setStatCd(String statCd) {
|
||||
this.statCd = statCd;
|
||||
}
|
||||
public String getReqOlCd() {
|
||||
return reqOlCd;
|
||||
}
|
||||
public void setReqOlCd(String reqOlCd) {
|
||||
this.reqOlCd = reqOlCd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -43,5 +43,10 @@ public class SttsDAO extends EgovAbstractDAO {
|
||||
public List<SttsVO> sttsYrlyPrcsList(SttsVO sttsVO) throws Exception {
|
||||
return (List<SttsVO>) list("SttsDAO.sttsYrlyPrcsList", sttsVO);
|
||||
}
|
||||
|
||||
|
||||
// 조정사건부 현황 통계화면
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<SttsVO> sttsAdjAdrList(SttsVO sttsVO) throws Exception {
|
||||
return (List<SttsVO>) list("SttsDAO.sttsAdjAdrList", sttsVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,5 +45,9 @@ public class SttsServiceImpl implements SttsService {
|
||||
public List<SttsVO> sttsYrlyPrcsList(SttsVO sttsVO) throws Exception {
|
||||
return sttsDAO.sttsYrlyPrcsList(sttsVO);
|
||||
}
|
||||
|
||||
|
||||
// 조정 처리 현황 통계화면
|
||||
public List<SttsVO> sttsAdjAdrList(SttsVO sttsVO) throws Exception {
|
||||
return sttsDAO.sttsAdjAdrList(sttsVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -115,6 +115,126 @@ public class SttsPrcsController {
|
||||
modelAndView.addObject(model);
|
||||
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* (관리자) 조정 사건부 현황 통계화면
|
||||
*
|
||||
* @return String
|
||||
* @exception Exception
|
||||
*/
|
||||
@RequestMapping(value = "/kccadr/stts/sttsAdjAdr.do")
|
||||
public String sttsAdjAdr(ModelMap model, SttsVO sttsVO) throws Exception {
|
||||
|
||||
//조정사건부
|
||||
List<SttsVO> list = sttsService.sttsAdjAdrList(sttsVO);
|
||||
|
||||
for (SttsVO vo : (List<SttsVO>)list) {
|
||||
vo.setAppliCantNm(egovCryptoUtil.decrypt(vo.getAppliCantNm()));
|
||||
vo.setResPonDentNm(egovCryptoUtil.decrypt(vo.getResPonDentNm()));
|
||||
|
||||
vo.setRpplNm1(egovCryptoUtil.decrypt(vo.getRpplNm1()));
|
||||
vo.setRpplNm2(egovCryptoUtil.decrypt(vo.getRpplNm2()));
|
||||
vo.setRpplNm3(egovCryptoUtil.decrypt(vo.getRpplNm3()));
|
||||
vo.setRpplNm4(egovCryptoUtil.decrypt(vo.getRpplNm4()));
|
||||
vo.setRpplAddr1(egovCryptoUtil.decrypt(vo.getRpplAddr1()));
|
||||
vo.setRpplAddr2(egovCryptoUtil.decrypt(vo.getRpplAddr2()));
|
||||
|
||||
// 주소 지역만 자르기
|
||||
if (vo.getRpplAddr1() != null && !("").equals(vo.getRpplAddr1())) {
|
||||
String[] rpplAddr1 = vo.getRpplAddr1().split(" ");
|
||||
vo.setRpplAddr1(rpplAddr1[0]);
|
||||
}
|
||||
if (vo.getRpplAddr2() != null && !("").equals(vo.getRpplAddr2())) {
|
||||
String[] rpplAddr2 = vo.getRpplAddr2().split(" ");
|
||||
vo.setRpplAddr2(rpplAddr2[0]);
|
||||
}
|
||||
}
|
||||
|
||||
model.addAttribute("list", list);
|
||||
model.addAttribute("sttsVO", sttsVO);
|
||||
|
||||
return "/kccadr/stts/sttsAdjAdr";
|
||||
}
|
||||
|
||||
/**
|
||||
* 조정 사건부 현황 통계 Excel
|
||||
*
|
||||
* @param apmVO
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
@RequestMapping(value = "/kccadr/stts/sttsAdjAdrExcel.do")
|
||||
public ModelAndView sttsAdjAdrExcel(@ModelAttribute("sttsVO") SttsVO sttsVO, ModelMap model) throws Exception {
|
||||
|
||||
List list = sttsService.sttsAdjAdrList(sttsVO);
|
||||
// model.addAttribute("list", list);
|
||||
|
||||
for (SttsVO vo : (List<SttsVO>)list) {
|
||||
vo.setAppliCantNm(egovCryptoUtil.decrypt(vo.getAppliCantNm()));
|
||||
vo.setResPonDentNm(egovCryptoUtil.decrypt(vo.getResPonDentNm()));
|
||||
|
||||
vo.setRpplNm1(egovCryptoUtil.decrypt(vo.getRpplNm1()));
|
||||
vo.setRpplNm2(egovCryptoUtil.decrypt(vo.getRpplNm2()));
|
||||
vo.setRpplNm3(egovCryptoUtil.decrypt(vo.getRpplNm3()));
|
||||
vo.setRpplNm4(egovCryptoUtil.decrypt(vo.getRpplNm4()));
|
||||
vo.setRpplAddr1(egovCryptoUtil.decrypt(vo.getRpplAddr1()));
|
||||
vo.setRpplAddr2(egovCryptoUtil.decrypt(vo.getRpplAddr2()));
|
||||
|
||||
// 주소 지역만 자르기
|
||||
if (vo.getRpplAddr1() != null && !("").equals(vo.getRpplAddr1())) {
|
||||
String[] rpplAddr1 = vo.getRpplAddr1().split(" ");
|
||||
vo.setRpplAddr1(rpplAddr1[0]);
|
||||
}
|
||||
if (vo.getRpplAddr2() != null && !("").equals(vo.getRpplAddr2())) {
|
||||
String[] rpplAddr2 = vo.getRpplAddr2().split(" ");
|
||||
vo.setRpplAddr2(rpplAddr2[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// 세팅값
|
||||
String title = "조정사건부 현황";
|
||||
int[] width = {
|
||||
4000, 5000, 5000, 5000, 5000
|
||||
, 5000, 5000, 20000, 5000, 5000
|
||||
|
||||
, 5000, 5000, 5000, 5000, 5000
|
||||
, 5000, 5000, 5000, 5000, 5000
|
||||
|
||||
, 5000, 5000
|
||||
}; // 너비
|
||||
String[] header = {
|
||||
"접수번호", "접수일자", "신청인(대리인)", "피신청인(대리인)", "저작물 유형"
|
||||
, "분쟁 내용", "청구내역", "조정 목적 값(원)", "조정결과", "유형"
|
||||
|
||||
, "성립내역", "합의금액(원)", "조정부", "위원교체", "수수료"
|
||||
, "기일수", "기일수(일자)/완료일", "기일 상황(출석여부 등)", "신청인 유형", "신청인지역"
|
||||
|
||||
, "피신청인지역", "비고"
|
||||
}; // 헤더에 들어갈 이름
|
||||
String[] order = {
|
||||
"AdrNo", "SbmtDeDay", "AppliCantNm", "ResPonDentNm", "CcTyTx"
|
||||
, "ReqCn2", "ReqCn1", "", "", ""
|
||||
|
||||
, "CloseCn1", "", "MemDeptNm", "", "AdrCost"
|
||||
, "", "", "", "ReqTy", ""
|
||||
|
||||
, "", ""
|
||||
}; // 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;
|
||||
}
|
||||
|
||||
|
||||
@ -231,5 +231,140 @@
|
||||
) t
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 조정 사건부 현황 통계화면 -->
|
||||
<select id="SttsDAO.sttsAdjAdrList" parameterClass="SttsVO" resultClass="SttsVO">
|
||||
SELECT M.ADR_NO AS adrNo
|
||||
/* 조정사건번호 */
|
||||
,
|
||||
TO_CHAR ( M.SBMT_DE, 'YYYY/MM/DD' ) AS sbmtDeDay
|
||||
/* 신청일 */
|
||||
,
|
||||
AP.RPPL_NM AS appliCantNm
|
||||
/* 신청인 */
|
||||
,
|
||||
( SELECT GROUP_CONCAT ( RPPL_NM SEPARATOR ', ' )
|
||||
FROM ADR_RPPL S1
|
||||
WHERE S1.ADR_SEQ = M.ADR_SEQ
|
||||
AND S1.RPPL_TY = '20'
|
||||
GROUP BY S1.ADR_SEQ
|
||||
ORDER BY S1.FRST_REGIST_PNTTM
|
||||
)
|
||||
AS resPonDentNm
|
||||
/* 피신청인 */
|
||||
,
|
||||
CCD.CODE_NM AS ccTyTx
|
||||
/* 저작물 유형_Tx */
|
||||
,
|
||||
M.req_cn1 AS reqCn1
|
||||
/*신청취지*/
|
||||
,
|
||||
M.req_cn2 AS reqCn2
|
||||
/*신청원인*/
|
||||
,
|
||||
DM.MEM_DEPT_NM AS memDeptNm
|
||||
/* 조정부명 */
|
||||
,
|
||||
M.adr_cost AS adrCost
|
||||
/*조정비용*/
|
||||
,
|
||||
M.req_ty AS reqTy
|
||||
/*신청유형*/
|
||||
,
|
||||
ACD.close_cn1 AS closeCn1
|
||||
,
|
||||
ACD.close_cn2 AS closeCn2
|
||||
,
|
||||
|
||||
ROW_NUMBER() OVER ( ORDER BY M.ADR_NO IS NULL DESC, M.ADR_NO DESC, M.SBMT_DE DESC ) rnum ,
|
||||
M.ADR_SEQ AS adrSeq
|
||||
/* 조정일련번호 */
|
||||
|
||||
, M.req_ol_cd AS reqOlCd
|
||||
/* 온_오프라인_과거사건 구분 코드 1-오프라인, 2-과거사건 */
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
LEFT JOIN ADR_CLOSE_DOC ACD
|
||||
ON ACD.ADR_SEQ = AM.ADR_SEQ
|
||||
AND ACD.ADR_SN = AM.ADR_SN
|
||||
WHERE 1=1
|
||||
AND M.stat_cd ='400000' /* 현재는 종결된 사건만 필요시 조절한다. */
|
||||
|
||||
<isEqual property="searchCondition" compareValue="1">
|
||||
<isNotEmpty property="searchMonth2">
|
||||
/* 월 */
|
||||
AND am.appr_de BETWEEN TO_DATE(#searchYear#||#searchMonth2#||'01', 'yyyyMMdd')
|
||||
AND LAST_DAY(TO_DATE(#searchYear#||#searchMonth2#, 'yyyyMM'))
|
||||
</isNotEmpty>
|
||||
<isEmpty property="searchMonth">
|
||||
<isNotEmpty property="searchYear">
|
||||
/* 년 */
|
||||
AND am.appr_de BETWEEN TO_DATE(#searchYear#||'0101', 'yyyyMMdd')
|
||||
AND TO_DATE(#searchYear#||'1231', 'yyyyMMdd')
|
||||
</isNotEmpty>
|
||||
</isEmpty>
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
<isNotEmpty property="searchQuarter">
|
||||
/* 분기 */
|
||||
AND am.appr_de BETWEEN add_months(trunc(NOW(),'yyyy'),(#searchQuarter# - 1) * 3)
|
||||
AND add_months(trunc(NOW(),'yyyy'),#searchQuarter# * 3) - 1
|
||||
</isNotEmpty>
|
||||
</isEqual>
|
||||
|
||||
GROUP BY am.adr_seq
|
||||
ORDER BY am.appr_de DESC
|
||||
</select>
|
||||
</sqlMap>
|
||||
@ -137,8 +137,13 @@ $(document).ready(function() {
|
||||
<option value="3" ${sttsVO.searchQuarter eq '3' ? 'selected' : '' }>3분기</option>
|
||||
<option value="4" ${sttsVO.searchQuarter eq '4' ? 'selected' : '' }>4분기</option>
|
||||
</select>
|
||||
|
||||
<button class="btnType07 btn_search" onclick="linkPage()">검색</button>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
<div class="box">
|
||||
<div class="box_tit">
|
||||
<p>조정처리 성립률</p>
|
||||
<button type="button" class="btn_plus">더보기 +</button>
|
||||
<!-- <button type="button" class="btn_plus">더보기 +</button> -->
|
||||
</div>
|
||||
<div class="box_cont chart_box">
|
||||
<img src="/kccadrPb/adm/image/dashboard/chart03.jpg" alt="">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user