SingleMapperEx.xml 3.8 KB
Newer Older
苗卫卫 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
<?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.boco.nbd.wios.manage.mapper.extdb.SingleMapperEx" >

    <insert id="saveSingleMaterials" >
        insert into t_single_materials (signal_id,materials_id,quantity)
        values
        <foreach collection="singleMaterialsList" item="item" index="index"
                 separator=",">
        (#{item.signalId},#{item.materialsId},#{item.quantity})
        </foreach>
    </insert>


    <select id="qrySingle" resultType="com.boco.nbd.wios.manage.entity.bo.SingleQo">
        SELECT
            ts.id id,
            ts.create_time createTime,
            ts.create_account createAccount,
            ts.info info,
            ts.type type,
            (select name from t_warehouse where id = ts.transfer_in) as transferInName,
            (select name from t_warehouse where id = ts.transfer_out) as transferOutName,
            ts.shipping_address shippingAddress,
            ts.contact_number contactNumber,
            ts.receiver receiver,
            tw.service_provider serviceProviderIn,
            tw1.service_provider serviceProviderOut
        FROM
            t_single ts
            LEFT JOIN t_single_materials tsm ON ts.id = tsm.signal_id
            LEFT JOIN t_materials tm ON tsm.materials_id = tm.id
            LEFT JOIN t_warehouse tw on ts.transfer_in = tw.id
            LEFT JOIN t_warehouse tw1 on ts.transfer_out = tw1.id
            where ts.appkey = #{appkey}
            <if test="singleId != null and singleId != ''">
                and ts.id = #{singleId}
            </if>
            <if test="type != null">
                and ts.type = #{type}
            </if>
            <if test="transferIn != null and transferIn != ''">
                and ts.transfer_in = #{transferIn}
            </if>
            <if test="transferOut != null and transferOut != '' ">
                and ts.transfer_out = #{transferOut}
            </if>
            <if test="materialsCode != null and materialsCode != ''">
                and tm.materials_code like CONCAT('%',#{materialsCode},'%')
            </if>
            <if test="shippingAddress != null and shippingAddress != ''">
                and ts.shipping_address like CONCAT('%',#{shippingAddress},'%')
            </if>
            <if test="contactNumber != null and contactNumber != ''">
                and ts.contact_number like CONCAT('%',#{contactNumber},'%')
            </if>
            <if test="receiver != null and receiver != ''">
                and ts.receiver like CONCAT('%',#{receiver},'%')
            </if>
            <if test="serviceProviders != null and serviceProviders.size() > 0">
                and (tw.service_provider in
                <foreach collection="serviceProviders" item="item" index="index"
                         open="(" close=")" separator=",">
                    #{item}
                </foreach>
                or  tw1.service_provider in
                <foreach collection="serviceProviders" item="item" index="index"
                         open="(" close=")" separator=",">
                    #{item}
                </foreach>
                )
            </if>
            GROUP BY ts.id  order by ts.create_time desc
    </select>

    <select id="qrySingleMaterialsBySingleId" parameterType="string" resultType="com.boco.nbd.wios.manage.entity.bo.SingleMaterialsQo">
        SELECT
             tsm.quantity quantity,
             tm.materials_name materialsName,
             tm.materials_code materialsCode,
             tm.unit unit,
             tm.regular_model regularModel
        FROM
            t_single_materials tsm
            LEFT JOIN t_materials tm ON tsm.materials_id = tm.id
            where tsm.signal_id = #{singleId}
    </select>
</mapper>