From 56d245daea6ca665021b1987abf3aec5a1b028cb Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期二, 18 七月 2023 16:34:28 +0800 Subject: [PATCH] agv 入库接口调整 --- src/main/java/com/zy/asrs/controller/AgvOpenController.java | 82 ++++++++++++++++++++++++++++++++++------ 1 files changed, 69 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java index 08a651a..e825c78 100644 --- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java +++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java @@ -1,14 +1,17 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.annotations.AppAuth; +import com.core.common.Cools; import com.core.common.R; -import com.zy.asrs.entity.AgvWaitPakin; -import com.zy.asrs.entity.AgvWrkDetl; import com.zy.asrs.entity.AgvWrkMast; +import com.zy.asrs.entity.ApiLog; import com.zy.asrs.entity.param.AgvTaskCallBackParam; import com.zy.asrs.service.*; import com.zy.common.web.BaseController; import lombok.Setter; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -20,21 +23,49 @@ import javax.annotation.PostConstruct; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.Date; import java.util.EnumSet; +/** + * 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細 + * 飦� task锛氫笂鎶ヤ换鍔$姸鎬併�� + * 飦� task_allocated: 涓婃姤浠诲姟鍒嗛厤缁欐満鍣ㄤ汉銆� + * 飦� tote_load锛氫笂鎶ュ彇绠辩姸鎬併�� + * 飦� tote_unload锛氫笂鎶ユ斁绠辩姸鎬併�� + * 飦� robot_reach锛氭満鍣ㄤ汉鍒拌揪宸ヤ綔绔欍�� + * 飦� weight锛氱О閲嶄簨浠跺洖璋冦�� + * 飦� rfid锛歊FID璇嗗埆浜嬩欢鍥炶皟銆� + * + * 浠诲姟鐘舵�侊紙status锛夛細 + * 飦� success锛氭垚鍔熴�� + * 飦� fail锛氬け璐ャ�� + * 飦� cancel锛氬彇娑堛�� + * 飦� suspend锛氭寕璧枫�� + */ +@Slf4j @RestController @RequestMapping("/agv") public class AgvOpenController extends BaseController { @Autowired AgvWrkMastService agvWrkMastService; + @Autowired + ApiLogService apiLogService; @PostMapping("/task/event/status") + @AppAuth(memo = "ESS浠诲姟鍥炶皟") public R taskEventStaus(@RequestBody AgvTaskCallBackParam param){ - int wrkMastCount = agvWrkMastService.selectCount(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode())); - if(wrkMastCount < 1){ + //淇濆瓨姣忔璋冪敤璇ユ帴鍙g殑鍙傛暟锛屼綔涓哄巻鍙插彲鏌ヨ + //saveApiLog(param); + + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode())); + if(Cools.isEmpty(agvWrkMast)){ return R.error("浠诲姟缂栧彿閿欒"); + } + + if(!checkParam(param,agvWrkMast)){ + return R.error("浠诲姟鍙傛暟涓庡伐浣滄。鍙傛暟涓嶇鍚�"); } AgvTask agvTask = AgvTask.valueOf(param.getEventType()); @@ -45,13 +76,32 @@ } catch (NoSuchMethodException e) { return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎"); } catch (InvocationTargetException e) { - e.printStackTrace(); + log.error(e.getMessage()); return R.error(); } catch (IllegalAccessException e) { - e.printStackTrace(); + log.error(e.getMessage()); return R.error(); } return R.ok(); + } + + private boolean checkParam(AgvTaskCallBackParam param, AgvWrkMast agvWrkMast){ + if(!agvWrkMast.getLocNo().equals(param.getLocationCode())){ + return false; + } + if(!agvWrkMast.getSourceLocNo().equals(param.getStationCode())){ + return false; + } + return true; + } + + private void saveApiLog(AgvTaskCallBackParam param){ + ApiLog apiLog = new ApiLog(); + apiLog.setNamespace("ESS浠诲姟鍥炶皟"); + apiLog.setUrl("/agv/task/event/status"); + apiLog.setRequest(JSONObject.toJSONString(param)); + apiLog.setCreateTime(new Date()); + apiLogService.insert(apiLog); } } @@ -64,6 +114,11 @@ task{ @Transactional public void success(AgvTaskCallBackParam param) { + + //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 + agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),205); + + /* int wrkNo = Integer.valueOf(param.getTaskCode()); String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� @@ -78,6 +133,7 @@ agvWaitPakinLogService.save(barcode); //鍒犻櫎鍏ュ簱閫氱煡妗� agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode)); + */ } @@ -122,10 +178,10 @@ public void success(AgvTaskCallBackParam param) { //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜 agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getStationCode(),"O",""); - //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級 - agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),2); + //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓� + agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),203); //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬� - agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y"); + //agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y"); } @@ -150,11 +206,11 @@ int wrkNo = Integer.valueOf(param.getTaskCode()); String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱 - agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F"); + //agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F"); //鏇存柊鐩爣搴撲綅鏄庣粏 - agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo); - //淇敼宸ヤ綔妗g姸鎬佷负14锛堝叆搴撳畬鎴愶級 - agvWrkMastService.updateWrkStsByWrkNo(wrkNo,14); + //agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo); + //淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚 + agvWrkMastService.updateWrkStsByWrkNo(wrkNo,204); } public void fail(AgvTaskCallBackParam param) { -- Gitblit v1.9.1