自动化立体仓库 - WMS系统
#
zjj
2024-10-31 4262bd3905d0f9982dfa265bd443c82a1fff0a00
#
1个文件已修改
1个文件已添加
111 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/ForwardAGVTaskParam.java 38 ●●●●● 补丁 | 查看 | 原始文档 | 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;
@@ -9,20 +10,21 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.GDYKConfirmGoodsParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.WrkDto;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
@@ -32,6 +34,7 @@
 */
@RestController
@RequestMapping("mobile")
@Slf4j
public class MobileController extends BaseController  {
    @Autowired
@@ -61,6 +64,68 @@
    @Autowired
    private CommonService commonService;
    @PostMapping("/agv/start")
    @ManagerAuth
    public R pdaAgvStart(@RequestBody Map<String,Object> map){
        HashMap<String, String> map1 = new HashMap<>();
        map1.put("agv0001","sta0001");
        String sta = map.get("sta").toString();
        ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
        getAgvTaskParam(forwardAGVTaskParam,sta,map1.get(sta));
        String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask");
        if ("SUCCESS".equals(request)) {
            return R.ok();
        }
        return R.error();
    }
    private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam,String agv,String sta){
        List<ForwardAGVTaskParam.PositionCodePaths> agvTaskParamList = Arrays.asList(
                //起始位
                new ForwardAGVTaskParam.PositionCodePaths(agv,"05"),
                //目标位
                new ForwardAGVTaskParam.PositionCodePaths(sta,"05")
        );
        Date date = new Date();
        DecimalFormat df = new DecimalFormat("0000");
        String wrkNo = "Crn"+date.getTime()/1000;
        agvTaskCreateParam.setReqCode(wrkNo);
        agvTaskCreateParam.setReqTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        agvTaskCreateParam.setTaskTyp("GT1");
        agvTaskCreateParam.setCtnrCode("00000000");
        agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
        agvTaskCreateParam.setCtnrTyp("1");
        agvTaskCreateParam.setTaskCode(wrkNo);
    }
    private String forwardAGVHttpRequest(Object requestParam, String url, String path){
        String response = "";
        String success = "error";
        try {
            response = new HttpHandler.Builder()
                    .setUri(url)
//                    .setHttps(true)
                    .setPath(path)
                    .setJson(JSONObject.toJSONString(requestParam))
                    .build()
                    .doPost();
            JSONObject jsonObject = JSON.parseObject(response);
            String message = jsonObject.get("code").toString();
            if(("0").equals(message) || ("请求编号已存在").contains(message)){
                success = "SUCCESS";
            }else {
                success = message;
            }
            log.info("转发agv任务:请求体:"+JSONObject.toJSONString(requestParam)+",返回值:"+jsonObject);
        }catch (Exception e){
        }
        return success;
    }
    @RequestMapping("/select/workDetl/barcode")
    @ManagerAuth
    public R selectWorkDetlBarcode(@RequestBody Map<String,Object> map) {
src/main/java/com/zy/asrs/entity/param/ForwardAGVTaskParam.java
New file
@@ -0,0 +1,38 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
@Data
public class ForwardAGVTaskParam {
    private String reqCode;
    private String reqTime;
    private String taskTyp;
    private String ctnrCode;
    private List<PositionCodePaths> positionCodePath;
    private String clientCode = "";
    private String tokenCode = "";
    private String ctnrTyp = "";
    private String wbCode = "";
    private String podCode = "";
    private String podDir = "";
    private String podTyp = "";
    private String materialLot = "";
    private String priority = "";
    private String taskCode;
    private String agvCode = "";
    private String data = "";
    @Data
    public static class PositionCodePaths{
        private String positionCode;
        private String type;
        public PositionCodePaths(String positionCode, String type){
            this.positionCode = positionCode;
            this.type = type;
        }
    }
}