From ff9ff27ce3da6f911576152a0d41e8830041f0a0 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 21 五月 2025 10:12:14 +0800
Subject: [PATCH] 接口编写
---
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 146 +++++++++++++++++++++++++++++++-----------------
1 files changed, 93 insertions(+), 53 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index cc5b3b8..80b3fe2 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -7,7 +7,6 @@
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.AgvBasDevp;
-import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.WrkMastExecute;
import com.zy.asrs.entity.param.AgvTaskCallBackParam;
@@ -16,6 +15,8 @@
import com.zy.common.web.BaseController;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +32,8 @@
import java.util.Date;
import java.util.EnumSet;
import java.util.Map;
+
+import static org.reflections.Reflections.log;
/**
* 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細
@@ -53,6 +56,8 @@
@RequestMapping("/agv")
public class AgvOpenController extends BaseController {
+ private static final Logger log = LoggerFactory.getLogger(AgvMobileController.class);
+
@Autowired
AgvWrkMastService agvWrkMastService;
@Autowired
@@ -64,56 +69,54 @@
@PostMapping("/task/event/status")
@AppAuth(memo = "ESS浠诲姟鍥炶皟")
- public R taskEventStaus(@RequestBody AgvTaskCallBackParam param, HttpServletRequest request){
-
-
+ public R taskEventStaus(@RequestBody AgvTaskCallBackParam param, HttpServletRequest request) {
//save api log (appkey 鍚庣画娣诲姞)
R r = new R(0, "鎴愬姛");
- AppAuthUtil.auth("",param, request);
+ AppAuthUtil.auth("", param, request);
int wrkNo = Integer.parseInt(param.getTaskCode());
- if(wrkNo < 0){
+ if (wrkNo < 0) {
wrkNo = -wrkNo;
}
AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
- if(Cools.isEmpty(agvWrkMast)){
- agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getPodCode()));
- if (Cools.isEmpty(agvWrkMast)){
+ if (Cools.isEmpty(agvWrkMast)) {
+ agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getPodCode()));
+ if (Cools.isEmpty(agvWrkMast)) {
r = R.error("浠诲姟缂栧彿閿欒");
- logPost(param,JSONObject.toJSONString(r),false);
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
}
}
- if (agvWrkMast.getIoType().equals(121)){
- try{
- if (agvWrkMast.getWrkSts().equals(12L)){
+ if (agvWrkMast.getIoType().equals(121)) {
+ try {
+ if (agvWrkMast.getWrkSts().equals(12L)) {
WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectOne(new EntityWrapper<WrkMastExecute>().eq("wrk_no", wrkNo));
- if (Cools.isEmpty(wrkMastExecute) || wrkMastExecute.getWrkSts()!=1){
- r = R.error("浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:"+wrkMastExecute.getWrkSts$());
- logPost(param,"浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:"+wrkMastExecute.getWrkSts$()+JSONObject.toJSONString(r),false);
+ if (Cools.isEmpty(wrkMastExecute) || wrkMastExecute.getWrkSts() != 1) {
+ r = R.error("浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:" + wrkMastExecute.getWrkSts$());
+ logPost(param, "浠诲姟鐘舵�乄rkSts鍙傛暟鏈夎,WrkSts:" + wrkMastExecute.getWrkSts$() + JSONObject.toJSONString(r), false);
return r;
} else {
wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode());
wrkMastExecuteService.updateById(wrkMastExecute);
}
- }else {
+ } else {
r = R.error("浠诲姟寮傚父");
- logPost(param,JSONObject.toJSONString(r),false);
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
}
- }catch (Exception e){
- r = R.error(""+e.getMessage());
- logPost(param,JSONObject.toJSONString(r),false);
+ } catch (Exception e) {
+ r = R.error("" + e.getMessage());
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
}
- }else {
- if(agvWrkMast.getWrkSts() >= 205){
+ } else {
+ if (agvWrkMast.getWrkSts() >= 205) {
r = R.error("褰撳墠浠诲姟宸插畬鎴�");
- logPost(param,JSONObject.toJSONString(r),false);
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
}
@@ -121,35 +124,35 @@
Class<AgvTask> clz = AgvTask.class;
try {
Method method = clz.getDeclaredMethod("success", AgvWrkMast.class, AgvTaskCallBackParam.class);
- method.invoke(agvTask,agvWrkMast,param);
+ method.invoke(agvTask, agvWrkMast, param);
} catch (NoSuchMethodException e) {
r = R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
- logPost(param,JSONObject.toJSONString(r),false);
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
} catch (InvocationTargetException e) {
log.error(e.getMessage());
- r = R.error(""+e.getMessage());
- logPost(param,JSONObject.toJSONString(r),false);
+ r = R.error("" + e.getMessage());
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
} catch (IllegalAccessException e) {
log.error(e.getMessage());
- r = R.error(""+e.getMessage());
- logPost(param,JSONObject.toJSONString(r),false);
+ r = R.error("" + e.getMessage());
+ logPost(param, JSONObject.toJSONString(r), false);
return r;
}
}
- logPost(param,JSONObject.toJSONString(r),true);
+ logPost(param, JSONObject.toJSONString(r), true);
return r;
}
@PostMapping("/conveyor/loadContainerFinish ")
@AppAuth(memo = "鍙栬揣鏋跺畬鎴愰�氱煡")
- public R loadContainerFinish(@RequestBody Map<String,Object> params){
+ public R loadContainerFinish(@RequestBody Map<String, Object> params) {
return R.ok();
}
- private void logPost( AgvTaskCallBackParam param,String response,boolean success){
+ private void logPost(AgvTaskCallBackParam param, String response, boolean success) {
apiLogService.save(
"ESS浠诲姟鍥炶皟",
"/phyzwms/agv/task/event/status",
@@ -162,28 +165,32 @@
}
}
-enum AgvTask{
+enum AgvTask {
/**
* 涓婃姤浠诲姟瀹屾垚
*/
- end{
+ end {
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
agvWrkMast.setWrkSts(205L);
//鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
- if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){
- //淇敼鍑哄簱绔欑偣鐘舵��
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107) {
+ AgvBasDevp byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getLocNo());
+ if (byDevNo != null) {
+ log.info("鍑哄簱浠诲姟杩涘叆绔欑偣===>>绔欑偣鐮侊細{}锛岀珯鐐圭姸鎬亄}", byDevNo.getDevNo(), byDevNo.getLocSts());
+ //淇敼鍑哄簱绔欑偣鐘舵��
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
+
+ }
}
//鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
- if(agvWrkMast.getIoType() == 110){
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 110) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
agvWrkMast.setWrkSts(206L);
}
agvWrkMast.setModiTime(new Date());
@@ -193,7 +200,7 @@
/**
* 浠诲姟寮�濮�
*/
- start{
+ start {
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.浠诲姟寮�濮�
@@ -206,21 +213,54 @@
/**
* 璧板嚭鍌ㄤ綅鐘舵��
*/
- outbin{
+ outbin {
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
- switch(agvWrkMast.getIoType()) {
+ switch (agvWrkMast.getIoType()) {
//鍏ュ簱浠诲姟
case 1:
- // 绌烘澘鍏ュ簱
+ // 绌烘澘鍏ュ簱
case 10:
- // 鎷f枡鍏ュ簱浠诲姟
+ // 鎷f枡鍏ュ簱浠诲姟
case 53:
- // 鐩樼偣鍐嶅叆搴�
+ // 绔欑偣閫�鍥�
+ case 58:
+ // 鐩樼偣鍐嶅叆搴�
case 57:
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ AgvBasDevp byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getSourceLocNo());
+ String locSts = "O";
+ if (byDevNo != null) {
+ assert log != null;
+// if (!Cools.isEmpty(agvWrkMast.getBarcode())) {
+// AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", agvWrkMast.getBarcode()));
+// if (!Cools.isEmpty(agvBasDevp) && agvBasDevp.getLocSts().equals("F") && !agvBasDevp.getDevNo().equals(byDevNo.getDevNo())) {
+// agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(), locSts, "", null);
+// }
+// }
+ log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬�:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
+ if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
+ log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬佷繚鎸佷笉鍙�1:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
+ locSts = byDevNo.getLocSts();
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, byDevNo.getBarcode(), null);
+ } else {
+ log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬佷繚鎸佷笉鍙�2:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
+ locSts = "O";
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, "", null);
+ }
+
+ }
break;
+ }
+
+ if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 114) {
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo(), agvWrkMast.getAppeUser());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+ } else if (agvWrkMast.getIoType() == 109 && !agvWrkMast.getSourceLocNo().substring(0, 2).equals("DB")) {
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
}
//if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){
// //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
@@ -228,7 +268,7 @@
//}
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
- agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+ agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(), 204);
}
@@ -236,7 +276,7 @@
/**
* 涓婃姤鏀剧鐘舵��
*/
- cancel{
+ cancel {
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
@@ -244,7 +284,7 @@
}
},
- apply{
+ apply {
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
@@ -301,8 +341,8 @@
AgvWrkDetlLogService agvWrkDetlLogService;
@PostConstruct
- public void postConstruct(){
- for(AgvTask task : EnumSet.allOf(AgvTask.class)){
+ public void postConstruct() {
+ for (AgvTask task : EnumSet.allOf(AgvTask.class)) {
task.setAgvBasDevpService(agvBasDevpService);
task.setAgvLocDetlService(agvLocDetlService);
task.setAgvLocMastService(agvLocMastService);
--
Gitblit v1.9.1