自动化立体仓库 - WMS系统
野心家
2025-05-05 7ea6501464a8df3cad55c21e04b606e88d7b8580
呼叫AGV搬运
2个文件已修改
117 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -12,20 +13,30 @@
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
import com.zy.asrs.entity.param.RCSParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.WorkMastScheduler;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
import com.zy.common.model.WrkDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
/**
 * 移动端接口控制器
@@ -34,6 +45,7 @@
@RestController
@RequestMapping("mobile")
public class MobileController extends BaseController  {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    @Autowired
    private MobileService mobileService;
@@ -61,6 +73,12 @@
    private CommonService commonService;
    @Autowired
    private StaDescService staDescService;
    @Autowired
    private ApiLogService apiLogService;
    @Value("${rcs.address.url}")
    private String url;
    @Value("${rcs.address.attrcs}")
    private String attrcs;
    // 商品上架
@@ -323,6 +341,99 @@
        return R.ok();
    }
    /**
     * agv扫描源站点显示目标站点
     * @param locNo
     * @return
     */
    @RequestMapping("/AGVSite")
    public R AGVSite(@RequestParam(required = false) String locNo){
        HashMap<Integer,String> map=new HashMap<>();
        map.put(100,"100-入库口");
        map.put(1000,"1000-补空板口");
        map.put(2001,"2001-出库口1");
        map.put(2002,"2002-出库口2");
        map.put(3001,"3001-作业口1");
        map.put(3002,"3002-作业口2");
        map.remove(Integer.parseInt(locNo));
        return R.ok(map);
    }
    /**
     * 执行移库任务
     * @param sourceStaNo
     * @param staNo
     * @return
     */
    @RequestMapping("/AGVMove")
    public R AGVMove(@RequestParam(required = false) String sourceStaNo
    ,@RequestParam(required = false) String staNo){
        RCSParam rcsParam = new RCSParam();
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        String formattedDate = now.format(formatter); // 格式化日期时间
        //网络流水号
        rcsParam.setReqId(now.toString());
        //应用标识
        rcsParam.setClientId("WMS");
        //通知时间
        rcsParam.setReqTime(formattedDate);
        RCSParam.DataBody dataBody=new RCSParam.DataBody();
        //任务号
        dataBody.setId(formattedDate);
        List<RCSParam.TaskBody> taskBodyList=new ArrayList<>();
        RCSParam.TaskBody taskBody=new RCSParam.TaskBody();
        //取货类型
        taskBody.setType("load");
        taskBody.setStation(sourceStaNo);
        taskBodyList.add(taskBody);
        RCSParam.TaskBody taskBody1=new RCSParam.TaskBody();
        //放货类型
        taskBody1.setType("unload");
        taskBody1.setStation(staNo);
        taskBodyList.add(taskBody1);
        dataBody.setTasks(taskBodyList);
        rcsParam.setData(dataBody);
        String response ="";
        Boolean bool =false;
        try {
            log.info("wms派发搬运任务给AGV搬运={}", rcsParam);
            response = new HttpHandler.Builder()
                    // .setHeaders(headParam)
                    .setUri(url)
                    .setPath(attrcs)
                    .setJson(JSON.toJSONString(rcsParam))
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response);
            if(jsonObject.getBoolean("IsSuccess")){
                bool = true;
            }
        } catch (Exception e) {
            log.error("wms派发搬运任务给AGV搬运失败返回值={}", response);
        } finally {
            apiLogService.save("wms派发搬运任务给AGV搬运"
                    , url + attrcs
                    , null
                    , "127.0.0.1"
                    , JSON.toJSONString(rcsParam)
                    , response
                    , bool
            );
        }
        if(bool){
            return R.ok();
        }else {
            return R.error("下发任务失败");
        }
    }
    // 根据库位码和商品码搜索商品
    @RequestMapping("/mat/find/auth")
    public R find(@RequestParam(required = false) String locNo
src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java
@@ -68,7 +68,7 @@
        Boolean bool =false;
        try {
            log.info("wms派发搬运任务给RCS出库={}", rcsParam);
            log.info("wms派发搬运任务给AGV搬运={}", rcsParam);
            response = new HttpHandler.Builder()
                    // .setHeaders(headParam)
                    .setUri(url)
@@ -83,9 +83,9 @@
                bool = true;
            }
        } catch (Exception e) {
            log.error("wcs派发任务给RCS出库失败{},返回值={}", wrkMast, response);
            log.error("wms派发搬运任务给AGV搬运失败{},返回值={}", wrkMast, response);
        } finally {
            apiLogService.save("WMS派发搬运任务给RCS"
            apiLogService.save("wms派发搬运任务给AGV搬运"
                    , url + attrcs
                    , null
                    , "127.0.0.1"