From 4a1a21fc5e83081b9432777c5cf0510b3d7c0dcc Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期四, 31 十月 2024 13:50:07 +0800 Subject: [PATCH] 入库呼叫agv取货修改 --- src/main/java/com/zy/asrs/controller/MobileController.java | 189 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 183 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 923639d..cc313b9 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -1,30 +1,31 @@ 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; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; 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.constant.ApiInterfaceConstant; 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; /** * 绉诲姩绔帴鍙f帶鍒跺櫒 @@ -32,6 +33,7 @@ */ @RestController @RequestMapping("mobile") +@Slf4j public class MobileController extends BaseController { @Autowired @@ -60,6 +62,136 @@ private WrkDetlLogService wrkDetlLogService; @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(); +// } + String sta = (String) map.get("sta"); // 鏆傚瓨浣� + String inSts = "1040"; // 鍏ュ簱绔欑偣 + + ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam(); + forwardAGVTaskParam.setReqCode("test"); + forwardAGVTaskParam.setTaskTyp("GT3"); + forwardAGVTaskParam.setCtnrTyp("2"); + forwardAGVTaskParam.setPriority("1"); + List<ForwardAGVTaskParam.PositionCodePaths> positionCodePathsList = new ArrayList<>(); + positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(sta,"05")); + positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(inSts,"05")); + forwardAGVTaskParam.setPositionCodePath(positionCodePathsList); + + String body = JSON.toJSONString(forwardAGVTaskParam); + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(ApiInterfaceConstant.AGV_IP) + .setPath(ApiInterfaceConstant.AGV_CALL_IN_PATH) + .setJson(body) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(0)) { + success = true; + } else { + log.error("鍏ュ簱鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP+ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response); + } + } catch (Exception e) { + log.error("鍏ュ簱鍛煎彨agv寮傚父", e); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 +// apiLogService.save( +// "璇锋眰浠撳偍MES鐩樼偣鍗曚笂鎶ユ帴鍙�", +// MesConstant.MES_CC_IP_PORT + MesConstant.MES_CC_SB_URL, +// null, +// "127.0.0.1", +// JSON.toJSONString(collect), +// response, +// success +// ); + } catch (Exception e) { log.error("", e); } + } + + 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) { + String barcode = map.get("barcode").toString(); + if (Cools.isEmpty(barcode)) { + return R.error("鏉$爜涓虹┖"); + } + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); + if (Cools.isEmpty(wrkMast)) { + return R.error("鏈壘鍒颁换鍔�"); + } + if (wrkMast.getWrkSts() != 14 && wrkMast.getIoType() != 103) { + return R.error("浠诲姟鐘舵�佹湁璇�"); + } + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (Cools.isEmpty(wrkDetls)) { + return R.error("宸ヤ綔鏄庣粏鏈夎"); + } + return R.ok(wrkDetls); + + } @RequestMapping("/leftovers/out") @ManagerAuth @@ -422,4 +554,49 @@ return R.ok("鍑哄簱鎴愬姛"); } + @RequestMapping("/ddd/ddd") + @ManagerAuth() + public R ddd() { + int w = 64; + for (int i = 17; i <= 37; i++) { + for (int j = 1;j<=14;j++){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 1)); + LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 2)); + LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 3)); +// LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1)); + if (locMast.getGro1() == 999){ + continue; + } +// locMast.setGro1(w); + locMast2.setGro1(locMast.getGro1()+100); + locMast3.setGro1(locMast.getGro1()+200); +// locMast4.setGro1(w); +// locMastService.updateById(locMast); + locMastService.updateById(locMast2); + locMastService.updateById(locMast3); +// locMastService.updateById(locMast4); + w++; + } + } +// for (int i = 17; i <=37; i++) { +// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 14).eq("lev1", 1)); +//// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 10).eq("lev1", 1)); +//// LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 11).eq("lev1", 1)); +//// LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", 1)); +// locMast.setGro1(w); +//// locMast2.setGro1(w); +//// locMast3.setGro1(w); +//// locMast4.setGro1(w); +// locMastService.updateById(locMast); +//// locMastService.updateById(locMast2); +//// locMastService.updateById(locMast3); +//// locMastService.updateById(locMast4); +// w++; +// } + return R.ok(); + + } + + + } -- Gitblit v1.9.1