<?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>