선거문자 20건 신규 기능 1차 기능 개발 완료

- 화면 처리 기능 개발
 - 전송 기능은 미개발
This commit is contained in:
rosewiper 2023-12-08 12:09:14 +09:00
parent 66d7681cf0
commit 1eef366c59
11 changed files with 9031 additions and 52 deletions

View File

@ -1,19 +1,52 @@
package itn.let.mjo.msgcampain.service;
import java.util.List;
public interface MjonCandidateService {
// 선거문자 후보자 정보 불러오기
public MjonCandidateVO selectCandidateDataInfo(String userId) throws Exception;
// 선거문자 후보자 등록 처리
public int insertCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 정보 수정
public int updateCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 삭제 처리
public int deleteCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
public MjonCandidateVO selectCandidateDataInfo(String userId) throws Exception;
// 선거문자 후보자 등록 처리
public int insertCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 정보 수정
public int updateCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 삭제 처리
public int deleteCandidateDataInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
// 선거문자 후보자 등록/수정시 회원정보 테이블 세금계산서 정보 수정해주기
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception;
//선거문자 20건 발송 전체 수신목록 입력
public int insertCandidateTWCallToData(List<MjonCandidateTWVO> mjonCandidateTWVO) throws Exception;
//선거문자 20건 기존 등록 수신목록 모두 취소 시키기
public int updateCandidateTWCallToDataCancel(String mberId) throws Exception;
//선거문자 20건 회원 Call_seq 최대값 불러오기
public int selectCandidateTWMaxCallSeq(String mberId) throws Exception;
//선거문자 20건 수신목록 20개 불러오기 페이징 처리
public List<?> selectCampainTWCalltoList(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 수신목록 초기화 기능 - 등록된 수신목록 send_flag를 C로 변경 처리함.
public int updateMsgTWCallToListResetByMberId(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 수신목록 선택 삭제기능
public int updateMsgTWCallToListChkDel(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 수신목록 건수 표시 정보 조회(전체건수, 발송완료 건수, 미방송 건수)
public MjonCandidateTWVO selectMsgTWCallToTotCount(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 받는사람 정보 단건추가 진행 - 번호추가 기능에서 사용
public int insertCandidateTWCallToDataOnlyAdd(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 중복연락처 조회
public int selectCandidateTWCallToDupleCnt(MjonCandidateTWVO mjonCandidateTWVO) throws Exception;
//선거문자 20건 마지막 번호 불러오기
public int selectMsgCallToSeqNum(String mberId) throws Exception;
}

View File

@ -0,0 +1,125 @@
package itn.let.mjo.msgcampain.service;
import java.util.List;
import itn.let.uss.umt.service.UserDefaultVO;
public class MjonCandidateTWVO extends UserDefaultVO{
/**
*
*/
private static final long serialVersionUID = 1492279559142297416L;
private int campainTmpId;
private List<Integer> campainTmpIdList;
private String mberId;
private int callSeq;
private String callTo;
private List<String> callToList;
private String[] callToArr;
private String sendFlag;
private String frstRegisterId;
private String frstRegistPnttm;
private String lastUpdtPnttm;
private String lastUpdusrId;
private int sendComplete;
private int sendReady;
private int totCallToCnt;
public int getCampainTmpId() {
return campainTmpId;
}
public void setCampainTmpId(int campainTmpId) {
this.campainTmpId = campainTmpId;
}
public List<Integer> getCampainTmpIdList() {
return campainTmpIdList;
}
public void setCampainTmpIdList(List<Integer> campainTmpIdList) {
this.campainTmpIdList = campainTmpIdList;
}
public String getMberId() {
return mberId;
}
public void setMberId(String mberId) {
this.mberId = mberId;
}
public int getCallSeq() {
return callSeq;
}
public void setCallSeq(int callSeq) {
this.callSeq = callSeq;
}
public String getCallTo() {
return callTo;
}
public void setCallTo(String callTo) {
this.callTo = callTo;
}
public List<String> getCallToList() {
return callToList;
}
public void setCallToList(List<String> callToList) {
this.callToList = callToList;
}
public String[] getCallToArr() {
return callToArr;
}
public void setCallToArr(String[] callToArr) {
this.callToArr = callToArr;
}
public String getSendFlag() {
return sendFlag;
}
public void setSendFlag(String sendFlag) {
this.sendFlag = sendFlag;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public int getSendComplete() {
return sendComplete;
}
public void setSendComplete(int sendComplete) {
this.sendComplete = sendComplete;
}
public int getSendReady() {
return sendReady;
}
public void setSendReady(int sendReady) {
this.sendReady = sendReady;
}
public int getTotCallToCnt() {
return totCallToCnt;
}
public void setTotCallToCnt(int totCallToCnt) {
this.totCallToCnt = totCallToCnt;
}
}

View File

@ -1,15 +1,19 @@
package itn.let.mjo.msgcampain.service.impl;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.mjo.msgcampain.service.MjonCandidateTWVO;
import itn.let.mjo.msgcampain.service.MjonCandidateVO;
@Repository("mjonCandidateDAO")
public class MjonCandidateDAO extends EgovAbstractDAO {
public MjonCandidateVO selectCandidateDataInfo(String userId) throws Exception{
return (MjonCandidateVO) select("mjonCandidateDAO.selectCandidateDataInfo", userId);
}
@ -33,4 +37,140 @@ public class MjonCandidateDAO extends EgovAbstractDAO {
return update("mjonCandidateDAO.updateTaxBillMemberInfo", mjonCandidateVO);
}
//선거문자 20건 발송 전체 수신목록 입력
public int insertCandidateTWCallToData(List<MjonCandidateTWVO> mjonCandidateTWVO) throws Exception{
return update("mjonCandidateDAO.insertCandidateTWCallToData", mjonCandidateTWVO);
}
public int updateCandidateTWCallToDataCancel(String mberId) throws Exception{
return update("mjonCandidateDAO.updateCandidateTWCallToDataCancel", mberId);
}
//선거문자 20건 회원 Call_seq 최대값 불러오기
public int selectCandidateTWMaxCallSeq(String mberId) throws Exception{
return (int) select("mjonCandidateDAO.selectCandidateTWMaxCallSeq",mberId);
}
//선거문자 20건 수신목록 20개 불러오기 페이징 처리
@SuppressWarnings("unchecked")
public List<?> selectCampainTWCalltoList(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
return (List<?>) list("mjonCandidateDAO.selectCampainTWCalltoList", mjonCandidateTWVO);
}
//선거문자 20건 수신목록 초기화 기능 - 등록된 수신목록 send_flag를 C로 변경 처리함.
public int updateMsgTWCallToListResetByMberId(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = update("mjonCandidateDAO.updateMsgTWCallToListResetByMberId", mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("updateMsgTWCallToListResetByMberId DAO Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 수신목록 선택 삭제기능
public int updateMsgTWCallToListChkDel(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
List<Integer> campainTmpIdList = new ArrayList<Integer>();
List<Integer> cmpTmpIdList = new ArrayList<Integer>();
for(String id : mjonCandidateTWVO.getCallToArr()) {
campainTmpIdList.add(Integer.parseInt(id));
}
mjonCandidateTWVO.setCampainTmpIdList(campainTmpIdList);
resultCnt = update("mjonCandidateDAO.updateMsgTWCallToListChkDel", mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("updateMsgTWCallToListChkDel DAO Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 수신목록 건수 표시 정보 조회(전체건수, 발송완료 건수, 미방송 건수)
public MjonCandidateTWVO selectMsgTWCallToTotCount(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
MjonCandidateTWVO result = new MjonCandidateTWVO();
try {
result = (MjonCandidateTWVO) select("mjonCandidateDAO.selectMsgTWCallToTotCount", mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("selectMsgTWCallToTotCount DAO Error!!! " + e);
}
return result;
}
//선거문자 20건 받는사람 정보 단건추가 진행 - 번호추가 기능에서 사용
public int insertCandidateTWCallToDataOnlyAdd(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = update("mjonCandidateDAO.insertCandidateTWCallToDataOnlyAdd", mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("insertCandidateTWCallToDataOnlyAdd DAO Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 중복연락처 조회
public int selectCandidateTWCallToDupleCnt(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = (int) select("mjonCandidateDAO.selectCandidateTWCallToDupleCnt", mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("selectCandidateTWCallToDupleCnt DAO Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 callSeq 번호 불러오기
public int selectMsgCallToSeqNum(String mberId) throws Exception{
int resultNum = 0;
try {
resultNum = (int) select("mjonCandidateDAO.selectMsgCallToSeqNum", mberId);
} catch (Exception e) {
System.out.println("selectMsgCallToSeqNum Service DAO Error!!! " + e);
}
return resultNum;
}
}

View File

@ -1,11 +1,15 @@
package itn.let.mjo.msgcampain.service.impl;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.let.mjo.msgcampain.service.MjonCandidateService;
import itn.let.mjo.msgcampain.service.MjonCandidateTWVO;
import itn.let.mjo.msgcampain.service.MjonCandidateVO;
@Service("mjonCandidateService")
@ -38,4 +42,172 @@ public class MjonCandidateServiceImpl extends EgovAbstractServiceImpl implement
public int updateTaxBillMemberInfo(MjonCandidateVO mjonCandidateVO) throws Exception{
return mjonCandidateDAO.updateTaxBillMemberInfo(mjonCandidateVO);
}
//선거문자 20건 발송 전체 수신목록 입력
public int insertCandidateTWCallToData(List<MjonCandidateTWVO> mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
//기존에 저장된 회원의 미전송된 모든 데이터의 SEND_FLAG를 취소 처리함(값을 C 로변경)
String mberId = mjonCandidateTWVO.get(0).getMberId();
mjonCandidateDAO.updateCandidateTWCallToDataCancel(mberId);
resultCnt = mjonCandidateDAO.insertCandidateTWCallToData(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("insertCandidateTWCallToData Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 기존 등록 수신목록 모두 취소 시키기
public int updateCandidateTWCallToDataCancel(String mberId) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.updateCandidateTWCallToDataCancel(mberId);
} catch (Exception e) {
System.out.println("updateCandidateTWCallToDataCancel Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 회원 Call_seq 최대값 불러오기
public int selectCandidateTWMaxCallSeq(String mberId) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.selectCandidateTWMaxCallSeq(mberId);
} catch (Exception e) {
System.out.println("selectCandidateTWMaxCallSeq Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 수신목록 20개 불러오기 페이징 처리
public List<?> selectCampainTWCalltoList(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
List<?> resultList = new ArrayList<>();
try {
resultList = mjonCandidateDAO.selectCampainTWCalltoList(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("selectCampainTWCalltoList Service Imple Error!!! " + e);
}
return resultList;
}
//선거문자 20건 수신목록 초기화 기능 - 등록된 수신목록 send_flag를 C로 변경 처리함.
public int updateMsgTWCallToListResetByMberId(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.updateMsgTWCallToListResetByMberId(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("updateMsgTWCallToListResetByMberId Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 수신목록 선택 삭제기능
public int updateMsgTWCallToListChkDel(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.updateMsgTWCallToListChkDel(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("updateMsgTWCallToListChkDel Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 수신목록 건수 표시 정보 조회(전체건수, 발송완료 건수, 미방송 건수)
public MjonCandidateTWVO selectMsgTWCallToTotCount(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
MjonCandidateTWVO result = new MjonCandidateTWVO();
try {
result = mjonCandidateDAO.selectMsgTWCallToTotCount(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("selectMsgTWCallToTotCount Service Imple Error!!! " + e);
}
return result;
}
//선거문자 20건 받는사람 정보 단건추가 진행 - 번호추가 기능에서 사용
public int insertCandidateTWCallToDataOnlyAdd(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.insertCandidateTWCallToDataOnlyAdd(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("insertCandidateTWCallToDataOnlyAdd Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 중복연락처 조회
public int selectCandidateTWCallToDupleCnt(MjonCandidateTWVO mjonCandidateTWVO) throws Exception{
int resultCnt = 0;
try {
resultCnt = mjonCandidateDAO.selectCandidateTWCallToDupleCnt(mjonCandidateTWVO);
} catch (Exception e) {
System.out.println("selectCandidateTWCallToDupleCnt Service Imple Error!!! " + e);
}
return resultCnt;
}
//선거문자 20건 callSeq 번호 불러오기
public int selectMsgCallToSeqNum(String mberId) throws Exception{
int resultNum = 0;
try {
resultNum = mjonCandidateDAO.selectMsgCallToSeqNum(mberId);
} catch (Exception e) {
System.out.println("selectCandidateTWCallToDupleCnt Service Imple Error!!! " + e);
}
return resultNum;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMap namespace="Msg">
<typeAlias alias="mjonCandidateVO" type="itn.let.mjo.msgcampain.service.MjonCandidateVO"/>
<typeAlias alias="mjonCandidateTWVO" type="itn.let.mjo.msgcampain.service.MjonCandidateTWVO"/>
<select id="mjonCandidateDAO.selectCandidateDataInfo" parameterClass="String" resultClass="mjonCandidateVO">
@ -100,6 +100,155 @@
</update>
<insert id="mjonCandidateDAO.insertCandidateTWCallToData" parameterClass="java.util.List">
INSERT
INTO MJ_CAMPAIN_TMP_CALLTO
(
MBER_ID,
CALL_TO,
SEND_FLAG,
CALL_SEQ,
FRST_REGISTER_ID,
FRST_REGIST_PNTTM,
LAST_UPDUSR_ID,
LAST_UPDT_PNTTM
)
VALUES
<iterate conjunction=",">
(
#[].mberId#,
#[].callTo#,
'N',
#[].callSeq#,
#[].frstRegisterId#,
NOW(),
#[].lastUpdusrId#,
NOW()
)
</iterate>
</insert>
<update id="mjonCandidateDAO.updateCandidateTWCallToDataCancel" parameterClass="String">
UPDATE MJ_CAMPAIN_TMP_CALLTO SET
SEND_FLAG = 'C',
LAST_UPDUSR_ID = #mberId#,
LAST_UPDT_PNTTM = NOW()
WHERE MBER_ID = #mberId#
</update>
<select id="mjonCandidateDAO.selectCandidateTWMaxCallSeq" parameterClass="String" resultClass="Integer">
SELECT IFNULL(MAX(CALL_SEQ), 0)
FROM MJ_CAMPAIN_TMP_CALLTO
WHERE MBER_ID = #mberId#
</select>
<select id="mjonCandidateDAO.selectCampainTWCalltoList" parameterClass="mjonCandidateTWVO" resultClass="egovMap">
SELECT COUNT(CAMPAIN_TMP_ID) OVER() AS totCnt,
CAMPAIN_TMP_ID AS campainTmpId,
MBER_ID AS mberId,
CALL_TO AS callTo,
SEND_FLAG AS sendFlag,
CALL_SEQ AS callSeq
FROM MJ_CAMPAIN_TMP_CALLTO
WHERE MBER_ID = #mberId#
AND CALL_SEQ = #callSeq#
AND SEND_FLAG = 'N'
ORDER BY CAMPAIN_TMP_ID
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<update id="mjonCandidateDAO.updateMsgTWCallToListResetByMberId" parameterClass="mjonCandidateTWVO">
UPDATE MJ_CAMPAIN_TMP_CALLTO SET
SEND_FLAG = 'C',
LAST_UPDUSR_ID = #mberId#,
LAST_UPDT_PNTTM = NOW()
WHERE MBER_ID = #mberId#
AND CALL_SEQ = #callSeq#
</update>
<update id="mjonCandidateDAO.updateMsgTWCallToListChkDel" parameterClass="mjonCandidateTWVO">
UPDATE MJ_CAMPAIN_TMP_CALLTO SET
SEND_FLAG = 'C',
LAST_UPDUSR_ID = #mberId#,
LAST_UPDT_PNTTM = NOW()
WHERE MBER_ID = #mberId#
<iterate prepend="AND CAMPAIN_TMP_ID IN " open="(" close=")" conjunction="," property="campainTmpIdList">
#campainTmpIdList[]#
</iterate>
</update>
<select id="mjonCandidateDAO.selectMsgTWCallToTotCount" parameterClass="mjonCandidateTWVO" resultClass="mjonCandidateTWVO">
SELECT IFNULL(SUM(IF(SEND_FLAG = 'Y', 1, 0)), 0) AS sendComplete,
IFNULL(SUM(IF(SEND_FLAG = 'N', 1, 0)), 0) AS sendReady,
IFNULL(COUNT(CAMPAIN_TMP_ID), 0) AS totCallToCnt
FROM MJ_CAMPAIN_TMP_CALLTO
WHERE MBER_ID = #mberId#
AND CALL_SEQ = #callSeq#
AND SEND_FLAG IN ('Y','N')
</select>
<insert id="mjonCandidateDAO.insertCandidateTWCallToDataOnlyAdd" parameterClass="mjonCandidateTWVO">
INSERT
INTO MJ_CAMPAIN_TMP_CALLTO
(
MBER_ID,
CALL_TO,
SEND_FLAG,
CALL_SEQ,
FRST_REGISTER_ID,
FRST_REGIST_PNTTM,
LAST_UPDUSR_ID,
LAST_UPDT_PNTTM
)
VALUES
(
#mberId#,
#callTo#,
'N',
#callSeq#,
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
NOW()
)
</insert>
<select id="mjonCandidateDAO.selectCandidateTWCallToDupleCnt" parameterClass="mjonCandidateTWVO" resultClass="Integer">
SELECT COUNT(CAMPAIN_TMP_ID)
FROM MJ_CAMPAIN_TMP_CALLTO
WHERE MBER_ID = #mberId#
AND CALL_SEQ = #callSeq#
AND CALL_TO = #callTo#
AND SEND_FLAG IN ('Y','N')
</select>
<select id="mjonCandidateDAO.selectMsgCallToSeqNum" parameterClass="String" resultClass="Integer">
SELECT IFNULL(MAX(CALL_SEQ), 0) AS callSeq
FROM MJ_CAMPAIN_TMP_CALLTO
WHERE MBER_ID = #mberId#
AND SEND_FLAG IN ('Y',
'N')
</select>
</sqlMap>

View File

@ -0,0 +1,80 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<script type="text/javascript">
var totCallToCnt = '${resultTotCallToInfo.totCallToCnt}';
var sendComplete = '${resultTotCallToInfo.sendComplete}';
var sendReady = '${resultTotCallToInfo.sendReady}';
$("#totCallToCnt").text(totCallToCnt);
$("#sendComplete").text(sendComplete);
$("#sendReady").text(sendReady);
</script>
<div class="listType list">
<ul class="thead_ul table_ul">
<li></li>
<li>
번호
<!-- <button type="button" class="btn_sort_up"><img src="/publish/images/sortUp.png"></button>
<button type="button" class="btn_sort_down"><img src="/publish/images/sortDown.png"></button> -->
</li>
<li></li>
<li>
번호
<!-- <button type="button" class="btn_sort_up"><img src="/publish/images/sortUp.png"></button>
<button type="button" class="btn_sort_down"><img src="/publish/images/sortDown.png"></button> -->
</li>
</ul>
<ul class="tbody_ul table_ul">
<c:choose>
<c:when test="${not empty resultCallToList}">
<c:forEach var="callToList" items="${resultCallToList}" varStatus="status">
<li class="ui-widget-content">
<div class="input_wrap"><input type="checkbox" id="chkCallTo_<c:out value='${callToList.campainTmpId}'/>" name="chkCallTo" value="<c:out value='${callToList.campainTmpId}'/>" onchange="fnChkCallToChange();"></div>
<label for="chkCallTo_<c:out value='${callToList.campainTmpId}'/>" id="spanCallTo"><c:out value="${callToList.callTo}"/></label>
</li>
</c:forEach>
</c:when>
<c:otherwise>
<%-- <li class="liCallTo">
<a href="#">
<div>
등록된 수신자 정보가 없습니다.
</div>
</a>
</li> --%>
</c:otherwise>
</c:choose>
</ul>
</div>
<div class="list_bottom clearfix">
<ul class="pagination">
<ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="fnCallToListPaging" />
</ul>
<div class="list_bottom_right">
<button type="button" class="btnType btn_gray fill" onclick="fnCallToListReset();">초기화</button>
<div class="btn_popup_wrap">
<button type="button" class="btnType btn_yellow fill btn_check_one">1명씩 선택<i class="qmMark"></i></button>
<div class="error_hover_cont send_hover_cont">
<p style="line-height:1.3;">마우스를 누르고 있으면 받는사람을 연속적으로 20명까지 선택할 수 있습니다.</p>
</div>
</div>
</div>
<%-- <div class="btn_popup_wrap">
<button type="button" class="btnType btnType8" onclick="fnCallToListReset();">수신목록 초기화</button>
</div>
<div class="remove_btnWrap">
<button type="button" class="btnType15 all_del"><i class="remove_img"></i>전체삭제</button>
<button type="button" class="btnType15 select_del"><i class="remove_img"></i>선택삭제</button>
<button type="button" class="btnType15 select_one"><i class="remove_img"></i>1명씩선택</button>
</div>
<div class="list_bottom_right">
<p>총 <span class="c_e40000" id="rowTotCnt">0</span>건 / 중복 <span class="c_002c9a" id="rowDupCnt">0</span>건</p>
<button type="button" class="address_reg2 addressregi_btn">주소록에 등록</button>
</div> --%>
</div>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -882,3 +882,20 @@ function setCursorInsertText(pTxtArea, pAddTxt) {
txtArea.selectionEnd = selectPos; // 커서 끝지점을 추가 삽입된 텍스트 이후로 지정
txtArea.focus();
}
//선거문자 20건 수신자 목록 추가된 건수 및 발송 금액 변경해주기
function fnChkCallToChange(){
var callToCnt = 0;
$("input[name=chkCallTo]").each(function(){
var chkSts = $(this).is(':checked');
if(chkSts){
callToCnt++;
}
});
updateTotCnt(callToCnt); //전체 데이터 갯수 구하기
totalPriceSum(callToCnt);
}

View File

@ -1,37 +1,67 @@
// 마우스 길게 누르는 function
var onlongclick = function ($target, time, callback) {
$($target).on("mousedown", function () {
const timer = setTimeout(callback, time);
$($target).on("mouseup", function () {
clearTimeout(timer);
});
});
}
var publishCommon = {
count: 0,
longMousePressCheck: function (checkTarget, checkTime) {
// checkTarget → 체크박스([name='']) / checkTime → 몇초 간격으로 체크 될지
var checkLength = checkTarget.length; // 체크박스 몇개인지
var cnt = 0; // 몇개 체크됐는지
var checkEvent = setInterval(function () {
if (this.count == 0) {}
else if (cnt >= checkLength) {
clearInterval(checkEvent); // 자동체크 끝.
}
$(checkTarget[cnt]).prop('checked', true); // 체크박스 체크.
cnt++;
}, checkTime);
},
clickCheck: function (checkTarget) {
// 한번 클릭 했을 때 체크, checkTarget → 체크박스([name=''])
if (checkTarget.length < this.count) {
// 체크 다하면 더이상 작동 x.
return false;
}
$(checkTarget[this.count]).prop('checked', true); // 체크박스 체크
this.count++;
}
}
// 마우스 길게 누르는 function
var onlongclick = function ($target, time, callback) {
$($target).on("mousedown", function () {
const timer = setTimeout(callback, time);
$($target).on("mouseup", function () {
clearTimeout(timer);
});
});
}
var publishCommon = {
count: 0,
longMousePressCheck: function (checkTarget, checkTime) {
// checkTarget → 체크박스([name='']) / checkTime → 몇초 간격으로 체크 될지
var checkLength = checkTarget.length; // 체크박스 몇개인지
var cnt = 0; // 몇개 체크됐는지
var checkEvent = setInterval(function () {
if (this.count == 0) {}
else if (cnt >= checkLength) {
clearInterval(checkEvent); // 자동체크 끝.
}
$(checkTarget[cnt]).prop('checked', true); // 체크박스 체크.
cnt++;
console.log("+++++ publishCommon ::: " + cnt);
}, checkTime);
},
clickCheck: function (checkTarget) {
// 한번 클릭 했을 때 체크, checkTarget → 체크박스([name=''])
/*if (checkTarget.length < this.count) {
// 체크 다하면 더이상 작동 x.
return false;
}
$(checkTarget[this.count]).prop('checked', true); // 체크박스 체크
this.count++;*/
$("input:checkbox[name='chkCallTo']").each(function(){
var chkSts = $(this).is(":checked");
if(!chkSts){
$(this).prop("checked","true");
return false;
}
});
console.log("+++++ publishCommonClick ::: " + this.count);
},
clickCheckPrice : function(){
var callToCnt = 0;
$("input[name=chkCallTo]").each(function(){
var chkSts = $(this).is(':checked');
if(chkSts){
callToCnt++;
}
});
updateTotCnt(callToCnt); //전체 데이터 갯수 구하기
totalPriceSum(callToCnt);
}
}