From 16c2b2af2ac3c9c4bc2496a171d041a48514906e Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 23 四月 2026 09:18:20 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/controller/RgvController.java | 142 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 121 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 08ca18c..4e199ec 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -1,6 +1,6 @@
package com.zy.asrs.controller;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -10,10 +10,7 @@
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasRgvErrMapper;
-import com.zy.asrs.service.BasCircularShuttleService;
-import com.zy.asrs.service.BasDevpPositionService;
-import com.zy.asrs.service.BasRgvService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.NumUtils;
import com.zy.asrs.utils.Utils;
@@ -39,7 +36,6 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import javax.rmi.CORBA.Util;
import java.util.*;
/**
@@ -58,7 +54,13 @@
@Autowired
private BasRgvErrMapper basRgvErrMapper;
@Autowired
+ private BasRgvErrLogService basRgvErrLogService;
+ @Autowired
+ private BasRgvOptService basRgvOptService;
+ @Autowired
private BasRgvService basRgvService;
+ @Autowired
+ private BasDevpService basDevpService;
@Autowired
private MainServiceImpl mainService;
@Autowired
@@ -73,7 +75,7 @@
@ManagerAuth(memo = "RGV淇℃伅琛�")
public R rgvStateTable(){
List<RgvStateTableVo> list = new ArrayList<>();
- List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+ List<BasRgv> rgvs = basRgvService.list(new QueryWrapper<BasRgv>().orderByAsc("rgv_no"));
for (BasRgv basRgv : rgvs) {
// 琛ㄦ牸琛�
RgvStateTableVo vo = new RgvStateTableVo();
@@ -112,7 +114,7 @@
@ManagerAuth(memo = "RGV鏁版嵁琛�")
public R rgvMsgTable(){
List<RgvMsgTableVo> list = new ArrayList<>();
- List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+ List<BasRgv> rgvs = basRgvService.list(new QueryWrapper<BasRgv>().orderByAsc("rgv_no"));
for (BasRgv basRgv : rgvs) {
// 琛ㄦ牸琛�
RgvMsgTableVo vo = new RgvMsgTableVo();
@@ -130,7 +132,7 @@
vo.setWorkNo(rgvProtocol.getTaskNo1()); // 浠诲姟鍙�
if (rgvProtocol.getTaskNo1()>0) {
- WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1());
+ WrkMast wrkMast = wrkMastService.getById(rgvProtocol.getTaskNo1());
if (wrkMast != null) {
vo.setStatus(RgvStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
@@ -352,12 +354,17 @@
// double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
// double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
double[] doubles = Utils.getRgvPosNew(perimeter, rgvProtocol.RgvPos.doubleValue());
-// double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
- ringThroughParam.setValueX(doubles[0]-2.94);
- ringThroughParam.setValueY(doubles[1]-2.94);
+ ringThroughParam.setValueX(doubles[0]);//
+ ringThroughParam.setValueY(doubles[1]);//
+ ringThroughParam.setRgvPosMax(new Object[]{"el_1775520471475", 0L, perimeter});
+ ringThroughParam.setRgvPos(rgvProtocol.RgvPos);
ringThroughParam.setModeColor(rgvProtocol.modeType.color);
ringThroughParam.setStatusColor(rgvProtocol.statusType.color);
+// ringThroughParam.setRgvPosR(1);
+ if (rgvProtocol.getModeType() == RgvModeType.AUTO){
+ ringThroughParam.setAnimation(2);
+ }
result.add(ringThroughParam);
}
return R.ok().add(result);
@@ -368,13 +375,44 @@
// 绔欑偣浣嶇疆淇℃伅
public R ringThroughDev(){
List<RingThroughParam> result = new ArrayList<>();
- List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
+ List<BasDevpPosition> basDevpPositions = basDevpPositionService.list(new QueryWrapper<>());
for (BasDevpPosition basDevpPosition : basDevpPositions){
+ if (basDevpPosition.getDevRegion() == 0){
+ continue;
+ }
RingThroughParam ringThroughParam = new RingThroughParam();
+
+ ringThroughParam.setModeColor("#FFFFFF");
+ ringThroughParam.setStatusColor("#FFFFFF");
+ try{
+ BasDevp basDevp = basDevpService.getOne(new QueryWrapper<BasDevp>().eq("dev_no",basDevpPosition.getDevNo()));
+ if (basDevp.getAutoing().equals("Y")){
+ if (basDevp.getLoading().equals("Y")){
+ ringThroughParam.setModeColor("#ab1839");
+ ringThroughParam.setStatusColor("#ab1839");
+ }
+ if (basDevp.getLoading().equals("N")){
+ ringThroughParam.setModeColor("#27AE60");
+ ringThroughParam.setStatusColor("#27AE60");
+ }
+ } else {
+ ringThroughParam.setModeColor("#C0392B");
+ ringThroughParam.setStatusColor("#C0392B");
+ }
+
+ } catch (Exception e){
+ System.out.println(e.getMessage());
+ ringThroughParam.setModeColor("#000000");
+ ringThroughParam.setStatusColor("#000000");
+
+ }
ringThroughParam.setIndex(basDevpPosition.getDevNo());
- double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
- ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
- ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
+// double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
+// ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
+// ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
+ double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),perimeter, basDevpPosition.getPlcPosition());
+ ringThroughParam.setValueX(doubles[0]);
+ ringThroughParam.setValueY(doubles[1]);
result.add(ringThroughParam);
}
return R.ok().add(result);
@@ -423,7 +461,7 @@
// @ManagerAuth(memo = "浣滀笟淇℃伅")
public R ringThroughTaskWrkMast(){
List<RgvWrkMastParam> result = new ArrayList<>();
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>());
+ List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<>());
for (WrkMast wrkMast : wrkMasts){
RgvWrkMastParam rgvWrkMastParam = new RgvWrkMastParam(wrkMast);
if (Cools.isEmpty(rgvWrkMastParam.getRgvNo())){
@@ -446,26 +484,69 @@
return R.ok().add(result);
}
+ @PostMapping("/ring/through/task/wrk/mast/position/data/v1")
+// @ManagerAuth(memo = "浣滀笟淇℃伅")
+ public R ringThroughTaskWrkMastV1(){
+ List<BasRgvOpt> result = new ArrayList<>();
+ for (int i = 1 ; i<11; i ++){
+ BasRgvOpt basRgvOpt = basRgvOptService.getOne(new QueryWrapper<BasRgvOpt>().eq("rgv_no", i).orderByDesc("id"));
+ if (basRgvOpt!=null){
+ result.add(basRgvOpt);
+ }
+ }
+ return R.ok().add(result);
+ }
+
@PostMapping("/task/rgv/circular/shuttle/mast/position/data")
// @ManagerAuth(memo = "浣滀笟淇℃伅")
public R rgvCircularShuttle(){
List<RgvCircularShuttleParam> result = new ArrayList<>();
- List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<>());
+ List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.list(new QueryWrapper<>());
for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){
RgvCircularShuttleParam rgvCircularShuttleParam = new RgvCircularShuttleParam(basCircularShuttle);
if (!Cools.isEmpty(rgvCircularShuttleParam.getRgvNo())){
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvCircularShuttleParam.getRgvNo());
if (rgvThread != null) {
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ rgvCircularShuttleParam.setTaskNo(rgvProtocol.getTaskNo1().intValue());
+ rgvCircularShuttleParam.setMode(rgvProtocol.getMode().intValue());
if (rgvProtocol != null) {
rgvCircularShuttleParam.setPosition(rgvProtocol.getRgvPos());
if (rgvCircularShuttleParam.getStatus()==0){
rgvCircularShuttleParam.setStatus$(rgvProtocol.statusType.desc);
}
+ if (rgvProtocol.getAlarmList().isEmpty()){
+ rgvCircularShuttleParam.setError(0);
+ rgvCircularShuttleParam.setError$("-");
+ } else {
+ StringBuilder alarmList = new StringBuilder();
+ for (Integer alarm : rgvProtocol.getAlarmList()){
+ BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm);
+ alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "鏈煡寮傚父:"+alarm:rgvErr.getErrName());
+ if (alarm.equals(rgvProtocol.getAlarmList().get(rgvProtocol.getAlarmList().size() - 1))){
+ break;
+ }
+ alarmList.append("---");
+ }
+ rgvCircularShuttleParam.setError$(alarmList.toString());
+ }
}
}
}
result.add(rgvCircularShuttleParam);
+ }
+ return R.ok().add(result);
+ }
+
+ @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1")
+// @ManagerAuth(memo = "浣滀笟淇℃伅")
+ public R rgvCircularShuttleV1(){
+ List<BasRgvErrLog> result = new ArrayList<>();
+ for (int i = 1 ; i<11; i ++){
+ BasRgvErrLog basRgvErrLog = basRgvErrLogService.getOne(new QueryWrapper<BasRgvErrLog>().eq("rgv_no", i).orderByDesc("id"));
+ if (basRgvErrLog!=null){
+ result.add(basRgvErrLog);
+ }
}
return R.ok().add(result);
}
@@ -476,7 +557,7 @@
public R rgvDisableStatus(@RequestParam Integer rgvNo,
@RequestParam Integer status){
log.info("/disable/rgv/status===銆嬩慨鏀筊GV鐘舵�侊紒锛侊紒rgvNo:{},status:{},data:{}",rgvNo,status,new Date());
- BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_no", rgvNo));
+ BasCircularShuttle basCircularShuttle = basCircularShuttleService.getOne(new QueryWrapper<BasCircularShuttle>().eq("rgv_no", rgvNo));
if (basCircularShuttle == null){
return R.error().add("鏈壘鍒版RGV锛屽紓甯革紒锛侊紒");
}
@@ -489,12 +570,31 @@
// @ManagerAuth(memo = "鍒犻櫎浠诲姟")
public R taskDisabledelete(@RequestParam Long wrkNo){
log.info("/disable/task/delete===銆嬪垹闄や换鍔★紒锛侊紒wrkNo:{},data:{}",wrkNo,new Date());
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
+ WrkMast wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wrk_no", wrkNo));
if (Cools.isEmpty(wrkMast)){
return R.error().add("鏈壘鍒版浠诲姟锛屽紓甯革紒锛侊紒");
}
- wrkMastService.deleteById(wrkMast);
+ wrkMastService.removeById(wrkMast);
return R.ok();
}
+ @PostMapping("/disable/task/delete1")
+// @ManagerAuth(memo = "鍒濆鍖栦换鍔�")
+ public R taskDisabledelete1(@RequestParam Long wrkNo){
+ Date now = new Date();
+ log.info("/disable/task/delete1===銆嬪垵濮嬪寲浠诲姟锛侊紒锛亀rkNo:{},data:{}",wrkNo,new Date());
+ WrkMast wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wrk_no", wrkNo));
+ if (Cools.isEmpty(wrkMast)){
+ return R.error().add("鏈壘鍒版浠诲姟锛屽紓甯革紒锛侊紒");
+ }
+ wrkMast.setWrkSts(1L);
+ wrkMast.setRgvNo(0);
+ wrkMast.setAppeTime(now);
+ wrkMast.setLogErrTime(now);
+ if (wrkMastService.updateById(wrkMast)){
+ return R.ok();
+ }
+ return R.error("鍒濆鍖栧け璐ワ紒锛侊紒");
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1