diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java index 15658f2b5..a60a99ef7 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelNumberEntity.java @@ -71,6 +71,11 @@ public class DistributionParcelNumberEntity extends TenantEntity { */ @ApiModelProperty(value = "包件ID") private Long parcelListId; + /** + * 仓库ID + */ + @ApiModelProperty(value = "仓库ID") + private Long warehouseId; /** * 总数量 */ diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsClient.java index 2d44917de..291c6e453 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownGoodsClient.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 货位与货物绑定 Feign接口类 * @@ -82,5 +84,5 @@ public interface IWarehouseUpdownGoodsClient { WarehouseUpdownGoodsEntity getLocationInformation(@RequestBody WarehouseUpdownGoodsEntity updownGoodsEntity); @PostMapping(LOCATIONSTOCKLISTINFORMATION) - WarehouseUpdownGoodsEntity getLocationStockListInformation(@RequestBody WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity); + List getLocationStockListInformation(@RequestBody WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java index 1a81e4b25..f48758d45 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java @@ -705,8 +705,8 @@ public class DistributionStockupAppController extends BladeController { warehouseUpdownGoodsEntity.setAssociationId(byId.getMaterialId()); warehouseUpdownGoodsEntity.setAssociationType("4"); warehouseUpdownGoodsEntity.setWarehouseId(byId.getWarehouseId()); - WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); - if(ObjectUtils.isNull(locationInformation)){ + List locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); + if(locationInformation.isEmpty()){ return Resp.scanFail("当前货位的库存品已为零,请更换货位继续!!", "当前货位的库存品已为零,请更换货位继续!!"); } Integer i = distributionStockupService.selectPackagePrint(stockupDTO); @@ -742,8 +742,8 @@ public class DistributionStockupAppController extends BladeController { // warehouseUpdownGoodsEntity.setMarketId(byId.getMarketId()); // warehouseUpdownGoodsEntity.setAssociationType("4"); // WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationStockListInformation(warehouseUpdownGoodsEntity); - if(!ObjectUtils.isNull(locationInformation)){ - entity.setAllocationTitle(locationInformation.getPositionCode()); + if(!locationInformation.isEmpty()){ + entity.setAllocationTitle(locationInformation.get(0).getPositionCode()); entity.setAllocationId(stockupDTO.getAllocationId()); //todo 待下架操作 JSONObject jsonObject = new JSONObject(); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index 766c74dd5..73e6a9cb9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -458,6 +458,7 @@ and ldsa.order_status = #{param.orderStatus} and ldsa.reservation_status = #{param.reservationStatus} and ldsa.stockup_status = #{param.stockupStatus} + and ldsa.notification = #{param.notification} and ldsa.order_receive_status = #{param.orderReceiveStatus} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index 98d6f47da..fdb474a8a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -40,7 +40,10 @@ import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.app.queryOrderVO; import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; +import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; +import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.DictBizConstant; @@ -119,6 +122,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl distributionStockArticleEntityIPage = baseMapper.pageListOwe(page, stockArticleEntity); + distributionStockArticleEntityIPage.getRecords().stream().forEach(i ->{ + if(i.getIsZero().equals("1")){ + //查询托盘 + WarehouseTrayGoodsEntity warehouseTrayGoods = new WarehouseTrayGoodsEntity(); + warehouseTrayGoods.setAssociationId(i.getId()); + warehouseTrayGoods.setAssociationType("1"); + warehouseTrayGoods.setAssociationValue(i.getOrderCode()); + warehouseTrayGoods.setWarehouseId(collect.get(0)); + List trayList = warehouseTrayGoodsClient.getTrayList(warehouseTrayGoods); + if(!trayList.isEmpty()){ + String collect1 = trayList.stream().map(WarehouseTrayGoodsEntity::getTrayCode).collect(Collectors.joining(",")); + i.setTrays(collect1); + } + //查询货位 + WarehouseUpdownGoodsEntity updownGoodsEntity = new WarehouseUpdownGoodsEntity(); + updownGoodsEntity.setAssociationId(i.getId()); + updownGoodsEntity.setAssociationType("1"); + updownGoodsEntity.setWarehouseId(collect.get(0)); + updownGoodsEntity.setAssociationValue(i.getOrderCode()); + List information = warehouseUpdownGoodsClient.getLocationStockListInformation(updownGoodsEntity); + if(ObjectUtils.isNotNull(information) && !information.isEmpty()){ + String collect1 = information.stream().map(WarehouseUpdownGoodsEntity::getPositionCode).collect(Collectors.joining(",")); + i.setAllocation(collect1); + } + } + + }); return distributionStockArticleEntityIPage; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 80aa7748c..6c2d5fe49 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -597,8 +597,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl selectStockupOrderList(StockupDTO stockupDTO) { Long reservationId = stockupDTO.getReservationId();//预约单id if (stockupDTO.getTypeService().equals("3")) { + //自提 return selectSelfInfo(reservationId,stockupDTO); } else { + //市 商 return selectDiscussInfo(reservationId,stockupDTO); } @@ -638,15 +640,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl information = warehouseUpdownGoodsClient.getLocationStockListInformation(updownGoodsEntity); + if(!information.isEmpty()){ + i.setAllocation(information.get(0).getPositionCode()); + i.setAllocationId(information.get(0).getAllocationId()); } }); - - } //获取有货位的数据 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index 8cb640234..480d5fe9c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -339,7 +339,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl packageEntityList = new ArrayList<>(); if(ObjectUtils.isNotNull(distrilbutionBillLading.getBillPackageEntityList())){ //添加自提包件信息 - List collect = distrilbutionBillLading.getBillPackageEntityList().stream().filter(q -> q.getStockArticleId().equals(s)).collect(Collectors.toList()); +// List collect = new ArrayList<>(); + List collect = distrilbutionBillLading.getBillPackageEntityList().stream().filter(qqq -> qqq.getStockArticleId().toString().equals(s)).collect(Collectors.toList()); if(!collect.isEmpty()){ //有包件 collect.stream().forEach(ss ->{ @@ -349,14 +350,22 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl 0){ + //部分 + distributionStockArticle.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue()); + }else if(1 == 0){ + //全部 + distributionStockArticle.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue()); + } }else{ //没有包件 查询包件信息 - List list1 = distributionParcelListService.list(Wrappers.query().lambda() + /*List list1 = distributionParcelListService.list(Wrappers.query().lambda() .eq(DistributionParcelListEntity::getStockArticleId, s) .eq(DistributionParcelListEntity::getConditions, 1) ); @@ -378,12 +387,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl list1 = distributionParcelListService.list(Wrappers.query().lambda() + /*List list1 = distributionParcelListService.list(Wrappers.query().lambda() .eq(DistributionParcelListEntity::getStockArticleId, s) .eq(DistributionParcelListEntity::getConditions, 1) ); @@ -406,9 +419,29 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl parcelNumberList = distributionParcelNumberService.list(Wrappers.query().lambda() + .eq(DistributionParcelNumberEntity::getStockArticleId, s) + ); + if(!parcelNumberList.isEmpty()){ + //零担 + int handQuantity = parcelNumberList.stream().mapToInt(DistributionParcelNumberEntity::getHandQuantity).sum(); //在库总数量 + int sum = parcelNumberList.stream().mapToInt(DistributionParcelNumberEntity::getDeliveryQuantity).sum(); //配送数量 + int i = handQuantity - sum; + if(i > 0){ + //部分 + distributionStockArticle.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue()); + }else if(1 == 0){ + //全部 + distributionStockArticle.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue()); + } + } distrilbutionBillPackageService.saveBatch(packageEntityList); distributionStockArticle.setId(Long.parseLong(s)); distributionStockArticleService.updateById(distributionStockArticle); @@ -462,6 +495,46 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl billPackInfo(String stockArticleId,Long billId,List parcelLisList,DistributionStockArticleEntity byId){ + List packageEntityList = new ArrayList<>(); + //没有包件 查询包件信息 + List list1 = distributionParcelListService.list(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getStockArticleId, stockArticleId) + .eq(DistributionParcelListEntity::getConditions, 1) + ); + list1.stream().forEach(ss ->{ + + DistrilbutionBillPackageEntity billPackageEntity = new DistrilbutionBillPackageEntity(); + billPackageEntity.setBillLadingId(billId); + billPackageEntity.setPacketBarCode(ss.getOrderPackageCode()); + billPackageEntity.setPacketBarStatus(1); + billPackageEntity.setParceListId(ss.getId()); + billPackageEntity.setStockArticleId(ss.getStockArticleId()); + if(byId.getIsZero().equals("1")){ + //零担 + Optional first = parcelLisList.stream().filter(i -> i.getStockArticleId().equals(ss.getStockArticleId()) && i.getId().equals(ss.getId())).findFirst(); + billPackageEntity.setBillType("2"); + billPackageEntity.setPacketNumber(first.get().getQuantity()); + }else{ + billPackageEntity.setBillType("1"); + billPackageEntity.setPacketNumber(ss.getQuantity()); + } + + packageEntityList.add(billPackageEntity); + }); + return packageEntityList; + } + + + /** * 添加提货包件数据 * @return diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionCallDeliveryServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionCallDeliveryServiceImpl.java index c059ba4f0..21aea07a2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionCallDeliveryServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionCallDeliveryServiceImpl.java @@ -19,6 +19,7 @@ package com.logpm.distribution.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.entity.DistrilbutionCallDeliveryEntity; import com.logpm.distribution.excel.DistrilbutionCallDeliveryExcel; @@ -88,6 +89,10 @@ public class DistrilbutionCallDeliveryServiceImpl extends BaseServiceImplupdate().eq("id",s) + .set("notification","1") + ); } return true; } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java index 1cda7e2a1..915c4da9f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java @@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + @NonDS @ApiIgnore @RestController @@ -77,8 +79,8 @@ public class WarehouseUpdownGoodsClient implements IWarehouseUpdownGoodsClient { @Override @PostMapping(LOCATIONSTOCKLISTINFORMATION) - public WarehouseUpdownGoodsEntity getLocationStockListInformation(WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity) { - return warehouseUpdownGoodsService.getOne(Wrappers.query().lambda() + public List getLocationStockListInformation(WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity) { + return warehouseUpdownGoodsService.list(Wrappers.query().lambda() .eq(ObjectUtils.isNotNull(warehouseUpdownGoodsEntity.getAllocationId()),WarehouseUpdownGoodsEntity::getAllocationId,warehouseUpdownGoodsEntity.getAllocationId()) .eq(ObjectUtils.isNotNull(warehouseUpdownGoodsEntity.getAssociationType()),WarehouseUpdownGoodsEntity::getAssociationType,warehouseUpdownGoodsEntity.getAssociationType()) .eq(ObjectUtils.isNotNull(warehouseUpdownGoodsEntity.getMarketId()),WarehouseUpdownGoodsEntity::getMarketId,warehouseUpdownGoodsEntity.getMarketId())