自动化立体仓库 - WMS系统
pang.jiabao
2024-08-14 0dba85880e21d1a42fd2667590b5168c54bdc7e9
src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,7 @@
        <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">
@@ -56,6 +57,38 @@
            </otherwise>
        </choose>
    </sql>
    <insert id="batchDetls">
        INSERT INTO
        asr_loc_detl(loc_no,zpallet,barcode,anfme,matnr,maktx,unit,specs,model,color,manu,sku,brand
        ,origin,item_num,manu_date,weight,volume,length,modi_time,modi_user,appe_time,appe_user)
        VALUES
        <foreach collection="locDetls" item="item" index="index" separator=",">
            (
            #{item.locNo},
            #{item.zpallet},
            #{item.barcode},
            #{item.anfme},
            #{item.matnr},
            #{item.maktx},
            #{item.unit},
            #{item.specs},
            #{item.model},
            #{item.color},
            #{item.manu},
            #{item.sku},
            #{item.brand},
            #{item.origin},
            #{item.itemNum},
            #{item.manuDate},
            #{item.weight},
            #{item.volume},
            #{item.length},
            #{item.modiTime},
            #{item.modiUser},
            #{item.appeTime},
            #{item.appeUser}
            )</foreach>
    </insert>
    <select id="selectItem" resultMap="BaseResultMap">
        select top 1 *
@@ -83,6 +116,23 @@
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <delete id="deleteItem2">
        delete from asr_loc_detl
        where 1=1
        and loc_no = #{locNo}
        and model = #{model}
        <include refid="batchSeq"></include>
    </delete>
    <update id="updateAnfme2">
        update asr_loc_detl
        set anfme = #{anfme}
        , modi_time = getdate()
        where 1=1
        and loc_no = #{locNo}
        and model = #{model}
        <include refid="batchSeq"></include>
    </update>
    <sql id="stockOutCondition">
        <if test="loc_no!=null and loc_no!='' ">
@@ -105,6 +155,9 @@
        </if>
        <if test="batch!=null and batch!='' ">
            and a.batch like '%' + #{batch} + '%'
        </if>
        <if test="specs!=null and specs!='' ">
            and a.specs like '%' + #{specs} + '%'
        </if>
    </sql>
@@ -138,12 +191,11 @@
            select
            ROW_NUMBER() over (order by sum(a.anfme) desc) as row
            , a.matnr
            , a.batch
            , sum(a.anfme) as anfme
            from asr_loc_detl a
            where 1=1
            <include refid="stockOutCondition"></include>
            group by a.matnr, a.batch
            group by a.matnr
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
@@ -323,5 +375,15 @@
        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>
</mapper>