diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java index 2e570198..3ceb96cf 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java @@ -126,8 +126,7 @@ public class RepairWaresController { @GetMapping("/getByName") @Operation(summary = "根据名称获取最新的数据") public CommonResult getWaresByName(@RequestParam("name") String name) { - List list = waresService.list(new LambdaQueryWrapper().eq(RepairWares::getName, name)); - return success(list.stream().max(Comparator.comparing(RepairWares::getCreateTime)).orElse(null)); + return success(waresService.getWaresByName(name)); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java index ea7586f1..9e05f076 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java @@ -102,5 +102,7 @@ public class RepairWares extends TenantBaseDO { private String status; /**数据来源*/ private String dataForm; + /** 进价 */ + private String purPrice; } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java index 1564de5e..9fd38886 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java @@ -28,4 +28,11 @@ public interface RepairWaresMapper extends BaseMapper { **/ IPage queryListPage(@Param("entity") RepairWaresPageReqVO pageReqVO, Page page); + /** + * 根据名称获取最新的数据 + * + * @author 小李 + * @date 18:03 2024/9/25 + **/ + RepairWaresRespVO getWaresByName(@Param("name") String name); } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java index 2546d6dc..d2cc6dfd 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java @@ -53,4 +53,11 @@ public interface RepairWaresService extends IService { **/ IPage getWaresPage(RepairWaresPageReqVO pageReqVO, Page page); + /** + * 根据名称获取最新的数据 + * + * @author 小李 + * @date 18:03 2024/9/25 + **/ + RepairWaresRespVO getWaresByName(String name); } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java index 0c08ebac..cb60c93a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java @@ -89,4 +89,15 @@ public class RepairWaresServiceImpl extends ServiceImpl { item.setSoId(repairSoRespVO.getId()); - item.setSoiType(repairSoRespVO.getSoType()); +// item.setSoiType(repairSoRespVO.getSoType()); }); repairSoiService.saveBatch(repairSoRespVO.getGoodsList()); + + // 操作配件库存表 + // 获取所有需要操作的数据 + List goodsList = repairSoRespVO.getGoodsList(); + List ids = goodsList.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList()); + List repairWares = waresService.listByIds(ids); + // 更新库存和进价 + List newWares = repairWares.stream().map(item -> { + // 取数据 + DlRepairSoi repairSoi = goodsList.stream().filter(i -> i.getGoodsId().equals(item.getId())).collect(Collectors.toList()).get(0); + // 设置新值 + // 如果是采购入库,数量+,如果是领料出库,数量- + // 01, 03 是采购 02 是领料 + BigDecimal count = new BigDecimal(repairSoi.getGoodsCount()); + RepairWares wares = new RepairWares(); + wares.setId(item.getId()); + wares.setStock("02".equals(repairSoRespVO.getSoType()) ? item.getStock().subtract(count) : item.getStock().add(count)); + // 更新进价 + wares.setPurPrice(repairSoi.getGoodsPrice().toString()); + return wares; + }).collect(Collectors.toList()); + waresService.updateBatchById(newWares); } /** diff --git a/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml index 0bf2d999..15cb813f 100644 --- a/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml @@ -30,4 +30,18 @@ ORDER BY drw.create_time DESC + + \ No newline at end of file