自动化立体仓库 - WMS系统
*
lsh
1 天以前 1937b401e9a0b2d3863cea2e9fd87405195ec738
*
7个文件已修改
1个文件已添加
223 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BasAgvMastController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskAgvReportParam.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basAgvMast/basAgvMast.js 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basAgvMast/basAgvMast.html 124 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BasAgvMastController.java
@@ -1,6 +1,5 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -43,6 +42,7 @@
        convert(param, wrapper);
        allLike(BasAgvMast.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        wrapper.orderBy("modi_time",false);
        return R.ok(basAgvMastService.selectPage(new Page<>(curr, limit), wrapper));
    }
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -400,4 +400,30 @@
        return R.ok().add(taskArmWorkOrderSign);
    }
    /**
     * 分拣线上报接收
     */
    @PostMapping("/agv/task/v1")
    @AppAuth(memo = "AGV上报接收")
    public synchronized R TaskAgvReport(@RequestHeader(required = false) String appkey,
                                        @RequestBody TaskAgvReportParam param,
                                        HttpServletRequest request) {
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        if (Cools.isEmpty(param.getTaskNo())) {
            return R.error("WMS任务号[taskNo]不能为空");
        }
//        if (Cools.isEmpty(param.getTimestamp())) {
//            return R.error("RGV任务号[timestamp]不能为空");
//        }
        boolean taskAgvReport = openService.TaskAgvReport(param);
        if (taskAgvReport){
            return R.ok();
        }
        return R.error("任务号不存在");
    }
}
src/main/java/com/zy/asrs/entity/param/TaskAgvReportParam.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/*
 *  Created by Monkey D. Luffy on 2025.09.09
 * */
@Data
public class TaskAgvReportParam {
    //WMS任务号
    private int taskNo;
    //RGV任务号
    private Long timestamp;
    //
    private int status;
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -49,4 +49,5 @@
    void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param);
    void taskArmWorkOrderStatus(OrderArmEndParam param);
    boolean TaskArmWorkOrderSign(OrderArmEndParam param);
    boolean TaskAgvReport(TaskAgvReportParam param);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -58,6 +58,8 @@
    private BasArmMastService basArmMastService;
    @Autowired
    private BasArmMastSignService basArmMastSignService;
    @Autowired
    private BasAgvMastService basAgvMastService;
    @Override
    @Transactional
@@ -743,4 +745,17 @@
        return true;
    }
    @Override
    @Transactional
    public boolean TaskAgvReport(TaskAgvReportParam param) {
        BasAgvMast basAgvMast = basAgvMastService.selectOne(new EntityWrapper<BasAgvMast>().eq("task_no", param.getTaskNo()));
        if (Cools.isEmpty(basAgvMast)){
            return false;
        }
        basAgvMast.setStatus(2);
        basAgvMastService.updateById(basAgvMast);
        return true;
    }
}
src/main/resources/application.yml
@@ -11,8 +11,8 @@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://127.0.0.1:49847;databasename=jshdasrs
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
    username: sa
    password: sa@123
  mvc:
src/main/webapp/static/js/basAgvMast/basAgvMast.js
@@ -21,22 +21,25 @@
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'id', align: 'center',title: 'ID'}
            ,{field: 'taskNo', align: 'center',title: 'WMS任务号'}
            ,{field: 'timestamp', align: 'center',title: 'RGV任务号'}
            ,{field: 'sourceStaNo', align: 'center',title: '源站点'}
            ,{field: 'staNo', align: 'center',title: '目的站点'}
            ,{field: 'sourceLocNo', align: 'center',title: '源库位'}
            ,{field: 'locNo', align: 'center',title: '目的库位'}
            ,{field: 'priority', align: 'center',title: '优先级'}
            ,{field: 'floorNo', align: 'center',title: '楼层'}
            ,{field: 'status$', align: 'center',title: '状态'}
            ,{field: 'errorTime$', align: 'center',title: '异常时间'}
            ,{field: 'errorMemo', align: 'center',title: '异常信息'}
            ,{field: 'appeTime$', align: 'center',title: '添加时间'}
            ,{field: 'modiTime$', align: 'center',title: '修改时间'}
            ,{field: 'modiUser$', align: 'center',title: '修改人员'}
            // {type: 'checkbox'}
            // ,
            {field: 'id', align: 'center',title: 'ID',hide: true}
            ,{field: 'taskNo', align: 'center',title: 'WMS任务号',hide: false}
            ,{field: 'timestamp', align: 'center',title: 'RGV任务号',hide: false}
            ,{field: 'ioType', align: 'center',title: '任务类型',hide: false}
            ,{field: 'sourceStaNo', align: 'center',title: '源站点',hide: false}
            ,{field: 'staNo', align: 'center',title: '目的站点',hide: false}
            ,{field: 'sourceLocNo', align: 'center',title: '源库位',hide: false}
            ,{field: 'locNo', align: 'center',title: '目的库位',hide: false}
            ,{field: 'priority', align: 'center',title: '优先级',hide: true}
            ,{field: 'floorNo', align: 'center',title: '楼层',hide: false}
            ,{field: 'status$', align: 'center',title: '状态',hide: false}
            ,{field: 'appeTime$', align: 'center',title: '添加时间',hide: false}
            ,{field: 'errorTime$', align: 'center',title: '异常时间',hide: true}
            ,{field: 'errorMemo', align: 'center',title: '异常信息',hide: false}
            ,{field: 'modiTime$', align: 'center',title: '修改时间',hide: true}
            ,{field: 'modiUser$', align: 'center',title: '修改人员',hide: true}
            ,{field: 'devpId', align: 'center',title: '输送PLCId',hide: true}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
        ]],
src/main/webapp/views/basAgvMast/basAgvMast.html
@@ -72,18 +72,18 @@
        <input name="id" type="hidden">
        <div class="layui-row">
            <div class="layui-col-md12">
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">WMS任务号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="taskNo" placeholder="请输入WMS任务号" lay-vertype="tips" lay-verify="required">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">RGV任务号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="timestamp" placeholder="请输入RGV任务号">
                    </div>
                </div>
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label layui-form-required">WMS任务号: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="taskNo" placeholder="请输入WMS任务号" lay-vertype="tips" lay-verify="required">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">RGV任务号: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="timestamp" placeholder="请输入RGV任务号">-->
<!--                    </div>-->
<!--                </div>-->
                <div class="layui-form-item">
                    <label class="layui-form-label">源站点: </label>
                    <div class="layui-input-block">
@@ -108,16 +108,28 @@
                        <input class="layui-input" name="locNo" placeholder="请输入目的库位">
                    </div>
                </div>
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">优先级: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="priority" placeholder="请输入优先级">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">楼层: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="floorNo" placeholder="请输入楼层">-->
<!--                    </div>-->
<!--                </div>-->
                <div class="layui-form-item">
                    <label class="layui-form-label">优先级: </label>
                    <label class="layui-form-label">任务类型: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="priority" placeholder="请输入优先级">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">楼层: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="floorNo" placeholder="请输入楼层">
                        <select name="status">
                            <option value="">请选择</option>
                            <option value="0">AGV库位==》输送站点</option>
                            <option value="1">AGV库位==》AGV库位</option>
                            <option value="2">输送站点==》AGV库位</option>
                            <option value="3">输送站点==》输送站点</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
@@ -131,42 +143,42 @@
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">异常时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="errorTime" id="errorTime$" placeholder="请输入异常时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">异常信息: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="errorMemo" placeholder="请输入异常信息">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">添加时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="请输入添加时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="请输入修改时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改人员: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="modiUser" placeholder="请输入修改人员" style="display: none">
                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入修改人员" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">异常时间: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="errorTime" id="errorTime$" placeholder="请输入异常时间">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">异常信息: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="errorMemo" placeholder="请输入异常信息">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">添加时间: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="请输入添加时间">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">修改时间: </label>-->
<!--                    <div class="layui-input-block">-->
<!--                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="请输入修改时间">-->
<!--                    </div>-->
<!--                </div>-->
<!--                <div class="layui-form-item">-->
<!--                    <label class="layui-form-label">修改人员: </label>-->
<!--                    <div class="layui-input-block cool-auto-complete">-->
<!--                        <input class="layui-input" name="modiUser" placeholder="请输入修改人员" style="display: none">-->
<!--                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入修改人员" onfocus=this.blur()>-->
<!--                        <div class="cool-auto-complete-window">-->
<!--                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                            </select>-->
<!--                        </div>-->
<!--                    </div>-->
<!--                </div>-->
             </div>
        </div>