From abb1b534654049fa6e52f2175195b69de374885a Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Fri, 20 Jun 2025 18:06:46 +0800 Subject: [PATCH] =?UTF-8?q?opt:1.=E5=A2=9E=E5=8A=A0AGV=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrajectoryBackgroundController.java | 66 +++++ .../TrajectoryConfigurationController.java | 66 +++++ .../trajectory/TrajectoryController.java | 37 +++ .../TrajectoryBackgroundService.java | 50 ++++ .../TrajectoryConfigurationService.java | 50 ++++ .../service/trajectory/TrajectoryService.java | 18 ++ .../trajectory/dto/TrajectoryBackground.java | 103 +++++++ .../dto/TrajectoryConfiguration.java | 86 ++++++ .../impl/TrajectoryBackgroundImpl.java | 92 ++++++ .../impl/TrajectoryConfigurationImpl.java | 91 ++++++ .../trajectory/impl/TrajectoryImpl.java | 75 +++++ .../mapper/TrajectoryBackgroundMapper.java | 12 + .../mapper/TrajectoryConfigurationMapper.java | 11 + .../configuration/trajectory_configuration.js | 27 ++ .../api/trajectory/trajectory_background.js | 27 ++ .../src/components/ShowTrack/index.vue | 164 +++++++++++ .../src/components/ShowTrack/track.js | 87 ++++++ acs/nladmin-ui/src/router/routers.js | 3 +- .../system/trajectory/configuration/index.vue | 270 ++++++++++++++++++ .../src/views/system/trajectory/index.vue | 270 ++++++++++++++++++ acs/nladmin-ui/src/views/track/showTrack.vue | 24 ++ 21 files changed, 1628 insertions(+), 1 deletion(-) create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryBackgroundController.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryConfigurationController.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryController.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryBackgroundService.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryConfigurationService.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryService.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryBackground.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryConfiguration.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryBackgroundImpl.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryConfigurationImpl.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryBackgroundMapper.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryConfigurationMapper.java create mode 100644 acs/nladmin-ui/src/api/trajectory/configuration/trajectory_configuration.js create mode 100644 acs/nladmin-ui/src/api/trajectory/trajectory_background.js create mode 100644 acs/nladmin-ui/src/components/ShowTrack/index.vue create mode 100644 acs/nladmin-ui/src/components/ShowTrack/track.js create mode 100644 acs/nladmin-ui/src/views/system/trajectory/configuration/index.vue create mode 100644 acs/nladmin-ui/src/views/system/trajectory/index.vue create mode 100644 acs/nladmin-ui/src/views/track/showTrack.vue diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryBackgroundController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryBackgroundController.java new file mode 100644 index 0000000..fa146df --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryBackgroundController.java @@ -0,0 +1,66 @@ +package org.nl.system.controller.trajectory; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.system.service.trajectory.TrajectoryBackgroundService; +import org.nl.system.service.trajectory.dto.TrajectoryBackground; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +@RestController +@RequestMapping("/api/trajectoryBackground") +@RequiredArgsConstructor +@Slf4j +@SaIgnore +public class TrajectoryBackgroundController { + + @Resource + private TrajectoryBackgroundService trajectoryBackgroundService; + + @GetMapping + @Log("查询轨迹背景图") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(trajectoryBackgroundService.queryAll(whereJson, page)), HttpStatus.OK); + } + + @PostMapping + @Log("新增轨迹背景图") + public ResponseEntity create(@Validated @RequestBody TrajectoryBackground trajectoryBackground) { + trajectoryBackgroundService.create(trajectoryBackground); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PutMapping + @Log("修改轨迹背景图") + public ResponseEntity update(@Validated @RequestBody TrajectoryBackground entity) { + trajectoryBackgroundService.update(entity); + return new ResponseEntity<>(HttpStatus.OK); + } + + @DeleteMapping + @Log("删除轨迹背景图") + public ResponseEntity delete(@RequestBody Set ids) { + trajectoryBackgroundService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/queryAllEnable") + @SaIgnore + public ResponseEntity queryAllEnable() { + return new ResponseEntity<>(TableDataInfo.build(trajectoryBackgroundService.queryAllEnable()), HttpStatus.OK); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryConfigurationController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryConfigurationController.java new file mode 100644 index 0000000..3e25fa5 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryConfigurationController.java @@ -0,0 +1,66 @@ +package org.nl.system.controller.trajectory; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.system.service.trajectory.TrajectoryConfigurationService; +import org.nl.system.service.trajectory.dto.TrajectoryConfiguration; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +@RestController +@RequestMapping("/api/trajectoryConfiguration") +@RequiredArgsConstructor +@Slf4j +@SaIgnore +public class TrajectoryConfigurationController { + + @Resource + private TrajectoryConfigurationService trajectoryConfigurationService; + + @GetMapping + @Log("查询轨迹设备配置") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(trajectoryConfigurationService.queryAll(whereJson, page)), HttpStatus.OK); + } + + @PostMapping + @Log("新增轨迹设备配置") + public ResponseEntity create(@Validated @RequestBody TrajectoryConfiguration trajectoryConfiguration) { + trajectoryConfigurationService.create(trajectoryConfiguration); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PutMapping + @Log("修改轨迹设备配置") + public ResponseEntity update(@Validated @RequestBody TrajectoryConfiguration entity) { + trajectoryConfigurationService.update(entity); + return new ResponseEntity<>(HttpStatus.OK); + } + + @DeleteMapping + @Log("删除轨迹设备配置") + public ResponseEntity delete(@RequestBody Set ids) { + trajectoryConfigurationService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/queryAllEnable") + @SaIgnore + public ResponseEntity queryAllEnable() { + return new ResponseEntity<>(TableDataInfo.build(trajectoryConfigurationService.queryAllEnable()), HttpStatus.OK); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryController.java new file mode 100644 index 0000000..9b25f4d --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/trajectory/TrajectoryController.java @@ -0,0 +1,37 @@ +package org.nl.system.controller.trajectory; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.logging.annotation.Log; +import org.nl.system.service.trajectory.TrajectoryService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author dsh + * 2025/6/19 + */ +@RestController +@RequestMapping("/api/trajectory") +@RequiredArgsConstructor +@Slf4j +@SaIgnore +public class TrajectoryController { + + @Resource + private TrajectoryService trajectoryService; + + @PostMapping("/queryDevice") + @Log(value = "查询设备状态") + @SaIgnore + public ResponseEntity queryDevice(@RequestBody String whereJson) throws Exception { + return new ResponseEntity<>(trajectoryService.queryDevice(whereJson), HttpStatus.OK); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryBackgroundService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryBackgroundService.java new file mode 100644 index 0000000..f85a383 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryBackgroundService.java @@ -0,0 +1,50 @@ +package org.nl.system.service.trajectory; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.acs.common.base.CommonService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.trajectory.dto.TrajectoryBackground; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +public interface TrajectoryBackgroundService extends CommonService { + + /** + * 分页 + * @param whereJson + * @param page + * @return + */ + IPage queryAll(Map whereJson, PageQuery page); + + /** + * 创建 + * @param entity + */ + void create(TrajectoryBackground entity); + + /** + * 更新 + * @param entity + */ + void update(TrajectoryBackground entity); + + /** + * 删除 + * @param ids + */ + void deleteAll(Set ids); + + /** + * 查询所有已启用的配置设备 + * @return List + */ + List queryAllEnable(); + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryConfigurationService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryConfigurationService.java new file mode 100644 index 0000000..b4fd9e8 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryConfigurationService.java @@ -0,0 +1,50 @@ +package org.nl.system.service.trajectory; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.acs.common.base.CommonService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.trajectory.dto.TrajectoryConfiguration; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +public interface TrajectoryConfigurationService extends CommonService { + + /** + * 分页 + * @param whereJson + * @param page + * @return + */ + IPage queryAll(Map whereJson, PageQuery page); + + /** + * 创建 + * @param entity + */ + void create(TrajectoryConfiguration entity); + + /** + * 更新 + * @param entity + */ + void update(TrajectoryConfiguration entity); + + /** + * 删除 + * @param ids + */ + void deleteAll(Set ids); + + /** + * 查询所有已启用的配置设备 + * @return List + */ + List queryAllEnable(); + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryService.java new file mode 100644 index 0000000..11764ec --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/TrajectoryService.java @@ -0,0 +1,18 @@ +package org.nl.system.service.trajectory; + +import java.util.Map; + +/** + * @author dsh + * 2025/6/19 + */ +public interface TrajectoryService { + + /** + * 查询设备状态 + * + * @param jsonObject 条件 + * @return Map + */ + Map queryDevice(String jsonObject) throws Exception; +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryBackground.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryBackground.java new file mode 100644 index 0000000..503c3da --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryBackground.java @@ -0,0 +1,103 @@ +package org.nl.system.service.trajectory.dto; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author liejiu + */ +@Data +@TableName("trajectory_background") +public class TrajectoryBackground implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 背景图标识 + */ + @TableId + private String background_uuid; + + /** + * 背景图名称 + */ + private String background_code; + + /** + * 背景图片编码 + */ + private String image_code; + + /** + * 背景图片地址 + */ + private String image_name; + + /** + * 缩放比例(0-1之间 百分比) + */ + private String zoom_ratio; + + /** + * 坐标原点(1左上 2左下 3右上 4右下) + */ + private String coordinate_origin; + + /** + * X坐标最大值 + */ + private String max_x; + + + /** + * Y坐标最大值 + */ + private String max_y; + + /** + * 刷新时间(秒) + */ + private Integer refresh_time; + + + /** + * 是否启用 + */ + private String is_active; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 创建者 + */ + private String create_id; + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改者 + */ + private String update_id; + private String update_name; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 备注 + */ + private String remark; + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryConfiguration.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryConfiguration.java new file mode 100644 index 0000000..c9c35e2 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/dto/TrajectoryConfiguration.java @@ -0,0 +1,86 @@ +package org.nl.system.service.trajectory.dto; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author liejiu + */ +@Data +@TableName("trajectory_configuration") +public class TrajectoryConfiguration implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 配置标识 + */ + @TableId + private String configuration_uuid; + + /** + * 配置名称 + */ + private String configuration_code; + + /** + * 图标编码 + */ + private String image_code; + + /** + * 图标名称 + */ + private String image_name; + + /** + * 图标高度 + */ + private String image_height; + + /** + * 图标宽度 + */ + private String image_width; + + /** + * 绑定设备编码 + */ + private String device_code; + + /** + * 是否启用 + */ + private String is_active; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 创建者 + */ + private String create_id; + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改者 + */ + private String update_id; + private String update_name; + + /** + * 修改时间 + */ + private String update_time; + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryBackgroundImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryBackgroundImpl.java new file mode 100644 index 0000000..dc49871 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryBackgroundImpl.java @@ -0,0 +1,92 @@ +package org.nl.system.service.trajectory.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.nl.acs.common.base.impl.CommonServiceImpl; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.trajectory.TrajectoryBackgroundService; +import org.nl.system.service.trajectory.dto.TrajectoryBackground; +import org.nl.system.service.trajectory.mapper.TrajectoryBackgroundMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +@Service +public class TrajectoryBackgroundImpl extends CommonServiceImpl implements TrajectoryBackgroundService { + + @Resource + private TrajectoryBackgroundMapper trajectoryBackgroundMapper; + + @Override + public IPage queryAll(Map whereJson, PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + trajectoryBackgroundMapper.selectPage(pages,lam); + return pages; + } + + @Override + public void create(TrajectoryBackground entity) { + TrajectoryBackground stage = trajectoryBackgroundMapper.selectOne(new LambdaQueryWrapper().eq(TrajectoryBackground::getBackground_code, entity.getBackground_code())); + if (ObjectUtil.isNotEmpty(stage)) { + throw new BadRequestException("背景图名称[" + entity.getBackground_code() + "]已存在"); + } + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + entity.setIs_active("1"); + entity.setIs_delete("0"); + entity.setBackground_uuid(IdUtil.simpleUUID()); + entity.setCreate_id(currentUserId); + entity.setCreate_name(nickName); + entity.setCreate_time(now); + entity.setUpdate_id(currentUserId); + entity.setUpdate_name(nickName); + entity.setUpdate_time(now); + trajectoryBackgroundMapper.insert(entity); + } + + @Override + public void update(TrajectoryBackground entity) { + TrajectoryBackground trajectoryBackground = trajectoryBackgroundMapper.selectOne(new LambdaQueryWrapper().eq(TrajectoryBackground::getBackground_uuid, entity.getBackground_uuid())); + if (trajectoryBackground == null) { + throw new BadRequestException("未找到这条数据"); + } + + String currentUsername = SecurityUtils.getCurrentNickName(); + String currentUserId = SecurityUtils.getCurrentUserId(); + String now = DateUtil.now(); + entity.setUpdate_time(now); + entity.setUpdate_id(currentUserId); + entity.setUpdate_name(currentUsername); + trajectoryBackgroundMapper.updateById(entity); + } + + @Override + public void deleteAll(Set ids) { + trajectoryBackgroundMapper.deleteBatchIds(ids); + } + + @Override + public List queryAllEnable() { + return new LambdaQueryChainWrapper<>(trajectoryBackgroundMapper) + .apply("is_delete= '0' AND is_active= '1'") + .orderByAsc(TrajectoryBackground::getBackground_uuid) + .list(); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryConfigurationImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryConfigurationImpl.java new file mode 100644 index 0000000..d1d7544 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryConfigurationImpl.java @@ -0,0 +1,91 @@ +package org.nl.system.service.trajectory.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.nl.acs.common.base.impl.CommonServiceImpl; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.trajectory.TrajectoryConfigurationService; +import org.nl.system.service.trajectory.dto.TrajectoryConfiguration; +import org.nl.system.service.trajectory.mapper.TrajectoryConfigurationMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author dsh + * 2025/6/19 + */ +@Service +public class TrajectoryConfigurationImpl extends CommonServiceImpl implements TrajectoryConfigurationService { + + @Resource + private TrajectoryConfigurationMapper trajectoryConfigurationMapper; + + @Override + public IPage queryAll(Map whereJson, PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + trajectoryConfigurationMapper.selectPage(pages,lam); + return pages; + } + + @Override + public void create(TrajectoryConfiguration entity) { + TrajectoryConfiguration stage = trajectoryConfigurationMapper.selectOne(new LambdaQueryWrapper().eq(TrajectoryConfiguration::getConfiguration_code, entity.getConfiguration_code())); + if (ObjectUtil.isNotEmpty(stage)) { + throw new BadRequestException("轨迹图配置编码[" + entity.getConfiguration_code() + "]已存在"); + } + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + entity.setIs_delete("0"); + entity.setConfiguration_uuid(IdUtil.simpleUUID()); + entity.setCreate_id(currentUserId); + entity.setCreate_name(nickName); + entity.setCreate_time(now); + entity.setUpdate_id(currentUserId); + entity.setUpdate_name(nickName); + entity.setUpdate_time(now); + trajectoryConfigurationMapper.insert(entity); + } + + @Override + public void update(TrajectoryConfiguration entity) { + TrajectoryConfiguration trajectoryBackground = trajectoryConfigurationMapper.selectOne(new LambdaQueryWrapper().eq(TrajectoryConfiguration::getConfiguration_uuid, entity.getConfiguration_uuid())); + if (trajectoryBackground == null) { + throw new BadRequestException("未找到这条数据"); + } + + String currentUsername = SecurityUtils.getCurrentNickName(); + String currentUserId = SecurityUtils.getCurrentUserId(); + String now = DateUtil.now(); + entity.setUpdate_time(now); + entity.setUpdate_id(currentUserId); + entity.setUpdate_name(currentUsername); + trajectoryConfigurationMapper.updateById(entity); + } + + @Override + public void deleteAll(Set ids) { + trajectoryConfigurationMapper.deleteBatchIds(ids); + } + + @Override + public List queryAllEnable() { + return new LambdaQueryChainWrapper<>(trajectoryConfigurationMapper) + .apply("is_delete= '0' AND is_active= '1'") + .orderByAsc(TrajectoryConfiguration::getConfiguration_uuid) + .list(); + } +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java new file mode 100644 index 0000000..1ee7bae --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/impl/TrajectoryImpl.java @@ -0,0 +1,75 @@ +package org.nl.system.service.trajectory.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.acs.device_driver.basedriver.agv.ndcone.AgvNdcOneDeviceDriver; +import org.nl.common.exception.BadRequestException; +import org.nl.system.service.trajectory.TrajectoryService; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.Map; +import java.util.Random; + +/** + * @author dsh + * 2025/6/19 + */ +@Service +public class TrajectoryImpl implements TrajectoryService { + + @Override + public Map queryDevice(String jsonObject) throws Exception { + JSONArray backja = new JSONArray(); + JSONArray datas = JSONArray.parseArray(jsonObject); + //agv + AgvNdcOneDeviceDriver agvNdcOneDeviceDriver; + + if (datas.size() == 0) { + throw new BadRequestException("缺少输入参数!"); + } + +// for (int i = 0; i < datas.size(); i++) { +// JSONObject jo = new JSONObject(); +// JSONObject ja = new JSONObject(); +// JSONObject data = datas.getJSONObject(i); +// String device_code = data.getString("device_code"); +// Device device = deviceAppService.findDeviceByCode(device_code); +// if (ObjectUtil.isEmpty(device)) { +// throw new Exception("未找到对应设备:" + device_code); +// } +// if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) { +// agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver(); +// jo.put("device_code", agvNdcOneDeviceDriver.getDevice().getDevice_code()); +// jo.put("x", agvNdcOneDeviceDriver.getX()); +// jo.put("y", agvNdcOneDeviceDriver.getY()); +// jo.put("angle", agvNdcOneDeviceDriver.getAngle()); +// ja.put(agvNdcOneDeviceDriver.getDevice().getDevice_code(),jo); +// } +// backja.add(ja); +// } +// JSONObject resultJson = new JSONObject(); +// resultJson.put("status", HttpStatus.OK.value()); +// resultJson.put("message", "操作成功"); +// resultJson.put("data", backja); +// return resultJson; + JSONObject resultJson = new JSONObject(); + Random rand = new Random(); + for (int i = 0; i < datas.size(); i++) { + JSONObject jo = new JSONObject(); + JSONObject data = datas.getJSONObject(i); + String device_code = data.getString("device_code"); + jo.put("x", rand.nextInt(1001)); + jo.put("y", rand.nextInt(1001)); + jo.put("angle", rand.nextInt(361)); + jo.put("device_code", device_code); + backja.add(jo); + } + resultJson.put("status", HttpStatus.OK.value()); + resultJson.put("message", "操作成功"); + resultJson.put("data", backja); + return resultJson; + } + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryBackgroundMapper.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryBackgroundMapper.java new file mode 100644 index 0000000..ffa4725 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryBackgroundMapper.java @@ -0,0 +1,12 @@ +package org.nl.system.service.trajectory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.nl.system.service.trajectory.dto.TrajectoryBackground; + +/** + * @author liejiu + */ +@Mapper +public interface TrajectoryBackgroundMapper extends BaseMapper { +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryConfigurationMapper.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryConfigurationMapper.java new file mode 100644 index 0000000..7c031a2 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/trajectory/mapper/TrajectoryConfigurationMapper.java @@ -0,0 +1,11 @@ +package org.nl.system.service.trajectory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.trajectory.dto.TrajectoryConfiguration; + +/** + * @author liejiu + */ +public interface TrajectoryConfigurationMapper extends BaseMapper { + +} diff --git a/acs/nladmin-ui/src/api/trajectory/configuration/trajectory_configuration.js b/acs/nladmin-ui/src/api/trajectory/configuration/trajectory_configuration.js new file mode 100644 index 0000000..c0d0c66 --- /dev/null +++ b/acs/nladmin-ui/src/api/trajectory/configuration/trajectory_configuration.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/trajectoryConfiguration', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/trajectoryConfiguration/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/trajectoryConfiguration', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/acs/nladmin-ui/src/api/trajectory/trajectory_background.js b/acs/nladmin-ui/src/api/trajectory/trajectory_background.js new file mode 100644 index 0000000..995fe0c --- /dev/null +++ b/acs/nladmin-ui/src/api/trajectory/trajectory_background.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/trajectoryBackground', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/trajectoryBackground/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/trajectoryBackground', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/acs/nladmin-ui/src/components/ShowTrack/index.vue b/acs/nladmin-ui/src/components/ShowTrack/index.vue new file mode 100644 index 0000000..4e5df96 --- /dev/null +++ b/acs/nladmin-ui/src/components/ShowTrack/index.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/acs/nladmin-ui/src/components/ShowTrack/track.js b/acs/nladmin-ui/src/components/ShowTrack/track.js new file mode 100644 index 0000000..50e22b3 --- /dev/null +++ b/acs/nladmin-ui/src/components/ShowTrack/track.js @@ -0,0 +1,87 @@ +import request from '@/utils/request' + +export function trackEdit(data) { + return request({ + url: 'api/trajectoryBackground/queryAllEnable', + method: 'post', + data + }) +} + +export function carEdit(data) { + return request({ + url: 'api/trajectoryConfiguration/queryAllEnable', + method: 'post', + data + }) +} + +export function queryDevice(data) { + return request({ + url: 'api/trajectory/queryDevice', + method: 'post', + data + }) +} + +// export function trackEdit() { +// const res = { +// code: 200, +// msg: 'ok', +// content: [{ +// background_code: '图片', +// image_code: 'aaa.jpg', +// zoom_ratio: '0.5', +// coordinate_origin: '4', +// max_x: '1000', +// max_y: '1000', +// refresh_time: 10000 +// }] +// } +// return new Promise((resolve, reject) => { +// resolve(res) +// }) +// } + +// export function carEdit() { +// const res = { +// code: 200, +// msg: 'ok', +// content: [{ +// configuration_code: '1号agv', +// image_code: 'aaa.jpg', +// image_width: '20', +// image_height: '20', +// device_code: '1', +// x: 100, +// y: 100, +// angle: 90 +// }, { +// configuration_code: '2号agv', +// image_code: 'aaa.jpg', +// image_width: '20', +// image_height: '20', +// device_code: '2', +// x: 200, +// y: 200, +// angle: 0 +// }] +// } +// return new Promise((resolve, reject) => { +// resolve(res) +// }) +// } + +// export function queryDevice() { +// const res = { +// data: [{ device_code: '1', x: Math.floor(Math.random() * 10) * 100, y: Math.floor(Math.random() * 10) * 100, angle: 90 }, { device_code: '2', x: Math.floor(Math.random() * 10) * 100, y: Math.floor(Math.random() * 10) * 100, angle: 0 }], +// data1: [{ device_code: '1', x: 100, y: 100, angle: 90 }, { device_code: '2', x: 200, y: 200, angle: 0 }], +// status: '200', +// message: '操作成功' +// } +// return new Promise((resolve, reject) => { +// resolve(res) +// }) +// } + +export default { trackEdit, carEdit, queryDevice } diff --git a/acs/nladmin-ui/src/router/routers.js b/acs/nladmin-ui/src/router/routers.js index 99a4018..d516b9c 100644 --- a/acs/nladmin-ui/src/router/routers.js +++ b/acs/nladmin-ui/src/router/routers.js @@ -45,7 +45,8 @@ export const constantRouterMap = [ children: [ { path: 'dashboard', - component: (resolve) => require(['@/views/monitor/server/index'], resolve), + component: (resolve) => require(['@/views/track/showTrack'], resolve), + // component: (resolve) => require(['@/views/monitor/server/index'], resolve), name: 'Dashboard', meta: { title: i18n.t('auto.common.home'), icon: 'index', affix: true, noCache: true } } diff --git a/acs/nladmin-ui/src/views/system/trajectory/configuration/index.vue b/acs/nladmin-ui/src/views/system/trajectory/configuration/index.vue new file mode 100644 index 0000000..a825d8d --- /dev/null +++ b/acs/nladmin-ui/src/views/system/trajectory/configuration/index.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/acs/nladmin-ui/src/views/system/trajectory/index.vue b/acs/nladmin-ui/src/views/system/trajectory/index.vue new file mode 100644 index 0000000..b35f04b --- /dev/null +++ b/acs/nladmin-ui/src/views/system/trajectory/index.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/acs/nladmin-ui/src/views/track/showTrack.vue b/acs/nladmin-ui/src/views/track/showTrack.vue new file mode 100644 index 0000000..874c402 --- /dev/null +++ b/acs/nladmin-ui/src/views/track/showTrack.vue @@ -0,0 +1,24 @@ + + +