+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSWFDTO.java
... | ... | @@ -0,0 +1,32 @@ |
| 1 | +package itn.let.mjo.msgsent.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +import lombok.Getter; | |
| 6 | +import lombok.Setter; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * | |
| 10 | + * @author : 이호영 | |
| 11 | + * @fileName : MjonMsgSWFDTO.java | |
| 12 | + * @date : 2025.01.16 | |
| 13 | + * @description : 그룹ID로 성공 실패 대기 건수를 구해서 전달해주는 DTO | |
| 14 | + * =========================================================== | |
| 15 | + * DATE AUTHOR NOTE | |
| 16 | + * ----------------------------------------------------------- * | |
| 17 | + * 2025.01.16 이호영 최초 생성 | |
| 18 | + * | |
| 19 | + * | |
| 20 | + * | |
| 21 | + */ | |
| 22 | +@Getter | |
| 23 | +@Setter | |
| 24 | +public class MjonMsgSWFDTO implements Serializable { | |
| 25 | + | |
| 26 | + private static final long serialVersionUID = 1L; // 선언 | |
| 27 | + | |
| 28 | + private int resultSValue; // 성공건수 | |
| 29 | + private int resultFValue; // 실패건수 | |
| 30 | + private int resultWValue; // 대기건수 | |
| 31 | + | |
| 32 | +} |
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java
... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 |
package itn.let.mjo.msgsent.service; |
| 2 | 2 |
|
| 3 | 3 |
import java.util.List; |
| 4 |
+import java.util.Map; |
|
| 4 | 5 |
|
| 5 | 6 |
import itn.let.fax.addr.service.FaxAddrGroupVO; |
| 6 | 7 |
import itn.let.mjo.addr.service.AddrGroupVO; |
... | ... | @@ -15,6 +16,8 @@ |
| 15 | 16 |
|
| 16 | 17 |
//발송 관리 전체 발송 리스트 불러오기 |
| 17 | 18 |
public List<MjonMsgSentVO> selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception; |
| 19 |
+ |
|
| 20 |
+ public Map<String, Object> selectAllMsgSentList_advc(MjonMsgSentVO mjonMsgSentVO) throws Exception; |
|
| 18 | 21 |
|
| 19 | 22 |
//발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
| 20 | 23 |
public List<MjonMsgSentVO> selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception; |
... | ... | @@ -54,5 +57,8 @@ |
| 54 | 57 |
|
| 55 | 58 |
//첨부파일 정보 불러오기 |
| 56 | 59 |
public MjonMsgSentVO selectFileInfo(String streFileId) throws Exception; |
| 60 |
+ |
|
| 61 |
+ public int countAllMsgSentList(MjonMsgSentVO mjonMsgSentVO); |
|
| 62 |
+ |
|
| 57 | 63 |
|
| 58 | 64 |
} |
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java
... | ... | @@ -4,7 +4,11 @@ |
| 4 | 4 |
import java.util.List; |
| 5 | 5 |
|
| 6 | 6 |
import itn.let.uss.umt.service.UserDefaultVO; |
| 7 |
+import lombok.Getter; |
|
| 8 |
+import lombok.Setter; |
|
| 7 | 9 |
|
| 10 |
+@Getter |
|
| 11 |
+@Setter |
|
| 8 | 12 |
public class MjonMsgSentVO extends UserDefaultVO{
|
| 9 | 13 |
|
| 10 | 14 |
private static final long serialVersionUID = 1L; |
... | ... | @@ -86,399 +90,8 @@ |
| 86 | 90 |
private String successCount; |
| 87 | 91 |
|
| 88 | 92 |
private String resultSValue; |
| 93 |
+ private String resultFValue; |
|
| 94 |
+ private String resultWValue; |
|
| 89 | 95 |
private String resultWFValue; |
| 90 |
- |
|
| 91 |
- public String getSuccessCount() {
|
|
| 92 |
- return successCount; |
|
| 93 |
- } |
|
| 94 |
- public void setSuccessCount(String successCount) {
|
|
| 95 |
- this.successCount = successCount; |
|
| 96 |
- } |
|
| 97 |
- public String getMsgSentType() {
|
|
| 98 |
- return msgSentType; |
|
| 99 |
- } |
|
| 100 |
- public void setMsgSentType(String msgSentType) {
|
|
| 101 |
- this.msgSentType = msgSentType; |
|
| 102 |
- } |
|
| 103 |
- public String getCallFromComma() {
|
|
| 104 |
- return callFromComma; |
|
| 105 |
- } |
|
| 106 |
- public void setCallFromComma(String callFromComma) {
|
|
| 107 |
- this.callFromComma = callFromComma; |
|
| 108 |
- } |
|
| 109 |
- public String getCallToComma() {
|
|
| 110 |
- return callToComma; |
|
| 111 |
- } |
|
| 112 |
- public void setCallToComma(String callToComma) {
|
|
| 113 |
- this.callToComma = callToComma; |
|
| 114 |
- } |
|
| 115 |
- |
|
| 116 |
- public String getAtchFiles() {
|
|
| 117 |
- return atchFiles; |
|
| 118 |
- } |
|
| 119 |
- public void setAtchFiles(String atchFiles) {
|
|
| 120 |
- this.atchFiles = atchFiles; |
|
| 121 |
- } |
|
| 122 |
- |
|
| 123 |
- public String getMsgId() {
|
|
| 124 |
- return msgId; |
|
| 125 |
- } |
|
| 126 |
- public void setMsgId(String msgId) {
|
|
| 127 |
- this.msgId = msgId; |
|
| 128 |
- } |
|
| 129 |
- public int getSuccessCnt() {
|
|
| 130 |
- return successCnt; |
|
| 131 |
- } |
|
| 132 |
- public void setSuccessCnt(int successCnt) {
|
|
| 133 |
- this.successCnt = successCnt; |
|
| 134 |
- } |
|
| 135 |
- public String getMsgTypeName() {
|
|
| 136 |
- return msgTypeName; |
|
| 137 |
- } |
|
| 138 |
- public void setMsgTypeName(String msgTypeName) {
|
|
| 139 |
- this.msgTypeName = msgTypeName; |
|
| 140 |
- } |
|
| 141 |
- public int getOrderByCode() {
|
|
| 142 |
- return orderByCode; |
|
| 143 |
- } |
|
| 144 |
- public void setOrderByCode(int orderByCode) {
|
|
| 145 |
- this.orderByCode = orderByCode; |
|
| 146 |
- } |
|
| 147 |
- public String getAtchFileId() {
|
|
| 148 |
- return atchFileId; |
|
| 149 |
- } |
|
| 150 |
- public void setAtchFileId(String atchFileId) {
|
|
| 151 |
- this.atchFileId = atchFileId; |
|
| 152 |
- } |
|
| 153 |
- public String getFileSn() {
|
|
| 154 |
- return fileSn; |
|
| 155 |
- } |
|
| 156 |
- public void setFileSn(String fileSn) {
|
|
| 157 |
- this.fileSn = fileSn; |
|
| 158 |
- } |
|
| 159 |
- public String getUserId() {
|
|
| 160 |
- return userId; |
|
| 161 |
- } |
|
| 162 |
- public void setUserId(String userId) {
|
|
| 163 |
- this.userId = userId; |
|
| 164 |
- } |
|
| 165 |
- public String getAddrNm() {
|
|
| 166 |
- return addrNm; |
|
| 167 |
- } |
|
| 168 |
- public void setAddrNm(String addrNm) {
|
|
| 169 |
- this.addrNm = addrNm; |
|
| 170 |
- } |
|
| 171 |
- public String getMsgSeq() {
|
|
| 172 |
- return msgSeq; |
|
| 173 |
- } |
|
| 174 |
- public void setMsgSeq(String msgSeq) {
|
|
| 175 |
- this.msgSeq = msgSeq; |
|
| 176 |
- } |
|
| 177 |
- public String getMsgGroupId() {
|
|
| 178 |
- return msgGroupId; |
|
| 179 |
- } |
|
| 180 |
- public void setMsgGroupId(String msgGroupId) {
|
|
| 181 |
- this.msgGroupId = msgGroupId; |
|
| 182 |
- } |
|
| 183 |
- public List getMsgGroupIdList() {
|
|
| 184 |
- return msgGroupIdList; |
|
| 185 |
- } |
|
| 186 |
- public void setMsgGroupIdList(List msgGroupIdList) {
|
|
| 187 |
- this.msgGroupIdList = msgGroupIdList; |
|
| 188 |
- } |
|
| 189 |
- public String getSmsTxt() {
|
|
| 190 |
- return smsTxt; |
|
| 191 |
- } |
|
| 192 |
- public void setSmsTxt(String smsTxt) {
|
|
| 193 |
- this.smsTxt = smsTxt; |
|
| 194 |
- } |
|
| 195 |
- public String getSubject() {
|
|
| 196 |
- return subject; |
|
| 197 |
- } |
|
| 198 |
- public void setSubject(String subject) {
|
|
| 199 |
- this.subject = subject; |
|
| 200 |
- } |
|
| 201 |
- public Date getRegdate() {
|
|
| 202 |
- return regdate; |
|
| 203 |
- } |
|
| 204 |
- public void setRegdate(Date regdate) {
|
|
| 205 |
- this.regdate = regdate; |
|
| 206 |
- } |
|
| 207 |
- public Date getReqdate() {
|
|
| 208 |
- return reqdate; |
|
| 209 |
- } |
|
| 210 |
- public void setReqdate(Date reqdate) {
|
|
| 211 |
- this.reqdate = reqdate; |
|
| 212 |
- } |
|
| 213 |
- public String getCallFrom() {
|
|
| 214 |
- return callFrom; |
|
| 215 |
- } |
|
| 216 |
- public void setCallFrom(String callFrom) {
|
|
| 217 |
- this.callFrom = callFrom; |
|
| 218 |
- } |
|
| 219 |
- public String getCallTo() {
|
|
| 220 |
- return callTo; |
|
| 221 |
- } |
|
| 222 |
- public void setCallTo(String callTo) {
|
|
| 223 |
- this.callTo = callTo; |
|
| 224 |
- } |
|
| 225 |
- public List getCallToList() {
|
|
| 226 |
- return callToList; |
|
| 227 |
- } |
|
| 228 |
- public void setCallToList(List callToList) {
|
|
| 229 |
- this.callToList = callToList; |
|
| 230 |
- } |
|
| 231 |
- public String getTotPrice() {
|
|
| 232 |
- return totPrice; |
|
| 233 |
- } |
|
| 234 |
- public void setTotPrice(String totPrice) {
|
|
| 235 |
- this.totPrice = totPrice; |
|
| 236 |
- } |
|
| 237 |
- public String getEachPrice() {
|
|
| 238 |
- return eachPrice; |
|
| 239 |
- } |
|
| 240 |
- public void setEachPrice(String eachPrice) {
|
|
| 241 |
- this.eachPrice = eachPrice; |
|
| 242 |
- } |
|
| 243 |
- public String getDelFlag() {
|
|
| 244 |
- return delFlag; |
|
| 245 |
- } |
|
| 246 |
- public void setDelFlag(String delFlag) {
|
|
| 247 |
- this.delFlag = delFlag; |
|
| 248 |
- } |
|
| 249 |
- public String getTotMsgPrice() {
|
|
| 250 |
- return totMsgPrice; |
|
| 251 |
- } |
|
| 252 |
- public void setTotMsgPrice(String totMsgPrice) {
|
|
| 253 |
- this.totMsgPrice = totMsgPrice; |
|
| 254 |
- } |
|
| 255 |
- public String getRsltCode() {
|
|
| 256 |
- return rsltCode; |
|
| 257 |
- } |
|
| 258 |
- public void setRsltCode(String rsltCode) {
|
|
| 259 |
- this.rsltCode = rsltCode; |
|
| 260 |
- } |
|
| 261 |
- public String getRsltCode2() {
|
|
| 262 |
- return rsltCode2; |
|
| 263 |
- } |
|
| 264 |
- public void setRsltCode2(String rsltCode2) {
|
|
| 265 |
- this.rsltCode2 = rsltCode2; |
|
| 266 |
- } |
|
| 267 |
- public String getMsgType() {
|
|
| 268 |
- return msgType; |
|
| 269 |
- } |
|
| 270 |
- public void setMsgType(String msgType) {
|
|
| 271 |
- this.msgType = msgType; |
|
| 272 |
- } |
|
| 273 |
- public String getMsgGroupCnt() {
|
|
| 274 |
- return msgGroupCnt; |
|
| 275 |
- } |
|
| 276 |
- public void setMsgGroupCnt(String msgGroupCnt) {
|
|
| 277 |
- this.msgGroupCnt = msgGroupCnt; |
|
| 278 |
- } |
|
| 279 |
- public String getFileCnt() {
|
|
| 280 |
- return fileCnt; |
|
| 281 |
- } |
|
| 282 |
- public void setFileCnt(String fileCnt) {
|
|
| 283 |
- this.fileCnt = fileCnt; |
|
| 284 |
- } |
|
| 285 |
- public String getTotMsgCnt() {
|
|
| 286 |
- return totMsgCnt; |
|
| 287 |
- } |
|
| 288 |
- public void setTotMsgCnt(String totMsgCnt) {
|
|
| 289 |
- this.totMsgCnt = totMsgCnt; |
|
| 290 |
- } |
|
| 291 |
- public String getCurState() {
|
|
| 292 |
- return curState; |
|
| 293 |
- } |
|
| 294 |
- public void setCurState(String curState) {
|
|
| 295 |
- this.curState = curState; |
|
| 296 |
- } |
|
| 297 |
- public String getReserveYn() {
|
|
| 298 |
- return reserveYn; |
|
| 299 |
- } |
|
| 300 |
- public void setReserveYn(String reserveYn) {
|
|
| 301 |
- this.reserveYn = reserveYn; |
|
| 302 |
- } |
|
| 303 |
- public String getReserveCYn() {
|
|
| 304 |
- return reserveCYn; |
|
| 305 |
- } |
|
| 306 |
- public void setReserveCYn(String reserveCYn) {
|
|
| 307 |
- this.reserveCYn = reserveCYn; |
|
| 308 |
- } |
|
| 309 |
- public String getFilePath1() {
|
|
| 310 |
- return filePath1; |
|
| 311 |
- } |
|
| 312 |
- public void setFilePath1(String filePath1) {
|
|
| 313 |
- this.filePath1 = filePath1; |
|
| 314 |
- } |
|
| 315 |
- public String getFilePath2() {
|
|
| 316 |
- return filePath2; |
|
| 317 |
- } |
|
| 318 |
- public void setFilePath2(String filePath2) {
|
|
| 319 |
- this.filePath2 = filePath2; |
|
| 320 |
- } |
|
| 321 |
- public String getFilePath3() {
|
|
| 322 |
- return filePath3; |
|
| 323 |
- } |
|
| 324 |
- public void setFilePath3(String filePath3) {
|
|
| 325 |
- this.filePath3 = filePath3; |
|
| 326 |
- } |
|
| 327 |
- public Date getSentDate() {
|
|
| 328 |
- return sentDate; |
|
| 329 |
- } |
|
| 330 |
- public void setSentDate(Date sentDate) {
|
|
| 331 |
- this.sentDate = sentDate; |
|
| 332 |
- } |
|
| 333 |
- public String getAgentCode() {
|
|
| 334 |
- return agentCode; |
|
| 335 |
- } |
|
| 336 |
- public void setAgentCode(String agentCode) {
|
|
| 337 |
- this.agentCode = agentCode; |
|
| 338 |
- } |
|
| 339 |
- public String getUserData() {
|
|
| 340 |
- return userData; |
|
| 341 |
- } |
|
| 342 |
- public void setUserData(String userData) {
|
|
| 343 |
- this.userData = userData; |
|
| 344 |
- } |
|
| 345 |
- public List getUserDataList() {
|
|
| 346 |
- return userDataList; |
|
| 347 |
- } |
|
| 348 |
- public void setUserDataList(List userDataList) {
|
|
| 349 |
- this.userDataList = userDataList; |
|
| 350 |
- } |
|
| 351 |
- public Date getCancelDate() {
|
|
| 352 |
- return cancelDate; |
|
| 353 |
- } |
|
| 354 |
- public void setCancelDate(Date cancelDate) {
|
|
| 355 |
- this.cancelDate = cancelDate; |
|
| 356 |
- } |
|
| 357 |
- public String getStartDate() {
|
|
| 358 |
- return startDate; |
|
| 359 |
- } |
|
| 360 |
- public void setStartDate(String startDate) {
|
|
| 361 |
- this.startDate = startDate; |
|
| 362 |
- } |
|
| 363 |
- public String getEndDate() {
|
|
| 364 |
- return endDate; |
|
| 365 |
- } |
|
| 366 |
- public void setEndDate(String endDate) {
|
|
| 367 |
- this.endDate = endDate; |
|
| 368 |
- } |
|
| 369 |
- public String getSearchMsgType() {
|
|
| 370 |
- return searchMsgType; |
|
| 371 |
- } |
|
| 372 |
- public void setSearchMsgType(String searchMsgType) {
|
|
| 373 |
- this.searchMsgType = searchMsgType; |
|
| 374 |
- } |
|
| 375 |
- public String getTabType() {
|
|
| 376 |
- return tabType; |
|
| 377 |
- } |
|
| 378 |
- public void setTabType(String tabType) {
|
|
| 379 |
- this.tabType = tabType; |
|
| 380 |
- } |
|
| 381 |
- public String getStateType() {
|
|
| 382 |
- return stateType; |
|
| 383 |
- } |
|
| 384 |
- public void setStateType(String stateType) {
|
|
| 385 |
- this.stateType = stateType; |
|
| 386 |
- } |
|
| 387 |
- public String getListType() {
|
|
| 388 |
- return listType; |
|
| 389 |
- } |
|
| 390 |
- public void setListType(String listType) {
|
|
| 391 |
- this.listType = listType; |
|
| 392 |
- } |
|
| 393 |
- public String getResultType() {
|
|
| 394 |
- return resultType; |
|
| 395 |
- } |
|
| 396 |
- public void setResultType(String resultType) {
|
|
| 397 |
- this.resultType = resultType; |
|
| 398 |
- } |
|
| 399 |
- public String getMsgResultCnt() {
|
|
| 400 |
- return msgResultCnt; |
|
| 401 |
- } |
|
| 402 |
- public void setMsgResultCnt(String msgResultCnt) {
|
|
| 403 |
- this.msgResultCnt = msgResultCnt; |
|
| 404 |
- } |
|
| 405 |
- public String getMsgResultSts() {
|
|
| 406 |
- return msgResultSts; |
|
| 407 |
- } |
|
| 408 |
- public void setMsgResultSts(String msgResultSts) {
|
|
| 409 |
- this.msgResultSts = msgResultSts; |
|
| 410 |
- } |
|
| 411 |
- public String getAddrGrpNm() {
|
|
| 412 |
- return addrGrpNm; |
|
| 413 |
- } |
|
| 414 |
- public void setAddrGrpNm(String addrGrpNm) {
|
|
| 415 |
- this.addrGrpNm = addrGrpNm; |
|
| 416 |
- } |
|
| 417 |
- public int getOrderByrsltCode() {
|
|
| 418 |
- return orderByrsltCode; |
|
| 419 |
- } |
|
| 420 |
- public void setOrderByrsltCode(int orderByrsltCode) {
|
|
| 421 |
- this.orderByrsltCode = orderByrsltCode; |
|
| 422 |
- } |
|
| 423 |
- public String getMsgResult() {
|
|
| 424 |
- return msgResult; |
|
| 425 |
- } |
|
| 426 |
- public void setMsgResult(String msgResult) {
|
|
| 427 |
- this.msgResult = msgResult; |
|
| 428 |
- } |
|
| 429 |
- public String getNtceBgnde() {
|
|
| 430 |
- return ntceBgnde; |
|
| 431 |
- } |
|
| 432 |
- public void setNtceBgnde(String ntceBgnde) {
|
|
| 433 |
- this.ntceBgnde = ntceBgnde; |
|
| 434 |
- } |
|
| 435 |
- public String getNtceEndde() {
|
|
| 436 |
- return ntceEndde; |
|
| 437 |
- } |
|
| 438 |
- public void setNtceEndde(String ntceEndde) {
|
|
| 439 |
- this.ntceEndde = ntceEndde; |
|
| 440 |
- } |
|
| 441 |
- public String getMsgKind() {
|
|
| 442 |
- return msgKind; |
|
| 443 |
- } |
|
| 444 |
- public void setMsgKind(String msgKind) {
|
|
| 445 |
- this.msgKind = msgKind; |
|
| 446 |
- } |
|
| 447 |
- public String getDelayYn() {
|
|
| 448 |
- return delayYn; |
|
| 449 |
- } |
|
| 450 |
- public void setDelayYn(String delayYn) {
|
|
| 451 |
- this.delayYn = delayYn; |
|
| 452 |
- } |
|
| 453 |
- public String getDelayCompleteYn() {
|
|
| 454 |
- return delayCompleteYn; |
|
| 455 |
- } |
|
| 456 |
- public void setDelayCompleteYn(String delayCompleteYn) {
|
|
| 457 |
- this.delayCompleteYn = delayCompleteYn; |
|
| 458 |
- } |
|
| 459 |
- public String getSendKind() {
|
|
| 460 |
- return sendKind; |
|
| 461 |
- } |
|
| 462 |
- public void setSendKind(String sendKind) {
|
|
| 463 |
- this.sendKind = sendKind; |
|
| 464 |
- } |
|
| 465 |
- public String getResultSValue() {
|
|
| 466 |
- return resultSValue; |
|
| 467 |
- } |
|
| 468 |
- public void setResultSValue(String resultSValue) {
|
|
| 469 |
- this.resultSValue = resultSValue; |
|
| 470 |
- } |
|
| 471 |
- public String getResultWFValue() {
|
|
| 472 |
- return resultWFValue; |
|
| 473 |
- } |
|
| 474 |
- public void setResultWFValue(String resultWFValue) {
|
|
| 475 |
- this.resultWFValue = resultWFValue; |
|
| 476 |
- } |
|
| 477 |
- public Date getDelayOrgTime() {
|
|
| 478 |
- return delayOrgTime; |
|
| 479 |
- } |
|
| 480 |
- public void setDelayOrgTime(Date delayOrgTime) {
|
|
| 481 |
- this.delayOrgTime = delayOrgTime; |
|
| 482 |
- } |
|
| 483 | 96 |
|
| 484 | 97 |
} |
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java
... | ... | @@ -9,6 +9,7 @@ |
| 9 | 9 |
import itn.let.fax.addr.service.FaxAddrGroupVO; |
| 10 | 10 |
import itn.let.mjo.addr.service.AddrGroupVO; |
| 11 | 11 |
import itn.let.mjo.block.service.MjonBlockVO; |
| 12 |
+import itn.let.mjo.msgsent.service.MjonMsgSWFDTO; |
|
| 12 | 13 |
import itn.let.mjo.msgsent.service.MjonMsgSentVO; |
| 13 | 14 |
|
| 14 | 15 |
@Repository("MjonMsgSentDAO")
|
... | ... | @@ -54,6 +55,13 @@ |
| 54 | 55 |
public List<MjonMsgSentVO> selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
| 55 | 56 |
|
| 56 | 57 |
return (List<MjonMsgSentVO>) list("MjonMsgSentDAO.selectAllMsgSentList",mjonMsgSentVO);
|
| 58 |
+ } |
|
| 59 |
+ |
|
| 60 |
+ //발송 관리 전체 발송 리스트 불러오기 |
|
| 61 |
+ @SuppressWarnings("unchecked")
|
|
| 62 |
+ public List<MjonMsgSentVO> selectAllMsgSentList_advc(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
|
| 63 |
+ |
|
| 64 |
+ return (List<MjonMsgSentVO>) list("MjonMsgSentDAO.selectAllMsgSentList_advc",mjonMsgSentVO);
|
|
| 57 | 65 |
} |
| 58 | 66 |
|
| 59 | 67 |
//발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
... | ... | @@ -158,5 +166,14 @@ |
| 158 | 166 |
public MjonMsgSentVO selectFileInfo(String streFileId) throws Exception{
|
| 159 | 167 |
return (MjonMsgSentVO) select("MjonMsgSentDAO.selectFileInfo", streFileId);
|
| 160 | 168 |
} |
| 169 |
+ |
|
| 170 |
+ public int countAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) {
|
|
| 171 |
+ return (Integer)select("MjonMsgSentDAO.countAllMsgSentList", mjonMsgSentVO);
|
|
| 172 |
+ } |
|
| 173 |
+ |
|
| 174 |
+ public MjonMsgSWFDTO findBySWF(String msgGroupId) {
|
|
| 175 |
+ |
|
| 176 |
+ return (MjonMsgSWFDTO) select("MjonMsgSentDAO.findBySWF", msgGroupId);
|
|
| 177 |
+ } |
|
| 161 | 178 |
|
| 162 | 179 |
} |
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
... | ... | @@ -1,7 +1,12 @@ |
| 1 | 1 |
package itn.let.mjo.msgsent.service.impl; |
| 2 | 2 |
|
| 3 |
+import java.math.BigDecimal; |
|
| 4 |
+import java.math.RoundingMode; |
|
| 3 | 5 |
import java.util.ArrayList; |
| 6 |
+import java.util.HashMap; |
|
| 4 | 7 |
import java.util.List; |
| 8 |
+import java.util.Map; |
|
| 9 |
+import java.util.stream.Collectors; |
|
| 5 | 10 |
|
| 6 | 11 |
import javax.annotation.Resource; |
| 7 | 12 |
|
... | ... | @@ -12,9 +17,12 @@ |
| 12 | 17 |
import itn.let.fax.addr.service.FaxAddrGroupVO; |
| 13 | 18 |
import itn.let.mjo.addr.service.AddrGroupVO; |
| 14 | 19 |
import itn.let.mjo.block.service.MjonBlockVO; |
| 20 |
+import itn.let.mjo.msgsent.service.MjonMsgSWFDTO; |
|
| 15 | 21 |
import itn.let.mjo.msgsent.service.MjonMsgSentService; |
| 16 | 22 |
import itn.let.mjo.msgsent.service.MjonMsgSentVO; |
| 23 |
+import lombok.extern.slf4j.Slf4j; |
|
| 17 | 24 |
|
| 25 |
+@Slf4j |
|
| 18 | 26 |
@Service("MjonMsgSentService")
|
| 19 | 27 |
public class MjonMsgSentServiceImpl extends EgovAbstractServiceImpl implements MjonMsgSentService{
|
| 20 | 28 |
|
... | ... | @@ -84,6 +92,54 @@ |
| 84 | 92 |
return resultList; |
| 85 | 93 |
} |
| 86 | 94 |
|
| 95 |
+ //발송 관리 전체 발송 리스트 불러오기 |
|
| 96 |
+ public Map<String, Object> selectAllMsgSentList_advc(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
|
| 97 |
+ |
|
| 98 |
+ |
|
| 99 |
+ Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
| 100 |
+ |
|
| 101 |
+ // 목록 |
|
| 102 |
+ List<MjonMsgSentVO> resultList = mjonMsgSentDAO.selectAllMsgSentList_advc(mjonMsgSentVO); |
|
| 103 |
+ |
|
| 104 |
+ // MsgGroupId만 추출하여 리스트 생성 |
|
| 105 |
+// List<String> msgGroupIdList = resultList.stream() |
|
| 106 |
+// .map(MjonMsgSentVO::getMsgGroupId) // MsgGroupId 추출 |
|
| 107 |
+// .collect(Collectors.toList()); // 리스트로 수집 |
|
| 108 |
+ |
|
| 109 |
+ |
|
| 110 |
+ resultList.stream().forEach(t->{
|
|
| 111 |
+ MjonMsgSWFDTO mjonMsgSWFDTO = mjonMsgSentDAO.findBySWF(t.getMsgGroupId()); |
|
| 112 |
+ t.setResultSValue(String.valueOf(mjonMsgSWFDTO.getResultSValue())); |
|
| 113 |
+ t.setResultFValue(String.valueOf(mjonMsgSWFDTO.getResultFValue())); |
|
| 114 |
+ t.setResultWValue(String.valueOf(mjonMsgSWFDTO.getResultWValue())); |
|
| 115 |
+ |
|
| 116 |
+ BigDecimal eachPrice = new BigDecimal(t.getEachPrice()); |
|
| 117 |
+ BigDecimal resultSValue = new BigDecimal(mjonMsgSWFDTO.getResultSValue()); |
|
| 118 |
+ BigDecimal totalPrice = eachPrice.multiply(resultSValue); |
|
| 119 |
+ // 소수점 한 자리로 설정 (반올림) |
|
| 120 |
+ BigDecimal roundedTotalPrice = totalPrice.setScale(1, RoundingMode.HALF_UP); |
|
| 121 |
+ t.setTotPrice(roundedTotalPrice.toPlainString()); // 결과를 String으로 설정 |
|
| 122 |
+ }); |
|
| 123 |
+ |
|
| 124 |
+ |
|
| 125 |
+ |
|
| 126 |
+ |
|
| 127 |
+ // 총 카운트 |
|
| 128 |
+ int totalCnt = mjonMsgSentDAO.countAllMsgSentList(mjonMsgSentVO); |
|
| 129 |
+// int totalCnt = 0; |
|
| 130 |
+ resultMap.put("resultList", resultList);
|
|
| 131 |
+ resultMap.put("totalCnt", totalCnt);
|
|
| 132 |
+ |
|
| 133 |
+ |
|
| 134 |
+ return resultMap; |
|
| 135 |
+ } |
|
| 136 |
+ |
|
| 137 |
+ |
|
| 138 |
+ @Override |
|
| 139 |
+ public int countAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) {
|
|
| 140 |
+ return mjonMsgSentDAO.countAllMsgSentList(mjonMsgSentVO); |
|
| 141 |
+ } |
|
| 142 |
+ |
|
| 87 | 143 |
//발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
| 88 | 144 |
public List<MjonMsgSentVO> selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
| 89 | 145 |
List<MjonMsgSentVO> resultList = new ArrayList<MjonMsgSentVO>(); |
--- src/main/java/itn/let/mjo/msgsent/web/MjonMsgSentController.java
+++ src/main/java/itn/let/mjo/msgsent/web/MjonMsgSentController.java
... | ... | @@ -5,14 +5,17 @@ |
| 5 | 5 |
import java.util.ArrayList; |
| 6 | 6 |
import java.util.Calendar; |
| 7 | 7 |
import java.util.Date; |
| 8 |
+import java.util.HashMap; |
|
| 8 | 9 |
import java.util.List; |
| 9 | 10 |
import java.util.Locale; |
| 11 |
+import java.util.Map; |
|
| 10 | 12 |
import java.util.stream.Collectors; |
| 11 | 13 |
|
| 12 | 14 |
import javax.annotation.Resource; |
| 13 | 15 |
import javax.servlet.http.HttpServletRequest; |
| 14 | 16 |
import javax.servlet.http.HttpServletResponse; |
| 15 | 17 |
|
| 18 |
+import org.apache.commons.lang3.StringUtils; |
|
| 16 | 19 |
import org.apache.poi.ss.usermodel.Cell; |
| 17 | 20 |
import org.apache.poi.ss.usermodel.CellStyle; |
| 18 | 21 |
import org.apache.poi.ss.usermodel.Font; |
... | ... | @@ -47,7 +50,9 @@ |
| 47 | 50 |
import itn.let.mjo.msgsent.service.MjonMsgSentCntVO; |
| 48 | 51 |
import itn.let.mjo.msgsent.service.MjonMsgSentService; |
| 49 | 52 |
import itn.let.mjo.msgsent.service.MjonMsgSentVO; |
| 53 |
+import lombok.extern.slf4j.Slf4j; |
|
| 50 | 54 |
|
| 55 |
+@Slf4j |
|
| 51 | 56 |
@Controller |
| 52 | 57 |
public class MjonMsgSentController {
|
| 53 | 58 |
|
... | ... | @@ -234,22 +239,9 @@ |
| 234 | 239 |
String startDate = mjonMsgSentVO.getStartDate(); |
| 235 | 240 |
String endDate = mjonMsgSentVO.getEndDate(); |
| 236 | 241 |
|
| 237 |
- if(startDate == null && endDate == null ) {
|
|
| 238 |
- |
|
| 239 |
- |
|
| 240 |
-// |
|
| 241 |
-// Calendar cal = Calendar.getInstance(); |
|
| 242 |
-// Date now = new Date(); |
|
| 243 |
-// |
|
| 244 |
-// SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
|
|
| 245 |
-// |
|
| 246 |
-// //종료일은 오늘날짜 |
|
| 247 |
-// cal.setTime(now); |
|
| 248 |
-// endDate = format.format(cal.getTime()); |
|
| 249 |
-// |
|
| 250 |
-// //시작일은 전날로 셋팅 |
|
| 251 |
-// cal.add(Calendar.DATE, -1); |
|
| 252 |
-// startDate = format.format(cal.getTime()); |
|
| 242 |
+ if(StringUtils.isEmpty(startDate) |
|
| 243 |
+ && StringUtils.isEmpty(endDate)) |
|
| 244 |
+ {
|
|
| 253 | 245 |
|
| 254 | 246 |
mjonMsgSentVO.setStartDate(DateUtils.getDateMonthsAgo(3)); |
| 255 | 247 |
mjonMsgSentVO.setEndDate(DateUtils.getCurrentDate()); |
... | ... | @@ -285,6 +277,7 @@ |
| 285 | 277 |
|
| 286 | 278 |
//전체 발송 건수 통계 불러오기 |
| 287 | 279 |
mjonMsgSentVO.setMsgType("");
|
| 280 |
+ log.info(" :: mjonMsgSentService.selectDetailMsgSentCntMix :: ");
|
|
| 288 | 281 |
List<MjonMsgSentVO> totalMsgCnt = mjonMsgSentService.selectDetailMsgSentCntMix(mjonMsgSentVO); |
| 289 | 282 |
|
| 290 | 283 |
System.out.println("start");
|
... | ... | @@ -302,8 +295,6 @@ |
| 302 | 295 |
List<MjonMsgSentVO> A_lmsMsgCnt = new ArrayList<MjonMsgSentVO>(); |
| 303 | 296 |
List<MjonMsgSentVO> A_mmsMsgCnt = new ArrayList<MjonMsgSentVO>(); |
| 304 | 297 |
|
| 305 |
- System.out.println(" ::H_totalMsgCnt :: "+ H_totalMsgCnt.size());
|
|
| 306 |
- System.out.println(" ::A_totalMsgCnt :: "+ A_totalMsgCnt.size());
|
|
| 307 | 298 |
|
| 308 | 299 |
H_totalMsgCnt.forEach(t->{
|
| 309 | 300 |
if (Integer.parseInt(t.getFilePath1())>0) {
|
... | ... | @@ -325,8 +316,6 @@ |
| 325 | 316 |
} |
| 326 | 317 |
}); |
| 327 | 318 |
|
| 328 |
- |
|
| 329 |
- |
|
| 330 | 319 |
//* 홈페이지에서 보낸 데이터 LIST |
| 331 | 320 |
//* SEND_KIND = "H" |
| 332 | 321 |
|
... | ... | @@ -365,7 +354,6 @@ |
| 365 | 354 |
ApiKeyVO apiKeyVO = new ApiKeyVO(); |
| 366 | 355 |
apiKeyVO.setMberId(userId); |
| 367 | 356 |
model.addAttribute("appMgmt", apiKeyMngService.selectMberApiKeyChk(apiKeyVO) > 0 ? true : false);
|
| 368 |
- |
|
| 369 | 357 |
|
| 370 | 358 |
System.out.println("MsgSentView_HA_allSentAjax_end");
|
| 371 | 359 |
|
... | ... | @@ -421,89 +409,191 @@ |
| 421 | 409 |
@RequestMapping(value= {"/web/mjon/msgsent/selectMsgSentListViewAjax.do"})
|
| 422 | 410 |
public String selectMsgSentListViewAjax(@ModelAttribute("searchVO") MjonMsgSentVO mjonMsgSentVO, ModelMap model) throws Exception{
|
| 423 | 411 |
|
| 412 |
+ String pageUrl = ""; |
|
| 413 |
+ try {
|
|
| 414 |
+ |
|
| 415 |
+ |
|
| 416 |
+ |
|
| 417 |
+ |
|
| 418 |
+ //로그인 권한정보 불러오기 |
|
| 419 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 420 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 421 |
+ |
|
| 422 |
+ mjonMsgSentVO.setUserId(userId); |
|
| 423 |
+ |
|
| 424 |
+ // 검색 리스트 불러오기 |
|
| 425 |
+// if(mjonMsgSentVO.getPageUnit() != 10) {
|
|
| 426 |
+// mjonMsgSentVO.setPageUnit(mjonMsgSentVO.getPageUnit()); |
|
| 427 |
+// } |
|
| 428 |
+ |
|
| 429 |
+ //기본 내림차순 정렬 |
|
| 430 |
+ if(mjonMsgSentVO.getSearchSortOrd().equals("")) {
|
|
| 431 |
+ |
|
| 432 |
+ mjonMsgSentVO.setSearchSortOrd("desc");
|
|
| 433 |
+ mjonMsgSentVO.setSearchSortCnd("regdate");
|
|
| 434 |
+ } |
|
| 435 |
+ |
|
| 436 |
+ if(mjonMsgSentVO.getListType().equals("")) {
|
|
| 437 |
+ |
|
| 438 |
+ mjonMsgSentVO.setListType("groupList");
|
|
| 439 |
+ |
|
| 440 |
+ } |
|
| 441 |
+ |
|
| 442 |
+ //선택 탭 정보 저장 |
|
| 443 |
+ //mjonResvMsgVO.setSearchMsgType(mjonResvMsgVO.getTabType()); |
|
| 444 |
+ |
|
| 445 |
+ /** pageing */ |
|
| 446 |
+ PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 447 |
+ paginationInfo.setCurrentPageNo(mjonMsgSentVO.getPageIndex()); |
|
| 448 |
+ paginationInfo.setRecordCountPerPage(mjonMsgSentVO.getPageUnit()); |
|
| 449 |
+ paginationInfo.setPageSize(mjonMsgSentVO.getPageSize()); |
|
| 450 |
+ |
|
| 451 |
+ mjonMsgSentVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 452 |
+ mjonMsgSentVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 453 |
+ mjonMsgSentVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 454 |
+ |
|
| 455 |
+ if(!DateUtils.dateChkAndValueChk(mjonMsgSentVO.getStartDate(),mjonMsgSentVO.getEndDate(), 3 )) {
|
|
| 456 |
+ mjonMsgSentVO.setStartDate(DateUtils.getDateMonthsAgo(3)); |
|
| 457 |
+ mjonMsgSentVO.setEndDate(DateUtils.getCurrentDate()); |
|
| 458 |
+ }; |
|
| 459 |
+ |
|
| 460 |
+ model.addAttribute("startDate", mjonMsgSentVO.getStartDate());
|
|
| 461 |
+ model.addAttribute("endDate", mjonMsgSentVO.getEndDate());
|
|
| 462 |
+ |
|
| 463 |
+ //전체 발송 리스트 불러오기 |
|
| 464 |
+ Map<String, Object> resultMap = mjonMsgSentService.selectAllMsgSentList_advc(mjonMsgSentVO); |
|
| 465 |
+ |
|
| 466 |
+ |
|
| 467 |
+ model.addAttribute("resultAllSentList", resultMap.get("resultList"));
|
|
| 468 |
+ |
|
| 469 |
+ |
|
| 470 |
+ paginationInfo.setTotalRecordCount((Integer)resultMap.get("totalCnt"));
|
|
| 471 |
+ model.addAttribute("paginationInfo", paginationInfo);
|
|
| 472 |
+ model.addAttribute("totalRecordCount", paginationInfo.getTotalRecordCount());
|
|
| 473 |
+ |
|
| 474 |
+ model.addAttribute("mjonMsgSentVO", mjonMsgSentVO);
|
|
| 475 |
+ |
|
| 476 |
+ String stateType = mjonMsgSentVO.getStateType(); |
|
| 477 |
+ // String pageUrl = "web/msgsent/MsgSentAllListAjax"; |
|
| 478 |
+ /* |
|
| 479 |
+ pageUrl = "web/msgsent/MsgSentAllListAjax"; |
|
| 480 |
+ if(stateType.equals("ready")) {
|
|
| 481 |
+ |
|
| 482 |
+ pageUrl = "web/msgsent/MsgSentReadyListAjax"; |
|
| 483 |
+ |
|
| 484 |
+ }else if(stateType.equals("complete")) {
|
|
| 485 |
+ |
|
| 486 |
+ pageUrl = "web/msgsent/MsgSentCompleteListAjax"; |
|
| 487 |
+ |
|
| 488 |
+ }else if(stateType.equals("fail")) {
|
|
| 489 |
+ |
|
| 490 |
+ pageUrl = "web/msgsent/MsgSentFailListAjax"; |
|
| 491 |
+ |
|
| 492 |
+ }*/ |
|
| 493 |
+ } catch (Exception e) {
|
|
| 494 |
+ e.printStackTrace(); |
|
| 495 |
+ // TODO: handle exception |
|
| 496 |
+ } |
|
| 497 |
+ |
|
| 498 |
+ return "web/msgsent/MsgSentAllListAjax"; |
|
| 499 |
+ } |
|
| 500 |
+ |
|
| 501 |
+ @RequestMapping(value= {"/web/mjon/msgsent/selectMsgSentListViewAjax_backup.do"})
|
|
| 502 |
+ public String selectMsgSentListViewAjax_backup(@ModelAttribute("searchVO") MjonMsgSentVO mjonMsgSentVO, ModelMap model) throws Exception{
|
|
| 503 |
+ |
|
| 504 |
+ |
|
| 505 |
+ |
|
| 506 |
+ |
|
| 424 | 507 |
//로그인 권한정보 불러오기 |
| 425 |
- LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 426 |
- String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 427 |
- |
|
| 428 |
- mjonMsgSentVO.setUserId(userId); |
|
| 429 |
- |
|
| 430 |
- // 검색 리스트 불러오기 |
|
| 508 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 509 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 510 |
+ |
|
| 511 |
+ mjonMsgSentVO.setUserId(userId); |
|
| 512 |
+ |
|
| 513 |
+ // 검색 리스트 불러오기 |
|
| 431 | 514 |
if(mjonMsgSentVO.getPageUnit() != 10) {
|
| 432 | 515 |
mjonMsgSentVO.setPageUnit(mjonMsgSentVO.getPageUnit()); |
| 433 | 516 |
} |
| 434 | 517 |
|
| 435 |
- //기본 내림차순 정렬 |
|
| 436 |
- if(mjonMsgSentVO.getSearchSortOrd().equals("")) {
|
|
| 437 |
- |
|
| 438 |
- mjonMsgSentVO.setSearchSortOrd("desc");
|
|
| 439 |
- mjonMsgSentVO.setSearchSortCnd("regdate");
|
|
| 440 |
- } |
|
| 441 |
- |
|
| 442 |
- if(mjonMsgSentVO.getListType().equals("")) {
|
|
| 443 |
- |
|
| 444 |
- mjonMsgSentVO.setListType("groupList");
|
|
| 445 |
- |
|
| 446 |
- } |
|
| 447 |
- |
|
| 448 |
- //선택 탭 정보 저장 |
|
| 449 |
- //mjonResvMsgVO.setSearchMsgType(mjonResvMsgVO.getTabType()); |
|
| 450 |
- |
|
| 518 |
+ //기본 내림차순 정렬 |
|
| 519 |
+ if(mjonMsgSentVO.getSearchSortOrd().equals("")) {
|
|
| 520 |
+ |
|
| 521 |
+ mjonMsgSentVO.setSearchSortOrd("desc");
|
|
| 522 |
+ mjonMsgSentVO.setSearchSortCnd("regdate");
|
|
| 523 |
+ } |
|
| 524 |
+ |
|
| 525 |
+ if(mjonMsgSentVO.getListType().equals("")) {
|
|
| 526 |
+ |
|
| 527 |
+ mjonMsgSentVO.setListType("groupList");
|
|
| 528 |
+ |
|
| 529 |
+ } |
|
| 530 |
+ |
|
| 531 |
+ //선택 탭 정보 저장 |
|
| 532 |
+ //mjonResvMsgVO.setSearchMsgType(mjonResvMsgVO.getTabType()); |
|
| 533 |
+ |
|
| 451 | 534 |
/** pageing */ |
| 452 | 535 |
PaginationInfo paginationInfo = new PaginationInfo(); |
| 453 | 536 |
paginationInfo.setCurrentPageNo(mjonMsgSentVO.getPageIndex()); |
| 454 | 537 |
paginationInfo.setRecordCountPerPage(mjonMsgSentVO.getPageUnit()); |
| 455 | 538 |
paginationInfo.setPageSize(mjonMsgSentVO.getPageSize()); |
| 456 |
- |
|
| 539 |
+ |
|
| 457 | 540 |
mjonMsgSentVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
| 458 | 541 |
mjonMsgSentVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
| 459 | 542 |
mjonMsgSentVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
| 460 |
- |
|
| 543 |
+ |
|
| 461 | 544 |
|
| 462 | 545 |
|
| 463 | 546 |
if(!DateUtils.dateChkAndValueChk(mjonMsgSentVO.getStartDate(),mjonMsgSentVO.getEndDate(), 3 )) {
|
| 464 | 547 |
mjonMsgSentVO.setStartDate(DateUtils.getDateMonthsAgo(3)); |
| 465 | 548 |
mjonMsgSentVO.setEndDate(DateUtils.getCurrentDate()); |
| 466 | 549 |
}; |
| 467 |
- |
|
| 468 |
- model.addAttribute("startDate", mjonMsgSentVO.getStartDate());
|
|
| 469 |
- model.addAttribute("endDate", mjonMsgSentVO.getEndDate());
|
|
| 470 | 550 |
|
| 471 |
- //전체 발송 리스트 불러오기 |
|
| 472 |
- List<MjonMsgSentVO> resultAllSentList = mjonMsgSentService.selectAllMsgSentList(mjonMsgSentVO); |
|
| 473 |
- model.addAttribute("resultAllSentList", resultAllSentList);
|
|
| 474 |
- model.addAttribute("resultAllSentCnt", resultAllSentList.size());
|
|
| 475 |
- |
|
| 476 |
- model.addAttribute("searchKeyword", mjonMsgSentVO.getSearchKeyword());
|
|
| 477 |
- paginationInfo.setTotalRecordCount( resultAllSentList.size()> 0 ? (Integer.parseInt((resultAllSentList.get(0)).getTotMsgCnt())) : 0); |
|
| 478 |
- model.addAttribute("paginationInfo", paginationInfo);
|
|
| 479 |
- model.addAttribute("totalRecordCount", paginationInfo.getTotalRecordCount());
|
|
| 480 |
- |
|
| 481 |
- //발송 결과 성공 실패 건수 리스트 불러오기 |
|
| 482 |
- List<MjonMsgSentVO> resultMsgSucFailList = new ArrayList<MjonMsgSentVO>(); |
|
| 483 |
- |
|
| 484 |
- if(resultAllSentList.size() > 0) {
|
|
| 485 |
- resultMsgSucFailList = mjonMsgSentService.selectAllMsgSentSucFailList(resultAllSentList, mjonMsgSentVO); |
|
| 486 |
- } |
|
| 487 |
- model.addAttribute("resultMsgSucFailList", resultMsgSucFailList);
|
|
| 488 |
- |
|
| 489 |
- model.addAttribute("mjonMsgSentVO", mjonMsgSentVO);
|
|
| 490 |
- |
|
| 491 |
- String stateType = mjonMsgSentVO.getStateType(); |
|
| 492 |
- String pageUrl = "web/msgsent/MsgSentAllListAjax"; |
|
| 493 |
- |
|
| 494 |
- if(stateType.equals("ready")) {
|
|
| 495 |
- |
|
| 496 |
- pageUrl = "web/msgsent/MsgSentReadyListAjax"; |
|
| 497 |
- |
|
| 498 |
- }else if(stateType.equals("complete")) {
|
|
| 499 |
- |
|
| 500 |
- pageUrl = "web/msgsent/MsgSentCompleteListAjax"; |
|
| 501 |
- |
|
| 502 |
- }else if(stateType.equals("fail")) {
|
|
| 503 |
- |
|
| 504 |
- pageUrl = "web/msgsent/MsgSentFailListAjax"; |
|
| 505 |
- |
|
| 506 |
- } |
|
| 551 |
+ model.addAttribute("startDate", mjonMsgSentVO.getStartDate());
|
|
| 552 |
+ model.addAttribute("endDate", mjonMsgSentVO.getEndDate());
|
|
| 553 |
+ |
|
| 554 |
+ //전체 발송 리스트 불러오기 |
|
| 555 |
+ List<MjonMsgSentVO> resultAllSentList = mjonMsgSentService.selectAllMsgSentList(mjonMsgSentVO); |
|
| 556 |
+ |
|
| 557 |
+ |
|
| 558 |
+ model.addAttribute("resultAllSentList", resultAllSentList);
|
|
| 559 |
+ model.addAttribute("resultAllSentCnt", resultAllSentList.size());
|
|
| 560 |
+ |
|
| 561 |
+ model.addAttribute("searchKeyword", mjonMsgSentVO.getSearchKeyword());
|
|
| 562 |
+ paginationInfo.setTotalRecordCount( resultAllSentList.size()> 0 ? (Integer.parseInt((resultAllSentList.get(0)).getTotMsgCnt())) : 0); |
|
| 563 |
+ model.addAttribute("paginationInfo", paginationInfo);
|
|
| 564 |
+ model.addAttribute("totalRecordCount", paginationInfo.getTotalRecordCount());
|
|
| 565 |
+ |
|
| 566 |
+ //발송 결과 성공 실패 건수 리스트 불러오기 |
|
| 567 |
+ List<MjonMsgSentVO> resultMsgSucFailList = new ArrayList<MjonMsgSentVO>(); |
|
| 568 |
+ |
|
| 569 |
+ if(resultAllSentList.size() > 0) {
|
|
| 570 |
+ System.out.println("=====resultMsgSucFailList=====");
|
|
| 571 |
+ resultMsgSucFailList = mjonMsgSentService.selectAllMsgSentSucFailList(resultAllSentList, mjonMsgSentVO); |
|
| 572 |
+ System.out.println("//=====resultMsgSucFailList=====");
|
|
| 573 |
+ } |
|
| 574 |
+ model.addAttribute("resultMsgSucFailList", resultMsgSucFailList);
|
|
| 575 |
+ |
|
| 576 |
+ model.addAttribute("mjonMsgSentVO", mjonMsgSentVO);
|
|
| 577 |
+ |
|
| 578 |
+ String stateType = mjonMsgSentVO.getStateType(); |
|
| 579 |
+ // String pageUrl = "web/msgsent/MsgSentAllListAjax"; |
|
| 580 |
+ String pageUrl = "web/msgsent/MsgSentAllListAjax"; |
|
| 581 |
+ |
|
| 582 |
+ if(stateType.equals("ready")) {
|
|
| 583 |
+ |
|
| 584 |
+ pageUrl = "web/msgsent/MsgSentReadyListAjax"; |
|
| 585 |
+ |
|
| 586 |
+ }else if(stateType.equals("complete")) {
|
|
| 587 |
+ |
|
| 588 |
+ pageUrl = "web/msgsent/MsgSentCompleteListAjax"; |
|
| 589 |
+ |
|
| 590 |
+ }else if(stateType.equals("fail")) {
|
|
| 591 |
+ |
|
| 592 |
+ pageUrl = "web/msgsent/MsgSentFailListAjax"; |
|
| 593 |
+ |
|
| 594 |
+ } |
|
| 595 |
+ |
|
| 596 |
+ log.info(" :: pageUrl [{}]", pageUrl);
|
|
| 507 | 597 |
return pageUrl; |
| 508 | 598 |
} |
| 509 | 599 |
|
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
... | ... | @@ -3,8 +3,9 @@ |
| 3 | 3 |
========= ======= ================================================= |
| 4 | 4 |
2021.06.21 우영두 |
| 5 | 5 |
--> |
| 6 |
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> |
|
| 6 |
+<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> |
|
| 7 | 7 |
<sqlMap namespace="Msg"> |
| 8 |
+ <typeAlias alias="mjonMsgSWFDTO" type="itn.let.mjo.msgsent.service.MjonMsgSWFDTO"/> |
|
| 8 | 9 |
<typeAlias alias="mjonMsgSentVO" type="itn.let.mjo.msgsent.service.MjonMsgSentVO"/> |
| 9 | 10 |
<typeAlias alias="mjonMsgVO" type="itn.let.mjo.msg.service.MjonMsgVO"/> |
| 10 | 11 |
<typeAlias alias="addrGroupVO" type="itn.let.mjo.addr.service.AddrGroupVO"/> |
... | ... | @@ -222,6 +223,220 @@ |
| 222 | 223 |
|
| 223 | 224 |
</select> |
| 224 | 225 |
|
| 226 |
+ <!-- 전체 발송결과 조회 (전송사별) 카운트--> |
|
| 227 |
+ <select id="MjonMsgSentDAO.countAllMsgSentList" parameterClass="mjonMsgSentVO" resultClass="int"> |
|
| 228 |
+ |
|
| 229 |
+ select |
|
| 230 |
+ COUNT(DISTINCT B.MSG_GROUP_ID) as totalGroupCount |
|
| 231 |
+ from |
|
| 232 |
+ MJ_MSG_DATA A |
|
| 233 |
+ join MJ_MSG_GROUP_DATA B on |
|
| 234 |
+ A.MSG_GROUP_ID = B.MSG_GROUP_ID |
|
| 235 |
+ WHERE (B.DEL_FLAG = 'N' OR B.DEL_FLAG IS NULL) |
|
| 236 |
+ AND A.DEL_FLAG = 'N' |
|
| 237 |
+ AND B.USER_ID = #userId# |
|
| 238 |
+ AND B.RESERVE_C_YN = 'N' |
|
| 239 |
+ <![CDATA[ |
|
| 240 |
+ AND B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
|
| 241 |
+ ]]> |
|
| 242 |
+ <isNotEmpty property="searchMsgType"> |
|
| 243 |
+ <isEqual property="searchMsgType" compareValue="S"> |
|
| 244 |
+ AND B.MSG_TYPE = '4' |
|
| 245 |
+ </isEqual> |
|
| 246 |
+ <isEqual property="searchMsgType" compareValue="L"> |
|
| 247 |
+ AND B.MSG_TYPE = '6' |
|
| 248 |
+ AND B.FILE_CNT = '0' |
|
| 249 |
+ </isEqual> |
|
| 250 |
+ <isEqual property="searchMsgType" compareValue="M"> |
|
| 251 |
+ <![CDATA[ |
|
| 252 |
+ AND B.MSG_TYPE = '6' |
|
| 253 |
+ AND B.FILE_CNT > '0' |
|
| 254 |
+ ]]> |
|
| 255 |
+ </isEqual> |
|
| 256 |
+ </isNotEmpty> |
|
| 257 |
+ <isNotEmpty property="searchKeyword"> |
|
| 258 |
+ <isEqual property="searchCondition" compareValue="1" > |
|
| 259 |
+ AND B.SUBJECT LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 260 |
+ </isEqual> |
|
| 261 |
+ <isEqual property="searchCondition" compareValue="2" > |
|
| 262 |
+ AND B.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 263 |
+ </isEqual> |
|
| 264 |
+ <isEqual property="searchCondition" compareValue="3" > |
|
| 265 |
+ AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 266 |
+ </isEqual> |
|
| 267 |
+ </isNotEmpty> |
|
| 268 |
+ <isNotEmpty property="searchCondition_01"> |
|
| 269 |
+ AND sendKind = #searchCondition_01# |
|
| 270 |
+ </isNotEmpty> |
|
| 271 |
+ <isNotEmpty property="startDate"> |
|
| 272 |
+ <![CDATA[ |
|
| 273 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 274 |
+ ]]> |
|
| 275 |
+ </isNotEmpty> |
|
| 276 |
+ <isNotEmpty property="endDate"> |
|
| 277 |
+ <![CDATA[ |
|
| 278 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 279 |
+ ]]> |
|
| 280 |
+ </isNotEmpty> |
|
| 281 |
+ </select> |
|
| 282 |
+ |
|
| 283 |
+ |
|
| 284 |
+ <!-- 전체 발송결과 조회 (전송사별) 카운트--> |
|
| 285 |
+ <select id="MjonMsgSentDAO.findBySWF" parameterClass="String" resultClass="mjonMsgSWFDTO"> |
|
| 286 |
+ select |
|
| 287 |
+ SUM(IF(aa.result = 'S', 1, 0)) AS resultSValue, |
|
| 288 |
+ SUM(IF(aa.result = 'W', 1, 0)) AS resultWValue, |
|
| 289 |
+ SUM(IF(aa.result = 'F', 1, 0)) AS resultFValue |
|
| 290 |
+ from |
|
| 291 |
+ ( |
|
| 292 |
+ select |
|
| 293 |
+ case |
|
| 294 |
+ when A.AGENT_CODE = '01' |
|
| 295 |
+ and ( A.RSLT_CODE = '100' |
|
| 296 |
+ and (A.RSLT_CODE2 = '0')) then 'S' |
|
| 297 |
+ when A.AGENT_CODE = '02' |
|
| 298 |
+ and (A.RSLT_CODE = '0') then 'S' |
|
| 299 |
+ when A.AGENT_CODE = '03' |
|
| 300 |
+ and (A.RSLT_CODE = '100' |
|
| 301 |
+ or A.RSLT_CODE = '101' |
|
| 302 |
+ or A.RSLT_CODE = '110' |
|
| 303 |
+ or A.RSLT_CODE = '800') then 'S' |
|
| 304 |
+ when |
|
| 305 |
+ A.AGENT_CODE = '04' |
|
| 306 |
+ and (A.RSLT_CODE = '4100' |
|
| 307 |
+ or A.RSLT_CODE = '6600' |
|
| 308 |
+ or A.RSLT_CODE = '7000') then 'S' |
|
| 309 |
+ when |
|
| 310 |
+ A.AGENT_CODE = '05' |
|
| 311 |
+ and (A.RSLT_CODE = '1000' |
|
| 312 |
+ or A.RSLT_CODE = '1001') then 'S' |
|
| 313 |
+ when |
|
| 314 |
+ A.AGENT_CODE = '07' |
|
| 315 |
+ and (A.RSLT_CODE = '6' |
|
| 316 |
+ or A.RSLT_CODE = '1000') then 'S' |
|
| 317 |
+ when |
|
| 318 |
+ A.AGENT_CODE = '08' |
|
| 319 |
+ and (A.RSLT_CODE = '1000' |
|
| 320 |
+ or A.RSLT_CODE = '1001') then 'S' |
|
| 321 |
+ when |
|
| 322 |
+ A.AGENT_CODE = '09' |
|
| 323 |
+ and (A.RSLT_CODE = '1000' |
|
| 324 |
+ or A.RSLT_CODE = '1001') then 'S' |
|
| 325 |
+ when ( |
|
| 326 |
+ A.RSLT_CODE is null |
|
| 327 |
+ and A.RSLT_CODE2 is null |
|
| 328 |
+ and A.SENT_DATE is null |
|
| 329 |
+ and A.RSLT_DATE is null ) then 'W' |
|
| 330 |
+ else 'F' |
|
| 331 |
+ end as result /* common query */ |
|
| 332 |
+ from |
|
| 333 |
+ MJ_MSG_DATA A |
|
| 334 |
+ where |
|
| 335 |
+ A.MSG_GROUP_ID = #msgGroupId# |
|
| 336 |
+ ) aa |
|
| 337 |
+ </select> |
|
| 338 |
+ |
|
| 339 |
+ |
|
| 340 |
+ |
|
| 341 |
+ |
|
| 342 |
+ |
|
| 343 |
+ <!-- 전체 발송결과 조회 (전송사별)--> |
|
| 344 |
+ <select id="MjonMsgSentDAO.selectAllMsgSentList_advc" parameterClass="mjonMsgSentVO" resultClass="mjonMsgSentVO"> |
|
| 345 |
+ |
|
| 346 |
+SELECT |
|
| 347 |
+ B.USER_ID as userId |
|
| 348 |
+ , B.MSG_GROUP_ID as msgGroupId |
|
| 349 |
+ , B.MSG_GROUP_CNT as msgGroupCnt |
|
| 350 |
+ , B.SMS_TXT as smsTxt |
|
| 351 |
+ , B.SUBJECT as subject |
|
| 352 |
+ , DATE_FORMAT(B.REGDATE, '%Y-%m-%d %T') AS regdate |
|
| 353 |
+ , DATE_FORMAT(B.REQ_DATE, '%Y-%m-%d %T') AS reqDate |
|
| 354 |
+ , ( |
|
| 355 |
+ CASE |
|
| 356 |
+ WHEN B.DELAY_YN = 'Y' AND B.DELAY_COMPLETE_YN = 'N' THEN DATE_ADD(B.REQ_DATE, INTERVAL -30 MINUTE) |
|
| 357 |
+ ELSE B.REQ_DATE |
|
| 358 |
+ END |
|
| 359 |
+ ) AS delayOrgTime |
|
| 360 |
+ , B.CALL_FROM as callFrom |
|
| 361 |
+ , B.TOT_PRICE as totPrice |
|
| 362 |
+ , B.EACH_PRICE as eachPrice |
|
| 363 |
+ , B.MSG_TYPE as msgType |
|
| 364 |
+ , B.FILE_CNT as fileCnt |
|
| 365 |
+ , B.AGENT_CODE as agentCode |
|
| 366 |
+ , B.RESERVE_C_YN as reserveCYn |
|
| 367 |
+ , B.CANCELDATE as canceldate |
|
| 368 |
+ , B.DEL_FLAG as delFlag |
|
| 369 |
+ , B.SEND_KIND as sendKind |
|
| 370 |
+ , B.MSG_KIND as msgKind |
|
| 371 |
+ , B.DELAY_YN as delayYn |
|
| 372 |
+ , B.DELAY_COMPLETE_YN as delayCompleteYn |
|
| 373 |
+ FROM MJ_MSG_DATA A |
|
| 374 |
+ JOIN MJ_MSG_GROUP_DATA B ON A.MSG_GROUP_ID = B.MSG_GROUP_ID |
|
| 375 |
+ WHERE (B.DEL_FLAG = 'N' OR B.DEL_FLAG IS NULL) |
|
| 376 |
+ AND A.DEL_FLAG = 'N' |
|
| 377 |
+ AND B.RESERVE_C_YN = 'N' |
|
| 378 |
+ AND B.USER_ID = #userId# |
|
| 379 |
+ <![CDATA[ |
|
| 380 |
+ AND B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
|
| 381 |
+ ]]> |
|
| 382 |
+ <isNotEmpty property="searchMsgType"> |
|
| 383 |
+ <isEqual property="searchMsgType" compareValue="S"> |
|
| 384 |
+ AND B.MSG_TYPE = '4' |
|
| 385 |
+ </isEqual> |
|
| 386 |
+ <isEqual property="searchMsgType" compareValue="L"> |
|
| 387 |
+ AND B.MSG_TYPE = '6' |
|
| 388 |
+ AND B.FILE_CNT = '0' |
|
| 389 |
+ </isEqual> |
|
| 390 |
+ <isEqual property="searchMsgType" compareValue="M"> |
|
| 391 |
+ <![CDATA[ |
|
| 392 |
+ AND B.MSG_TYPE = '6' |
|
| 393 |
+ AND B.FILE_CNT > '0' |
|
| 394 |
+ ]]> |
|
| 395 |
+ </isEqual> |
|
| 396 |
+ </isNotEmpty> |
|
| 397 |
+ <isNotEmpty property="searchKeyword"> |
|
| 398 |
+ <isEqual property="searchCondition" compareValue="1" > |
|
| 399 |
+ AND B.SUBJECT LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 400 |
+ </isEqual> |
|
| 401 |
+ <isEqual property="searchCondition" compareValue="2" > |
|
| 402 |
+ AND B.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 403 |
+ </isEqual> |
|
| 404 |
+ <isEqual property="searchCondition" compareValue="3" > |
|
| 405 |
+ AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 406 |
+ </isEqual> |
|
| 407 |
+ </isNotEmpty> |
|
| 408 |
+ <isNotEmpty property="searchCondition_01"> |
|
| 409 |
+ AND sendKind = #searchCondition_01# |
|
| 410 |
+ </isNotEmpty> |
|
| 411 |
+ <isNotEmpty property="startDate"> |
|
| 412 |
+ <![CDATA[ |
|
| 413 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 414 |
+ ]]> |
|
| 415 |
+ </isNotEmpty> |
|
| 416 |
+ <isNotEmpty property="endDate"> |
|
| 417 |
+ <![CDATA[ |
|
| 418 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 419 |
+ ]]> |
|
| 420 |
+ </isNotEmpty> |
|
| 421 |
+ GROUP BY B.MSG_GROUP_ID |
|
| 422 |
+ ORDER BY 1=1 |
|
| 423 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 424 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 425 |
+ , curState $searchSortOrd$ |
|
| 426 |
+ , orderByrsltCode |
|
| 427 |
+ </isEqual> |
|
| 428 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 429 |
+ ,$searchSortCnd$ |
|
| 430 |
+ </isNotEqual> |
|
| 431 |
+ </isNotEmpty> |
|
| 432 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 433 |
+ $searchSortOrd$ |
|
| 434 |
+ </isNotEmpty> |
|
| 435 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 436 |
+ |
|
| 437 |
+ |
|
| 438 |
+ </select> |
|
| 439 |
+ |
|
| 225 | 440 |
<!-- 전체 발송결과 조회 (전송사별)--> |
| 226 | 441 |
<select id="MjonMsgSentDAO.selectAllMsgSentList" parameterClass="mjonMsgSentVO" resultClass="mjonMsgSentVO"> |
| 227 | 442 |
SELECT |
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
... | ... | @@ -58,18 +58,11 @@ |
| 58 | 58 |
} |
| 59 | 59 |
}); |
| 60 | 60 |
|
| 61 |
- if($("#tdType").val() == "groupList"){
|
|
| 62 |
- $('td[name="listTd"]').attr("rowspan", "2")
|
|
| 63 |
- }else{
|
|
| 64 |
- $('tr[name="listTr"]').remove();
|
|
| 65 |
- $('td[name="listSucc"]').remove();
|
|
| 66 |
- } |
|
| 67 | 61 |
}); |
| 68 | 62 |
|
| 69 | 63 |
</script> |
| 70 | 64 |
<div class="list_info"> |
| 71 |
- <input type="hidden" id="tdType" value="${mjonMsgSentVO.listType}">
|
|
| 72 |
- <p>총 <span class="c_e40000"><c:out value="${totalRecordCount}"/></span>건</p>
|
|
| 65 |
+ <p>총 <span class="c_e40000" id="testId"><c:out value="${totalRecordCount}"/></span>건</p>
|
|
| 73 | 66 |
<div> |
| 74 | 67 |
<label for="pageUnit" class="label">줄보기 선택</label> |
| 75 | 68 |
<select id="pageUnit" name="pageUnit" class="selType2"> |
... | ... | @@ -84,104 +77,86 @@ |
| 84 | 77 |
<div class="tb_wrap"> |
| 85 | 78 |
<table class="tType4"> |
| 86 | 79 |
<colgroup> |
| 87 |
- <col style="width: 40px;"> |
|
| 80 |
+ <col style="width: 45px;"> |
|
| 88 | 81 |
<col style="width: 12%;"> |
| 89 | 82 |
<col style="width: 8%;"> |
| 90 |
- <col style="width: 90px;"> |
|
| 91 |
- <col style="width: 10%;"> |
|
| 92 |
- <col style="width: 15%;"> |
|
| 93 |
- <col style="width: 12%;"> |
|
| 83 |
+ <col style="width: auto;"> |
|
| 94 | 84 |
<col style="width: 8%;"> |
| 95 |
- <c:if test="${mjonMsgSentVO.listType eq 'groupList'}">
|
|
| 96 |
- <col style="width: 8%;"> |
|
| 97 |
- <col style="width: 8%;"> |
|
| 98 |
- </c:if> |
|
| 85 |
+ <col style="width: 6%;"> |
|
| 86 |
+ <col style="width: 6%;"> |
|
| 87 |
+ <col style="width: 6%;"> |
|
| 88 |
+ <col style="width: 6%;"> |
|
| 89 |
+ <col style="width: 6%;"> |
|
| 90 |
+ <col style="width: 11%;"> |
|
| 99 | 91 |
</colgroup> |
| 100 | 92 |
<thead> |
| 101 | 93 |
<tr> |
| 102 |
- <th> |
|
| 94 |
+ <th rowspan="2"> |
|
| 103 | 95 |
<label for="allCheck" class="label">전체 선택</label> |
| 104 | 96 |
<input type="checkbox" id="allCheck" name="allCheck"> |
| 105 | 97 |
</th> |
| 106 |
- <th>발송일시 |
|
| 98 |
+ <th rowspan="2">발송일시 |
|
| 107 | 99 |
<div class="sort_wrap"> |
| 108 | 100 |
<input type="button" class="sort sortBtn" id="sort_reqdate"> |
| 109 | 101 |
</div> |
| 110 | 102 |
</th> |
| 111 |
- <th>형태 |
|
| 103 |
+ <th rowspan="2">형태 |
|
| 112 | 104 |
<div class="sort_wrap"> |
| 113 | 105 |
<input type="button" class="sort sortBtn" id="sort_orderByCode"> |
| 114 | 106 |
</div> |
| 115 | 107 |
</th> |
| 116 |
- <th>발송방식 |
|
| 108 |
+ <!-- <th>발송방식 |
|
| 117 | 109 |
<div class="sort_wrap"> |
| 118 | 110 |
<input type="button" class="sort sortBtn" id="sort_sendKind"> |
| 119 | 111 |
</div> |
| 120 |
- </th> |
|
| 121 |
- <th>내용</th> |
|
| 122 |
- <th>받는사람 |
|
| 112 |
+ </th> --> |
|
| 113 |
+ <th rowspan="2">내용</th> |
|
| 114 |
+ <!-- <th>받는사람 |
|
| 123 | 115 |
<div class="sort_wrap"> |
| 124 | 116 |
<input type="button" class="sort sortBtn" id="sort_callTo"> |
| 125 | 117 |
</div> |
| 126 |
- </th> |
|
| 127 |
- <th>발신번호 |
|
| 118 |
+ </th> --> |
|
| 119 |
+ <!-- <th>발신번호 |
|
| 128 | 120 |
<div class="sort_wrap"> |
| 129 | 121 |
<input type="button" class="sort sortBtn" id="sort_callFrom"> |
| 130 | 122 |
</div> |
| 131 |
- </th> |
|
| 132 |
- <c:if test="${mjonMsgSentVO.listType eq 'groupList'}">
|
|
| 133 |
- <th> |
|
| 123 |
+ </th> --> |
|
| 124 |
+ <th rowspan="2"> |
|
| 134 | 125 |
발송건수 |
| 135 | 126 |
<div class="sort_wrap"> |
| 136 | 127 |
<input type="button" class="sort sortBtn" id="sort_msgGroupCnt"> |
| 137 | 128 |
</div> |
| 138 | 129 |
</th> |
| 139 |
- </c:if> |
|
| 140 |
- <th>결과</th> |
|
| 141 |
- <c:if test="${mjonMsgSentVO.listType eq 'groupList'}">
|
|
| 142 |
- <th>건수</th> |
|
| 143 |
- </c:if> |
|
| 144 |
- <th>금액</th> |
|
| 130 |
+ <th colspan="4">결과</th> |
|
| 131 |
+ <th rowspan="2">금액</th> |
|
| 132 |
+ <th rowspan="2">예약관리</th> |
|
| 133 |
+<!-- <th>금액</th> --> |
|
| 134 |
+ </tr> |
|
| 135 |
+ <tr> |
|
| 136 |
+ <th>대기</th> |
|
| 137 |
+ <th>성공</th> |
|
| 138 |
+ <th>실패</th> |
|
| 139 |
+ <th>예약</th> |
|
| 145 | 140 |
</tr> |
| 146 | 141 |
</thead> |
| 147 | 142 |
<tbody> |
| 148 | 143 |
<c:choose> |
| 149 | 144 |
<c:when test="${not empty resultAllSentList}">
|
| 150 | 145 |
<c:forEach var="resultAllSentList" items="${resultAllSentList}" varStatus="status">
|
| 151 |
- <c:set var="replaceCnt" value="0" /> |
|
| 152 |
- <c:set var="electionCnt" value="0" /> |
|
| 153 |
- <c:set var="advertisementCnt" value="0" /> |
|
| 154 |
- |
|
| 155 |
- <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'[*이름*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*1*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*2*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*3*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*4*]') != -1}">
|
|
| 156 |
- <c:set var="replaceCnt" value="1" /> |
|
| 157 |
- </c:if> |
|
| 158 |
- <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'(선거운동정보)') == 0}">
|
|
| 159 |
- <c:set var="electionCnt" value="1" /> |
|
| 160 |
- </c:if> |
|
| 161 |
- <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'(광고)') == 0}">
|
|
| 162 |
- <c:set var="advertisementCnt" value="1" /> |
|
| 163 |
- </c:if> |
|
| 164 | 146 |
<tr> |
| 165 |
- <td name="listTd"> |
|
| 147 |
+ <td> |
|
| 166 | 148 |
<label for="msgSentDel${status.count}" class="label">선택</label>
|
| 167 | 149 |
<c:choose> |
| 168 | 150 |
<c:when test="${resultAllSentList.curState == '0'}">
|
| 169 | 151 |
<input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgGroupId}" disabled>
|
| 170 | 152 |
</c:when> |
| 171 |
- <c:otherwise> |
|
| 172 |
- <c:choose> |
|
| 173 |
- <c:when test="${mjonMsgSentVO.listType == 'groupList'}">
|
|
| 174 |
- <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgGroupId}">
|
|
| 175 |
- </c:when> |
|
| 176 |
- <c:otherwise> |
|
| 177 |
- <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgSeq}">
|
|
| 178 |
- </c:otherwise> |
|
| 179 |
- </c:choose> |
|
| 180 |
- </c:otherwise> |
|
| 153 |
+ <c:when test="${mjonMsgSentVO.listType == 'groupList'}">
|
|
| 154 |
+ <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgGroupId}">
|
|
| 155 |
+ </c:when> |
|
| 181 | 156 |
</c:choose> |
| 182 | 157 |
|
| 183 | 158 |
</td> |
| 184 |
- <td name="listTd"> |
|
| 159 |
+ <td> |
|
| 185 | 160 |
<c:choose> |
| 186 | 161 |
<c:when test="${resultAllSentList.delayYn eq 'Y' && resultAllSentList.delayCompleteYn eq 'N'}">
|
| 187 | 162 |
|
... | ... | @@ -205,7 +180,7 @@ |
| 205 | 180 |
</c:otherwise> |
| 206 | 181 |
</c:choose> |
| 207 | 182 |
</td> |
| 208 |
- <td name="listTd"> |
|
| 183 |
+ <td> |
|
| 209 | 184 |
<p> |
| 210 | 185 |
<c:choose> |
| 211 | 186 |
<c:when test="${resultAllSentList.msgType eq '6' && resultAllSentList.fileCnt eq 0 }">
|
... | ... | @@ -220,239 +195,40 @@ |
| 220 | 195 |
</c:choose> |
| 221 | 196 |
</p> |
| 222 | 197 |
</td> |
| 223 |
- <td name="listTd"> |
|
| 224 |
- <p> |
|
| 225 |
- <c:choose> |
|
| 226 |
- <c:when test="${resultAllSentList.sendKind eq 'H' }">
|
|
| 227 |
- WEB |
|
| 228 |
- </c:when> |
|
| 229 |
- <c:when test="${resultAllSentList.sendKind eq 'A'}">
|
|
| 230 |
- API |
|
| 231 |
- </c:when> |
|
| 232 |
- <c:otherwise> |
|
| 233 |
- - |
|
| 234 |
- </c:otherwise> |
|
| 235 |
- </c:choose> |
|
| 236 |
- </p> |
|
| 198 |
+ <td class="result_cont" title="${resultAllSentList.smsTxt}">
|
|
| 199 |
+ <a href="#none" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">
|
|
| 200 |
+<%-- <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> --%>
|
|
| 201 |
+ <c:out value="${fn:substring(resultAllSentList.smsTxt, 0, 20)}" />
|
|
| 202 |
+ <c:if test="${fn:length(resultAllSentList.smsTxt) > 20}">...</c:if>
|
|
| 203 |
+ </a> |
|
| 237 | 204 |
</td> |
| 238 |
- <td name="listTd"> |
|
| 239 |
- <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button>
|
|
| 240 |
- <button class="btnType btnType20" onClick="javascript:fnMjMsgReSendAll('${resultAllSentList.msgGroupId}','${replaceCnt}','${electionCnt}','${advertisementCnt}'); return false;">재전송</button>
|
|
| 205 |
+ <td> |
|
| 206 |
+ <p><c:out value="${resultAllSentList.msgGroupCnt}"/> </p>
|
|
| 241 | 207 |
</td> |
| 242 |
- <td name="listTd"> |
|
| 243 |
- <c:choose> |
|
| 244 |
- <c:when test="${mjonMsgSentVO.listType == 'groupList'}">
|
|
| 245 |
- <c:choose> |
|
| 246 |
- <c:when test="${resultAllSentList.msgGroupCnt > 1}">
|
|
| 247 |
- <p> |
|
| 248 |
- <c:choose> |
|
| 249 |
- <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}">
|
|
| 250 |
- <c:out value="${resultAllSentList.addrNm}"/>
|
|
| 251 |
- </c:when> |
|
| 252 |
- <c:otherwise> |
|
| 253 |
- <c:out value="${resultAllSentList.callToComma}"/>
|
|
| 254 |
- </c:otherwise> |
|
| 255 |
- </c:choose> 외 <fmt:formatNumber value="${resultAllSentList.msgGroupCnt - 1}" pattern="#,###"/>명
|
|
| 256 |
- </p> |
|
| 257 |
- </c:when> |
|
| 258 |
- <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}">
|
|
| 259 |
- <p><c:out value="${resultAllSentList.addrNm}"/></p>
|
|
| 260 |
- </c:when> |
|
| 261 |
- <c:otherwise> |
|
| 262 |
- <p><c:out value="${resultAllSentList.callToComma}"/></p>
|
|
| 263 |
- </c:otherwise> |
|
| 264 |
- </c:choose> |
|
| 265 |
- </c:when> |
|
| 266 |
- <c:otherwise> |
|
| 267 |
- <c:choose> |
|
| 268 |
- <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}">
|
|
| 269 |
- <p><c:out value="${resultAllSentList.addrNm}"/></p>
|
|
| 270 |
- </c:when> |
|
| 271 |
- <c:otherwise> |
|
| 272 |
- <p><c:out value="${resultAllSentList.callToComma}"/></p>
|
|
| 273 |
- </c:otherwise> |
|
| 274 |
- </c:choose> |
|
| 275 |
- </c:otherwise> |
|
| 276 |
- </c:choose> |
|
| 208 |
+ <td> |
|
| 209 |
+ <p><c:out value="${resultAllSentList.resultWValue}"/> </p>
|
|
| 277 | 210 |
</td> |
| 278 |
- <td name="listTd"> |
|
| 279 |
- <p><c:out value="${resultAllSentList.callFromComma}"/></p>
|
|
| 211 |
+ <td> |
|
| 212 |
+ <p><c:out value="${resultAllSentList.resultSValue}"/> </p>
|
|
| 280 | 213 |
</td> |
| 281 |
- <c:if test="${mjonMsgSentVO.listType eq 'groupList'}">
|
|
| 282 |
- <td name="listTd"> |
|
| 283 |
- <p><c:out value="${resultAllSentList.msgGroupCnt}"/></p>
|
|
| 214 |
+ <td> |
|
| 215 |
+ <p><c:out value="${resultAllSentList.resultFValue}"/> </p>
|
|
| 284 | 216 |
</td> |
| 285 |
- </c:if> |
|
| 286 |
- <!-- 발송 성공/실패 listType에 따른 전송건별(groupList), 개인별 리스트 처리--> |
|
| 287 |
- <c:set var="succ" value="0"/> <!-- 정상수신--> |
|
| 288 |
- <c:set var="fail" value="0"/> <!-- 수신실패--> |
|
| 289 |
- <c:set var="wait" value="0"/> <!-- 결과대기--> |
|
| 290 |
- <c:set var="succPrice" value="0"/> <!-- 정상수신 가격--> |
|
| 291 |
- <c:set var="failPrice" value="0"/> <!-- 수신실패 가격--> |
|
| 292 |
- <c:set var="waitPrice" value="0"/> <!-- 결과대기 가격--> |
|
| 293 |
- <c:set var="msgResultSts" value=""/><!-- 결과상태 확인 --> |
|
| 294 |
- <c:forEach var="resultMsgSFList" items="${resultMsgSucFailList}" varStatus="status">
|
|
| 295 |
- <c:choose> |
|
| 296 |
- <c:when test="${mjonMsgSentVO.listType == 'groupList'}">
|
|
| 297 |
- <c:if test="${resultAllSentList.msgGroupId == resultMsgSFList.msgGroupId}">
|
|
| 298 |
- <c:if test="${resultMsgSFList.msgResultSts == 'S'}">
|
|
| 299 |
- <c:set var="succ" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 300 |
- <c:set var="succPrice" value="${resultMsgSFList.eachPrice * succ}"/>
|
|
| 301 |
- </c:if> |
|
| 302 |
- <c:if test="${resultMsgSFList.msgResultSts == 'F'}">
|
|
| 303 |
- <c:set var="fail" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 304 |
- <c:set var="failPrice" value="${resultMsgSFList.eachPrice * fail}"/>
|
|
| 305 |
- </c:if> |
|
| 306 |
- <c:if test="${resultMsgSFList.msgResultSts == 'W'}">
|
|
| 307 |
- <c:set var="wait" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 308 |
- <c:set var="waitPrice" value="${resultMsgSFList.eachPrice * wait}"/>
|
|
| 309 |
- </c:if> |
|
| 310 |
- </c:if> |
|
| 311 |
- </c:when> |
|
| 312 |
- <c:otherwise> |
|
| 313 |
- <c:if test="${resultAllSentList.msgGroupId == resultMsgSFList.msgGroupId && resultAllSentList.msgSeq == resultMsgSFList.msgSeq}">
|
|
| 314 |
- <c:set var="msgResultSts" value="${resultMsgSFList.msgResultSts}"/>
|
|
| 315 |
- <c:if test="${resultMsgSFList.msgResultSts == 'S'}">
|
|
| 316 |
- <c:set var="succ" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 317 |
- <c:set var="succPrice" value="${resultMsgSFList.eachPrice * succ}"/>
|
|
| 318 |
- </c:if> |
|
| 319 |
- <c:if test="${resultMsgSFList.msgResultSts == 'F'}">
|
|
| 320 |
- <c:set var="fail" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 321 |
- <c:set var="failPrice" value="${resultMsgSFList.eachPrice * fail}"/>
|
|
| 322 |
- </c:if> |
|
| 323 |
- <c:if test="${resultMsgSFList.msgResultSts == 'W'}">
|
|
| 324 |
- <c:set var="wait" value="${resultMsgSFList.msgResultCnt}"/>
|
|
| 325 |
- <c:set var="waitPrice" value="${resultMsgSFList.eachPrice * wait}"/>
|
|
| 326 |
- </c:if> |
|
| 327 |
- </c:if> |
|
| 328 |
- </c:otherwise> |
|
| 329 |
- </c:choose> |
|
| 330 |
- </c:forEach> |
|
| 331 |
- <td name="listSucc"> |
|
| 332 |
- <p class="fwRg c_002c9a">정상수신</p> |
|
| 217 |
+ <td> |
|
| 218 |
+ <p class="c_222">0</p> |
|
| 333 | 219 |
</td> |
| 334 |
- <td name="listSucc"> |
|
| 335 |
- <c:choose> |
|
| 336 |
- <c:when test="${mjonMsgSentVO.listType == 'groupList' && succ > 0}">
|
|
| 337 |
- <p class="fwRg c_002c9a" onclick="javascript:fnMsgSFDetailList('${resultAllSentList.msgGroupId}', 'S'); return false;" style="cursor:pointer;"><fmt:formatNumber value="${succ}" pattern="#,###.#"/></p>
|
|
| 338 |
- </c:when> |
|
| 339 |
- <c:otherwise> |
|
| 340 |
- <p class="fwRg c_002c9a"><fmt:formatNumber value="${succ}" pattern="#,###.#"/></p>
|
|
| 341 |
- </c:otherwise> |
|
| 342 |
- </c:choose> |
|
| 220 |
+ <td> |
|
| 221 |
+ <c:out value="${resultAllSentList.totPrice}"/>원
|
|
| 343 | 222 |
</td> |
| 344 |
- <!-- 과금/비과금 --> |
|
| 345 |
- <td name="listSucc"> |
|
| 346 |
- <p class="fwRg c_002c9a"> |
|
| 347 |
- <c:choose> |
|
| 348 |
- <c:when test="${succPrice > 0}">
|
|
| 349 |
- <fmt:formatNumber value="${succPrice}" pattern="#,###.#"/>
|
|
| 350 |
- </c:when> |
|
| 351 |
- <c:otherwise> |
|
| 352 |
- 0 |
|
| 353 |
- </c:otherwise> |
|
| 354 |
- </c:choose> |
|
| 355 |
- </p> |
|
| 356 |
- </td> |
|
| 223 |
+ <td>-</td> |
|
| 357 | 224 |
|
| 358 |
- <c:if test="${mjonMsgSentVO.listType != 'groupList'}">
|
|
| 359 |
- <c:if test="${msgResultSts == 'S'}">
|
|
| 360 |
- <td> |
|
| 361 |
- <p class="fwRg c_002c9a">정상수신</p> |
|
| 362 |
- </td> |
|
| 363 |
- <!-- 과금/비과금 --> |
|
| 364 |
- <td> |
|
| 365 |
- <p class="fwRg c_002c9a"> |
|
| 366 |
- <c:choose> |
|
| 367 |
- <c:when test="${succPrice > 0}">
|
|
| 368 |
- <fmt:formatNumber value="${succPrice}" pattern="#,###.#"/>
|
|
| 369 |
- </c:when> |
|
| 370 |
- <c:otherwise> |
|
| 371 |
- 0 |
|
| 372 |
- </c:otherwise> |
|
| 373 |
- </c:choose> |
|
| 374 |
- </p> |
|
| 375 |
- </td> |
|
| 376 |
- </c:if> |
|
| 377 |
- <c:if test="${msgResultSts == 'F'}">
|
|
| 378 |
- <td> |
|
| 379 |
- <p class="fwRg c_e40000">수신오류</p> |
|
| 380 |
- </td> |
|
| 381 |
- <!-- 과금/비과금 --> |
|
| 382 |
- <td> |
|
| 383 |
- <p class="fwRg c_e40000"> |
|
| 384 |
- <c:choose> |
|
| 385 |
- <c:when test="${failPrice > 0}">
|
|
| 386 |
- <fmt:formatNumber value="${failPrice}" pattern="#,###.#"/>
|
|
| 387 |
- </c:when> |
|
| 388 |
- <c:otherwise> |
|
| 389 |
- 0 |
|
| 390 |
- </c:otherwise> |
|
| 391 |
- </c:choose> |
|
| 392 |
- </p> |
|
| 393 |
- </td> |
|
| 394 |
- </c:if> |
|
| 395 |
- <c:if test="${msgResultSts == 'W'}">
|
|
| 396 |
- <td> |
|
| 397 |
- <p class="fwRg c_e40000">결과대기</p> |
|
| 398 |
- </td> |
|
| 399 |
- <!-- 과금/비과금 --> |
|
| 400 |
- <td> |
|
| 401 |
- <p class="fwRg c_e40000"> |
|
| 402 |
- <c:choose> |
|
| 403 |
- <c:when test="${waitPrice > 0}">
|
|
| 404 |
- <fmt:formatNumber value="${waitPrice}" pattern="#,###.#"/>
|
|
| 405 |
- </c:when> |
|
| 406 |
- <c:otherwise> |
|
| 407 |
- 0 |
|
| 408 |
- </c:otherwise> |
|
| 409 |
- </c:choose> |
|
| 410 |
- </p> |
|
| 411 |
- </td> |
|
| 412 |
- </c:if> |
|
| 413 |
- </c:if> |
|
| 414 |
- </tr> |
|
| 415 |
- <tr name="listTr"> |
|
| 416 |
- <td> |
|
| 417 |
- <p class="c_222">실패/대기</p> |
|
| 418 |
- </td> |
|
| 419 |
- <td> |
|
| 420 |
- <c:choose> |
|
| 421 |
- <c:when test="${mjonMsgSentVO.listType == 'groupList' && (fail+wait) > 0}">
|
|
| 422 |
- <p class="c_222" onclick="javascript:fnMsgSFDetailList('${resultAllSentList.msgGroupId}', 'F'); return false;" style="cursor:pointer;">
|
|
| 423 |
- <fmt:formatNumber value="${fail}" pattern="#,###"/> / <fmt:formatNumber value="${wait}" pattern="#,###"/>
|
|
| 424 |
- </p> |
|
| 425 |
- </c:when> |
|
| 426 |
- <c:otherwise> |
|
| 427 |
- <p class="c_222"> |
|
| 428 |
- <fmt:formatNumber value="${fail}" pattern="#,###"/> / <fmt:formatNumber value="${wait}" pattern="#,###"/>
|
|
| 429 |
- </p> |
|
| 430 |
- </c:otherwise> |
|
| 431 |
- </c:choose> |
|
| 432 |
- </td> |
|
| 433 |
- <td> |
|
| 434 |
- <p class="c_222"> |
|
| 435 |
- <c:choose> |
|
| 436 |
- <c:when test="${(failPrice+waitPrice) > 0}">
|
|
| 437 |
- <fmt:formatNumber value="${(failPrice+waitPrice)}" pattern="#,###.#"/>
|
|
| 438 |
- </c:when> |
|
| 439 |
- <c:otherwise> |
|
| 440 |
- 0 |
|
| 441 |
- </c:otherwise> |
|
| 442 |
- </c:choose> |
|
| 443 |
- </p> |
|
| 444 |
- </td> |
|
| 225 |
+ |
|
| 445 | 226 |
</tr> |
| 446 | 227 |
</c:forEach> |
| 447 | 228 |
</c:when> |
| 448 | 229 |
<c:otherwise> |
| 449 | 230 |
<tr> |
| 450 |
- <c:if test="${mjonMsgSentVO.listType eq 'groupList'}">
|
|
| 451 |
- <td colspan="11">발송 내역이 없습니다.</td> |
|
| 452 |
- </c:if> |
|
| 453 |
- <c:if test="${mjonMsgSentVO.listType ne 'groupList'}">
|
|
| 454 |
- <td colspan="9">발송 내역이 없습니다.</td> |
|
| 455 |
- </c:if> |
|
| 231 |
+ <td colspan="11">발송 내역이 없습니다.</td> |
|
| 456 | 232 |
</tr> |
| 457 | 233 |
</c:otherwise> |
| 458 | 234 |
</c:choose> |
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax_advc_backup_20250115.jsp
... | ... | @@ -0,0 +1,479 @@ |
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 3 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 4 | +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> | |
| 5 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> | |
| 6 | +<%@ page import="itn.com.cmm.LoginVO" %> | |
| 7 | +<script src="/publish/js/content.js"></script> | |
| 8 | +<script src="/publish/js/popupLayer.js"></script> | |
| 9 | +<script type="text/javascript"> | |
| 10 | +$(document).ready(function(){ | |
| 11 | + var startDate = '${startDate}'; | |
| 12 | + var endDate = '${endDate}'; | |
| 13 | + | |
| 14 | + // DatePicker 값 수정 | |
| 15 | + var startDatePicker = $('#startDate').pickadate('picker'); | |
| 16 | + startDatePicker.set('select', startDate, { format: 'yyyy/mm/dd' }); | |
| 17 | + startDatePicker = $('#endDate').pickadate('picker'); | |
| 18 | + startDatePicker.set('select', endDate, { format: 'yyyy/mm/dd' }); | |
| 19 | + | |
| 20 | + | |
| 21 | + /* 목록 정렬 항목 아이콘 표시 */ | |
| 22 | + var searchSortCnd = $("[name='searchSortCnd']").val(); | |
| 23 | + var searchSortOrd = $("[name='searchSortOrd']").val(); | |
| 24 | + if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) { | |
| 25 | + var $sort_div = $("#sort_"+ searchSortCnd); | |
| 26 | + var sortClass = 'sortBtn' ; | |
| 27 | + if (searchSortOrd == "desc") sortClass = "sortBtnDesc"; | |
| 28 | + $sort_div.replaceClass('sortBtn' , sortClass) ; | |
| 29 | + $sort_div.attr("sortOrd", searchSortOrd); | |
| 30 | + } | |
| 31 | + | |
| 32 | + //체크박스 전체 선택 및 해제 | |
| 33 | + var allChkSts = false; | |
| 34 | + $("#allCheck").click(function(){ | |
| 35 | + | |
| 36 | + if(!allChkSts){// 전체선택이 해제되어 있을 경우 | |
| 37 | + | |
| 38 | + $("input[name=msgSentDel]").prop("checked", true); | |
| 39 | + allChkSts = true; | |
| 40 | + | |
| 41 | + //발송 대기건은 선택 삭제가 안되도록 처리함 | |
| 42 | + $("input:checkbox[name='msgSentDel']:checked").each(function(index){ | |
| 43 | + | |
| 44 | + var disabledChk = $(this).prop('disabled'); | |
| 45 | + if(disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장 | |
| 46 | + | |
| 47 | + $(this).prop("checked", false); | |
| 48 | + | |
| 49 | + } | |
| 50 | + | |
| 51 | + }); | |
| 52 | + | |
| 53 | + }else{ | |
| 54 | + | |
| 55 | + $("input[name=msgSentDel]").prop("checked", false); | |
| 56 | + allChkSts = false; | |
| 57 | + | |
| 58 | + } | |
| 59 | + }); | |
| 60 | + | |
| 61 | + if($("#tdType").val() == "groupList"){ | |
| 62 | + $('.listTd').attr("rowspan", "2") | |
| 63 | + }else{ | |
| 64 | + $('.listTr').remove(); | |
| 65 | + $('.listSucc').remove(); | |
| 66 | + } | |
| 67 | +}); | |
| 68 | + | |
| 69 | +</script> | |
| 70 | + <div class="list_info"> | |
| 71 | + <input type="hidden" id="tdType" value="${mjonMsgSentVO.listType}"> | |
| 72 | + <p>총 <span class="c_e40000"><c:out value="${totalRecordCount}"/></span>건</p> | |
| 73 | + <div> | |
| 74 | + <label for="pageUnit" class="label">줄보기 선택</label> | |
| 75 | + <select id="pageUnit" name="pageUnit" class="selType2"> | |
| 76 | + <option value="10" <c:if test="${paginationInfo.recordCountPerPage == '10'}">selected</c:if> >10개보기</option> | |
| 77 | + <option value="20" <c:if test="${paginationInfo.recordCountPerPage == '20'}">selected</c:if> >20개보기</option> | |
| 78 | + <option value="30" <c:if test="${paginationInfo.recordCountPerPage == '30'}">selected</c:if> >30개보기</option> | |
| 79 | + <option value="100" <c:if test="${paginationInfo.recordCountPerPage == '100'}">selected</c:if> >100개보기</option> | |
| 80 | + </select> | |
| 81 | + </div> | |
| 82 | + </div> | |
| 83 | + <!-- 받는사람(전송건별) - 전체 --> | |
| 84 | + <div class="tb_wrap"> | |
| 85 | + <table class="tType4"> | |
| 86 | + <colgroup> | |
| 87 | + <col style="width: 40px;"> | |
| 88 | + <col style="width: 12%;"> | |
| 89 | + <col style="width: 8%;"> | |
| 90 | + <col style="width: 90px;"> | |
| 91 | + <col style="width: 10%;"> | |
| 92 | + <col style="width: 15%;"> | |
| 93 | + <col style="width: 12%;"> | |
| 94 | + <col style="width: 8%;"> | |
| 95 | + <c:if test="${mjonMsgSentVO.listType eq 'groupList'}"> | |
| 96 | + <col style="width: 8%;"> | |
| 97 | + <col style="width: 8%;"> | |
| 98 | + </c:if> | |
| 99 | + </colgroup> | |
| 100 | + <thead> | |
| 101 | + <tr> | |
| 102 | + <th> | |
| 103 | + <label for="allCheck" class="label">전체 선택</label> | |
| 104 | + <input type="checkbox" id="allCheck" name="allCheck"> | |
| 105 | + </th> | |
| 106 | + <th>발송일시 | |
| 107 | + <div class="sort_wrap"> | |
| 108 | + <input type="button" class="sort sortBtn" id="sort_reqdate"> | |
| 109 | + </div> | |
| 110 | + </th> | |
| 111 | + <th>형태 | |
| 112 | + <div class="sort_wrap"> | |
| 113 | + <input type="button" class="sort sortBtn" id="sort_orderByCode"> | |
| 114 | + </div> | |
| 115 | + </th> | |
| 116 | + <th>발송방식 | |
| 117 | + <div class="sort_wrap"> | |
| 118 | + <input type="button" class="sort sortBtn" id="sort_sendKind"> | |
| 119 | + </div> | |
| 120 | + </th> | |
| 121 | + <th>내용</th> | |
| 122 | + <th>받는사람 | |
| 123 | + <div class="sort_wrap"> | |
| 124 | + <input type="button" class="sort sortBtn" id="sort_callTo"> | |
| 125 | + </div> | |
| 126 | + </th> | |
| 127 | + <th>발신번호 | |
| 128 | + <div class="sort_wrap"> | |
| 129 | + <input type="button" class="sort sortBtn" id="sort_callFrom"> | |
| 130 | + </div> | |
| 131 | + </th> | |
| 132 | + <c:if test="${mjonMsgSentVO.listType eq 'groupList'}"> | |
| 133 | + <th> | |
| 134 | + 발송건수 | |
| 135 | + <div class="sort_wrap"> | |
| 136 | + <input type="button" class="sort sortBtn" id="sort_msgGroupCnt"> | |
| 137 | + </div> | |
| 138 | + </th> | |
| 139 | + </c:if> | |
| 140 | + <th>결과</th> | |
| 141 | + <c:if test="${mjonMsgSentVO.listType eq 'groupList'}"> | |
| 142 | + <th>건수</th> | |
| 143 | + </c:if> | |
| 144 | + <th>금액</th> | |
| 145 | + </tr> | |
| 146 | + </thead> | |
| 147 | + <tbody> | |
| 148 | + <c:choose> | |
| 149 | + <c:when test="${not empty resultAllSentList}"> | |
| 150 | + <c:forEach var="resultAllSentList" items="${resultAllSentList}" varStatus="status"> | |
| 151 | + <c:set var="replaceCnt" value="0" /> | |
| 152 | + <c:set var="electionCnt" value="0" /> | |
| 153 | + <c:set var="advertisementCnt" value="0" /> | |
| 154 | + | |
| 155 | + <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'[*이름*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*1*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*2*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*3*]') != -1 || fn:indexOf(resultAllSentList.smsTxt,'[*4*]') != -1}"> | |
| 156 | + <c:set var="replaceCnt" value="1" /> | |
| 157 | + </c:if> | |
| 158 | + <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'(선거운동정보)') == 0}"> | |
| 159 | + <c:set var="electionCnt" value="1" /> | |
| 160 | + </c:if> | |
| 161 | + <c:if test="${fn:indexOf(resultAllSentList.smsTxt,'(광고)') == 0}"> | |
| 162 | + <c:set var="advertisementCnt" value="1" /> | |
| 163 | + </c:if> | |
| 164 | + <tr> | |
| 165 | + <td class="listTd"> | |
| 166 | + <label for="msgSentDel${status.count}" class="label">선택</label> | |
| 167 | + <c:choose> | |
| 168 | + <c:when test="${resultAllSentList.curState == '0'}"> | |
| 169 | + <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgGroupId}" disabled> | |
| 170 | + </c:when> | |
| 171 | + <c:otherwise> | |
| 172 | + <c:choose> | |
| 173 | + <c:when test="${mjonMsgSentVO.listType == 'groupList'}"> | |
| 174 | + <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgGroupId}"> | |
| 175 | + </c:when> | |
| 176 | + <c:otherwise> | |
| 177 | + <input type="checkbox" id="msgSentDel${status.count}" name="msgSentDel" value="${resultAllSentList.msgSeq}"> | |
| 178 | + </c:otherwise> | |
| 179 | + </c:choose> | |
| 180 | + </c:otherwise> | |
| 181 | + </c:choose> | |
| 182 | + | |
| 183 | + </td> | |
| 184 | + <td class="listTd"> | |
| 185 | + <c:choose> | |
| 186 | + <c:when test="${resultAllSentList.delayYn eq 'Y' && resultAllSentList.delayCompleteYn eq 'N'}"> | |
| 187 | + | |
| 188 | + <c:choose> | |
| 189 | + <c:when test="${resultAllSentList.curState eq '0'}"> | |
| 190 | + <%-- | |
| 191 | + 20240906 추가 | |
| 192 | + 발송 대기 상태일 때만 원래 발송시간을 보여주고, 발송이 완료되면 발송 처리 완료 시간(reqDate)을 보여준다. | |
| 193 | + 30분 딜레이 된 건으로 관리자 승인/취소 처리가 완료 되지 않은 건에 대해서 -30분 처리하여 원래 사용자가 보내려던 시간을 표시해줌 | |
| 194 | + --%> | |
| 195 | + <p><fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${resultAllSentList.delayOrgTime}" /></p> | |
| 196 | + </c:when> | |
| 197 | + <c:otherwise> | |
| 198 | + <p><fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${resultAllSentList.reqdate}" /></p> | |
| 199 | + </c:otherwise> | |
| 200 | + </c:choose> | |
| 201 | + | |
| 202 | + </c:when> | |
| 203 | + <c:otherwise> | |
| 204 | + <p><fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${resultAllSentList.reqdate}" /></p> | |
| 205 | + </c:otherwise> | |
| 206 | + </c:choose> | |
| 207 | + </td> | |
| 208 | + <td class="listTd"> | |
| 209 | + <p> | |
| 210 | + <c:choose> | |
| 211 | + <c:when test="${resultAllSentList.msgType eq '6' && resultAllSentList.fileCnt eq 0 }"> | |
| 212 | + 장문 | |
| 213 | + </c:when> | |
| 214 | + <c:when test="${resultAllSentList.msgType eq '6' && resultAllSentList.fileCnt ne 0 }"> | |
| 215 | + 그림 | |
| 216 | + </c:when> | |
| 217 | + <c:otherwise> | |
| 218 | + 단문 | |
| 219 | + </c:otherwise> | |
| 220 | + </c:choose> | |
| 221 | + </p> | |
| 222 | + </td> | |
| 223 | + <td class="listTd"> | |
| 224 | + <p> | |
| 225 | + <c:choose> | |
| 226 | + <c:when test="${resultAllSentList.sendKind eq 'H' }"> | |
| 227 | + WEB | |
| 228 | + </c:when> | |
| 229 | + <c:when test="${resultAllSentList.sendKind eq 'A'}"> | |
| 230 | + API | |
| 231 | + </c:when> | |
| 232 | + <c:otherwise> | |
| 233 | + - | |
| 234 | + </c:otherwise> | |
| 235 | + </c:choose> | |
| 236 | + </p> | |
| 237 | + </td> | |
| 238 | + <td class="listTd"> | |
| 239 | + <button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${resultAllSentList.msgGroupId}','${resultAllSentList.msgId}','${resultAllSentList.fileCnt}'); return false;">상세보기</button> | |
| 240 | + <button class="btnType btnType20" onClick="javascript:fnMjMsgReSendAll('${resultAllSentList.msgGroupId}','${replaceCnt}','${electionCnt}','${advertisementCnt}'); return false;">재전송</button> | |
| 241 | + </td> | |
| 242 | + <td class="listTd"> | |
| 243 | + <c:choose> | |
| 244 | + <c:when test="${mjonMsgSentVO.listType == 'groupList'}"> | |
| 245 | + <c:choose> | |
| 246 | + <c:when test="${resultAllSentList.msgGroupCnt > 1}"> | |
| 247 | + <p> | |
| 248 | + <c:choose> | |
| 249 | + <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}"> | |
| 250 | + <c:out value="${resultAllSentList.addrNm}"/> | |
| 251 | + </c:when> | |
| 252 | + <c:otherwise> | |
| 253 | + <c:out value="${resultAllSentList.callToComma}"/> | |
| 254 | + </c:otherwise> | |
| 255 | + </c:choose> 외 <fmt:formatNumber value="${resultAllSentList.msgGroupCnt - 1}" pattern="#,###"/>명 | |
| 256 | + </p> | |
| 257 | + </c:when> | |
| 258 | + <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}"> | |
| 259 | + <p><c:out value="${resultAllSentList.addrNm}"/></p> | |
| 260 | + </c:when> | |
| 261 | + <c:otherwise> | |
| 262 | + <p><c:out value="${resultAllSentList.callToComma}"/></p> | |
| 263 | + </c:otherwise> | |
| 264 | + </c:choose> | |
| 265 | + </c:when> | |
| 266 | + <c:otherwise> | |
| 267 | + <c:choose> | |
| 268 | + <c:when test="${resultAllSentList.addrNm ne '-' and resultAllSentList.addrNm ne ''}"> | |
| 269 | + <p><c:out value="${resultAllSentList.addrNm}"/></p> | |
| 270 | + </c:when> | |
| 271 | + <c:otherwise> | |
| 272 | + <p><c:out value="${resultAllSentList.callToComma}"/></p> | |
| 273 | + </c:otherwise> | |
| 274 | + </c:choose> | |
| 275 | + </c:otherwise> | |
| 276 | + </c:choose> | |
| 277 | + </td> | |
| 278 | + <td class="listTd"> | |
| 279 | + <p><c:out value="${resultAllSentList.callFromComma}"/></p> | |
| 280 | + </td> | |
| 281 | + <c:if test="${mjonMsgSentVO.listType eq 'groupList'}"> | |
| 282 | + <td class="listTd"> | |
| 283 | + <p><c:out value="${resultAllSentList.msgGroupCnt}"/></p> | |
| 284 | + </td> | |
| 285 | + </c:if> | |
| 286 | + <!-- 발송 성공/실패 listType에 따른 전송건별(groupList), 개인별 리스트 처리--> | |
| 287 | + <c:set var="succ" value="0"/> <!-- 정상수신--> | |
| 288 | + <c:set var="fail" value="0"/> <!-- 수신실패--> | |
| 289 | + <c:set var="wait" value="0"/> <!-- 결과대기--> | |
| 290 | + <c:set var="succPrice" value="0"/> <!-- 정상수신 가격--> | |
| 291 | + <c:set var="failPrice" value="0"/> <!-- 수신실패 가격--> | |
| 292 | + <c:set var="waitPrice" value="0"/> <!-- 결과대기 가격--> | |
| 293 | + <c:set var="msgResultSts" value=""/><!-- 결과상태 확인 --> | |
| 294 | + <c:forEach var="resultMsgSFList" items="${resultMsgSucFailList}" varStatus="status"> | |
| 295 | + <c:choose> | |
| 296 | + <c:when test="${mjonMsgSentVO.listType == 'groupList'}"> | |
| 297 | + <c:if test="${resultAllSentList.msgGroupId == resultMsgSFList.msgGroupId}"> | |
| 298 | + <c:if test="${resultMsgSFList.msgResultSts == 'S'}"> | |
| 299 | + <c:set var="succ" value="${resultMsgSFList.msgResultCnt}"/> | |
| 300 | + <c:set var="succPrice" value="${resultMsgSFList.eachPrice * succ}"/> | |
| 301 | + </c:if> | |
| 302 | + <c:if test="${resultMsgSFList.msgResultSts == 'F'}"> | |
| 303 | + <c:set var="fail" value="${resultMsgSFList.msgResultCnt}"/> | |
| 304 | + <c:set var="failPrice" value="${resultMsgSFList.eachPrice * fail}"/> | |
| 305 | + </c:if> | |
| 306 | + <c:if test="${resultMsgSFList.msgResultSts == 'W'}"> | |
| 307 | + <c:set var="wait" value="${resultMsgSFList.msgResultCnt}"/> | |
| 308 | + <c:set var="waitPrice" value="${resultMsgSFList.eachPrice * wait}"/> | |
| 309 | + </c:if> | |
| 310 | + </c:if> | |
| 311 | + </c:when> | |
| 312 | + <c:otherwise> | |
| 313 | + <c:if test="${resultAllSentList.msgGroupId == resultMsgSFList.msgGroupId && resultAllSentList.msgSeq == resultMsgSFList.msgSeq}"> | |
| 314 | + <c:set var="msgResultSts" value="${resultMsgSFList.msgResultSts}"/> | |
| 315 | + <c:if test="${resultMsgSFList.msgResultSts == 'S'}"> | |
| 316 | + <c:set var="succ" value="${resultMsgSFList.msgResultCnt}"/> | |
| 317 | + <c:set var="succPrice" value="${resultMsgSFList.eachPrice * succ}"/> | |
| 318 | + </c:if> | |
| 319 | + <c:if test="${resultMsgSFList.msgResultSts == 'F'}"> | |
| 320 | + <c:set var="fail" value="${resultMsgSFList.msgResultCnt}"/> | |
| 321 | + <c:set var="failPrice" value="${resultMsgSFList.eachPrice * fail}"/> | |
| 322 | + </c:if> | |
| 323 | + <c:if test="${resultMsgSFList.msgResultSts == 'W'}"> | |
| 324 | + <c:set var="wait" value="${resultMsgSFList.msgResultCnt}"/> | |
| 325 | + <c:set var="waitPrice" value="${resultMsgSFList.eachPrice * wait}"/> | |
| 326 | + </c:if> | |
| 327 | + </c:if> | |
| 328 | + </c:otherwise> | |
| 329 | + </c:choose> | |
| 330 | + </c:forEach> | |
| 331 | + <td class="listSucc"> | |
| 332 | + <p class="fwRg c_002c9a">정상수신</p> | |
| 333 | + </td> | |
| 334 | + <td class="listSucc"> | |
| 335 | + <c:choose> | |
| 336 | + <c:when test="${mjonMsgSentVO.listType == 'groupList' && succ > 0}"> | |
| 337 | + <p class="fwRg c_002c9a" onclick="javascript:fnMsgSFDetailList('${resultAllSentList.msgGroupId}', 'S'); return false;" style="cursor:pointer;"><fmt:formatNumber value="${succ}" pattern="#,###.#"/></p> | |
| 338 | + </c:when> | |
| 339 | + <c:otherwise> | |
| 340 | + <p class="fwRg c_002c9a"><fmt:formatNumber value="${succ}" pattern="#,###.#"/></p> | |
| 341 | + </c:otherwise> | |
| 342 | + </c:choose> | |
| 343 | + </td> | |
| 344 | + <!-- 과금/비과금 --> | |
| 345 | + <td class="listSucc"> | |
| 346 | + <p class="fwRg c_002c9a"> | |
| 347 | + <c:choose> | |
| 348 | + <c:when test="${succPrice > 0}"> | |
| 349 | + <fmt:formatNumber value="${succPrice}" pattern="#,###.#"/> | |
| 350 | + </c:when> | |
| 351 | + <c:otherwise> | |
| 352 | + 0 | |
| 353 | + </c:otherwise> | |
| 354 | + </c:choose> | |
| 355 | + </p> | |
| 356 | + </td> | |
| 357 | + | |
| 358 | + <c:if test="${mjonMsgSentVO.listType != 'groupList'}"> | |
| 359 | + <c:if test="${msgResultSts == 'S'}"> | |
| 360 | + <td> | |
| 361 | + <p class="fwRg c_002c9a">정상수신</p> | |
| 362 | + </td> | |
| 363 | + <!-- 과금/비과금 --> | |
| 364 | + <td> | |
| 365 | + <p class="fwRg c_002c9a"> | |
| 366 | + <c:choose> | |
| 367 | + <c:when test="${succPrice > 0}"> | |
| 368 | + <fmt:formatNumber value="${succPrice}" pattern="#,###.#"/> | |
| 369 | + </c:when> | |
| 370 | + <c:otherwise> | |
| 371 | + 0 | |
| 372 | + </c:otherwise> | |
| 373 | + </c:choose> | |
| 374 | + </p> | |
| 375 | + </td> | |
| 376 | + </c:if> | |
| 377 | + <c:if test="${msgResultSts == 'F'}"> | |
| 378 | + <td> | |
| 379 | + <p class="fwRg c_e40000">수신오류</p> | |
| 380 | + </td> | |
| 381 | + <!-- 과금/비과금 --> | |
| 382 | + <td> | |
| 383 | + <p class="fwRg c_e40000"> | |
| 384 | + <c:choose> | |
| 385 | + <c:when test="${failPrice > 0}"> | |
| 386 | + <fmt:formatNumber value="${failPrice}" pattern="#,###.#"/> | |
| 387 | + </c:when> | |
| 388 | + <c:otherwise> | |
| 389 | + 0 | |
| 390 | + </c:otherwise> | |
| 391 | + </c:choose> | |
| 392 | + </p> | |
| 393 | + </td> | |
| 394 | + </c:if> | |
| 395 | + <c:if test="${msgResultSts == 'W'}"> | |
| 396 | + <td> | |
| 397 | + <p class="fwRg c_e40000">결과대기</p> | |
| 398 | + </td> | |
| 399 | + <!-- 과금/비과금 --> | |
| 400 | + <td> | |
| 401 | + <p class="fwRg c_e40000"> | |
| 402 | + <c:choose> | |
| 403 | + <c:when test="${waitPrice > 0}"> | |
| 404 | + <fmt:formatNumber value="${waitPrice}" pattern="#,###.#"/> | |
| 405 | + </c:when> | |
| 406 | + <c:otherwise> | |
| 407 | + 0 | |
| 408 | + </c:otherwise> | |
| 409 | + </c:choose> | |
| 410 | + </p> | |
| 411 | + </td> | |
| 412 | + </c:if> | |
| 413 | + </c:if> | |
| 414 | + </tr> | |
| 415 | + <tr class="listTr"> | |
| 416 | + <td> | |
| 417 | + <p class="c_222">실패/대기</p> | |
| 418 | + </td> | |
| 419 | + <td> | |
| 420 | + <c:choose> | |
| 421 | + <c:when test="${mjonMsgSentVO.listType == 'groupList' && (fail+wait) > 0}"> | |
| 422 | + <p class="c_222" onclick="javascript:fnMsgSFDetailList('${resultAllSentList.msgGroupId}', 'F'); return false;" style="cursor:pointer;"> | |
| 423 | + <fmt:formatNumber value="${fail}" pattern="#,###"/> / <fmt:formatNumber value="${wait}" pattern="#,###"/> | |
| 424 | + </p> | |
| 425 | + </c:when> | |
| 426 | + <c:otherwise> | |
| 427 | + <p class="c_222"> | |
| 428 | + <fmt:formatNumber value="${fail}" pattern="#,###"/> / <fmt:formatNumber value="${wait}" pattern="#,###"/> | |
| 429 | + </p> | |
| 430 | + </c:otherwise> | |
| 431 | + </c:choose> | |
| 432 | + </td> | |
| 433 | + <td> | |
| 434 | + <p class="c_222"> | |
| 435 | + <c:choose> | |
| 436 | + <c:when test="${(failPrice+waitPrice) > 0}"> | |
| 437 | + <fmt:formatNumber value="${(failPrice+waitPrice)}" pattern="#,###.#"/> | |
| 438 | + </c:when> | |
| 439 | + <c:otherwise> | |
| 440 | + 0 | |
| 441 | + </c:otherwise> | |
| 442 | + </c:choose> | |
| 443 | + </p> | |
| 444 | + </td> | |
| 445 | + </tr> | |
| 446 | + </c:forEach> | |
| 447 | + </c:when> | |
| 448 | + <c:otherwise> | |
| 449 | + <tr> | |
| 450 | + <c:if test="${mjonMsgSentVO.listType eq 'groupList'}"> | |
| 451 | + <td colspan="11">발송 내역이 없습니다.</td> | |
| 452 | + </c:if> | |
| 453 | + <c:if test="${mjonMsgSentVO.listType ne 'groupList'}"> | |
| 454 | + <td colspan="9">발송 내역이 없습니다.</td> | |
| 455 | + </c:if> | |
| 456 | + </tr> | |
| 457 | + </c:otherwise> | |
| 458 | + </c:choose> | |
| 459 | + </tbody> | |
| 460 | + </table> | |
| 461 | + </div> | |
| 462 | + <div class="table_btn clearfix"> | |
| 463 | + <div class="table_btn_left"> | |
| 464 | + <!-- 2022.07.04 발송결과 화면에 리스트 선택삭제 기능 제거(카운팅 및 금액 합산 오류 관련) --> | |
| 465 | +<!-- <button type="button" class="btnType btnType15" onClick="javascript:fnDelete(); return false;"><i class="remove_img"></i>선택삭제</button> --> | |
| 466 | + <button type="button" data-tooltip="rev_popup02" class="btnType btnType15"><i class="add_img"></i>그룹등록</button> | |
| 467 | + <button type="button" class="btnType btnType15" onClick="javascript:fnDeleteAddrNo('${mjonMsgSentVO.listType}'); return false;"><i class="remove_img"></i>주소록에서 번호 삭제</button> | |
| 468 | + <button type="button" class="btnType btnType15" onClick="javascript:fnAddBlockNo('${mjonMsgSentVO.listType}'); return false;"></i>수신거부번호 등록</button> | |
| 469 | + </div> | |
| 470 | + <div class="table_btn_right"> | |
| 471 | + <button type="button" class="excel_btn btnType" onClick="javascript:fnExcelDownLoad('all','${mjonMsgSentVO.tabType}'); return false;"><i class="downroad"></i>엑셀 다운로드</button> | |
| 472 | + <button type="button" class="print_btn btnType" onClick="javascript:fnShowPrintPopup('all','${mjonMsgSentVO.tabType}'); return false;"><i class="print_img"></i>발송결과 출력하기</button> | |
| 473 | + </div> | |
| 474 | + </div> | |
| 475 | + <c:if test="${!empty resultAllSentList}"> | |
| 476 | + <ul class="pagination"> | |
| 477 | + <ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="linkPage" /> | |
| 478 | + </ul> | |
| 479 | + </c:if> |
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentView.jsp
... | ... | @@ -744,10 +744,10 @@ |
| 744 | 744 |
} |
| 745 | 745 |
|
| 746 | 746 |
//발송결과 - 대기/성공/실패 |
| 747 |
-function subContent(p_content_no){
|
|
| 747 |
+function subContent(){
|
|
| 748 | 748 |
|
| 749 | 749 |
var sendData = $(document.listForm).serializeArray(); |
| 750 |
- var v_html_pre = '<table>' |
|
| 750 |
+ /* var v_html_pre = '<table>' |
|
| 751 | 751 |
+ '<caption>구분, 충전금액, 사용금액, 잔액 등 정보를 제공하는 표</caption>' |
| 752 | 752 |
+ '<colgroup>' |
| 753 | 753 |
+ '<col style="width: 115px;">' |
... | ... | @@ -766,8 +766,8 @@ |
| 766 | 766 |
+ '<tbody>' |
| 767 | 767 |
+ '<tr><td colspan="4">LOADING...</td></tr>' |
| 768 | 768 |
+ '</tbody>' |
| 769 |
- + '</table>'; |
|
| 770 |
- |
|
| 769 |
+ + '</table>'; |
|
| 770 |
+ */ |
|
| 771 | 771 |
var v_html_pre = '' |
| 772 | 772 |
+ '<div class="rev_admin_in">' |
| 773 | 773 |
+ '<div class="rev_admin_top clearfix">' |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?