仓库管理代码开发

master
litao 1 year ago
parent 34a3137f0b
commit 6e130d23e9
  1. 6
      src/main/java/org/springblade/modules/business/contraller/DeviceController.java
  2. 10
      src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java
  3. 91
      src/main/java/org/springblade/modules/business/contraller/supplies/WareHouseController.java
  4. 15
      src/main/java/org/springblade/modules/business/mapper/WareHouseMapper.java
  5. 35
      src/main/java/org/springblade/modules/business/pojo/entity/supplies/WareHouse.java
  6. 18
      src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsServiceImpl.java
  7. 19
      src/main/java/org/springblade/modules/business/service/impl/supplies/WareHouseServiceImpl.java
  8. 15
      src/main/java/org/springblade/modules/business/service/supplies/IWareHouseService.java

@ -164,7 +164,7 @@ public class DeviceController extends BladeController {
*/
@PostMapping("/import-device")
@Operation(summary = "导入设备", description = "传入excel")
public R importGood(MultipartFile file, Integer isCovered) {
public R importDevice(MultipartFile file, Integer isCovered) {
DeviceImporter deviceImporter = new DeviceImporter(deviceService, isCovered == 1);
ExcelUtil.save(file, deviceImporter, DeviceExcel.class);
return R.success("操作成功");
@ -175,7 +175,7 @@ public class DeviceController extends BladeController {
*/
@GetMapping("/export-device")
@Operation(summary = "导出设备", description = "传入")
public void exportGood(@Parameter(hidden = true) @RequestParam Map<String, Object> device, HttpServletResponse response) {
public void exportDevice(@Parameter(hidden = true) @RequestParam Map<String, Object> device, HttpServletResponse response) {
QueryWrapper<Device> queryWrapper = Condition.getQueryWrapper(device, Device.class);
List<DeviceExcel> list = deviceService.exportDevice(queryWrapper);
ExcelUtil.export(response, "设备数据" + DateUtil.time(), "设备数据表", list, DeviceExcel.class);
@ -186,7 +186,7 @@ public class DeviceController extends BladeController {
*/
@GetMapping("/export-template")
@Operation(summary = "导出模板")
public void exportUser(HttpServletResponse response) {
public void exportDevice(HttpServletResponse response) {
List<DeviceExcel> list = new ArrayList<>();
DeviceExcel deviceExcel = new DeviceExcel();
deviceExcel.setCode("WX-20241017-01");

@ -147,9 +147,9 @@ public class GoodsController extends BladeController {
/**
* 导入物资
*/
@PostMapping("import-good")
@PostMapping("import-goods")
@Operation(summary = "导入物资", description = "传入excel")
public R importGood(MultipartFile file, Integer isCovered) {
public R importGoods(MultipartFile file, Integer isCovered) {
GoodsImporter goodsImporter = new GoodsImporter(goodsService, isCovered == 1);
ExcelUtil.save(file, goodsImporter, GoodsExcel.class);
return R.success("操作成功");
@ -158,9 +158,9 @@ public class GoodsController extends BladeController {
/**
* 导出物资数据
*/
@GetMapping("export-good")
@GetMapping("export-goods")
@Operation(summary = "导出物资", description = "传入user")
public void exportGood(@Parameter(hidden = true) @RequestParam Map<String, Object> goods, HttpServletResponse response) {
public void exportGoods(@Parameter(hidden = true) @RequestParam Map<String, Object> goods, HttpServletResponse response) {
QueryWrapper<Goods> queryWrapper = Condition.getQueryWrapper(goods, Goods.class);
List<GoodsExcel> list = goodsService.exportGoods(queryWrapper);
ExcelUtil.export(response, "物资数据" + DateUtil.time(), "物资数据表", list, GoodsExcel.class);
@ -171,7 +171,7 @@ public class GoodsController extends BladeController {
*/
@GetMapping("export-template")
@Operation(summary = "导出模板")
public void exportUser(HttpServletResponse response) {
public void exportGoods(HttpServletResponse response) {
List<GoodsExcel> list = new ArrayList<>();
GoodsExcel goodsExcel = new GoodsExcel();
goodsExcel.setInventoryId("IN0001");

@ -0,0 +1,91 @@
package org.springblade.modules.business.contraller.supplies;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Parameter;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
import org.springblade.modules.business.service.supplies.IWareHouseService;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 仓库 控制器
*
* @author BladeX
* @since 2024-10-14
*/
@RestController
@AllArgsConstructor
@RequestMapping("/wareHouse")
public class WareHouseController extends BladeController {
private final IWareHouseService wareHouseService;
/**
* 仓库 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
public R<WareHouse> detail(WareHouse wareHouse) {
return R.data(wareHouseService.getOne(Condition.getQueryWrapper(wareHouse)));
}
/**
* 仓库 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
public R<IPage<WareHouse>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> wareHouse, Query query) {
IPage<WareHouse> pages = wareHouseService.page(Condition.getPage(query), Condition.getQueryWrapper(wareHouse, WareHouse.class));
return R.data(pages);
}
/**
* 仓库 新增
*/
@ApiLog(value = "仓库-新增")
@PostMapping("/save")
@ApiOperationSupport(order = 4)
public R save(@RequestBody WareHouse wareHouse) {
return R.status(wareHouseService.save(wareHouse));
}
/**
* 仓库 修改
*/
@ApiLog(value = "仓库-修改")
@PostMapping("/update")
@ApiOperationSupport(order = 5)
public R update(@RequestBody WareHouse wareHouse) {
return R.status(wareHouseService.updateById(wareHouse));
}
/**
* 仓库 提交
*/
@ApiLog(value = "仓库-保存")
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
public R submit(@RequestBody WareHouse wareHouse) {
return R.status(wareHouseService.saveOrUpdate(wareHouse));
}
/**
* 仓库 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
public R remove(@RequestParam String ids) {
return R.status(wareHouseService.deleteLogic(Func.toLongList(ids)));
}
}

@ -0,0 +1,15 @@
package org.springblade.modules.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
/**
* 仓库 Mapper 接口
*
* @author BladeX
* @since 2024-10-14
*/
public interface WareHouseMapper extends BaseMapper<WareHouse> {
}

@ -0,0 +1,35 @@
package org.springblade.modules.business.pojo.entity.supplies;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
/**
* 仓库表 实体类
*
* @author litao
* @since 2024-12-07
*/
@Data
@TableName("lab_ware_house")
@EqualsAndHashCode(callSuper = true)
public class WareHouse extends BaseEntity {
/**
* 仓库名称
*/
private String name;
/**
* 仓库编号
*/
private String code;
/**
* 仓库地址
*/
private String address;
}

@ -1,14 +1,19 @@
package org.springblade.modules.business.service.impl.supplies;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.modules.business.pojo.entity.supplies.Goods;
import org.springblade.modules.business.excel.supplies.GoodsExcel;
import org.springblade.modules.business.mapper.GoodsMapper;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
import org.springblade.modules.business.service.supplies.IGoodsService;
import org.springblade.modules.business.pojo.vo.supplies.GoodsVO;
import org.springblade.modules.business.service.supplies.IWareHouseService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -21,8 +26,11 @@ import java.util.List;
* @since 2024-10-17
*/
@Service
@AllArgsConstructor
public class GoodsServiceImpl extends BaseServiceImpl<GoodsMapper, Goods> implements IGoodsService {
private final IWareHouseService wareHouseService;
@Override
public IPage<GoodsVO> selectGoodsPage(IPage<GoodsVO> page, GoodsVO goods) {
return page.setRecords(baseMapper.selectGoodsPage(page, goods));
@ -42,11 +50,17 @@ public class GoodsServiceImpl extends BaseServiceImpl<GoodsMapper, Goods> implem
public void importGoods(List<GoodsExcel> data, Boolean isCovered) {
List<Goods> list = new ArrayList<>();
// 获取仓库数据
// List<DeptVO> deptvos = deptService.assLimsTree(AuthUtil.getTenantId());
// List<Long> ids = deptvos.stream().map(DeptVO::getId).toList();
List<WareHouse> wareHouses = wareHouseService.list();
// 遍历保存
data.forEach(goodsExcel -> {
Goods goods = BeanUtil.copyProperties(goodsExcel, Goods.class);
if (goods != null) {
// 查询符合仓库名称的数据,没有则抛异常
List<WareHouse> houseList = wareHouses.stream().filter(wareHouse -> wareHouse.getName().equals(goods.getWarehouseName())).toList();
if (CollectionUtil.isEmpty(houseList)) {
throw new ServiceException("仓库名称【" + goods.getWarehouseName() + "】不存在,请修改后再上传!");
}
goods.setWarehouseId(houseList.get(0).getId());
// 是否已停产
goods.setDeactivate("是".equals(goodsExcel.getDeactivate()) ? 1 : 0);
list.add(goods);

@ -0,0 +1,19 @@
package org.springblade.modules.business.service.impl.supplies;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.business.mapper.WareHouseMapper;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
import org.springblade.modules.business.service.supplies.IWareHouseService;
import org.springframework.stereotype.Service;
/**
* 仓库 服务实现类
*
* @author BladeX
* @since 2024-10-17
*/
@Service
public class WareHouseServiceImpl extends BaseServiceImpl<WareHouseMapper, WareHouse> implements IWareHouseService {
}

@ -0,0 +1,15 @@
package org.springblade.modules.business.service.supplies;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.pojo.entity.supplies.WareHouse;
/**
* 仓库 服务类
*
* @author BladeX
* @since 2024-10-17
*/
public interface IWareHouseService extends BaseService<WareHouse> {
}
Loading…
Cancel
Save