#
luxiaotao1123
2021-03-04 16fea9a478c5c0f0c38a84b476083c8473f90eb8
src/main/resources/mapper/LocDetlMapper.xml
@@ -31,4 +31,66 @@
    </resultMap>
    <select id="listByPage" resultMap="BaseResultMap">
        SELECT
        mld.*
        FROM man_loc_detl mld
        LEFT JOIN man_node mn ON mld.node_id = mn.id
        WHERE 1=1
        AND (CHARINDEX(#{nodeId}, ','+mn.path+',') > 0 OR mn.id = #{nodeId})
        <if test="locNo != null and locNo != ''">
            and mld.loc_no like concat('%',#{locNo},'%')
        </if>
        <if test="matnr != null and matnr != ''">
            and mld.matnr like concat('%',#{matnr},'%')
        </if>
        <if test="maktx != null and maktx != ''">
            and mld.maktx like concat('%',#{maktx},'%')
        </if>
        ORDER BY mld.create_time DESC
    </select>
    <select id="selectByLocNoAndMatnr" resultMap="BaseResultMap">
        select top 1 *
        from man_loc_detl
        where 1=1
        and anfme > 0
        <if test="nodeId != null and nodeId != ''">
            and node_id = #{nodeId}
        </if>
        <if test="matnr != null and matnr != ''">
            and matnr = #{matnr}
        </if>
        order by create_time asc
    </select>
    <select id="selectCountByMatnr" resultType="java.lang.Double">
       select sum(anfme) as count from man_loc_detl where 1=1 and matnr = #{matnr}
    </select>
    <update id="reduceStock">
        update man_loc_detl
        set anfme = anfme - #{anfme}
        where 1=1
        and node_id = #{nodeId}
        and matnr = #{matnr}
    </update>
    <select id="selectByPrior" resultMap="BaseResultMap">
        select
        mld.*
        from man_loc_detl mld
        left join man_prior mp on mld.node_id = mp.node_id
        where 1=1
        <if test="nodeId != null and nodeId != ''">
            and mld.node_id = #{nodeId}
        </if>
        <if test="matnr != null and matnr != ''">
            and mld.matnr = #{matnr}
        </if>
        and mld.anfme > 0
        and mp.status = 1
        order by mp.prio desc, mld.create_time asc
    </select>
</mapper>