문자 재전송 목록 성능개선
@45807ed23afd6021b700a2847865686f89d12565
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
... | ... | @@ -6034,7 +6034,7 @@ |
| 6034 | 6034 |
mjonMsgSentVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
| 6035 | 6035 |
|
| 6036 | 6036 |
//전체 발송 리스트 불러오기 |
| 6037 |
- mjMsgSentList = mjonMsgSentService.selectAllMsgSentList(mjonMsgSentVO); |
|
| 6037 |
+ mjMsgSentList = mjonMsgSentService.selectAllMsgSentSimpleList(mjonMsgSentVO); |
|
| 6038 | 6038 |
|
| 6039 | 6039 |
paginationInfo.setTotalRecordCount( mjMsgSentList.size()> 0 ? (Integer.parseInt((mjMsgSentList.get(0)).getTotMsgCnt())) : 0); |
| 6040 | 6040 |
} |
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java
... | ... | @@ -16,6 +16,9 @@ |
| 16 | 16 |
//발송 관리 전체 발송 리스트 불러오기 |
| 17 | 17 |
public List<MjonMsgSentVO> selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception; |
| 18 | 18 |
|
| 19 |
+ //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
|
| 20 |
+ public List<MjonMsgSentVO> selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception; |
|
| 21 |
+ |
|
| 19 | 22 |
//발송 관리 발송 성공,실패 건수 리스트 불러오기 |
| 20 | 23 |
public List<MjonMsgSentVO> selectAllMsgSentSucFailList(List<MjonMsgSentVO> resultAllResList, MjonMsgSentVO mjonMsgSentVO) throws Exception; |
| 21 | 24 |
|
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java
... | ... | @@ -49,12 +49,20 @@ |
| 49 | 49 |
return result; |
| 50 | 50 |
} |
| 51 | 51 |
|
| 52 |
+ //발송 관리 전체 발송 리스트 불러오기 |
|
| 52 | 53 |
@SuppressWarnings("unchecked")
|
| 53 | 54 |
public List<MjonMsgSentVO> selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
| 54 | 55 |
|
| 55 | 56 |
return (List<MjonMsgSentVO>) list("MjonMsgSentDAO.selectAllMsgSentList",mjonMsgSentVO);
|
| 56 | 57 |
} |
| 57 | 58 |
|
| 59 |
+ //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
|
| 60 |
+ @SuppressWarnings("unchecked")
|
|
| 61 |
+ public List<MjonMsgSentVO> selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
|
| 62 |
+ |
|
| 63 |
+ return (List<MjonMsgSentVO>) list("MjonMsgSentDAO.selectAllMsgSentSimpleList",mjonMsgSentVO);
|
|
| 64 |
+ } |
|
| 65 |
+ |
|
| 58 | 66 |
@SuppressWarnings("unchecked")
|
| 59 | 67 |
public List<MjonMsgSentVO> selectAllPrivateMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
| 60 | 68 |
|
--- src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
+++ src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java
... | ... | @@ -84,6 +84,15 @@ |
| 84 | 84 |
return resultList; |
| 85 | 85 |
} |
| 86 | 86 |
|
| 87 |
+ //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 |
|
| 88 |
+ public List<MjonMsgSentVO> selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
|
| 89 |
+ List<MjonMsgSentVO> resultList = new ArrayList<MjonMsgSentVO>(); |
|
| 90 |
+ |
|
| 91 |
+ resultList = mjonMsgSentDAO.selectAllMsgSentSimpleList(mjonMsgSentVO); |
|
| 92 |
+ |
|
| 93 |
+ return resultList; |
|
| 94 |
+ } |
|
| 95 |
+ |
|
| 87 | 96 |
//발송 관리 발송 성공,실패 건수 리스트 불러오기 |
| 88 | 97 |
public List<MjonMsgSentVO> selectAllMsgSentSucFailList(List<MjonMsgSentVO> resultAllResList, MjonMsgSentVO mjonMsgSentVO) throws Exception{
|
| 89 | 98 |
|
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
... | ... | @@ -319,14 +319,6 @@ |
| 319 | 319 |
<![CDATA[ |
| 320 | 320 |
AND B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
| 321 | 321 |
]]> |
| 322 |
- <isNotEmpty property="msgSentType"> |
|
| 323 |
- <isEqual property="msgSentType" compareValue="01" > |
|
| 324 |
- AND B.MSG_KIND != 'C' |
|
| 325 |
- </isEqual> |
|
| 326 |
- <isEqual property="msgSentType" compareValue="02" > |
|
| 327 |
- AND B.MSG_KIND = 'C' |
|
| 328 |
- </isEqual> |
|
| 329 |
- </isNotEmpty> |
|
| 330 | 322 |
)M |
| 331 | 323 |
LEFT JOIN |
| 332 | 324 |
( |
... | ... | @@ -340,6 +332,185 @@ |
| 340 | 332 |
GROUP BY ADDR_PHONE_NO |
| 341 | 333 |
)MA |
| 342 | 334 |
ON M.CALL_TO = MA.ADDR_PHONE_NO |
| 335 |
+ WHERE 1=1 |
|
| 336 |
+ <isNotEmpty property="stateType"> |
|
| 337 |
+ <isEqual property="stateType" compareValue="all"> |
|
| 338 |
+ AND CUR_STATE IN ('0','1','2','3')
|
|
| 339 |
+ </isEqual> |
|
| 340 |
+ <isEqual property="stateType" compareValue="ready"> |
|
| 341 |
+ AND CUR_STATE = '0' |
|
| 342 |
+ AND RESERVE_C_YN = 'N' |
|
| 343 |
+ </isEqual> |
|
| 344 |
+ <isEqual property="stateType" compareValue="complete"> |
|
| 345 |
+ AND CUR_STATE IN ('2','3')
|
|
| 346 |
+ AND (RSLT_CODE IN ('0','100','101','110','4100','6600','1000','1001') OR RSLT_CODE2 IN ('0') )
|
|
| 347 |
+ AND RESERVE_C_YN = 'N' |
|
| 348 |
+ </isEqual> |
|
| 349 |
+ <isEqual property="stateType" compareValue="fail"> |
|
| 350 |
+ AND RESERVE_C_YN = 'N' |
|
| 351 |
+ AND (RSLT_CODE NOT IN ('0','100','101','110','4100','6600','1000','1001') OR RSLT_CODE2 NOT IN ('0') )
|
|
| 352 |
+ </isEqual> |
|
| 353 |
+ </isNotEmpty> |
|
| 354 |
+ <isNotEmpty property="searchMsgType"> |
|
| 355 |
+ <isEqual property="searchMsgType" compareValue="S"> |
|
| 356 |
+ AND MSG_TYPE = '4' |
|
| 357 |
+ </isEqual> |
|
| 358 |
+ <isEqual property="searchMsgType" compareValue="L"> |
|
| 359 |
+ AND MSG_TYPE = '6' |
|
| 360 |
+ AND FILE_CNT = '0' |
|
| 361 |
+ </isEqual> |
|
| 362 |
+ <isEqual property="searchMsgType" compareValue="M"> |
|
| 363 |
+ <![CDATA[ |
|
| 364 |
+ AND MSG_TYPE = '6' |
|
| 365 |
+ AND FILE_CNT > '0' |
|
| 366 |
+ ]]> |
|
| 367 |
+ </isEqual> |
|
| 368 |
+ </isNotEmpty> |
|
| 369 |
+ <isEmpty property="searchMsgType"> |
|
| 370 |
+ <isEmpty property="tabType"> |
|
| 371 |
+ AND MSG_TYPE IN ('4','6')
|
|
| 372 |
+ </isEmpty> |
|
| 373 |
+ </isEmpty> |
|
| 374 |
+ <isNotEmpty property="tabType"> |
|
| 375 |
+ <isEqual property="tabType" compareValue="all"> |
|
| 376 |
+ AND MSG_TYPE IN ('4','6')
|
|
| 377 |
+ </isEqual> |
|
| 378 |
+ <isEqual property="tabType" compareValue="S"> |
|
| 379 |
+ AND MSG_TYPE = '4' |
|
| 380 |
+ </isEqual> |
|
| 381 |
+ <isEqual property="tabType" compareValue="L"> |
|
| 382 |
+ AND MSG_TYPE = '6' |
|
| 383 |
+ AND FILE_CNT = '0' |
|
| 384 |
+ </isEqual> |
|
| 385 |
+ <isEqual property="tabType" compareValue="M"> |
|
| 386 |
+ <![CDATA[ |
|
| 387 |
+ AND MSG_TYPE = '6' |
|
| 388 |
+ AND FILE_CNT > '0' |
|
| 389 |
+ ]]> |
|
| 390 |
+ </isEqual> |
|
| 391 |
+ </isNotEmpty> |
|
| 392 |
+ <isNotEmpty property="searchKeyword"> |
|
| 393 |
+ <isEqual property="searchCondition" compareValue="1" > |
|
| 394 |
+ AND SUBJECT LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 395 |
+ </isEqual> |
|
| 396 |
+ <isEqual property="searchCondition" compareValue="2" > |
|
| 397 |
+ AND CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 398 |
+ </isEqual> |
|
| 399 |
+ <isEqual property="searchCondition" compareValue="3" > |
|
| 400 |
+ AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 401 |
+ </isEqual> |
|
| 402 |
+ </isNotEmpty> |
|
| 403 |
+ <isNotEmpty property="searchCondition_01"> |
|
| 404 |
+ AND sendKind = #searchCondition_01# |
|
| 405 |
+ </isNotEmpty> |
|
| 406 |
+ <isNotEmpty property="startDate"> |
|
| 407 |
+ <![CDATA[ |
|
| 408 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 409 |
+ ]]> |
|
| 410 |
+ </isNotEmpty> |
|
| 411 |
+ <isNotEmpty property="endDate"> |
|
| 412 |
+ <![CDATA[ |
|
| 413 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 414 |
+ ]]> |
|
| 415 |
+ </isNotEmpty> |
|
| 416 |
+ GROUP BY MSG_GROUP_ID |
|
| 417 |
+ ORDER BY 1=1 |
|
| 418 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 419 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 420 |
+ , curState $searchSortOrd$ |
|
| 421 |
+ , orderByrsltCode |
|
| 422 |
+ </isEqual> |
|
| 423 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 424 |
+ ,$searchSortCnd$ |
|
| 425 |
+ </isNotEqual> |
|
| 426 |
+ </isNotEmpty> |
|
| 427 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 428 |
+ $searchSortOrd$ |
|
| 429 |
+ </isNotEmpty> |
|
| 430 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 431 |
+ </select> |
|
| 432 |
+ |
|
| 433 |
+ <!-- 전체 발송결과 조회 (전송사별) => 주소록 조인 제거버전--> |
|
| 434 |
+ <select id="MjonMsgSentDAO.selectAllMsgSentSimpleList" parameterClass="mjonMsgSentVO" resultClass="mjonMsgSentVO"> |
|
| 435 |
+ SELECT |
|
| 436 |
+ COUNT(USER_ID) OVER() AS totMsgCnt |
|
| 437 |
+ , USER_ID AS userId |
|
| 438 |
+ , MSG_GROUP_ID AS msgGroupId |
|
| 439 |
+ , MSG_GROUP_CNT AS msgGroupCnt |
|
| 440 |
+ , SMS_TXT AS smsTxt |
|
| 441 |
+ , SUBJECT AS subject |
|
| 442 |
+ , DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regdate |
|
| 443 |
+ , DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqdate |
|
| 444 |
+ , CALL_FROM AS callFrom |
|
| 445 |
+ , CALL_TO AS callTo |
|
| 446 |
+ , FN_GETHYPHEN(CALL_FROM) AS callFromComma |
|
| 447 |
+ , FN_GETHYPHEN(CALL_TO) AS callToComma |
|
| 448 |
+ , '' AS addrNm |
|
| 449 |
+ , TOT_PRICE AS totPrice |
|
| 450 |
+ , EACH_PRICE AS eachPrice |
|
| 451 |
+ , CUR_STATE AS curState |
|
| 452 |
+ , RSLT_CODE AS rsltCode |
|
| 453 |
+ , RSLT_CODE2 AS rsltCode2 |
|
| 454 |
+ , DEL_FLAG AS delFlag |
|
| 455 |
+ , MSG_TYPE AS msgType |
|
| 456 |
+ , FILE_CNT AS fileCnt |
|
| 457 |
+ , AGENT_CODE AS agentCode |
|
| 458 |
+ , RESERVE_C_YN AS reserveCYn |
|
| 459 |
+ , CANCELDATE AS cancelDate |
|
| 460 |
+ , '' AS msgId |
|
| 461 |
+ , orderByCode AS orderByCode |
|
| 462 |
+ , sendKind AS sendKind |
|
| 463 |
+ , MSG_KIND AS msgKind |
|
| 464 |
+ FROM |
|
| 465 |
+ ( SELECT |
|
| 466 |
+ B.USER_ID |
|
| 467 |
+ , B.MSG_GROUP_ID |
|
| 468 |
+ , B.MSG_GROUP_CNT |
|
| 469 |
+ , B.SMS_TXT |
|
| 470 |
+ , B.SUBJECT |
|
| 471 |
+ , B.REGDATE |
|
| 472 |
+ , B.REQ_DATE |
|
| 473 |
+ , B.CALL_FROM |
|
| 474 |
+ , B.TOT_PRICE |
|
| 475 |
+ , B.EACH_PRICE |
|
| 476 |
+ , B.DEL_FLAG |
|
| 477 |
+ , B.MSG_TYPE |
|
| 478 |
+ , B.FILE_CNT |
|
| 479 |
+ , B.AGENT_CODE |
|
| 480 |
+ , B.RESERVE_C_YN |
|
| 481 |
+ , B.CANCELDATE |
|
| 482 |
+ , A.MSG_SEQ |
|
| 483 |
+ , A.CALL_TO |
|
| 484 |
+ , A.CUR_STATE |
|
| 485 |
+ , A.RSLT_CODE |
|
| 486 |
+ , A.RSLT_CODE2 |
|
| 487 |
+ , B.SEND_KIND as sendKind |
|
| 488 |
+ , B.MSG_KIND |
|
| 489 |
+ , CASE |
|
| 490 |
+ WHEN B.MSG_TYPE = '6' |
|
| 491 |
+ AND B.FILE_CNT > 0 |
|
| 492 |
+ THEN '3' |
|
| 493 |
+ WHEN B.MSG_TYPE = '6' |
|
| 494 |
+ AND B.FILE_CNT = 0 |
|
| 495 |
+ THEN '2' |
|
| 496 |
+ ELSE '1' |
|
| 497 |
+ END orderByCode |
|
| 498 |
+ <include refid="MjonMsgSentDAO.selectJoinQuery"/> |
|
| 499 |
+ AND B.USER_ID = #userId# |
|
| 500 |
+ AND B.DEL_FLAG ='N' |
|
| 501 |
+ AND B.RESERVE_C_YN = 'N' |
|
| 502 |
+ <![CDATA[ |
|
| 503 |
+ AND B.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
|
| 504 |
+ ]]> |
|
| 505 |
+ <isNotEmpty property="msgSentType"> |
|
| 506 |
+ <isEqual property="msgSentType" compareValue="01" > |
|
| 507 |
+ AND B.MSG_KIND != 'C' |
|
| 508 |
+ </isEqual> |
|
| 509 |
+ <isEqual property="msgSentType" compareValue="02" > |
|
| 510 |
+ AND B.MSG_KIND = 'C' |
|
| 511 |
+ </isEqual> |
|
| 512 |
+ </isNotEmpty> |
|
| 513 |
+ )M |
|
| 343 | 514 |
WHERE 1=1 |
| 344 | 515 |
<isNotEmpty property="stateType"> |
| 345 | 516 |
<isEqual property="stateType" compareValue="all"> |
... | ... | @@ -444,8 +615,8 @@ |
| 444 | 615 |
$searchSortOrd$ |
| 445 | 616 |
</isNotEmpty> |
| 446 | 617 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 447 |
- </select> |
|
| 448 |
- |
|
| 618 |
+ </select> |
|
| 619 |
+ |
|
| 449 | 620 |
<!-- 전체 발송결과 조회 (개인별)--> |
| 450 | 621 |
<select id="MjonMsgSentDAO.selectAllPrivateMsgSentList" parameterClass="mjonMsgSentVO" resultClass="mjonMsgSentVO"> |
| 451 | 622 |
|
... | ... | @@ -636,8 +807,6 @@ |
| 636 | 807 |
</isNotEmpty> |
| 637 | 808 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 638 | 809 |
</select> |
| 639 |
- |
|
| 640 |
- |
|
| 641 | 810 |
|
| 642 | 811 |
<!-- 건수별 상세 리스트 조회--> |
| 643 | 812 |
<select id="MjonMsgSentDAO.selectAllMsgSentDetailList" parameterClass="mjonMsgSentVO" resultClass="mjonMsgSentVO"> |
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
... | ... | @@ -141,7 +141,7 @@ |
| 141 | 141 |
<col style="width: 11%;"> |
| 142 | 142 |
<col style="width: *%;"> |
| 143 | 143 |
<col style="width: 15%;"> |
| 144 |
- <col style="width: 9%;"> |
|
| 144 |
+ <col style="width: 8%;"> |
|
| 145 | 145 |
<col style="width: 12%;"> |
| 146 | 146 |
</colgroup> |
| 147 | 147 |
<thead> |
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?