自动化立体仓库 - WMS系统
zwl
2 天以前 ad4fb70a79a07d494de4b3183ff6cf00d94aab08
数字孪生库区完善
2个文件已添加
2个文件已修改
242 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/PendingPakoutOrderTaskScheduler.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ViewDigitalTwinMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/sql/20260428_out_order_pending_task_fields.sql 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -49,6 +49,13 @@
     */
    public DtOverviewVo overview(String areaId) {
        if (areaId != null) {
            areaId = areaId.trim();
            if (areaId.isEmpty()) {
                areaId = null;
            }
        }
        List<Double> dbOverview = digitalTwinMapper.overview(areaId);
        if (dbOverview != null && !dbOverview.isEmpty()){
            int total = (int)Math.round(dbOverview.get(0));
src/main/java/com/zy/asrs/task/PendingPakoutOrderTaskScheduler.java
New file
@@ -0,0 +1,26 @@
package com.zy.asrs.task;
import com.core.common.R;
import com.zy.asrs.service.OpenService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class PendingPakoutOrderTaskScheduler {
    @Autowired
    private OpenService openService;
    @Scheduled(cron = "0/10 * * * * ? ")
    private synchronized void execute() {
        try {
            R result = openService.generatePendingPakoutOrderTasks();
            log.debug("待生成出库订单任务扫描完成: {}", result);
        } catch (Exception e) {
            log.error("待生成出库订单任务扫描失败", e);
        }
    }
}
src/main/resources/mapper/ViewDigitalTwinMapper.xml
@@ -12,30 +12,36 @@
    <!--总览:总库位、已用库位、今日库存、今日出库、今日入库-->
    <select id="overview" resultType="Double">
        SELECT COUNT(*) FROM asr_loc_mast WHERE loc_sts != 'Z'
<!--            <if test="areaId != null">-->
<!--                and area_id = #{areaId}-->
<!--            </if>-->
        SELECT COUNT(*)
        FROM asr_loc_mast
        WHERE loc_sts != 'Z'
        <if test="areaId != null and areaId != ''">
            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">-->
<!--            and area_id = #{areaId}-->
<!--        </if>-->
        SELECT COUNT(*)
        FROM asr_loc_mast
        WHERE loc_sts IN ('F', 'P', 'Q', 'R', 'S', 'X')
        <if test="areaId != null and areaId != ''">
            AND area_id = #{areaId}
        </if>
        UNION ALL
        SELECT ISNULL(SUM(anfme), 0) FROM asr_loc_detl
<!--        <if test="areaId != null">-->
<!--            WHERE area_id = #{areaId}-->
<!--        </if>-->
        SELECT ISNULL(SUM(d.anfme), 0)
        FROM asr_loc_detl d
        <if test="areaId != null and areaId != ''">
            INNER JOIN asr_loc_mast m ON m.loc_no = d.loc_no
            WHERE m.area_id = #{areaId}
        </if>
        UNION ALL
        SELECT ISNULL(SUM(anfme), 0) FROM asr_wrkin_view WHERE CONVERT(VARCHAR, io_time, 23) = CONVERT(VARCHAR, GETDATE(), 23)
<!--        <if test="areaId != null">-->
<!--            and area_id = #{areaId}-->
<!--        </if>-->
        <if test="areaId != null and areaId != ''">
            AND area_id = #{areaId}
        </if>
        UNION ALL
        SELECT ISNULL(SUM(anfme), 0) FROM asr_wrkout_view WHERE CONVERT(VARCHAR, io_time, 23) = CONVERT(VARCHAR, GETDATE(), 23)
<!--        <if test="areaId != null">-->
<!--            and area_id = #{areaId}-->
<!--        </if>-->
        <if test="areaId != null and areaId != ''">
            AND area_id = #{areaId}
        </if>
    </select>
    <select id="recentOrder" resultType="com.zy.asrs.entity.digitaltwin.DtOrderVo">
src/main/resources/sql/20260428_out_order_pending_task_fields.sql
New file
@@ -0,0 +1,167 @@
IF COL_LENGTH('dbo.man_order_detl_pakout', 'batch_seq') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [batch_seq] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'seq') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [seq] INT NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'pallet_id') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [pallet_id] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'station_id') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [station_id] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'entry_wms_code') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [entry_wms_code] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'container_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [container_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'out_door_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [out_door_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'plate_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [plate_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'train_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [train_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'freq_type') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [freq_type] INT NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'cube_number') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [cube_number] DECIMAL(18, 4) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_pakout', 'teu') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_pakout]
        ADD [teu] INT NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'batch_seq') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [batch_seq] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'seq') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [seq] INT NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'pallet_id') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [pallet_id] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'station_id') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [station_id] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'entry_wms_code') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [entry_wms_code] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'container_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [container_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'out_door_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [out_door_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'plate_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [plate_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'train_no') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [train_no] NVARCHAR(100) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'freq_type') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [freq_type] INT NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'cube_number') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [cube_number] DECIMAL(18, 4) NULL;
END
GO
IF COL_LENGTH('dbo.man_order_detl_log_pakout', 'teu') IS NULL
BEGIN
    ALTER TABLE [dbo].[man_order_detl_log_pakout]
        ADD [teu] INT NULL;
END
GO