From 4f75c44a7efcd1f26aae764c89b2ace8db796d3e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 24 十二月 2025 16:37:22 +0800
Subject: [PATCH] 根据起始站点区分两条产线,分配不同接驳位
---
src/main/java/com/zy/asrs/controller/MesController.java | 142 ++++++++++++++++++++++-------------------------
1 files changed, 67 insertions(+), 75 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MesController.java b/src/main/java/com/zy/asrs/controller/MesController.java
index 6a7ba4a..a243f80 100644
--- a/src/main/java/com/zy/asrs/controller/MesController.java
+++ b/src/main/java/com/zy/asrs/controller/MesController.java
@@ -1,7 +1,9 @@
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.BasStation;
@@ -9,40 +11,77 @@
import com.zy.asrs.service.BasStationService;
import com.zy.asrs.service.MesService;
import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
@RestController
+@Slf4j
public class MesController extends BaseController {
@Resource
private MesService mesService;
+ private void auth(String appkey, Object obj, HttpServletRequest request) {
+ log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", request.getRequestURI(), appkey, JSON.toJSONString(obj));
+ request.setAttribute("cache", obj);
+ }
- // 鐗╂枡淇℃伅鍚屾
@PostMapping("/api/mes/synMatInfo")
- public MesReturn synMatInfo(@RequestBody MesMatInfo param){
-
+ @AppAuth(memo = "鐗╂枡淇℃伅鍚屾")
+ public MesReturn synMatInfo(@RequestHeader(required = false) String appkey,@RequestBody MesMatInfo param,HttpServletRequest request){
+ auth(appkey, param, request);
MesReturn mesReturn = new MesReturn();
mesReturn.setSuccess(mesService.synMatInfo(param) == 1 ? "1" : "2");
return mesReturn;
}
+ @PostMapping("/api/tms/queryStock")
+ @AppAuth(memo = "TMS鏌ヨ搴撳瓨")
+ public R queryStock(@RequestHeader(required = false) String appkey,@RequestBody JSONObject param,HttpServletRequest request){
+ auth(appkey, param, request);
+ String matnr = param.getString("matnr");
+ return mesService.queryStock(matnr);
+ }
+
// 鍑哄簱鐢宠
@PostMapping("/api/mes/outBoundOrder")
- public MesReturn outBoundOrder(@RequestBody MesInApply param){
- MesReturn mesReturn = new MesReturn();
+ @AppAuth(memo = "鍑哄簱鐢宠(TMS璋冪敤)")
+ public MesReturn outBoundOrder(@RequestHeader(required = false) String appkey,@RequestBody MesInApply param,HttpServletRequest request){
+ auth(appkey, param, request);
+ if(Cools.isEmpty(param.getTaskNo(),param.getOrderNo(),param.getStationId())) {
+ MesReturn mesReturn = new MesReturn();
+ mesReturn.setSuccess("2");
+ mesReturn.setMessage("鍙傛暟涓嶈兘涓虹┖锛�" + JSONObject.toJSONString(param));
+ return mesReturn;
+ }
+
+ return mesService.outBoundOrder(param);
+ }
+
+
+ @Resource
+ private BasStationService basStationService;
+
+ // 涓嬪彂杩愯緭浠诲姟锛宮es璋冪敤涓嬪垁06(鍛煎彨agv鎼繍)
+ @PostMapping("/api/mes/submitTask")
+ public JSONObject submitTask(@RequestBody TransTask param){
+ log.info("涓嬪垁(閫�鍒�)锛歿}",JSONObject.toJSONString(param));
// 缁堢偣涓虹┖锛岃绠楁帴椹充綅
BasStation basStation = null;
if (Cools.isEmpty(param.getNextStationId())) {
- List<BasStation> basStations = basStationService.selectList(new EntityWrapper<BasStation>().eq("loc_sts", "O"));
+ int productionLine = param.getCurStationId().startsWith("LL") ? 1 : 2;
+ List<BasStation> basStations = basStationService.selectList(new EntityWrapper<BasStation>().eq("loc_sts", "O").eq("area_id",productionLine));
if(basStations.isEmpty()) {
- mesReturn.setSuccess("2");
- mesReturn.setMessage("鏃犵┖鎺ラ┏浣嶏紝璇风◢鍚庡啀璇�!");
- return mesReturn;
+ JSONObject result = new JSONObject();
+ result.put("taskno", param.getTaskno());
+ result.put("Success", "2");
+ result.put("Message", "鏃犵┖鎺ラ┏浣嶏紝璇风◢鍚庡啀璇�!");
+ return result;
}
// 鎺ラ┏鐐�
basStation = basStations.get(0);
@@ -54,10 +93,20 @@
basStation.setBarcode(param.getDjNo());
basStationService.updateById(basStation);
}
- int i = mesService.outBoundOrder(param);
- if(i == 1) {
- mesReturn.setSuccess("1");
- } else {
+ JSONObject sendAgvTask;
+ param.setAgvFactory(1); // 娴峰悍
+ try {
+ sendAgvTask = mesService.submitTask(param);
+ if (!"1".equals(sendAgvTask.getString("Success"))) {
+ // 閲婃斁鎺ラ┏鐐�
+ if(basStation != null) {
+ basStation.setModiTime(new Date());
+ basStation.setLocSts("O");
+ basStation.setBarcode("");
+ basStationService.updateById(basStation);
+ }
+ }
+ }catch (Exception e){
// 閲婃斁鎺ラ┏鐐�
if(basStation != null) {
basStation.setModiTime(new Date());
@@ -65,9 +114,9 @@
basStation.setBarcode("");
basStationService.updateById(basStation);
}
- mesReturn.setSuccess("2");
+ throw e;
}
- return mesReturn;
+ return sendAgvTask;
}
// // 鍑哄簱鐢宠锛堝彨鏂欙級锛岃閰嶅簱銆佹粦鍧楀簱
@@ -88,10 +137,10 @@
return mesReturn;
}
- // 鍏ョ珯鍏佽
@PostMapping("/api/mes/allowInStation")
- public MesReturn allowInStation(@RequestBody TransInOutStationAllow param){
-
+ @AppAuth(memo = "鍏ョ珯鍏佽")
+ public MesReturn allowInStation(@RequestHeader(required = false) String appkey,@RequestBody TransInOutStationAllow param,HttpServletRequest request){
+ auth(appkey, param, request);
return mesService.allowInStation(param);
}
@@ -100,49 +149,6 @@
public MesReturn allowOutStation(@RequestBody TransInOutStationAllow param){
return mesService.allowOutStation(param);
- }
-
- @Resource
- private BasStationService basStationService;
-
- // 涓嬪彂杩愯緭浠诲姟锛宮es璋冪敤涓嬪垁06(鍛煎彨agv鎼繍)
- @PostMapping("/api/mes/submitTask")
- public JSONObject submitTask(@RequestBody TransTask param){
- // 缁堢偣涓虹┖锛岃绠楁帴椹充綅
- BasStation basStation = null;
- if (Cools.isEmpty(param.getNextStationId())) {
- List<BasStation> basStations = basStationService.selectList(new EntityWrapper<BasStation>().eq("loc_sts", "O"));
- if(basStations.isEmpty()) {
- JSONObject result = new JSONObject();
- result.put("taskno", param.getTaskno());
- result.put("Success", "2");
- result.put("Message", "鏃犵┖鎺ラ┏浣嶏紝璇风◢鍚庡啀璇�!");
- return result;
- }
- // 鎺ラ┏鐐�
- basStation = basStations.get(0);
- param.setNextStationId(basStation.getDevNo());
-
- // 鍏堟洿鏂版帴椹崇偣鐘舵��
- basStation.setModiTime(new Date());
- basStation.setLocSts("S");
- basStation.setBarcode(param.getDjNo());
- basStationService.updateById(basStation);
- }
-
- param.setAgvFactory(1); // 娴峰悍
- param.setNextStationId("A1");
- JSONObject sendAgvTask = mesService.submitTask(param);
- if (!"1".equals(sendAgvTask.getString("Success"))) {
- // 閲婃斁鎺ラ┏鐐�
- if(basStation != null) {
- basStation.setModiTime(new Date());
- basStation.setLocSts("O");
- basStation.setBarcode("");
- basStationService.updateById(basStation);
- }
- }
- return sendAgvTask;
}
// 鎺ュ彈鎴愬搧鍒�鍙互鍏ュ簱浜岀淮鐮�
@@ -154,19 +160,5 @@
return mesReturn;
}
-
- // region 娴嬭瘯
- @GetMapping("/api/mes/transDj")
- public int transDj(@RequestParam String taskNo,@RequestParam String djNo){
-
- return mesService.transDj(taskNo,djNo);
- }
-
- // 閫�绌烘墭鐩樿繑鍥炰骇绾� pda涓婃搷浣滅┖鎵樿繑鍥炰骇绾�
- @GetMapping("/tkt")
- public R tkt(@RequestParam String taskNo){
- return mesService.tkt(taskNo);
- }
- // endregion
}
--
Gitblit v1.9.1