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 | 526 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 424 insertions(+), 102 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 6f30d10..6752f1f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,20 +1,29 @@
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.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.TaskOverParam;
-import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam;
-import com.zy.asrs.entity.param.taskCreateParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
-import com.zy.common.utils.HttpHandler;
+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;
import org.springframework.beans.factory.annotation.Value;
@@ -23,16 +32,15 @@
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@Slf4j
@RestController
@RequestMapping("/open")
public class OpenController extends BaseController {
+ @Autowired
+ private SlaveProperties slaveProperties;
@Autowired
private OpenService openService;
@Autowired
@@ -45,9 +53,16 @@
private BasDevpService basDevpService;
@Autowired
private ApiLogService apiLogService;
-
+ @Autowired
+ private BasCrnpService basCrnpService;
@Autowired
private StaDescService staDescService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private BasRgvErrService basRgvErrService;
+ @Autowired
+ private BasCrnErrorServiceImpl basCrnErrorService;
@Value("${wms.url}")
private String wmsUrl;
@@ -57,6 +72,9 @@
public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{
add("ea1f0459efc02a79f046f982767939ae");
}};
+ @Autowired
+ private TaskWrkLogServiceImpl taskWrkLogService;
+
//agv浠诲姟瀹屾垚
@PostMapping("/toAgvTaskOver")
@AppAuth(memo = "agv浠诲姟瀹屾垚鎺ュ彛")
@@ -78,24 +96,71 @@
}
//鍒涘缓浠诲姟
- @PostMapping("/taskCreate")
- public R taskCreate(@RequestHeader String appkey,
- @RequestBody taskCreateParam param,
+ @PostMapping("/taskCreate2")
+ @AppAuth(memo = "WMS浠诲姟涓嬪彂")
+ @Transactional
+ public synchronized R taskCreate(@RequestHeader String appkey,
+ @RequestBody List<TaskCreateParam> param1,
HttpServletRequest request) {
- auth(appkey, param, request);
- if (Cools.isEmpty(param)) {
- return R.parse(BaseRes.PARAM);
+ auth(appkey, param1, request);
+ try{
+ List<TaskCreateParam> paramList = new ArrayList<>();
+ List<String> locNoList = new ArrayList<>();
+ for (TaskCreateParam param : param1) {
+ 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();
+ }else{
+ locNo=param.getStartPoint();
+ }
+ try{
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", locNo).ne("loc_sts","X"));
+ if (Cools.isEmpty(locMast)){
+ log.error("搴撲綅鍙蜂笉瀛樺湪"+locNo);
+ return R.error("搴撲綅鍙蜂笉瀛樺湪"+locNo).add("搴撲綅鍙蜂笉瀛樺湪"+locNo);
+ }
+ }catch (Exception e){
+ log.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
+ return R.error("搴撲綅鍙锋娴嬬▼搴忓紓甯�").add("搴撲綅鍙锋娴嬬▼搴忓紓甯�==銆嬪紓甯镐俊鎭�"+e);
+ }
+ LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts","F")
+ .eq("loc_no",locNo)
+ .eq("barcode",param.getBarcode()));
+ if(Cools.isEmpty(locMast)){
+ return R.error("璇ュ簱浣嶄笉婊¤冻鍑哄簱鏉′欢"+param.getTargetPoint());
+ }
+ if (!locNoList.contains(locMast.getLocNo())){
+ locNoList.add(locMast.getLocNo());
+ paramList.add(param);
+ }else {
+ return R.error("璇ュ簱浣嶄笉鑳藉悓鏃朵笅鍙戜袱绗斾换鍔�"+locMast.getLocNo());
+ }
+ }
+ for (TaskCreateParam param : paramList){
+ openService.taskCreate(param);
+ }
+ }catch (Exception e){
+ log.error("浠诲姟涓嬪彂寮傚父"+e);
+ return R.error();
}
- if (Cools.isEmpty(param.getTaskNo())) {
- return R.error("浠诲姟鍙穂taskNo]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getIoType())) {
- return R.error("浠诲姟绫诲瀷[ioType]涓嶈兘涓虹┖");
- }
- if (Cools.isEmpty(param.getBarcode())) {
- return R.error("鏉$爜[barcode]涓嶈兘涓虹┖");
- }
- openService.taskCreate(param);
return R.ok();
}
@@ -111,6 +176,44 @@
}
return R.ok().add(taskWrk);
}
+
+// //鍙栨斁璐х敵璇�
+// @PostMapping("/pick/and/place/v1")
+// @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
+// public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
+// @RequestBody TaskOverParam param,
+// HttpServletRequest request){
+// auth(appkey, param, request);
+// if (Cools.isEmpty(param)) {
+// return R.parse(BaseRes.PARAM);
+// }
+// if (Cools.isEmpty(param.getStaNo())){
+// return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+// }
+// if (Cools.isEmpty(param.getType())){
+// return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+// }
+// return openService.getAgvPickAndPlaceV1(param);
+// }
+
+// //鍙栨斁璐у畬鎴愬弽棣�
+// @PostMapping("/pick/and/place/v2")
+// @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
+// public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
+// @RequestBody TaskOverParam param,
+// HttpServletRequest request){
+// auth(appkey, param, request);
+// if (Cools.isEmpty(param)) {
+// return R.parse(BaseRes.PARAM);
+// }
+// if (Cools.isEmpty(param.getStaNo())){
+// return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+// }
+// if (Cools.isEmpty(param.getType())){
+// return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+// }
+// return openService.getAgvPickAndPlaceV2(param);
+// }
//鏌ヨ浠诲姟鎸囦护闆嗗悎
@GetMapping("/queryTaskCommand")
@@ -185,20 +288,26 @@
}
Map<String,Integer> map = new HashMap<>();
- map.put("J-1101",102);map.put("J-1102",101);
- map.put("J-1103",106);map.put("J-1104",105);
- map.put("J-1105",110);map.put("J-1106",109);
- map.put("J-1107",114);map.put("J-1108",113);
- map.put("J-1109",118);map.put("J-1110",117);
- map.put("J-1111",122);map.put("J-1112",121);
-
- StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_desc", param.getWharfCode()));
-
- if (Cools.isEmpty(staDesc)){
- return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�");
+ map.put("J-1102",102);map.put("J-1101",101);
+ map.put("J-1103",105);map.put("J-1104",106);
+ map.put("J-1105",109);map.put("J-1106",110);
+ map.put("J-1107",113);map.put("J-1108",114);
+ map.put("J-1109",117);map.put("J-1110",118);
+ map.put("J-1111",121);map.put("J-1112",122);
+ map.put("H-1102",300);map.put("H-1101",305);
+ map.put("G-1102",400);map.put("G-1101",405);
+// StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+// .eq("stn_desc", param.getWharfCode()));
+//
+// if (Cools.isEmpty(staDesc)){
+// return R.error("绋嬪簭鎶ラ敊锛屾湭鏌ヨ鍒扮珯鐐�");
+// }
+ if (Cools.isEmpty(map.get(param.getWharfCode()))){
+ return R.error("鏈煡璇㈠埌绔欑偣");
}
BasDevp basDevp = basDevpService.selectById(map.get(param.getWharfCode()));
- if (basDevp.getAutoing().equals("Y")){
+// BasDevp basDevp = basDevpService.selectById(staDesc.getStnNo());
+ if (basDevp.getAutoing().equals("Y") && (basDevp.getInEnable().equals("Y") || basDevp.getOutEnable().equals("Y"))){
apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
,request.getRemoteAddr()+request.getRequestURI()
,appkey
@@ -207,7 +316,7 @@
,R.ok().toString()
,true
);
- return R.ok();
+ return R.ok("鍙叆");
}else {
apiLogService.save("AGV璇锋眰鍏ュ簱鐮佸ご鎺ュ彛"
,request.getRemoteAddr()+request.getRequestURI()
@@ -227,96 +336,195 @@
}
//浠诲姟涓嬪彂鎺ュ彛
- @PostMapping("/outboundTaskSend")
+// @PostMapping("/outboundTaskSend")
+ @PostMapping("/taskCreate")
+ @AppAuth(memo = "浠诲姟涓嬪彂鎺ュ彛")
@Transactional
public R outboundTaskSend(@RequestHeader String appkey,
- @RequestBody List<WMSAndAGVInterfaceParam> params,
+ @RequestBody List<CarryParam> params,//涓埅涓嬪彂 1锛氬嚭搴擄紝2锛氱Щ搴� 3锛氬叆搴�
HttpServletRequest request) {
- auth(appkey, params, request);
- List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
- for (WMSAndAGVInterfaceParam param:params){
- try {
- if (Cools.isEmpty(param)){
- return R.error("鍙傛暟涓虹┖锛�");
- } else if (Cools.isEmpty(param.getTaskNo())){
- return R.error("浠诲姟鍙蜂负绌猴紒");
- } else if (Cools.isEmpty(param.getTaskType())){
- return R.error("浠诲姟绫诲瀷涓虹┖锛�");
- } else if (Cools.isEmpty(param.getWarehouseId())){
- return R.error("浠撳簱鏍囪瘑涓虹┖锛�");
- }
- if (Cools.isEmpty(param.getTaskPriority())){
- param.setTaskPriority(1);
- }
- if (Cools.isEmpty(param.getContainerCode())){
- return R.error("瀹瑰櫒缂栫爜(鎵樼洏鐮�)涓虹┖锛�");
- }
- if (Cools.isEmpty(param.getEmptyContainer())){
- return R.error("鏄惁绌烘墭鐩樹俊鍙蜂负绌猴紒");
- }
-// if (Cools.isEmpty(param.getTaskTunnel())){
-// return R.error("浠诲姟宸烽亾涓虹┖锛�");
-// }
-// if (Cools.isEmpty(param.getGroupNo())){
-// return R.error("浠诲姟缁勪负绌猴紒");
-// }
-// if (Cools.isEmpty(param.getTaskSerialNo())){
-// return R.error("浠诲姟鎵ц椤哄簭涓虹┖锛�");
-// }
- if (Cools.isEmpty(param.getTargetWharf())){
- return R.error("鐩爣鐮佸ご鍖哄煙涓虹┖锛�");//G寮�澶�=7杞﹂棿锛孒寮�澶�=8灞傦紝J寮�澶�=9杞﹂棿
- }
- openService.taskCreate(new taskCreateParam(param));
-
- params1.add(param);
-// return R.ok(param);
- }catch (Exception e){
- String errorMsg = Cools.isEmpty(e.getLocalizedMessage()) ? "" : e.getLocalizedMessage();
- return R.error("鐢熸垚浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�!"+ errorMsg);
- }
+ try{
+ DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class);
+ deviceErrorService.addDeviceError("wms涓嬪彂浠诲姟", 1, "wms浠诲姟涓嬪彂,浠诲姟鏁�:"+params.size());
+ } catch (Exception e2){
+// log.error("e2:"+e2.getMessage());
}
- return R.ok(params1);
+ auth(appkey, params, request);
+// List<WMSAndAGVInterfaceParam> params1 =new ArrayList<>();
+ for (CarryParam param:params){
+ 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("瀹瑰櫒缂栫爜(鎵樼洏鐮�)涓虹┖锛�");
+// }
+// if (Cools.isEmpty(param.getEmptyContainer())){
+// return R.error("鏄惁绌烘墭鐩樹俊鍙蜂负绌猴紒");
+// }
+// if (!param.getTaskType().equals("YK")){
+// if (Cools.isEmpty(param.getTargetWharf())){
+// return R.error("鐩爣鐮佸ご鍖哄煙涓虹┖锛�");//G寮�澶�=7杞﹂棿锛孒寮�澶�=8灞傦紝J寮�澶�=9杞﹂棿
+// }
+// }
+
+
+ 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("鍒濆搴撲綅鏃犳硶鎵惧埌");
+ }
+
+ R r = null;
+
+ if(param.getIoType() == 1){
+ //鍏ュ簱浠诲姟鍒涘缓
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("type_no",1)
+ .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(),staDesc.getCrnStn()));
+
+ }else if(param.getIoType() == 2){
+ //鍑哄簱浠诲姟鍒涘缓
+ StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+ .eq("type_no",2)
+ .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(),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("璧峰搴撲綅涓庣洰鏍囧簱浣嶄笉鍐嶅悓涓�宸烽亾");
+ }
+ //绉诲簱浠诲姟鍒涘缓
+ r = openService.taskCreate(new TaskCreateParam(param,locMast.getCrnNo()));
+ }
+
+ apiLogService.save("Wms浠诲姟涓嬪彂鎺ュ彛"
+ ,request.getRemoteAddr()+request.getRequestURI()
+ ,appkey
+ ,request.getRemoteAddr()
+ ,JSON.toJSONString(param)
+ ,r.toString()
+ ,true
+ );
+
+ }
+
+ return R.ok();
}
//浠诲姟鍙栨秷鎺ュ彛
@PostMapping("/taskCancel")
public R taskCancel(@RequestHeader String appkey,
- @RequestBody WMSAndAGVInterfaceParam param,
+ @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("鍙傛暟涓虹┖锛�");
} else if (Cools.isEmpty(param.getTaskNo())){
return R.error("宸ヤ綔鍙蜂负绌猴紒");
- } else if (Cools.isEmpty(param.getTaskStatus())){
+ } else if (Cools.isEmpty(param.getIoType())){
return R.error("鎿嶄綔绫诲瀷涓虹┖锛�");
}
-// else if (Cools.isEmpty(param.getWarehouseId())){
-// return R.error("浠撳簱鏍囪瘑涓虹┖锛�");
-// }
- TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("task_no", param.getTaskNo()));
+ TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>()
+ .eq("task_no", param.getTaskNo())
+ .eq("io_type",param.getIoType()));
if (Cools.isEmpty(taskWrk)){
- return R.error("鏈煡鍒板綋鍓嶄换鍔�");
+ return R.error("鏈煡鍒板綋鍓嶄换鍔�---"+param);
}
boolean sign =false;
switch (param.getTaskStatus()){
case 1://姝e父鍙栨秷
- if (taskWrk.getWrkSts()>1){
+ if (taskWrk.getStatus()>1){
return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- case 2://寮哄埗鍙栨秷
- if (taskWrk.getWrkSts()>3){
- return R.error("浠诲姟宸叉墽琛屽畬鎴�");
}
break;
- case 3://姝e父瀹屾垚
- if (taskWrk.getWrkSts()>11){
+ case 2://姝e父瀹屾垚
+ if (taskWrk.getStatus()>1){
return R.error("浠诲姟宸插紑濮嬫墽琛�");
- }
- case 4://寮哄埗瀹屾垚
- if (taskWrk.getWrkSts()>14){
- return R.error("浠诲姟宸叉墽琛屽畬鎴�");
}
sign=true;
break;
@@ -339,6 +547,120 @@
}
}
+ //璁惧鐘舵�佹煡璇㈡帴鍙�
+ @PostMapping("/deviceStatus")
+ @Transactional
+ public R deviceStatus(@RequestHeader String appkey,
+ HttpServletRequest request) {
+ auth(appkey, "璁惧鐘舵�佹煡璇㈡帴鍙�", request);
+ List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<Object> list = new ArrayList<>();
+ WcsStatusResponseModel wcsStatusResponseModel = new WcsStatusResponseModel();
+ for (BasDevp basDevp:basDevps){
+ 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()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) { continue; }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
+ BasCrnpWmsParam basCrnpWmsParam = new BasCrnpWmsParam();
+ 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);
+
+// 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(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