From 99cd47d28e4d87d88a44953abaf3db26368f433d Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Thu, 17 Oct 2024 23:40:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DlTicketWaresController.java | 14 +++++++ .../controller/admin/DlTwItemController.java | 1 + .../tickets/service/DlTicketWaresService.java | 9 ++++ .../impl/DlTicketWaresServiceImpl.java | 41 +++++++++++++++++-- 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java index b78e3853..7c8e291f 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java @@ -115,5 +115,19 @@ public class DlTicketWaresController { dlTicketWaresService.repairPassTicketWares(respVO); return CommonResult.ok(); } + + /** + * 仓库确认退料 + * + * @author 小李 + * @date 22:03 2024/10/17 + * @param respVO 请求对象 + **/ + @PostMapping("/passBack") + @Operation(summary = "仓库确认退料") + public CommonResult passBackTicketWares(@RequestBody DlTicketWaresRespVO respVO){ + dlTicketWaresService.passBackTicketWares(respVO); + return CommonResult.ok(); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTwItemController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTwItemController.java index 383c54eb..20ad5e12 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTwItemController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTwItemController.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.tickets.vo.DlTwItemReqVO; import io.swagger.v3.oas.annotations.Operation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java index ba5d44d3..12de0b0e 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java @@ -68,4 +68,13 @@ public interface DlTicketWaresService extends IService { * @param respVO 请求对象 **/ void repairPassTicketWares(DlTicketWaresRespVO respVO); + + /** + * 仓库确认退料 + * + * @author 小李 + * @date 22:03 2024/10/17 + * @param respVO 请求对象 + **/ + void passBackTicketWares(DlTicketWaresRespVO respVO); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java index a64717f5..c0e5de94 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java @@ -226,8 +226,28 @@ public class DlTicketWaresServiceImpl extends ServiceImpl list = repairTitemService.list(new LambdaQueryWrapper().and(i -> { + i.eq(DlRepairTitem::getTicketId, respVO.getTicketId()) + .in(DlRepairTitem::getPartId, respVO.getWares().stream().map(DlRepairTitem::getPartId).collect(Collectors.toList())); + })); + list.forEach(item -> { + respVO.getWares().stream().filter(i -> i.getPartId().equals(item.getPartId())).findFirst().ifPresent(i -> { + // 如果只是退部分就减少数量 + if (!i.getItemCount().equals(item.getItemCount())){ + repairTitemService.update(new LambdaUpdateWrapper() + .setSql("item_count = item_count - " + i.getItemCount()) + .setSql("item_money = item_money - " + i.getItemMoney()) + .and(x -> { + x.eq(DlRepairTitem::getTicketId, respVO.getTicketId()).eq(DlRepairTitem::getPartId, item.getPartId()); + }) + ); + }else { + // 如果是全部退了,就直接删掉数据 + repairTitemService.removeById(item.getId()); + } + }); + }); } } @@ -280,17 +300,30 @@ public class DlTicketWaresServiceImpl extends ServiceImpl list = twItemService.list(new LambdaQueryWrapper().eq(DlTwItem::getTwId, respVO.getId())); - List list1 = list.stream().filter(item -> item.getWaresStatus().equals("01")).collect(Collectors.toList()); + List list1 = list.stream().filter(item -> item.getWaresStatus().equals(respVO.getType().equals("01") ? "01" : "03")).collect(Collectors.toList()); respVO.setStatus(list1.size() == list.size() ? "03" : "04"); baseMapper.updateById(respVO); // 操作库存 list.forEach(item -> { repairWaresService.update(new LambdaUpdateWrapper() - .setSql("stock = stock - " + item.getWaresCount()) + .setSql("stock = stock" + (respVO.getType().equals("01") ? "-" : "+") + item.getWaresCount()) .eq(RepairWares::getId, item.getWaresId()) ); }); } + + /** + * 仓库确认退料 + * + * @author 小李 + * @date 22:03 2024/10/17 + * @param respVO 请求对象 + **/ + @Override + public void passBackTicketWares(DlTicketWaresRespVO respVO){ + // 更新申请单子表状态 + twItemService.updateBatchById(respVO.getItems()); + } }