自动化立体仓库 - WMS系统
#
zjj
2024-11-03 1a24bc85c7dbd80a4460ace64dd88846ff1af654
src/main/resources/mapper/LocDetlMapper.xml
@@ -326,5 +326,80 @@
        where loc_no=#{locNo}
    </select>
    <update id="updateMatTurn">
        UPDATE a
        SET a.matnr=b.matnr,
            a.specs=b.specs,
            a.maktx=b.maktx,
            a.unit=b.unit
        FROM asr_loc_detl a
        INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr};
    </update>
    <select id="selectSameDetlTodayBatch" resultType="java.lang.String">
        SELECT ld.loc_no FROM asr_loc_detl ld
        LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no
        WHERE 1 = 1
        AND ld.matnr = #{matnr}
        AND lm.row1 >= #{start}
        AND lm.row1 &lt;= #{end}
        AND lm.loc_sts = 'F'
        AND DateDiff(dd, ld.appe_time, getdate()) = 0
        <choose>
            <when test="batch != null and batch != ''">
                and ld.batch = #{batch}
            </when>
            <otherwise>
                and (ld.batch IS NULL OR ld.batch = '')
            </otherwise>
        </choose>
        ORDER BY ld.appe_time ASC
    </select>
    <select id="selectLocDetlUnilateralMoveShuttleMapY" resultType="java.util.Map">
        select ld.matnr,ld.batch,ld.brand,count(*) count from asr_loc_mast lm
        left join asr_loc_detl ld
        on lm.loc_no = ld.loc_no
        where lm.row1 in (1)
        and loc_sts = 'F'
        and loc_type3 = 0
        group by ld.matnr,ld.batch,ld.brand
    </select>
    <select id="selectLocDetlUnilateralMoveShuttleMapN" resultType="java.util.Map">
        select ld.matnr,ld.batch,ld.brand,count(*) count from asr_loc_mast lm
        left join asr_loc_detl ld
        on lm.loc_no = ld.loc_no
        where lm.row1 in (31,32)
        and loc_sts = 'F'
        and loc_type3 = 0
        group by ld.matnr,ld.batch,ld.brand
    </select>
    <select id="selectLocDetlUnilateralMoveShuttleY" resultMap="BaseResultMap">
        select ld.* from asr_loc_mast lm
        left join asr_loc_detl ld
        on lm.loc_no = ld.loc_no
        where loc_sts = 'F'
        and ld.matnr = #{matnr}
        and ld.batch = #{batch}
        and ld.brand = #{grade}
        and lm.loc_type3 = 0
        and lm.row1 in (1)
        order by row1
    </select>
    <select id="selectLocDetlUnilateralMoveShuttleN" resultMap="BaseResultMap">
        select ld.* from asr_loc_mast lm
        left join asr_loc_detl ld
        on lm.loc_no = ld.loc_no
        where loc_sts = 'F'
        and ld.matnr = #{matnr}
        and ld.batch = #{batch}
        and ld.brand = #{grade}
        and lm.loc_type3 = 0
        and lm.row1 in (31,32)
        order by row1
    </select>
</mapper>