| | |
| | | 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; |
| | |
| | | import com.core.common.DateUtils; |
| | | 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.AgvWaitPakinService; |
| | | 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") |
| | |
| | | |
| | | @Autowired |
| | | AgvWrkMastService agvWrkMastService; |
| | | @Autowired |
| | | AgvWaitPakinService agvWaitPakinService; |
| | | |
| | | @RequestMapping(value = "/wrkMast/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | }else { |
| | | wrapper.orderBy("io_time", false); |
| | | } |
| | | Page<AgvWrkMast> agvWrkMastPage = agvWrkMastService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok(agvWrkMastPage); |
| | | } |
| | | |
| | | @RequestMapping(value = "/wrkMast/list/auth/dbList") |
| | | @ManagerAuth |
| | | public R dbList(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | | @RequestParam(required = false)String orderByField, |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam(required = false)String condition, |
| | | @RequestParam Map<String, Object> param){ |
| | | excludeTrash(param); |
| | | EntityWrapper<AgvWrkMast> wrapper = new EntityWrapper<>(); |
| | | convert(param, wrapper); |
| | | allLike(AgvWrkMast.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){ |
| | | if (orderByField.endsWith("$")){ |
| | | orderByField = orderByField.substring(0, orderByField.length()-1); |
| | | } |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | }else { |
| | | wrapper.orderBy("io_time", false); |
| | | } |
| | | wrapper.in("io_type",108,111,112); |
| | | return R.ok(agvWrkMastService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/wrkMast/startWrk/auth") |
| | | @ManagerAuth(memo = "工作档开始任务") |
| | | 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"); |
| | | |
| | | 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(); |
| | | } |
| | | // @RequestMapping(value = "/wrkMast/startWrk/auth") |
| | | // @ManagerAuth(memo = "工作档开始任务") |
| | | // public R startWrk(@RequestParam String param) throws IOException { |
| | | // List<AgvWrkMast> agvWrkMastList = JSONArray.parseArray(param, AgvWrkMast.class); |
| | | // if (Cools.isEmpty(agvWrkMastList)){ |
| | | // return R.error(); |
| | | // } |
| | | // int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway"); |
| | | // |
| | | // int code = agvWrkMastService.containerMoveIn(agvWrkMastList); |
| | | // |
| | | // if(code == 0){ |
| | | // agvWrkMastList.forEach(agvWrkMast -> { |
| | | // //202.RCS取货中 |
| | | // agvWrkMast.setWrkSts((long)202); |
| | | // //修改AGV入库通知档状态入出状态为Y |
| | | // agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y"); |
| | | // }); |
| | | // agvWrkMastService.updateBatchById(agvWrkMastList); |
| | | // |
| | | // return R.ok("任务启动成功"); |
| | | // } |
| | | // |
| | | // return R.error("任务启动失败"); |
| | | // |
| | | // } |
| | | } |