From 78b0b58d0c0fa4a50b5767136f3bbee8f364fe61 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 26 九月 2025 09:11:08 +0800
Subject: [PATCH] yys 新增配置文件
---
src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 134 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
index bcc475a..74276a7 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
@@ -1,19 +1,35 @@
package com.ruoyi.warehouse.service.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.warehouse.dto.WarehouseDto;
+import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto;
+import com.ruoyi.warehouse.dto.WarehouseTreeDto;
+import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper;
+import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper;
import com.ruoyi.warehouse.mapper.WarehouseMapper;
import com.ruoyi.warehouse.pojo.Warehouse;
import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves;
+import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol;
import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService;
import com.ruoyi.warehouse.service.WarehouseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.sql.Array;
+import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
+
+import static org.springframework.beans.BeanUtils.copyProperties;
/**
* @author 86151
@@ -28,25 +44,130 @@
private WarehouseMapper warehouseMapper;
@Autowired
private WarehouseGoodsShelvesService warehouseGoodsShelvesService;
-
- @Override
- public IPage<Warehouse> listPage(Page page, Warehouse warehouse) {
- return warehouseMapper.listPage(page, warehouse);
- }
+ @Autowired
+ private WarehouseGoodsShelvesMapper warehouseGoodsShelvesMapper;
+ @Autowired
+ private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper;
@Override
public boolean deleteByIds(List<Long> ids) {
- for (Long id : ids) {
- WarehouseGoodsShelves shelves = new WarehouseGoodsShelves();
- shelves.setWarehouseId(id);
- IPage<WarehouseGoodsShelves> page = warehouseGoodsShelvesService.listPage(new Page<>(), shelves);
- if(page.getRecords().size()>0){
- log.error("浠撳簱涓嬫湁璐ф灦,涓嶈兘鍒犻櫎");
- return false;
+ // 1. 妫�鏌ユ槸鍚︽湁璐ф灦
+ Wrapper<WarehouseGoodsShelves> queryWrapper = new LambdaQueryWrapper<WarehouseGoodsShelves>()
+ .in(WarehouseGoodsShelves::getWarehouseId, ids);
+ List<WarehouseGoodsShelves> shelvesList = warehouseGoodsShelvesService.list(queryWrapper);
+ //鑾峰緱shelvesList涓墍鏈夌殑Id
+
+ List<Long> shelvesIds = shelvesList.stream().map(WarehouseGoodsShelves::getId).collect(Collectors.toList());
+ // 2. 鍒犻櫎璐ф灦
+ if (!shelvesIds.isEmpty()) {
+ boolean b = warehouseGoodsShelvesService.deleteByIds(shelvesIds);
+ if (!b) {
+ throw new RuntimeException("鍒犻櫎璐ф灦澶辫触");
}
}
- return true;
+ return removeByIds(ids);
}
+
+ @Override
+ public List<Warehouse> findList(Warehouse warehouse) {
+ return warehouseMapper.listAll(warehouse);
+ }
+ /**
+ * 鏌ヨ浠撳簱-璐ф灦-灞傚垪涓夌骇鏍戠粨鏋�
+ */
+ @Override
+ public List<WarehouseTreeDto> findListTree() {
+
+ // 鏌ヨ鎵�鏈夋牴鑺傜偣锛堜粨搴擄級
+ LambdaQueryWrapper<Warehouse> queryWrapper = new LambdaQueryWrapper<>();
+ // 鏌ヨ浠撳簱鍒楄〃锛堜竴绾ц妭鐐癸級
+ List<Warehouse> warehouseList = warehouseMapper.selectList(queryWrapper);
+
+ // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄瓙鏍�
+ List<WarehouseTreeDto> tree = new ArrayList<>();
+ for (Warehouse warehouse : warehouseList) {
+ WarehouseTreeDto node = convertToWarehouseTreeDto(warehouse);
+ // 涓烘瘡涓粨搴撴坊鍔犺揣鏋跺瓙鑺傜偣
+ node.setChildren(buildShelfChildrenNodes(warehouse.getId()));
+ tree.add(node);
+ }
+ return tree;
+ }
+ /**
+ * 鏋勫缓璐ф灦瀛愯妭鐐癸紙浜岀骇鑺傜偣锛�
+ */
+ private List<WarehouseTreeDto> buildShelfChildrenNodes(Long warehouseId) {
+ // 鏌ヨ鎸囧畾浠撳簱涓嬬殑鎵�鏈夎揣鏋�
+ LambdaQueryWrapper<WarehouseGoodsShelves> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(WarehouseGoodsShelves::getWarehouseId, warehouseId);
+ List<WarehouseGoodsShelves> shelfList = warehouseGoodsShelvesMapper.selectList(queryWrapper);
+
+ // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄眰鍒楀瓙鑺傜偣
+ List<WarehouseTreeDto> shelfNodes = new ArrayList<>();
+ for (WarehouseGoodsShelves shelf : shelfList) {
+ WarehouseTreeDto shelfNode = convertToShelfTreeDto(shelf);
+ // 涓烘瘡涓揣鏋舵坊鍔犲眰鍒楀瓙鑺傜偣
+ shelfNode.setChildren(buildRowcolChildrenNodes(shelf.getId()));
+ shelfNodes.add(shelfNode);
+ }
+
+ return shelfNodes;
+ }
+
+ /**
+ * 鏋勫缓灞傚垪瀛愯妭鐐癸紙涓夌骇鑺傜偣锛�
+ */
+ private List<WarehouseTreeDto> buildRowcolChildrenNodes(Long shelfId) {
+ // 鏌ヨ鎸囧畾璐ф灦涓嬬殑鎵�鏈夊眰鍒�
+ LambdaQueryWrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelfId);
+ List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolMapper.selectList(queryWrapper);
+
+ // 杞崲涓烘爲鑺傜偣锛堝眰鍒楁病鏈夊瓙鑺傜偣锛�
+ List<WarehouseTreeDto> rowcolNodes = new ArrayList<>();
+ for (WarehouseGoodsShelvesRowcol rowcol : rowcolList) {
+ WarehouseTreeDto rowcolNode = convertToRowcolTreeDto(rowcol);
+ rowcolNodes.add(rowcolNode);
+ }
+
+ return rowcolNodes;
+ }
+
+ /**
+ * 浠撳簱瀹炰綋杞崲涓烘爲鑺傜偣DTO
+ */
+ private WarehouseTreeDto convertToWarehouseTreeDto(Warehouse warehouse) {
+ WarehouseTreeDto dto = new WarehouseTreeDto();
+ copyProperties(warehouse, dto);
+ dto.setLabel(warehouse.getWarehouseName());
+ dto.setChildren(new ArrayList<>());
+ return dto;
+ }
+
+ /**
+ * 璐ф灦瀹炰綋杞崲涓烘爲鑺傜偣DTO
+ */
+ private WarehouseTreeDto convertToShelfTreeDto(WarehouseGoodsShelves shelf) {
+ WarehouseTreeDto dto = new WarehouseTreeDto();
+ copyProperties(shelf, dto);
+// dto.setLabel(shelf.getGoodsShelvesName());
+ dto.setLabel(shelf.getName());
+ dto.setChildren(new ArrayList<>());
+ return dto;
+ }
+
+ /**
+ * 灞傚垪瀹炰綋杞崲涓烘爲鑺傜偣DTO
+ */
+ private WarehouseTreeDto convertToRowcolTreeDto(WarehouseGoodsShelvesRowcol rowcol) {
+ WarehouseTreeDto dto = new WarehouseTreeDto();
+ copyProperties(rowcol, dto);
+// dto.setLabel(rowcol.getStorey() + "-" + rowcol.getArrange());
+ dto.setLabel(rowcol.getRow() + "-" + rowcol.getCol());
+ dto.setChildren(new ArrayList<>());
+ return dto;
+ }
+
}
--
Gitblit v1.9.3