From 712dcbef9f4ae3f81e751bf8651d2e241f3f792c Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 21 十月 2025 15:40:49 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/controller/OpenController.java | 194 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 173 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 408172d..6752f1f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -6,19 +6,23 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
+import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.BasCrnErrorServiceImpl;
+import com.zy.asrs.service.impl.TaskWrkLogServiceImpl;
import com.zy.asrs.utils.Utils;
import com.zy.common.web.BaseController;
import com.zy.core.CrnThread;
+import com.zy.core.cache.RgvStatusCache;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -55,6 +59,10 @@
private StaDescService staDescService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private BasRgvErrService basRgvErrService;
+ @Autowired
+ private BasCrnErrorServiceImpl basCrnErrorService;
@Value("${wms.url}")
private String wmsUrl;
@@ -65,7 +73,7 @@
add("ea1f0459efc02a79f046f982767939ae");
}};
@Autowired
- private BasCrnErrorServiceImpl basCrnErrorService;
+ private TaskWrkLogServiceImpl taskWrkLogService;
//agv浠诲姟瀹屾垚
@PostMapping("/toAgvTaskOver")
@@ -88,9 +96,10 @@
}
//鍒涘缓浠诲姟
- @PostMapping("/taskCreate")
+ @PostMapping("/taskCreate2")
+ @AppAuth(memo = "WMS浠诲姟涓嬪彂")
@Transactional
- public R taskCreate(@RequestHeader String appkey,
+ public synchronized R taskCreate(@RequestHeader String appkey,
@RequestBody List<TaskCreateParam> param1,
HttpServletRequest request) {
auth(appkey, param1, request);
@@ -101,15 +110,19 @@
if (Cools.isEmpty(param)) {
return R.parse(BaseRes.PARAM);
}
+
if (Cools.isEmpty(param.getTaskNo())) {
return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
}
if (Cools.isEmpty(param.getIoType())) {
return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
}
+ param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+
if (Cools.isEmpty(param.getBarcode())) {
return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
}
+
String locNo=null;
if(param.getIoType()==1){
locNo=param.getTargetPoint();
@@ -323,28 +336,60 @@
}
//浠诲姟涓嬪彂鎺ュ彛
- @PostMapping("/outboundTaskSend")
-// @PostMapping("/taskCreate")
-// @AppAuth(memo = "浠诲姟涓嬪彂鎺ュ彛")
+// @PostMapping("/outboundTaskSend")
+ @PostMapping("/taskCreate")
+ @AppAuth(memo = "浠诲姟涓嬪彂鎺ュ彛")
@Transactional
public R outboundTaskSend(@RequestHeader String appkey,
@RequestBody List<CarryParam> params,//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴�
HttpServletRequest request) {
+
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟", 1, "wms浠诲姟涓嬪彂,浠诲姟鏁�:"+params.size());
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
auth(appkey, params, request);
// List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
for (CarryParam param:params){
- param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
-
if (Cools.isEmpty(param)){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鍙傛暟涓虹┖,param:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getTaskNo())){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "浠诲姟鍙蜂负绌�,taskNo:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("浠诲姟鍙蜂负绌猴紒");
} else if (Cools.isEmpty(param.getIoType())){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "浠诲姟绫诲瀷涓虹┖,ioType:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("浠诲姟绫诲瀷涓虹┖锛�");
}
if (Cools.isEmpty(param.getStartPoint()) || Cools.isEmpty(param.getTargetPoint())){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鍒濆鐩爣鎴栬�呯洰鏍囦綅涓虹┖,Point:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鍒濆鐩爣鎴栬�呯洰鏍囦綅涓虹┖");
}
+
+ param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+ param.updateLocNo();
// if (Cools.isEmpty(param.getContainerCode())){
// return R.error("瀹瑰櫒缂栫爜(鎵樼洏鐮�)涓虹┖锛�");
// }
@@ -357,8 +402,21 @@
// }
// }
- LocMast locMast = locMastService.selectByLocNo(param.getStartPoint());
+
+ String locNo=null;
+ if(param.getIoType()==1){
+ locNo=param.getTargetPoint();
+ }else{
+ locNo=param.getStartPoint();
+ }
+ LocMast locMast = locMastService.selectByLocNo(locNo);
if(Cools.isEmpty(locMast)){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鍒濆搴撲綅鏃犳硶鎵惧埌,locNo:"+JSON.toJSONString(locNo));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鍒濆搴撲綅鏃犳硶鎵惧埌");
}
@@ -371,9 +429,15 @@
.eq("crn_no",locMast.getCrnNo())
.eq("stn_no",param.getStartPoint()));
if(Cools.isEmpty(staDesc)){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鍏ュ簱璺姴涓嶅瓨鍦�,param:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鍏ュ簱璺姴涓嶅瓨鍦�");
}
- r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo()));
+ r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn()));
}else if(param.getIoType() == 2){
//鍑哄簱浠诲姟鍒涘缓
@@ -382,15 +446,33 @@
.eq("crn_no",locMast.getCrnNo())
.eq("stn_no",param.getTargetPoint()));
if(Cools.isEmpty(staDesc)){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鍑哄簱璺姴涓嶅瓨鍦�,param:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鍑哄簱璺姴涓嶅瓨鍦�");
}
- r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo()));
+ r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getStnNo()));
}else if (param.getIoType() == 3){
LocMast locMast2 = locMastService.selectByLocNo(param.getTargetPoint());
if(Cools.isEmpty(locMast2)){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "鐩爣搴撲綅鏃犳硶鎵惧埌,locNo:"+JSON.toJSONString(param.getTargetPoint()));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("鐩爣搴撲綅鏃犳硶鎵惧埌");
}
if (!locMast2.getCrnNo().equals(locMast.getCrnNo())){
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟寮傚父", 1, "璧峰搴撲綅涓庣洰鏍囧簱浣嶄笉鍐嶅悓涓�宸烽亾,param:"+JSON.toJSONString(param));
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
+ }
return R.error("璧峰搴撲綅涓庣洰鏍囧簱浣嶄笉鍐嶅悓涓�宸烽亾");
}
//绉诲簱浠诲姟鍒涘缓
@@ -417,6 +499,7 @@
@RequestBody WMSAndAGVInterfaceParam param,//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� 1锛氬彇娑� 2 瀹屾垚
HttpServletRequest request) {
auth(appkey, param, request);
+ param.updateIoTyoe(param.getIoType());//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴� ====杞崲涓�====> 1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
// param.updateTaskStatus(param.getTaskStatus());
if (Cools.isEmpty(param)){
return R.error("鍙傛暟涓虹┖锛�");
@@ -424,14 +507,11 @@
return R.error("宸ヤ綔鍙蜂负绌猴紒");
} else if (Cools.isEmpty(param.getIoType())){
return R.error("鎿嶄綔绫诲瀷涓虹┖锛�");
- } else if (Cools.isEmpty(param.getBarcode())){
- return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒");
}
TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
.eq("task_no", param.getTaskNo())
- .eq("io_type",param.getIoType())
- .eq("barcode",param.getBarcode()));
+ .eq("io_type",param.getIoType()));
if (Cools.isEmpty(taskWrk)){
return R.error("鏈煡鍒板綋鍓嶄换鍔�---"+param);
}
@@ -475,8 +555,19 @@
auth(appkey, "璁惧鐘舵�佹煡璇㈡帴鍙�", request);
List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
List<Object> list = new ArrayList<>();
+ WcsStatusResponseModel wcsStatusResponseModel = new WcsStatusResponseModel();
for (BasDevp basDevp:basDevps){
- list.add(basDevp);
+ BasDevpWmsParam basDevpWmsParam = new BasDevpWmsParam();
+ basDevpWmsParam.setDevNo(basDevp.getDevNo());
+ basDevpWmsParam.setWrkNo(basDevp.getWrkNo().longValue());
+ basDevpWmsParam.setAutoing(basDevp.getAutoing());
+ basDevpWmsParam.setLoading(basDevp.getLoading());
+ basDevpWmsParam.setInEnable(basDevp.getInEnable());
+ basDevpWmsParam.setOutEnable(basDevp.getOutEnable());
+ basDevpWmsParam.setDevErr(basDevp.getStaErr().longValue());
+ basDevpWmsParam.setDevErrM(basDevpWmsParam.getDevErr$());
+// list.add(basDevpWmsParam);
+ wcsStatusResponseModel.getChainList().add(basDevpWmsParam);
}
List<BasCrnpWmsParam> basCrnpWmsParamList = new ArrayList<>();
for (CrnSlave crn : slaveProperties.getCrn()) {
@@ -493,21 +584,82 @@
basCrnpWmsParam.sync(basCrnp);
basCrnpWmsParam.setCrnNoH(crnProtocol.getLaneNo());
+ basCrnpWmsParam.setCrnSts(crnProtocol.getStatus().intValue());
+
+ try{
+ BasCrnError basCrnError = basCrnErrorService.selectById(crnProtocol.getAlarm());
+ basCrnpWmsParam.setCrnErrM(basCrnError.getErrName());
+ } catch (Exception e){
+ basCrnpWmsParam.setCrnErrM("鏈煡寮傚父");
+ }
+ if (crnProtocol.getMode()!=3){
+ basCrnpWmsParam.setCrnErr(999L);
+ basCrnpWmsParam.setCrnErrM("闈炶嚜鍔紒锛侊紒");
+ }
basCrnpWmsParamList.add(basCrnpWmsParam);
- BasCrnError basCrnError = basCrnErrorService.selectById(basCrnp.getCrnErr());
- basCrnpWmsParam.setCrnErrM(basCrnError.getErrName());
-
- list.add(basCrnpWmsParam);
+// list.add(basCrnpWmsParam);
}
+ wcsStatusResponseModel.setPilingCarList(basCrnpWmsParamList);
for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
+ RgvProtocol rgvStatus = RgvStatusCache.getRgvStatus(rgvSlave.getId());
+ if (Cools.isEmpty(rgvStatus)){
+ continue;
+ }
+ BasRgvWmsParam basRgvWmsParam = new BasRgvWmsParam();
+ basRgvWmsParam.setWrkNo(rgvStatus.getTaskNo());
+ basRgvWmsParam.setCrnSts(rgvStatus.getStatus().intValue());
+ basRgvWmsParam.setStatusType(rgvStatus.getStatusType().desc);
+ basRgvWmsParam.setSteNo(rgvSlave.getId());
+ basRgvWmsParam.setSteErr(rgvStatus.getAlarm().longValue());
+ basRgvWmsParam.setSteErrM(rgvStatus.getAlarmM());
+// try{
+// BasRgvErr basRgvErr = basRgvErrService.selectById((long)rgvStatus.getAlarm$());
+//
+// basRgvWmsParam.setSteErrM(basRgvErr.getErrName());
+// } catch (Exception e){
+// basRgvWmsParam.setSteErrM("鏈煡寮傚父");
+// }
+ if (rgvStatus.getMode()!=1){
+ basRgvWmsParam.setSteErr(999L);
+ basRgvWmsParam.setSteErrM("闈炶嚜鍔紒锛侊紒");
+ }
+// list.add(basRgvWmsParam);
+ wcsStatusResponseModel.getRgvList().add(basRgvWmsParam);
}
// List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
// for (BasCrnp basCrnp:basCrnps){
// list.add(basCrnp);
// }
- return R.ok(list);
+ return R.ok(wcsStatusResponseModel);
+ }
+
+ //璁惧鐘舵�佹煡璇㈡帴鍙�
+ @PostMapping("/taskWrkLogs")
+ @Transactional
+ public R taskWrkLogs(@RequestHeader String appkey,
+ HttpServletRequest request) {
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<>());
+ return R.ok(taskWrkLogs);
+ }
+
+ //璁惧鐘舵�佹煡璇㈡帴鍙�
+ @PostMapping("/error")
+ @Transactional
+ public R errorRgv(@RequestHeader String appkey,
+ HttpServletRequest request) {
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<>());
+ return R.ok(taskWrkLogs);
+ }
+
+ //璁惧鐘舵�佹煡璇㈡帴鍙�
+ @PostMapping("/wrkNo/wmsTaskNo")
+ @Transactional
+ public R wrkNoWmsTaskNo(@RequestHeader String appkey,
+ HttpServletRequest request) {
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<>());
+ return R.ok(taskWrkLogs);
}
--
Gitblit v1.9.1