|
@@ -3,14 +3,21 @@ package com.fjhx.service.warehouse.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fjhx.utils.WrapperUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.entity.stock.Stock;
|
|
|
import com.fjhx.entity.warehouse.Warehouse;
|
|
|
-import com.fjhx.params.warehouse.WarehouseVo;
|
|
|
import com.fjhx.mapper.warehouse.WarehouseMapper;
|
|
|
+import com.fjhx.params.warehouse.WarehouseVo;
|
|
|
+import com.fjhx.service.stock.StockService;
|
|
|
import com.fjhx.service.warehouse.WarehouseService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.utils.UserClientUtil;
|
|
|
+import com.fjhx.utils.WrapperUtil;
|
|
|
+import org.springblade.core.log.exception.ServiceException;
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
@@ -24,15 +31,35 @@ import java.util.Map;
|
|
|
@Service
|
|
|
public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> implements WarehouseService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private StockService stockService;
|
|
|
+
|
|
|
@Override
|
|
|
- public Page<Warehouse> getPage(Map<String, String> condition) {
|
|
|
+ public Page<Warehouse> getPage(Map<String, Object> condition) {
|
|
|
|
|
|
QueryWrapper<Warehouse> wrapper = Wrappers.query();
|
|
|
|
|
|
- WrapperUtil.init(condition, wrapper)
|
|
|
- .createTimeDesc();
|
|
|
+ WrapperUtil.init(condition, wrapper);
|
|
|
+
|
|
|
+ //仓库类型
|
|
|
+ wrapper.lambda().eq(Func.isNotEmpty(condition.get("type")), Warehouse::getType, condition.get("type"));
|
|
|
+
|
|
|
+ //关键字
|
|
|
+ wrapper.and(Func.isNotEmpty(condition.get("keyword")), o -> o.apply("instr(`name`, '" + condition.get("keyword") + "') > 0").or().apply("instr(remarks, '" + condition.get("keyword") + "') > 0"));
|
|
|
+
|
|
|
+ //排序
|
|
|
+ wrapper.lambda().orderByAsc(Warehouse::getType).orderByAsc(Warehouse::getName);
|
|
|
|
|
|
Page<Warehouse> page = page(condition, wrapper);
|
|
|
+ if (Func.isNotEmpty(page.getRecords())) {
|
|
|
+ //仓管员名称map
|
|
|
+ Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(page.getRecords(), Warehouse::getWarehouseKeeperId);
|
|
|
+ for (Warehouse record : page.getRecords()) {
|
|
|
+ if (Func.isNotEmpty(userNameMap) && Func.isNotEmpty(userNameMap.get(record.getWarehouseKeeperId()))) {
|
|
|
+ record.setWarehouseKeeperName(userNameMap.get(record.getWarehouseKeeperId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return page;
|
|
|
}
|
|
|
|
|
@@ -48,6 +75,12 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
|
|
|
|
|
|
@Override
|
|
|
public void delete(WarehouseVo warehouseVo) {
|
|
|
+ //查询是否存在库存
|
|
|
+ List<Stock> list = stockService.lambdaQuery().eq(Stock::getWarehouseId, warehouseVo.getId()).list();
|
|
|
+ if (Func.isNotEmpty(list)) {
|
|
|
+ throw new ServiceException("该仓库下存在库存,无法删除!");
|
|
|
+ }
|
|
|
+
|
|
|
removeById(warehouseVo.getId());
|
|
|
}
|
|
|
|