<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cbdoro.mods.roadCons.mapper.RoadConsMapper">

    <resultMap id="roadConsVO" type="roadConsVO">
        <result column="CNS_NO"         property="cnsNo"        /> <!-- 공사번호 -->
        <result column="CNS_CTS"        property="cnsCts"       /> <!-- 상태정보 -->
        <result column="UP_DTE"         property="upDte"        /> <!-- 업데이트 일시 -->
        <result column="CNS_COM"        property="cnsCom"       /> <!-- 시공사 -->
        <result column="CNS_DTE"        property="cnsDte"       /> <!-- 준공일 -->
        <result column="CRT_NAM"        property="crtNam"       /> <!-- 생성자 이름 -->
        <result column="CRT_DTE"        property="crtDte"       /> <!-- 생성 일자 -->
        <result column="CNS_MNG"        property="cnsMng"       /> <!-- 공사 감독관 -->
        <result column="CNS_NAM"        property="cnsNam"       /> <!-- 공사명칭 -->
        <result column="CNS_ST"         property="cnsSt"        /> <!-- 시점위치 -->
        <result column="CNS_ET"         property="cnsEt"        /> <!-- 종점위치 -->
        <result column="CNS_DES"        property="cnsDes"       /> <!-- 상태정보 -->
        <result column="CNS_LEN"        property="cnsLen"       /> <!-- 공사연장 -->
        <result column="IDX"            property="idx"          /> <!-- 일련번호 -->
        <result column="ROAD_NO"        property="roadNo"       /> <!-- 노선번호 -->
        <result column="SECT"           property="sect"         /> <!-- 구간번호 -->
        <result column="SECT_ST"        property="sectSt"       /> <!-- 구간연장의 시점여부 -->
        <result column="SECT_ET"        property="sectEt"       /> <!-- 구간연장의 종점여부 -->
        <result column="ST_NO"          property="stNo"         /> <!-- 시점측점 -->
        <result column="ET_NO"          property="etNo"         /> <!-- 종점측점 -->
        <result column="ROAD_LEN"       property="roadLen"      /> <!-- 총연장 -->
    </resultMap>

    <!-- 컬럼 -->
    <sql id="columns">
        CNS_NO
        , CNS_CTS
        , UP_DTE
        , CNS_COM
        , CNS_DTE
        , CRT_NAM
        , CRT_DTE
        , CNS_MNG
        , CNS_NAM
        , CNS_ST
        , CNS_ET
        , CNS_DES
        , CNS_LEN
        , IDX
        , ROAD_NO
        , SECT
        , SECT_ST
        , SECT_ET
        , ST_NO
        , ET_NO
        , ROAD_LEN
    </sql>

    <!-- 값 -->
    <sql id="values">
        #{cnsNo}
        , #{cnsCts}
        , #{upDte}
        , #{cnsCom}
        , #{cnsDte}
        , #{crtNam}
        , #{crtDte}
        , #{cnsMng}
        , #{cnsNam}
        , #{cnsSt}
        , #{cnsEt}
        , #{cnsDes}
        , #{cnsLen}
        , #{idx}
        , #{roadNo}
        , #{sect}
        , #{sectSt}
        , #{sectEt}
        , #{stNo}
        , #{etNo}
        , #{roadLen}
    </sql>

    <sql id="defaultWhere">
        <trim prefix="WHERE" prefixOverrides="AND">
            <if  test="'' != roadNo and null != roadNo">
                AND RCDL.ROAD_NO  LIKE CONCAT('%', #{roadNo}, '%')
            </if>
            <if test="'' != cnsNam and null != cnsNam">
                AND RCD.CNS_NAM   LIKE CONCAT('%', #{cnsNam}, '%')
            </if>
            <if test="'' != cnsCts and null != cnsCts">
                AND RCD.CNS_CTS   LIKE CONCAT('%', #{cnsCts}, '%')
            </if>
            <if test="'' != cnsNo and null != cnsNo">
                AND substr(RCD.CNS_NO, 1, 4)  LIKE CONCAT('%', #{cnsNo}, '%')
            </if>
            AND      RCDL.CNS_NO = RCD.CNS_NO
        </trim>
    </sql>
	
	<select id="selectRoadElevation" resultType="map">
  SELECT X_POS, Y_POS, Z_POS, DIST
  FROM ROAD_CONS_LINE
  WHERE CNS_NO = #{cnsNo}
  ORDER BY IDX ASC
</select>
	<select id="selectfacilityList" resultType="cbdoro.mods.roadCons.vo.RoadConsLayers" parameterType="cbdoro.mods.roadCons.vo.RoadConsLayers">
  SELECT *
  FROM ROAD_CONS_LAYERS
  WHERE CNS_NO = #{cnsNo}
  ORDER BY IDX ASC
</select>
	
	<select id="searchTrafficData" resultType="cbdoro.mods.roadCons.vo.AiManagePtVO" parameterType="cbdoro.mods.roadCons.vo.AiManagePtVO">
     SELECT FTR_IDN, FIL_NAM, FIL_DES, FIL_LOC, ROAD_NO, SECT, 
        DATE_FORMAT(CRT_DTE, '%Y-%m-%d') AS CRT_DTE FROM AI_MANAGE_PT
    WHERE 1=1  
    <if test="roadNo != null and roadNo != ''">
        AND ROAD_NO LIKE CONCAT('%', #{roadNo}, '%') 
    </if>
    <if test="sect != null and sect != ''">
        AND SECT = #{sect}
    </if>
    <if test="filNam != null and filNam != ''">
        AND SER_DAT LIKE CONCAT('%', #{filNam}, '%')
    </if>
    <if test="crtDte != null and crtDte != ''">
        AND DATE(CRT_DTE) = #{crtDte}
    </if>
    ORDER BY CRT_DTE DESC
</select>
	
	<select id="getTrafficRecordList" resultType="cbdoro.mods.roadCons.vo.AiTrafficAnyDto">
    SELECT 
        A.FTR_IDN, 
        A.FTR_IDE, 
        A.FIL_NAM, 
        A.FIL_TIME, 
        A.CRT_DTE,
        A.ROAD_360,
        B.FIL_LOC
    FROM AI_TRAFIC_ANY A , AI_MANAGE_PT B
    WHERE A.FTR_IDN = #{ftrIdn} AND A.FTR_IDN = B.FTR_IDN
    ORDER BY CRT_DTE DESC
</select>

<select id="getTrafficAnalysisData" resultType="cbdoro.mods.roadCons.vo.AiTrafficAnyDataDto">
    SELECT 
        FTR_IDN, FTR_IDE, ANY_TIME, MAX_SPD, MIN_SPD, AVG_SPD, CNT_BUS, CNT_TRUCK,
        CNT_VAN, CNT_BYCLE, CNT_MOTOR, CNT_CAR, CNT_PEOPLE, CNT_BOARD, CNT_ETC,CNT_INDUSTRIAL,CNT_SUV
    FROM AI_TRAFIC_ANYDATA
    WHERE FTR_IDE = #{ftrIde} 
    ORDER BY ANY_TIME ASC
</select>
	
	
	
	
    <!--공사구간 노선번호 목록 조회 -->
    <select id="itemListRoadNo" resultMap="roadConsVO">
        SELECT  RCDL.ROAD_NO
                ,ROUND((RCDL.ROAD_LEN/1000),2) AS ROAD_LEN
                ,RCD.CNS_ST
        FROM    ROAD_CONS_DT_LST AS RCDL
                , ROAD_CONS_DT AS RCD
        WHERE   RCDL.CNS_NO = RCD.CNS_NO
    </select>

    <!--공사구간 작업년도 목록 조회 -->
    <select id="itemListRoadConsYear" resultMap="roadConsVO">
        SELECT   substr(CNS_NO, 1, 4) AS CNS_NO
        FROM     ROAD_CONS_DT
        GROUP BY substr(CNS_NO, 1, 4)
    </select>

    <!-- 공사구간 검색 목록 갯수 조회 -->
    <select id="itemListTCount" resultType="int">
        SELECT  COUNT(RCDL.ROAD_NO)
        FROM    ROAD_CONS_DT_LST AS RCDL
                ,ROAD_CONS_DT AS RCD
        <include refid="defaultWhere" />
    </select>

    <!-- 공사구간 목록 조회 -->
    <select id="itemListResultList" resultMap="roadConsVO">
        SELECT   RCDL.ROAD_NO
                 ,RCDL.SECT
                 ,ROUND((RCDL.ROAD_LEN/1000),2) AS ROAD_LEN
                 ,RCD.*
        FROM     ROAD_CONS_DT_LST AS RCDL
                 ,ROAD_CONS_DT AS RCD
        <include refid="defaultWhere" />
        ORDER BY RCDL.SECT ASC
        LIMIT    #{firstIndex}, #{maxList}
    </select>
<select id="selectFilelist" parameterType="BasFileDt" resultType="BasFileDt">
      <![CDATA[
        select a.FTR_IDE, a.FTR_GBN, a.FTR_FMT, a.FTR_DST, a.DOCODE, a.FTR_IDX, a.FTR_DEC, a.FLE_NAM, a.FLE_PTH, a.FLE_SZE, a.ROAD_NO,b.CNS_NO as cnsNo, b.CNS_CTS, b.UP_DTE, b.CNS_COM, b.CNS_DTE, b.CRT_NAM, b.CRT_DTE, b.CNS_MNG, b.CNS_NAM, b.CNS_ST, b.CNS_ET, b.CNS_DES, b.CNS_LEN from BAS_FILE_DT a ,ROAD_CONS_DT b where a.FTR_DST = #{ftrDst} and a.FTR_FMT = 'PDF' and DOCODE=#{doCode} and a.DOCODE = b.CNS_NO order by FTR_DEC
        ]]>
</select>
<select id="selectLandDt" parameterType="BmlLandDt" resultType="BmlLandDt">
        
        select LAND_CD, ADDR, DJ_GBN, BON, BU, JIMOK_CD, JIMOK, AREA, MV_CD, MV_RSN, MV_DATE, OWN_ADDR, OWN_NAM, OWN_GBN, OWN_PER, OWN_CHG_DATE, OWN_CHG_REA, OWN_CHG_CD, LAND_PRICE, LAND_PRICE_NS, LAND_PRICE_1, LAND_PRICE_1_NS, LAND_PRICE_2, LAND_PRICE_2_NS, LAND_PRICE_3, LAND_PRICE_3_NS, LAND_PRICE_4, LAND_PRICE_4_NS, SGG from BML_LAND_DT where LAND_CD=#{landCd}
        
	</select>
	<select id="selectLandDtLst" parameterType="BmlLandDt" resultType="BmlLandDt">
        
        select * from BML_LAND_DT_LST where LAND_CD=#{landCd}
        
	</select>
	<select id="selectgetroadManager"  resultType="RoadDocManager">
        
        SELECT * FROM ROAD_DOC_MANAGER
        
	</select>
	<select id="selectgetroadFolder"  parameterType="RoadDocFloder" resultType="RoadDocFloder">
        
        SELECT * FROM ROAD_DOC_FLODER WHERE DOC_IDN = #{docIdn} group by WRK_NO
        
	</select>
	<select id="selectgetFolder"  parameterType="RoadDocFloder" resultType="RoadDocFloder">
        
        SELECT * FROM ROAD_DOC_FLODER WHERE DOC_IDN = #{docIdn} and WRK_NO = #{wrkNo}
        
	</select>
	<select id="selectgetFile"  parameterType="RoadDocFile" resultType="RoadDocFile">
        
        SELECT * FROM ROAD_DOC_FILE WHERE DOC_IDN = #{docIdn} and WRK_CDE = #{wrkCde} and SVR_NAM =#{svrNam} 
        
	</select>
	<select id="getpolycoordi"  resultType="String">
        
        CALL GMR_SELECT_FIGUER('INTERSECT','BML_LAND_AS','*','GEOSHAPE','POINT','#{codx} #{cody}')
        
	</select>
	<select id="selectFilesByIdxList" parameterType="list" resultType="cbdoro.mods.roadCons.vo.RoadDocFile">
    SELECT FLE_PATH AS flePath, FLE_SNAME AS fleSname, FLE_NAM AS fleNam, FLE_EXT AS fleExt
    FROM ROAD_DOC_FILE
    WHERE FTR_IDN IN 
    <foreach collection="fileIdxList" item="idx" open="(" separator="," close=")">
        #{idx}
    </foreach>
</select>

<select id="selectFilesByDocIdn" parameterType="RoadDocFile" resultType="cbdoro.mods.roadCons.vo.RoadDocFile">
    SELECT FLE_PATH AS flePath, FLE_SNAME AS fleSname, FLE_NAM AS fleNam, FLE_EXT AS fleExt
    FROM ROAD_DOC_FILE
    WHERE DOC_IDN = #{docIdn} AND WRK_CDE = #{wrkCde}
</select>

<select id="selectFileByIdx" parameterType="String" resultType="cbdoro.mods.roadCons.vo.RoadDocFile">
    SELECT FLE_PATH AS flePath, FLE_SNAME AS fleSname, FLE_NAM AS fleNam, FLE_EXT AS fleExt
    FROM ROAD_DOC_FILE
    WHERE FTR_IDN = #{fileIdx}
</select>
	
</mapper>
