ShippingCombinationMapper.xml 2.48 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.huaheng.pc.shipment.shippingCombination.mapper.ShippingCombinationMapper">
    <select id="getInventory" resultType="com.huaheng.pc.inventory.inventory.domain.Inventory">
        SELECT i.id, i.warehouseId, i.warehouseCode, i.locationId, i.locationCode, i.containerCode,
                i.sourceCode, i.sourceLine, i.companyId, i.companyCode, i.materialId, i.materialCode,
                i.receiptId, i.receiptCode,	i.receiptDetailId, i.batch, i.lot, i.project, i.manufactureDate,
                i.expirationDate, i.status, i.qty, i.taskQty, i.costPrice, i.listPrice, i.netPrice, i.created,
                i.createdBy, i.lastUpdated, i.lastUpdatedBy, i.userDef1, i.userDef2, i.userDef3, i.deleted,
                m.name materialName
        FROM inventory i
        INNER JOIN material m ON i.materialCode = m.code
                                AND i.companyCode=#{companyCode}
                                AND i.warehouseCode=#{warehouseCode}
                                AND m.warehouseCode=#{warehouseCode}
                                AND i.qty > i.taskQty
                                AND i.materialCode=#{materialCode}
        INNER JOIN location l ON i.locationCode = l.code
                              AND l.warehouseCode=#{warehouseCode}
        LEFT JOIN shipment_container_header s ON i.locationCode = s.locationCode
                                            AND s.status=0
                                            AND s.warehouseCode=#{warehouseCode}
        <where>
            <if test="locationCode != null and locationCode != '' ">
                AND i.locationCode = #{locationCode}
            </if>
            <if test="containerCode != null and containerCode != '' ">
                AND i.containerCode = #{containerCode}
            </if>
            <if test="status != null and status != '' ">
                AND i.status = #{status}
            </if>
            <if test="params != null and params.createdBegin != null and params.createdBegin != ''">
                AND i.created &gt;= #{params.createdBegin}
            </if>
            <if test="params != null and params.createdEnd != null and params.createdEnd != ''">
                AND i.created &lt;= #{params.createdEnd}
            </if>
            AND  l.status='empty' OR (l.status='lock' AND s.id  IS NOT NULL)
        </where>
    </select>

</mapper>