From f6d9e2749a02206d131c46154740ee407a543148 Mon Sep 17 00:00:00 2001 From: aikai Date: Thu, 20 Mar 2025 17:17:46 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(system):=20=E6=96=B0=E5=A2=9E=E7=BA=BF?= =?UTF-8?q?=E5=BA=93=E5=92=8C=E5=BA=93=E5=8C=BA=E7=9B=B8=E5=85=B3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9C=BA=E5=99=A8=E4=BA=BA?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增线库(巷道)和库区的保存、修改和删除功能 - 实现线库和库区名称的唯一性校验 - 优化机器人状态信息获取逻辑 -修复公告板服务中的潜在空指针异常 --- .../module/system/enums/ErrorCodeConstants.java | 2 ++ .../admin/housearea/vo/HouseAreaSaveReqVO.java | 4 +++- .../admin/houselane/vo/WareHouseLaneRespVO.java | 8 ++++---- .../houselane/vo/WareHouseLaneSaveReqVO.java | 4 ++++ .../dal/dataobject/houselane/WareHouseLaneDO.java | 10 ++++++++-- .../dal/mysql/housearea/HouseAreaMapper.java | 5 ++--- .../bulletinboard/BulletinBoardServiceImpl.java | 7 ++++++- .../service/housearea/HouseAreaServiceImpl.java | 12 ++++++++++-- .../houselane/WareHouseLaneServiceImpl.java | 15 +++++++++++---- .../positionmap/PositionMapServiceImpl.java | 4 +++- .../robot/RobotInformationServiceImpl.java | 7 ++++--- 11 files changed, 57 insertions(+), 21 deletions(-) diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java index 34bf65ca6..70cbd55ae 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java @@ -170,9 +170,11 @@ public interface ErrorCodeConstants { // ========== 线库/巷道 1-002-030-000 ========== ErrorCode HOUSE_LANE_NOT_EXISTS = new ErrorCode(1-002-030-001, "线库不存在"); + ErrorCode DUPLICATE_LINE_LIBRARY_NAME = new ErrorCode(1-002-030-002, "线库名称重复"); // ========== 库区 1-002-031-000 ========== ErrorCode HOUSE_AREA_NOT_EXISTS = new ErrorCode(1-002-031-001, "库区不存在"); + ErrorCode DUPLICATE_RESERVOIR_NAME = new ErrorCode(1-002-031-002, "库区名称重复"); // ========== 库位 1-002-032-000 ========== ErrorCode HOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1-002-032-001, "库位不存在"); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java index a6a3f7a8f..4c68980e5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/housearea/vo/HouseAreaSaveReqVO.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.housearea.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import javax.validation.constraints.NotNull; import java.util.List; @Schema(description = "管理后台 - 库区新增/修改 Request VO") @@ -15,10 +16,11 @@ public class HouseAreaSaveReqVO { @Schema(description = "地图id", example = "芋艿") private Long positionMapId; - @Schema(description = "地图id", example = "芋艿") + @Schema(description = "物料说明", example = "芋艿") private String skuInfo; @Schema(description = "库区名称", example = "李四") + @NotNull(message = "库区名称不能为空") private String areaName; @Schema(description = "库区说明") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java index 73a4050ec..564a69d24 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneRespVO.java @@ -20,12 +20,12 @@ public class WareHouseLaneRespVO { @ExcelProperty("地图id") private Long positionMapId; - @Schema(description = "巷道名称", example = "芋艿") - @ExcelProperty("巷道名称") + @Schema(description = "线库名称", example = "芋艿") + @ExcelProperty("线库名称") private String laneName; - @Schema(description = "巷道说明(可以拓展为区域说明)") - @ExcelProperty("巷道说明(可以拓展为区域说明)") + @Schema(description = "线库说明(可以拓展为区域说明)") + @ExcelProperty("线库说明(可以拓展为区域说明)") private String laneMsg; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java index 0638a9125..dc6891ad1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselane/vo/WareHouseLaneSaveReqVO.java @@ -15,7 +15,11 @@ public class WareHouseLaneSaveReqVO { @Schema(description = "地图id", example = "芋艿") private Long positionMapId; + @Schema(description = "物料说明", example = "芋艿") + private String skuInfo; + @Schema(description = "线库名称", example = "芋艿") + @NotNull(message = "线库名称不能为空") private String laneName; @Schema(description = "线库说明(可以拓展为说明)") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java index db0ea11bd..3007d300d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/houselane/WareHouseLaneDO.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.dal.dataobject.houselane; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.List; @@ -31,14 +32,19 @@ public class WareHouseLaneDO extends BaseDO { */ private Long positionMapId; /** - * 巷道名称 + * 线库名称 */ private String laneName; /** - * 巷道说明(可以拓展为区域说明) + * 线库说明(可以拓展为区域说明) */ private String laneMsg; + /** + * 物料信息 + */ + private String skuInfo; + /** * 节点ids */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java index 6419628b4..a9c373ef1 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/housearea/HouseAreaMapper.java @@ -1,10 +1,8 @@ package cn.iocoder.yudao.module.system.dal.mysql.housearea; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.housearea.vo.HouseAreaPageReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; import org.apache.ibatis.annotations.Mapper; @@ -19,6 +17,7 @@ public interface HouseAreaMapper extends BaseMapperX { default PageResult selectPage(HouseAreaPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HouseAreaDO::getPositionMapId, reqVO.getPositionMapId()) .likeIfPresent(HouseAreaDO::getAreaName, reqVO.getAreaName()) .eqIfPresent(HouseAreaDO::getAreaMsg, reqVO.getAreaMsg()) .betweenIfPresent(HouseAreaDO::getCreateTime, reqVO.getCreateTime()) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/bulletinboard/BulletinBoardServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/bulletinboard/BulletinBoardServiceImpl.java index fa92f22d9..cc6ce95db 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/bulletinboard/BulletinBoardServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/bulletinboard/BulletinBoardServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.service.bulletinboard; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.json.JSONUtil; @@ -31,6 +32,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Function; @@ -109,7 +111,10 @@ public class BulletinBoardServiceImpl implements BulletinBoardService { List robotElectricityLevelVOS = new ArrayList<>(); List allRobot = robotInformationService.getAllRobot(); List agvListStatusInfo = robotInformationService.getAGVListStatusInfo(); - Map map = agvListStatusInfo.stream().collect(Collectors.toMap(RobotInfoStatusVO::getMacAddress, Function.identity())); + Map map = new HashMap<>(); + if (CollUtil.isNotEmpty(agvListStatusInfo)){ + map = agvListStatusInfo.stream().collect(Collectors.toMap(RobotInfoStatusVO::getMacAddress, Function.identity())); + } for (RobotInformationDO robotInformationDO : allRobot) { String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC + robotInformationDO.getMacAddress(); Object object = redisUtil.get(pose2dKey); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java index 2384be56a..aff9fe267 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java @@ -30,8 +30,7 @@ import java.util.List; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.HOUSE_AREA_NOT_EXISTS; -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.THERE_ARE_ALREADY_STORAGE_LOCATIONS_IN_OTHER_STORAGE_AREAS; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; /** * 库区 Service 实现类 @@ -95,6 +94,15 @@ public class HouseAreaServiceImpl extends ServiceImpl() + .eq(HouseAreaDO::getAreaName, createReqVO.getAreaName()) + .ne(ObjectUtil.isNotNull(createReqVO.getId()), HouseAreaDO::getId, createReqVO.getId()) + ); + if (count > 0) { + throw exception(DUPLICATE_RESERVOIR_NAME); + } HouseAreaDO houseArea = BeanUtil.copyProperties(createReqVO, HouseAreaDO.class); houseAreaMapper.insertOrUpdate(houseArea); // -- 先判定这些点位是否在同一区域内 - 如果不在则提示 哪些点位不在同一区域内 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java index 6cb3494e0..24a108ad5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java @@ -7,17 +7,16 @@ import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.enums.NodeTypeEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLanePageReqVO; import cn.iocoder.yudao.module.system.controller.admin.houselane.vo.WareHouseLaneSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.positionmap.dto.PositionMapConditionDTO; -import cn.iocoder.yudao.module.system.dal.dataobject.housearea.HouseAreaDO; import cn.iocoder.yudao.module.system.dal.dataobject.houselane.WareHouseLaneDO; import cn.iocoder.yudao.module.system.dal.dataobject.houselocation.WareHouseLocationDO; import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO; import cn.iocoder.yudao.module.system.dal.mysql.houselane.WareHouseLaneMapper; import cn.iocoder.yudao.module.system.service.houselocation.HouseLocationService; import cn.iocoder.yudao.module.system.service.positionmap.PositionMapItemService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,8 +29,7 @@ import java.util.List; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.THERE_ARE_ALREADY_STORAGE_LOCATIONS_IN_OTHER_LINE_WAREHOUSES; -import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.THE_LINE_LIBRARY_POINTS_ARE_NOT_LOCATED_IN_THE_SAME_AREA; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; /** @@ -70,6 +68,15 @@ public class WareHouseLaneServiceImpl extends ServiceImpl() + .eq(WareHouseLaneDO::getLaneName, createReqVO.getLaneName()) + .ne(ObjectUtil.isNotNull(createReqVO.getId()), WareHouseLaneDO::getId, createReqVO.getId()) + ); + if (num > 0) { + throw exception(DUPLICATE_LINE_LIBRARY_NAME); + } WareHouseLaneDO houseLane = BeanUtil.copyProperties(createReqVO, WareHouseLaneDO.class); houseLaneMapper.insertOrUpdate(houseLane); // -- 先判定这些点位是否在同一区域内 - 如果不在则提示 哪些点位不在同一区域内 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java index cf1084b9b..35f4b98cf 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/positionmap/PositionMapServiceImpl.java @@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -118,9 +119,10 @@ public class PositionMapServiceImpl extends ServiceImpl data = yaml.load(new String(bytes)); + Map data = yaml.load(new String(bytes,StandardCharsets.UTF_8)); Object floor = data.get("floor"); Object area = data.get("area"); + // -- 根据楼和区域查询是否有存在地图信息 - 如果有存在则替换 - 并且通知所有该楼该区域的AGV if (ObjUtil.isEmpty(floor) || ObjUtil.isEmpty(area)) { throw exception(AGV_UPLOAD_INFORMATION_DOES_NOT_INCLUDE_FLOOR_OR_AREA_INFORMATION); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java index b66eb0e7f..26e15d6c9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java @@ -405,12 +405,13 @@ public class RobotInformationServiceImpl extends ServiceImpl getAGVListStatusInfo() { List list = new ArrayList<>(); // -- 先从缓存中 获取AGV状态信息 - 如果没有的话 - 再从数据库中获取 - 并且缓存到redis中 - List robotInformationDO = informationMapper.selectList(); - if (robotInformationDO == null) { + List robotInformationDOS = informationMapper.selectList(); + if (CollUtil.isEmpty(robotInformationDOS)) { return list; } - for (RobotInformationDO informationDO : robotInformationDO) { + for (RobotInformationDO informationDO : robotInformationDOS) { RobotInfoStatusVO vo = new RobotInfoStatusVO(); + vo.setMacAddress(informationDO.getMacAddress()); //0:待命、1:任务中、2:锁定、3:离线、4:充电中、5:故障 String pose2dKey = RobotTaskChcheConstant.ROBOT_INFORMATION_POSE_BAT_SOC + informationDO.getMacAddress(); Object object = redisUtil.get(pose2dKey); From b3fb4465f768cd0f7f08e878e373525260466234 Mon Sep 17 00:00:00 2001 From: aikai Date: Sat, 22 Mar 2025 15:12:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor(module-system):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E5=92=8C=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -调整了多个文件中的导入顺序,按照使用的频繁程度和逻辑关系进行排序 - 移除了未使用的导入项,减少了代码冗余 - 优化了部分代码结构,提高了可读性和维护性 --- .../admin/config/CommonConfigController.java | 45 +++++++++---------- .../vo/WareHouseLocationSaveReqVO.java | 8 ++-- .../robot/vo/RobotInformationSaveReqVO.java | 7 ++- .../service/config/CommonConfigService.java | 10 ++--- .../config/CommonConfigServiceImpl.java | 21 +++------ .../housearea/HouseAreaServiceImpl.java | 8 ++-- .../houselane/WareHouseLaneServiceImpl.java | 4 +- 7 files changed, 46 insertions(+), 57 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/config/CommonConfigController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/config/CommonConfigController.java index 268b93333..6faa0bf5a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/config/CommonConfigController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/config/CommonConfigController.java @@ -1,32 +1,31 @@ package cn.iocoder.yudao.module.system.controller.admin.config; -import cn.iocoder.yudao.module.system.controller.admin.config.vo.*; -import cn.iocoder.yudao.module.system.dal.dataobject.config.CommonConfigDO; -import cn.iocoder.yudao.module.system.service.config.CommonConfigService; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigRespVO; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigSaveReqVO; +import cn.iocoder.yudao.module.system.dal.dataobject.config.CommonConfigDO; +import cn.iocoder.yudao.module.system.service.config.CommonConfigService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 通用配置") @@ -92,4 +91,4 @@ public class CommonConfigController { BeanUtils.toBean(list, CommonConfigRespVO.class)); } -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/WareHouseLocationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/WareHouseLocationSaveReqVO.java index ea118352c..a260029c9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/WareHouseLocationSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/houselocation/vo/WareHouseLocationSaveReqVO.java @@ -1,10 +1,8 @@ package cn.iocoder.yudao.module.system.controller.admin.houselocation.vo; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; +import lombok.Data; + import java.math.BigDecimal; @Schema(description = "管理后台 - 库位新增/修改 Request VO") @@ -103,4 +101,4 @@ public class WareHouseLocationSaveReqVO { @Schema(description = "ware_position_map的id", example = "1") private Long mapId; -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java index ce06ce384..2f3bad512 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java @@ -1,12 +1,11 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; import javax.validation.constraints.NotEmpty; -import java.util.Set; import javax.validation.constraints.NotNull; +import java.util.Set; @Schema(description = "管理后台 - 车辆信息新增/修改 Request VO") @Data @@ -51,4 +50,4 @@ public class RobotInformationSaveReqVO { @Schema(description = "robot_task_detail的id") private Long taskDetailId; -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigService.java index 8172c47d9..7918c99e5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigService.java @@ -1,12 +1,12 @@ package cn.iocoder.yudao.module.system.service.config; -import java.util.*; -import javax.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.module.system.controller.admin.config.vo.*; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.config.CommonConfigDO; +import javax.validation.Valid; + /** * 通用配置 Service 接口 * @@ -52,4 +52,4 @@ public interface CommonConfigService { */ PageResult getConfigPage(CommonConfigPageReqVO pageReqVO); -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java index 6b0531165..f8bc93c30 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/config/CommonConfigServiceImpl.java @@ -1,14 +1,16 @@ package cn.iocoder.yudao.module.system.service.config; -import cn.hutool.core.date.DateTime; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; -import cn.iocoder.yudao.module.system.controller.admin.config.vo.*; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigPageReqVO; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigSaveReqVO; +import cn.iocoder.yudao.module.system.controller.admin.config.vo.CommonConfigVO; import cn.iocoder.yudao.module.system.controller.admin.log.vo.UserOperationLogSaveReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.config.CommonConfigDO; -import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDetailDO; import cn.iocoder.yudao.module.system.dal.mysql.config.CommonConfigMapper; import cn.iocoder.yudao.module.system.enums.common.ZeroOneEnum; import cn.iocoder.yudao.module.system.enums.config.CommandConfigTypeEnum; @@ -17,20 +19,11 @@ import cn.iocoder.yudao.module.system.service.tool.ToolsService; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; - -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.CONFIG_NOT_EXISTS; @@ -174,4 +167,4 @@ public class CommonConfigServiceImpl implements CommonConfigService { return configMapper.selectPage(pageReqVO); } -} \ No newline at end of file +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java index aff9fe267..79f3cfdb9 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/housearea/HouseAreaServiceImpl.java @@ -113,12 +113,12 @@ public class HouseAreaServiceImpl extends ServiceImpl list = CollUtil.isEmpty(createReqVO.getMapItemIds()) ? Collections.emptyList() : - positionMapItemService.getByCondition(new PositionMapConditionDTO() + //2.查询目前的地图所有的库位点位列表 - 如果没有的话 - 就设为空列表先 - + List list = positionMapItemService.getByCondition(new PositionMapConditionDTO() .setPositionMapId(createReqVO.getPositionMapId()) .setType(NodeTypeEnum.WARE.getType()) - .setIds(createReqVO.getMapItemIds())); + .setIds(createReqVO.getMapItemIds()) + .setAreaId(createReqVO.getId())); //3.判定当前这些点位是否已经有包含线库了 - List containList = list.stream().filter(a -> a.getAreaId() != null && !a.getAreaId().equals(createReqVO.getId())).collect(Collectors.toList()); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java index 24a108ad5..52a3fdd6e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/houselane/WareHouseLaneServiceImpl.java @@ -88,9 +88,9 @@ public class WareHouseLaneServiceImpl extends ServiceImpl list = CollUtil.isEmpty(createReqVO.getMapItemIds()) ? Collections.emptyList() : - positionMapItemService.getByCondition(new PositionMapConditionDTO() + List list = positionMapItemService.getByCondition(new PositionMapConditionDTO() .setPositionMapId(createReqVO.getPositionMapId()) + .setLaneId(createReqVO.getId()) .setType(NodeTypeEnum.WARE.getType()) .setIds(createReqVO.getMapItemIds())); From 083504198c664b0adbf47c21b0832a7a464f6113 Mon Sep 17 00:00:00 2001 From: aikai Date: Mon, 24 Mar 2025 11:41:13 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=97=A5=E5=BF=97=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-test.yaml | 4 ++++ .../src/main/resources/application-test.yaml | 4 +++- .../src/main/resources/application-test.yaml | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-test.yaml b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-test.yaml index 292af3d84..b392a608a 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-test.yaml +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/application-test.yaml @@ -128,3 +128,7 @@ spring: # 芋道配置项,设置当前项目所有自定义的配置 yudao: demo: true # 开启演示模式 + +logging: + file: + name: D:/project/rcs/logs/${spring.application.name}.log diff --git a/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-test.yaml b/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-test.yaml index aaafda1cf..ab0c360bf 100644 --- a/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-test.yaml +++ b/yudao-module-mqtt/yudao-module-mqtt-biz/src/main/resources/application-test.yaml @@ -41,4 +41,6 @@ mqtt: timeout: 10 keepalive: 20 - +logging: + file: + name: D:/project/rcs/logs/${spring.application.name}.log diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml index d7a1fe51e..3e8586429 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/application-test.yaml @@ -231,3 +231,7 @@ zn: robot_config: #机器人取放货默认配置 offset_height: 0.1 #叉起货需要在原来高度基础上偏移的高度 default_tray_height: 1.1 #默认每层高度 + +logging: + file: + name: D:/project/rcs/logs/${spring.application.name}.log