From 61a6ae1576041eb8364333ace751dae01f7078e7 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Wed, 23 Apr 2025 11:36:23 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EC=A2=85?= =?UTF-8?q?=EB=A3=8C=ED=86=B5=EC=A7=80=20=EC=A3=BC=EC=84=9D=20=EC=9B=90?= =?UTF-8?q?=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/jsp/seed/_extra/gtm/trublcfrncmng/reportEdit.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublcfrncmng/reportEdit.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublcfrncmng/reportEdit.jsp index b44f5021..76098b2a 100644 --- a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublcfrncmng/reportEdit.jsp +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublcfrncmng/reportEdit.jsp @@ -1114,7 +1114,7 @@ function resultGo(){ var url = "/gtm/caseUtil/updateAutoEndDtAjax.do"; var param = jQuery('#dateFrm').serialize(); XHR2(url, param, function(r){ - /* if(r.result == 'success'){ + if(r.result == 'success'){ var url = ""; $("#statePro").val('0503000000'); //$("#masterStatePro").val('0405000000'); @@ -1129,7 +1129,7 @@ function resultGo(){ }else{ alert(r.failCaseNo+" 오류 발생하였습니다. 담당자에게 문의 바랍니다."); return false; - } */ + } }); } From fcd21960c04f53d99bfe92e52d9aa8d4d55ff7da Mon Sep 17 00:00:00 2001 From: JIWOO Date: Fri, 2 May 2025 18:23:21 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EC=A2=85?= =?UTF-8?q?=EB=A3=8C=EC=9D=BC,=20=EC=B2=98=EB=A6=AC=EA=B8=B0=EA=B0=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/uss/ion/cu/service/CaseUtilVO.java | 211 ++++++++++++++---- .../cu/service/Impl/CaseUtilServiceImpl.java | 207 +++++++++++++---- .../uss/ion/cu/web/CaseUtilController.java | 4 +- .../seed/com/gtm/base/GwBaseController.java | 23 ++ .../com/gtm/board/CaseBoardController.java | 52 ++++- .../com/uss/ion/cu/CaseUtil_SQL_Oracle.xml | 64 +++--- .../sqlmap/config/mappers/board/board_sql.xml | 4 +- .../trublcfrncmng/trublcfrncmng_sql.xml | 42 +++- .../clipreport4/crf/mediationAllList.crf | Bin 257879 -> 258769 bytes .../_extra/gtm/trublcfrncmng/redyEdit.jsp | 14 +- .../_extra/gtm/trublcfrncmng/redyWrite.jsp | 9 +- .../_extra/gtm/trublcfrncmng/reportEdit.jsp | 35 ++- 12 files changed, 514 insertions(+), 151 deletions(-) diff --git a/src/main/java/kcc/com/uss/ion/cu/service/CaseUtilVO.java b/src/main/java/kcc/com/uss/ion/cu/service/CaseUtilVO.java index a7729bfe..84cb7a9c 100644 --- a/src/main/java/kcc/com/uss/ion/cu/service/CaseUtilVO.java +++ b/src/main/java/kcc/com/uss/ion/cu/service/CaseUtilVO.java @@ -1,6 +1,7 @@ package kcc.com.uss.ion.cu.service; import java.io.Serializable; +import java.util.List; import kcc.com.cmm.ComDefaultVO; @@ -8,93 +9,211 @@ public class CaseUtilVO extends ComDefaultVO implements Serializable{ private static final long serialVersionUID = 5641887401063483713L; - public String caseNo =""; //사건번호 - public String[] caseNoArray; //사건번호 배열 + public String caseNo =""; //사건번호(사건마스터) + public String cdCaseNo =""; //사건번호(심의안건) + public String ceCaseNo =""; //사건번호(보고안건) + public List caseNoList; //사건번호 배열 public String caseDate =""; //접수일 public String mediationEndDt =""; //조정 종료일 + public String mediationEndDtTwo =""; //조정 종료일2 public String fixDay =""; //협의회 개최일 - public String dblrtYn =""; //심의안건 유무 + public String cdccFixDay =""; //협의회 개최일(심의안건) + public String ceccFixDay =""; //협의회 개최일(보고안건) public String stopReqTerm =""; //중지기간 public String appReqTerm =""; //보완기간 public String pendencyPeriod =""; //처리기간 - public String firstEndDt =""; //1차 협의회 개최일 - public String secondEndDt =""; //2차 협의회 개최일 - public String dblrtEndYn =""; //심의사건 1차 협의회에서 종료 여부 - + public String MediationBig =""; //조정대분류결과(사건마스터) + public String MediationSmall =""; //조정소분류결과(사건마스터) + public String cdMediationBig =""; //조정대분류결과(심의안건) + public String cdMediationSmall =""; //조정소분류결과(심의안건) + public String ceMediationBig =""; //조정대분류결과(보고안건) + public String ceMediationSmall =""; //조정소분류결과(보고안건) + public String reconsiderationYn =""; //재심의여부 + public String reconsiderationRegDt =""; //재심의 사건 최초 협의회 일자 + /*caseType + 1 : 1차 협의회 종결 사건(심의안건X, 보고안건O) + 2 : 1차 협의회 종결 사건(심의안건O, 보고안건X) + 3 : 2차 협의회 종결 사건(심의안건O, 보고안건 O) + 4 : 2차 협의회 종결 사건(심의안건O, 보고안건X - 2차 협의회가 아직 진행되지 않은 사건들, 종료일 업데이트는 이후 2차 협의회 때 진행)*/ + public String caseType =""; + public String getCaseNo() { return caseNo; } + public void setCaseNo(String caseNo) { this.caseNo = caseNo; } - public String getFixDay() { - return fixDay; + + public String getCdCaseNo() { + return cdCaseNo; } - public void setFixDay(String fixDay) { - this.fixDay = fixDay; + + public void setCdCaseNo(String cdCaseNo) { + this.cdCaseNo = cdCaseNo; } - public String[] getCaseNoArray() { - return caseNoArray; + + public String getCeCaseNo() { + return ceCaseNo; } - public void setCaseNoArray(String[] caseNoArray) { - this.caseNoArray = caseNoArray; + + public void setCeCaseNo(String ceCaseNo) { + this.ceCaseNo = ceCaseNo; } - public String getMediationEndDt() { - return mediationEndDt; + + public List getCaseNoList() { + return caseNoList; } - public void setMediationEndDt(String mediationEndDt) { - this.mediationEndDt = mediationEndDt; - } - public String getDblrtYn() { - return dblrtYn; - } - public void setDblrtYn(String dblrtYn) { - this.dblrtYn = dblrtYn; + + public void setCaseNoList(List caseNoList) { + this.caseNoList = caseNoList; } + public String getCaseDate() { return caseDate; } + public void setCaseDate(String caseDate) { this.caseDate = caseDate; } + + public String getMediationEndDt() { + return mediationEndDt; + } + + public void setMediationEndDt(String mediationEndDt) { + this.mediationEndDt = mediationEndDt; + } + + public String getMediationEndDtTwo() { + return mediationEndDtTwo; + } + + public void setMediationEndDtTwo(String mediationEndDtTwo) { + this.mediationEndDtTwo = mediationEndDtTwo; + } + + public String getFixDay() { + return fixDay; + } + + public void setFixDay(String fixDay) { + this.fixDay = fixDay; + } + + public String getCdccFixDay() { + return cdccFixDay; + } + + public void setCdccFixDay(String cdccFixDay) { + this.cdccFixDay = cdccFixDay; + } + + public String getCeccFixDay() { + return ceccFixDay; + } + + public void setCeccFixDay(String ceccFixDay) { + this.ceccFixDay = ceccFixDay; + } + public String getStopReqTerm() { return stopReqTerm; } + public void setStopReqTerm(String stopReqTerm) { this.stopReqTerm = stopReqTerm; } + public String getAppReqTerm() { return appReqTerm; } + public void setAppReqTerm(String appReqTerm) { this.appReqTerm = appReqTerm; } + public String getPendencyPeriod() { return pendencyPeriod; } + public void setPendencyPeriod(String pendencyPeriod) { this.pendencyPeriod = pendencyPeriod; } - public String getFirstEndDt() { - return firstEndDt; - } - public void setFirstEndDt(String firstEndDt) { - this.firstEndDt = firstEndDt; - } - public String getSecondEndDt() { - return secondEndDt; - } - public void setSecondEndDt(String secondEndDt) { - this.secondEndDt = secondEndDt; - } - public String getDblrtEndYn() { - return dblrtEndYn; - } - public void setDblrtEndYn(String dblrtEndYn) { - this.dblrtEndYn = dblrtEndYn; - } - - -} + public String getMediationBig() { + return MediationBig; + } + + public void setMediationBig(String mediationBig) { + MediationBig = mediationBig; + } + + public String getMediationSmall() { + return MediationSmall; + } + + public void setMediationSmall(String mediationSmall) { + MediationSmall = mediationSmall; + } + + public String getCdMediationBig() { + return cdMediationBig; + } + + public void setCdMediationBig(String cdMediationBig) { + this.cdMediationBig = cdMediationBig; + } + + public String getCdMediationSmall() { + return cdMediationSmall; + } + + public void setCdMediationSmall(String cdMediationSmall) { + this.cdMediationSmall = cdMediationSmall; + } + + public String getCeMediationBig() { + return ceMediationBig; + } + + public void setCeMediationBig(String ceMediationBig) { + this.ceMediationBig = ceMediationBig; + } + + public String getCeMediationSmall() { + return ceMediationSmall; + } + + public void setCeMediationSmall(String ceMediationSmall) { + this.ceMediationSmall = ceMediationSmall; + } + + public String getCaseType() { + return caseType; + } + + public void setCaseType(String caseType) { + this.caseType = caseType; + } + + public String getReconsiderationYn() { + return reconsiderationYn; + } + + public void setReconsiderationYn(String reconsiderationYn) { + this.reconsiderationYn = reconsiderationYn; + } + + public String getReconsiderationRegDt() { + return reconsiderationRegDt; + } + + public void setReconsiderationRegDt(String reconsiderationRegDt) { + this.reconsiderationRegDt = reconsiderationRegDt; + } + + + +} \ No newline at end of file diff --git a/src/main/java/kcc/com/uss/ion/cu/service/Impl/CaseUtilServiceImpl.java b/src/main/java/kcc/com/uss/ion/cu/service/Impl/CaseUtilServiceImpl.java index d5c9c65a..e1ba45fb 100644 --- a/src/main/java/kcc/com/uss/ion/cu/service/Impl/CaseUtilServiceImpl.java +++ b/src/main/java/kcc/com/uss/ion/cu/service/Impl/CaseUtilServiceImpl.java @@ -35,54 +35,111 @@ public class CaseUtilServiceImpl extends EgovAbstractServiceImpl implements Case CaseUtilVO caseVO = new CaseUtilVO(); HolidayVO holidayVO = new HolidayVO(); - /*사건번호로 심의 안건 조회 후 있는 경우 - 1차 협의회 개최일을 조정 종요일로 계산, 2차 협의회 개최일을 조정 종료일2로 - 심의 안건이 없는 경우 현재 협의회 개최일을 조정 종료일로 - 심의 안건만 있지만, 수정의결이면서 결과가 심의가 아닌 경우 1차 협의회에서 종료 처리 - */ - - for(String caseNo : caseUtilVO.getCaseNoArray()) { + /*1차 협의회 종결 사건 : 조정 종료일 - 1차 협의회 개최일 + 2차 협의회 종결 사건 : 조정 종료일 - 1차 협의회 개최일, 조정 종료일2 - 2차 협의회 개최일 + + caseType + 1 : 1차 협의회 종결 사건(심의안건X, 보고안건O) + 2 : 1차 협의회 종결 사건(심의안건O, 보고안건X) + 3 : 2차 협의회 종결 사건(심의안건O, 보고안건 O) + 4 : 2차 협의회 종결 사건(심의안건O, 보고안건X - 2차 협의회가 아직 진행되지 않은 사건들, 종료일 업데이트는 이후 2차 협의회 때 진행) + */ + for(String caseNo : caseUtilVO.getCaseNoList()) { try { //처리기간 계산 caseVO.setCaseNo(caseNo); caseVO = this.selectCaseInfo(caseVO); - String endDateStr = caseUtilVO.getMediationEndDt(); //endDateStr : 'YYYY-MM-DD HH:MM' - String caseDateStr = caseVO.getCaseDate(); //caseDateStr : 'YYYY-MM-DD HH:MM:SS' - String firstEndDtStr = caseVO.getFirstEndDt(); //firstEndDtStr : 'YYYY-MM-DD HH:MM' - LocalDate caseDate = LocalDate.parse(caseDateStr, caseDateFormatter); //caseDate : 'YYYY-MM-DD' - LocalDate endDate = LocalDate.parse(endDateStr, MediationEndDateFormatter); //endDate : 'YYYY-MM-DD' + boolean bogoY = caseVO.getCeCaseNo() != null && !caseVO.getCeCaseNo().isEmpty();//보고안건 여부 + boolean simY = caseVO.getCdCaseNo() != null && !caseVO.getCdCaseNo().isEmpty(); //심의안건 여부 + + if(bogoY || simY) { + + //보고안건 O + if(bogoY) { + + //심의안건 O(2차 협의회로 종결된 사건) + if(simY) { + caseVO.setCaseType("3"); + //심읜안건 X(1차 협의회로 종결된 사건) + }else { + caseVO.setCaseType("1"); + } + + //보고안건 X + }else if(simY){ + + //심의안건 O 결과가 수락여부대기 or 재심의(2차 협의회 진행 예정 사건) + if("0617000000".equals(caseVO.getCdMediationSmall()) || "0618000000".equals(caseVO.getCdMediationSmall())) { + caseVO.setCaseType("4"); + //심의안건 O 결과가 수락여부대기 or 재심의가 아닌 경우(1차 협의회로 종결된 사건) + }else { + caseVO.setCaseType("2"); + } + } + + + if(!"4".equals(caseVO.getCaseType())){ //타입4는 2차 협의회가 진행되는 시점에 종료일, 처리기간 업데이트 + //종료일 처리 + String endDateStr = ""; //endDateStr : 'YYYY-MM-DD HH:MM' + if("1".equals(caseVO.getCaseType())){ + endDateStr = caseVO.getCeccFixDay(); + }else if("2".equals(caseVO.getCaseType())) { + endDateStr = caseVO.getCdccFixDay(); + }else if("3".equals(caseVO.getCaseType())) { + endDateStr = caseVO.getCdccFixDay(); + } + + String endDateTwoStr = ""; //endDateStr : 'YYYY-MM-DD HH:MM' + if("3".equals(caseVO.getCaseType())) { + endDateTwoStr = caseVO.getCeccFixDay(); + } + + + //재심의 > 심의안건 사건의 경우 + //재심의로 등록된 안건이 덮어쓰여지기 때문에, 별도로 최초 협의회 일자를 저장하고 그 일자를 종료일로 사용 + if(caseVO.getReconsiderationRegDt() != null && !caseVO.getReconsiderationRegDt().isEmpty()) { + //날짜포맷을 위한 임시 처리 + endDateStr = caseVO.getReconsiderationRegDt()+" 12:00"; + endDateTwoStr = caseVO.getCeccFixDay(); + if(endDateTwoStr == "") endDateTwoStr = caseVO.getCdccFixDay(); + } + + String caseDateStr = caseVO.getCaseDate(); //caseDateStr : 'YYYY-MM-DD HH:MM:SS' + LocalDate caseDate = LocalDate.parse(caseDateStr, caseDateFormatter); //caseDate : 'YYYY-MM-DD' + LocalDate endDate = LocalDate.parse(endDateStr, MediationEndDateFormatter); //endDate : 'YYYY-MM-DD' + if(endDateTwoStr != "") { + LocalDate endDateTwo = LocalDate.parse(endDateTwoStr, MediationEndDateFormatter); //endDate : 'YYYY-MM-DD' + endDateTwoStr = endDateTwo.format(outputFormatter); + } + - //중지기간, 보완기간 - int stopReqTerm = (caseVO.getStopReqTerm() == null || caseVO.getStopReqTerm().trim().isEmpty()) ? 0 : Integer.parseInt(caseVO.getStopReqTerm().trim()); - int appReqTerm = (caseVO.getAppReqTerm() == null || caseVO.getAppReqTerm().trim().isEmpty()) ? 0 : (Integer.parseInt(caseVO.getAppReqTerm().trim()) > 21 ? 21 : Integer.parseInt(caseVO.getAppReqTerm().trim())); - - if("Y".equals(caseVO.getDblrtYn()) && !"Y".equals(caseVO.getDblrtEndYn())) { //심의 안건이 있던 경우 firstEndDtStr 사용 - String SecondendDateStr = endDate.format(outputFormatter); //SecondendDateStr : 'YYYY-MM-DD HH:MM'(2차 보고일) - endDate = LocalDate.parse(firstEndDtStr, MediationEndDateFormatter); - caseVO.setSecondEndDt(SecondendDateStr); - } - - endDateStr = endDate.format(outputFormatter); - caseVO.setMediationEndDt(endDateStr); - - holidayVO.setSdt(caseDate.format(formatter)); - holidayVO.setEdt(endDate.format(formatter)); - int hldCnt = holidayService.selectHolidayCnt(holidayVO); - int workCnt = 0; - - //주말, 공휴일 뺀 기간 - for (LocalDate date = caseDate; !date.isAfter(endDate); date = date.plusDays(1)) { - // 주말이 아닌 경우에만 근무일 수 증가 - if (date.getDayOfWeek().getValue() != 6 && date.getDayOfWeek().getValue() != 7) { - workCnt++; + + endDateStr = endDate.format(outputFormatter); + caseVO.setMediationEndDt(endDateStr); + caseVO.setMediationEndDtTwo(endDateTwoStr); + + //처리기간 처리 + holidayVO.setSdt(caseDate.format(formatter)); + holidayVO.setEdt(endDate.format(formatter)); + int hldCnt = holidayService.selectHolidayCnt(holidayVO); + int workCnt = 0; + + //주말, 공휴일 뺀 기간 + for (LocalDate date = caseDate; !date.isAfter(endDate); date = date.plusDays(1)) { + // 주말이 아닌 경우에만 근무일 수 증가 + if (date.getDayOfWeek().getValue() != 6 && date.getDayOfWeek().getValue() != 7) { + workCnt++; + } + } + int stopReqTerm = (caseVO.getStopReqTerm() == null || caseVO.getStopReqTerm().trim().isEmpty()) ? 0 : Integer.parseInt(caseVO.getStopReqTerm().trim()); + int appReqTerm = (caseVO.getAppReqTerm() == null || caseVO.getAppReqTerm().trim().isEmpty()) ? 0 : (Integer.parseInt(caseVO.getAppReqTerm().trim()) > 21 ? 21 : Integer.parseInt(caseVO.getAppReqTerm().trim())); + workCnt = workCnt - hldCnt - stopReqTerm - appReqTerm; + caseVO.setPendencyPeriod(Integer.toString(workCnt)); + this.updateCaseEndDt(caseVO); } } - workCnt = workCnt - hldCnt - stopReqTerm -appReqTerm; - caseVO.setPendencyPeriod(Integer.toString(workCnt)); - this.updateCaseEndDt(caseVO); - - }catch(Exception e){ e.printStackTrace(); failCaseNo += caseNo+","; @@ -94,6 +151,78 @@ public class CaseUtilServiceImpl extends EgovAbstractServiceImpl implements Case } return failCaseNo; } + /*@Override + public String updateAutoEndDt(CaseUtilVO caseUtilVO) throws Exception { + //업데이트 실패 사건번호 + String failCaseNo = ""; + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + DateTimeFormatter caseDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + DateTimeFormatter MediationEndDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + CaseUtilVO caseVO = new CaseUtilVO(); + HolidayVO holidayVO = new HolidayVO(); + + 사건번호로 심의 안건 조회 후 있는 경우 - 1차 협의회 개최일을 조정 종요일로 계산, 2차 협의회 개최일을 조정 종료일2로 + 심의 안건이 없는 경우 현재 협의회 개최일을 조정 종료일로 + 심의 안건만 있지만, 수정의결이면서 결과가 심의가 아닌 경우 1차 협의회에서 종료 처리 + + + for(String caseNo : caseUtilVO.getCaseNoArray()) { + try { + + //처리기간 계산 + caseVO.setCaseNo(caseNo); + caseVO = this.selectCaseInfo(caseVO); + + String endDateStr = caseUtilVO.getMediationEndDt(); //endDateStr : 'YYYY-MM-DD HH:MM' + String caseDateStr = caseVO.getCaseDate(); //caseDateStr : 'YYYY-MM-DD HH:MM:SS' + String firstEndDtStr = caseVO.getFirstEndDt(); //firstEndDtStr : 'YYYY-MM-DD HH:MM' + LocalDate caseDate = LocalDate.parse(caseDateStr, caseDateFormatter); //caseDate : 'YYYY-MM-DD' + LocalDate endDate = LocalDate.parse(endDateStr, MediationEndDateFormatter); //endDate : 'YYYY-MM-DD' + + //중지기간, 보완기간 + int stopReqTerm = (caseVO.getStopReqTerm() == null || caseVO.getStopReqTerm().trim().isEmpty()) ? 0 : Integer.parseInt(caseVO.getStopReqTerm().trim()); + int appReqTerm = (caseVO.getAppReqTerm() == null || caseVO.getAppReqTerm().trim().isEmpty()) ? 0 : (Integer.parseInt(caseVO.getAppReqTerm().trim()) > 21 ? 21 : Integer.parseInt(caseVO.getAppReqTerm().trim())); + + if("Y".equals(caseVO.getDblrtYn()) && !"Y".equals(caseVO.getDblrtEndYn())) { //심의 안건이 있던 경우 firstEndDtStr 사용 + String SecondendDateStr = endDate.format(outputFormatter); //SecondendDateStr : 'YYYY-MM-DD HH:MM'(2차 보고일) + endDate = LocalDate.parse(firstEndDtStr, MediationEndDateFormatter); + caseVO.setSecondEndDt(SecondendDateStr); + } + + endDateStr = endDate.format(outputFormatter); + caseVO.setMediationEndDt(endDateStr); + + holidayVO.setSdt(caseDate.format(formatter)); + holidayVO.setEdt(endDate.format(formatter)); + int hldCnt = holidayService.selectHolidayCnt(holidayVO); + int workCnt = 0; + + //주말, 공휴일 뺀 기간 + for (LocalDate date = caseDate; !date.isAfter(endDate); date = date.plusDays(1)) { + // 주말이 아닌 경우에만 근무일 수 증가 + if (date.getDayOfWeek().getValue() != 6 && date.getDayOfWeek().getValue() != 7) { + workCnt++; + } + } + workCnt = workCnt - hldCnt - stopReqTerm -appReqTerm; + caseVO.setPendencyPeriod(Integer.toString(workCnt)); + this.updateCaseEndDt(caseVO); + + + }catch(Exception e){ + e.printStackTrace(); + failCaseNo += caseNo+","; + } + + } + if(!failCaseNo.isEmpty()) { + failCaseNo = failCaseNo.substring(0, failCaseNo.length() - 1);//마지막 쉼표 제거 + } + return failCaseNo; + }*/ @Override diff --git a/src/main/java/kcc/com/uss/ion/cu/web/CaseUtilController.java b/src/main/java/kcc/com/uss/ion/cu/web/CaseUtilController.java index 33482c87..02bfe73a 100644 --- a/src/main/java/kcc/com/uss/ion/cu/web/CaseUtilController.java +++ b/src/main/java/kcc/com/uss/ion/cu/web/CaseUtilController.java @@ -29,9 +29,9 @@ public class CaseUtilController { * @throws Exception */ @RequestMapping(value="/gtm/caseUtil/updateAutoEndDtAjax.do") - public ResponseEntity updateAutoEndDtAjax(HttpServletRequest request, HttpSession session, CaseUtilVO CaseUtilVO) throws Exception{ + public ResponseEntity updateAutoEndDtAjax(HttpServletRequest request, HttpSession session, CaseUtilVO caseUtilVO) throws Exception{ Map returnData = new HashMap(); - String failCaseNo = caseUtilService.updateAutoEndDt(CaseUtilVO); + String failCaseNo = caseUtilService.updateAutoEndDt(caseUtilVO); if(failCaseNo.isEmpty()) { returnData.put("result", "success"); }else { diff --git a/src/main/java/seed/com/gtm/base/GwBaseController.java b/src/main/java/seed/com/gtm/base/GwBaseController.java index 72340f3e..1153bb27 100644 --- a/src/main/java/seed/com/gtm/base/GwBaseController.java +++ b/src/main/java/seed/com/gtm/base/GwBaseController.java @@ -2,12 +2,14 @@ package seed.com.gtm.base; import java.net.URLDecoder; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -26,6 +28,8 @@ import org.springframework.web.servlet.ModelAndView; import egovframework.rte.psl.dataaccess.util.EgovMap; import kcc.com.snd.service.SendService; import kcc.com.snd.service.SendSmsVO; +import kcc.com.uss.ion.cu.service.CaseUtilService; +import kcc.com.uss.ion.cu.service.CaseUtilVO; import seed.com.gtm.join.MemberJoinService; import seed.com.gtm.service.BaseService; import seed.com.gtm.util.Criteria; @@ -64,6 +68,9 @@ public class GwBaseController { @Autowired private MyPageService service2; + @Resource(name = "caseUtilService") + private CaseUtilService caseUtilService; + ///gtm/case/nanum/ajax/SanctnhistoryIns.do @RequestMapping(value = "/gtm/newcase/{pageName}/{pageAction}.do") public ModelAndView getManagerNewPage(HttpServletRequest request, @@ -8762,6 +8769,22 @@ v_ret = this.receiverHeader(); } } + //해당 협의회의 모든 심의안건, 보고안건 사건 번호 조회 후 종료일, 처리기간 처리 + params.put("sql", "trublcfrncmngAllSel"); + params.put("data4", JSPUtil.fixNull(bservice.list(params))); + List caseNoMapList = (List) params.get("data4"); + List caseNoList = new ArrayList<>(); + for (int i = 0; i < caseNoMapList.size(); i++) { + Map caseNoMap = (Map) caseNoMapList.get(i); + String caseNo = caseNoMap.get("caseNo"); + if (caseNo != null) { + caseNoList.add(caseNo); + } + } + + CaseUtilVO caseUtilVO = new CaseUtilVO(); + caseUtilVO.setCaseNoList(caseNoList); + String failCaseNo = caseUtilService.updateAutoEndDt(caseUtilVO); /*params.put("sql", "nanumMasterResultUpdt"); bservice.update(params);*/ diff --git a/src/main/java/seed/com/gtm/board/CaseBoardController.java b/src/main/java/seed/com/gtm/board/CaseBoardController.java index 0670979c..ae33158c 100644 --- a/src/main/java/seed/com/gtm/board/CaseBoardController.java +++ b/src/main/java/seed/com/gtm/board/CaseBoardController.java @@ -13,12 +13,14 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; import seed.com.gtm.seedfile.SeedFileService; import seed.com.gtm.util.Criteria; import seed.com.gtm.util.PageMaker; import seed.common.service.InnorixFileService; import seed.utils.FairnetUtils; +import seed.utils.SeedUtils; @Controller @RequestMapping("/gtm/case") @@ -43,12 +45,24 @@ public class CaseBoardController { // /gtm/case/board/form/write.do @RequestMapping(value="/board/{boardIdx}/write.do", method=RequestMethod.GET) public String formWrite(ModelMap model, HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + model.put("message", "common.message.no.grant"); + model.put("self", "history"); + return ("/_common/jsp/umessage"); + } paramMap.put("boardIdx", boardIdx); return "/seed/_extra/gtm/board/write"; } @RequestMapping(value="/board/{boardIdx}/write.do", method=RequestMethod.POST) public String formWrite(HttpServletRequest request ,HttpSession session, @RequestParam Map paramMap, Map map, @PathVariable(value="boardIdx") String boardIdx){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + map.put("message", "common.message.no.grant"); + map.put("self", "history"); + return ("/_common/jsp/umessage"); + } paramMap.put("memberName", session.getAttribute("memberName")); paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("boardIdx", boardIdx); @@ -79,6 +93,13 @@ public class CaseBoardController { @RequestMapping("/board/{boardIdx}/list.do") public String boardList(ModelMap model, HttpSession session, Criteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + model.put("message", "common.message.no.grant"); + model.put("self", "history"); + return ("/_common/jsp/umessage"); + } + //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); @@ -115,7 +136,14 @@ public class CaseBoardController { } @RequestMapping("/board/{boardIdx}/view.do") - public String boardView(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + public String boardView(ModelMap model, HttpSession session,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + model.put("message", "common.message.no.grant"); + model.put("self", "history"); + return ("/_common/jsp/umessage"); + } paramMap.put("dataIdx", paramMap.get("bbsNo")); System.out.println(paramMap.get("bbsNo")); @@ -128,6 +156,13 @@ public class CaseBoardController { @RequestMapping("/board/{boardIdx}/bbsDel.do") public String boardDel(HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx, Map map){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + map.put("message", "common.message.no.grant"); + map.put("self", "history"); + return ("/_common/jsp/umessage"); + } + paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("dataIdx", paramMap.get("bbsNo")); service.boardDel(paramMap); fileService.fileDelAll(paramMap); @@ -142,8 +177,13 @@ public class CaseBoardController { } @RequestMapping(value="/board/{boardIdx}/edit.do", method=RequestMethod.GET) - public String boardEdit(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ - + public String boardEdit(ModelMap model,HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + model.put("message", "common.message.no.grant"); + model.put("self", "history"); + return ("/_common/jsp/umessage"); + } paramMap.put("dataIdx", paramMap.get("bbsNo")); List> fileList = fileService.fileList(paramMap); @@ -168,6 +208,12 @@ public class CaseBoardController { @RequestMapping(value="/board/{boardIdx}/edit.do", method=RequestMethod.POST) public String boardEdit(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx, Map map){ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + if(memberIdx == 0) { + map.put("message", "common.message.no.grant"); + map.put("self", "history"); + return ("/_common/jsp/umessage"); + } paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("dataIdx", paramMap.get("bbsNo"));//fileInsert에서 필요 diff --git a/src/main/resources/egovframework/sqlmap/com/uss/ion/cu/CaseUtil_SQL_Oracle.xml b/src/main/resources/egovframework/sqlmap/com/uss/ion/cu/CaseUtil_SQL_Oracle.xml index 18fd7e77..8fe5e96b 100644 --- a/src/main/resources/egovframework/sqlmap/com/uss/ion/cu/CaseUtil_SQL_Oracle.xml +++ b/src/main/resources/egovframework/sqlmap/com/uss/ion/cu/CaseUtil_SQL_Oracle.xml @@ -10,43 +10,48 @@ SELECT cm.CASE_NO AS caseNo, cm.CASE_DATE AS caseDate, - cm.STOP_REQ_TERM AS stopReqTerm, - cm.APP_REQ_TERM AS appReqTerm, - CASE - WHEN - jcd.CASE_NO IS NOT NULL - THEN 'Y' - ELSE 'N' - END AS dblrtYn, - CASE - WHEN NVL(jcd.MEDIATION_SMALL, '') NOT IN ('0616000000', '0617000000', '0618000000') - AND NVL(jcd.MOD_RESOLUTION, '') = 'Y' - THEN 'Y' - ELSE 'N' - END AS dblrtEndYn, - ccm.FIX_DAY AS firstEndDt + cm.RECONSIDERATION_YN AS reconsiderationYn, + cm.RECONSIDERATION_REG_DT AS reconsiderationRegDt, + NVL(cm.STOP_REQ_TERM,0) AS stopReqTerm, + NVL(cm.APP_REQ_TERM,0) AS appReqTerm, + cd.CASE_NO AS cdCaseNo, + cd.MEDIATION_BIG AS cdMediationBig, + cd.MEDIATION_SMALL AS cdMediationSmall, + cdcc.FIX_DAY AS cdccFixDay, + ce.CASE_NO AS ceCaseNo, + ce.MEDIATION_BIG AS ceMediationBig, + ce.MEDIATION_SMALL AS ceMediationSmall, + cecc.FIX_DAY AS ceccFixDay FROM C_MASTER cm LEFT JOIN ( SELECT CASE_NO, + MEDIATION_BIG, MEDIATION_SMALL, MOD_RESOLUTION, CFRNC_NO FROM ( SELECT - cd.CASE_NO, - cd.MEDIATION_SMALL, - cd.MOD_RESOLUTION, - cd.CFRNC_NO, - ROW_NUMBER() OVER (PARTITION BY cd.CASE_NO ORDER BY cd.CFRNC_NO) AS rn + CASE_NO, + MEDIATION_BIG, + MEDIATION_SMALL, + MOD_RESOLUTION, + CFRNC_NO, + ROW_NUMBER() OVER (PARTITION BY CASE_NO ORDER BY CFRNC_NO) AS rn FROM - C_DLBRTMTR cd + C_DLBRTMTR ) WHERE rn = 1 - ) jcd - ON cm.CASE_NO = jcd.CASE_NO + ) cd + ON cm.CASE_NO = cd.CASE_NO LEFT JOIN - C_CFRNCMANAGE ccm - ON ccm.CFRNC_NO = jcd.CFRNC_NO + C_ENDMTR ce + ON cm.CASE_NO = ce.CASE_NO + LEFT JOIN + C_CFRNCMANAGE cdcc + ON cdcc.CFRNC_NO = cd.CFRNC_NO + LEFT JOIN + C_CFRNCMANAGE cecc + ON cecc.CFRNC_NO = ce.CFRNC_NO WHERE cm.CASE_NO = #caseNo# @@ -54,14 +59,9 @@ UPDATE C_MASTER SET - MEDIATION_END_DT = #mediationEndDt#, - MEDIATION_END_DT2 = #secondEndDt#, - - - MEDIATION_END_DT = #mediationEndDt#, - - PENDENCY_PERIOD = #pendencyPeriod# + MEDIATION_END_DT2 = #mediationEndDtTwo#, + PENDENCY_PERIOD = #pendencyPeriod# WHERE CASE_NO = #caseNo# diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/board/board_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/board/board_sql.xml index 47352f1e..0f90f4ba 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/board/board_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/board/board_sql.xml @@ -171,7 +171,9 @@ UPDATE C_BASEBBS - SET DEL_YN = 'Y' + SET DEL_YN = 'Y', + BBS_MOD_DATE = SYSDATE, + BBS_MOD_ID = #{memberId} WHERE BBS_NO = #{bbsNo} diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/trublcfrncmng/trublcfrncmng_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/trublcfrncmng/trublcfrncmng_sql.xml index c3a8043b..19464c57 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/trublcfrncmng/trublcfrncmng_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/trublcfrncmng/trublcfrncmng_sql.xml @@ -321,9 +321,11 @@ WHERE DT.CASE_NO = A.CASE_NO AND CM.CASE_END = 'N' ) - - AND MEDIATION_BIG IN ('0616010000', '0618010000') - AND MEDIATION_SMALL IN ('0616000000', '0618000000') + + + AND MEDIATION_BIG IN ('0616010000') + AND MEDIATION_SMALL IN ('0616000000') AND 0 = (SELECT COUNT(*) FROM C_ENDMTR WHERE CASE_NO = A.CASE_NO) @@ -469,6 +471,24 @@ AND MEDIATION_SMALL = '0618000000' + + + + + SELECT TO_CHAR(TO_DATE(CCM.FIX_DAY, 'YYYY-MM-DD HH24:MI'), 'YYYY-MM-DD') + FROM C_CFRNCMANAGE CCM + WHERE CCM.CFRNC_NO = ( + SELECT CD.CFRNC_NO + FROM C_DLBRTMTR CD + WHERE CD.CASE_NO = #{caseNo} + AND CD.MEDIATION_SMALL = '0618000000' + ) + + UPDATE C_MASTER SET + RECONSIDERATION_REG_DT = #{reconsiderationRegDt} + WHERE CASE_NO = #{caseNo} + + INSERT INTO C_DLBRTMTR @@ -1790,4 +1810,20 @@ ORDER BY FIX_DAY ASC + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/clipreport4/crf/mediationAllList.crf b/src/main/webapp/WEB-INF/clipreport4/crf/mediationAllList.crf index 633f758669f0f080300915eff6df895e69a68845..2a21718757082df315c59453840d2e86c83d08d4 100644 GIT binary patch delta 2366 zcmcgrdpOf;9A}%QqAQtB$@AH1%&-=Z7zHj@}rR>3_Wn^PeR$fJc zaZDzVXQiZv=OM+Q6U;umdfCYH?ToCNh@+de5d;kwl7jQ5KI3>hlf`k5K-0EaX)mG` zv5J874j7U}aRNFn-7Jyakw|*x|2$|`EPJ1MLoygt0VrI9NlHnMX)jT|4lQW%=2WWsK{{?&(;D7|QAW)Yd~T zrM#}z%MNR)?4!)y`r#9wy$US1vvp`elS>XKxf6lRjVKHL#W}}4$@xH zXEqSW%+ts~)FmZc=1==C@9PfqNA-hrX)A|_&MK;w9Z=Z1mV14-?icvF-DXv+yEu&D z7qCW(PCSg-_$Fp_%r>i!TVjI?uYwW@uh(jgH=lxqu4!xbL~Wi)AZ4md@l|p#4>B=` z;$t&a;c;NQb!l6`4~v~5D|8qBS-fod+J&C-(R5DW|1h@T2FG*u?~od zaH+N@#bhjG&ZMaqdd0TL<5!>xb}QhA*iQnh{p;$eOmB&jZmX+i^fCCv1 zH4h2RB(`VXi>t1xDBNW9@|E1(qIV~heNQaQp12qfcbv&q^v9;|YG*uQI-edk)iPID z#Oa-0%<5RKmr$6yT^(C5==QvknE88mu03Eib zP1lNIwBoK`QXFHCnU%n0Dyi*rD#7xmHb^sO-DEHfO3I^|sbM4K zol&5kf`mIsS;LgNw^BEK#dlue0W~H{nv%MWYHL#``mpW`(WmyBx}cm4l*nB*#3PO8 znEfj6b3K&Ug=f&bMnLT@(zra?lGAoW1$7|kZTuP4@m}F{7au02jlw056(>zy1nC+$ zj%p$n!20WVDL2?+lioZr1riw<^$dPPDv z8wxF0ly4MRG}$s(7_-ecBSJZ8SN9H^jJOCa+Gd4 zD&CV!A94qILkJ~-USj13~xFS#>fI|qLe~2u<==tmYB?$B%evCcjGyM2@5MMf<-$M_2&{^=5$R2){ s+e7AeOW2G6e%fZbpen&UkzL@9FEES{gavudKlpg{w==zQ1e_xACpro@Jpcdz delta 1813 zcmZ9LeKgc*6vt9j1uEDLxrNqB+F#lX-jRdl9xTZ4wjM$(J#g} zPRoWlMP+ICcQzJVi&OOI}pXWaJ`QGP#pZlnuQ=Vuk zbrn2h;&Q`P-nS*eQ>z@tADpEnW~aVszjl<$iTd1Q;`AUj&u>KI#id5A;^kMCUX_^{bG%ZBgH zj~gyY?|C4K^?IMf5-U{7L;j+n%eAB0Q^SRsFU>mHwpc{6+{{@loGMb>jr)SX@;6b$ zYoD=)F-hO8w+W%#w>yz?KleNm?^!3?UYWsd5l=S^PJ8^kuk8D_nfx37^~BdN{%5@T z9OlOu;d^VuaTGyS80xELq6gY(>FQ^ZmWrytP42m;jFaf0O6N2O8`&+oBXThM>m5NJ zv=Dhm$+0M@s()RvS)qGDM@M+|8qs96WPrM-DC0c4cWgs(^xGP$f7z3g&g{lJ4dws( zwVV-5&bS@5vvl;rgp!%=V+}oqU&|6B~xm}ufvC@)nC$g z4oNyif}8fQn;nIFQS?9$XQ5k-%{S40${w_>jf+0_G-p2TXLBa|X37nH`TkMEIJrBI z;f;KigC1`hK=a%DqvJw{x-R6GJl8sk;%8R7@`Mwyr(5YGo?fi+=8L(+OWJjp9}Sc; zCk-YB46Zd6Mp%t9E{@9zct;xzuk-=29~BPeEq~l*vDpiK^#huwrg1b@=MM$ArTsqt z5SHJN%&IE2*ZhU_c5SG5fqs0diO~i9Cz)er@?kbLiVvuGgyIj5P!v%>*ofSO;ZY0i8ZBi{)fAYGRFhEl_yQB z6`v}nR#D`)lLY;J_lPfK@5`)Hma3TP3p#&FFtOa*6k6JJHEXK8FUB;*-)D^09=F_<>GN2Iw7GLkPEmTf5vCCGjc(qn~@C!tY|Yaf-D_ZBC)vLZg{Hx&Km*U0X+bDI^0i|?#m?2 zp7q4n`XTcIL%bpC1LzCr2e=8)9}M6_GypJ=fF*<=Fp!()t+&h@*sZu=*W9=T=@2&| zy+db0u'+v.caseNo+' 출석요구' $("#trublcfrncmngSelect").append(html); - //심의에서 끝나는 사건 처리 - 수정의결이면서 소분류 결과가 심의 관련이 아닌 경우 - if(v.modResolution == 'Y' && (v.mediationSmallSim != '0616000000' && v.mediationSmallSim != '0617000000' && v.mediationSmallSim != '0618000000')){ - simEndlist.push(v.caseNo); - } - }); $("#arrListsim").val(simlist); }else{ @@ -1108,30 +1102,31 @@ function StateProUpdt(statePro){ function resultGo(){ if(confirm("종료통지 단계로 넘어가시겠습니까?")){ //보고안건 사건들 조정종료일, 처리기간 자동 저장 - if(bogolist.length != 0 || simEndlist.length != 0){ - $("#caseNoArray").val(bogolist.concat(simEndlist)); + if(bogolist.length != 0 || simlist.length != 0){ + $("#caseNoList").val(bogolist.concat(simlist)); $("#mediationEndDt").val($("#fixDay").val()); var url = "/gtm/caseUtil/updateAutoEndDtAjax.do"; var param = jQuery('#dateFrm').serialize(); XHR2(url, param, function(r){ if(r.result == 'success'){ - var url = ""; - $("#statePro").val('0503000000'); - //$("#masterStatePro").val('0405000000'); - $("#type").val("U"); - var param = jQuery('#frm').serialize(); - url = "/gtm/case/trublcfrncmng/ajax/StateProUpdt.do"; - //협의회를 종료단계료 - XHR2(url, param, function(r){ - }); - alert("종료통지 단계로 수정되었습니다. 리스트로 돌아갑니다."); - location.href='/gtm/case/trublcfrncmng/trublcfrncmngList/TrublcfrncmngPagingList.do'; + }else{ alert(r.failCaseNo+" 오류 발생하였습니다. 담당자에게 문의 바랍니다."); return false; } }); } + var url = ""; + $("#statePro").val('0503000000'); + //$("#masterStatePro").val('0405000000'); + $("#type").val("U"); + var param = jQuery('#frm').serialize(); + url = "/gtm/case/trublcfrncmng/ajax/StateProUpdt.do"; + //협의회를 종료단계료 + XHR2(url, param, function(r){ + }); + alert("종료통지 단계로 수정되었습니다. 리스트로 돌아갑니다."); + location.href='/gtm/case/trublcfrncmng/trublcfrncmngList/TrublcfrncmngPagingList.do'; } } @@ -4339,7 +4334,7 @@ function nanumHisDel(){
- +