diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickDetailServiceImpl.java index f2225b8b..a3226e44 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickDetailServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickDetailServiceImpl.java @@ -1,13 +1,19 @@ package com.ruoyi.system.service.impl; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; import cn.hutool.core.collection.CollectionUtil; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.system.domain.MakeReturnOrderDetail; +import com.ruoyi.system.domain.SysMakeorderPick; import com.ruoyi.system.mapper.MakeReturnOrderDetailMapper; +import com.ruoyi.system.mapper.SysMakeorderPickMapper; +import com.ruoyi.warehouse.domain.WarehouseOutOrder; +import com.ruoyi.warehouse.domain.WarehouseOutOrderDetail; +import com.ruoyi.warehouse.mapper.WarehouseOutOrderDetailMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.SysMakeorderPickDetailMapper; @@ -30,6 +36,12 @@ public class SysMakeorderPickDetailServiceImpl implements ISysMakeorderPickDetai @Autowired private MakeReturnOrderDetailMapper returnDetailMapper; + @Autowired + private SysMakeorderPickMapper makeorderPickMapper; + + @Autowired + private WarehouseOutOrderDetailMapper outOrderDetailMapper; + /** * 查询生产订单领料明细 * @@ -160,6 +172,8 @@ public class SysMakeorderPickDetailServiceImpl implements ISysMakeorderPickDetai List list = selectSysMakeorderPickDetailList(sysMakeorderPickDetail); String pickNo = sysMakeorderPickDetail.getPickNo(); + SysMakeorderPick makeorderPick = makeorderPickMapper.selectSysMakeorderPickByPickNo(pickNo); + String outOrderCode = makeorderPick.getOutOrderCode(); //合并相同料号数据,合计该物料总领料数 List mergedDetails = list.stream() .collect(Collectors.groupingBy(SysMakeorderPickDetail::getMaterialNo)) @@ -167,11 +181,6 @@ public class SysMakeorderPickDetailServiceImpl implements ISysMakeorderPickDetai .map(group -> { // 取第一个对象 SysMakeorderPickDetail tempPickDetail = group.get(0); - // 计算领料数的总和 - Integer totalPickupQuantity = group.stream() - .mapToInt(SysMakeorderPickDetail::getPickNum) - .sum(); - tempPickDetail.setPickNum(totalPickupQuantity); return tempPickDetail; }) .collect(Collectors.toList()); @@ -190,6 +199,12 @@ public class SysMakeorderPickDetailServiceImpl implements ISysMakeorderPickDetai .sum(); pickDetail.setHasReturnNum(returnNum); } + WarehouseOutOrderDetail tempDetail = new WarehouseOutOrderDetail(); + tempDetail.setOutOrderCode(outOrderCode); + tempDetail.setMaterialNo(pickDetail.getMaterialNo()); + WarehouseOutOrderDetail outOrderDetail = outOrderDetailMapper.selectOutOrderDetailListByThreeCode(tempDetail); + int outNum = Optional.ofNullable(outOrderDetail.getHasOutOrderSum()).orElse(0); + pickDetail.setHasPickNum(outNum); } return mergedDetails; }