This commit is contained in:
myname 2025-01-09 17:52:27 +09:00
commit 74d2d62263
6 changed files with 319 additions and 300 deletions

View File

@ -1,15 +1,15 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
public interface FaqBbsDao {
public void boardInsert(Map<String, Object> paramMap);
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
public Map<String,Object> boardView(Map<String, Object> paramMap);
public void boardUpdate(Map<String, Object> paramMap);
public int boardListCnt(Map<String, Object> paramMap);
public void boardDel(Map<String, Object> paramMap);
public void cntUpdate(Map<String, Object> paramMap);
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
}
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
public interface FaqBbsDao {
public void boardInsert(Map<String, Object> paramMap);
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
public Map<String,Object> boardView(Map<String, Object> paramMap);
public void boardUpdate(Map<String, Object> paramMap);
public int boardListCnt(Map<String, Object> paramMap);
public void boardDel(Map<String, Object> paramMap);
public void cntUpdate(Map<String, Object> paramMap);
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
}

View File

@ -1,59 +1,59 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FaqBbsDaoImpl implements FaqBbsDao {
@Autowired
private SqlSession sqlSession;
@Override
public void boardInsert(Map<String, Object> paramMap) {
sqlSession.insert("faqbbs.insert", paramMap);
}
@Override
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
return boardList;
}
@Override
public Map<String, Object> boardView(Map<String, Object> paramMap) {
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
return boardView;
}
@Override
public void boardUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.update", paramMap);
}
@Override
public int boardListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
}
@Override
public void boardDel(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.delete", paramMap);
}
@Override
public void cntUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.cntUpdate", paramMap);
}
@Override
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
return boardList;
}
}
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FaqBbsDaoImpl implements FaqBbsDao {
@Autowired
private SqlSession sqlSession;
@Override
public void boardInsert(Map<String, Object> paramMap) {
sqlSession.insert("faqbbs.insert", paramMap);
}
@Override
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
return boardList;
}
@Override
public Map<String, Object> boardView(Map<String, Object> paramMap) {
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
return boardView;
}
@Override
public void boardUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.update", paramMap);
}
@Override
public int boardListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
}
@Override
public void boardDel(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.delete", paramMap);
}
@Override
public void cntUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.cntUpdate", paramMap);
}
@Override
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
return boardList;
}
}

View File

@ -1,52 +1,73 @@
package seed.com.gtm.faqbbs;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.FaqBbsDaoImpl;
@Service
public class faqBpardService {
@Autowired
private FaqBbsDaoImpl dao;
public void boardInsert(Map<String, Object> paramMap){
dao.boardInsert(paramMap);
}
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardList(paramMap);
return boardList;
}
public Map<String,Object> boardView(Map<String, Object> paramMap){
Map<String,Object> boardView = dao.boardView(paramMap);
return boardView;
}
public void boardUpdate(Map<String, Object> paramMap){
dao.boardUpdate(paramMap);
}
public int boardListCnt(Map<String, Object> paramMap){
return dao.boardListCnt(paramMap);
}
public void boardDel(Map<String, Object> paramMap){
dao.boardDel(paramMap);
}
public void cntUpdate(Map<String, Object> paramMap){
dao.cntUpdate(paramMap);
}
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
return boardList;
}
}
package seed.com.gtm.faqbbs;
import java.sql.Clob;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.FaqBbsDaoImpl;
@Service
public class faqBpardService {
@Autowired
private FaqBbsDaoImpl dao;
public void boardInsert(Map<String, Object> paramMap){
dao.boardInsert(paramMap);
}
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardList(paramMap);
return boardList;
}
public Map<String,Object> boardView(Map<String, Object> paramMap){
Map<String,Object> boardView = dao.boardView(paramMap);
//FAQ_CONT가 CLOB 타입이며, SELECT에서 문자열로 변경 varchar2(4000) 초과하여 오류 발생.
//CLOB 타입으로 조회 java에서 문자열로 변환 처리
try {
if(boardView.get("FAQ_CONT") != null) {
Clob faqContClob = (Clob) boardView.get("FAQ_CONT");
System.out.println(faqContClob);
StringBuilder sb = new StringBuilder();
long length = faqContClob.length();
java.io.Reader reader = faqContClob.getCharacterStream();
char[] buffer = new char[1024];
int bytesRead;
while ((bytesRead = reader.read(buffer)) != -1) {
sb.append(buffer, 0, bytesRead);
}
boardView.put("FAQ_CONT",sb.toString());
reader.close();
}
}catch(Exception e) {
e.printStackTrace();
}
return boardView;
}
public void boardUpdate(Map<String, Object> paramMap){
dao.boardUpdate(paramMap);
}
public int boardListCnt(Map<String, Object> paramMap){
return dao.boardListCnt(paramMap);
}
public void boardDel(Map<String, Object> paramMap){
dao.boardDel(paramMap);
}
public void cntUpdate(Map<String, Object> paramMap){
dao.cntUpdate(paramMap);
}
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
return boardList;
}
}

View File

@ -1,163 +1,164 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="faqbbs">
<insert id="insert" parameterType="java.util.HashMap">
INSERT INTO C_FAQBBS(
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE,
DEL_YN
) VALUES (
SEQ_CASE_FAQBBS.NEXTVAL,
#{setIdx},
#{fagSubj},
#{editorParam_faqCont},
#{editorParam_faqCont},
0,
#{memberId},
#{memberName},
SYSDATE,
#{memberId},
SYSDATE,
'N'
)
</insert>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
ORDER BY REG_DATE DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT ,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</select>
<update id="update">
UPDATE C_FAQBBS
SET FAQ_SUBJ = #{fagSubj},
FAQ_CONT = #{editorParam_faqCont},
MOD_MBER_ID = #{memberId},
MOD_DATE = SYSDATE
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</update>
<delete id="delete">
UPDATE C_FAQBBS
SET DEL_YN = 'Y'
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<delete id="cntUpdate">
UPDATE C_FAQBBS
SET VIEW_CNT = VIEW_CNT+1
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT
*
FROM
(
SELECT
ROW_.*,
ROWNUM AS RNUM
FROM
(
SELECT
count(1) over() as cnt,
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
MOD_MBER_ID,
MOD_DATE
FROM
C_FAQBBS
WHERE
(FAQ_SETIDX = '101'
OR FAQ_SETIDX = '102'
OR FAQ_SETIDX = '103' )
AND DEL_YN = 'N'
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
AND (
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
)
</if>
ORDER BY
REG_DATE DESC
) ROW_
)
WHERE
RNUM > #{PAGESTART}
AND #{PERPAGENUM} >= ROWNUM
</select>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="faqbbs">
<insert id="insert" parameterType="java.util.HashMap">
INSERT INTO C_FAQBBS(
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE,
DEL_YN
) VALUES (
SEQ_CASE_FAQBBS.NEXTVAL,
#{setIdx},
#{fagSubj},
#{editorParam_faqCont},
#{editorParam_faqCont},
0,
#{memberId},
#{memberName},
SYSDATE,
#{memberId},
SYSDATE,
'N'
)
</insert>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
ORDER BY REG_DATE DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
<!-- dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT , -->
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</select>
<update id="update">
UPDATE C_FAQBBS
SET FAQ_SUBJ = #{fagSubj},
FAQ_CONT = #{editorParam_faqCont},
MOD_MBER_ID = #{memberId},
MOD_DATE = SYSDATE
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</update>
<delete id="delete">
UPDATE C_FAQBBS
SET DEL_YN = 'Y'
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<delete id="cntUpdate">
UPDATE C_FAQBBS
SET VIEW_CNT = VIEW_CNT+1
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT
*
FROM
(
SELECT
ROW_.*,
ROWNUM AS RNUM
FROM
(
SELECT
count(1) over() as cnt,
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
MOD_MBER_ID,
MOD_DATE
FROM
C_FAQBBS
WHERE
(FAQ_SETIDX = '101'
OR FAQ_SETIDX = '102'
OR FAQ_SETIDX = '103' )
AND DEL_YN = 'N'
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
AND (
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
)
</if>
ORDER BY
REG_DATE DESC
) ROW_
)
WHERE
RNUM > #{PAGESTART}
AND #{PERPAGENUM} >= ROWNUM
</select>
</mapper>

View File

@ -166,7 +166,7 @@ function clipCall(crfNm){
<option value="companyCeo" <c:if test="${searchType == 'companyCeo'}">selected="selected"</c:if>>신청인</option>
<option value="respondentCeo" <c:if test="${searchType == 'respondentCeo'}">selected="selected"</c:if>>피신청인</option>
<option value="process" <c:if test="${searchType == 'process'}">selected="selected"</c:if>>경과여부</option>
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000'}">
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000' || memberPosition == '0915000000'}">
<option value="examinerSearch" <c:if test="${searchType == 'examinerSearch'}">selected="selected"</c:if>>조사관</option>
</c:if>
<option value="rceptNoSearch" <c:if test="${searchType == 'rceptNoSearch'}">selected="selected"</c:if>>문서등록번호</option>
@ -204,7 +204,7 @@ function clipCall(crfNm){
<col class="title5">
<col class="title5">
<col class="title7">
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000'}">
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000' || memberPosition == '0915000000'}">
<col class="title7">
</c:if>
</colgroup>
@ -223,7 +223,7 @@ function clipCall(crfNm){
<th scope="col" rowspan="2">보완기일</th>
<th scope="col" rowspan="2">기간연장여부</th>
<th scope="col" rowspan="2">기간경과여부</th>
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000'}">
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000' || memberPosition == '0915000000'}">
<th scope="col" rowspan="2">조사관</th>
</c:if>
</tr>
@ -305,7 +305,7 @@ function clipCall(crfNm){
<td><c:if test='${list.caseExtend != null}'>연장</c:if>
<c:if test='${list.caseExtend == null}'>N</c:if></td>
<td>${list.termCheck}</td>
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000'}">
<c:if test="${memberPosition == '0911000000' || memberPosition == '0910000000' || memberPosition == '0915000000'}">
<td>${list.caseExaminerNm}</td>
</c:if>
</tr>
@ -314,7 +314,7 @@ function clipCall(crfNm){
<c:otherwise>
<tr>
<c:choose>
<c:when test="${memberPosition == '0911000000' || memberPosition == '0910000000'}">
<c:when test="${memberPosition == '0911000000' || memberPosition == '0910000000' || memberPosition == '0915000000'}">
<td colspan="9">검색된 데이터가 없습니다.</td>
</c:when>
<c:otherwise>

View File

@ -279,7 +279,7 @@
<col width="10%">
<!--소속 : 유통팀, 한국공정거래조정원, 민원상담센터 -->
<c:if
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON) }">
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON || memberPosition == SeedConstants.GWANRIJA) }">
<col width="10%">
</c:if>
</colgroup>
@ -305,7 +305,7 @@
<th scope="col" rowspan="2">분쟁유형</th>
<!--소속 : 유통팀, 한국공정거래조정원, 민원상담센터 -->
<c:if
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON) }">
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON || memberPosition == SeedConstants.GWANRIJA) }">
<th scope="col" rowspan="2">조사관</th>
</c:if>
</tr>
@ -356,14 +356,11 @@
<td>${list.regDt}</td>
<td>${list.caseGubun}</td>
<c:if
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON) }">
test="${(memberDept == SeedConstants.YUTONG || memberDept == SeedConstants.HANGUK || memberDept == SeedConstants.MINWON || memberPosition == SeedConstants.GWANRIJA) }">
<c:choose>
<c:when test="${searchMa == 'Y'}">
<c:when test="${list.memberName != null}">
<td>${list.memberName}</td>
</c:when>
<c:when test="${searchMa == 'P'}">
<td>배정중</td>
</c:when>
<c:otherwise>
<td>미배정</td>
</c:otherwise>