RuleNumSettingMapper.xml 5.51 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.ruoyi.mapper.RuleNumSettingMapper">

    <resultMap id="BaseResultMap" type="com.ruoyi.domain.RuleNumSetting">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="ruleNumId" column="rule_num_id" jdbcType="INTEGER"/>
            <result property="ruleDictName" column="rule_dict_name" jdbcType="VARCHAR"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
            <result property="remark" column="remark" jdbcType="VARCHAR"/>
            <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
            <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
    </resultMap>

    <resultMap id="AttendanceResult" type="com.ruoyi.pojo.dto.AttendanceDto">
        <result property="jobCode" column="job_code" jdbcType="VARCHAR"/>
        <result property="name" column="personnel_name" jdbcType="VARCHAR"/>
        <result property="posts" column="posts" jdbcType="VARCHAR"/>
        <result property="name" column="personnel_name" jdbcType="VARCHAR"/>
        <result property="settingId" column="setting_id" jdbcType="INTEGER"/>
        <result property="startDate" column="start_date" jdbcType="DATE"/>
        <result property="fleetName" column="fleet_name" jdbcType="VARCHAR"/>
<!--        <collection property="ruleList" ofType="com.ruoyi.scheduling.domain.RuleScheduling">-->
<!--            <result column="working_hour_plan" property="workingHourPlan" jdbcType="INTEGER"/>-->
<!--            <result column="working_hour_type" property="workingHourType" jdbcType="INTEGER"/>-->
<!--            <result column="first_work_sign_in_time" property="firstWorkSignInTime" jdbcType="DATE"/>-->
<!--            <result column="first_sign_in_working_range" property="firstSignInWorkingRange" jdbcType="INTEGER"/>-->
<!--            <result column="first_quitting_sign_in_time" property="firstQuittingSignInTime" jdbcType="DATE"/>-->
<!--            <result column="first_sign_in_day_tomorrow" property="firstSignInDayTomorrow" jdbcType="INTEGER"/>-->
<!--            <result column="first_sign_in_quitting_range" property="firstSignInQuittingRange" jdbcType="INTEGER"/>-->
<!--            <result column="sign_in_time_out_range" property="signInTimeOutRange" jdbcType="INTEGER"/>-->
<!--            <result column="second_flag" property="secondFlag" jdbcType="INTEGER"/>-->
<!--            <result column="second_work_sign_in_time" property="secondWorkSignInTime" jdbcType="DATE"/>-->
<!--            <result column="second_sign_in_working_range" property="secondSignInWorkingRange" jdbcType="INTEGER"/>-->
<!--            <result column="second_quitting_sign_in_time" property="secondQuittingSignInTime" jdbcType="DATE"/>-->
<!--            <result column="second_sign_in_quitting_range" property="secondSignInQuittingRange" jdbcType="INTEGER"/>-->
<!--            <result column="second_sign_day_tomorrow" property="secondSignDayTomorrow" jdbcType="INTEGER"/>-->
<!--        </collection>-->
    </resultMap>

    <sql id="Base_Column_List">
        id,rule_num_id,match_name,
        create_time,update_time,remart,
        create_by,update_by
    </sql>
    <select id="getSchedulingList" resultType="com.ruoyi.pojo.vo.SchedulingResponseVo">
        SELECT
            setting.*,
            num.rule_dict_name,
            num.rule_type
        FROM
            `rule_num_setting` setting,rule_num num
        WHERE setting.rule_num_id = num.id
        <if test="jobCode != null and jobCode != ''">
            and setting.id = (
            SELECT
            setting_id
            FROM
            rule_setting_driver
            WHERE
            job_code = #{jocCode}
            LIMIT 1)
        </if>
        <if test="ruleDictName != null and ruleDictName != ''">
            and rule_dict_name = #{ruleDictName}
        </if>
    </select>
    <select id="getPeopleList" resultType="com.ruoyi.pojo.dto.AttendanceDto" resultMap="AttendanceResult">
        SELECT
            driver.job_code,
            driver.personnel_name,
            driver.fleet_name,
            driver.posts,
            rule_setting_driver.setting_id,
            rule_setting_driver.start_date
        FROM
            driver,
            rule_setting_driver
        WHERE
            driver.job_code = rule_setting_driver.job_code
          AND rule_setting_driver.job_code NOT IN (
            SELECT DISTINCT
                job_code
            FROM
                rule_attendance_main
            WHERE
                DATE_FORMAT( scheduling_date, '%Y-%m' ) = DATE_FORMAT( NOW(), '%Y-%m' )
        )
    </select>
    <select id="getPeopleListByMonth" resultType="com.ruoyi.pojo.dto.AttendanceDto" resultMap="AttendanceResult">
        SELECT
            driver.job_code,
            driver.personnel_name,
            driver.fleet_name,
            driver.posts,
            rule_setting_driver.setting_id,
            rule_setting_driver.start_date
        FROM
            driver,
            rule_setting_driver
        WHERE
            driver.job_code = rule_setting_driver.job_code
          AND rule_setting_driver.job_code NOT IN (
            SELECT DISTINCT
                job_code
            FROM
                rule_attendance_main
            WHERE
                DATE_FORMAT( scheduling_date, '%Y-%m' ) = #{month}
        )
    </select>

</mapper>