自动化立体仓库 - WMS系统
#
lsh
2024-04-15 258fb5fa6e99490a9e667b4e7d49f48c29ce2c9a
src/main/resources/mapper/WrkDetlMapper.xml
@@ -45,10 +45,96 @@
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="roll_up" property="rollUp" />
    </resultMap>
    <sql id="batchSeq">
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </sql>
    <select id="selectByWrkNo" resultMap="BaseResultMap">
        select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo}
    </select>
    <select id="selectByWrkNoUnstacking" resultMap="BaseResultMap">
        select * from asr_wrk_detl where 1=1 and inspect=0 and wrk_no = #{wrkNo}
    </select>
    <delete id="deleteItem">
        delete from asr_wrk_detl
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </delete>
    <update id="updateAnfme">
        update asr_wrk_detl
        set anfme = #{anfme}
        , modi_time = getdate()
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
        select * from asr_wrk_detl where order_no = #{orderNo}
        union
        select * from asr_wrk_detl_log where order_no = #{orderNo}
    </select>
    <update id="updateInspect">
        update asr_wrk_detl
        set inspect = 1
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <select id="selectPakoutQuery" resultMap="BaseResultMap">
        select
        awd.*
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no
        where 1=1
        and awm.wrk_sts = 14
        and (awd.inspect is null or awd.inspect = 0)
        and awm.sta_no = #{staNo}
        and awd.matnr + '-' + awd.batch = #{matnr}
    </select>
    <select id="selectAndLogByOrderNoGroupByMatnrOfSum" resultMap="BaseResultMap">
        select awd.wrk_no, awd.io_time, awd.matnr,awd.zpallet,awd.specs,awd.maktx,awd.batch,awd.source, sum(awd.anfme) as anfme
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
        where order_no = #{orderNo}
        group by awd.wrk_no, awd.io_time, awd.matnr ,awd.zpallet,awd.specs,awd.maktx,awd.batch,awd.source
        union
        select distinct awdl.wrk_no, awdl.io_time, awdl.matnr,awdl.zpallet,awdl.specs,awdl.maktx,awdl.batch,awdl.source, sum(awdl.anfme) as anfme
        from asr_wrk_detl_log awdl
        left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
        where awdl.order_no = #{orderNo}
        and (awml.manu_type is null or awml.manu_type != '手动取消')
        and awml.io_type != 103
        group by awdl.wrk_no, awdl.io_time, awdl.matnr ,awdl.zpallet,awdl.specs,awdl.maktx,awdl.batch,awdl.source
    </select>
    <update id="updateIoTimeWms">
        update asr_wrk_detl
        set io_time = #{ioTime}
        where 1=1
        and wrk_no = #{workNo}
    </update>
</mapper>