|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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("任务号不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
| New file | 
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param); | 
|---|
|  |  |  | void taskArmWorkOrderStatus(OrderArmEndParam param); | 
|---|
|  |  |  | boolean TaskArmWorkOrderSign(OrderArmEndParam param); | 
|---|
|  |  |  | boolean TaskAgvReport(TaskAgvReportParam param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | private BasArmMastService basArmMastService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasArmMastSignService basArmMastSignService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BasAgvMastService basAgvMastService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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: | 
|---|
|  |  |  | 
|---|
|  |  |  | 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} | 
|---|
|  |  |  | ]], | 
|---|
|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </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> | 
|---|