ShipmentsOrderInfoMapper.xml 4.16 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.lframework.xingyun.sc.mappers.ShipmentsOrderInfoMapper">

    <resultMap id="ShipmentsOrderInfo" type="com.lframework.xingyun.sc.entity.ShipmentsOrderInfo">
        <id column="id" property="id"/>
        <result column="plan_id" property="planId"/>
        <result column="customer_id" property="customerId"/>
        <result column="customer_name" property="customerName"/>
        <result column="workshop_id" property="workshopId"/>
        <result column="workshop_name" property="workshopName"/>
        <result column="shipments_date" property="shipmentsDate"/>
        <result column="dept_id" property="deptId"/>
        <result column="delivery_type" property="deliveryType"/>
        <result column="destination" property="destination"/>
        <result column="status" property="status"/>
        <result column="create_by_id" property="createById"/>
        <result column="update_by_id" property="updateById"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <sql id="ShipmentsOrderInfo_sql">
        SELECT
            tb.id,
            tb.plan_id,
            tb.customer_id,
            c.name AS customer_name,
            tb.workshop_id,
            w.name AS workshop_name,
            tb.shipments_date,
            tb.dept_id,
            tb.delivery_type,
            tb.destination,
            tb.status,
            u.name as create_by,
            tb.create_by_id,
            tb.update_by_id,
            tb.create_time,
            tb.update_time
        FROM shipments_order_info AS tb
        LEFT JOIN base_data_customer c ON tb.customer_id = c.id
        LEFT JOIN base_data_workshop w ON tb.workshop_id = w.id
        LEFT JOIN sys_user u ON tb.create_by_id = u.id
    </sql>

    <select id="query" resultMap="ShipmentsOrderInfo">
        <include refid="ShipmentsOrderInfo_sql"/>
        <where>
            <if test="vo.workshopId != null and vo.workshopId != ''">
                AND tb.workshop_id = #{vo.workshopId}
            </if>
            <if test="vo.shipmentsDateStart != null">
                AND tb.shipments_date >= #{vo.shipmentsDateStart}
            </if>
            <if test="vo.shipmentsDateEnd != null">
                AND tb.shipments_date &lt;= #{vo.shipmentsDateEnd}
            </if>
            <if test="vo.deptIds != null and vo.deptIds.size() > 0">
                AND (
                <foreach collection="vo.deptIds" item="deptId" separator=" OR ">
                    FIND_IN_SET(#{deptId}, tb.dept_id) > 0
                </foreach>
                )
            </if>
            <if test="vo.status != null and vo.status != ''">
                AND tb.status = #{vo.status}
            </if>
            <if test="vo.customerName != null and vo.customerName != ''">
                AND c.name like concat('%', #{vo.customerName}, '%')
            </if>
        </where>
    </select>

    <insert id="batchAdd">
        INSERT INTO shipments_order_info (
        id,
        plan_id,
        customer_id,
        workshop_id,
        shipments_date,
        dept_id,
        delivery_type,
        destination,
        payment_type,
        status,
        create_by_id,
        update_by_id
        ) VALUES
        <foreach collection="list" item="item" separator=",">
            (
            #{item.id},
            #{item.planId},
            #{item.customerId},
            #{item.workshopId},
            #{item.shipmentsDate},
            #{item.deptId},
            #{item.deliveryType},
            #{item.destination},
            #{item.paymentType},
            #{item.status},
            #{item.createById},
            #{item.updateById}
            )
        </foreach>
    </insert>

    <select id="queryByIds" resultType="com.lframework.xingyun.sc.entity.ShipmentsOrderInfo">
        <include refid="ShipmentsOrderInfo_sql"/>
        where tb.id in
        <foreach collection="ids" open="(" separator="," close=")" item="item">
            #{item}
        </foreach>
    </select>
</mapper>