自动化立体仓库 - WMS系统
zwl
6 天以前 b6681bc12173c1179d0185805ba461211472ac18
src/main/resources/mapper/ViewDigitalTwinMapper.xml
@@ -3,12 +3,19 @@
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.DigitalTwinMapper">
    <resultMap id="dtOrderMap" type="com.zy.asrs.entity.digitaltwin.DtOrderVo">
        <constructor>
            <arg column="orderDate" javaType="java.util.Date"/>
            <arg column="orderNum" javaType="java.lang.Integer"/>
        </constructor>
    </resultMap>
    <!--总览:总库位、已用库位、今日库存、今日出库、今日入库-->
    <select id="overview" resultType="Double">
        SELECT COUNT(*) FROM asr_loc_mast WHERE loc_sts != 'Z'
            <if test="areaId != null">
                and area_id = #{areaId}
            </if>
        <if test="areaId != null">
            and area_id = #{areaId}
        </if>
        UNION ALL
        SELECT COUNT(*) FROM asr_loc_mast WHERE loc_sts = 'F' or loc_sts = 'P' or loc_sts = 'Q' or loc_sts = 'R' or loc_sts = 'S' or loc_sts = 'X'
        <if test="areaId != null">
@@ -32,10 +39,26 @@
    </select>
    <select id="recentOrder" resultType="com.zy.asrs.entity.digitaltwin.DtOrderVo">
        SELECT CONVERT(VARCHAR, order_time, 23) as orderDate, COUNT(*) AS orderNum
        FROM man_order
        WHERE order_time BETWEEN #{startTime} AND #{endTime}
        GROUP BY CONVERT(VARCHAR, order_time, 23)
        SELECT
            FORMAT(orderDate, 'yyyyMMdd') as orderDate,
            COUNT(*) as orderNum
        FROM (
                 SELECT
                     CAST(order_time AS DATE) as orderDate
                 FROM man_order_pakin
                 WHERE order_time BETWEEN #{startTime} AND #{endTime}
                 UNION ALL
                 SELECT
                     CAST(order_time AS DATE) as orderDate
                 FROM man_order_pakout
                 WHERE order_time BETWEEN #{startTime} AND #{endTime}
             ) combined
        GROUP BY orderDate
        ORDER BY orderDate
    </select>
    <select id="recentInBound" resultType="com.zy.asrs.entity.digitaltwin.DtInAndOutBoundVo">
@@ -62,17 +85,17 @@
        select
        *
        from (
            select
                ROW_NUMBER() OVER(Order by t.io_time desc) as row , *
            from (
                SELECT area_id AS belongAreaId, area_name AS belongAreaName, matnr AS matId, maktx AS matName,
                       loc_no AS lokId, '' AS lokName,
                       DATEDIFF(MINUTE, appe_time, GETDATE()) AS detainTime, appe_time AS inBoundTime
                    FROM asr_loc_detl WHERE appe_time &lt; #{startTime}
                <if test="areaId != null">
                    and area_id = #{areaId}
                </if>
                ) t
        select
        ROW_NUMBER() OVER(Order by t.io_time desc) as row , *
        from (
        SELECT area_id AS belongAreaId, area_name AS belongAreaName, matnr AS matId, maktx AS matName,
        loc_no AS lokId, '' AS lokName,
        DATEDIFF(MINUTE, appe_time, GETDATE()) AS detainTime, appe_time AS inBoundTime
        FROM asr_loc_detl WHERE appe_time &lt; #{startTime}
        <if test="areaId != null">
            and area_id = #{areaId}
        </if>
        ) t
        ) a where 1=1 and a.row between ((#{pageIndex}-1)*#{pageSize}+1) and (#{pageIndex}*#{pageSize})
    </select>