이지우 - 종료일, 처리기간 수정

This commit is contained in:
JIWOO 2025-05-02 18:23:21 +09:00
parent 61a6ae1576
commit fcd21960c0
12 changed files with 514 additions and 151 deletions

View File

@ -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<String> 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<String> 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<String> 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;
}
}

View File

@ -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

View File

@ -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<String, String> returnData = new HashMap<String, String>();
String failCaseNo = caseUtilService.updateAutoEndDt(CaseUtilVO);
String failCaseNo = caseUtilService.updateAutoEndDt(caseUtilVO);
if(failCaseNo.isEmpty()) {
returnData.put("result", "success");
}else {

View File

@ -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<String> caseNoList = new ArrayList<>();
for (int i = 0; i < caseNoMapList.size(); i++) {
Map<String, String> caseNoMap = (Map<String, String>) 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);*/

View File

@ -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<String,Object> 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<String,Object> paramMap, Map<String, Object> 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<String,Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx){
public String boardView(ModelMap model, HttpSession session,@RequestParam Map<String,Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx, Map<String, Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx){
public String boardEdit(ModelMap model,HttpSession session, @RequestParam Map<String,Object> 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<Map<String, Object>> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx, Map<String, Object> 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에서 필요

View File

@ -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#
</select>
@ -54,14 +59,9 @@
UPDATE
C_MASTER
SET
<isEqual property="dblrtYn" compareValue="Y">
MEDIATION_END_DT = #mediationEndDt#,
MEDIATION_END_DT2 = #secondEndDt#,
</isEqual>
<isNotEqual property="dblrtYn" compareValue="Y">
MEDIATION_END_DT = #mediationEndDt#,
</isNotEqual>
PENDENCY_PERIOD = #pendencyPeriod#
MEDIATION_END_DT2 = #mediationEndDtTwo#,
PENDENCY_PERIOD = #pendencyPeriod#
WHERE
CASE_NO = #caseNo#
</update>

View File

@ -171,7 +171,9 @@
<delete id="delete">
UPDATE C_BASEBBS
SET DEL_YN = 'Y'
SET DEL_YN = 'Y',
BBS_MOD_DATE = SYSDATE,
BBS_MOD_ID = #{memberId}
WHERE BBS_NO = #{bbsNo}
</delete>

View File

@ -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')
<!-- 250423 - 페어넷 최신소스와 동일하게 조건 수정 -->
<!-- AND MEDIATION_BIG IN ('0616010000', '0618010000')
AND MEDIATION_SMALL IN ('0616000000', '0618000000') -->
AND MEDIATION_BIG IN ('0616010000')
AND MEDIATION_SMALL IN ('0616000000')
</if>
<if test='parentId eq "bogo"'>
AND 0 = (SELECT COUNT(*) FROM C_ENDMTR WHERE CASE_NO = A.CASE_NO)
@ -469,6 +471,24 @@
AND MEDIATION_SMALL = '0618000000'
</update>
<!-- 심의안건이 재심의 이면 협의회 일자를 사건 마스터에 등록(1차 협의회일자로 사용) -->
<update id="trublcfrncmngReDtUpdt" parameterType="egovMap">
<selectKey keyProperty="reconsiderationRegDt" resultType="string" order="BEFORE">
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'
)
</selectKey>
UPDATE C_MASTER SET
RECONSIDERATION_REG_DT = #{reconsiderationRegDt}
WHERE CASE_NO = #{caseNo}
</update>
<!-- 심의안건 등록 -->
<insert id="trublcfrncmngDlbrtmrtInsert" parameterType="egovMap" useGeneratedKeys="false">
INSERT INTO C_DLBRTMTR
@ -1790,4 +1810,20 @@
ORDER BY FIX_DAY ASC
<include refid="bottom2"/>
</select>
<select id="trublcfrncmngAllSel" parameterType="egovMap" resultType="egovMap">
SELECT
CASE_NO
FROM
C_DLBRTMTR
WHERE
cfrnc_no = #{cfrncNo}
UNION
SELECT
CASE_NO
FROM
C_ENDMTR
WHERE
cfrnc_no = #{cfrncNo}
</select>
</mapper>

View File

@ -905,12 +905,17 @@ function regData(){
url = "/gtm/case/trublcfrncmng/ajax/ReCnt.do";
XHR2(url, param, function(r){
if(r.data.recnt != 0){
//재심의 일때는 협의회 꿔치기
//재심의 일때는 협의회 꿔치기
$("#type").val("U");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublcfrncmng/ajax/ReUpdt.do";
url = "/gtm/case/trublcfrncmng/ajax/ReDtUpdt.do";
XHR2(url, param, function(r){
$("#type").val("U");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublcfrncmng/ajax/ReUpdt.do";
XHR2(url, param, function(r){
});
});
}else{
$("#type").val("I");
@ -1151,6 +1156,7 @@ function chamDelFunc(){
});
}
alert("데이터가 삭제 되었습니다.");
window.location.reload();
}
}
@ -1177,6 +1183,7 @@ function bogoDelFunc(){
}
alert("데이터가 삭제 되었습니다.");
window.location.reload();
}
}
@ -1201,6 +1208,7 @@ function josuDelFunc(){
}
alert("데이터가 삭제 되었습니다.");
window.location.reload();
}
}

View File

@ -331,9 +331,14 @@ function regData(){
//재심의 일때는 협의회 빠꿔치기
$("#type").val("U");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublcfrncmng/ajax/ReUpdt.do";
url = "/gtm/case/trublcfrncmng/ajax/ReDtUpdt.do";
XHR2(url, param, function(r){
$("#type").val("U");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublcfrncmng/ajax/ReUpdt.do";
XHR2(url, param, function(r){
});
});
}else{
$("#type").val("I");

View File

@ -138,7 +138,6 @@ var gubunList = $("#caseGubun option");
}
var simlist = new Array();
var simEndlist = new Array();
//심의안건 셋팅
function loadSimData(){
var url = "";
@ -188,11 +187,6 @@ function loadSimData(){
html = '<option value="3" onclick="nanumCall2(\'3\', \'분쟁조정협의회 출석요구\', \''+v.caseNo+'\');">'+v.caseNo+' 출석요구</option>'
$("#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(){
<!-- 조정 종료,처리기간 계산 폼 -->
<form name="dateFrm" id="dateFrm" action="" method="post">
<input type="hidden" name="caseNoArray" id="caseNoArray" value="">
<input type="hidden" name="caseNoList" id="caseNoList" value="">
<input type="hidden" name="mediationEndDt" id="mediationEndDt" value="">
</form>