diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentDelivery.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentDelivery.java index 7b244e7d..5caeac66 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentDelivery.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentDelivery.java @@ -87,7 +87,7 @@ public class WmsShipmentDelivery implements Serializable { private Integer boxStatus; /** - * 发车状态,0:未发车;1:已发车 + * 发车状态,0:未发车;1:已发车;4:已收货 */ private Integer carStatus; diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsShipmentDeliveryService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsShipmentDeliveryService.java index af8293c5..c884c58a 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsShipmentDeliveryService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsShipmentDeliveryService.java @@ -22,4 +22,9 @@ public interface IWmsShipmentDeliveryService extends IService getBoxByPlateNumber(String plateNumber); List getBoxByDeliveryId(Long deliveryId); + + /** + * 判断发货单下所有包装箱是否都已卸货 + */ + boolean allPackagingCodeUnloaded(Long deliveryId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsShipmentDeliveryServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsShipmentDeliveryServiceImpl.java index 3cc68906..39ad719e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsShipmentDeliveryServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsShipmentDeliveryServiceImpl.java @@ -2,12 +2,18 @@ package com.nflg.wms.repository.service.impl; import com.nflg.wms.common.pojo.vo.ShipmentPackagingCodeVO; import com.nflg.wms.repository.entity.WmsShipmentDelivery; +import com.nflg.wms.repository.entity.WmsShipmentDeliveryItem; +import com.nflg.wms.repository.entity.WmsShipmentPackagingCode; import com.nflg.wms.repository.mapper.WmsShipmentDeliveryMapper; +import com.nflg.wms.repository.service.IWmsShipmentDeliveryItemService; import com.nflg.wms.repository.service.IWmsShipmentDeliveryService; +import com.nflg.wms.repository.service.IWmsShipmentPackagingCodeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -20,6 +26,12 @@ import java.util.List; @Service public class WmsShipmentDeliveryServiceImpl extends ServiceImpl implements IWmsShipmentDeliveryService { + @Resource + private IWmsShipmentDeliveryItemService deliveryItemService; + + @Resource + private IWmsShipmentPackagingCodeService packagingCodeService; + @Override public WmsShipmentDelivery getByPackagingCodeId(Long id) { return baseMapper.getByPackagingCodeId(id); @@ -34,4 +46,23 @@ public class WmsShipmentDeliveryServiceImpl extends ServiceImpl getBoxByDeliveryId(Long deliveryId) { return baseMapper.getBoxByDeliveryId(deliveryId); } + + @Override + public boolean allPackagingCodeUnloaded(Long deliveryId) { + List packagingCodeIds = deliveryItemService.lambdaQuery() + .eq(WmsShipmentDeliveryItem::getDeliveryId, deliveryId) + .list() + .stream() + .map(WmsShipmentDeliveryItem::getPackagingCodeId) + .collect(Collectors.toList()); + if (packagingCodeIds.isEmpty()) { + return false; + } + // 查询是否存在未卸货的包装箱(status != 4) + long notUnloadedCount = packagingCodeService.lambdaQuery() + .in(WmsShipmentPackagingCode::getId, packagingCodeIds) + .ne(WmsShipmentPackagingCode::getStatus, 4) + .count(); + return notUnloadedCount == 0; + } } diff --git a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/H5Controller.java b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/H5Controller.java index 4caebeda..e1e24400 100644 --- a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/H5Controller.java +++ b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/H5Controller.java @@ -52,6 +52,9 @@ public class H5Controller extends BaseController { @Resource private IWmsShipmentSiteStockMaterialItemRecordService siteStockMaterialItemRecordService; + @Resource + private IWmsShipmentDeliveryItemService deliveryItemService; + /** * 查询 */ @@ -145,6 +148,10 @@ public class H5Controller extends BaseController { .setCreateTime(LocalDateTime.now()) ); }); + if(deliveryService.allPackagingCodeUnloaded(delivery.getId())) { + delivery.setCarStatus(4); + deliveryService.updateById(delivery); + } }); return ApiResult.success(); }