diff --git a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java index 0c8388d..9b3c4b5 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceController.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 device, HttpServletResponse response) { + public void exportDevice(@Parameter(hidden = true) @RequestParam Map device, HttpServletResponse response) { QueryWrapper queryWrapper = Condition.getQueryWrapper(device, Device.class); List 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 list = new ArrayList<>(); DeviceExcel deviceExcel = new DeviceExcel(); deviceExcel.setCode("WX-20241017-01"); diff --git a/src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java b/src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java index 2abaf08..e5ca5f6 100644 --- a/src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java +++ b/src/main/java/org/springblade/modules/business/contraller/supplies/GoodsController.java @@ -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 goods, HttpServletResponse response) { + public void exportGoods(@Parameter(hidden = true) @RequestParam Map goods, HttpServletResponse response) { QueryWrapper queryWrapper = Condition.getQueryWrapper(goods, Goods.class); List 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 list = new ArrayList<>(); GoodsExcel goodsExcel = new GoodsExcel(); goodsExcel.setInventoryId("IN0001"); diff --git a/src/main/java/org/springblade/modules/business/contraller/supplies/WareHouseController.java b/src/main/java/org/springblade/modules/business/contraller/supplies/WareHouseController.java new file mode 100644 index 0000000..78832bd --- /dev/null +++ b/src/main/java/org/springblade/modules/business/contraller/supplies/WareHouseController.java @@ -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 detail(WareHouse wareHouse) { + return R.data(wareHouseService.getOne(Condition.getQueryWrapper(wareHouse))); + } + + /** + * 仓库 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + public R> list(@Parameter(hidden = true) @RequestParam Map wareHouse, Query query) { + IPage 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))); + } + +} diff --git a/src/main/java/org/springblade/modules/business/mapper/WareHouseMapper.java b/src/main/java/org/springblade/modules/business/mapper/WareHouseMapper.java new file mode 100644 index 0000000..d771124 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/mapper/WareHouseMapper.java @@ -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 { + +} diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/supplies/WareHouse.java b/src/main/java/org/springblade/modules/business/pojo/entity/supplies/WareHouse.java new file mode 100644 index 0000000..5657eec --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/entity/supplies/WareHouse.java @@ -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; + +} diff --git a/src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsServiceImpl.java index 30ded4c..b743b7f 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/supplies/GoodsServiceImpl.java @@ -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 implements IGoodsService { + private final IWareHouseService wareHouseService; + @Override public IPage selectGoodsPage(IPage page, GoodsVO goods) { return page.setRecords(baseMapper.selectGoodsPage(page, goods)); @@ -42,11 +50,17 @@ public class GoodsServiceImpl extends BaseServiceImpl implem public void importGoods(List data, Boolean isCovered) { List list = new ArrayList<>(); // 获取仓库数据 -// List deptvos = deptService.assLimsTree(AuthUtil.getTenantId()); -// List ids = deptvos.stream().map(DeptVO::getId).toList(); + List wareHouses = wareHouseService.list(); + // 遍历保存 data.forEach(goodsExcel -> { Goods goods = BeanUtil.copyProperties(goodsExcel, Goods.class); if (goods != null) { + // 查询符合仓库名称的数据,没有则抛异常 + List 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); diff --git a/src/main/java/org/springblade/modules/business/service/impl/supplies/WareHouseServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/supplies/WareHouseServiceImpl.java new file mode 100644 index 0000000..2060c95 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/impl/supplies/WareHouseServiceImpl.java @@ -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 implements IWareHouseService { + + +} diff --git a/src/main/java/org/springblade/modules/business/service/supplies/IWareHouseService.java b/src/main/java/org/springblade/modules/business/service/supplies/IWareHouseService.java new file mode 100644 index 0000000..075873c --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/supplies/IWareHouseService.java @@ -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 { + + +}