2024-09-26 분쟁조정 안내 작업

This commit is contained in:
myname 2024-09-26 14:56:23 +09:00
parent d273e7a003
commit 4b5d7b05c4
10 changed files with 1586 additions and 0 deletions

View File

@ -35,6 +35,7 @@ import seed.manager.site.service.ManagerSiteManagerService;
import seed.manager.site.service.ManagerSiteMenuAuthService;
import seed.manager.site.service.ManagerSiteMenuManagerService;
import seed.manager.site.service.ManagerSiteMenuService;
import seed.utils.FairnetUtils;
import seed.utils.SeedDbUtilsSupport;
//import seed.utils.SeedUtils;elService;
import seed.utils.SeedUtils;
@ -420,6 +421,7 @@ private Logger log = Logger.getLogger(this.getClass());
boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx);
//메뉴 권한설정
/*
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth &&
!managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
@ -433,6 +435,14 @@ private Logger log = Logger.getLogger(this.getClass());
return new ModelAndView("/_common/jsp/umessage");
}
*/
boolean b_ret = true;
b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map);
if (!b_ret) {
return new ModelAndView("/_common/jsp/message");
}
Map<Object, Object> tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx,
new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS",

View File

@ -0,0 +1,553 @@
package seed.com.user.board;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
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 com.ibm.icu.text.SimpleDateFormat;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.CmmUtil;
import kcc.xxx.service.XxxVO;
//import seed.com.ibm.icu.text.SimpleDateFo
import seed.com.gtm.board.CaseBoardService;
import seed.com.gtm.exam.ExamBoardService;
import seed.com.gtm.faqbbs.faqBpardService;
import seed.com.gtm.seedfile.SeedFileService;
import seed.com.gtm.util.Criteria;
import seed.com.gtm.util.PageMaker;
import seed.manager.group.service.ManagerGroupService;
import seed.manager.member.service.ManagerMemberService;
import seed.manager.site.service.ManagerSiteManagerService;
import seed.manager.site.service.ManagerSiteMenuAuthService;
import seed.manager.site.service.ManagerSiteMenuManagerService;
import seed.manager.site.service.ManagerSiteMenuService;
import seed.utils.FairnetUtils;
import seed.utils.SeedDbUtilsSupport;
//import seed.utils.SeedUtils;elService;
import seed.utils.SeedUtils;
@Controller
public class WebBoardController {
private Logger log = Logger.getLogger(this.getClass());
@Autowired
private ManagerSiteMenuService managerSiteMenuService;
@Autowired
private ManagerSiteManagerService managerSiteManagerService;
@Autowired
private ManagerMemberService managerMemberService;
@Autowired
private ManagerSiteMenuManagerService managerSiteMenuManagerService;
@Autowired
private ManagerSiteMenuAuthService managerSiteMenuAuthService;
@Autowired
private ManagerGroupService managerGroupService;
@Autowired
private faqBpardService service;
@Autowired
private ExamBoardService service2;
@Autowired
private CaseBoardService service3;
@Autowired
private SeedFileService fileService;
@Value("#{config['member.merge']}")
private String memberMerge;
@Value("#{config['member.merge.siteIdx']}")
private String memberMergeSiteIdx;
public void setSessionRemove(HttpSession session){
session.removeAttribute("memberIdx");
session.removeAttribute("memberId");
session.removeAttribute("memberName");
session.removeAttribute("memberDept");
session.removeAttribute("memberPosition");
session.removeAttribute("memberTel");
session.removeAttribute("memberPhone");
session.removeAttribute("memberEmail1");
session.removeAttribute("memberEmail2");
session.removeAttribute("memberGrant");
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
public void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
//@RequestMapping("/web/xxx/xxxList.do")
@RequestMapping(value="/web/user/exam1/{siteIdx}/{boardIdx}/{siteMenuIdx}/list.do", method=RequestMethod.GET)
public String xxxList(
ModelMap model
, HttpServletRequest request
, @ModelAttribute("xxxVO") XxxVO xxxVO
) throws Exception {
ArrayList xxxList = new ArrayList<XxxVO>();
for(int i = 0 ; i < 10 ; i++) {
XxxVO tmpVO = new XxxVO();
tmpVO.setTotCnt(200);
tmpVO.setCol1(String.valueOf(i));
tmpVO.setCol2("유형내용" + i + "입니다.");
tmpVO.setCol3("제목내용" + i + "입니다.");
tmpVO.setCol4("등록일시" + i + "입니다.");
xxxList.add(tmpVO);
}
// 페이징 처리 객체
PaginationInfo paginationInfo = CmmUtil.getPageing(xxxVO, xxxVO.getPageUnit());
paginationInfo.setTotalRecordCount(xxxList.size() > 0 ? ((XxxVO) xxxList.get(0)).getTotCnt() : 0);
model.addAttribute("xxxList", xxxList);
model.addAttribute("paginationInfo", paginationInfo);
//return "/web/xxx/xxxList";
return "/_extra/web/user/exam1/examList";
//return new ModelAndView("/_extra/web/user/exam/examList");
}
// 20190902 /user/exam/case/402/162/list.do
@RequestMapping(value= {"/web/user/exam/{siteIdx}/{boardIdx}/{siteMenuIdx}/examList.do"
, "/web/user/exam/{siteIdx}/{boardIdx}/{siteMenuIdx}/exam{boardIdx}List.do"}, method=RequestMethod.GET)
public ModelAndView examList(ModelMap map, HttpSession session, @RequestParam Map<String,Object> paramMap, Criteria cri,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="boardIdx") String boardIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx, HttpServletRequest request){
setSessionMessageRemove(session);
/*----권한체크----*/
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx);
//메뉴 권한설정
/*
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth &&
!managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
map.put("message", "common.message.no.grant");
if(memberIdx.equals(0)){
map.put("url", "/"+siteIdx+"/index.do");
}else{
map.put("self", "history");
}
return new ModelAndView("/_common/jsp/umessage");
}
*/
boolean b_ret = true;
b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map);
if (!b_ret) {
return new ModelAndView("/_common/jsp/message");
}
Map<Object, Object> tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx,
new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS",
"siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1",
"tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"});
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){
if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){
map.put("message", "common.message.no.siteMenu");
map.put("self", "history");
return new ModelAndView("/_common/jsp/umessage");
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try{
Date getDate = new Date();
Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate")));
Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate")));
if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) ||
(sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){
return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do");
}
}catch(ParseException e){
log.error("CHECK ERROR:",e);
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") ||
SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){
return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl")));
}
String siteMenuManager = "N";
StringBuffer siteMenuManagerIdx = new StringBuffer();
String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N");
List<Map<Object, Object>> siteMenuManagerList =
managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"});
for(int i=0; i<siteMenuManagerList.size(); i++){
Map<Object, Object> tSiteMenuManagerDB = siteMenuManagerList.get(i);
if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){
if(!memberIdx.equals(0) &&
memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) &&
siteMenuManager.equals("N")){
siteMenuManager = "Y";
}
siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString());
siteMenuManagerIdx.append(",");
}
}
if(memberGrant.equals("S") || memberAuthM){
siteMenuManager = "Y";
}
//편집 권한
map.put("siteMenuManager", siteMenuManager);
//담당자 보기 설정
map.put("siteMenuCharge", siteMenuCharge);
//담당자 이름
map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString());
//만족도 설정
map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N"));
map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1"))));
String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("", "|") +
" | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName"));
map.put("siteMenuTitle", siteMenuTitle);
//부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){
String[] siteMenuTitles = siteMenuTitle.split("\\|");
tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]);
}
map.put("tSiteMenuDB", tSiteMenuDB);
map.put("memberAuthM", memberAuthM);
map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx));
/*----권한체크 종료----*/
/*String titleName = "ALL";
if(paramMap.get("titleName") != null){
titleName = paramMap.get("titleName").toString();
}
String menuName = "";
if(titleName.equals("ALL")){
menuName = "ALL";
}else if(titleName.equals("search2")){
menuName= "공정거래";
}else if(titleName.equals("search3")){
menuName = "가맹사업거래";
}else if(titleName.equals("search4")){
menuName = "하도급거래";
}else if(titleName.equals("search5")){
menuName = "대규모유통업거래";
}else if(titleName.equals("search6")){
menuName = "불공정약관";
}*/
String menuName = "";
if(boardIdx.equals("402")){
menuName = "공정거래";
}else if(boardIdx.equals("403")){
menuName = "가맹사업거래";
}else if(boardIdx.equals("404")){
menuName = "하도급거래";
}else if(boardIdx.equals("405")){
menuName = "대규모유통업거래";
}else if(boardIdx.equals("406")){
menuName = "불공정약관";
}else if(boardIdx.equals("407")){
menuName = "대리점거래";
}
//20191004 추가
session.setAttribute("selCode", request.getParameter("searchMenu"));
session.setAttribute("menuName", menuName);
//페이징 관련
paramMap.put("pageStart", cri.getPageStart());
paramMap.put("perPageNum", cri.getPerPageNum());
paramMap.put("boardIdx", boardIdx);
List<Map<String,Object>> bbsList = service2.boardList(paramMap);
PageMaker pageMaker = new PageMaker();
pageMaker.setCri(cri);
pageMaker.setTotalCount(service2.boardListCnt(paramMap));
map.addAttribute("boardIdx", boardIdx);
map.addAttribute("bbsList", bbsList);
map.addAttribute("pageMaker", pageMaker);
// 페이징 처리 객체
//PaginationInfo paginationInfo = CmmUtil.getPageing(bbsList, bbsList.size());
//paginationInfo.setTotalRecordCount(bbsList.size() > 0 ? ((XxxVO) bbsList.get(0)).getTotCnt() : 0);
//map.addAttribute("paginationInfo", paginationInfo);
////ModelAndView mav = new ModelAndView();
//mav.addObject("/_extra/web/user/exam/examList");
//return new ModelAndView("/_extra/user/exam/list");
return new ModelAndView("/_extra/web/user/exam/examList");
//return mav;
}
@RequestMapping(value= {"/web/user/exam/{siteIdx}/{boardIdx}/{siteMenuIdx}/examDetail.do"
, "/web/user/exam/{siteIdx}/{boardIdx}/{siteMenuIdx}/exam{boardIdx}Detail.do"
}, method=RequestMethod.GET)
public ModelAndView examView(ModelMap map, HttpSession session, @RequestParam Map<String,Object> paramMap, Criteria cri,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="boardIdx") String boardIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
setSessionMessageRemove(session);
/*----권한체크----*/
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx);
//메뉴 권한설정
/*
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth &&
!managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
map.put("message", "common.message.no.grant");
if(memberIdx.equals(0)){
map.put("url", "/"+siteIdx+"/index.do");
}else{
map.put("self", "history");
}
return new ModelAndView("/_common/jsp/umessage");
}
*/
boolean b_ret = true;
b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map);
if (!b_ret) {
return new ModelAndView("/_common/jsp/message");
}
Map<Object, Object> tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx,
new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS",
"siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1",
"tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"});
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){
if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){
map.put("message", "common.message.no.siteMenu");
map.put("self", "history");
return new ModelAndView("/_common/jsp/umessage");
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try{
Date getDate = new Date();
Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate")));
Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate")));
if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) ||
(sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){
return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do");
}
}catch(ParseException e){
log.error("CHECK ERROR:",e);
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") ||
SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){
return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl")));
}
String siteMenuManager = "N";
StringBuffer siteMenuManagerIdx = new StringBuffer();
String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N");
List<Map<Object, Object>> siteMenuManagerList =
managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"});
for(int i=0; i<siteMenuManagerList.size(); i++){
Map<Object, Object> tSiteMenuManagerDB = siteMenuManagerList.get(i);
if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){
if(!memberIdx.equals(0) &&
memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) &&
siteMenuManager.equals("N")){
siteMenuManager = "Y";
}
siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString());
siteMenuManagerIdx.append(",");
}
}
if(memberGrant.equals("S") || memberAuthM){
siteMenuManager = "Y";
}
//편집 권한
map.put("siteMenuManager", siteMenuManager);
//담당자 보기 설정
map.put("siteMenuCharge", siteMenuCharge);
//담당자 이름
map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString());
//만족도 설정
map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N"));
map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1"))));
String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("", "|") +
" | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName"));
map.put("siteMenuTitle", siteMenuTitle);
//부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){
String[] siteMenuTitles = siteMenuTitle.split("\\|");
tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]);
}
map.put("tSiteMenuDB", tSiteMenuDB);
map.put("memberAuthM", memberAuthM);
map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx));
/*----권한체크 종료----*/
/*
String menuName = "";
if(boardIdx.equals("402")){
menuName = "공정거래";
}else if(boardIdx.equals("403")){
menuName = "가맹사업거래";
}else if(boardIdx.equals("404")){
menuName = "하도급거래";
}else if(boardIdx.equals("405")){
menuName = "대규모유통업거래";
}else if(boardIdx.equals("406")){
menuName = "불공정약관";
}else if(boardIdx.equals("407")){
menuName = "대리점거래";
}
*/
paramMap.put("dataIdx", paramMap.get("examNo"));
SeedDbUtilsSupport seeDbUtilsSupport = new SeedDbUtilsSupport();
service2.cntUpdate(paramMap);
Map<String, Object> bbsInfoView = service2.boardView(paramMap);
//여기로 자리 이동
String titleName = bbsInfoView.get("EXAM_ID").toString();
String menuName = "";
if(titleName.equals("402")){
menuName = "공정거래";
}else if(titleName.equals("403")){
menuName = "가맹사업거래";
}else if(titleName.equals("404")){
menuName = "하도급거래";
}else if(titleName.equals("405")){
menuName = "대규모유통업거래";
}else if(titleName.equals("406")){
menuName = "불공정약관";
}else if(titleName.equals("407")){
menuName = "대리점거래";
}
session.setAttribute("menuName", menuName);
bbsInfoView.put("EXAM_CONT", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT")));
bbsInfoView.put("EXAM_CONT2", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT2")));
bbsInfoView.put("EXAM_CONT3", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT3")));
bbsInfoView.put("EXAM_CONT4", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT4")));
map.addAttribute("bbsView", bbsInfoView);
map.addAttribute("boardIdx", boardIdx);
map.addAttribute("fileList", fileService.fileList(paramMap));
//2024-09-25 추가
map.addAttribute("siteMenuIdx", siteMenuIdx);
return new ModelAndView("/_extra/web/user/exam/examDetail");
}
}

View File

@ -0,0 +1,260 @@
package seed.home;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.ibm.icu.text.SimpleDateFormat;
import seed.admin.errorlogs.service.AdminErrorLogsService;
import seed.admin.member.service.AdminMemberService;
import seed.admin.site.service.AdminSiteService;
import seed.admin.statistics.service.AdminStatisticsService;
import seed.manager.bbs.service.ManagerBbsDataService;
import seed.manager.group.service.ManagerGroupService;
import seed.manager.member.service.ManagerMemberService;
import seed.manager.site.service.ManagerSiteManagerService;
import seed.manager.site.service.ManagerSiteMenuAuthService;
import seed.manager.site.service.ManagerSiteMenuManagerService;
import seed.manager.site.service.ManagerSiteMenuService;
import seed.manager.site.service.ManagerSiteService;
import seed.manager.statistics.service.ManagerStatisticsService;
import seed.utils.FairnetUtils;
import seed.utils.SeedUtils;
@Controller
public class WebHomeController {
private Logger log = Logger.getLogger(this.getClass());
@Autowired
private AdminSiteService adminSiteService;
@Autowired
private AdminStatisticsService adminStatisticsService;
@Autowired
private AdminMemberService adminMemberService;
@Autowired
private AdminErrorLogsService adminErrorLogsService;
@Autowired
private ManagerSiteService managerSiteService;
@Autowired
private ManagerSiteMenuService managerSiteMenuService;
@Autowired
private ManagerSiteManagerService managerSiteManagerService;
@Autowired
private ManagerSiteMenuManagerService managerSiteMenuManagerService;
@Autowired
private ManagerSiteMenuAuthService managerSiteMenuAuthService;
@Autowired
private ManagerMemberService managerMemberService;
@Autowired
private ManagerGroupService managerGroupService;
@Autowired
private ManagerBbsDataService managerBbsDataService;
@Autowired
private ManagerStatisticsService managerStatisticsService;
@Value("#{config['root.path']}")
private String rootPath;
@Value("#{config['was.log.path']}")
private String wasLogPath;
@Value("#{config['member.merge']}")
private String memberMerge;
@Value("#{config['member.merge.siteIdx']}")
private String memberMergeSiteIdx;
private void setSessionRemove(HttpSession session){
session.removeAttribute("memberIdx");
session.removeAttribute("memberId");
session.removeAttribute("memberName");
session.removeAttribute("memberDept");
session.removeAttribute("memberPosition");
session.removeAttribute("memberTel");
session.removeAttribute("memberPhone");
session.removeAttribute("memberEmail1");
session.removeAttribute("memberEmail2");
session.removeAttribute("memberGrant");
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
private void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
@RequestMapping(value = "/web/{siteIdx}/subIndex/{siteMenuIdx}.do")
public ModelAndView setSubIndex(HttpSession session, Map<String, Object> map,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
setSessionMessageRemove(session);
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx);
//메뉴 권한설정
/*
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth &&
!managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
map.put("message", "common.message.no.grant");
if(memberIdx.equals(0)){
map.put("url", "/"+siteIdx+"/index.do");
}else{
map.put("self", "history");
}
return new ModelAndView("/_common/jsp/umessage");
}
*/
boolean b_ret = true;
b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map);
if (!b_ret) {
return new ModelAndView("/_common/jsp/message");
}
Map<Object, Object> tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx,
new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS",
"siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1",
"tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"});
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){
if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){
map.put("message", "common.message.no.siteMenu");
map.put("self", "history");
return new ModelAndView("/_common/jsp/umessage");
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try{
Date getDate = new Date();
Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate")));
Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate")));
if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) ||
(sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){
return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do");
}
}catch(ParseException e){
log.error("CHECK ERROR:",e);
}
}
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") ||
SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){
return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl")));
}
String siteMenuManager = "N";
StringBuffer siteMenuManagerIdx = new StringBuffer();
String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N");
List<Map<Object, Object>> siteMenuManagerList =
managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"});
for(int i=0; i<siteMenuManagerList.size(); i++){
Map<Object, Object> tSiteMenuManagerDB = siteMenuManagerList.get(i);
if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){
if(!memberIdx.equals(0) &&
memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) &&
siteMenuManager.equals("N")){
siteMenuManager = "Y";
}
siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString());
siteMenuManagerIdx.append(",");
}
}
if(memberGrant.equals("S") || memberAuthM){
siteMenuManager = "Y";
}
//편집 권한
map.put("siteMenuManager", siteMenuManager);
//담당자 보기 설정
map.put("siteMenuCharge", siteMenuCharge);
//담당자 이름
map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString());
//만족도 설정
map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N"));
map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1"))));
String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("", "|") +
" | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName"));
map.put("siteMenuTitle", siteMenuTitle);
//부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴
if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){
String[] siteMenuTitles = siteMenuTitle.split("\\|");
tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]);
}
map.put("tSiteMenuDB", tSiteMenuDB);
map.put("memberAuthM", memberAuthM);
map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx));
return new ModelAndView("/web/user/index/subIndex");
}
@RequestMapping(value = "/web/{siteIdx}/{siteMenuIdx}/content.do")
public ModelAndView getContent(HttpSession session, Map<String, Object> map,
@PathVariable(value="siteIdx") String siteIdx,
@PathVariable(value="siteMenuIdx") Integer siteMenuIdx){
return new ModelAndView("/web/site/"+siteIdx+"/jsp/content/"+managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, new String[] {"siteMenuIdxs"}).get("_siteMenuIdxs"));
}
}

View File

@ -18,6 +18,7 @@ public class FairnetUtils {
boolean b_ret = true;
//기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것
//egov 권한으로 대체 예정
/*
try {
if(p_memberIdx == 0 || (!p_memberGrant.equals("S") && !p_memberAuth)){
@ -35,5 +36,39 @@ public class FairnetUtils {
return b_ret;
}
public static boolean hasUserAuth(
int p_memberIdx
, String p_memberGrant
, boolean p_memberAuth
, HttpSession p_session
, Map<String, Object> p_map
) {
boolean b_ret = true;
//기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것
//egov 권한으로 대체 예정
/*
try {
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
map.put("message", "common.message.no.grant");
if(memberIdx.equals(0)){
map.put("url", "/"+siteIdx+"/index.do");
}else{
map.put("self", "history");
}
//return new ModelAndView("/_common/jsp/umessage");
b_ret = false;
}
}catch(Exception ex) {
ex.printStackTrace();
}
*/
return b_ret;
}
}

View File

@ -0,0 +1,193 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
});
function moveFunc(type){
if(type == "edit"){
$("#moveFrm").attr("action", "/gtm/case/exam/${boardIdx}/edit.do");
$("#moveFrm").submit();
}else if(type == "list"){
$("#examNo").remove();
$("#fileFuncType").remove();
$("#moveFrm").attr("action", "/gtm/case/exam/${boardIdx}/list.do");
$("#moveFrm").attr("action", "/gtm/case/exam/${boardIdx}/list.do");
$("#moveFrm").attr("action", "/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examList.do");
$("#moveFrm").attr("action", "/web/user/exam/case/${boardIdx}/${siteMenuIdx}/exam${boardIdx}List.do");
$("#moveFrm").submit();
}else if(type == "del"){
if(confirm("정말 삭제 하시겠습니까?")){
$("#moveFrm").attr("action", "/gtm/case/exam/${boardIdx}/bbsDel.do");
$("#moveFrm").submit();
}
}
}
</script>
<form action="" method="get" id="moveFrm">
<input type="hidden" name="examNo" id="examNo" value="${param.examNo}">
<input type="hidden" name="searchType" value="${param.searchType }">
<input type="hidden" name="searchTilte" value="${param.searchTilte }">
<input type="hidden" name="page" id="page" value="${param.page }">
<input type="hidden" name="fileFuncType" id="fileFuncType" value="exam">
</form>
<div class="sub_content">
<!-- page_location -->
<ul class="page_location">
<li><i class="icon home"></i></li>
<li>분쟁조정 안내</li>
<li>분쟁조정 안내</li>
<li>분쟁조정 관련 서식</li>
</ul>
<!-- //page_location -->
<h3 class="sub_con_tit">분쟁조정 관련 서식</h3>
<p class="sub_con_sub_tit">분쟁조정 신청서(및 작성예시), 위임장, 합의취하서 등 분쟁조정 관련 서식을 제공하고 있습니다. 다운로드 받아 사용하시기 바랍니다.</p>
<div class="list_view">
<div class="list_view_wrap">
<h4 class="list_view_tit">
${bbsView.EXAM_SUBJ}
</h4>
<!--
<ul class="view_info">
<li>
<p class="view_info_tit">· 유형 : </p>
<i class="icon td_type"></i>
${bbsView.EXAM_TYPE}
</li>
<li>
<p class="view_info_tit">· 작성자 : </p>
<i class="icon td_writer"></i>
관리자
</li>
<li>
<p class="view_info_tit">· 작성일 : </p>
<i class="icon td_calendar"></i>
2024-10-25
</li>
<li>
<p class="view_info_tit">· 조회수 : </p>
<i class="icon td_view"></i>
153
</li>
</ul>
-->
<ul class="view_info">
<li>
<p class="view_info_tit">· 유형 : </p>
<i class="icon td_type"></i>
${bbsView.EXAM_TYPE}
</li>
<li>
<p class="view_info_tit">· 결과 : </p>
<i class="icon td_result"></i>
${bbsView.EXAM_RESULT1}<%-- / ${bbsView.EXAM_RESULT2} --%>
</li>
<li>
<p class="view_info_tit">· 작성자 : </p>
<i class="icon td_writer"></i>
${bbsView.EXAM_REGMEM_NM}
</li>
<li>
<p class="view_info_tit">· 작성일 : </p>
<i class="icon td_calendar"></i>
${bbsView.EXAM_REGDATE}
</li>
<li>
<p class="view_info_tit">· 조회수 : </p>
<i class="icon td_view"></i>
${bbsView.EXAM_CNT}
</li>
</ul>
<!--첨부파일이 있는 경우 -->
<c:if test="${not empty fileList}">
<ul class="view_file_list">
<c:forEach items="${fileList}" var="list" varStatus="status">
<li>
<a
href="/seed/extra/down/file.do?dataIdx=${list.EXTRA_FILE_IDX}&funcType=${list.EXTRA_FUNC_TYPE}&pathKey1=${siteIdx}"
download="download"
><i class="icon file_download"></i>${list.EXTRA_FILE_NAME}</a>
</li>
</c:forEach>
<!--
<li><a href="#" download="download"><i class="icon file_download"></i>대규모유통업거래분야 분쟁 예방 체크리스트(대규모유통업자).pdf</a></li>
<li><a href="#" download="download"><i class="icon file_download"></i>대규모유통업거래분야 분쟁 예방 체크리스트(대규모유통업자).pdf</a></li>
-->
</ul>
</c:if>
<div class="view_content case_content">
<div class="view_top">
<b class="title depth02">사례 상세보기</b>
<ul class="input_box">
<li>
<input type="radio" class="radio" name="view_sort" id="view_one" checked><label for="view_one">단건보기</label>
</li>
<li>
<input type="radio" class="radio" name="view_sort" id="view_dozen"><label for="view_dozen">복수건보기</label>
</li>
</ul>
</div>
<ul class="case_step">
<li><button class="btn btn_text btn_45 btn_step active">사건의 개요</button></li>
<li><button class="btn btn_text btn_45 btn_step">분쟁사실 및 당사자 주장</button></li>
<li><button class="btn btn_text btn_45 btn_step">검토</button></li>
<li><button class="btn btn_text btn_45 btn_step">조정결과</button></li>
</ul>
<div class="case_step_wrap">
<b class="title depth02 orange_border round">사건의 개요</b>
<div class="box gray_border">
${bbsView.EXAM_CONT }
<!-- <pre> -->
<%-- <c:out escapeXml='false' value="${bbsView.EXAM_CONT }"></c:out> --%>
<!-- </pre> -->
</div>
</div>
<div class="case_step_wrap hide">
<b class="title depth02 orange_border round">분쟁사실 및 당사자 주장</b>
<div class="box gray_border">
${bbsView.EXAM_CONT2 }
<%-- <c:out escapeXml='false' value="${bbsView.EXAM_CONT2 }"></c:out> --%>
</div>
</div>
<div class="case_step_wrap hide">
<b class="title depth02 orange_border round">검토</b>
<div class="box gray_border">
${bbsView.EXAM_CONT3 }
</div>
</div>
<div class="case_step_wrap hide">
<b class="title depth02 orange_border round">조정결과</b>
<div class="box gray_border">
${bbsView.EXAM_CONT4 }
</div>
</div>
</div>
<!--
<div class="view_content">
온라인 분쟁조정 신청이 어려우신 경우 활용하시기 바랍니다.
</div>
-->
<div class="btn_wrap right">
<button type="button" class="btn btn_text btn_40 gray_fill" onclick="javascript:moveFunc('list')">목록</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,230 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
});
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/xxx/adjstConciliatorList.do'/>";
listForm.submit();
}
function fncGoDetail(adrSeq, adrSn){
var listForm = document.listForm ;
listForm.adrSeq.value = adrSeq;
listForm.adrSn.value = adrSn;
listForm.action = "<c:url value='/web/xxx/adjstConciliatorDetail.do'/>";
listForm.submit();
}
function goPage(type, param){
if(type == 'view'){
$("#examNo").val(param);
$("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examDetail.do");
$("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/exam${boardIdx}Detail.do");
$("#searchFrm").submit();
}else if(type == 'search'){
$("#page").val("1");
$("#titleName").val($("#searchMenu option:selected").text());
$("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examList.do");
$("#searchFrm").submit();
}else if(type == 'paging'){
$("#page").val(param);
$("#titleName").val($("#searchMenu option:selected").text());
$("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examList.do");
$("#searchFrm").submit();
}
}
</script>
<form id="listForm" name="listForm" method="post" action="">
<input type="hidden" name="pageIndex" value="<c:out value='${xxxVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${xxxVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${xxxVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${xxxVO.searchStatus}" />" />
</form>
<div class="sub_content">
<!-- page_location -->
<ul class="page_location">
<li><i class="icon home"></i></li>
<li>분쟁조정 안내</li>
<li>분쟁조정 안내</li>
<li>분쟁조정 관련 서식</li>
</ul>
<!-- //page_location -->
<h3 class="sub_con_tit">분쟁조정 관련 서식</h3>
<p class="sub_con_sub_tit">분쟁조정 신청서(및 작성예시), 위임장, 합의취하서 등 분쟁조정 관련 서식을 제공하고 있습니다. 다운로드 받아 사용하시기 바랍니다.</p>
<!-- search -->
<form name="searchFrm" id="searchFrm" action="" method="get">
<input type="hidden" name="examNo" id="examNo" value="">
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
<input type="hidden" name="titleName" id="titleName" value="">
<input type="hidden" name="fileFuncType" id="fileFuncType" value="exam">
<div class="search_wrap">
<select name="search_category" id="" title="검색유형 선택" class="select">
<option value="search_category01">전체유형</option>
<option value="search_category02">공정거래분쟁조정협의회</option>
<option value="search_category03">가맹사업거래분쟁조정협의회</option>
<option value="search_category04">하도급거래분쟁조정협의회</option>
<option value="search_category05">대규모유통업거래협의회</option>
<option value="search_category06">약관분쟁조정협의회</option>
<option value="search_category07">대리점분쟁조정협의회</option>
</select>
<select name="search_type" id="" title="검색조건 선택" class="select">
<option value="search_type01">제목</option>
<option value="search_type02">내용</option>
</select>
<input type="text" class="input_text" title="검색어 입력">
<button type="button" class="btn btn_text btn_40 darkblue_fill btn_search">검색</button>
</div>
</form>
<!-- //search -->
<!-- table -->
<div class="table_top">
<p class="list_total_number">전체 <span class="color_blue">3,581</span>건(<span class="color_blue">10</span>/400 페이지)</p>
</div>
<div class="table_type_cols">
<table>
<colgroup>
<col style="width:68px;">
<col style="width:auto;">
<col style="width:auto;">
<col style="width:auto;">
<col style="width:auto;">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>유형</th>
<th>제목</th>
<th>등록일시</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${empty bbsList}">
<tr class="tr_list_none">
<td colspan="5" class="list_none">등록된 데이터가 없습니다.</td>
</tr>
</c:when>
</c:choose>
<c:forEach var="xxxList" items="${bbsList}" varStatus="status">
<tr>
<td class="table_number">
${xxxList.EXAM_NO}
</td>
<td>
${xxxList.EXAM_TYPE}
</td>
<td class="td_title">
<a href="javascript:goPage('view', '${xxxList.EXAM_NO}');"class="list_title">
${xxxList.EXAM_SUBJ}
</a>
</td>
<td>
${xxxList.EXAM_REGDATE}
</td>
<td>
<!-- 각 퍼블리싱 파일마다 아이콘 확인해서 작성 -->
<i class="icon td_view hide td_icon"></i>
${xxxList.EXAM_CNT}
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- //table -->
<ul class="page">
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="linkPage" /> --%>
<!-- 페이징 -->
<div class="pager tal_c mgt30">
<a href="javascript:goPage('paging', '1')" class="pre2">처음페이지</a>
<c:choose>
<c:when test="${pageMaker.prev}">
<a href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" class="pre1">이전페이지</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${pageMaker.cri.page}')" class="pre1">이전페이지</a>
</c:otherwise>
</c:choose>
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
<c:choose>
<c:when test="${idx == pageMaker.cri.page }">
<a href="javascript:goPage('paging', '${idx}')" class="p_num p_num_on">${idx}</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${idx}')" class="p_num">${idx}</a>
</c:otherwise>
</c:choose>
</c:forEach>
<c:choose>
<c:when test="${pageMaker.next}">
<a href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" class="post1">다음페이지</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${pageMaker.cri.page}')" class="post1">다음페이지</a>
</c:otherwise>
</c:choose>
<a href="javascript:goPage('paging', '${pageMaker.endPage}')" class="post2">마지막페이지</a>
</div>
<!-- 페이징 end-->
</ul>
<!-- 페이징 -->
<div class="pager tal_c mgt30">
<a href="javascript:goPage('paging', '1')" class="pre2">처음페이지</a>
<c:choose>
<c:when test="${pageMaker.prev}">
<a href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" class="pre1">이전페이지</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${pageMaker.cri.page}')" class="pre1">이전페이지</a>
</c:otherwise>
</c:choose>
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
<c:choose>
<c:when test="${idx == pageMaker.cri.page }">
<a href="javascript:goPage('paging', '${idx}')" class="p_num p_num_on">${idx}</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${idx}')" class="p_num">${idx}</a>
</c:otherwise>
</c:choose>
</c:forEach>
<c:choose>
<c:when test="${pageMaker.next}">
<a href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" class="post1">다음페이지</a>
</c:when>
<c:otherwise>
<a href="javascript:goPage('paging', '${pageMaker.cri.page}')" class="post1">다음페이지</a>
</c:otherwise>
</c:choose>
<a href="javascript:goPage('paging', '${pageMaker.endPage}')" class="post2">마지막페이지</a>
</div>
<!-- 페이징 end-->
</div>

View File

@ -0,0 +1,11 @@
<%@ page language='java' contentType='text/html; charset=UTF-8'%>
<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>
<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/functions' prefix='fn'%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>
<div class="alertPop">
<div class="innerAlertPop">
<p id="message"></p>
</div>
</div>

View File

@ -0,0 +1,180 @@
<%@ page language='java' contentType='text/html; charset=UTF-8'%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>
<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>한국공정거래조정원 온라인분쟁조정시스템 > 분쟁조정 안내 > 분쟁조정 안내 > 분쟁조정 제도</title>
<!-- css -->
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/style.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/info.css">
<!-- js -->
<script src="/kofair_case_seed/script/lib/jquery-3.5.0.js"></script>
<script src="/kofair_case_seed/usr/scripts/common.js"></script>
<script src="/kofair_case_seed/usr/scripts/layout.js"></script>
<script src="/kofair_case_seed/usr/scripts/ui.js"></script>
<script src="/kofair_case_seed/usr/scripts/info.js"></script>
</head>
<div class="sub_content apl_info_content">
<!-- page_location -->
<ul class="page_location">
<li><i class="icon home"></i></li>
<li>분쟁조정 안내</li>
<li>분쟁조정 제도</li>
</ul>
<!-- //page_location -->
<h3 class="sub_con_tit">분쟁조정 제도</h3>
<p class="sub_con_sub_tit">분쟁조정 제도에 대하여 알려드립니다.</p>
<ul class="tabs tab_03 blue_fill mb40">
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'0')" class="tab active">공정거래 분쟁조정 신청</button></li>
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'1')" class="tab">가맹사업거래 분쟁조정신청</button></li>
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'2')" class="tab">하도급 분쟁조정신청</button></li>
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'3')" class="tab">대규모유통업거래 분쟁조정신청</button></li>
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'4')" class="tab">약관 분쟁조정신청</button></li>
<li><button type="button" onclick="pblEvt.tab(this,'active','ul',$('.tab'),'5')" class="tab">대리점 분쟁조정 신청</button></li>
</ul>
<div class="tab_contents system_info active">
<p class="title depth01 orange_border blue_border">공정거래 분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 공정거래분쟁조정협의회 설치이유</dt>
<dd>공정거래분쟁조정협의회는 불공정거래행위로 발생한 사업자간 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2008년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 공정거래분쟁조정협의회 구성</dt>
<dd>공정거래분쟁조정협의회는 교수, 법조인 등 공정거래 분야의 전문가로서 공정거래위원회 위원장이 임명 또는 위촉한 7인의 위원으로 구성되고, 위원의 임기는 3년이며 연임할 수 있습니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>
공정거래분쟁조정협의회의 분쟁조정 대상은 사업자 간에 발생한 분쟁 중 공정거래법 제45조(불공정거래행위의 금지) 제1항을 위반한 혐의가 있는 행위로서, ① 단독의 거래거절, ② 차별적 취급, ③ 경쟁사업자 배제, ④ 부당한 고객유인, ⑤ 거래강제, ⑥ 거래상 지위의 남용, ⑦ 구속조건부거래, ⑧ 사업활동 방해 등에 해당하는 행위입니다.
<span class="color_666">
※ 불공정거래행위 중 조정신청 제외 대상 다음 행위는 행위의 내용ㆍ성격 및 정도 등을 고려할 때 공정거래위원회에서 시정조치 또는 시정권고를 통하여 처리하는 것이 적합하므로 공정거래분쟁조정협의회의 분쟁조정신청 대상에서 제외되어 있습니다.
<br>- 부당한 지원 행위
</span>
</dd>
</dl>
</div>
<div class="tab_contents system_info">
<p class="title depth01 orange_border blue_border">가맹사업거래분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 가맹사업거래분쟁조정협의회 설치이유</dt>
<dd>가맹사업거래분쟁조정협의회는 불공정거래행위로 발생한 가맹본부와 가맹사업자간 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2008년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 가맹사업거래분쟁조정협의회 구성</dt>
<dd>가맹사업거래분쟁조정협의회는 공익을 대표하는 위원 3명과 가맹본부의 이익을 대표하는 위원 3명, 가맹점사업자의 이익을 대표하는 위원 3명 등 모두 9명으로 구성되고, 위원은 조정원의 장이 추천하고 공정거래위원회 위원장이 임명 또는 위촉합니다. 위원의 임기는 3년이며 협의회 위원장은 공익을 대표하는 위원 중에서 공정거래위원회 위원장이 위촉합니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>
가맹본부의 허위 과장된 정보제공, 부당한 계약해지 및 종료, 영업지역의 침해 등 가맹사업과 관련한 분쟁</dd>
</dl>
</div>
<div class="tab_contents system_info">
<p class="title depth01 orange_border blue_border">하도급거래분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 하도급거래분쟁조정협의회 설치이유</dt>
<dd>하도급거래분쟁조정협의회는 불공정거래행위로 발생한 원사업자와 수급사업자간 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2011년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 하도급거래분쟁조정협의회 구성</dt>
<dd>하도급거래분쟁조정협의회는 공익을 대표하는 위원 3명, 원사업자를 대표하는 위원 3명, 수급사업자를 대표하는 위원 3명 등 모두 9명으로 구성되어 있으며, 위원은 공정거래위원회 위원장이 위촉하며, 임기는 2년입니다. 협의회 위원장은 공익을 대표하는 위원 중에서 협의회가 선출합니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>하도급대금 미지급, 부당감액, 어음할인료 미지급, 부당한 발주취소, 수령거부 등 하도급거래에서 발생한 분쟁</dd>
</dl>
</div>
<div class="tab_contents system_info">
<p class="title depth01 orange_border blue_border">대규모유통업거래분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 대규모유통업거래 분쟁조정협의회 설치이유</dt>
<dd>대규모유통업거래 분쟁조정협의회는 불공정거래행위로 발생한 대규모유통업자와 납품업자 등 사이의 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2012년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 대규모유통업거래 분쟁조정협의회 구성</dt>
<dd>대규모유통업거래 분쟁조정협의회는 공익을 대표하는 위원 3명, 대규모유통업자를 대표하는 위원 3명, 납품업자를 대표하는 위원 3명 등 모두 9명으로 구성되고, 위원 및 위원장은 공정거래위원회 위원장이 임명 또는 위촉합니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>서면 계약서 미교부, 상품대금의 미지급, 판촉비용 부담의 전가, 계약기간 중 계약조건의 변경 등 대규모유통업자와 납품업자등 사이의 분쟁</dd>
</dl>
</div>
<div class="tab_contents system_info">
<p class="title depth01 orange_border blue_border">약관분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 약관분쟁조정협의회 설치이유</dt>
<dd>약관 분쟁조정협의회는 불공정약관으로 발생한 사업자와 고객(소비자기본법에 따른 소비자 제외) 사이의 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2012년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 약관분쟁조정협의회 구성</dt>
<dd>약관 분쟁조정협의회는 교수, 법조인 등 약관규제 및 소비자 분야의 전문가로서 공정거래위원회 위원장이 위촉하는 9인의 위원으로 구성되고, 위원의 임기는 3년이며 연임할 수 있습니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>
고객의 해제권을 배제·제한하는 등 약관의 내용이 약관규제법 제17조를 위반한 약관 또는 이와 법률상 쟁점에 있어 공통되는 약관으로 인한 분쟁
<span class="color_666">
※ 조정신청 제외 대상
<br>- 조정신청이 있기 전에 공정거래위원회가 조사 중인 사건
<br>- 조정신청의 내용이 약관의 해석이나 그 이행을 요구하는 사건
<br>- 약관의 무효판정을 요구하는 사건
<br>- 해당 분쟁조정사항에 대하여 법원에 소를 제기한 사건
<br>- 분쟁해결이나 피해보상에 관한 합의가 이루어진 사건
<br>- 「중재법」에 따라 중재가 진행 중이거나 신청된 사건
<br>- 불공정 약관으로 피해를 입은 고객이 '소비자기본법'에 따른 소비자인 사건
</span>
</dd>
<dt class="title depth02">4. 집단분쟁조정 절차</dt>
<dd>불공정약관으로 인한 피해가 같거나 비슷한 유형으로 발생한 고객(「소비자기본법」에 따른 소비자는 제외)의 수가 20명 이상일 경우, 협의회는 효과적인 피해구제를 위하여 집단분쟁조정을 실시할 수 있습니다.</dd>
</dl>
</div>
<div class="tab_contents system_info">
<p class="title depth01 orange_border blue_border">대리점 분쟁조정</p>
<dl class="system_dl">
<dt class="title depth02">1. 대리점분쟁조정협의회 설치이유</dt>
<dd>대리점분쟁조정협의회는 불공정거래행위로 발생한 공급업자와 대리점간 분쟁을 조정하기 위하여 설치되었으며, 우리 원은 2017년부터 이를 운영하고 있습니다.</dd>
<dt class="title depth02">2. 대리점분쟁조정협의회 구성</dt>
<dd>대리점분쟁조정협의회는 공익을 대표하는 위원 3명과 공급업자의 이익을 대표하는 위원 3명, 대리점의 이익을 대표하는 위원 3명 등 모두 9명으로 구성되고, 위원은 조정원의 장이 추천하고 공정거래위원회 위원장이 임명 또는 위촉합니다. 위원의 임기는 3년이며 협의회 위원장은 공익을 대표하는 위원 중에서 공정거래위원회 위원장이 임명 또는 위촉합니다.</dd>
<dt class="title depth02">3. 조정의 대상</dt>
<dd>대리점거래 계약서 미제공 구입 강제, 경제상 이익 제공 강요, 판매목표 강제, 경영활동 간섭, 주문내역의 확인요청 거부 또는 회피 등 대리점거래에서 발생한 분쟁</dd>
</dl>
<p class="title depth02">[분쟁조정 신청]</p>
<ul>
<li>· 대리점 분쟁조정 대상이 되는 거래 유형</li>
<li>· 대리점거래의 분쟁에 관한 사항</li>
<li><b>· 대리점 거래 : </b>공급업자와 대리점 사이에 상품 또는 용역의 재판매 또는 위탁판매를 위하여 행하여지는 거래로서 일정 기간 지속되는 계약을 체결하여 반복적으로 행하여지는 거래</li>
<li><b>· 공급업자 : </b>생산 또는 구매한 상품 또는 용역을 대리점에게 공급하는 사업자</li>
<li><b>· 대리점 : </b>공급업자로부터 상품 또는 용역을 공급받아 불특정다수의 소매업자 또는 소비자에게 재판매 또는 위탁판매 하는 사업자 </li>
<li>
<b>· 적용제외</b>
<ul class="sub_info_ul">
<li>공급업자가 중소기업자(「중소기업기본법」 제2조제1항 또는 제3항에 따른 자를 말하며, 「중소기업협동조합법」 제3조제1항에 따른 중소기업협동조합을 포함한다. 이하 같다)에 해당하는 경우</li>
<li>대리점이 중소기업자에 해당하지 아니하는 경우</li>
<li>공급업자가 대리점에 대하여 거래상 우월한 지위를 가지고 있다고 인정되지 아니하는 경우</li>
<li>다음 각 호의 어느 하나에 해당하는 거래
<ul class="sub_info_ul">
<li class="color_666">「가맹사업거래의 공정화에 관한 법률」 제2조 제1호에서 정하는 가맹사업에 해당하는 거래</li>
<li class="color_666">「자본시장과 금융투자업에 관한 법률」 제6조 제1항에서 정하는 금융투자업에 해당하는 거래</li>
<li class="color_666">「대규모유통업에서의 거래 공정화에 관한 법률」 제2호에서 정하는 대규모유통업자와 납품업 자 등 사이의 거래</li>
<li class="color_666">그 밖에 거래의 성격 및 대리점의 보호 필요성 등을 고려하여 대리점거래에서 제외할 필요 가 있는 것으로서 대통령령으로 정하는 거래</li>
</ul>
</li>
</ul>
</li>
<li>
<b>· 분쟁조정 대상이 되는 공급업자의 행위</b>
<ul class="sub_info_ul">
<li>대리점과 계약을 체결한 즉시 공급업자가 대리점계약서를 제공하지 않은 경우</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 대리점이 구입할 의사가 없는 상품 또는 용역을 구입하도록 강제하는 행위</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 대리점에게 자기를 위하여 금전ㆍ물품ㆍ용역, 그 밖의 경제상 이익을 제공하도록 강요하는 행위</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 자기가 공급하는 상품 또는 용역과 관련하여 대리점에게 거래에 관한 목표를 제시하고 이를 달성하도록 강제하는 행위</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 위에 해당하는 행위 외의 방법으로 대리점에게 불이익이 되도록 거래조건을 설정 또는 변경하거나 그 이행과정에서 불이익을 주는 행위</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 대리점의 경영활동을 간섭하는 행위</li>
<li>공급업자가 자기의 거래상의 지위를 부당하게 이용하여 대리점이 청약 또는 구입의사를 표시한 제품, 수량 등 주문내역의 정당한 확인요청에 대하여 이를 거부 또는 회피하는 행위</li>
<li>공급업자가 분쟁조정신청, 공정거래위원회 신고 등의 행위를 한 대리점에게 그 행위를 한 것을 이유로 거래의 정지 또는 물량의 축소, 그 밖에 불이익을 주는 행위</li>
</ul>
</li>
</ul>
<p class="title depth02">[분쟁조정신청서 작성 방법 중 대리점거래 해당 유형]</p>
<ul>
<li>· 대리점거래 계약서 미제공 구입 강제, 경제상 이익 제공 강요, 판매목표 강제, 경영활동 간섭, 주문내역의 확인요청 거부 또는 회피 등 대리점거래에서 발생한 분쟁</li>
<li><b>· 적용제외 : </b>공급업자가 중소기업자에 해당하거나 대리점이 중소기업자에 해당하지 아니하는 경우, 공급업자가 대리점에 대하여 거래상 우월한 지위를 가지고 있다고 인정되지 아니하는 경우, 가맹사업ㆍ금융투자업ㆍ대규모유통업에 해당하는 거래 등은 제외</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,101 @@
<%@ page language='java' contentType='text/html; charset=UTF-8'%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>
<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>한국공정거래조정원 온라인분쟁조정시스템 > 분쟁조정 안내 > 분쟁조정 안내 > 분쟁조정 제도</title>
<!-- css -->
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/style.css">
<link rel="stylesheet" href="/kofair_case_seed/usr/style/info.css">
<!-- js -->
<script src="/kofair_case_seed/script/lib/jquery-3.5.0.js"></script>
<script src="/kofair_case_seed/usr/scripts/common.js"></script>
<script src="/kofair_case_seed/usr/scripts/layout.js"></script>
<script src="/kofair_case_seed/usr/scripts/ui.js"></script>
<script src="/kofair_case_seed/usr/scripts/info.js"></script>
</head>
<div class="sub_content process_content">
<!-- page_location -->
<ul class="page_location">
<li><i class="icon home"></i></li>
<li>분쟁조정 안내</li>
<li>분쟁조정 안내</li>
<li>분쟁조정 절차</li>
</ul>
<!-- //page_location -->
<h3 class="sub_con_tit">분쟁조정 절차</h3>
<p class="sub_con_sub_tit">분쟁조정 절차에 대해 안내해 드립니다.</p>
<b class="title orange_border blue_border">분쟁조정 단계별 절차 안내</b>
<div class="box gray_border">
<img src="/kofair_case_seed/usr/images/info/img_process_01.png" alt="1. 직접신청 / 조정의뢰(공정위) 다음 2. 한국공정거래조정원 사건 접수 다음 3. 사실관계 확인 다음 4. 분쟁조정협의회 다음 4-1. 조정안제시 의결 (수락시) 조정성립 (불수락 시) 조정 불성립 4-2. 조정절차 종료 의결 - 조정 성립, 조정불성립, 종결* 다음 4-2-1. 분쟁조정 종료 다음 4-2-2 공정거래위원회 보고 및 당사자 종료사실 통지**">
<ul class="info_ul">
<li><span class="color_red">* </span>취하, 소제기, 각하, 조정안 미제시 등 법령 등에 의하여 조정절차를 종료한 경우</li>
<li><span class="color_red">** </span>조정이 성립되지 않은 경우, 피신청인의 관련 법률 위반 여부를 확인하고 싶은 신청인은 조정원의 통지 공문 내용에 따라 공정거래위원회에 신고서 제출</li>
</ul>
</div>
<dl class="info_ul text">
<dt><b class="title depth02">1. 신청서 접수</b></dt>
<dd>
우리 원은 온라인 분쟁조정시스템을 통해 조정신청을 접수합니다.<br>(다만 시스템 이용에 어려움이 있어 방문접수 또는 우편접수를 원하시는 경우 우리 원 대표번호(1588-1490)로 문의하여 주시기 바랍니다.)
<p class="color_brown">※ 신청서 작성 시 유의사항</p>
<ul class="sub_info_ul color_brown">
<li>양 당사자 연락처를 정확히 기재바랍니다.</li>
<li>사안이 다양할 경우 피해금액이 큰 주장 위주로 작성해 주시기 바랍니다.</li>
</ul>
</dd>
<dt><b class="title depth02">2. 양당사자 접수통지</b></dt>
<dd>
사건 접수 후 담당 조사관이 등기우편으로 양 당사자에게 접수사실 및 자료 요청을 공문으로 통지해 드립니다. 단, 접수과정에서 우리 원의 조정대상에 해당하지 않는 경우 조정절차가 종료될 수 있습니다.
</dd>
<dt><b class="title depth02">3. 자료제출</b></dt>
<dd>양당사자는 기한 내에 분쟁 관련 자료(보완서, 답변서, 일반현황표)를 제출해야 하며, 당사자가 2회 이상 자료제출 요청에 불응하면 분쟁조정 절차가 불성립 될 수 있습니다.
<br>(일반현황표는 양당사자의 거래관계 및 분쟁조정 대상 여부검토에 활용됩니다.)</dd>
<dt><b class="title depth02">4. 사실관계 조사</b></dt>
<dd>양 당사자가 제출한 자료들의 검토를 검쳐 본격적인 조정절차가 진행됩니다. 필요한 경우 당사자들에게 출석을 요구할 수 있으며, 조정절차 중 당사자가 직접 합의하여 조정이 종료될 수 있습니다. 반면 자료제출 또는 출석요구 등 조사과정에 2회 이상 참여하지 않는 경우 조정절차가 불성립 될 수 있습니다.</dd>
<dt><b class="title depth02">5. 협의회 개최 및 의결</b></dt>
<dd>사실관계 조사 등을 거친 모든 분쟁사건은 분쟁조정협의회에 상정되어 심의절차를 거치게 됩니다. 이 과정에서 필요한 경우 분쟁조정협의회에 분쟁당사자가 참여하여 의견을 진술하는 경우도 있으며, 분쟁조정협의회의 심의를 통해 조정절차 종료 등 여부를 최종 의결하면 사실상 조정절차가 종료됩니다. (협의회 의결 후 분쟁당사자 분들에게 종료 여부 등이 통지되며, 본 시스템 등을 통해 확인하실 수 있습니다.)</dd>
</dl>
<b class="title orange_border blue_border">집단분쟁조정(약관) 및 주요 절차 안내</b>
<div class="box gray_border gray_fill terms_info">
<b class="title depth02">약관 집단 분쟁조정</b>
<p>공정거래위원회, 고객 또는 사업자는 「약관의 규제에 따른 법률(이하, ‘약관법’이라 합니다)」 제28조에 따라, 조정이 성립된 사항과 같거나 비슷한 유형의 피해가 다수 고객에게 발생할 가능성이 높다고 판단한 경우로서, 대통령령으로 정하는 사건에 대하여는 약관분쟁조정협의회에 일괄적인 분쟁조정을 의뢰하거나 신청할 수 있습니다(약관법 제28조의2).</p>
</div>
<div class="box gray_border">
<img src="/kofair_case_seed/usr/images/info/img_process_02.png" alt="1. 직접신청 / 조정의뢰(공정위) 다음 2. 분쟁조정협의회 절차개시의결 다음 3. 집단분쟁조정절차 게시공고(일간지, 홈페이지 등 14일 이상) - 추가당사자 접수 /- 대표당사자 선임 / - 당사자 제외 다음 4. 분쟁조정협의회 다음 4-1. 조정안제시 의결 (수락시) 조정성립 - 보상계획 제출 권고 (안될경우 다시 분쟁조정협의회) (불수락 시) 조정 불성립 4-2. 조정절차 종료 의결 - 조정성립, 조정불성립, 종결 - 분쟁조정 종료 - 공정거래위원회 보고 및 당사자 종료사실 통지">
</div>
<dl class="info_ul text">
<dt><b class="title depth02">1. 집단분쟁조정 신청(약관법 제28조의2 제1항)</b></dt>
<dd>
공정거래위원회, 고객(「소비자기본법」 제2조 제1호에 따른 소비자 제외), 사업자는 약관분쟁조정협의회에 서면으로 집단분쟁조정을 의뢰 또는 신청할 수 있습니다.
</dd>
<dt><b class="title depth02">2. 분쟁조정협의회 개시의결 및 공고(약관법 제28조의2 제2항)</b></dt>
<dd>
집단분쟁조정을 의뢰받거나 신청받은 협의회는 협의회의 의결로서 집단분쟁조정 절차를 개시할 수 있습니다. 이 경우 협의회는 우리 원 홈페이지 및 일간신문에 14일 이상 그 절차의 개시를 공고합니다.
</dd>
<dt><b class="title depth02">3. 추가당사자 접수(약관법 제28조의2 제3항)</b></dt>
<dd>양당사자는 기한 내에 분쟁 관련 자료(보완서, 답변서, 일반현황표)를 제출해야 하며, 당사자가 2회 이상 자료제출 요청에 불응하면 분쟁조정 절차가 불성립 될 수 있습니다.
<br>(일반현황표는 양당사자의 거래관계 및 분쟁조정 대상 여부검토에 활용됩니다.)</dd>
<dt><b class="title depth02">4. 사실관계 조사</b></dt>
<dd>양 당사자가 제출한 자료들의 검토를 검쳐 본격적인 조정절차가 진행됩니다. 필요한 경우 당사자들에게 출석을 요구할 수 있으며, 조정절차 중 당사자가 직접 합의하여 조정이 종료될 수 있습니다. 반면 자료제출 또는 출석요구 등 조사과정에 2회 이상 참여하지 않는 경우 조정절차가 불성립 될 수 있습니다.</dd>
<dt><b class="title depth02">5. 협의회 개최 및 의결</b></dt>
<dd>사실관계 조사 등을 거친 모든 분쟁사건은 분쟁조정협의회에 상정되어 심의절차를 거치게 됩니다. 이 과정에서 필요한 경우 분쟁조정협의회에 분쟁당사자가 참여하여 의견을 진술하는 경우도 있으며, 분쟁조정협의회의 심의를 통해 조정절차 종료 등 여부를 최종 의결하면 사실상 조정절차가 종료됩니다. (협의회 의결 후 분쟁당사자 분들에게 종료 여부 등이 통지되며, 본 시스템 등을 통해 확인하실 수 있습니다.)</dd>
</dl>
</div>

View File

@ -0,0 +1,13 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="seed.utils.SeedProperties"%>
<%@ page import="seed.utils.SeedUtils"%>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.SimpleDateFormat"%>
<c:import url="/web/${siteIdx}/${siteMenuIdx}/content.do"></c:import>