diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java index f44e089f..f5154f87 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryWaybillDetailController.java @@ -1,11 +1,9 @@ package com.klp.controller; -import java.util.HashMap; -import java.util.List; -import java.util.Arrays; -import java.util.Date; +import java.util.*; import java.util.stream.Collectors; +import com.klp.domain.vo.WmsMaterialCoilVo; import org.springframework.format.annotation.DateTimeFormat; import com.klp.domain.vo.WmsMaterialCoilBindVo; @@ -172,4 +170,21 @@ public class WmsDeliveryWaybillDetailController extends BaseController { bo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(Collectors.joining(","))); return R.ok(iWmsMaterialCoilService.getStatistics(bo)); } + + + /** + * 根据负责人(principal)查询已发货绑定的钢卷列表 + */ + @GetMapping("/coilListByPrincipal") + public List coilListByPrincipal( + @RequestParam(required = false) String principal) { + List boundCoilIds = iWmsDeliveryWaybillDetailService.getBoundCoilIdsByPrincipal(principal); + if (boundCoilIds == null || boundCoilIds.isEmpty()) { + return Collections.emptyList(); + } + WmsMaterialCoilBo wmsMaterialCoilBo = new WmsMaterialCoilBo(); + wmsMaterialCoilBo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(Collectors.joining(","))); + return iWmsMaterialCoilService.queryList(wmsMaterialCoilBo); + } + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryWaybillDetailService.java b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryWaybillDetailService.java index 9f2149c2..37ad3e87 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryWaybillDetailService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryWaybillDetailService.java @@ -68,4 +68,9 @@ public interface IWmsDeliveryWaybillDetailService { * 根据时间段查询已绑定的钢卷ID列表 */ List getBoundCoilIdsByTimeRange(Date startTime, Date endTime); + + /** + * 根据负责人(principal)查询已绑定的钢卷ID列表 + */ + List getBoundCoilIdsByPrincipal(String principal); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryWaybillDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryWaybillDetailServiceImpl.java index cd2ad4ef..c5d82ddd 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryWaybillDetailServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryWaybillDetailServiceImpl.java @@ -337,5 +337,30 @@ public class WmsDeliveryWaybillDetailServiceImpl implements IWmsDeliveryWaybillD List list = baseMapper.selectList(detailWrapper); return list.stream().map(WmsDeliveryWaybillDetail::getCoilId).distinct().collect(Collectors.toList()); } + + @Override + public List getBoundCoilIdsByPrincipal(String principal) { + if (principal == null || principal.trim().isEmpty()) { + return Collections.emptyList(); + } + + LambdaQueryWrapper waybillWrapper = Wrappers.lambdaQuery(); + waybillWrapper.eq(WmsDeliveryWaybill::getPrincipal, principal); + waybillWrapper.eq(WmsDeliveryWaybill::getDelFlag, 0); + List waybills = wmsDeliveryWaybillMapper.selectList(waybillWrapper); + if (waybills == null || waybills.isEmpty()) { + return Collections.emptyList(); + } + + List waybillIds = waybills.stream().map(WmsDeliveryWaybill::getWaybillId).collect(Collectors.toList()); + + LambdaQueryWrapper detailWrapper = Wrappers.lambdaQuery(); + detailWrapper.in(WmsDeliveryWaybillDetail::getWaybillId, waybillIds); + detailWrapper.isNotNull(WmsDeliveryWaybillDetail::getCoilId); + detailWrapper.eq(WmsDeliveryWaybillDetail::getDelFlag, 0); + detailWrapper.select(WmsDeliveryWaybillDetail::getCoilId); + List list = baseMapper.selectList(detailWrapper); + return list.stream().map(WmsDeliveryWaybillDetail::getCoilId).distinct().collect(Collectors.toList()); + } }