From cab03b05c45ad43085d7e54c946759690911916c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 四月 2024 15:53:01 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java | 67 ++++++++++++++-------
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LocStsType.java | 38 ++++++++++++
zy-asrs-wcs/src/main/resources/application.yml | 4
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/Loc.java | 34 ++++++-----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/controller/MapController.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocStsService.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java | 7 ++
7 files changed, 113 insertions(+), 41 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/Loc.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/Loc.java
index 6519c5d..751e401 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/Loc.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/Loc.java
@@ -1,29 +1,24 @@
package com.zy.asrs.wcs.core.entity;
-import com.baomidou.mybatisplus.annotation.*;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wcs.core.service.LocCtgService;
import com.zy.asrs.wcs.core.service.LocStsService;
import com.zy.asrs.wcs.core.service.ZoneService;
import com.zy.asrs.wcs.system.entity.Host;
import com.zy.asrs.wcs.system.entity.User;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import io.swagger.annotations.ApiModel;
+import com.zy.asrs.wcs.system.service.HostService;
+import com.zy.asrs.wcs.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import com.zy.asrs.framework.common.Cools;
-import com.zy.asrs.framework.common.SpringUtils;
-import com.zy.asrs.wcs.system.service.UserService;
-import com.zy.asrs.wcs.system.service.HostService;
+import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
+import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@@ -244,6 +239,15 @@
return null;
}
+ public String getLocStsFlag(){
+ LocStsService service = SpringUtils.getBean(LocStsService.class);
+ LocSts locSts = service.getById(this.locSts);
+ if (!Cools.isEmpty(locSts)){
+ return String.valueOf(locSts.getFlag());
+ }
+ return null;
+ }
+
public String getLocCtg$(){
LocCtgService service = SpringUtils.getBean(LocCtgService.class);
LocCtg locCtg = service.getById(this.locCtg);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/controller/MapController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/controller/MapController.java
index bb11dd9..6b9dd62 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/controller/MapController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/controller/MapController.java
@@ -48,7 +48,7 @@
// 绌挎杞� --------------------------------------------------------
@GetMapping("/shuttle/info")
public R shuttleInfo(@RequestParam String shuttleNo) {
- return R.ok().add(mapService.getShuttleInfo(shuttleNo, getHostId()));
+ return R.ok().add(mapService.getShuttleInfo(shuttleNo));
}
// 鎻愬崌鏈� --------------------------------------------------------
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
index 9d95cc3..29197d3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
@@ -5,11 +5,16 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.common.domain.enums.DictType;
+import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.map.controller.param.MapDataParam;
import com.zy.asrs.wcs.core.map.controller.param.MapQueryParam;
import com.zy.asrs.wcs.core.map.controller.result.LiftVo;
import com.zy.asrs.wcs.core.map.controller.result.LocVo;
import com.zy.asrs.wcs.core.map.controller.result.ShuttleVo;
+import com.zy.asrs.wcs.core.map.entity.MapItem;
+import com.zy.asrs.wcs.core.model.enums.LocStsType;
+import com.zy.asrs.wcs.core.service.LocService;
+import com.zy.asrs.wcs.core.service.LocStsService;
import com.zy.asrs.wcs.core.utils.Utils;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
import com.zy.asrs.wcs.rcs.entity.Device;
@@ -25,6 +30,7 @@
import com.zy.asrs.wcs.system.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@@ -42,6 +48,10 @@
private DeviceTypeService deviceTypeService;
@Autowired
private DeviceService deviceService;
+ @Autowired
+ private LocService locService;
+ @Autowired
+ private LocStsService locStsService;
public String getMapFloorList(Long userId) {
String floorKey = "floor-list";
@@ -67,7 +77,10 @@
return Optional.ofNullable(dict).map(Dict::getValue).orElse(null);
}
+ @Transactional
public void saveMapData(MapDataParam param, Long userId) {
+ Date now = new Date();
+ // dict
String mapKey = getMapKey(param.getFloor());
Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, mapKey));
if (Cools.isEmpty(dict)) {
@@ -89,6 +102,27 @@
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
}
}
+ // loc
+ locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev, param.getFloor()));
+ for (MapItem item : param.getItemList()) {
+ Loc loc = new Loc();
+ loc.setRow(Integer.parseInt(String.valueOf(item.getProperty().get("row"))));
+ loc.setBay(Integer.parseInt(String.valueOf(item.getProperty().get("bay"))));
+ loc.setLev(param.getFloor());
+ String locNo = Utils.getLocNo(loc.getRow(), loc.getBay(), loc.getLev());
+ loc.setLocNo(locNo);
+ loc.setName(locNo);
+
+ loc.setLocSts(LocStsType.O.val());
+
+ loc.setCreateBy(userId);
+ loc.setCreateTime(now);
+ loc.setUpdateBy(userId);
+ loc.setUpdateTime(now);
+ if (!locService.save(loc)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+ }
+ }
}
@@ -96,17 +130,14 @@
List<LocVo> locVos = new ArrayList<>();
int row = Utils.getRow(locNo);
int bay = Utils.getBay(locNo);
-
-
- String[] statusOptions = {"F", "D", "O"};
- Random random = new Random();
- for (int lev = 1; lev < 6; lev++) {
- locVos.add(new LocVo(Utils.getLocNo(row, bay, lev), statusOptions[random.nextInt(statusOptions.length)]));
+ List<Loc> locList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getRow, row).eq(Loc::getBay, bay).orderByAsc(Loc::getLev));
+ for (Loc loc : locList) {
+ locVos.add(new LocVo(loc.getLocNo(), loc.getLocStsFlag()));
}
return locVos;
}
- public ShuttleVo getShuttleInfo(String shuttleNo, Long hostId) {
+ public ShuttleVo getShuttleInfo(String shuttleNo) {
ShuttleVo vo = new ShuttleVo();
vo.setShuttleNo(shuttleNo);
DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>().eq(DeviceType::getFlag, SlaveType.Shuttle.toString()));
@@ -115,7 +146,13 @@
return vo;
}
ShuttleThread thread = (ShuttleThread)SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue());
+ if (null == thread) {
+ return vo;
+ }
ShuttleProtocol protocol = thread.getStatus();
+ if (null == protocol) {
+ return vo;
+ }
vo.setTaskNo(String.valueOf(protocol.getTaskNo()));
vo.setStatus(protocol.getProtocolStatusType().desc);
vo.setOriginLocNo(protocol.getSourceLocNo());
@@ -164,22 +201,6 @@
" {\n" +
" label: '1F',\n" +
" value: 1\n" +
- " },\n" +
- " {\n" +
- " label: '2F',\n" +
- " value: 2\n" +
- " },\n" +
- " {\n" +
- " label: '3F',\n" +
- " value: 3\n" +
- " },\n" +
- " {\n" +
- " label: '4F',\n" +
- " value: 4\n" +
- " },\n" +
- " {\n" +
- " label: '5F',\n" +
- " value: 5\n" +
" },\n" +
"]";
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LocStsType.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LocStsType.java
new file mode 100644
index 0000000..09412a5
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LocStsType.java
@@ -0,0 +1,38 @@
+package com.zy.asrs.wcs.core.model.enums;
+
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wcs.core.entity.LocSts;
+import com.zy.asrs.wcs.core.service.LocStsService;
+
+public enum LocStsType {
+
+ D,
+ F,
+ O,
+ X,
+ ;
+
+ LocStsType() {
+ }
+
+ public long val() {
+ LocStsService service = SpringUtils.getBean(LocStsService.class);
+ LocSts entity = service.selectByFlag(this.toString());
+ if (entity == null) {
+ throw new CoolException("LocStsType Error!");
+ }
+ return entity.getId();
+ }
+
+
+ public static LocStsType get(String el) {
+ for (LocStsType value : LocStsType.values()) {
+ if (el.equals(value.toString())) {
+ return value;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocStsService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocStsService.java
index 534db76..61f19c7 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocStsService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/LocStsService.java
@@ -5,4 +5,6 @@
public interface LocStsService extends IService<LocSts> {
+ LocSts selectByFlag(String flag);
+
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
index 3bf08df..b0641c8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.wcs.core.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.wcs.core.entity.DeviceCtg;
import com.zy.asrs.wcs.core.mapper.LocStsMapper;
import com.zy.asrs.wcs.core.entity.LocSts;
import com.zy.asrs.wcs.core.service.LocStsService;
@@ -9,4 +11,9 @@
@Service("locStsService")
public class LocStsServiceImpl extends ServiceImpl<LocStsMapper, LocSts> implements LocStsService {
+ @Override
+ public LocSts selectByFlag(String flag) {
+ return this.getOne(new LambdaQueryWrapper<LocSts>().eq(LocSts::getFlag, flag));
+ }
+
}
diff --git a/zy-asrs-wcs/src/main/resources/application.yml b/zy-asrs-wcs/src/main/resources/application.yml
index 6c56228..92ea33e 100644
--- a/zy-asrs-wcs/src/main/resources/application.yml
+++ b/zy-asrs-wcs/src/main/resources/application.yml
@@ -18,9 +18,9 @@
# url: jdbc:mysql://47.97.1.152:3306/asrs?useUnicode=trKue&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
# username: root
# password: zy@123
- url: jdbc:mysql://localhost:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.2.95:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
- password: xltys1995
+ password: root
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://47.97.1.152:51433;databasename=jkasrs
# username: sa
--
Gitblit v1.9.1