Site-mapper.xml 4.35 KB
<?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="com.example.demo.mapper.SiteMapper">

    <select id="queryScheduling" resultType="map">
        SELECT CONCAT(gs_name, fgs_name) gs_name,
               xl_name,
               xl_bm,
               xl_dir,
               bc_type,
               cl_zbh,
               lp_name,
               qdz_name,
               qdz_code,
               fcsj_actual,
               zdz_name,
               zdz_code,
               zdsj_actual,
               cars.equipment_code,
               cars.car_plate
        FROM pd_control.bsth_c_s_sp_info_real
                 LEFT JOIN pd_control.bsth_c_cars cars ON cars.inside_code = cl_zbh
        WHERE schedule_date_str = '${date}'
          AND '${jobCode}' LIKE CONCAT('%', j_gh, '%')
          AND j_name = '${personalName}'
          AND '${time}' BETWEEN fcsj_actual
            AND zdsj_actual
    </select>

    <select id="querydlSite" resultType="map">
        SELECT a.device_id,
               a.line_id,
               a.stop_no,
               a.up_down,
               b.ts - a.ts ts
        FROM (SELECT *
              FROM ms.bsth_c_arrival_info_${year}
              WHERE device_id = '${device_id}'
                AND line_id = '${line_id}'
                AND up_down = '${up_down}'
                AND in_out = 0
                AND weeks_year = '${weeks_year}') a
                 JOIN (SELECT *
                       FROM ms.bsth_c_arrival_info_${year}
                       WHERE device_id = '${device_id}'
                         AND line_id = '${line_id}'
                         AND up_down = '${up_down}'
                         AND in_out = 1
                         AND weeks_year = '${weeks_year}') b ON a.device_id = b.device_id
            AND a.line_id = b.line_id
            AND a.stop_no = b.stop_no
            AND a.device_id = b.device_id
        WHERE UNIX_TIMESTAMP('${dateTime}') * 1000 BETWEEN a.ts
                  AND b.ts

        GROUP BY a.stop_no
        ORDER BY ts
    </select>

    <select id="querylyStie" resultType="map">
        SELECT station_name,
               MAX(station_route_code) station_route_code,
               station_code
        FROM (
                 SELECT l.line_code   line_code,
                        max(versions) versions
                 FROM bsth_c_line l
                          LEFT JOIN bsth_c_line_versions v ON l.line_code = v.line_code
                 WHERE l.destroy = 0
                 GROUP BY l.line_code
             ) b
                 LEFT JOIN bsth_c_ls_stationroute a ON a.line_code = b.line_code
            AND a.versions = b.versions
        WHERE a.destroy = 0
          AND a.station = '${station}'
          AND directions = '${directions}'
          AND line = '${line}'
        ORDER BY a.line_code,
                 a.directions,
                 a.station_route_code
    </select>


    <insert id="insertResult" parameterType="List">
        INSERT INTO `pd_control`.`t_jc_result` (
        `TJRLCARDNO`, `TJRLINSID`, `TJRLCDKIND`, `TJRLPOSID`,`TJRLRDATE`,
        `TJRLRTIME`,`TJRLCDBAL`,`TJRLAMT`,`TJRLORGAMT`,
        `TJRLTXFG`,`STATION_FLAG`,`TJRLUNITID`,`TJRLSTATID`,`ROAD_FORM_TYPE`, `UPDOWN`, `BUS_CODE`,
        `BUS_PLATE`, `ROAD_CODE`, `DEPART_NAME`,`DEPART_CODE`, `DEPART_ACTUAL_TIME`,
        `REACH_NAME`,`REACH_CODE`,`REACH_ACTUAL_TIME`,
        `LEVELS_FLAG`,`LEVELS1`, `LEVELS_NAME1`, `LEVELS1_CODE`,`LEVELS2`, `LEVELS_NAME2`
        )
        VALUES
        <foreach collection="list" item="em" index="index" separator=",">
            ( #{em.TJRLCARDNO}, #{em.TJRLINSID}, #{em.TJRLCDKIND}, #{em.TJRLPOSID},#{em.TJRLRDATE},
            #{em.TJRLRTIME},#{em.TJRLCDBAL},#{em.TJRLAMT},#{em.TJRLORGAMT},
            #{em.TJRLTXFG},#{em.STATION_FLAG},#{em.TJRLUNITID},#{em.TJRLSTATID},#{em.ROAD_FORM_TYPE}, #{em.UPDOWN},
            #{em.BUS_CODE},
            #{em.BUS_PLATE}, #{em.ROAD_CODE}, #{em.DEPART_NAME},#{em.DEPART_CODE}, #{em.DEPART_ACTUAL_TIME},
            #{em.REACH_NAME},#{em.REACH_CODE},#{em.REACH_ACTUAL_TIME},
            #{em.LEVELS_FLAG},#{em.LEVELS1}, #{em.LEVELS_NAME1}, #{em.LEVELS1_CODE},#{em.LEVELS2}, #{em.LEVELS_NAME2} )
        </foreach>
    </insert>

</mapper>