1217 개발일지

Yesol Lee·2021년 12월 17일
0

개발일지 - 2021

목록 보기
10/20

오늘 한 일

목록 검색 기능 구현

1. sql search 부분 mysql 문법으로 수정

기존 예제 파일의 search부분은 oracle 문법으로 되어있어서 text 검색 방식으로 수정했다.

2. 날짜 검색

  • 입력 날짜가 출장 시작일보다 크고 종료일보다 작은 정보 조회하게 했다.
  • XML에서는 부등호를 tag로 인식하기 때문에 sql 비교할 때 사용하는 부등호를 문자 그대로 읽게 하기 위해 추가 처리를 해 주어야 했다. XML 부등호 tag인식 방지

    error: The content of elements must consist of well-formed character data or markup.

<select id="selectBtList" parameterType="searchVO" resultType="egovMap">

  SELECT
  BT_ID, LOCATION, AUTHOR_ID, TRAVELER_ID, TRIP_START_DATE, TRIP_END_DATE
  FROM TBBUSINESSTRIP
  WHERE 1=1
  <if test="searchKeyword != null and searchKeyword != ''">
    <choose>
      <when test="searchCondition == 0">
        AND	TRAVELER_ID LIKE CONCAT('%', #{searchKeyword},'%')
      </when>
      <when test="searchCondition == 1">

        <![CDATA[
      AND	TRIP_START_DATE < CONCAT(#{searchKeyword}) AND TRIP_END_DATE > CONCAT(#{searchKeyword})
      ]]>
      </when>
    </choose>
  </if>
  ORDER BY CREATED_AT DESC
  LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>

3. 검색 페이지에 datepicker 적용

  • 날짜 검색 선택 시 input의 type을 date로 바꾸고 datepicker를 적용했다.
  • input의 type을 date로 주니 알아서 캘린더가 뜨는 것 같기도 한데 확인해봐야겠다.
// 날짜 검색 입력 기능 jquery
$(document).ready(function () {
  // 날짜검색 선택 시
  $("#searchCondition").change(function() {
    if($("#searchCondition option:selected").val()==1) {

      $("#searchKeyword").prop("type", "date");
      $("#searchKeyword").datepicker({
        changeMonth: true, 
        changeYear: true,
        nextText: '다음 달',
        prevText: '이전 달', 
        dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
        dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], 
        monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
        monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
        dateFormat: "yy-mm-dd",
      });
    } else {
      $("#searchKeyword").prop("type", "text");
      $("#searchKeyword").datepicker('option', 'disabled', true);
    }
  })  
});
profile
문서화를 좋아하는 개발자

0개의 댓글