From fd93a730be77f08911a27e3dce4e9687c4427ac5 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Thu, 28 Nov 2024 14:30:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=85=8D=E4=BB=B6=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AE=9E=E9=99=85=E6=95=B0=E6=8D=AE=E4=B8=8E=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=95=B0=E6=8D=AE=E4=B8=8D=E4=B8=80=E8=87=B4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DlRepairSoServiceImpl.java | 64 +++++++++++-------- .../impl/DlTicketWaresServiceImpl.java | 13 ++-- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java index 7607bf79..8ff125c7 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/service/impl/DlRepairSoServiceImpl.java @@ -20,6 +20,7 @@ import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService; import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoReqVO; import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoRespVO; +import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiReqVO; import cn.iocoder.yudao.module.stockOperate.vo.DlRepairSoiRespVO; import cn.iocoder.yudao.module.supplier.service.BaseSupplierService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; @@ -348,21 +349,17 @@ public class DlRepairSoServiceImpl extends ServiceImpl list = twItemService.list(new LambdaQueryWrapper().eq(DlTwItem::getTwId, so.getTwId())); - // 判断是部分完成还是全部完成----不需要判断了 -// DlTicketWares dlTicketWares = new DlTicketWares(); -// dlTicketWares.setId(so.getTwId()); -// List flag = list.stream().filter(item -> !item.getWaresStatus().equals("01")).collect(Collectors.toList()); -// dlTicketWares.setStatus(CollectionUtil.isEmpty(flag) ? "03" : "04"); - // 更新主表的状态 -// ticketWaresService.updateById(dlTicketWares); + List sois = repairSoiService.list(new LambdaQueryWrapper().eq(DlRepairSoi::getSoId, id)); + Set waresIds = sois.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toSet()); + List repairWares = repairWaresService.listByIds(waresIds); + List list = sois.stream().map(item -> { + DlRepairSoiRespVO bean = BeanUtil.toBean(item, DlRepairSoiRespVO.class); + repairWares.stream().filter(i -> i.getId().equals(item.getGoodsId())).findFirst().ifPresent(bean::setWares); + return bean; + }).collect(Collectors.toList()); // 通知仓库 repairWorkerService.sentMessage(Long.valueOf(so.getCreator()), so.getUserName() + "已确认领料单:" + so.getSoNo()); @@ -371,20 +368,24 @@ public class DlRepairSoServiceImpl extends ServiceImpl nameAndCount = list.stream().map(item -> item.getWaresName() + "x" + item.getWaresCount()).collect(Collectors.toList()); - remark += "确认领料" + String.join(";", nameAndCount); + for (int i = 0; i < list.size(); i++) { + DlRepairSoiRespVO item = list.get(i); + if (ObjectUtil.isNotEmpty(item.getWares())) { + remark.append(i + 1).append(".").append(item.getWares().getName()).append("x").append(item.getGoodsCount()).append("; "); + } + } // 记录日志 - recordsService.saveRepairRecord(byId.getTicketId(), null, RecordTypeEnum.LL.getCode(), remark, image); + recordsService.saveRepairRecord(byId.getTicketId(), null, RecordTypeEnum.LL.getCode(), remark.toString(), image); // 更新工单主表时间 - if (ObjectUtil.isNotEmpty(so) && ObjectUtil.isNotEmpty(so.getTwId())){ + if (ObjectUtil.isNotEmpty(so) && ObjectUtil.isNotEmpty(so.getTwId())) { DlTicketWares ticketWares = ticketWaresService.getById(so.getTwId()); - if (ObjectUtil.isNotEmpty(ticketWares) && ObjectUtil.isNotEmpty(ticketWares.getTicketId())){ + if (ObjectUtil.isNotEmpty(ticketWares) && ObjectUtil.isNotEmpty(ticketWares.getTicketId())) { ticketsService.refreshUpdateTime(ticketWares.getTicketId()); } } @@ -407,7 +408,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl list = twItemService.list(new LambdaQueryWrapper().eq(DlTwItem::getTwId, newSo.getTwId())); + List sois = repairSoiService.list(new LambdaQueryWrapper().eq(DlRepairSoi::getSoId, id)); + Set waresIds = sois.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toSet()); + List repairWares = repairWaresService.listByIds(waresIds); + List list = sois.stream().map(item -> { + DlRepairSoiRespVO bean = BeanUtil.toBean(item, DlRepairSoiRespVO.class); + repairWares.stream().filter(i -> i.getId().equals(item.getGoodsId())).findFirst().ifPresent(bean::setWares); + return bean; + }).collect(Collectors.toList()); // 查申请表 DlTicketWares byId = ticketWaresService.getById(newSo.getTwId()); // 取当前操作人的名称 - String remark = SecurityFrameworkUtils.getLoginUserNickname(); + StringBuilder remark = new StringBuilder("确认退料: "); // 构建备注 /* 谁,退了什么配件,退了多少个 */ - List nameAndCount = list.stream().map(item -> item.getWaresName() + "(" + item.getWaresCount() + ")").collect(Collectors.toList()); - remark += "确认退料" + String.join(",", nameAndCount); + for (int i = 0; i < list.size(); i++) { + DlRepairSoiRespVO item = list.get(i); + if (ObjectUtil.isNotEmpty(item.getWares())) { + remark.append(i + 1).append(".").append(item.getWares().getName()).append("x").append(item.getGoodsCount()).append("; "); + } + } // 记录日志 - recordsService.saveRepairRecord(byId.getTicketId(), null, RecordTypeEnum.TL.getCode(), remark, image); + recordsService.saveRepairRecord(byId.getTicketId(), null, RecordTypeEnum.TL.getCode(), remark.toString(), image); // 更新工单主表时间 - if (ObjectUtil.isNotEmpty(newSo) && ObjectUtil.isNotEmpty(newSo.getTwId())){ + if (ObjectUtil.isNotEmpty(newSo) && ObjectUtil.isNotEmpty(newSo.getTwId())) { DlTicketWares ticketWares = ticketWaresService.getById(newSo.getTwId()); - if (ObjectUtil.isNotEmpty(ticketWares) && ObjectUtil.isNotEmpty(ticketWares.getTicketId())){ + if (ObjectUtil.isNotEmpty(ticketWares) && ObjectUtil.isNotEmpty(ticketWares.getTicketId())) { ticketsService.refreshUpdateTime(ticketWares.getTicketId()); } } 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 2418d9ac..78027f9f 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 @@ -440,13 +440,10 @@ public class DlTicketWaresServiceImpl extends ServiceImpl wares = repairWaresService.list(new LambdaQueryWrapper().in(RepairWares::getId, respVO.getRepairSois().stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList()))); Map waresNameMap = wares.stream().collect(Collectors.toMap(RepairWares::getId, RepairWares::getName)); - String remarkStr = ""; - for (DlRepairSoi item : respVO.getRepairSois()) { - //组装通知领取配件的文字 - if (!"".equals(remarkStr)) { - remarkStr += ";"; - } - remarkStr += waresNameMap.get(item.getGoodsId()) + "x" + item.getGoodsCount(); + StringBuilder remarkStr = new StringBuilder(); + for (int i = 0; i < respVO.getRepairSois().size(); i++) { + DlRepairSoi repairSoi = respVO.getRepairSois().get(i); + remarkStr.append(i + 1).append(".").append(waresNameMap.get(repairSoi.getGoodsId())).append("x").append(repairSoi.getGoodsCount()).append("; "); } if (type.equals("02")) { // 领料 // 构造新数据 @@ -511,7 +508,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl