- 만족도 커밋
- 서면의결서 일단 버튼만 주석 처리
This commit is contained in:
parent
91464bb99c
commit
a3c237ecc2
@ -70,4 +70,8 @@ public interface EgovCmmUseService {
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
|
||||
|
||||
public void updateSatis(SatisVO satisVO) throws Exception;
|
||||
|
||||
public SatisVO selectSatis() throws Exception;
|
||||
}
|
||||
|
||||
27
src/main/java/kcc/com/cmm/service/SatisVO.java
Normal file
27
src/main/java/kcc/com/cmm/service/SatisVO.java
Normal file
@ -0,0 +1,27 @@
|
||||
package kcc.com.cmm.service;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class SatisVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String openYn;
|
||||
private String lastUpdtPnttm;
|
||||
private String lastUpdtId;
|
||||
|
||||
|
||||
}
|
||||
@ -6,6 +6,7 @@ import org.springframework.stereotype.Repository;
|
||||
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.service.CmmnDetailCode;
|
||||
import kcc.com.cmm.service.SatisVO;
|
||||
|
||||
/**
|
||||
* @Class Name : CmmUseDAO.java
|
||||
@ -71,4 +72,12 @@ public class CmmUseDAO extends EgovComAbstractDAO {
|
||||
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) throws Exception {
|
||||
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo);
|
||||
}
|
||||
|
||||
public SatisVO selectSatis() throws Exception {
|
||||
return (SatisVO) select ("cmmUseDAO.selectSatis");
|
||||
}
|
||||
|
||||
public void updateSatis(SatisVO satisVO) throws Exception {
|
||||
update("cmmUseDAO.updateSatis", satisVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.service.CmmnDetailCode;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.SatisVO;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@ -106,4 +107,15 @@ public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements Eg
|
||||
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
|
||||
return cmmUseDAO.selectGroupIdDetail(vo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSatis(SatisVO satisVO) throws Exception {
|
||||
cmmUseDAO.updateSatis(satisVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SatisVO selectSatis() throws Exception {
|
||||
return cmmUseDAO.selectSatis();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ public final class DateUtil {
|
||||
return DateUtil.parseLocalDateTime(source, null);
|
||||
}
|
||||
|
||||
static String format(Date date, String pattern) {
|
||||
public static String format(Date date, String pattern) {
|
||||
if (date == null)
|
||||
return null;
|
||||
|
||||
|
||||
@ -206,6 +206,9 @@ public class MainController {
|
||||
|
||||
@Autowired
|
||||
private ExamBoardService examBoardService;
|
||||
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService egovCmmUseService;
|
||||
|
||||
@RequestMapping(value = "/web/main/mainPage.do")
|
||||
public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception {
|
||||
@ -279,7 +282,8 @@ public class MainController {
|
||||
*/
|
||||
@RequestMapping(value = "/web/com/webCommonFooter.do")
|
||||
public String siteWebCommonFooter(@RequestParam Map<String, Object> commandMap, HttpServletRequest request,
|
||||
ModelMap model) throws Exception {
|
||||
ModelMap model
|
||||
, MenuManageJTreeVO menuManageVO) throws Exception {
|
||||
|
||||
LoginLog loginLog = new LoginLog();
|
||||
if (request.getRequestURI().contains("/web/main/mainPage.do")) { // 사용자 메인
|
||||
@ -364,6 +368,16 @@ public class MainController {
|
||||
|
||||
}
|
||||
// model.addAttribute("loginLog", loginLog);
|
||||
MenuManageVO resultVO = new MenuManageVO();
|
||||
MenuManageVO tempMenuManageVO = new MenuManageVO();
|
||||
tempMenuManageVO.setSearchCondition("Y");
|
||||
setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO);
|
||||
|
||||
model.addAttribute("menuManageVO", menuManageVO);
|
||||
|
||||
model.addAttribute("satisVO", egovCmmUseService.selectSatis());
|
||||
|
||||
|
||||
return "web/com/webCommonFooter";
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package seed.com.gtm.base;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -10,18 +13,24 @@ import org.apache.ibatis.logging.Log;
|
||||
import org.apache.ibatis.logging.LogFactory;
|
||||
import org.json.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
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.RequestMapping;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import kcc.com.cmm.util.DateUtil;
|
||||
import kcc.utill.OzUtill;
|
||||
import seed.com.gtm.base.service.DecisionVO;
|
||||
import seed.com.gtm.code.CodeService;
|
||||
import seed.com.gtm.seedfile.SeedFileService;
|
||||
import seed.com.gtm.service.BaseService;
|
||||
import seed.com.gtm.util.JSPUtil;
|
||||
import seed.utils.SeedConstants;
|
||||
|
||||
|
||||
@Controller
|
||||
@ -1695,6 +1704,153 @@ public class OzReportController {
|
||||
return s_ret;
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "unused", "unchecked" })
|
||||
@RequestMapping("/clip/ozReport/OzDecisionPaper.do")
|
||||
public String OzDecisionPaper(
|
||||
ModelMap model
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
String cfrncNo = request.getParameter("cfrncNo");
|
||||
String memberNo = request.getParameter("memberNo");
|
||||
|
||||
EgovMap params = new EgovMap();
|
||||
params.put("cfrncNo", cfrncNo);
|
||||
|
||||
//기본정보
|
||||
params.put("sql", "trublcfrncmngCfrncmanageSel");
|
||||
Map<String, String> basicMap = bserviceReturnMap(params);
|
||||
|
||||
//심의안건
|
||||
params.put("sql", "trublcfrncmngDlbrtmtrSel");
|
||||
List<Map<String, String>> simList = (List<Map<String, String>>) JSPUtil.fixNull(bservice.list(params));
|
||||
|
||||
//보고안건
|
||||
params.put("sql", "trublcfrncmngEndmtrSel2");
|
||||
List<Map<String, String>> bogoList = (List<Map<String, String>>) JSPUtil.fixNull(bservice.list(params));
|
||||
|
||||
//조정조서안건
|
||||
params.put("sql", "trublcfrncmngEndjosuSel");
|
||||
List<Map<String, String>> jojungList = (List<Map<String, String>>) JSPUtil.fixNull(bservice.list(params));
|
||||
|
||||
//참여위원
|
||||
params.put("sql", "trublcfrncmngCfrncatndncSelOne");
|
||||
params.put("memberNo", memberNo);
|
||||
Map<String, String> uiwonMap = bserviceReturnMap(params);
|
||||
|
||||
DecisionVO decisionVO = new DecisionVO();
|
||||
|
||||
decisionVO.getP1TOP().setP1T1(
|
||||
basicMap.get("conferenceNames")
|
||||
+ " 서면의결서"
|
||||
);
|
||||
decisionVO.getP1TOP().setP1T2(
|
||||
basicMap.get("conferenceNames")
|
||||
+ "에 상정된 안건에 대하여 본인은 다음의 내용과 같이 의사표시를 합니다."
|
||||
);
|
||||
decisionVO.getP1TOP().setP1T3(
|
||||
"(안건 수: "
|
||||
+ simList.size()
|
||||
+ "건)"
|
||||
);
|
||||
decisionVO.getP1TOP().setP1T4(
|
||||
"(안건 수: "
|
||||
+ bogoList.size()
|
||||
+ "건, 성립 "
|
||||
+ mediationBigCnt(bogoList, "성립")
|
||||
+ "건, 불성립 "
|
||||
+ mediationBigCnt(bogoList, "불성립")
|
||||
+ "건, 종결 "
|
||||
+ mediationBigCnt(bogoList, "종결")
|
||||
+ "건)"
|
||||
);
|
||||
//!!!!
|
||||
decisionVO.getP1TOP().setP1T5("기타의견");
|
||||
|
||||
decisionVO.getP1TOP().setP1T6(DateUtil.format(new Date(), "yyyy년 M월 d일"));
|
||||
decisionVO.getP1TOP().setP1T7(uiwonMap.get("memberPosit") + " " + uiwonMap.get("memberName"));
|
||||
|
||||
//!!!!
|
||||
decisionVO.getP1TOP().setP1T8("http://192.168.0.34:8081/uss/ion/pwm/getImage.do?atchFileId=FILE_000000000000240");
|
||||
if(basicMap.get("caseGubun").contains(
|
||||
"0201000000" //공정
|
||||
+ " || 0202000000" // 가맹
|
||||
+ " || 0204000000" // 유통
|
||||
)
|
||||
) {
|
||||
decisionVO.getP1TOP().setP1T9("한국공정거래조정원 분쟁조정1실장 귀하");
|
||||
}else {
|
||||
decisionVO.getP1TOP().setP1T9("한국공정거래조정원 분쟁조정2실장 귀하");
|
||||
}
|
||||
|
||||
//순번 사용
|
||||
AtomicInteger countSim = new AtomicInteger(1);
|
||||
|
||||
simList.stream()
|
||||
.forEach( t -> {
|
||||
DecisionVO.P1M1 p1m1 = new DecisionVO.P1M1();
|
||||
|
||||
p1m1.setP1M1T0(String.valueOf(countSim.getAndIncrement()));
|
||||
p1m1.setP1M1T1(t.get("caseNo"));
|
||||
if("1301000000".equals(t.get("companyGubun"))) {
|
||||
p1m1.setP1M1T2(t.get("companyCeo"));
|
||||
}else {
|
||||
p1m1.setP1M1T2(t.get("applcntCompany"));
|
||||
}
|
||||
if("1301000000".equals(t.get("respondentGubun"))) {
|
||||
p1m1.setP1M1T3(t.get("respondentCeo"));
|
||||
}else {
|
||||
p1m1.setP1M1T3(t.get("respondentCompany"));
|
||||
}
|
||||
p1m1.setP1M1T4("조정안 제시");
|
||||
simResult(p1m1, t);
|
||||
|
||||
decisionVO.getP1M1().add(p1m1);
|
||||
}
|
||||
);
|
||||
|
||||
//순번 초기화
|
||||
countSim.set(1);
|
||||
|
||||
bogoList.stream()
|
||||
.forEach( t -> {
|
||||
DecisionVO.P1M2 p1m2 = new DecisionVO.P1M2();
|
||||
p1m2.setP1M2T0(String.valueOf(countSim.getAndIncrement()));
|
||||
p1m2.setP1M2T1(t.get("caseNo"));
|
||||
if("1301000000".equals(t.get("companyGubun"))) {
|
||||
p1m2.setP1M2T2(t.get("companyCeo"));
|
||||
}else {
|
||||
p1m2.setP1M2T2(t.get("applcntCompany"));
|
||||
}
|
||||
if("1301000000".equals(t.get("respondentGubun"))) {
|
||||
p1m2.setP1M2T3(t.get("respondentCeo"));
|
||||
}else {
|
||||
p1m2.setP1M2T3(t.get("respondentCompany"));
|
||||
}
|
||||
|
||||
p1m2.setP1M2T4(t.get("mediationBig"));
|
||||
p1m2.setP1M2T5(t.get("mediationSmall"));
|
||||
p1m2.setP1M2T6("동의여부");
|
||||
|
||||
decisionVO.getP1M2().add(p1m2);
|
||||
}
|
||||
);
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
String jsonStr = objectMapper.writeValueAsString(decisionVO);
|
||||
|
||||
JSONParser parser = new JSONParser();
|
||||
Object obj = parser.parse(jsonStr);
|
||||
JSONObject pramJsonObj = (JSONObject) obj;
|
||||
|
||||
|
||||
ozUtill.ozReportJson(pramJsonObj, model);
|
||||
|
||||
model.addAttribute("ozFile", "decisionPaper01_all.ozr");
|
||||
|
||||
return "/xxx/ozReportDecision";
|
||||
}
|
||||
|
||||
//신청인 정보
|
||||
private String makeApplcntNCnt(List p_caseApplcntData) {
|
||||
String v_ret = "";
|
||||
@ -1758,4 +1914,79 @@ public class OzReportController {
|
||||
|
||||
return v_ret;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Map<String, String> bserviceReturnMap(
|
||||
EgovMap params
|
||||
){
|
||||
|
||||
List<?> list = JSPUtil.fixNull(bservice.list(params));
|
||||
if(list.size() > 0) {
|
||||
return (Map<String, String>) list.get(0);
|
||||
}else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Integer mediationBigCnt(List<Map<String, String>> bogoList, String div) {
|
||||
return Long.valueOf(
|
||||
bogoList.stream()
|
||||
.filter(t ->
|
||||
div.equals(
|
||||
t.get("mediationBig")
|
||||
)
|
||||
)
|
||||
.count()
|
||||
).intValue();
|
||||
}
|
||||
|
||||
|
||||
private Map<String, String> simResult(DecisionVO.P1M1 p1m1, Map<String, String> simMap) {
|
||||
|
||||
EgovMap params = new EgovMap();
|
||||
params.put("caseNo", simMap.get("caseNo"));
|
||||
|
||||
//기본정보
|
||||
params.put("sql", "trublcfrncmngDlbrtmtrTypeCnt");
|
||||
Map<String, String> simResultMap = bserviceReturnMap(params);
|
||||
|
||||
if(
|
||||
"0618000000".equals(simResultMap.get("mediationSmall")) //재심의
|
||||
) {
|
||||
if("Y".equals(simResultMap.get("modResolution"))) {
|
||||
//수정의결
|
||||
p1m1.setP1M1T6("O");
|
||||
}else {
|
||||
//원안의결
|
||||
p1m1.setP1M1T5("O");
|
||||
}
|
||||
//재심의
|
||||
p1m1.setP1M1T7("O");
|
||||
}
|
||||
else if(
|
||||
"0601010000".equals(simResultMap.get("mediationBig")) //성립
|
||||
|| "0602010000".equals(simResultMap.get("mediationBig")) //성립
|
||||
|| "0621010000".equals(simResultMap.get("mediationBig")) //불성립
|
||||
|| "0622010000".equals(simResultMap.get("mediationBig")) //불성립
|
||||
|| "0606010000".equals(simResultMap.get("mediationBig")) //중지
|
||||
){
|
||||
if("Y".equals(simResultMap.get("modResolution"))) {
|
||||
//수정의결
|
||||
p1m1.setP1M1T6("O");
|
||||
}else {
|
||||
//원안의결
|
||||
p1m1.setP1M1T5("O");
|
||||
}
|
||||
}else {
|
||||
//원안의결
|
||||
p1m1.setP1M1T5("-");
|
||||
//수정의결
|
||||
p1m1.setP1M1T6("-");
|
||||
//재심의
|
||||
p1m1.setP1M1T7("-");
|
||||
}
|
||||
|
||||
return simMap;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
173
src/main/java/seed/com/gtm/base/service/DecisionVO.java
Normal file
173
src/main/java/seed/com/gtm/base/service/DecisionVO.java
Normal file
@ -0,0 +1,173 @@
|
||||
package seed.com.gtm.base.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public class DecisionVO {
|
||||
|
||||
@JsonProperty("P1TOP")
|
||||
private P1TOP P1TOP = new P1TOP();
|
||||
@JsonProperty("P1M1")
|
||||
private List<P1M1> P1M1 = new ArrayList<>();
|
||||
@JsonProperty("P1M2")
|
||||
private List<P1M2> P1M2 = new ArrayList<>();
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public static class P1TOP {
|
||||
/**
|
||||
* 최상단 제목
|
||||
*/
|
||||
@JsonProperty("P1T1")
|
||||
private String P1T1;
|
||||
/**
|
||||
* 내용
|
||||
*/
|
||||
@JsonProperty("P1T2")
|
||||
private String P1T2;
|
||||
/**
|
||||
* 심의사항 - 안건 수
|
||||
*/
|
||||
@JsonProperty("P1T3")
|
||||
private String P1T3;
|
||||
/**
|
||||
* 보고사항 - 안건 수, 성립 건 수 , 불성립 건 수, 종결 건 수
|
||||
*/
|
||||
@JsonProperty("P1T4")
|
||||
private String P1T4;
|
||||
/**
|
||||
* 기타의견
|
||||
*/
|
||||
@JsonProperty("P1T5")
|
||||
private String P1T5;
|
||||
/**
|
||||
* 일자
|
||||
*/
|
||||
@JsonProperty("P1T6")
|
||||
private String P1T6;
|
||||
/**
|
||||
* 위원/위원장, 위원이름
|
||||
*/
|
||||
@JsonProperty("P1T7")
|
||||
private String P1T7;
|
||||
/**
|
||||
* 위원 서명 링크 URL
|
||||
*/
|
||||
@JsonProperty("P1T8")
|
||||
private String P1T8;
|
||||
/**
|
||||
* 하단 푸터 내용
|
||||
*/
|
||||
@JsonProperty("P1T9")
|
||||
private String P1T9;
|
||||
}
|
||||
|
||||
/**
|
||||
* 심의사항
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public static class P1M1 {
|
||||
/**
|
||||
* 심의사항 - 순번
|
||||
*/
|
||||
@JsonProperty("P1M1T0")
|
||||
private String P1M1T0;
|
||||
/**
|
||||
* 심의사항 - 사건번호
|
||||
*/
|
||||
@JsonProperty("P1M1T1")
|
||||
private String P1M1T1;
|
||||
/**
|
||||
* 심의사항 - 신청인
|
||||
*/
|
||||
@JsonProperty("P1M1T2")
|
||||
private String P1M1T2;
|
||||
/**
|
||||
* 심의사항 - 피신청인
|
||||
*/
|
||||
@JsonProperty("P1M1T3")
|
||||
private String P1M1T3;
|
||||
/**
|
||||
* 심의사항 - 검토의견
|
||||
*/
|
||||
@JsonProperty("P1M1T4")
|
||||
private String P1M1T4;
|
||||
/**
|
||||
* 심의사항 - 심의결과 - 원안의결
|
||||
*/
|
||||
@JsonProperty("P1M1T5")
|
||||
private String P1M1T5;
|
||||
/**
|
||||
* 심의사항 - 심의결과 - 수정의결
|
||||
*/
|
||||
@JsonProperty("P1M1T6")
|
||||
private String P1M1T6;
|
||||
/**
|
||||
* 심의사항 - 심의결과 - 재심의
|
||||
*/
|
||||
@JsonProperty("P1M1T7")
|
||||
private String P1M1T7;
|
||||
}
|
||||
|
||||
/**
|
||||
* 보고사항
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public static class P1M2 {
|
||||
/**
|
||||
* 보고사항 - 순번
|
||||
*/
|
||||
@JsonProperty("P1M2T0")
|
||||
private String P1M2T0;
|
||||
/**
|
||||
* 보고사항 - 사건번호
|
||||
*/
|
||||
@JsonProperty("P1M2T1")
|
||||
private String P1M2T1;
|
||||
/**
|
||||
* 보고사항 - 신청인
|
||||
*/
|
||||
@JsonProperty("P1M2T2")
|
||||
private String P1M2T2;
|
||||
/**
|
||||
* 보고사항 - 피신청인
|
||||
*/
|
||||
@JsonProperty("P1M2T3")
|
||||
private String P1M2T3;
|
||||
/**
|
||||
* 보고사항 - 결과1
|
||||
*/
|
||||
@JsonProperty("P1M2T4")
|
||||
private String P1M2T4;
|
||||
/**
|
||||
* 보고사항 - 결과2
|
||||
*/
|
||||
@JsonProperty("P1M2T5")
|
||||
private String P1M2T5;
|
||||
/**
|
||||
* 동의여부
|
||||
*/
|
||||
@JsonProperty("P1M2T6")
|
||||
private String P1M2T6;
|
||||
}
|
||||
|
||||
}
|
||||
@ -31,11 +31,14 @@ import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@ -105,6 +108,7 @@ import seed.map.T_POPUP_SET;
|
||||
import seed.map.T_QUICK_DATA;
|
||||
import seed.map.T_QUICK_MANAGER;
|
||||
import seed.map.T_QUICK_SET;
|
||||
import seed.map.T_SITE;
|
||||
import seed.map.T_SITE_MENU;
|
||||
import seed.map.T_SITE_SATISFACTION;
|
||||
import seed.map.T_SMART_MENU_MANAGER;
|
||||
@ -10333,4 +10337,36 @@ public class CommonController {
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/web/common/proc/case/1/commonSatisfactionRegProc.do")
|
||||
public ResponseEntity<?> setWebCommonSatisfactionRegProc(HttpSession session, HttpServletRequest httpServletRequest,
|
||||
// @RequestParam(value="pageUrl", required=true) String pageUrl,
|
||||
// @RequestParam(value="pageUrl", defaultValue = "url") String pageUrl,
|
||||
@RequestBody T_SITE_SATISFACTION tSiteSatisfaction){
|
||||
|
||||
|
||||
httpServletRequest.getHeader("WL-Proxy-Client-IP");
|
||||
|
||||
String memberIp = httpServletRequest.getRemoteAddr();
|
||||
// tSiteSatisfaction.settSite("case");
|
||||
tSiteSatisfaction.settSite(new T_SITE());
|
||||
tSiteSatisfaction.gettSite().setSiteIdx("case");
|
||||
|
||||
tSiteSatisfaction.settSiteMenu(new T_SITE_MENU());
|
||||
tSiteSatisfaction.gettSiteMenu().setSiteMenuIdx(167);
|
||||
|
||||
Map<String, String> returnMap = new HashMap<String, String>();
|
||||
|
||||
if(commonSatisfactionService.setCommonSatisfactionRegProc(tSiteSatisfaction, memberIp)){
|
||||
returnMap.put("msg", "등록되었습니다.");
|
||||
}else{
|
||||
returnMap.put("msg", "등록에 실패했습니다.");
|
||||
}
|
||||
|
||||
// session.setAttribute("url", pageUrl);
|
||||
|
||||
// return new ModelAndView("/_common/jsp/umessage");
|
||||
// return returnModel;
|
||||
return new ResponseEntity<>(returnMap, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@ -42,6 +42,10 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.SatisVO;
|
||||
import kcc.com.snd.service.SendService;
|
||||
import kcc.com.snd.service.SendSmsVO;
|
||||
import seed.common.service.CommonMenuAuthService;
|
||||
@ -131,6 +135,9 @@ public class ManagerSiteController {
|
||||
@Resource(name = "SendService")
|
||||
private SendService sendService;
|
||||
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService egovCmmUseService;
|
||||
|
||||
@Value("#{config['root.path']}")
|
||||
private String rootPath;
|
||||
|
||||
@ -210,6 +217,8 @@ public class ManagerSiteController {
|
||||
|
||||
map.put("sendSet", sendService.selectSendSet());
|
||||
|
||||
map.put("satisSet", egovCmmUseService.selectSatis());
|
||||
|
||||
return new ModelAndView("/manager/site/siteEdit");
|
||||
}
|
||||
|
||||
@ -1447,6 +1456,22 @@ public class ManagerSiteController {
|
||||
return new ResponseEntity<>("변경 완료되었습니다.", headers, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/siteEdit/caseSatisAjax.do")
|
||||
public ResponseEntity<?> caseSatisAjax(HttpServletRequest request, SatisVO satisVO) throws Exception {
|
||||
|
||||
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
if(null != loginVO){
|
||||
satisVO.setLastUpdtId(loginVO.getId());
|
||||
}
|
||||
|
||||
egovCmmUseService.updateSatis(satisVO);
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(new MediaType("text", "plain", Charset.forName("UTF-8")));
|
||||
|
||||
return new ResponseEntity<>("변경 완료되었습니다.", headers, HttpStatus.OK);
|
||||
}
|
||||
|
||||
private String getBrowser(HttpServletRequest request){
|
||||
String header = request.getHeader("User-Agent").toLowerCase();
|
||||
|
||||
|
||||
@ -25,11 +25,13 @@ public class T_SITE_SATISFACTION {
|
||||
private Integer siteSatisfactionIdx;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="SITE_IDX", nullable=false, insertable=true, updatable= false)
|
||||
// @JoinColumn(name="SITE_IDX", nullable=false, insertable=true, updatable= false)
|
||||
@JoinColumn(name="SITE_IDX", nullable=true, insertable=true, updatable= false)
|
||||
private T_SITE tSite;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="SITE_MENU_IDX", nullable=false, insertable=true, updatable= false)
|
||||
// @JoinColumn(name="SITE_MENU_IDX", nullable=false, insertable=true, updatable= false)
|
||||
@JoinColumn(name="SITE_MENU_IDX", nullable=true, insertable=true, updatable= false)
|
||||
private T_SITE_MENU tSiteMenu;
|
||||
|
||||
@Column(name = "SITE_SATISFACTION_STATUS", length=1, nullable=false, insertable=true, updatable=false)
|
||||
|
||||
@ -1775,4 +1775,37 @@
|
||||
ORDER BY FIX_DAY ASC
|
||||
<include refid="bottom2"/>
|
||||
</select>
|
||||
|
||||
<!-- 참여위원 셋팅 -->
|
||||
<select id="trublcfrncmngCfrncatndncSelOne" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT
|
||||
CT.MEMBER_NO,
|
||||
NVL(MEMBER_NAME, '-') AS MEMBER_NAME,
|
||||
NVL(MEMBER_COMPANY, '-') AS MEMBER_COMPANY,
|
||||
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = MEMBER_POSIT), '-') AS MEMBER_POSIT,
|
||||
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = MEMBER_UNIT), '-') AS MEMBER_UNIT,
|
||||
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_FIELD ) AS CASE_FIELD_NAME,
|
||||
(SELECT CHK FROM C_CFRNCATNDNC CC WHERE CC.CFRNC_NO = #{cfrncNo} AND CC.MEMBER_NO = CT.MEMBER_NO) AS CHK,
|
||||
(SELECT ATTEND_CHECK FROM C_CFRNCATNDNC DC WHERE DC.CFRNC_NO = #{cfrncNo} AND DC.MEMBER_NO = CT.MEMBER_NO) AS ATTEND_CHECK,
|
||||
(SELECT AGREE_CHECK FROM C_CFRNCATNDNC_AGREE CCA WHERE CCA.CFRNC_NO = #{cfrncNo} AND CCA.MEMBER_NO = CT.MEMBER_NO) AS AGREE_CHECK,
|
||||
(SELECT TO_CHAR(REG_DT,'YYYY-MM-DD HH24:MI') FROM C_CFRNCATNDNC_AGREE CDA WHERE CDA.CFRNC_NO = #{cfrncNo} AND CDA.MEMBER_NO = CT.MEMBER_NO) AS AGREE_DT,
|
||||
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_GUBUN ) AS CASE_GUBUN_NAME,
|
||||
CASE_GUBUN
|
||||
FROM C_TRUBLMFCMM CT
|
||||
WHERE MEMBER_NO IN (SELECT MEMBER_NO FROM C_CFRNCATNDNC WHERE CFRNC_NO = #{cfrncNo})
|
||||
AND MEMBER_NO = #{memberNo}
|
||||
ORDER BY CASE_FIELD, MEMBER_POSIT DESC
|
||||
</select>
|
||||
|
||||
<select id="trublcfrncmngDlbrtmtrTypeCnt" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT A.CASE_NO AS caseNo
|
||||
, A.CFRNC_NO AS cfrncNo
|
||||
, A.CASE_NO AS caseNo
|
||||
, A.MEDIATION_BIG AS mediationBig
|
||||
, A.MEDIATION_SMALL AS MediationSmall
|
||||
, A.MOD_RESOLUTION AS modResolution
|
||||
FROM C_DLBRTMTR A
|
||||
WHERE case_no = #{caseNo}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -5,6 +5,8 @@
|
||||
|
||||
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
|
||||
<typeAlias alias="ComDefaultCodeVO" type="kcc.com.cmm.ComDefaultCodeVO"/>
|
||||
<typeAlias alias="SatisVO" type="kcc.com.cmm.service.SatisVO"/>
|
||||
|
||||
|
||||
<resultMap id="CmmCodeDetail" class="kcc.com.cmm.service.CmmnDetailCode">
|
||||
<result property="codeId" column="CODE_ID" columnIndex="1"/>
|
||||
@ -127,4 +129,16 @@
|
||||
ORDER BY code
|
||||
</select>
|
||||
|
||||
<select id="cmmUseDAO.selectSatis" parameterClass="SatisVO" resultClass="SatisVO">
|
||||
SELECT OPEN_YN as openYn
|
||||
FROM UNP_SATISFACTION_SET
|
||||
</select>
|
||||
|
||||
<update id="cmmUseDAO.updateSatis" parameterClass="SatisVO">
|
||||
UPDATE UNP_SATISFACTION_SET
|
||||
SET OPEN_YN=#openYn#
|
||||
, LAST_UPDT_PNTTM=sysdate
|
||||
, LAST_UPDT_ID=#lastUpdtId#
|
||||
</update>
|
||||
|
||||
</sqlMap>
|
||||
@ -27,6 +27,26 @@
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function satisYn(obj){
|
||||
if(confirm("사이트만족도 공개여부를 변경하시겠습니까?")){
|
||||
$.ajax({
|
||||
url: '/gtm/siteEdit/caseSatisAjax.do',
|
||||
type: 'POST',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
data: new FormData(document.satisForm),
|
||||
success: function(response) {
|
||||
alert(response);
|
||||
},
|
||||
error: function(error) {
|
||||
alert("error");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
@ -78,6 +98,22 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<form id="satisForm" name="satisForm" action="/gtm/siteEdit/caseSatisAjax.do" method="post">
|
||||
<fieldset>
|
||||
<div class="bbs-view-layout">
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">사이트 만족도 설정</p>
|
||||
<div class="item-box">
|
||||
<input type="radio" id="satis1" name="openYn" value="Y" onclick="return satisYn();" <c:if test="${satisSet.openYn eq 'Y'}">checked</c:if>>
|
||||
<label for="satis1"">켜기</label>
|
||||
<input type="radio" id="satis2" name="openYn" value="N" onclick="return satisYn();" <c:if test="${satisSet.openYn ne 'Y'}">checked</c:if>>
|
||||
<label for="satis2">끄기</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<form:form id="frm" name="frm" action="/gtm/proc/siteModProc.do" method="post" style="display:none;">
|
||||
<input type="hidden" name="siteIdx" id="siteIdx" value="<c:out escapeXml='true' value='${tSiteDB.siteIdx}' />" />
|
||||
|
||||
@ -298,6 +298,8 @@ function loadChamData(){
|
||||
}
|
||||
html += '<td>'+agreeYn+'</td>';
|
||||
html += '<td>'+agreeDt+'</td>';
|
||||
/* html += '<td>'+'<button type="button" onclick="reportOpen(\''+v.memberNo+'\');">서면의결서</button>'+'</td>'; */
|
||||
html += '<td>'+''+'</td>';
|
||||
html += '</tr>';
|
||||
list.push(v.memberNo);
|
||||
});
|
||||
@ -305,7 +307,7 @@ function loadChamData(){
|
||||
$("#arrListcham").val(list);
|
||||
}else{
|
||||
html += '<tr>';
|
||||
html += '<td colspan="9">선택된 참여위원이 없습니다.</td>';
|
||||
html += '<td colspan="10">선택된 참여위원이 없습니다.</td>';
|
||||
html += '</tr>';
|
||||
$("#cham").html(html);
|
||||
}
|
||||
@ -1848,6 +1850,16 @@ function nanumCallGeneral(p_jobID, nanumSubject){
|
||||
}
|
||||
}
|
||||
|
||||
function reportOpen(memberNo){
|
||||
var f = document.frm;
|
||||
f.memberNo.value = memberNo;
|
||||
f.target = "blank";
|
||||
f.action = "/clip/ozReport/OzDecisionPaper.do";
|
||||
|
||||
f.submit();
|
||||
f.target = "_self";
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- 나눔폼 -->
|
||||
<form name="nanumFrm" id="nanumFrm" action="" method="post">
|
||||
@ -1919,6 +1931,7 @@ function nanumCallGeneral(p_jobID, nanumSubject){
|
||||
<input type="hidden" name="frmFileMemo" id="frmFileMemo" value="">
|
||||
<input type="hidden" name="officeGubun" id="officeGubun" value="">
|
||||
<input type="hidden" name="officeDept" id="officeDept" value="">
|
||||
<input type="hidden" name="memberNo" id="memberNo" value="">
|
||||
|
||||
<h2 class="title depth01">분쟁조정 협의회 관리</h2>
|
||||
|
||||
@ -2185,7 +2198,7 @@ function nanumCallGeneral(p_jobID, nanumSubject){
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="9">참여위원</th>
|
||||
<th colspan="10">참여위원</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>협의회</th>
|
||||
@ -2197,16 +2210,17 @@ function nanumCallGeneral(p_jobID, nanumSubject){
|
||||
<th>참석여부</th>
|
||||
<th>동의여부</th>
|
||||
<th>동의일시</th>
|
||||
<th>서면의결서</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="cham">
|
||||
<tr>
|
||||
<td colspan="9">선택된 참여위원이 없습니다.</td>
|
||||
<td colspan="10">선택된 참여위원이 없습니다.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="9">
|
||||
<td colspan="10">
|
||||
<!-- <button type="button" class="btn-default fr" id="chamAdd">추가</button> -->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -1789,7 +1789,7 @@ function nanumCall(no, nanumSubject){
|
||||
}
|
||||
|
||||
//alert(jobID);
|
||||
|
||||
alert("obj9" + obj9);
|
||||
nanumApi(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9, obj10, obj11, obj12, obj13, obj14, obj15);
|
||||
});
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
@ -6,8 +7,51 @@
|
||||
var href = $("#slct_site option:selected").val();
|
||||
window.open(href)
|
||||
}
|
||||
|
||||
function regSatisfaction(){
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/web/common/proc/case/1/commonSatisfactionRegProc.do",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify({
|
||||
siteSatisfactionStatus: $("input[name='satisfation']:checked").val(),
|
||||
siteSatisfactionContents: $("input[name='satisfation']:checked").parent().text()
|
||||
}),
|
||||
dataType: "json",
|
||||
success: function (returnData) {
|
||||
alert(returnData.msg);
|
||||
},
|
||||
error: function (request, status, error) {
|
||||
alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<c:if test="${
|
||||
!fn:contains(menuManageVO.url, 'web/main/mainPage.do')
|
||||
&& !fn:contains(menuManageVO.url, 'web/user/mypage/case/01/168/myCheck.do')
|
||||
&& satisVO.openYn eq 'Y'
|
||||
}">
|
||||
<div class="satisfaction_area">
|
||||
<div class="inner">
|
||||
<div class="title"><i class="icon satisfation"></i><p>온라인분쟁조정시스템 서비스에 대하여 어느 정도 만족하셨습니까?</p></div>
|
||||
<div class="satisfation_radio">
|
||||
<ul class="radio_wrap">
|
||||
<li><input type="radio" class="radio" id="satisfation_01" name="satisfation" value="5"><label for="satisfation_01">매우만족</label></li>
|
||||
<li><input type="radio" class="radio" id="satisfation_02" name="satisfation" value="4"><label for="satisfation_02">만족</label></li>
|
||||
<li><input type="radio" class="radio" id="satisfation_03" name="satisfation" value="3"><label for="satisfation_03">보통</label></li>
|
||||
<li><input type="radio" class="radio" id="satisfation_04" name="satisfation" value="2"><label for="satisfation_04">불만족</label></li>
|
||||
<li><input type="radio" class="radio" id="satisfation_05" name="satisfation" value="1"><label for="satisfation_05">매우불만족</label></li>
|
||||
</ul>
|
||||
<button class="btn btn_text btn_35 darkgray_border gray_fill btn_satisfation" onclick="regSatisfaction(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
<footer class="footer">
|
||||
<div class="inner">
|
||||
<h1 class="logo">
|
||||
|
||||
63
src/main/webapp/WEB-INF/jsp/xxx/ozReportDecision.jsp
Normal file
63
src/main/webapp/WEB-INF/jsp/xxx/ozReportDecision.jsp
Normal file
@ -0,0 +1,63 @@
|
||||
<%--
|
||||
대국민 사용자
|
||||
Class Name : adjstReqReport.jsp
|
||||
Description : 조정신청서 리포트 전송 화면(오즈리포트 정보 전송)
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.09.27 우영두 최초생성
|
||||
|
||||
author : 우영두
|
||||
since : 2021.09.27
|
||||
|
||||
--%>
|
||||
<%-- 공통 JS 함수 정의 : /jsp/web/com/webLayout.jsp --%>
|
||||
<%@ 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"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html style="height:100%">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<script src="${ozServerNm}/oz80/ozhviewer/jquery-2.0.3.min.js"></script>
|
||||
<link rel="stylesheet" href="${ozServerNm}/oz80/ozhviewer/jquery-ui.css" type="text/css"/>
|
||||
<script src="${ozServerNm}/oz80/ozhviewer/jquery-ui.min.js"></script>
|
||||
<link rel="stylesheet" href="${ozServerNm}/oz80/ozhviewer/ui.dynatree.css" type="text/css"/>
|
||||
<script type="text/javascript" src="${ozServerNm}/oz80/ozhviewer/jquery.dynatree.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="${ozServerNm}/oz80/ozhviewer/OZJSViewer.js" charset="utf-8"></script>
|
||||
|
||||
</head>
|
||||
<body style="width:98%;height:98%">
|
||||
<div id="OZViewer" style="width:98%;height:98%"></div>
|
||||
<script type="text/javascript">
|
||||
function SetOZParamters_OZViewer() {
|
||||
var oz;
|
||||
var jsonData = '${jsonData}';
|
||||
oz = document.getElementById("OZViewer");
|
||||
oz.sendToActionScript("information.debug", "true");
|
||||
oz.sendToActionScript("connection.servlet", '${ozServerNm}'+"/oz80/server");
|
||||
oz.sendToActionScript("connection.reportname", "/kofair2024/${ozFile}");
|
||||
oz.sendToActionScript('connection.pcount', '3');
|
||||
oz.sendToActionScript('connection.args1', 'jsonData=' + jsonData); //Json 파라미터 전달
|
||||
oz.sendToActionScript('export.applyformat', 'pdf,png,gif,jpg,jpeg'); //파일 다운로드 확장자 지정
|
||||
oz.sendToActionScript('export.filename', '서면의결서'); //다운로드 파일 이름 지정
|
||||
oz.sendToActionScript("toolbar.addmemo", "false"); //메모저장 아이콘
|
||||
oz.sendToActionScript("toolbar.savedm", "false"); //데이터 저장 아이콘
|
||||
oz.sendToActionScript("toolbar.etc", "false"); //다른메뉴 아이콘
|
||||
oz.sendToActionScript("viewer.pagedisplay" , "singlepagecontinuous"); //스크롤 추가_220921_이준호
|
||||
return true;
|
||||
}
|
||||
start_ozjs("OZViewer", '${ozServerNm}'+"/oz80/ozhviewer/");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user