自动化立体仓库 - WMS系统
zyx
2023-07-17 344a6d6c8c0f27f883615eb01d99ecc019aa7b25
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -12,12 +13,17 @@
import com.core.common.R;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.param.AgvTaskCreateParam;
import com.zy.asrs.entity.param.AgvTaskParam;
import com.zy.asrs.entity.param.AgvTaskkDescribeParam;
import com.zy.asrs.service.AgvWrkMastService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/agv")
@@ -157,22 +163,47 @@
    @RequestMapping(value = "/wrkMast/startWrk/auth")
    @ManagerAuth(memo = "工作档开始任务")
    public R startWrk(@RequestParam String param){
    public R startWrk(@RequestParam String param) throws IOException {
        List<AgvWrkMast> agvWrkMastList = JSONArray.parseArray(param, AgvWrkMast.class);
        if (Cools.isEmpty(agvWrkMastList)){
            return R.error();
        }
        AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
        agvTaskCreateParam.setTaskType("putaway");
//        agvWrkMastList.stream().map(agvWrkMast -> {
//            AgvTaskParam agvTaskParam = new AgvTaskParam();
//            AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam();
//            agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString());
//            agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
//            agvTaskParam.setTaskkDescribe(agvTaskkDescribeParam);
//            agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.);
//        }).collect(Collectors.toList());
        List<AgvTaskParam> agvTaskParamList = agvWrkMastList.stream().map(agvWrkMast -> {
            AgvTaskParam agvTaskParam = new AgvTaskParam();
            AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam();
            agvTaskParam.setTaskDescribe(agvTaskkDescribeParam);
            //AgvTaskParam
            agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString());
            agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue());
            //AgvTaskkDescribeParam
            agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
            agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
            agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
            return agvTaskParam;
        }).collect(Collectors.toList());
        agvTaskCreateParam.setTasks(agvTaskParamList);
        String response = new HttpHandler.Builder()
                .setUri("localhost:8080")
                .setPath("test/task/create")
                .setJson(JSONObject.toJSONString(agvTaskCreateParam))
                .build()
                .doPost();
        JSONObject jsonObject = JSON.parseObject(response);
        int code = (int) jsonObject.get("code");
        System.out.println(response);
        if(code == 0){
        }
        return R.ok();
    }