이지우 - 관리자 분쟁조정 처리 작업 완료(그룹웨어, FAX, SMS, 첨부파일 등 공통 영역 제외)

This commit is contained in:
JIWOO 2024-10-14 17:35:08 +09:00
parent 75763b9467
commit c786164e8c
12 changed files with 3151 additions and 5 deletions

View File

@ -509,7 +509,12 @@
<version>1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
</dependencies>
<build>

View File

@ -1201,7 +1201,7 @@ public class HomeController {
}
}
return new ModelAndView("/_extra/gtm/"+pageFolder+"/"+pageName);
return new ModelAndView("/seed/_extra/gtm/"+pageFolder+"/"+pageName);
}
@RequestMapping(value = {"/gtm/{siteIdx}/{pageFolder}/{pageName}/jsp/LayOutPage.do", "/gte/{siteIdx}/{pageFolder}/{pageName}/jsp/LayOutPage.do"})

View File

@ -11,12 +11,12 @@ import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
public class SeedSqlCon {
@Value("${spring.profiles.active}")
private String springProfilesActive;
/*@Value("${Dspring.profiles.active}")
private String springProfilesActive;*/
private String springProfilesActive = System.getProperty("spring.profiles.active");
private Logger log = Logger.getLogger(this.getClass());

View File

@ -0,0 +1,648 @@
<?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="trubltrnsfer">
<!-- 상단 -->
<sql id="Header2">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
</sql>
<!-- 하단 -->
<sql id="bottom2">
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</sql>
<select id="trubltrnsferTrubltrnsferPagingList" parameterType="egovMap" resultType="egovMap">
<include refid="Header2"/>
SELECT
A.RCEPT_NO AS RCEPT_NO,
A.APPLCNT_NM AS APPLCNT_NM,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = C.OLD_CASE_GUBUN) AS OLD_CASE_GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = C.NEW_CASE_GUBUN) AS NEW_CASE_GUBUN,
C.CASE_NO,
C.NEW_CASE_NO,
(SELECT COMPANY_CEO FROM C_APPLCNT B WHERE B.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT COMPANY_GUBUN FROM C_APPLCNT B WHERE B.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS COMPANY_GUBUN,
(SELECT APPLCNT_COMPANY FROM C_APPLCNT B WHERE B.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT RESPONDENT_CEO FROM C_RESPONDENT C WHERE C.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS RESPONDENT_CEO,
(SELECT RESPONDENT_GUBUN FROM C_RESPONDENT C WHERE C.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS RESPONDENT_GUBUN,
(SELECT RESPONDENT_COMPANY FROM C_RESPONDENT C WHERE C.RCEPT_NO = A.RCEPT_NO AND ROWNUM = 1) AS RESPONDENT_COMPANY,
TO_CHAR(C.REG_DT, 'YYYY-MM-DD') AS REG_DT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.CASE_GUBUN) AS CASE_GUBUN,
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = C.REG_ID) AS MEMBER_NAME,
(CASE WHEN C.APPROVAL_CHECK = 'N' AND C.RETURN_REASON IS NOT NULL THEN 'R' ELSE C.APPROVAL_CHECK END) AS APPROVAL_CHECK,
C.SEQ_NO
FROM C_CFRNCTRNSFER C
INNER JOIN C_RCEPTMST A ON (C.RCEPT_NO = A.RCEPT_NO)
<where>
A.DEL_GUBUN = 'N'
AND A.RCEPT_NO IS NOT NULL
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'companyCeo'">AND A.RCEPT_NO IN (SELECT RCEPT_NO FROM C_APPLCNT WHERE COMPANY_CEO LIKE '%' || #{searchVal} || '%')</when>
<when test="searchType == 'respondentCeo'">AND A.RCEPT_NO IN (SELECT RCEPT_NO FROM C_RESPONDENT WHERE RESPONDENT_CEO LIKE '%' || #{searchVal} || '%')</when>
</choose>
</if>
<if test='dateSt neq null and dateSt neq ""'>
AND TO_CHAR(A.REG_DT, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{dateSt} AND
<if test='dateEnd eq null or dateEnd eq ""'>
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test='dateEnd neq null and dateEnd neq ""'>
#{dateEnd}
</if>
</if>
<if test="memberPosition eq '0911000000'">
<choose>
<when test="memberDept eq '1004000000' or memberDept eq '1040000000'">AND (C.OLD_CASE_GUBUN = '0201000000' OR C.NEW_CASE_GUBUN = '0201000000')</when>
<when test="memberDept eq '1005000000'">AND (C.OLD_CASE_GUBUN = '0202000000' OR C.NEW_CASE_GUBUN = '0202000000')</when>
<when test="memberDept eq '1006000000' or memberDept eq '1007000000'">AND (C.OLD_CASE_GUBUN = '0203000000' OR C.NEW_CASE_GUBUN = '0203000000')</when>
<when test="memberDept eq '1008000000'">AND (C.OLD_CASE_GUBUN = '0205000000' OR C.NEW_CASE_GUBUN = '0205000000')</when>
<when test="memberDept eq '1030000000'">AND (C.OLD_CASE_GUBUN = '0204000000' OR C.NEW_CASE_GUBUN = '0204000000')</when>
<when test="memberDept eq '1009000000'">AND (C.OLD_CASE_GUBUN = '0206000000' OR C.NEW_CASE_GUBUN = '0206000000')</when>
</choose>
</if>
</where>
ORDER BY A.RCEPT_NO DESC, C.SEQ_NO DESC
<include refid="bottom2"/>
</select>
<select id="trubltrnsferTrubltrnsferPagingListTot" parameterType="egovMap" resultType="int">
SELECT
COUNT(*) AS TOTCNT
FROM C_CFRNCTRNSFER C
INNER JOIN C_RCEPTMST A ON (C.RCEPT_NO = A.RCEPT_NO)
<where>
A.DEL_GUBUN = 'N'
AND A.RCEPT_NO IS NOT NULL
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'companyCeo'">AND A.RCEPT_NO IN (SELECT RCEPT_NO FROM C_APPLCNT WHERE COMPANY_CEO LIKE '%' || #{searchVal} || '%')</when>
<when test="searchType == 'respondentCeo'">AND A.RCEPT_NO IN (SELECT RCEPT_NO FROM C_RESPONDENT WHERE RESPONDENT_CEO LIKE '%' || #{searchVal} || '%')</when>
</choose>
</if>
<if test='dateSt neq null and dateSt neq ""'>
AND TO_CHAR(A.REG_DT, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{dateSt} AND
<if test='dateEnd eq null or dateEnd eq ""'>
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test='dateEnd neq null and dateEnd neq ""'>
#{dateEnd}
</if>
</if>
</where>
</select>
<select id="trubltrnsferCfrnctrnsferSelGubun" parameterType="egovMap" resultType="egovMap">
SELECT
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = NEW_CASE_GUBUN) AS NEW_CASE_GUBUN
, TRANSFER_REASON
FROM C_CFRNCTRNSFER
WHERE RCEPT_NO = #{rceptNo}
AND SEQ_NO = #{seqNo}
</select>
<!-- 협의회이관 반려 -->
<update id="trubltrnsferCfrnctrnsferReturn" parameterType="egovMap">
UPDATE C_CFRNCTRNSFER
SET RETURN_REASON = #{returnReason}
, MOD_DT = SYSDATE
, MOD_ID = #{memberId}
WHERE RCEPT_NO = #{rceptNo}
AND SEQ_NO = #{seqNo}
AND APPROVAL_CHECK = 'N'
AND RETURN_REASON IS NULL
</update>
<!-- 협의회이관 승인(사건접수마스터 변경) -->
<update id="trubltrnsferRceptmstConfirm" parameterType="egovMap">
UPDATE C_RCEPTMST
SET
CASE_GUBUN = #{caseGubun},
PRESIDENT_ASSIGN = #{presidentAssign},
PRESIDENT_ASSIGN_DT = SYSDATE,
SCCHF_ASSIGN = #{presidentAssign},
SCCHF_ASSIGN_DT = SYSDATE,
TIMHDER_ASSIGN = #{presidentAssign},
TIMHDER_ASSIGN_DT = SYSDATE,
EXAMINER_ASSIGN = NULL,
MOD_DT = SYSDATE,
MOD_ID = #{memberId}
WHERE RCEPT_NO = #{rceptNo}
</update>
<!-- 협의회이관 승인(사건처리마스터 변경) -->
<update id="trubltrnsferCmasterConfirm" parameterType="egovMap">
UPDATE C_MASTER
SET
TRANSFER_CHECK = 'Y',
DEL_YN = 'Y',
CASE_END = 'Y',
MOD_DT = SYSDATE,
MOD_ID = #{memberId}
WHERE RCEPT_NO = #{rceptNo}
AND TRANSFER_CHECK = 'N'
</update>
<!-- 협의회이관 승인(협의회이관 변경) -->
<update id="trubltrnsferCfrnctrnsferConfirm" parameterType="egovMap">
UPDATE C_CFRNCTRNSFER
SET
APPROVAL_CHECK = 'Y',
MOD_DT = SYSDATE,
MOD_ID = #{memberId}
WHERE RCEPT_NO = #{rceptNo}
AND SEQ_NO = #{seqNo}
AND APPROVAL_CHECK = 'N'
</update>
<!-- 협의회이관 요청 -->
<insert id="trubltrnsferCfrnctrnsferIns" parameterType="egovMap" useGeneratedKeys="false">
INSERT INTO C_CFRNCTRNSFER
(RCEPT_NO,
SEQ_NO,
CASE_NO,
OLD_CASE_GUBUN,
NEW_CASE_GUBUN,
TRANSFER_REASON,
REG_DT,
REG_ID,
MOD_DT,
MOD_ID
)
SELECT
RCEPT_NO,
C_CFRNCTRNSFER_SEQ.NEXTVAL,
CASE_NO,
#{oldCaseGubun} AS OLD_CASE_GUBUN,
#{caseGubun} AS NEW_CASE_GUBUN,
#{transferReason} AS TRANSFER_REASON,
SYSDATE AS REG_DT,
#{memberId} AS REG_ID,
SYSDATE AS MOD_DT,
#{memberId} AS MOD_ID
FROM C_MASTER
WHERE CASE_NO = #{caseNo}
</insert>
<select id="trubltrnsferCfrnctrnsferSel" parameterType="egovMap" resultType="egovMap">
SELECT
CFRNCTRNSFER_CNT,
CASE NEW_CASE_GUBUN
WHEN '0201000000' THEN '공정거래'
WHEN '0202000000' THEN '가맹사업거래'
WHEN '0203000000' THEN '하도급거래'
WHEN '0204000000' THEN '대규모유통거래'
WHEN '0205000000' THEN '약관거래'
WHEN '0206000000' THEN '대리점거래'
ELSE ''
END AS CASE_GUBUN_NAME,
RETURN_REASON
FROM
(SELECT
COUNT(*) AS CFRNCTRNSFER_CNT
FROM C_CFRNCTRNSFER
WHERE CASE_NO = #{caseNo}
AND APPROVAL_CHECK = 'N'
) A,
(SELECT
NVL(MAX(RETURN_REASON), 'NONE') AS RETURN_REASON,
MAX(NEW_CASE_GUBUN) AS NEW_CASE_GUBUN
FROM
(SELECT ROWNUM, RETURN_REASON, NEW_CASE_GUBUN
FROM (
SELECT
RETURN_REASON,
NEW_CASE_GUBUN
FROM C_CFRNCTRNSFER
WHERE CASE_NO = #{caseNo}
AND APPROVAL_CHECK = 'N'
ORDER BY SEQ_NO DESC
)
WHERE ROWNUM = 1
)
) B
</select>
<!-- 접수마스터 -->
<select id="selectRceptms" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
DOC_GUBUN,
CASE DOC_GUBUN
WHEN '0101000000' THEN '온라인'
WHEN '0102000000' THEN '오프라인'
ELSE ''
END AS DOC_GUBUN_NAME,
APPLCNT_CI,
APPLCNT_DI,
APPLCNT_NM,
APPLCNT_BIRTHDAY,
CASE_GUBUN,
CASE CASE_GUBUN
WHEN '0201000000' THEN '공정거래'
WHEN '0202000000' THEN '가맹사업거래'
WHEN '0203000000' THEN '하도급거래'
WHEN '0204000000' THEN '대규모유통거래'
WHEN '0205000000' THEN '약관거래'
WHEN '0206000000' THEN '대리점거래'
ELSE ''
END AS CASE_GUBUN_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON1) AS CASE_REASON1_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON2) AS CASE_REASON2_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON3) AS CASE_REASON3_NAME,
CASE_REASON1,
CASE_REASON2,
CASE_REASON3,
CASE CR.DOC_CHECK
WHEN '5101000000' THEN '직접'
WHEN '5102000000' THEN '의뢰'
ELSE ''
END AS DOC_CHECK_NAME,
STATE,
PRESIDENT_ASSIGN,
PRESIDENT_ASSIGN_DT,
SCCHF_ASSIGN,
SCCHF_ASSIGN_DT,
TIMHDER_ASSIGN,
TIMHDER_ASSIGN_DT,
EXAMINER_ASSIGN,
REG_DT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.SCCHF_ASSIGN) AS SCCHF_ASSIGN_NAME,
DOC_CHECK,
OTHER_AGENCY,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.OTHER_AGENCY) AS OTHER_AGENCY_NAME,
OTHER_OFFICE,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.OTHER_OFFICE) AS OTHER_OFFICE_NAME
FROM C_RCEPTMST CR
WHERE RCEPT_NO = #{rceptNo}
</select>
<!-- 신청인 -->
<select id="selectApplcnt" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SEQ_NO,
APPLCNT_COMPANY,
COMPANY_CEO,
COMPANY_GUBUN,
CASE COMPANY_GUBUN
WHEN '1301000000' THEN '개인'
WHEN '1302000000' THEN '법인'
ELSE ''
END AS COMPANY_GUBUN_NAME,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2,
TEL,
FAX,
BIZR_NO,
CPR_NO,
FILE_NO
FROM C_APPLCNT
WHERE RCEPT_NO = #{rceptNo}
ORDER BY SEQ_NO
</select>
<!-- 피신청인 -->
<select id="selectRespondent" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SEQ_NO,
RESPONDENT_COMPANY,
RESPONDENT_CEO,
RESPONDENT_GUBUN,
CASE RESPONDENT_GUBUN
WHEN '1301000000' THEN '개인'
WHEN '1302000000' THEN '법인'
ELSE ''
END AS RESPONDENT_GUBUN_NAME,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2,
TEL,
FAX,
BIZR_NO,
CPR_NO,
FILE_NO
FROM C_RESPONDENT
WHERE RCEPT_NO = #{rceptNo}
ORDER BY SEQ_NO
</select>
<!-- 대리인정보 -->
<select id="selectAppagent" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SEQ_NO,
AGENT_COMPANY,
AGENT_CEO,
AGENT_TEL,
AGENT_HP,
AGENT_EMAIL,
SPECIAL_TXT,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2
FROM C_APPAGENT
WHERE RCEPT_NO = #{rceptNo}
ORDER BY SEQ_NO
</select>
<!-- 피신청인 대리인정보 -->
<select id="selectResagent" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SEQ_NO,
RESAGENT_COMPANY,
RESAGENT_CEO,
RESAGENT_TEL,
RESAGENT_HP,
RESAGENT_EMAIL,
SPECIAL_TXT,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2
FROM C_RESAGENT
WHERE RCEPT_NO = #{rceptNo}
ORDER BY SEQ_NO
</select>
<!-- 접수현황 -->
<select id="selectRceptsttus" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
CAPITAL,
TOTAL_ASSETS,
TOTAL_SALES,
BUSINESS_PROFITS,
FIRST_CONTRACT_DT,
START_CONTRACT,
END_CONTRACT,
CONTRACT_FILE,
PERSON_CHARGE,
CONTACT_TEL,
CONTACT_HP,
CONTACT_FAX,
CONTACT_OFCPS,
CONTACT_EMAIL,
LAWSUIT_CHECK,
CONFERENCE_RESULT,
ARBITRATION_CHECK,
REGULATING_ORGAN,
FTC_INVESTIGATION,
FTC_CORRECT,
PAR_AGREEMENT,
LAWSUT_NOTE,
CONFERENCE_NOTE,
ARBITRATION_NOTE,
REGULATING_NOTE,
FTC_NOTE,
FTC_CORRECT_NOTE,
CASE LAWSUIT_CHECK
WHEN 'Y' THEN '진행' || ' (' || (SELECT LAWSUT_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS LAWSUIT_CHECK_NAME,
CASE CONFERENCE_RESULT
WHEN 'Y' THEN '진행' || ' (' || (SELECT CONFERENCE_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS CONFERENCE_RESULT_NAME,
CASE ARBITRATION_CHECK
WHEN 'Y' THEN '진행' || ' (' || (SELECT ARBITRATION_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS ARBITRATION_CHECK_NAME,
CASE REGULATING_ORGAN
WHEN 'Y' THEN '진행' || ' (' || (SELECT REGULATING_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS REGULATING_ORGAN_NAME,
CASE FTC_INVESTIGATION
WHEN 'Y' THEN '진행' || ' (' || (SELECT FTC_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS FTC_INVESTIGATION_NAME,
CASE FTC_CORRECT
WHEN 'Y' THEN '예' || ' (' || (SELECT FTC_CORRECT_NOTE FROM C_RCEPTSTTUS WHERE RCEPT_NO = #{rceptNo}) || ')'
WHEN 'N' THEN '아니오'
ELSE ''
END AS FTC_CORRECT_NAME,
APPLICATION_OBJ,
APPLICATION_REASON,
SUBCNTR_NUM,
SUBCNTR_GUBUN,
SUBCNTR_CON,
CASE SUBCNTR_GUBUN
WHEN '2201000000' THEN '대기업'
WHEN '2202000000' THEN '중소기업'
WHEN '2203000000' THEN '소기업'
ELSE ''
END AS SUBCNTR_GUBUN_NAME,
CASE SUBCNTR_CON
WHEN 'Y' THEN '등록'
WHEN 'N' THEN '미등록'
ELSE ''
END AS SUBCNTR_CON_NAME,
SUBCNTR_AMOUNT,
MRHST_NUM,
MRHST_TYPE,
MRHST_BRAND_NM,
MRHST_INFO_CHECK,
MRHST_BALANCE_CHECK,
CASE MRHST_INFO_CHECK
WHEN 'Y' THEN '등록'
WHEN 'N' THEN '미등록'
ELSE ''
END AS MRHST_INFO_CHECK_NAME,
CASE MRHST_BALANCE_CHECK
WHEN 'Y' THEN '실시'
WHEN 'N' THEN '미실시'
ELSE ''
END AS MRHST_BALANCE_CHECK_NAME,
MRHST_NAME,
MRHST_START_CONTRACT,
MRHST_END_CONTRACT,
MRHST_FIRST_CONTRACT_DT,
MRHST_INFO_DT,
JOINING_AMOUNT,
JOINING_AMOUNT_DT,
JOINING_AMOUNT_BALANCE,
CASE JOINING_AMOUNT_BALANCE
WHEN 'Y' THEN '예치'
WHEN 'N' THEN '미예치'
ELSE ''
END AS JOINING_AMOUNT_BALANCE_NAME,
JOINING_AMOUNT_ORG,
DISTB_NUM,
DISTB_MAK_SHARE,
DISTB_SHOP_GROSSAREA,
DISTB_TOTAL_SALES,
DISTB_FTC,
LAWSUT_NOTE,
ARBITRATION_NOTE,
CONFERENCE_NOTE,
REGULATING_NOTE,
FTC_NOTE,
P_PERSON_CHARGE,
P_CONTACT_TEL,
P_CONTACT_HP,
P_CONTACT_FAX,
P_CONTACT_OFCPS,
P_CONTACT_EMAIL
FROM C_RCEPTSTTUS
WHERE RCEPT_NO = #{rceptNo}
</select>
<!--신청인 하도급 리스트-->
<select id="selectSubcntrsttusA" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SUBCNTR_GUBUN,
SEQ_NO,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUBCNTR_DT,
SUBCNTR_AMOUNT,
CASH_DT,
CASH_AMOUNT,
BILL_PAYDAY,
BILL_LIMIT,
BILL_AMOUNT,
TOTAL_AMOUNT,
NON_PAYMENT,
NOTE
FROM C_SUBCNTRSTTUS CS
WHERE RCEPT_NO = #{rceptNo}
AND SUBCNTR_GUBUN = 'A'
ORDER BY SEQ_NO
</select>
<!-- 신청인 하도급 소계 그룹-->
<select id="selectSubcntrsttusTotA" parameterType="egovMap" resultType="egovMap">
SELECT SUBCNTR_GUBUN,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUM(NVL(SUBCNTR_AMOUNT, 0)) AS SUBCNTR_AMOUNT,
SUM(NVL(CASH_AMOUNT, 0)) AS CASH_AMOUNT,
SUM(NVL(BILL_AMOUNT, 0)) AS BILL_AMOUNT,
SUM(NVL(TOTAL_AMOUNT, 0)) AS TOTAL_AMOUNT,
SUM(NVL(NON_PAYMENT, 0)) AS NON_PAYMENT
FROM C_SUBCNTRSTTUS CS
WHERE RCEPT_NO = #{rceptNo}
AND SUBCNTR_GUBUN = 'A'
GROUP BY ROLLUP(SUBCNTR_GUBUN, GUBUN)
<!-- GROUP BY SUBCNTR_GUBUN, GUBUN -->
ORDER BY SUBCNTR_GUBUN
</select>
<!--피신청인 하도급 리스트-->
<select id="selectSubcntrsttusR" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
SUBCNTR_GUBUN,
SEQ_NO,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUBCNTR_DT,
SUBCNTR_AMOUNT,
CASH_DT,
CASH_AMOUNT,
BILL_PAYDAY,
BILL_LIMIT,
BILL_AMOUNT,
TOTAL_AMOUNT,
NON_PAYMENT,
NOTE
FROM C_SUBCNTRSTTUS CS
WHERE RCEPT_NO = #{rceptNo}
AND SUBCNTR_GUBUN = 'R'
ORDER BY SEQ_NO
</select>
<!-- 피신청인 하도급 소계 그룹-->
<select id="selectSubcntrsttusTotR" parameterType="egovMap" resultType="egovMap">
SELECT SUBCNTR_GUBUN,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUM(NVL(SUBCNTR_AMOUNT, 0)) AS SUBCNTR_AMOUNT,
SUM(NVL(CASH_AMOUNT, 0)) AS CASH_AMOUNT,
SUM(NVL(BILL_AMOUNT, 0)) AS BILL_AMOUNT,
SUM(NVL(TOTAL_AMOUNT, 0)) AS TOTAL_AMOUNT,
SUM(NVL(NON_PAYMENT, 0)) AS NON_PAYMENT
FROM C_SUBCNTRSTTUS CS
WHERE RCEPT_NO = #{rceptNo}
AND SUBCNTR_GUBUN = 'R'
GROUP BY ROLLUP(SUBCNTR_GUBUN, GUBUN)
<!-- GROUP BY SUBCNTR_GUBUN, GUBUN -->
ORDER BY SUBCNTR_GUBUN
</select>
<select id="trublreqstmngCaseFileList" parameterType="egovMap" resultType="egovMap">
SELECT FILE_NO,
SEQ_NO,
FILE_NAME,
FILE_ORGNAME,
FILE_PATH,
FILE_EXTENSION,
FILE_SIZE,
REG_DT,
REG_ID,
MOD_DT,
MOD_ID,
DEL_GUBUN,
FILE_GUBUN,
FILE_FUNC,
COPY_CONTRACT_YN,
MEMBER_SEQ,
CASE
WHEN (SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CF.REG_ID) IS NOT NULL
THEN TO_CHAR((SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CF.REG_ID))
ELSE REG_ID
END AS FILE_OWNER
FROM C_CASEFILE CF
WHERE FILE_NO = #{rceptNo}
AND DEL_GUBUN = 'N'
</select>
<select id="selectReason" parameterType="egovMap" resultType="egovMap">
SELECT RCEPT_NO,
CASE CASE_GUBUN
WHEN '0201000000' THEN '공정거래'
WHEN '0202000000' THEN '가맹사업거래'
WHEN '0203000000' THEN '하도급거래'
WHEN '0204000000' THEN '대규모유통거래'
WHEN '0205000000' THEN '약관거래'
WHEN '0206000000' THEN '대리점거래'
ELSE ''
END AS CASE_GUBUN,
APPLY_CHECK,
APPLY_ETC
FROM C_APPRESON
WHERE RCEPT_NO = #{rceptNo}
</select>
<select id="selectCfrnctrnsfer" parameterType="egovMap" resultType="egovMap">
SELECT
RCEPT_NO,
SEQ_NO,
CASE_NO,
OLD_CASE_GUBUN,
NEW_CASE_GUBUN,
TRANSFER_REASON,
APPROVAL_CHECK,
RETURN_REASON,
NEW_CASE_NO
FROM
C_CFRNCTRNSFER
WHERE RCEPT_NO = #{rceptNo}
AND SEQ_NO = #{seqNo}
</select>
</mapper>

View File

@ -80,6 +80,8 @@
<pattern>*/gtm/case/siteSkinHtml.do*</pattern>
<pattern>*/gtm/case/bannerFormPreview.do*</pattern>
<pattern>*/gtm/case/visualFormPreview.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/dtaPop/jsp/Page.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/atendPop/jsp/Page.do*</pattern>
<!-- <pattern>*/manager/skin/siteSkinHtml.jsp*</pattern> -->
</excludes>

View File

@ -0,0 +1,294 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%!
public String getPage(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&amp;spage=1 title=\"첫페이지\">첫페이지</a>";
if(block > 1){
pageData += "<a href="+pageUrl+"&amp;spage="+(firstPage-1)+" title=\"이전페이지\">이전페이지</a>";
}
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "<a href="+pageUrl+"&amp;spage="+page+" title=\"현재페이지\"><strong>"+page+"</strong></a>";
}else{
pageData += "<a href="+pageUrl+"&amp;spage="+i+" title=\""+i+" 페이지>"+i+"</a>";
}
}
if(block < blocks){
pageData += "<a href="+pageUrl+"&amp;spage="+(lastPage+1)+" title=\"다음페이지\">다음페이지</a>";
}
pageData += "<a href="+pageUrl+"&amp;spage="+pages+" title=\"마지막페이지\">마지막페이지</a>";
return pageData;
}
public String getPageCus1(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href=\""+pageUrl+"&amp;spage=1\" title=\"처음 목록으로 이동\"><img src=\"/site/koem/jsp/bbs/skin/01/_images/btn_first.gif\" alt=\"처음 목록으로 이동\" /></a>";
pageData += "\n";
if(block > 1){
pageData += "<a href=\""+pageUrl+"&amp;spage="+(firstPage-1)+"\" title=\"이전페이지\"><img src=\"/site/koem/jsp/bbs/skin/01/_images/btn_prev.gif\" alt=\"이전페이지\" /></a>";
pageData += "\n";
}
pageData += "<span>";
pageData += "\n";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "<strong>"+page+"</strong>";
pageData += "\n";
}else{
pageData += "<a href=\""+pageUrl+"&amp;spage="+i+"\" title=\""+i+" 페이지\">"+i+"</a>";
pageData += "\n";
}
}
pageData += "</span>";
pageData += "\n";
if(block < blocks){
pageData += "<a href=\""+pageUrl+"&amp;spage="+(lastPage+1)+"\" title=\"다음페이지\"><img src=\"/site/koem/jsp/bbs/skin/01/_images/btn_next.gif\" alt=\"이전페이지\" /></a>";
pageData += "\n";
}
pageData += "<a href=\""+pageUrl+"&amp;spage="+pages+"\" title=\"마지막 목록으로 이동\"><img src=\"/site/koem/jsp/bbs/skin/01/_images/btn_last.gif\" alt=\"마지막 목록으로 이동\" /></a>";
pageData += "\n";
return pageData;
}
public String getUserPage(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&amp;spage=1 title=\"첫페이지\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_first.gif\" alt=\"첫페이지\" /></a>";
if(block > 1){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(firstPage-1)+" title=\"이전페이지\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_prev.gif\" alt=\"이전페이지\" /></a>";
}
pageData += "<span>";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "&nbsp;<strong title=\"현재페이지\">"+page+"</strong>";
}else{
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+i+" title=\""+i+" 페이지 \">"+i+"</a>";
}
}
pageData += "</span>";
if(block < blocks){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(lastPage+1)+" title=\"다음페이지\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_next.gif\" alt=\"다음페이지\" /></a>";
}
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+pages+" title=\"마지막페이지\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_last.gif\" alt=\"마지막페이지\" /></a>";
return pageData;
}
public String getUserPage2(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&amp;spage=1 title=\"첫페이지\" class=\"firstPage\"><img src=\"/site/main/images/common/btn_first.gif\" alt=\"처음목록으로 이동\" /></a>";
if(block > 1){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(firstPage-1)+" title=\"이전페이지\" class=\"prevPage\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_first.gif\" alt=\"이전목록\" /></a>";
}
pageData += "<span>";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "&nbsp;<a href=\"#\" title=\"현재페이지\" class=\"on\">"+page+"</a>";
}else{
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+i+" title=\""+i+" 페이지 \">"+i+"</a>";
}
}
pageData += "</span>";
if(block < blocks){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(lastPage+1)+" title=\"다음페이지\" class=\"nextPage\"><img src=\"/site/main/jsp/bbs/skin/02/_images/btn_last.gif\" alt=\"다음목록\" /></a>";
}
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+pages+" title=\"마지막페이지\" class=\"LastPage\"><img src=\"/site/main/images/common/btn_last.gif\" alt=\"마지막목록으로 이동\" /></a>";
return pageData;
}
public String getUserPage3(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&amp;spage=1 title=\"처음페이지\" class=\"pre2\">처음페이지</a>";
if(block > 1){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(firstPage-1)+" title=\"이전페이지\" class=\"pre1\">이전페이지</a>";
}
pageData += "<span>";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "&nbsp;<a href=\"#\" title=\"현재페이지\" class=\"p_num p_num_on\">"+page+"</a>";
}else{
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+i+" title=\""+i+" 페이지 \" class=\"p_num\">"+i+"</a>";
}
}
pageData += "</span>";
if(block < blocks){
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+(lastPage+1)+" title=\"다음페이지\" class=\"post1\">다음페이지</a>";
}
pageData += "&nbsp;<a href="+pageUrl+"&amp;spage="+pages+" title=\"마지막페이지\" class=\"post2\">마지막페이지</a>";
return pageData;
}
public String getManagerPage(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&spage=1 title=\"첫페이지\"><img src=\"/img/common/list_navi1.gif\" alt=\"처음 목록으로 이동\" /></a>";
if(block > 1){
pageData += "<a href="+pageUrl+"&spage="+(firstPage-1)+" title=\"이전페이지\"><img src=\"/img/common/list_navi2.gif\" alt=\"이전 목록으로 이동\" /></a>";
}
pageData += "<ul>";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "<li class=\"on\"><a href="+pageUrl+"&spage="+page+" title=\"현재페이지\">"+page+"</a></li>";
}else{
pageData += "<li class=\"off\"><a href="+pageUrl+"&spage="+i+" title=\""+i+" 페이지\">"+i+"</a></li>";
}
}
pageData += "</ul>";
if(block < blocks){
pageData += "<a href="+pageUrl+"&spage="+(lastPage+1)+" title=\"다음페이지\"><img src=\"/img/common/list_navi3.gif\" alt=\"다음 목록으로 이동\" /></a>";
}
pageData += "<a href="+pageUrl+"&spage="+pages+" title=\"마지막페이지\"><img src=\"/img/common/list_navi4.gif\" alt=\"마지막 목록으로 이동\" /></a>";
return pageData;
}
public String getManagerPage2(int total, int page, int row, String pageUrl){
String pageData = "";
int pages = (total == 0) ? 1 : (int) ((total - 1) / row) + 1;
int blocks;
int block;
int firstPage;
int lastPage;
blocks = (int) Math.ceil(1.0 * pages / 10.0);
block = (int) Math.ceil(1.0 * page / 10.0);
firstPage = (block - 1) * 10 + 1;
lastPage = block * 10;
if (lastPage > pages)
lastPage = pages;
pageData = "<a href="+pageUrl+"&spage2=1 title=\"첫페이지\"><img src=\"/img/common/list_navi1.gif\" alt=\"처음 목록으로 이동\" /></a>";
if(block > 1){
pageData += "<a href="+pageUrl+"&spage2="+(firstPage-1)+" title=\"이전페이지\"><img src=\"/img/common/list_navi2.gif\" alt=\"이전 목록으로 이동\" /></a>";
}
pageData += "<ul>";
for(int i=firstPage, idx=1; i <= lastPage; i++, idx++){
if(page == i) {
pageData += "<li class=\"on\"><a href="+pageUrl+"&spage2="+page+" title=\"현재페이지\">"+page+"</a></li>";
}else{
pageData += "<li class=\"off\"><a href="+pageUrl+"&spage2="+i+" title=\""+i+" 페이지\">"+i+"</a></li>";
}
}
pageData += "</ul>";
if(block < blocks){
pageData += "<a href="+pageUrl+"&spage2="+(lastPage+1)+" title=\"다음페이지\"><img src=\"/img/common/list_navi3.gif\" alt=\"다음 목록으로 이동\" /></a>";
}
pageData += "<a href="+pageUrl+"&spage2="+pages+" title=\"마지막페이지\"><img src=\"/img/common/list_navi4.gif\" alt=\"마지막 목록으로 이동\" /></a>";
return pageData;
}
%>

View File

@ -0,0 +1,386 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="seed.utils.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="org.apache.commons.dbutils.DbUtils" %>
<%@ page import="org.apache.commons.dbutils.QueryRunner" %>
<%@ page import="org.apache.commons.dbutils.ResultSetHandler" %>
<%@ page import="org.apache.commons.dbutils.handlers.MapListHandler" %>
<%@ page import="org.apache.commons.dbutils.handlers.MapHandler" %>
<%!
//메세지함 리스트 가져오기
public List<Map<String,Object>> getMessageDataList(SeedSqlCon seedSqlCon, String memberIdx){
List<Map<String,Object>> dataList = null;
ArrayList<Object> objList= new ArrayList<Object>();
SeedDbUtilsSupport seedDbUtilsSupport = new SeedDbUtilsSupport();
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT \n");
strSql.append(" SNO, REG_ID, GUBUN, TO_CHAR(REG_DT,'YYYY-MM-DD') AS REG_DT, CONTENTS \n");
strSql.append(" FROM C_SMS \n");
strSql.append(" WHERE REG_ID = ? \n");
objList.add(memberIdx);
strSql.append(" ORDER BY REG_DT DESC \n");
QueryRunner runner = new QueryRunner();
try{
dataList = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapListHandler(), objList.toArray());
}catch(SQLException e){
System.out.println("getMessageDataList(SeedSqlCon seedSqlCon, String memberIdx) : " + e.getMessage());
}
return dataList;
}
//발송이력 리스트 가져오기
public List<Map<String,Object>> getSmsDataList(SeedSqlCon seedSqlCon, String memberIdx, int page, int row){
List<Map<String,Object>> dataList = null;
ArrayList<Object> objList= new ArrayList<Object>();
SeedDbUtilsSupport seedDbUtilsSupport = new SeedDbUtilsSupport();
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT \n");
strSql.append(" SNO, REG_ID, TO_CHAR(REG_DT,'YYYY-MM-DD') AS REG_DT, GUBUN, \n");
strSql.append(" CONTENTS, HPNUMBER \n");
strSql.append(" FROM C_SMSHISTORY \n");
strSql.append(" WHERE REG_ID = ? \n");
objList.add(memberIdx);
strSql.append(" ORDER BY REG_DT DESC \n");
QueryRunner runner = new QueryRunner();
try{
dataList = runner.query(seedSqlCon.getConnection(), seedDbUtilsSupport.sqlQueryPagingProcess(strSql.toString(), page, row), new MapListHandler(), objList.toArray());
}catch(SQLException e){
System.out.println("getSmsDataList(SeedSqlCon seedSqlCon, String memberIdx, int page, int row) : " + e.getMessage());
}
return dataList;
}
//발송이력 개수 가져오기
public Map<String,Object> getSmsDataListCnt(SeedSqlCon seedSqlCon, String memberIdx){
Map<String,Object> dataInfo = null;
ArrayList<String> objList = new ArrayList<String>();
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT COUNT(*) AS DATA_CNT \n");
strSql.append(" FROM C_SMSHISTORY \n");
strSql.append(" WHERE REG_ID = ? \n");
objList.add(memberIdx);
QueryRunner runner = new QueryRunner();
try{
dataInfo = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapHandler(), objList.toArray());
}catch(SQLException e){
System.out.println("getSmsDataListCnt(SeedSqlCon seedSqlCon, String memberIdx) : " + e.getMessage());
}
return dataInfo;
}
//자동 문자발송 내용 가져오기
public Map<String,Object> getSmsAutoDataSet(SeedSqlCon seedSqlCon, String autoType, String caseNo){
Map<String,Object> dataInfo = null;
ArrayList<Object> objList= new ArrayList<Object>();
objList.add(caseNo);
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT \n");
if(autoType.equals("1")) {
strSql.append(" '안녕하십니까, 한국공정거래조정원입니다. 귀하께서 신청하신 조정 사건(사건번호 ' || A.CASE_NO || ')이 우리 원 ' || \n");
strSql.append(" (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.TIMHDER_ASSIGN) || ' ' || \n");
strSql.append(" (SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || ' 조사관(전화:' || \n");
strSql.append(" (SELECT MEMBER_TEL FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || ', 전자메일: ' || \n");
strSql.append(" (SELECT MEMBER_EMAIL1 || '@' || MEMBER_EMAIL2 FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || \n");
strSql.append(" ')에게 배정되었습니다. 향후 조정절차 진행 상황에 대해서는 귀하께 발송 예정인 조정절차 통지 문서 또는 온라인분쟁조정시스템(fairnet.kofair.or.kr)을 확인하여 주시기 바랍니다. 감사합니다.' AS AUTO_SMS_TEXT \n");
} else if(autoType.equals("2")) {
strSql.append(" '안녕하십니까, 한국공정거래조정원입니다. 귀하께서 분쟁당사자인 ' || A.CASE_NO || ' 사건에 대한 사실관계 확인을 위한 출석조사가 ' || TO_CHAR(SYSDATE, 'YYYY. MM. DD.') || \n");
strSql.append(" '(' || TO_CHAR(SYSDATE, 'DY','NLS_DATE_LANGUAGE=korean') || ') 14:00 에 ' || \n");
strSql.append(" ' 한국공정거래조정원(서울 중구 세종대로 39 상공회의소회관 9층)에서 진행될 예정입니다. 자세한 내용은 온라인분쟁조정시스템(fairnet.kofair.or.kr)에서 확인하시거나 담당 조사관 ' || \n");
strSql.append(" (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.TIMHDER_ASSIGN) || ' ' || \n");
strSql.append(" (SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || ' 조사관(' || \n");
strSql.append(" (SELECT MEMBER_TEL FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || ')에게 문의하여 주시기바랍니다. 감사합니다.' AS AUTO_SMS_TEXT \n");
} else if(autoType.equals("3")) {
strSql.append(" '안녕하십니까, 한국공정거래조정원입니다. 귀하께서 분쟁당사자인 ' || A.CASE_NO || ' 사건이 종료되었습니다. 조정절차 종료사실 통지 문서는 온라인으로 제공되고 있으니, 온라인분쟁조정시스템(fairnet.kofair.or.kr)에서 확인하시기 바랍니다. ' || \n");
strSql.append(" '궁금한 사항이 있으시면 담당 조사관 ' || \n");
strSql.append(" (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.TIMHDER_ASSIGN) || ' ' || \n");
strSql.append(" (SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || ' 조사관(' || \n");
strSql.append(" (SELECT MEMBER_TEL FROM T_MEMBER WHERE MEMBER_ID = CR.EXAMINER_ASSIGN) || \n");
strSql.append(" ')에 문의하여 주시기 바랍니다. 감사합니다.' AS AUTO_SMS_TEXT \n");
}
strSql.append(" FROM C_MASTER A \n");
strSql.append(" LEFT OUTER JOIN C_CASERCEPT CR ON A.CASE_NO = CR.CASE_NO \n");
strSql.append(" WHERE A.CASE_NO = ? \n");
QueryRunner runner = new QueryRunner();
try{
dataInfo = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapHandler(), objList.toArray());
}catch(SQLException e){
System.out.println("getSmsDataListCnt(SeedSqlCon seedSqlCon, String memberIdx) : " + e.getMessage());
}
return dataInfo;
}
//자동 문자발송 전화번호 리스트 가져오기
public List<Map<String,Object>> getSmsAutoPhoneList(SeedSqlCon seedSqlCon, String autoType, String caseNo){
List<Map<String,Object>> dataList = null;
ArrayList<Object> objList= new ArrayList<Object>();
objList.add(caseNo);
SeedDbUtilsSupport seedDbUtilsSupport = new SeedDbUtilsSupport();
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT TEL FROM ( \n");
strSql.append(" SELECT 1 AS SORT, SEQ_NO, REPLACE(TEL, '-', '') AS TEL FROM C_CASEAPPLCNT \n");
strSql.append(" WHERE CASE_NO = ? \n");
if(autoType.equals("2") || autoType.equals("3")) {
strSql.append(" UNION \n");
strSql.append(" SELECT 2 AS SORT, SEQ_NO, REPLACE(TEL, '-', '') AS TEL FROM C_CASERESPONDENT \n");
strSql.append(" WHERE CASE_NO = ? \n");
objList.add(caseNo);
}
strSql.append(" ) ORDER BY SORT ASC, SEQ_NO ASC \n");
QueryRunner runner = new QueryRunner();
try{
dataList = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapListHandler(), objList.toArray());
}catch(SQLException e){
System.out.println("getMessageDataList(SeedSqlCon seedSqlCon, String memberIdx) : " + e.getMessage());
}
return dataList;
}
//메세지함 등록하기
public boolean setMessageRegProc(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
StringBuffer strSql = new StringBuffer();
strSql.append(" INSERT INTO C_SMS \n");
strSql.append(" ( \n");
strSql.append(" SNO, REG_ID, GUBUN, \n");
strSql.append(" REG_DT, CONTENTS \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" C_SMS_SEQ.NEXTVAL, ?, ?, \n");
strSql.append(" SYSDATE, ? \n");
strSql.append(" ) \n");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
e.printStackTrace();
System.out.println("setMessageRegProc(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return success;
}
//SMS발송내역 등록하기
public boolean setSmsRegProc(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
StringBuffer strSql = new StringBuffer();
strSql.append(" INSERT INTO C_SMSHISTORY \n");
strSql.append(" ( \n");
strSql.append(" SNO, REG_ID, GUBUN, \n");
strSql.append(" REG_DT, CONTENTS, HPNUMBER \n");
strSql.append(" ) \n");
strSql.append(" SELECT ");
strSql.append(" C_SMSHISTORY_SEQ.NEXTVAL, ");
strSql.append(" ?, ");
strSql.append(" ?, ");
strSql.append(" SYSDATE, ");
strSql.append(" ?, ");
strSql.append(" PHONE_VAL ");
strSql.append(" FROM ");
strSql.append(" ( ");
strSql.append(" SELECT ");
strSql.append(" SUBSTR(PHONE_VAL, INSTR(PHONE_VAL, ',', 1, LEVEL) + 1, INSTR(PHONE_VAL, ',', 1, LEVEL + 1) - INSTR(PHONE_VAL, ',', 1, LEVEL) - 1) PHONE_VAL ");
strSql.append(" FROM ( ");
strSql.append(" SELECT ");
strSql.append(" ',' || ? || ',' PHONE_VAL ");
strSql.append(" FROM DUAL ");
strSql.append(" ) ");
strSql.append(" CONNECT BY ");
strSql.append(" LEVEL <= LENGTH(PHONE_VAL) - LENGTH(REPLACE(PHONE_VAL, ',')) - 1 ");
strSql.append(" ) ");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
e.printStackTrace();
System.out.println("setSmsRegProc(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return success;
}
//SMS실제 서버 등록(실제 서버에 등록해야 SMS가 저절로 발송됨)
public boolean setSmsRealRegProc(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
StringBuffer strSql = new StringBuffer();
strSql.append(" INSERT INTO SMSUSERDB.SC_TRAN \n");
strSql.append(" ( \n");
strSql.append(" TR_NUM, TR_SENDDATE, TR_SENDSTAT, \n");
strSql.append(" TR_MSGTYPE, TR_PHONE, TR_CALLBACK, TR_MSG \n");
strSql.append(" ) \n");
strSql.append(" SELECT ");
strSql.append(" SMSUSERDB.SC_TRAN_SEQ.NEXTVAL, ");
strSql.append(" SYSDATE, ");
strSql.append(" '0', ");
strSql.append(" '0', ");
strSql.append(" PHONE_VAL, ");
strSql.append(" 15881490, ");
strSql.append(" ? ");
strSql.append(" FROM ");
strSql.append(" ( ");
strSql.append(" SELECT ");
strSql.append(" SUBSTR(PHONE_VAL, INSTR(PHONE_VAL, ',', 1, LEVEL) + 1, INSTR(PHONE_VAL, ',', 1, LEVEL + 1) - INSTR(PHONE_VAL, ',', 1, LEVEL) - 1) PHONE_VAL ");
strSql.append(" FROM ( ");
strSql.append(" SELECT ");
strSql.append(" ',' || ? || ',' PHONE_VAL ");
strSql.append(" FROM DUAL ");
strSql.append(" ) ");
strSql.append(" CONNECT BY ");
strSql.append(" LEVEL <= LENGTH(PHONE_VAL) - LENGTH(REPLACE(PHONE_VAL, ',')) - 1 ");
strSql.append(" ) ");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
e.printStackTrace();
System.out.println("setSmsRealRegProc(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return success;
}
//LMS실제 서버 등록(실제 서버에 등록해야 LMS가 저절로 발송됨)
public boolean setLmsRealRegProc(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
StringBuffer strSql = new StringBuffer();
strSql.append(" INSERT INTO SMSUSERDB.MMS_MSG \n");
strSql.append(" ( \n");
strSql.append(" MSGKEY, SUBJECT, PHONE, \n");
strSql.append(" CALLBACK, STATUS, REQDATE, MSG, \n");
strSql.append(" FILE_CNT, FILE_PATH1, TYPE \n");
strSql.append(" ) \n");
strSql.append(" SELECT ");
strSql.append(" SMSUSERDB.MMS_MSG_SEQ.NEXTVAL, ");
strSql.append(" '[한국공정거래조정원]', ");
strSql.append(" PHONE_VAL, ");
strSql.append(" 15881490, ");
strSql.append(" '0', ");
strSql.append(" SYSDATE, ");
strSql.append(" ?, ");
strSql.append(" '0', ");
strSql.append(" 'D:\\UPLUSAGT\\image\\test.jpg', ");
strSql.append(" '0' ");
strSql.append(" FROM ");
strSql.append(" ( ");
strSql.append(" SELECT ");
strSql.append(" SUBSTR(PHONE_VAL, INSTR(PHONE_VAL, ',', 1, LEVEL) + 1, INSTR(PHONE_VAL, ',', 1, LEVEL + 1) - INSTR(PHONE_VAL, ',', 1, LEVEL) - 1) PHONE_VAL ");
strSql.append(" FROM ( ");
strSql.append(" SELECT ");
strSql.append(" ',' || ? || ',' PHONE_VAL ");
strSql.append(" FROM DUAL ");
strSql.append(" ) ");
strSql.append(" CONNECT BY ");
strSql.append(" LEVEL <= LENGTH(PHONE_VAL) - LENGTH(REPLACE(PHONE_VAL, ',')) - 1 ");
strSql.append(" ) ");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
e.printStackTrace();
System.out.println("setSmsRealRegProc(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return success;
}
//메세지함 삭제하기
public boolean setMessageDataDelete(SeedSqlCon seedSqlCon, Object[] objData){
boolean sucess = false;
StringBuffer strSql = new StringBuffer();
strSql.append(" DELETE C_SMS \n");
strSql.append(" WHERE SNO = ? AND REG_ID = ? \n");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
sucess = true;
}
}catch(SQLException e){
System.out.println("setMessageDataDelete(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return sucess;
}
%>

View File

@ -0,0 +1,258 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="seed.utils.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!doctype html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="ko"><![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="ko"><![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="ko"><![endif]-->
<!--[if (gtm IE 9)|!(IE)]><!--><html lang="ko"><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>NICE 기업조회</title>
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
<!-- css -->
<link href="/css/total.css" rel="stylesheet" type="text/css"/>
<link href="/css/jquery-ui.css" rel="stylesheet" type="text/css"/>
<link href="/css/animate.css" rel="stylesheet" type="text/css"/>
<!-- css -->
<!-- js -->
<!--[if lte IE 9]>
<script src="/js/html5.js"></script>
<![endif]-->
<!-- js -->
<script src="/js/jquery-1.9.1.min.js"></script>
<!--<script src="/js/jquery-1.7.min.js"></script>-->
<script src="/js/jquery-ui.min.js"></script>
<script src="/js/jquery.number.min.js"></script>
<script src="/js/jquery.cookie.js"></script>
<script src="/js/slick.min.js"></script>
<script src="/js/base64.js"></script>
<script src="/js/common.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/date.format.js"></script>
<script src="/js/browser.js"></script>
<script src="/js/jquery.paging.js"></script>
<script src="/js/jquery.slides.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.mousewheel.min.js"></script>
<script src="/js/common_XHR.js"></script>
<!-- js -->
<script type="text/javascript">
$(document).ready(function(){
jQuery('input').keydown(function(){
if ( event.keyCode == 13 ){
niceApiSearch('1');
return false;
}
});
});
var cnt = 0;
function niceApiSearch(c){
if($("#niceNm").val().length == 0){
alert("기업명을 입력해주세요.");
return false;
}
//blockUI 생성
var url = "";
$("#niceCnt").val(c);
$("#type").val("NICESEARCH");
var param = jQuery('#frm').serialize();
url = "/gtm/case/common/ajax/NICE.do";
XHR(url, param, function(r){
//alert(r.apiKey);
//alert(r.niceSearch.Search.OperationResponse.SA0701.Items.totalcount);
//alert(r.niceSearch.Search.OperationResponse.SA0701.Items.Item[1].korentrnm);
/*
business String 사업자번호
crpno String 법인등록번호
epr_cnu_yn String 기업존속여부
kiscode String 업체코드
koraddr String 한글주소
korentrnm String 한글업체명
korreprnm String 한글대표자명
tel String 전화번호
*/
var totcnt = r.niceSearch.Search.OperationResponse.SA0701.Items.totalcount;
var count = r.niceSearch.Search.OperationResponse.SA0701.Items.count;
var paging = Math.ceil(totcnt/20);
var niceCnt = $("#niceCnt").val();
var html = "";
if(2 > c){
cnt = 0;
$("#totcnt").text(totcnt);
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;잠시만 기다려주세요.</h1>' });
$("#list").empty();
html += '<tr>';
html += '<th scope="row" style="text-align: center;">순번</th>';
html += '<th scope="row" style="text-align: center;">업체명</th>';
html += '<th scope="row" style="text-align: center;">대표자명</th>';
html += '<th scope="row" style="text-align: center;">주소</th>';
html += '<th scope="row" style="text-align: center;">사업자번호</th>';
html += '<th scope="row" style="text-align: center;">법인등록번호</th>';
html += '<th scope="row" style="text-align: center;">전화번호</th>';
html += '<th scope="row" style="text-align: center;">존속여부</th>';
html += '</tr>';
}
if(totcnt != 0){
if(count > 1){
$.each(r.niceSearch.Search.OperationResponse.SA0701.Items.Item, function(k,v) {
cnt++;
html += '<tr>';
html += '<td>'+cnt+'</td>';
html += '<td><a href="javascript:void(0);" onclick="selItem(\''+v.business+'\')">'+v.korentrnm+'</a></td>';
html += '<td>'+v.korreprnm+'</td>';
html += '<td>'+v.koraddr+'</td>';
html += '<td><a href="javascript:void(0);" onclick="selItem(\''+v.business+'\')">'+v.business+'</a></td>';
html += '<td>'+v.crpno+'</td>';
html += '<td>'+v.tel+'</td>';
html += '<td>'+v.epr_cnu_yn+'</td>';
html += '</tr>';
});
}else{
cnt++;
html += '<tr>';
html += '<td>'+cnt+'</td>';
html += '<td><a href="javascript:void(0);" onclick="selItem(\''+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.business+'\')">'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.korentrnm+'</a></td>';
html += '<td>'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.korreprnm+'</td>';
html += '<td>'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.koraddr+'</td>';
html += '<td><a href="javascript:void(0);" onclick="selItem(\''+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.business+'\')">'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.business+'</a></td>';
html += '<td>'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.crpno+'</td>';
html += '<td>'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.tel+'</td>';
html += '<td>'+r.niceSearch.Search.OperationResponse.SA0701.Items.Item.epr_cnu_yn+'</td>';
html += '</tr>';
}
}else{
html += '<tr>';
html += '<td colspan="7">검색된 결과가 없습니다.</td>';
html += '</tr>';
}
$("#list").append(html);
if(paging > niceCnt){
niceApiSearch((niceCnt*=1)+1);
}else{
//데이터 로딩 완료 후 blockUI 삭제
$.unblockUI();
}
});
}
/*
자식 팝업창 -> 부모창 컨트롤
-opener.document.getElementById("id").value="value"; //dom 객체로 제어
$("#id",opener.document).val("value"); // jQuery 방식 1
$("input[name=imgFile]", parent.document.body).val() // 방식 2
$(opener.document).find("#id").val("value"); //방식 3
- opener.location.href="javascript:fun();"; //일반적인 방법
$(opener.location).attr("href","javascript:fun();"); //jQuery 이용
*/
//부모창에 값 전달
function selItem(business){
if(business.length == 0){
alert("사업자등록번호가 존재하지 않습니다. 다른 업체를 선택하십시오.");
return false;
}
var parentId = '${parentId}';
var parentNo = '${parentNo}';
//bizrNo-1
//p_bizrNo-1
if(parentId == 'niceSearch'){
$("#s_bizrNo-"+parentNo,opener.document).val(business);
}else{
$("#p_bizrNo-"+parentNo,opener.document).val(business);
}
self.close();
}
function JSONtoString(object) {
var results = [];
for (var property in object) {
var value = object[property];
if (value)
results.push(property.toString() + ': ' + value);
}
return '{' + results.join(', ') + '}';
}
</script>
</head>
<body class="seedPop">
<form:form name="frm" id="frm" action="" method="post">
<article class="menu_none">
<div class="titleWrap">
<h1>NICE 기업조회</h1>
</div>
<div id="content">
<input type="hidden" id="type" name="type" value="N"/>
<input type="hidden" id="niceCnt" name="niceCnt" value=""/>
<table class="readTable">
<caption>NICE 기업조회 화면입니다.</caption>
<colgroup>
<col style="width: 20%;" />
<col style="width: auto;" />
</colgroup>
<tbody>
<tr>
<th scope="row"><label for="codeName">기업명 </label></th>
<td><input type="text" class="bg_essential inpstyle type2" id="niceNm" name="niceNm" title="기업명" required style="width:200px;" /></td>
</tr>
</tbody>
</table>
<div class="btArea bt_c">
<span class="button big_green"><a href="javascript:void(0);" onclick="niceApiSearch(1);">검색하기</a></span>
<span class="button big_gray"><a href="javascript:self.close();">닫기</a></span>
</div>
<strong style="margin-left: 5px;">전체 : <span id="totcnt">0</span>건</strong>
<div style="width:100%; height:420px; overflow:auto">
<table class="readTable" style="text-align: center;">
<caption>NICE 기업조회 화면입니다.</caption>
<colgroup>
<col style="width: 10%;" />
<col style="width: 20%;" />
<col style="width: 10%;" />
<col style="width: auto;" />
<col style="width: 10%;" />
<col style="width: 10%;" />
<col style="width: 10%;" />
<col style="width: 5%;" />
</colgroup>
<tbody id="list">
<tr>
<th scope="row" style="text-align: center;">순번</th>
<th scope="row" style="text-align: center;">업체명</th>
<th scope="row" style="text-align: center;">대표자명</th>
<th scope="row" style="text-align: center;">주소</th>
<th scope="row" style="text-align: center;">사업자번호</th>
<th scope="row" style="text-align: center;">법인등록번호</th>
<th scope="row" style="text-align: center;">전화번호</th>
<th scope="row" style="text-align: center;">존속여부</th>
</tr>
<tr>
<td colspan="7">검색된 결과가 없습니다.</td>
</tr>
</tbody>
</table>
</div>
</div>
</article>
</form:form>
</body>
</html>

View File

@ -0,0 +1,228 @@
<%@ page 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"%>
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<meta id="viewport" name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>자료요구현황</title>
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
<!-- css -->
<link rel="stylesheet" href="/css/seed.reset.css">
<link rel="stylesheet" href="/css/seed.layout.css">
<link rel="stylesheet" href="/css/layout.css">
<link rel="stylesheet" href="/css/button.css">
<link rel="stylesheet" href="/css/seed.contents.css">
<link rel="stylesheet" href="/css/seed.mediaquery.css">
<link rel="stylesheet" href="/css/lib/jquery.mCustomScrollbar.min.css">
<link rel="stylesheet" href="/css/jquery-ui.css"/>
<link rel="stylesheet" href="/css/smartPop.css"/>
<link rel="stylesheet" href="/css/space.css"/>
<link rel="stylesheet" href="/css/picker.default.css">
<link rel="stylesheet" href="/css/picker.default.date.css">
<link rel="stylesheet" href="/css/case/common.css">
<!-- css -->
<!--[if lt IE 9]>
<script src="/js/lib/polyfill/IE9.js"></script>
<script src="/js/lib/polyfill/respond.min.js"></script>
<![endif]-->
<script src="/js/lib/jquery-1.9.1.min.js"></script>
<script src="/js/lib/jquery-ui.min.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/commonFileUtil.js"></script>
<script src="/js/common_XHR.js"></script>
<script src="/js/common.js"></script>
</head>
<body>
<h2 class="mb10 mt30">■ 출석현황</h2>
<form name="frm" id="frm" action="" method="post">
<input type="hidden" name="caseNo" value="${param.caseNo }">
<div class="form-wrap">
<div class="table-layout br-none">
<table>
<caption>분쟁조정 사례 테이블입니다.</caption>
<colgroup>
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">출석요구일자</th>
<th scope="col">출석예정일자</th>
<th scope="col">출석일자</th>
<th scope="col">대상</th>
<th scope="col">출석여부</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody id="innertBox">
<tr>
<td colspan="6">등록된 데이터가 없습니다.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="ac mt20 mb60">
<button type="button" id="fileReqIn" class="btn-default violet responsive">저장</button>
<button type="button" class="btn-default responsive returnList" onclick="window.close()">닫기</button>
</div>
</form>
<form name="frmTemp" id="frmTemp" action="" method="post">
<input type="hidden" name="seqNo" id="seqNo" value="">
<input type="hidden" name="attendanceReqdt" id="attendanceReqdt" value="">
<input type="hidden" name="attendanceEnddt" id="attendanceEnddt" value="">
<input type="hidden" name="attendanceDt" id="attendanceDt" value="">
<input type="hidden" name="attendanceCheck" id="attendanceCheck" value="">
<input type="hidden" name="atentSttusTarget" id="atentSttusTarget" value="">
</form>
<script type="text/javascript">
$(document).ready(function(){
var dataLen = "";
$("#typeTemp").val("L");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublprocessmng/ajax/AtentRequestList.do";
XHR2(url, param, function(r){
if(r.data.length > 0){
dataLen = r.data.length;
var htmlVal = "";
for(var i = 0; i < r.data.length; i++){
var attendanceEnddt = "";
if(r.data[i].attendanceEnddt != undefined){
attendanceEnddt = r.data[i].attendanceEnddt;
}
var attendanceDt = "";
if(r.data[i].attendanceDt != undefined){
attendanceDt = r.data[i].attendanceDt;
}
var selecter01 = "";
var selecter02 = "";
var selecter03 = "";
if(r.data[i].target != undefined && r.data[i].target == "2601000000"){
selecter01 = "selected='selected'";
}else if(r.data[i].target != undefined && r.data[i].target == "2602000000"){
selecter02 = "selected='selected'";
}else if(r.data[i].target != undefined && r.data[i].target == "2603000000"){
selecter03 = "selected='selected'";
}
htmlVal +='<tr>';
htmlVal +='<td><input type="text" class="datepicker" name="attendanceReqdt_'+i+'" id="attendanceReqdt_'+i+'" value="'+r.data[i].attendanceReqdt+'" maxlength="10"></td>';
htmlVal +='<td><input type="text" class="datepicker" name="attendanceEnddt_'+i+'" id="attendanceEnddt_'+i+'" value="'+attendanceEnddt+'" maxlength="10"></td>';
htmlVal +='<td><input type="text" class="datepicker" name="attendanceDt_'+i+'" id="attendanceDt_'+i+'" value="'+attendanceDt+'" maxlength="10"></td>';
htmlVal +='<td>';
htmlVal +='<select name="atentSttusTarget_'+i+'" id="atentSttusTarget_'+i+'">';
htmlVal +='<option value="2601000000" '+selecter01+'>신청인</option>';
htmlVal +='<option value="2602000000" '+selecter02+'>피신청인</option>';
htmlVal +='<option value="2603000000" '+selecter03+'>양당사자</option>';
htmlVal +='</select>';
htmlVal +='</td>';
htmlVal +='<td>';
htmlVal +='<select name="attendanceCheck_'+i+'" id="attendanceCheck_'+i+'">';
if(r.data[i].attendanceCheck == "Y"){
htmlVal +='<option value="Y" selected="selected">출석</option>';
htmlVal +='<option value="N">불출석</option>';
}else{
htmlVal +='<option value="Y">출석</option>';
htmlVal +='<option value="N" selected="selected">불출석</option>';
}
htmlVal +='</select>';
htmlVal +='</td>';
htmlVal +='<td>';
htmlVal +='<button type="button" class="btn-default" onclick="dataDel('+r.data[i].seqNo+');">삭제</button>';
htmlVal +='<input type="hidden" name="seqNo_'+i+'" id="seqNo_'+i+'" value="'+r.data[i].seqNo+'">';
htmlVal +='</td>';
htmlVal +='</tr>';
}
$("#innertBox").html(htmlVal);
}else{
}
});
$("#fileReqIn").click(function(){
$("#typeTemp").val("U");
for(var i = 0; i < dataLen; i++){
$("#seqNo").val($("#seqNo_"+i).val());
$("#attendanceReqdt").val($("#attendanceReqdt_"+i).val());
$("#attendanceEnddt").val($("#attendanceEnddt_"+i).val());
$("#attendanceDt").val($("#attendanceDt_"+i).val());
$("#attendanceCheck").val($("#attendanceCheck_"+i).val());
$("#atentSttusTarget").val($("#atentSttusTarget_"+i).val());
var param = jQuery('#frmTemp').serialize();
url = "/gtm/case/trublprocessmng/ajax/AtentRequestUp.do";
XHR2(url, param, function(r){
});
}
alert("저장 되었습니다.");
window.close();
});
});
function dataDel(delId){
if(confirm("정말 삭제 하시겠습니까?")){
$("#seqNo").val(delId);
var param = jQuery('#frmTemp').serialize();
url = "/gtm/case/trublprocessmng/ajax/AtentRequestDel.do";
XHR2(url, param, function(r){
});
alert("삭제가 완료 되었습니다");
location.reload(true);
}
}
</script>
<!-- js -->
<!-- 라이브러리, 플러그인 -->
<script src="/js/lib/jquery.pjax.js"></script>
<script src="/js/lib/modernizr-custom.js"></script>
<script src="/js/lib/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="/js/lib/jquery.bxslider.min.js"></script>
<script src="/js/lib/picker.js"></script>
<script src="/js/lib/picker.date.js"></script>
<script src="/js/lib/legacy.js"></script>
<script src="/js/lib/base64.js"></script>
<!-- 라이브러리, 플러그인 끝 -->
<script src="/js/jquery.seed.js"></script>
<script src="/js/seed.common.js"></script>
<script src="/js/seed.app.js"></script>
<script src="/js/DateTimePicker.js"></script>
<script src="/js/jquery.selectboxes.js"></script>
<!-- js -->
</body>
</html>

View File

@ -0,0 +1,308 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="seed.utils.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!doctype html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="ko"><![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="ko"><![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="ko"><![endif]-->
<!--[if (gtm IE 9)|!(IE)]><!--><html lang="ko"><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>협의회이관</title>
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
<!-- css -->
<link href="/css/total.css" rel="stylesheet" type="text/css"/>
<link href="/css/seed.contents.css" rel="stylesheet" type="text/css"/>
<link href="/css/jquery-ui.css" rel="stylesheet" type="text/css"/>
<link href="/css/animate.css" rel="stylesheet" type="text/css"/>
<!-- css -->
<!-- js -->
<!--[if lte IE 9]>
<script src="/js/html5.js"></script>
<![endif]-->
<!-- js -->
<script src="/js/jquery-1.9.1.min.js"></script>
<!--<script src="/js/jquery-1.7.min.js"></script>-->
<script src="/js/jquery-ui.min.js"></script>
<script src="/js/jquery.number.min.js"></script>
<script src="/js/jquery.cookie.js"></script>
<script src="/js/slick.min.js"></script>
<script src="/js/base64.js"></script>
<script src="/js/common.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/date.format.js"></script>
<script src="/js/browser.js"></script>
<script src="/js/jquery.paging.js"></script>
<script src="/js/jquery.slides.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.mousewheel.min.js"></script>
<script src="/js/commonFileUtil.js"></script>
<script src="/js/common_XHR.js"></script>
<script src="/js/jquery.selectboxes.js"></script>
<!-- js -->
<script type="text/javascript">
$(document).ready(function(){
jQuery('input').keydown(function(){
if ( event.keyCode == 13 ){
cfrnctrnsferConfirm();
return false;
}
});
setTimeout(function() {
caseGubunCombo();
}, 0);
});
//조정유형
function caseGubunCombo(){
var url = "";
$("#type").val("L");
var param = jQuery('#frm').serialize();
url = "/gtm/case/common/ajax/CaseGubun3.do";
XHR(url, param, function(r){
var objList = $("#caseGubun");
var sel = "";
ajaxCombo(r.data, objList, sel);
});
}
/*
자식 팝업창 -> 부모창 컨트롤
-opener.document.getElementById("id").value="value"; //dom 객체로 제어
$("#id",opener.document).val("value"); // jQuery 방식 1
$("input[name=imgFile]", parent.document.body).val() // 방식 2
$(opener.document).find("#id").val("value"); //방식 3
- opener.location.href="javascript:fun();"; //일반적인 방법
$(opener.location).attr("href","javascript:fun();"); //jQuery 이용
*/
//부모창에 값 전달
/* function selItem(business){
if(business.length == 0){
alert("사업자등록번호가 존재하지 않습니다. 다른 업체를 선택하십시오.");
return false;
}
var parentId = '${parentId}';
var parentNo = '${parentNo}';
//bizrNo-1
//p_bizrNo-1
if(parentId == 'niceSearch'){
$("#s_bizrNo-"+parentNo,opener.document).val(business);
}else{
$("#p_bizrNo-"+parentNo,opener.document).val(business);
}
self.close();
} */
function cfrnctrnsferConfirm(){
if(confirm("협의회이관을 하시겠습니까?")){
var url = "";
$("#type").val("I");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trubltrnsfer/ajax/CfrnctrnsferIns.do";
XHR(url, param, function(r){
$("#type").val("FILE");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublreqstmng/ajax/CaseFileInsert.do"; //파일등록
XHR2(url, param, function(r){
alert("협의회이관요청이 완료되었습니다.");
self.close();
});
});
}
}
function JSONtoString(object) {
var results = [];
for (var property in object) {
var value = object[property];
if (value)
results.push(property.toString() + ': ' + value);
}
return '{' + results.join(', ') + '}';
}
function fileTempUpCfm(upFile, fileGubun){
var i = upFile.id.split('_')[1];
if($(upFile).val() == ""){
alert("파일을 선택해 주세요");
$(upFile).focus();
return false;
}
var val = $(upFile).val().split("\\");
var fileName = val[val.length-1]; //마지막 화일명
var fileType = fileName.substring(fileName.lastIndexOf("."));//확장자빼오기
var extArray = new Array("txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz");
var extChk = false;
for(var f=0; f<extArray.length; f++){
if("."+extArray[f] == fileType.toLowerCase()){
extChk = true;
break;
}
}
if(!extChk){
alert("업로드 할 수 없는 파일 형식 입니다.");
return false;
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;잠시만 기다려주세요.</h1>' });
$('#fileTempUpFrm'+i).ajaxForm({
//보내기전 validation check가 필요할경우
beforeSubmit: function (data, form, option) {
//alert("전송전!!");
//return false;
},
//submit이후의 처리
success: function(response, status){
$.unblockUI();
jf_upload_set_cfm(response.fileName, response.reFileName, response.fileSize, response.fileType, response.copyContractYn, i, fileGubun);
//alert("after");
},
//ajax error
error: function(){
$.unblockUI();
alert("작업이 실패 했습니다.");
}
}).submit();
}
function jf_upload_set_cfm(fileName, reFileName, fileSize, fileType, copyContractYn, objNo, fileGubun){
/*alert("fileName:" + fileName);
alert("reFileName:" + reFileName);
alert("fileSize:" + fileSize);
alert("fileType:" + fileType);
alert("copyContractYn:" + copyContractYn);*/
var sizeData = parseInt(fileSize);
sizeData = sizeData/1024/1024;
totFileSize = sizeData;
sizeData = sizeData.toFixed(2);
if(totFileSize > 100){
alert("첨부파일 크기가 100Mbyte를 넘었습니다.");
return;
}
var upFileLiLength = parseInt($("#uploadFileCntId").val());
if(upFileLiLength != "" && upFileLiLength != undefined){
if(fileCountFix==0){
fileCountFix = upFileLiLength+1;
}
}
//홈페이지에서 등록하는 파일은 메모 박스가 없게...
var isFileMemo = true;
if(reFileName != null && reFileName !="" && reFileName != undefined){
var arrReName = reFileName.split("_");
if(arrReName.length > 0){
if(arrReName[0] == 'mediation'){
isFileMemo = false;
}
}
}
var fileHtml = "<div class=\"row\" class=\"fileClassCnt\" id=\"fileUploadP"+fileCountFix+"\">";
fileHtml += "<img src=\"/img/user/bbs/icon_file.gif\" alt=\"gif\">&nbsp;&nbsp;";
fileHtml += fileName+"&nbsp;&nbsp;("+sizeData+")";
fileHtml += "&nbsp;";
fileHtml += "<a href=\"javascript:;\" onclick=\"javascript:jf_delete_file('"+fileCountFix+"', '"+sizeData+"', '"+copyContractYn+"', '"+objNo+"');\"><img src=\"/img/user/bbs/btn_file_del.png\" alt=\"삭제\"></a>";
if(isFileMemo){
fileHtml += "<input type='text' name='fileMemo' style='width:310px;display: block;' maxlength='1000'>";
}
fileHtml += "<input type=\"hidden\" name=\"fileIdx\" value=\"\" class=\"fileIdxClass\"/>";
fileHtml += "<input type=\"hidden\" name=\"uploadFileName\" value=\""+fileName+"\" />";
fileHtml += "<input type=\"hidden\" name=\"uploadFileReName\" value=\""+reFileName+"\" />";
fileHtml += "<input type=\"hidden\" name=\"fileGubun\" value=\""+fileGubun+"\" />";
fileHtml += "<input type='hidden' name='copyContractYn' value='"+copyContractYn+"' />";
fileHtml += "</div>";
fileCountFix = fileCountFix+1;
$("#upFileHtml"+objNo).append(fileHtml);
}
</script>
</head>
<body class="seedPop">
<form:form name="frm" id="frm" action="" method="post">
<input type="hidden" id="type" name="type" value="N"/>
<input type="hidden" id="caseNo" name="caseNo" value="${caseNo}"/>
<input type="hidden" id="rceptNo" name="rceptNo" value="${rceptNo}"/>
<input type="hidden" name="fileFuncType" value="trublreqstmng" />
<input type="hidden" name="uploadFileCntId" id="uploadFileCntId" value="0" />
<input type="hidden" id="oldCaseGubun" name="oldCaseGubun" value="${caseGubun}"/>
<article class="menu_none">
<div class="titleWrap" style="margin-top: 20px;margin-left: 10px;">
<h1>협의회이관</h1>
</div>
<div id="content">
<table class="readTable">
<caption>협의회이관 화면입니다.</caption>
<colgroup>
<col style="width: 20%;" />
<col style="width: auto;" />
</colgroup>
<tbody>
<tr>
<th scope="row" style="text-align: center;"><font color="red">* </font><label for="caseGubun">이관부처</label></th>
<td>
<select style="width: 200px; height: 26px;" name="caseGubun" id="caseGubun"></select>
</td>
</tr>
<tr>
<th scope="row" style="text-align: center;"><font color="red">* </font><label for="transferReason">이관사유</label></th>
<td>
<!-- <input type="text" class="bg_essential inpstyle type2" id="niceNm" name="niceNm" title="기업명" required style="width:200px;" /> -->
<textarea style="width:450px; min-height:120px;height:auto;padding:6px 10px;resize:vertical;"
id="transferReason" name="transferReason" maxlength="2500"></textarea>
</td>
</tr>
<tr>
<th scope="row" style="text-align: center;">참조파일</th>
<td>
<div class="cs-files fl" id="upFileHtml1">
</div>
<div class="fr">
<label for="upFile_1" class="btn-default violet responsive" style="width: 113px">파일 선택</label>
</div>
</td>
</tr>
</tbody>
</table>
<div class="btArea bt_c">
<span class="button big_green"><a href="javascript:void(0);" onclick="cfrnctrnsferConfirm();">협의회이관 확인</a></span>
<span class="button big_gray"><a href="javascript:self.close();">닫기</a></span>
</div>
</div>
</article>
</form:form>
<form id="fileTempUpFrm1" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="trublreqstmng" />
<input type="hidden" name="copyContractYn" value="Y" />
<div class="temp-file-area">
<input type="file" name="upFile1" id="upFile_1" class="essential temp-file-hideen" onchange="fileTempUpCfm(this, '4829000000');" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,826 @@
<%@ page 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'%>
<%@ page import="seed.utils.SeedUtils"%>
<%@ include file="/WEB-INF/jsp/seed/_extra/dao/smsDao.jsp"%>
<%@ include file="/WEB-INF/jsp/seed/_extra/common/seedPaging.jsp"%>
<%
//호환성보기 방지하기
response.setHeader("X-UA-Compatible", "IE=Edge");
//세션 값
String memberIdx = SeedUtils.setReplaceNull(session.getAttribute("memberIdx"));
String memberName = SeedUtils.setReplaceNull(session.getAttribute("memberName"));
String memberGrant = SeedUtils.setReplaceNull(session.getAttribute("memberGrant"), "N");
//사이트 키, 사이트 메뉴 키, 페이지 타입(gtm,gte), 사이트담당자 권한체크("true","false"), 해당메뉴담당자 권한체크("true","false")
String siteIdx = SeedUtils.setReplaceNull((String)request.getAttribute("siteIdx"));
String siteMenuIdx = SeedUtils.setReplaceNull((Integer)request.getAttribute("siteMenuIdx"));
siteMenuIdx = siteMenuIdx == "" ? SeedUtils.setReplaceNull(request.getParameter("siteMenuIdx")) : siteMenuIdx;
String memberAuth = SeedUtils.setReplaceNull(request.getAttribute("memberAuth"), "false");
String memberAuthM = SeedUtils.setReplaceNull(request.getAttribute("memberAuthM"), "false");
String siteMenuManager = SeedUtils.setReplaceNull(request.getAttribute("siteMenuManager"), "N");
String sPage = SeedUtils.setReplaceNull(request.getParameter("spage"), "1");
String sRow = SeedUtils.setReplaceNull(request.getParameter("srow"), "10");
String autoType = SeedUtils.setReplaceNull(request.getParameter("autoType"), "0");
String caseNo = SeedUtils.setReplaceNull(request.getParameter("caseNo"), "0");
//페이지 URL
String pageLinkUrl = "/user/extra/"+siteIdx+"/sms/messageList/jsp/Page.do?siteMenuIdx="+siteMenuIdx;
int total = 0;
List<Map<String,Object>> messangeDataList = null;
List<Map<String,Object>> smsDataList = null;
Map<String,Object> smsDataListCnt = null;
Map<String,Object> smsAutoData = null;
List<Map<String,Object>> smsAutoPhoneList = null;
SeedSqlCon seedSqlCon = null;
SeedDbUtilsSupport seedDbUtilsSupport = new SeedDbUtilsSupport();
boolean success = false;
int phoneSize = 1;
try{
seedSqlCon = new SeedSqlCon("");
// 조사관 배정 SMS, 출석조사 SMS, 종료통지 SMS
if(!autoType.equals("0")) {
smsAutoData = getSmsAutoDataSet(seedSqlCon, autoType, caseNo);
// Object[] objData = {
// memberIdx, "LMS",
// smsAutoData.get("AUTO_SMS_TEXT").toString()
// };
//
// seedSqlCon.setAutoCommit(false);
// success = setMessageRegProc(seedSqlCon, objData);
// seedSqlCon.commit();
smsAutoPhoneList = getSmsAutoPhoneList(seedSqlCon, autoType, caseNo);
if(smsAutoPhoneList != null && smsAutoPhoneList.size() > 0) {
phoneSize = smsAutoPhoneList.size();
}
}
messangeDataList = getMessageDataList(seedSqlCon, memberIdx);
smsDataList = getSmsDataList(seedSqlCon, memberIdx, Integer.parseInt(sPage), Integer.parseInt(sRow));
smsDataListCnt = getSmsDataListCnt(seedSqlCon, memberIdx);
if(smsDataListCnt != null){
total = seedDbUtilsSupport.countDataToInt(smsDataListCnt.get("DATA_CNT"));
}
}catch(NumberFormatException e){
System.out.println("/WEB-INF/views/_extra/user/sms/smsList.jsp 파일에서 에러 발생 NumberFormatException "+e.getMessage());
}catch(IllegalArgumentException e){
System.out.println("/WEB-INF/views/_extra/user/sms/smsList.jsp 파일에서 에러 발생 IllegalArgumentException "+e.getMessage());
}catch(Exception e){
System.out.println("/WEB-INF/views/_extra/user/sms/smsList.jsp 파일에서 에러 발생 Exception "+e.getMessage());
}finally{
if(seedSqlCon != null){
seedSqlCon.setSeedSqlDispose();
}
}
%>
<!doctype html>
<html lang="ko">
<head>
<title>메시지</title>
<link rel="stylesheet" type="text/css" href="/site/case/css/default.css">
<link rel="stylesheet" type="text/css" href="/site/case/css/common.css">
<!-- js -->
<script src="/js/lib/jquery-1.9.1.min.js"></script>
<script src="/js/lib/jquery-migrate-1.2.1.min.js"></script>
<script src="/js/lib/jquery-ui.min.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/date.format.js"></script>
<script src="/js/jquery.slides.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.mousewheel.min.js"></script>
<script src="/js/statistics.js"></script>
<script src="/js/captcha.js"></script>
<script src="/js/canvas.js"></script>
<script src="/js/jquery.PrintArea.js_4.js"></script>
<script src="/js/jquery.printElement.js"></script>
<script src="/js/lib/jquery.bxslider.min.js"></script>
<script src="/js/lib/picker.js"></script>
<script src="/js/lib/picker.date.js"></script>
<script src="/js/lib/legacy.js"></script>
<script src="/js/lib/slick.min.js"></script>
<script src="/js/seed.user.app.js"></script>
<!-- js -->
<!--meta name="msapplication-.." content="#FFFFFF"-->
<link rel="stylesheet" type="text/css" href="/site/case/css/default.css">
<link rel="stylesheet" type="text/css" href="/site/case/css/common.css">
<script type="text/javascript" src="/site/case/js/jquery.easing.min.js"></script>
<script type="text/javascript" src="/site/case/js/js.js"></script>
<script>
/* <![CDATA[ */
$(document).ready(function(){
<%
if(!autoType.equals("0")) {
smsAutoData.get("AUTO_SMS_TEXT").toString();
%>
setTimeout(function() {
messageSel("LMS", '<%= smsAutoData.get("AUTO_SMS_TEXT").toString() %>');
}, 100);
<%
}
%>
$("#clearBtn").click(function(){
if($("#type").val() == "SMS"){
$("#smsContents").val("");
$('#smsCount').text("0");
}else{
$("#lmsContents").val("");
$('#lmsCount').text("0");
}
});
$("#smsBtn").click(function(){
$("#type").val("SMS");
});
$("#lmsBtn").click(function(){
$("#type").val("LMS");
});
$("#frm").submit(function(){
if($("#command").val() == "send"){
if($("#smsContents").val() == "" && $("#type").val() == "SMS"){
alert("내용을 입력하세요.");
$("#smsContents").focus();
return false;
}
if($("#lmsContents").val() == "" && $("#type").val() == "LMS"){
alert("내용을 입력하세요.");
$("#lmsContents").focus();
return false;
}
if($("#phone").val() == ""){
alert("수신번호를 입력하세요.");
$("#phone").focus();
return false;
}
}
});
$("#frmMessage").submit(function(){
if($("#sms_type").val() == ""){
alert("내용을 입력하세요.");
$("#sms_type").focus();
return false;
}
});
$('#smsDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#smsMaxcount', this);
var $count = $('#smsCount', this);
var $input = $("#smsContents");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
$('#lmsDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#lmsMaxcount', this);
var $count = $('#lmsCount', this);
var $input = $("#lmsContents");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
$('#messageDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#messageMaxcount', this);
var $count = $('#messageCount', this);
var $input = $("#sms_type");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
});
function checkKey() {
var char_ASCII = event.keyCode;
//숫자
if (char_ASCII >= 48 && char_ASCII <= 57 )
return 1;
//영어
else if ((char_ASCII>=65 && char_ASCII<=90) || (char_ASCII>=97 && char_ASCII<=122))
return 2;
//특수기호
else if ((char_ASCII>=33 && char_ASCII<=47) || (char_ASCII>=58 && char_ASCII<=64)
|| (char_ASCII>=91 && char_ASCII<=96) || (char_ASCII>=123 && char_ASCII<=126))
return 4;
//한글
else if ((char_ASCII >= 12592) || (char_ASCII <= 12687))
return 3;
else
return 0;
}
function checkValue() {
if(checkKey() != 1 ) {
event.returnValue = false;
alert("한글만 입력 가능합니다.");
return false;
}
}
function messageSel(type, obj) {
$("#type").val(type);
if(type == "SMS"){
$("#smsBtn").focus();
$("#smsContents").val(obj);
}else{
$("#lmsBtn").focus();
$("#lmsContents").val(obj);
}
}
function messageDel(numb) {
if(!confirm("해당 데이타를 삭제하시겠습니까?")){
return false;
}else{
$("#command").val("messageDel");
$("#messageIdx").val(numb);
$("#frm").submit();
}
}
function fn_add_phone() {
var phoneIdx = parseInt($('#phoneIdx').val()) +1;
if(phoneIdx > 10) {
alert("수신번호는 10개 이상 기입하실 수 없습니다.");
return false;
}
$('#phoneIdx').val(phoneIdx);
$('#phone_list').append('<li><span class="sms_number">'+phoneIdx+'</span><input type="text" name="phone" id="phone'+phoneIdx+'" class="inp_ful2 mgb10 pal30" placeholder="\'-\'빼고 숫자만 입력해 주세요." onkeypress="return checkValue();"></li>');
}
function add(obj) {
if($("#type").val() == "SMS"){
$("#smsContents").val($("#smsContents").val()+obj);
$("#smsContents").focus();
$('#smsDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#smsMaxcount', this);
var $count = $('#smsCount', this);
var $input = $("#smsContents");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
}else{
$("#lmsContents").val($("#lmsContents").val()+obj);
$("#lmsContents").focus();
$('#lmsDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#lmsMaxcount', this);
var $count = $('#lmsCount', this);
var $input = $("#lmsContents");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
}
}
function add2(obj) {
$("#sms_type").val($("#sms_type").val()+obj);
$("#sms_type").focus();
$('#messageDiv').each(function () {
// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
var $maxcount = $('#messageMaxcount', this);
var $count = $('#messageCount', this);
var $input = $("#sms_type");
// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
var maximumByte = $maxcount.text() * 1;
// update 함수는 keyup, paste, input 이벤트에서 호출한다.
var update = function () {
var before = $count.text() * 1;
var str_len = $input.val().length;
var cbyte = 0;
var li_len = 0;
for (i = 0; i < str_len; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
if (cbyte <= maximumByte) {
li_len = i + 1;
}
}
// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
if (parseInt(cbyte) > parseInt(maximumByte)) {
alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
var str = $input.val();
var str2 = $input.val().substr(0, li_len);
$input.val(str2);
var cbyte = 0;
for (i = 0; i < $input.val().length; i++) {
var ls_one_char = $input.val().charAt(i);
if (escape(ls_one_char).length > 4) {
cbyte += 2; //한글이면 2를 더한다
} else {
cbyte++; //한글아니면 1을 다한다
}
}
}
$count.text(cbyte);
};
// input, keyup, paste 이벤트와 update 함수를 바인드한다
$input.bind('input keyup keydown paste change', function () {
setTimeout(update, 0)
});
update();
});
}
function fn_send() {
var phoneIdx = parseInt($('#phoneIdx').val());
var phoneNums = "";
$('#phoneNums').val();
$("input[name=phone]").each(function(index, item){
if($(item).val() != "") {
if(phoneNums == "") {
phoneNums = $(item).val();
} else {
phoneNums += "," + $(item).val();
}
};
});
$('#phoneNums').val(phoneNums);
document.frm.submit();
}
/* ]]> */
</script>
</head>
<body>
<div class="meet_lg_wrap2 sms_wrap" style="max-width: 100%; width: 100%">
<div class="sms">
<div class="sms_con bot_dash">
<div class="sms_con_l">
<div class="sms_l_con mgr15">
<form:form name="frm" id="frm" action="/user/extra/${siteIdx}/sms/process/jsp/Page.do" method="post">
<input type="hidden" name="siteMenuIdx" value="<%=siteMenuIdx%>" />
<input type="hidden" name="sPage" value="1" />
<input type="hidden" name="command" id="command" value="send" />
<input type="hidden" name="type" id="type" value="SMS" />
<input type="hidden" name="sRow" value="<%=sRow%>" />
<input type="hidden" name="messageIdx" id="messageIdx" value="" />
<input type="hidden" name="phoneIdx" id="phoneIdx" value="<%=phoneSize%>" />
<input type="hidden" name="phoneNums" id="phoneNums" value="" />
<div class="sms_tab_wrap">
<div class="tab2b TAP2b_1">
<strong class="tab2bTit inblock indent disc2 tab_on"><a href="#1" id="smsBtn">SMS 발송</a></strong>
</div>
<div class="tab2bCon tab2bCon1">
<div class="inbox6 mgb10 clear">
<textarea name="smsContents" id="smsContents" cols="30" rows="10" class="sms_inp_l2" placeholder="SMS 내용을 입력해주세요." maxlength="1000"></textarea>
<div class="fr mgt5" id="smsDiv"><span class="c_red" id="smsCount">0</span>/<span id="smsMaxcount">90</span>byte</div>
</div>
<div class="inbox6_2 mgb10 sms_noti">SMS는 90byte만 가능합니다.<br/>초과시 LMS발송을 이용하세요.</div>
</div>
<div class="tab2b TAP2b_2">
<strong class="tab2bTit inblock indent disc2"><a href="#1" id="lmsBtn">LMS 발송</a></strong>
</div>
<div class="tab2bCon tab2bCon1 dis_none">
<div class="inbox6 mgb10 clear">
<textarea name="lmsContents" id="lmsContents" cols="30" rows="10" class="sms_inp_l2" placeholder="LMS 내용을 입력해주세요." maxlength="1000"></textarea>
<div class="fr mgt5" id="lmsDiv"><span class="c_red" id="lmsCount">0</span>/<span id="lmsMaxcount">2000</span>byte</div>
</div>
<div class="inbox6_2 mgb10 sms_noti">LMS는 2000byte만 가능합니다.<br/>&nbsp;</div>
</div>
</div><!-- //sms_tab_wrap -->
<div class="inbox6 mgb10">
<h4 class="">특수문자</h4>
<div class="inbox spcl_chrct2">
<a href="javascript:add('©')">&#169;</a> <a href="javascript:add('|')">&#124;</a> <a href="javascript:add('·')">&#183;</a> <a href="javascript:add('↑')">&#8593;</a> <a href="javascript:add('€')">&#8364;</a> <a href="javascript:add('²')">&#178;</a> <a href="javascript:add('½')">&#189;</a> <a href="javascript:add('♥')">&#9829;</a><a href="javascript:add('&')">&#38;</a>
<a href="javascript:add('®')">&#174;</a> <a href="javascript:add('™')">&#153;</a> <a href="javascript:add('“')">&#147;</a> <a href="javascript:add('”')">&#148;</a> <a href="javascript:add('')">&#145;</a> <a href="javascript:add('')">&#146;</a>
<a href="javascript:add('«')">&#171;</a> <a href="javascript:add('»')">&#187;</a> <a href="javascript:add('')">&#8249;</a> <a href="javascript:add('')">&#8250;</a> <a href="javascript:add('§')">&#167;</a> <a href="javascript:add('¶')">&#182;</a> <a href="javascript:add('•')">&#149;</a> <a href="javascript:add('…')">&#8230;</a> <a href="javascript:add('|')">&#124;</a> <a href="javascript:add('¦')">&#166;</a> <a href="javascript:add('')">&#150;</a> <a href="javascript:add('—')">&#151;</a>
<a href="javascript:add('¤')">&#164;</a> <a href="javascript:add('$')">&#36;</a> <a href="javascript:add('¢')">&#162;</a> <a href="javascript:add('£')">&#163;</a> <a href="javascript:add('¥')">&#165;</a> <a href="javascript:add('≤')">&#8804;</a> <a href="javascript:add('≥')">&#8805;</a> <a href="javascript:add('×')">&#215;</a> <a href="javascript:add('÷')">&#247;</a> <a href="javascript:add('')">&#8722;</a> <a href="javascript:add('±')">&#177;</a> <a href="javascript:add('≠')">&#8800;</a> <a href="javascript:add('¹')">&#185;</a> <a href="javascript:add('²')">&#178;</a> <a href="javascript:add('³')">&#179;</a>
<a href="javascript:add('½')">&#189;</a> <a href="javascript:add('¼')">&#188;</a>
<a href="javascript:add('¾')">&#190;</a> <a href="javascript:add('‰')">&#8240;</a> <a href="javascript:add('°')">&#176;</a> <a href="javascript:add('√')">&#8730;</a> <a href="javascript:add('∞')">&#8734;</a> <a href="javascript:add('←')">&#8592;</a> <a href="javascript:add('↑')">&#8593;</a>
<a href="javascript:add('→')">&#8594;</a> <a href="javascript:add('↓')">&#8595;</a> <a href="javascript:add('↔')">&#8596;</a> <a href="javascript:add('♠')">&#9824;</a> <a href="javascript:add('♣')">&#9827;</a> <a href="javascript:add('♥')">&#9829;</a> <a href="javascript:add('♦')">&#9830;</a> <a href="javascript:add('◊')">&#9674;</a> <a href="javascript:add('†')">&#8224;</a> <a href="javascript:add('‡')">&#8225;</a> <a href="javascript:add('¡')">&#161;</a> <a href="javascript:add('¿')">&#191;</a>
</div>
</div>
<%--<h4 class="mgb5">수신번호</h4>
<input type="text" name="phone" id="phone" class="inp_ful2 mgb10" placeholder="'-'빼고 숫자만 입력해 주세요." onkeypress="return checkValue();">--%>
<%--<button type="submit" class="btn_next pal32i par33i">전송하기</button>
<a href="#n" class="btn_cancle pal32i par33i" id="clearBtn">새로쓰기</a>--%>
</form:form>
</div><!-- //sms_con_l -->
<div class="sms_l_con">
<strong class="sms_num"><h4 class="mgb5">수신번호</h4></strong>
<a href="javascript:void(0);" onclick="fn_add_phone();"><img src="/img/more_sms_add.png" style="position: absolute; top: 14px; right: 10px;" alt="번호추가"></a>
<ul id="phone_list">
<%
if(smsAutoPhoneList != null && smsAutoPhoneList.size() > 0) {
for(int k=0; k<smsAutoPhoneList.size(); k++){
Map<String,Object> phoneList = smsAutoPhoneList.get(k);
%>
<li><span class="sms_number"><%= (k+1) %></span><input type="text" name="phone" id="phone<%= (k+1) %>" class="inp_ful2 mgb10 pal30" value="<%= SeedUtils.setReplaceNull(phoneList.get("TEL")) %>" placeholder="'-'빼고 숫자만 입력해 주세요." onkeypress="return checkValue();"></li>
<%
}
} else {
%>
<li><span class="sms_number">1</span><input type="text" name="phone" id="phone1" class="inp_ful2 mgb10 pal30" placeholder="'-'빼고 숫자만 입력해 주세요." onkeypress="return checkValue();"></li>
<%
}
%>
</ul>
<button type="button" onclick="fn_send();" class="btn_next pal32i par33i mgr4">전송하기</button>
<a href="#n" class="btn_cancle patb11" id="clearBtn">새로쓰기</a>
</div><!-- //sms_con_l -->
</div><!-- //sms_con_left -->
<div class="sms_con_r">
<div class="tab2 TAP2_1">
<strong class="tab2Tit inblock indent disc2 tab_on"><a href="#1">메시지함</a></strong>
</div>
<div class="tab2Con tab2Con1">
<ul class="resp_li2_2">
<li class="resp_li_tit">
<span>순번</span>
<span class="tal_c_i">메시지</span>
<span>등록일</span>
<span>구분</span>
<span>선택</span>
</li>
<%
if(messangeDataList != null && messangeDataList.size() > 0){
int cnt = messangeDataList.size();
for(int i=0; i<messangeDataList.size(); i++){
Map<String,Object> massageMap = messangeDataList.get(i);
String listMessIdx = SeedUtils.setReplaceNull(massageMap.get("SNO"));
String listMessContents = SeedUtils.setReplaceNull(massageMap.get("CONTENTS"));
String listMessRegDate = SeedUtils.setReplaceNull(massageMap.get("REG_DT"));
String listMessGubun = SeedUtils.setReplaceNull(massageMap.get("GUBUN"));
%>
<li>
<span><%=cnt%></span>
<span style="word-break:break-all;text-align: left;"><%=listMessContents%></span>
<span><%=listMessRegDate%></span>
<span><%=listMessGubun%></span>
<!--<span><button type="button" class="sms_slct">선택</button> <button type="button" class="sms_del">삭제</button></span>-->
<span><button type="button" class="" onclick="messageSel('<%=listMessGubun%>', '<%=listMessContents%>')">선택</button> <button type="button" class="" onclick="messageDel('<%=listMessIdx%>')">삭제</button></span>
</li>
<%
cnt--;
}
}else{ %>
<li>
<p>검색된 데이터가 없습니다.</p>
</li>
<% } %>
</ul>
<div class="sms_inp_wrap val_t">
<form:form name="frmMessage" id="frmMessage" action="/user/extra/${siteIdx}/sms/process/jsp/Page.do" method="post">
<input type="hidden" name="siteMenuIdx" value="<%=siteMenuIdx%>" />
<input type="hidden" name="sPage" value="1" />
<input type="hidden" name="command" value="message" />
<input type="hidden" name="sRow" value="<%=sRow%>" />
<h4 class="mgb10 mgt20 indent disc2"><label for="sms_type">메시지 등록</label></h4>
<textarea name="messageContents" id="sms_type" cols="30" rows="3" class="sms_inp_l val_t" maxlength="1000"></textarea>
<button type="submit" class="btn_next sms_inp_r val_t">메시지<br>등록</button>
</form:form>
</div>
<div class="spcl_chrct_wrap">
<div class="tbl_abv_wrap clear mgb10 mgt20">
<h4 class="tbl_abv_l2 disc2 indent">특수문자</h4>
<div class="tbl_abv_r2" id="messageDiv"><span class="c_red" id="messageCount">0</span>/<span id="messageMaxcount">2000</span>byte</div>
</div>
<div class="inbox spcl_chrct">
<a href="javascript:add2('©')">&#169;</a> <a href="javascript:add2('|')">&#124;</a> <a href="javascript:add2('·')">&#183;</a> <a href="javascript:add2('↑')">&#8593;</a> <a href="javascript:add2('€')">&#8364;</a> <a href="javascript:add2('²')">&#178;</a> <a href="javascript:add2('½')">&#189;</a> <a href="javascript:add2('♥')">&#9829;</a><a href="javascript:add2('&')">&#38;</a>
<a href="javascript:add2('®')">&#174;</a> <a href="javascript:add2('™')">&#153;</a> <a href="javascript:add2('“')">&#147;</a> <a href="javascript:add2('”')">&#148;</a> <a href="javascript:add2('')">&#145;</a> <a href="javascript:add2('')">&#146;</a>
<a href="javascript:add2('«')">&#171;</a> <a href="javascript:add2('»')">&#187;</a> <a href="javascript:add2('')">&#8249;</a> <a href="javascript:add2('')">&#8250;</a> <a href="javascript:add2('§')">&#167;</a> <a href="javascript:add2('¶')">&#182;</a> <a href="javascript:add2('•')">&#149;</a> <a href="javascript:add2('…')">&#8230;</a> <a href="javascript:add2('|')">&#124;</a> <a href="javascript:add2('¦')">&#166;</a> <a href="javascript:add2('')">&#150;</a> <a href="javascript:add2('—')">&#151;</a>
<a href="javascript:add2('¤')">&#164;</a> <a href="javascript:add2('$')">&#36;</a> <a href="javascript:add2('¢')">&#162;</a> <a href="javascript:add2('£')">&#163;</a> <a href="javascript:add2('¥')">&#165;</a> <a href="javascript:add2('≤')">&#8804;</a> <a href="javascript:add2('≥')">&#8805;</a> <a href="javascript:add2('×')">&#215;</a> <a href="javascript:add2('÷')">&#247;</a> <a href="javascript:add2('')">&#8722;</a> <a href="javascript:add2('±')">&#177;</a> <a href="javascript:add2('≠')">&#8800;</a> <a href="javascript:add2('¹')">&#185;</a> <a href="javascript:add2('²')">&#178;</a> <a href="javascript:add2('³')">&#179;</a>
<a href="javascript:add2('½')">&#189;</a> <a href="javascript:add2('¼')">&#188;</a>
<a href="javascript:add2('¾')">&#190;</a> <a href="javascript:add2('‰')">&#8240;</a> <a href="javascript:add2('°')">&#176;</a> <a href="javascript:add2('√')">&#8730;</a> <a href="javascript:add2('∞')">&#8734;</a> <a href="javascript:add2('←')">&#8592;</a> <a href="javascript:add2('↑')">&#8593;</a>
<a href="javascript:add2('→')">&#8594;</a> <a href="javascript:add2('↓')">&#8595;</a> <a href="javascript:add2('↔')">&#8596;</a> <a href="javascript:add2('♠')">&#9824;</a> <a href="javascript:add2('♣')">&#9827;</a> <a href="javascript:add2('♥')">&#9829;</a> <a href="javascript:add2('♦')">&#9830;</a> <a href="javascript:add2('◊')">&#9674;</a> <a href="javascript:add2('†')">&#8224;</a> <a href="javascript:add2('‡')">&#8225;</a> <a href="javascript:add2('¡')">&#161;</a> <a href="javascript:add2('¿')">&#191;</a>
</div>
</div><!-- //spcl_chrct_wrap -->
</div><!-- //tab2Con -->
<!-- /////////////////////메세지 발송이력 //////////////////////////////-->
<div class="tab2 TAP2_1">
<strong class="tab2Tit inblock indent disc2"><a href="#1">메시지 발송이력</a></strong>
</div>
<div class="tab2Con tab2Con1 dis_none">
<ul class="resp_li2_2">
<li class="resp_li_tit">
<span>순번</span>
<span class="tal_c_i">발송내용</span>
<span>수신번호</span>
<span>구분</span>
<span>발송일</span>
</li>
<%
if(smsDataList != null && smsDataList.size() > 0){
int cnt2 = total - ((Integer.parseInt(sPage) - 1) * Integer.parseInt(sRow));
for(int i=0; i<smsDataList.size(); i++){
Map<String,Object> smsMap = smsDataList.get(i);
String listSmsIdx = SeedUtils.setReplaceNull(smsMap.get("SNO"));
String listSmsContents = SeedUtils.setReplaceNull(smsMap.get("CONTENTS"));
String listSmsRegDate = SeedUtils.setReplaceNull(smsMap.get("REG_DT"));
String listSmsGubun = SeedUtils.setReplaceNull(smsMap.get("GUBUN"));
String listSmsNum = SeedUtils.setReplaceNull(smsMap.get("HPNUMBER"));
%>
<li>
<span><%=cnt2%></span>
<span style="word-break:break-all;text-align: left;"><%=listSmsContents%></span>
<span><%=listSmsNum%></span>
<span><%=listSmsGubun%></span>
<span><%=listSmsRegDate%></span>
</li>
<%
cnt2--;
}
}else{ %>
<li>
<p>검색된 데이터가 없습니다.</p>
</li>
<% } %>
</ul>
<div class="pager tal_c mgt30">
<%=getUserPage3(total, Integer.parseInt(sPage), Integer.parseInt(sRow), pageLinkUrl)%>
</div>
</div><!-- //tab2Con -->
</div><!-- //sms_con_r -->
</div><!-- //sms_con -->
</div><!-- //sms -->
</div><!-- //meet_lg_wrap2 -->
</body>
</html>

View File

@ -0,0 +1,191 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.Date"%>
<%@ page import="java.io.File"%>
<%@ include file="/WEB-INF/views/_extra/dao/smsDao.jsp"%>
<%@ include file="/WEB-INF/views/_extra/dao/commonFileDao.jsp"%>
<%@ include file="/WEB-INF/views/_extra/common/commonFileUtil.jsp"%>
<%
//호환성보기 방지하기
response.setHeader("X-UA-Compatible", "IE=Edge");
//세션 값
String memberIdx = SeedUtils.setReplaceNull(session.getAttribute("memberIdx"));
String memberName = SeedUtils.setReplaceNull(session.getAttribute("memberName"));
String memberGrant = SeedUtils.setReplaceNull(session.getAttribute("memberGrant"), "N");
//사이트 키, 사이트 메뉴 키, 페이지 타입(gtm,gte), 사이트담당자 권한체크("true","false"), 해당메뉴담당자 권한체크("true","false")
String siteIdx = SeedUtils.setReplaceNull((String)request.getAttribute("siteIdx"));
String siteMenuIdx = SeedUtils.setReplaceNull((Integer)request.getAttribute("siteMenuIdx"));
siteMenuIdx = siteMenuIdx == "" ? SeedUtils.setReplaceNull(request.getParameter("siteMenuIdx")) : siteMenuIdx;
String memberAuth = SeedUtils.setReplaceNull(request.getAttribute("memberAuth"), "false");
String memberAuthM = SeedUtils.setReplaceNull(request.getAttribute("memberAuthM"), "false");
String siteMenuManager = SeedUtils.setReplaceNull(request.getAttribute("siteMenuManager"), "N");
String sPage = SeedUtils.setReplaceNull(request.getParameter("spage"),"1");
String sRow = SeedUtils.setReplaceNull(request.getParameter("srow"),"10");
String command = SeedUtils.setReplaceNull(request.getParameter("command"));
boolean success = false;
SeedSqlCon seedSqlCon = null;
SeedDbUtilsSupport seedDbUtilsSupport = new SeedDbUtilsSupport();
String href = "/user/extra/"+siteIdx+"/sms/messageList/jsp/Page.do?spage="+sPage+"&srow="+sRow;
String message = "";
String opener = "";
String self = "";
try{
seedSqlCon = new SeedSqlCon("");
seedSqlCon.setAutoCommit(false);
SeedDateUtil seedDateUtil = new SeedDateUtil();
if(command.equals("send")){
String type = SeedUtils.setReplaceNull(request.getParameter("type"));
String smsContents = SeedUtils.setReplaceNull(request.getParameter("smsContents"));
String lmsContents = SeedUtils.setReplaceNull(request.getParameter("lmsContents"));
String phone = SeedUtils.setReplaceNull(request.getParameter("phoneNums"));
if((smsContents.equals("") && lmsContents.equals("")) || phone.equals("")){
message = "정상적인 요청이 아닙니다.";
}else{
if(type.equals("LMS")){
smsContents = lmsContents;
}
Object[] objData = {
memberIdx, type,
smsContents, phone
};
success = setSmsRegProc(seedSqlCon, objData);
System.out.println("type:" + type);
System.out.println("phone:" + phone);
System.out.println("smsContents:" + smsContents);
System.out.println("lmsContents:" + lmsContents);
//실제 전송 DB에 저장
if(success){
if(type.equals("SMS")){
Object[] objData2 = {
smsContents, phone
};
success = setSmsRealRegProc(seedSqlCon, objData2);
}else if(type.equals("LMS")){
Object[] objData2 = {
smsContents, phone
};
success = setLmsRealRegProc(seedSqlCon, objData2);
}
}
if(success){
message = "SMS이 발송 되었습니다.";
}else{
message = "SMS이 실패 되었습니다.";
}
}
}else if(command.equals("message")){
String messageContents = SeedUtils.setReplaceNull(request.getParameter("messageContents"));
String type = "";
int conLeng = 0;
if(messageContents.equals("")){
message = "정상적인 요청이 아닙니다.";
}else{
conLeng = messageContents.getBytes().length;
if(conLeng > 90){
type = "LMS";
}else{
type = "SMS";
}
Object[] objData = {
memberIdx, type,
messageContents
};
success = setMessageRegProc(seedSqlCon, objData);
if(success){
message = "메세지가 등록 되었습니다.";
}else{
message = "메세지 등록이 실패 되었습니다.";
}
}
}else if(command.equals("messageDel")){
String messageIdx = SeedUtils.setReplaceNull(request.getParameter("messageIdx"));
Object[] objData = {
messageIdx,
memberIdx
};
success = setMessageDataDelete(seedSqlCon, objData);
if(success){
message = "메세지함이 삭제 되었습니다.";
}else{
message = "메세함 삭제가 실패 되었습니다.";
}
}
}catch(SQLException e){
if(seedSqlCon != null){seedSqlCon.rollback();}
System.out.println("/WEB-INF/views/_extra/user/sms/process.jsp 파일에서 에러 발생 Exception "+e.getMessage());
}catch(Exception e){
if(seedSqlCon != null){seedSqlCon.rollback();}
System.out.println("/WEB-INF/views/_extra/user/sms/process.jsp 파일에서 에러 발생 Exception "+e.getMessage());
}finally{
if(seedSqlCon != null){
seedSqlCon.commit();
seedSqlCon.setSeedSqlDispose();
}
}
session.setAttribute("siteIdx", siteIdx);
session.setAttribute("message", "(message)"+message);
session.setAttribute("opener", opener);
session.setAttribute("url", href);
session.setAttribute("self", self);
%>
<!doctype html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="ko"><![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="ko"><![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="ko"><![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="ko"><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="0;url=/user/common/message.do" />
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>페이지 이동</title>
</head>
<body>
</body>
</html>