From cd92182d01a20e85f60f6a5a595506ee8ed31ffc Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期四, 02 十一月 2023 12:05:15 +0800 Subject: [PATCH] 库存统计明细修复 --- src/main/java/com/zy/asrs/controller/AgvOpenController.java | 178 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 84 insertions(+), 94 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java index e825c78..a02a99c 100644 --- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java +++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java @@ -1,14 +1,15 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; 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.AgvWrkMast; -import com.zy.asrs.entity.ApiLog; import com.zy.asrs.entity.param.AgvTaskCallBackParam; import com.zy.asrs.service.*; +import com.zy.asrs.utils.AppAuthUtil; import com.zy.common.web.BaseController; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -21,10 +22,11 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.PostConstruct; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Date; import java.util.EnumSet; +import java.util.Map; /** * 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細 @@ -54,25 +56,36 @@ @PostMapping("/task/event/status") @AppAuth(memo = "ESS浠诲姟鍥炶皟") - public R taskEventStaus(@RequestBody AgvTaskCallBackParam param){ + public R taskEventStaus(@RequestBody AgvTaskCallBackParam param, HttpServletRequest request){ - //淇濆瓨姣忔璋冪敤璇ユ帴鍙g殑鍙傛暟锛屼綔涓哄巻鍙插彲鏌ヨ - //saveApiLog(param); + apiLogService.save( + "ESS浠诲姟鍥炶皟", + "/tzskwms/agv/task/event/status", + null, + null, + JSON.toJSONString(JSONObject.toJSONString(param)), + null, + true + ); - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode())); + + //save api log (appkey 鍚庣画娣诲姞) + + AppAuthUtil.auth("",param, request); + int wrkNo = Integer.parseInt(param.getTaskCode()); + if(wrkNo < 0){ + wrkNo = -wrkNo; + } + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo)); if(Cools.isEmpty(agvWrkMast)){ return R.error("浠诲姟缂栧彿閿欒"); - } - - if(!checkParam(param,agvWrkMast)){ - return R.error("浠诲姟鍙傛暟涓庡伐浣滄。鍙傛暟涓嶇鍚�"); } AgvTask agvTask = AgvTask.valueOf(param.getEventType()); Class<AgvTask> clz = AgvTask.class; try { - Method method = clz.getDeclaredMethod(param.getStatus(),AgvTaskCallBackParam.class); - method.invoke(agvTask,param); + Method method = clz.getDeclaredMethod(param.getStatus(), AgvWrkMast.class, AgvTaskCallBackParam.class); + method.invoke(agvTask,agvWrkMast,param); } catch (NoSuchMethodException e) { return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎"); } catch (InvocationTargetException e) { @@ -85,25 +98,12 @@ 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; - } + @PostMapping("/conveyor/loadContainerFinish ") + @AppAuth(memo = "鍙栧鍣ㄥ畬鎴愰�氱煡") + public R loadContainerFinish(@RequestBody Map<String,Object> params){ - 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); + return R.ok(); } - } enum AgvTask{ @@ -113,39 +113,30 @@ */ task{ @Transactional - public void success(AgvTaskCallBackParam param) { - + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 - agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),205); + agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205); - /* - int wrkNo = Integer.valueOf(param.getTaskCode()); - String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); - //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� - agvWrkMastLogService.save(wrkNo); - //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� - agvWrkDetlLogService.save(wrkNo); - //鍒犻櫎AGV宸ヤ綔妗� - agvWrkMastService.deleteById(wrkNo); - //鍒犻櫎AGV宸ヤ綔鏄庣粏妗� - agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo)); - //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗� - agvWaitPakinLogService.save(barcode); - //鍒犻櫎鍏ュ簱閫氱煡妗� - agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode)); - */ + //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱 + if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){ + //淇敼鍑哄簱绔欑偣鐘舵�� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode()); + } + //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱 + if(agvWrkMast.getIoType() == 110){ + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode()); + } + } + + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void fail(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { - - } - - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, @@ -154,19 +145,19 @@ */ task_allocated{ @Transactional - public void success(AgvTaskCallBackParam param) { + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, @@ -175,25 +166,30 @@ */ tote_load{ @Transactional - public void success(AgvTaskCallBackParam param) { - //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜 - agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getStationCode(),"O",""); + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { + + //鍏ュ簱浠诲姟 || 鎷f枡鍏ュ簱浠诲姟 ||鐩樼偣鍐嶅叆搴� ||绌烘澘鍏ュ簱 + if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){ + //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜 + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O",""); + } + //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓� - agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),203); - //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬� - //agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y"); + agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),203); + + } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, @@ -202,92 +198,86 @@ */ tote_unload{ @Transactional - public void success(AgvTaskCallBackParam param) { - int wrkNo = Integer.valueOf(param.getTaskCode()); - String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); - //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱 - //agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F"); - //鏇存柊鐩爣搴撲綅鏄庣粏 - //agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo); + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { //淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚 - agvWrkMastService.updateWrkStsByWrkNo(wrkNo,204); + agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204); } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, robot_reach{ @Transactional - public void success(AgvTaskCallBackParam param) { + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, weight{ @Transactional - public void success(AgvTaskCallBackParam param) { + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }, rfid{ @Transactional - public void success(AgvTaskCallBackParam param) { + public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void fail(AgvTaskCallBackParam param) { + public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void cancel(AgvTaskCallBackParam param) { + public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } - public void suspend(AgvTaskCallBackParam param) { + public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) { } }; //浠诲姟鐘舵�佷负鎴愬姛 - public abstract void success(AgvTaskCallBackParam param); + public abstract void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param); //浠诲姟鐘舵�佷负澶辫触 - public abstract void fail(AgvTaskCallBackParam param); + public abstract void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param); //浠诲姟鐘舵�佷负鍙栨秷 - public abstract void cancel(AgvTaskCallBackParam param); + public abstract void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param); //浠诲姟鐘舵�佷负鎸傝捣 - public abstract void suspend(AgvTaskCallBackParam param); + public abstract void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param); @Setter AgvBasDevpService agvBasDevpService; -- Gitblit v1.9.1