InventoryMapper.xml 11.6 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.inventory.inventory.mapper.InventoryMapper">

    <select id="getInventoryBySearchModel" resultType="com.huaheng.pc.inventory.inventory.domain.Inventory" >
        select * from inventory
        <where>
            <if test="companyCode != null">
                and  code = #{companyCode}
            </if>
            <if test="materialCode != 0">
                and  materialCode = #{materialCode}
            </if>
            <if test="locationCode != 0">
                and  locationCode = #{locationCode}
            </if>
            <if test="beginTime != 0">
                and  created > #{beginTime}
            </if>
            <if test="endTime != 0">
                and  created &lt; #{endTime}
            </if>
        </where>
    </select>
    <select id="getInventryMaterialCode" resultType="java.lang.String">
        select distinct materialCode from inventory where materialCode like #{code}
    </select>

    <select id="selectListEntityByLikeLocationCode" resultType="com.huaheng.pc.inventory.inventory.domain.Inventory">
        SELECT distinct  warehouseCode, locationCode, materialCode, qty, taskQty, deleted
        FROM inventory
        <where>
            <if test="warehouseCode != null and warehouseCode != ''">
                <bind name="warehouseCodePattern" value="'%' + warehouseCode + '%'" />
                AND warehouseCode like #{warehouseCodePattern}
            </if>
            <if test="locationCode != null and locationCode != ''">
                <bind name="locationCodePattern" value="'%' + locationCode + '%'" />
                AND locationCode like #{locationCodePattern}
            </if>
            <if test="materialCode != null and materialCode != ''">
                <bind name="materialCodePattern" value="'%' + materialCode + '%'" />
                AND materialCode like #{materialCodePattern}
            </if>
            <if test="qty != null ">
                AND qty = #{qty}
            </if>
            <if test="taskQty != null ">
                AND taskQty = #{taskQty}
            </if>
            <if test="deleted != null ">
                AND deleted = #{deleted}
            </if>
        </where>
        GROUP BY locationCode
    </select>

    <select id="selectListEntityByLikeMaterialCode" resultType="com.huaheng.pc.inventory.inventory.domain.Inventory">
        SELECT distinct  warehouseCode, locationCode, materialCode, qty, taskQty, deleted
        FROM inventory
        <where>
            <if test="warehouseCode != null and warehouseCode != ''">
                <bind name="warehouseCodePattern" value="'%' + warehouseCode + '%'" />
                AND warehouseCode like #{warehouseCodePattern}
            </if>
            <if test="locationCode != null and locationCode != ''">
                <bind name="locationCodePattern" value="'%' + locationCode + '%'" />
                AND locationCode like #{locationCodePattern}
            </if>
            <if test="materialCode != null and materialCode != ''">
                <bind name="materialCodePattern" value="'%' + materialCode + '%'" />
                AND materialCode like #{materialCodePattern}
            </if>
            <if test="qty != null ">
                AND qty = #{qty}
            </if>
            <if test="taskQty != null ">
                AND taskQty = #{taskQty}
            </if>
            <if test="deleted != null ">
                AND deleted = #{deleted}
            </if>
        </where>
        GROUP BY materialCode
    </select>
    <select id="getUncompleteReceiptContainer" resultType="java.lang.Integer">
        SELECT count(*) from receipt_container_header WHERE locationCode = #{locationCode} and `status`&lt;40 and warehouseId = #{warehouseId}
    </select>
    <select id="getUncompleteShipmentContainer" resultType="java.lang.Integer">
        SELECT count(*) from shipment_container_header t join location b ON t.warehouseId = b.warehouseId and t.shipmentContainerCode = b.containerCode
        WHERE b.`code` = #{locationCode}  AND t.`status`&lt;20 and t.warehouseId = #{warehouseId}
    </select>
    <select id="searchInventoryByLike" resultType="com.huaheng.pc.inventory.inventory.domain.InventorySearch">
        SELECT  inv.*,ma.specification as 'materialSpec',ma.name as 'materialName', rh.supplierCode
        FROM inventory inv
        INNER JOIN material ma ON inv.materialCode=ma.`code`
        INNER JOIN receipt_header rh ON inv.receiptId=rh.id
        <where>
            <if test="id != null ">
                AND inv.id = #{id}
            </if>
            <if test="warehouseId != null ">
                AND inv.warehouseId = #{warehouseId}
            </if>
            <if test="warehouseCode != null and warehouseCode != ''">
                <bind name="warehouseCodePattern" value="'%' + warehouseCode + '%'" />
                AND inv.warehouseCode like #{warehouseCodePattern}
            </if>
            <if test="locationId != null ">
                AND inv.locationId = #{locationId}
            </if>
            <if test="locationCode != null and locationCode != ''">
                <bind name="locationCodePattern" value="'%' + locationCode + '%'" />
                AND inv.locationCode like #{locationCodePattern}
            </if>
            <if test="sourceCode != null and sourceCode != ''">
                <bind name="sourceCodePattern" value="'%' + sourceCode + '%'" />
                AND inv.sourceCode like #{sourceCodePattern}
            </if>
            <if test="sourceLine != null and sourceLine != ''">
                <bind name="sourceLinePattern" value="'%' + sourceLine + '%'" />
                AND inv.sourceLine like #{sourceLinePattern}
            </if>
            <if test="companyId != null ">
                AND inv.companyId = #{companyId}
            </if>
            <if test="companyCode != null and companyCode != ''">
                <bind name="companyCodePattern" value="'%' + companyCode + '%'" />
                AND inv.companyCode like #{companyCodePattern}
            </if>
            <if test="materialId != null ">
                AND inv.materialId = #{materialId}
            </if>
            <if test="materialCode != null and materialCode != ''">
                <bind name="materialCodePattern" value="'%' + materialCode + '%'" />
                AND inv.materialCode like #{materialCodePattern}
            </if>
            <if test="receiptId != null ">
                AND inv.receiptId = #{receiptId}
            </if>
            <if test="receiptCode != null and receiptCode != ''">
                <bind name="receiptCodePattern" value="'%' + receiptCode + '%'" />
                AND inv.receiptCode like #{receiptCodePattern}
            </if>
            <if test="receiptDetailId != null ">
                AND inv.receiptDetailId = #{receiptDetailId}
            </if>
            <if test="batch != null and batch != ''">
                <bind name="batchPattern" value="'%' + batch + '%'" />
                AND inv.batch like #{batchPattern}
            </if>
            <if test="lot != null and lot != ''">
                <bind name="lotPattern" value="'%' + lot + '%'" />
                AND inv.lot like #{lotPattern}
            </if>
            <if test="project != null and project != ''">
                <bind name="projectPattern" value="'%' + project + '%'" />
                AND inv.project like #{projectPattern}
            </if>
            <if test="params != null and params.manufactureDateBegin != null and params.manufactureDateBegin != ''">
                AND inv.manufactureDate &gt;= #{params.manufactureDateBegin}
            </if>
            <if test="params != null and params.manufactureDateEnd != null and params.manufactureDateEnd != ''">
                AND inv.manufactureDate &lt;= #{params.manufactureDateEnd}
            </if>
            <if test="params != null and params.expirationDateBegin != null and params.expirationDateBegin != ''">
                AND inv.expirationDate &gt;= #{params.expirationDateBegin}
            </if>
            <if test="params != null and params.expirationDateEnd != null and params.expirationDateEnd != ''">
                AND inv.expirationDate &lt;= #{params.expirationDateEnd}
            </if>
            <if test="status != null and status != ''">
                <bind name="statusPattern" value="'%' + status + '%'" />
                AND inv.status like #{statusPattern}
            </if>
            <if test="qty != null ">
                AND inv.qty = #{qty}
            </if>
            <if test="taskQty != null ">
                AND inv.taskQty = #{taskQty}
            </if>
            <if test="costPrice != null ">
                AND inv.costPrice = #{costPrice}
            </if>
            <if test="listPrice != null ">
                AND inv.listPrice = #{listPrice}
            </if>
            <if test="netPrice != null ">
                AND inv.netPrice = #{netPrice}
            </if>
            <if test="params != null and params.createdBegin != null and params.createdBegin != ''">
                AND inv.created &gt;= #{params.createdBegin}
            </if>
            <if test="params != null and params.createdEnd != null and params.createdEnd != ''">
                AND inv.created &lt;= #{params.createdEnd}
            </if>
            <if test="createdBy != null and createdBy != ''">
                <bind name="createdByPattern" value="'%' + createdBy + '%'" />
                AND inv.createdBy like #{createdByPattern}
            </if>
            <if test="params != null and params.lastUpdatedBegin != null and params.lastUpdatedBegin != ''">
                AND inv.lastUpdated &gt;= #{params.lastUpdatedBegin}
            </if>
            <if test="params != null and params.lastUpdatedEnd != null and params.lastUpdatedEnd != ''">
                AND inv.lastUpdated &lt;= #{params.lastUpdatedEnd}
            </if>
            <if test="lastUpdatedBy != null and lastUpdatedBy != ''">
                <bind name="lastUpdatedByPattern" value="'%' + lastUpdatedBy + '%'" />
                AND inv.lastUpdatedBy like #{lastUpdatedByPattern}
            </if>
            <if test="userDef1 != null and userDef1 != ''">
                <bind name="userDef1Pattern" value="'%' + userDef1 + '%'" />
                AND inv.userDef1 like #{userDef1Pattern}
            </if>
            <if test="userDef2 != null and userDef2 != ''">
                <bind name="userDef2Pattern" value="'%' + userDef2 + '%'" />
                AND inv.userDef2 like #{userDef2Pattern}
            </if>
            <if test="userDef3 != null and userDef3 != ''">
                <bind name="userDef3Pattern" value="'%' + userDef3 + '%'" />
                AND inv.userDef3 like #{userDef3Pattern}
            </if>
            <if test="deleted != null ">
                AND inv.deleted = #{deleted}
            </if>
            <if test="materialName != null and materialName != ''">
                <bind name="materialNamePattern" value="'%' + materialName + '%'" />
                AND ma.name like #{materialNamePattern}
            </if>
            <if test="materialSpec != null and materialSpec != ''">
                <bind name="materialSpecPattern" value="'%' + materialSpec + '%'" />
                AND ma.specification like #{materialSpecPattern}
            </if>
            <if test="supplierCode != null and supplierCode != ''">
                <bind name="supplierCodePattern" value="'%' + supplierCode + '%'" />
                AND rh.supplierCode like #{supplierCodePattern}
            </if>

        </where>
    </select>
</mapper>