Browse Source

修改备货 自提库位信息

training
caoyizhong 1 year ago
parent
commit
cd7b2b2684
  1. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java
  2. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  3. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java
  4. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  5. 17
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  6. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  7. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java
  8. 42
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml
  9. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  10. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java
  11. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  12. 145
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  13. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java

@ -34,6 +34,8 @@ public class DistributionStockupOrderListVO implements Serializable {
private Long areaId; //货区id private Long areaId; //货区id
private Long trayId; //托盘id private Long trayId; //托盘id
private Long shelfId; //货架id private Long shelfId; //货架id
private Long parcelListId; //包件id
private Long stockId; //备货id
private Long allocationId; //货位id private Long allocationId; //货位id
} }

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java

@ -247,9 +247,6 @@ public class DistributionStockupAppController extends BladeController {
@ApiOperation(value = "客户订单列表", notes = "传入stockupDTO") @ApiOperation(value = "客户订单列表", notes = "传入stockupDTO")
public R orderInfo(@RequestBody StockupDTO stockupDTO) { public R orderInfo(@RequestBody StockupDTO stockupDTO) {
log.info("##############orderInfo: {}", stockupDTO); log.info("##############orderInfo: {}", stockupDTO);
// Long reservationId = 1694647731085103105L;//预约单id
// Long stockArticleId = 1686560469463760898L;//订单id
// Long stockupId = 1694647730430791682L;//备货任务Id
Long reservationId = stockupDTO.getReservationId();//预约单id Long reservationId = stockupDTO.getReservationId();//预约单id
Long stockArticleId = stockupDTO.getStockArticleId();//订单id Long stockArticleId = stockupDTO.getStockArticleId();//订单id
Long stockupId = stockupDTO.getStockupId();//备货任务Id Long stockupId = stockupDTO.getStockupId();//备货任务Id
@ -465,6 +462,7 @@ public class DistributionStockupAppController extends BladeController {
String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1"); String audioValue = DictBizCache.getValue(DictBizConstant.PDA_AUDIO, "1");
//查询是否货位数据是否该下架 //查询是否货位数据是否该下架
distributionAsyncService.stockupSelfOffShelf(stockupDTO); distributionAsyncService.stockupSelfOffShelf(stockupDTO);
return Resp.scanSuccess("扫描成功!", audioValue); return Resp.scanSuccess("扫描成功!", audioValue);
case 2: case 2:

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java

@ -20,6 +20,7 @@ import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel; import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.vo.DistributionParcelListBaseVO; import com.logpm.distribution.vo.DistributionParcelListBaseVO;
@ -88,7 +89,7 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
* @param stockArticleId * @param stockArticleId
* @return * @return
*/ */
List<PackageStockupVO> selectOrderInfoSelfList(@Param("reservationId") Long reservationId,@Param("stockupId") Long stockupId, @Param("stockArticleId")Long stockArticleId); List<PackageStockupVO> selectOrderInfoSelfList(@Param("param") StockupDTO stockupDTO);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode,@Param("orderCode") Long warehouseId); List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(@Param("orderCode") String orderCode,@Param("orderCode") Long warehouseId);

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -145,8 +145,10 @@
) positionCode ) positionCode
from logpm_distribution_parcel_list ldpl from logpm_distribution_parcel_list ldpl
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id
<where> <where>
ldpl.stock_article_id = #{stockArticleId} ldpl.stock_article_id = #{param.stockArticleId}
<if test="param.allocationId != null and param.allocationId != ''"> and lwug.allocation_id = #{param.allocationId} </if>
</where> </where>
</select> </select>

17
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -216,12 +216,21 @@
where ldrs.reservation_id = ldrp.reservation_id and ldrs.stock_article_id = ldpl.stock_article_id and wug.allocation_id = lwug.allocation_id where ldrs.reservation_id = ldrp.reservation_id and ldrs.stock_article_id = ldpl.stock_article_id and wug.allocation_id = lwug.allocation_id
) )
END planNum, END planNum,
CASE WHEN lwug.allocation_id is null THEN
( (
select COUNT(ldplw.id) - COUNT(lwu.id)
from logpm_distribution_parcel_list ldplw
LEFT JOIN logpm_warehouse_updown_goods lwu on ldplw.id = lwu.association_id and lwu.association_type = '3'
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = lwu.association_id
where ldplw.stock_article_id = ldpl.stock_article_id
) ELSE (
select COUNT(lds.id) select COUNT(lds.id)
from logpm_distribution_reservation_package drp from logpm_distribution_parcel_list ldplw
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = drp.parce_list_id LEFT JOIN logpm_warehouse_updown_goods lwu on ldplw.id = lwu.association_id and lwu.association_type = '3'
where drp.reservation_id = ldrp.reservation_id and drp.packet_bar_status in (1,3) and drp.stock_article_id = ldpl.stock_article_id LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = lwu.association_id
) scanNum where ldplw.stock_article_id = ldpl.stock_article_id and lwu.allocation_id = lwug.allocation_id
) END scanNum
from logpm_distribution_reservation_package ldrp from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_distribution_parcel_list ldpl on ldrp.parce_list_id = ldpl.id LEFT JOIN logpm_distribution_parcel_list ldpl on ldrp.parce_list_id = ldpl.id
LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -659,11 +659,17 @@
lddl.id = ldl.delivery_id and ldl.signfor_state =2) ) signNubSr, lddl.id = ldl.delivery_id and ldl.signfor_state =2) ) signNubSr,
( select GROUP_CONCAT(ldr.consignee) from logpm_distribution_reservation ldr ( select GROUP_CONCAT(ldr.consignee) from logpm_distribution_reservation ldr
where ldr.id in (select lds.reservation_id from logpm_distribution_signfor lds where lds.delivery_id = lddl.id ) where ldr.id in (select lds.reservation_id from logpm_distribution_signfor lds where lds.delivery_id = lddl.id )
) consignee ) consignee,
(
select sum(reservation_num )
from logpm_distribution_reservation_stocklist
where reservation_id = ldsf.reservation_id
) inventoryNub
FROM FROM
logpm_distribution_delivery_list lddl logpm_distribution_delivery_list lddl
left join logpm_distribution_delivery_self ldds on lddl.id =ldds.delivery_id left join logpm_distribution_delivery_self ldds on lddl.id =ldds.delivery_id
left join logpm_distribution_reservation ldr on ldr.id = lddl.reservation_id left join logpm_distribution_signfor ldsf on ldsf.delivery_id = lddl.id
<!--left join logpm_distribution_reservation ldr on ldr.id = lddl.reservation_id-->
<where> <where>
lddl.is_deleted =0 lddl.is_deleted =0
<if test="array != null and @org.apache.commons.collections4.CollectionUtils@isNotEmpty(array)"> <if test="array != null and @org.apache.commons.collections4.CollectionUtils@isNotEmpty(array)">

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java

@ -19,6 +19,7 @@ package com.logpm.distribution.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistrilbutionBillStockEntity; import com.logpm.distribution.entity.DistrilbutionBillStockEntity;
import com.logpm.distribution.excel.DistrilbutionBillStockExcel; import com.logpm.distribution.excel.DistrilbutionBillStockExcel;
import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.*;
@ -58,7 +59,9 @@ public interface DistrilbutionBillStockMapper extends BaseMapper<DistrilbutionBi
List<DistributionStockupOrderListVO> selectDistrilbutionBillSelf(@Param("reservationId")Long reservationId); List<DistributionStockupOrderListVO> selectDistrilbutionBillSelf(@Param("reservationId")Long reservationId);
DistributionStockupSelfVO selectDistrilbutionBillPackSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId,@Param("allocationId") Long allocationId); DistributionStockupSelfVO selectDistrilbutionBillPackSelf(@Param("param") StockupDTO stockupDTO);
DistributionStockupSelfVO selectDistrilbutionBillPackWuSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId); DistributionStockupSelfVO selectDistrilbutionBillPackWuSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId);
DistributionStockupSelfVO selectDistrilbutionBillOverPackWuSelf(@Param("param")StockupDTO stockupDTO);
} }

42
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml

@ -17,7 +17,7 @@
FROM logpm_distribution_parcel_list lpl FROM logpm_distribution_parcel_list lpl
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = lpl.id LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = lpl.id
where where
lpl.stock_article_id = ldbs.stock_article_id and lwug.allocation_id = #{allocationId} lpl.stock_article_id = ldbs.stock_article_id and lwug.allocation_id = #{param.allocationId}
) planNum ,( ) planNum ,(
SELECT COUNT(lt.id) SELECT COUNT(lt.id)
FROM logpm_distribution_stock lt FROM logpm_distribution_stock lt
@ -38,17 +38,38 @@
SELECT GROUP_CONCAT( DISTINCT lwug.allocation_title SEPARATOR ',') SELECT GROUP_CONCAT( DISTINCT lwug.allocation_title SEPARATOR ',')
FROM logpm_distribution_parcel_list lp FROM logpm_distribution_parcel_list lp
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = lp.id and lwug.association_type = 3 LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = lp.id and lwug.association_type = 3
where lp.stock_article_id = ldbs.stock_article_id where lp.stock_article_id = ldbs.stock_article_id and lwug.allocation_id = #{param.allocationId}
) warehouseArea ) warehouseArea
from logpm_distribution_stockup_info ldsi from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id
<where> <where>
ldsi.stockup_id = #{stockupId} and ldsi.reservation_id = #{reservationId} ldsi.stockup_id = #{param.stockupId} and ldsi.reservation_id = #{param.reservationId}
</where> </where>
</select> </select>
<select id="selectDistrilbutionBillOverPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO">
select COUNT(lwugl.id) planNum ,(
SELECT COUNT(lt.id)
FROM logpm_distribution_stock lt
WHERE lt.parcel_list_id = ldpl.id and lt.stockup_id = ldsi.stockup_id
) scanNum,(
select stockup_area
from logpm_distribution_stockup
where id = ldsi.stockup_id
) consignee,(
SELECT GROUP_CONCAT(lwtg.tray_code SEPARATOR ',')
FROM logpm_warehouse_tray_goods lwtg
where lwtg.association_id = ldpl.id and lwtg.association_type = 3
) trays
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldsi.reservation_id = ldbs.bill_lading_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id and ldpl.order_package_grounding_status = 10
LEFT JOIN logpm_warehouse_updown_goods_log lwugl on ldpl.id = lwugl.association_id and lwugl.binding_type = 2
where ldsi.stockup_id = #{param.stockupId} and ldsi.reservation_id = #{param.reservationId} and lwugl.allocation_id = #{param.allocationId}
GROUP BY ldpl.id,lwugl.id
</select>
<select id="selectDistrilbutionBillPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO"> <select id="selectDistrilbutionBillPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO">
select CASE WHEN lwug.id is null THEN select DISTINCT CASE WHEN lwug.id is null THEN
( (
(select COUNT(id) (select COUNT(id)
from logpm_distribution_parcel_list from logpm_distribution_parcel_list
@ -124,7 +145,7 @@
</where> </where>
</select> </select>
<select id="selectDistrilbutionBillSelf" resultType="com.logpm.distribution.vo.DistributionStockupOrderListVO"> <select id="selectDistrilbutionBillSelf" resultType="com.logpm.distribution.vo.DistributionStockupOrderListVO">
select DISTINCT CONCAT( lwug.position_code ) allocation ,lwug.allocation_id allocationId , lwtg.tray_code pallet,lwtg.tray_id trayId,lwug.area_id areaId, <!-- select DISTINCT CONCAT( lwug.position_code ) allocation ,lwug.allocation_id allocationId , lwtg.tray_code pallet,lwtg.tray_id trayId,lwug.area_id areaId,
lwug.shelf_id shelfId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId , lwug.shelf_id shelfId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId ,
CASE WHEN lwug.id is null THEN CASE WHEN lwug.id is null THEN
( (
@ -154,6 +175,15 @@
LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id
LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id
where ldbs.bill_lading_id = #{reservationId} -->
select DISTINCT CONCAT( lwug.position_code ) allocation ,lwug.allocation_id allocationId , lwtg.tray_code pallet,lwtg.tray_id trayId,lwug.area_id areaId,
lwug.shelf_id shelfId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId ,ldpl.id parcelListId,lds.id stockId
from logpm_distrilbution_bill_stock ldbs
LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id
LEFT JOIN logpm_warehouse_updown_goods lwug on ldpl.id = lwug.association_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwug.association_id
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id and lds.bill_lading_id = ldbs.bill_lading_id
where ldbs.bill_lading_id = #{reservationId} where ldbs.bill_lading_id = #{reservationId}
</select> </select>

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -18,6 +18,7 @@ package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel; import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.vo.DistributionParcelListBaseVO; import com.logpm.distribution.vo.DistributionParcelListBaseVO;
@ -91,13 +92,10 @@ public interface IDistributionParcelListService extends BaseService<Distribution
/** /**
* 自提查询订单包件信息 * 自提查询订单包件信息
* @param reservationId *
* @param stockArticleId * @param stockupDTO@return
* @param stockupId
* @param trayId
* @return
*/ */
List<PackageStockupVO> selectOrderInfoSelfList(Long reservationId, Long stockArticleId, Long stockupId, Long trayId); List<PackageStockupVO> selectOrderInfoSelfList(StockupDTO stockupDTO);
List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode,Long warehouseId); List<DistributionParcelListEntity> findALLNoUpShelfPackageByOrderCode(String orderCode,Long warehouseId);

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java

@ -18,6 +18,7 @@ package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistrilbutionBillStockEntity; import com.logpm.distribution.entity.DistrilbutionBillStockEntity;
import com.logpm.distribution.excel.DistrilbutionBillStockExcel; import com.logpm.distribution.excel.DistrilbutionBillStockExcel;
import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.*;
@ -67,12 +68,11 @@ public interface IDistrilbutionBillStockService extends BaseService<Distrilbutio
/** /**
* 自提订单列表数据查询 * 自提订单列表数据查询
* *
* @param reservationId * @param stockupDTO@return
* @param stockupId
* @param allocationId
* @return
*/ */
DistributionStockupSelfVO selectDistrilbutionBillPackSelf(Long reservationId, Long stockupId,Long allocationId); DistributionStockupSelfVO selectDistrilbutionBillPackSelf(StockupDTO stockupDTO);
DistributionStockupSelfVO selectDistrilbutionBillPackWuSelf(Long reservationId, Long stockupId); DistributionStockupSelfVO selectDistrilbutionBillPackWuSelf(Long reservationId, Long stockupId);
DistributionStockupSelfVO selectDistrilbutionBillOverPackWuSelf(StockupDTO stockupDTO);
} }

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionParcelListDTO; import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel; import com.logpm.distribution.excel.DistributionParcelListExcel;
import com.logpm.distribution.mapper.DistributionParcelListMapper; import com.logpm.distribution.mapper.DistributionParcelListMapper;
@ -176,15 +177,12 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
/** /**
* 自提查询订单包件信息 * 自提查询订单包件信息
* @param reservationId *
* @param stockArticleId * @param stockupDTO@return
* @param stockupId
* @param trayId
* @return
*/ */
@Override @Override
public List<PackageStockupVO> selectOrderInfoSelfList(Long reservationId, Long stockArticleId, Long stockupId, Long trayId) { public List<PackageStockupVO> selectOrderInfoSelfList(StockupDTO stockupDTO) {
return baseMapper.selectOrderInfoSelfList(reservationId,stockupId,stockArticleId); return baseMapper.selectOrderInfoSelfList(stockupDTO);
} }
@Override @Override

145
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -39,12 +39,10 @@ import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsLogEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsLogEntity;
import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient; import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient; import com.logpm.warehouse.feign.IWarehouseUpdownGoodsLogClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.common.constant.CodeDesEnum; import org.springblade.common.constant.CodeDesEnum;
import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant;
import org.springblade.common.constant.stocklist.StockLockingStatusConstant; import org.springblade.common.constant.stocklist.StockLockingStatusConstant;
import org.springblade.common.constant.stocklist.StockSignfoStatusConstant; import org.springblade.common.constant.stocklist.StockSignfoStatusConstant;
@ -64,9 +62,13 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.xml.ws.BindingType;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/** /**
* 备货信息表 服务实现类 * 备货信息表 服务实现类
@ -479,6 +481,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
} }
private static <T> Predicate<T> distinctByKey(Function<? super T,?> keyExtractor){
Map<Object,Boolean> map=new ConcurrentHashMap<>();
return t -> map.putIfAbsent(keyExtractor.apply(t),Boolean.TRUE)==null;
}
@Override @Override
public List<DistributionStockupOrderListVO> selectStockupOrderList(StockupDTO stockupDTO) { public List<DistributionStockupOrderListVO> selectStockupOrderList(StockupDTO stockupDTO) {
@ -486,40 +492,91 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (stockupDTO.getTypeService().equals("3")) { if (stockupDTO.getTypeService().equals("3")) {
//查询客户数据 自 //查询客户数据 自
List<DistributionStockupOrderListVO> list = distrilbutionBillStockService.selectDistrilbutionBillSelf(reservationId); List<DistributionStockupOrderListVO> list = distrilbutionBillStockService.selectDistrilbutionBillSelf(reservationId);
//查询包件的库位的 //获取有货位的数据
if(!list.isEmpty()){ List<DistributionStockupOrderListVO> collect11 = list.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList());
list.forEach( i ->{ Set<DistributionStockupOrderListVO> listYou = new HashSet<>();
if(ObjectUtils.isNull(i.getAllocationId())){ collect11.forEach( i -> {
//查询包件信息 if(listYou.size() > 0){
List<DistributionParcelListEntity> list1 = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() boolean b = listYou.stream().anyMatch(o -> o.getAllocationId().equals(i.getAllocationId()));
.eq(DistributionParcelListEntity::getStockArticleId, i.getStockArticleId()) if(b){
); listYou.forEach( y -> {
if(!list1.isEmpty()){ if(y.getAllocationId().equals(i.getAllocationId())){
list1.forEach( a ->{ //相同
WarehouseUpdownGoodsLogEntity updownGoodsLog = new WarehouseUpdownGoodsLogEntity(); y.setPlanNum(y.getPlanNum()+1);
updownGoodsLog.setAssociationType("3"); if(ObjectUtils.isNotNull(i.getStockId())){
updownGoodsLog.setAssociationId(a.getId()); y.setScanNum(y.getScanNum()+1);
updownGoodsLog.setBindingType("2"); //下架
BasicdataWarehouseEntity my = basicdataWarehouseClient.getMyCurrentWarehouse();
updownGoodsLog.setWarehouseId(my.getId());
WarehouseUpdownGoodsLogEntity updownGoods = warehouseUpdownGoodsLogClient.getUpdownGoods(updownGoodsLog);
if(ObjectUtils.isNotNull(updownGoods)){
i.setAllocation(updownGoods.getPositionCode());
i.setAllocationId(updownGoods.getAllocationId());
i.setCompleteStact(true);
} }
}); //t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && y.getTrayId().equals(i.getTrayId())){
y.setPallet(y.getPallet()+","+i.getPallet());
}
}
} );
}else{
i.setPlanNum(1);
if(ObjectUtils.isNotNull(i.getStockId())){
i.setScanNum(1);
}else{
i.setScanNum(0);
} }
listYou.add(i);
}
}else{
i.setPlanNum(1);
if(ObjectUtils.isNotNull(i.getStockId())){
i.setScanNum(1);
}else{
i.setScanNum(0);
}
listYou.add(i);
}
} );
//获取没有货位的数据
List<DistributionStockupOrderListVO> collect22 = list.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList());
if(!collect22.isEmpty()){
collect22.forEach( i -> {
boolean b = listYou.stream().anyMatch(ii -> ObjectUtils.isNull(ii.getAllocationId()));
if(b){
listYou.forEach( wu -> {
if(ObjectUtils.isNull(wu.getAllocationId())){
//相同
wu.setPlanNum(wu.getPlanNum()+1);
if(ObjectUtils.isNotNull(i.getStockId())){
wu.setScanNum(wu.getScanNum()+1);
}
//托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && wu.getTrayId().equals(i.getTrayId())){
wu.setPallet(wu.getPallet()+","+i.getPallet());
}
if(wu.getPlanNum().equals(wu.getScanNum())){
wu.setCompleteStact(true);
}
}
});
}else{
i.setPlanNum(1);
if(ObjectUtils.isNotNull(i.getStockId())){
i.setScanNum(1);
}else{
i.setScanNum(0);
}
listYou.add(i);
} }
}); });
} }
return list; // List<DistributionStockupOrderListVO> collect = list.stream().filter(o -> ObjectUtils.isNotNull(o.getAllocationId())).collect(Collectors.toList());//不为空
// List<DistributionStockupOrderListVO> collect2 = collect.stream().filter(distinctByKey(person -> person.getAllocationId())).collect(Collectors.toList()); //去重
// List<DistributionStockupOrderListVO> collect1 = list.stream().filter(o -> ObjectUtils.isNull(o.getAllocationId())).collect(Collectors.toList());//为空
//查询包件的库位的
return new ArrayList<>(listYou);
} else { } else {
//商 市 //商 市
//1.根据预约单id 查询到对应的数据 //1.根据预约单id 查询到对应的数据
List<DistributionStockupOrderListVO> list = distributionReservationService.selectStockupOrderList(reservationId); List<DistributionStockupOrderListVO> list = distributionReservationService.selectStockupOrderList(reservationId);
// list.forEach( p ->{
//
// });
return list; return list;
} }
@ -649,7 +706,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
public DistributionStockupOrderInfoVO selectOrderInfoSelf(StockupDTO stockupDTO) { public DistributionStockupOrderInfoVO selectOrderInfoSelf(StockupDTO stockupDTO) {
DistributionStockArticleEntity byId = distributionStockArticleService.getById(stockupDTO.getStockArticleId()); DistributionStockArticleEntity byId = distributionStockArticleService.getById(stockupDTO.getStockArticleId());
if(stockupDTO.getStatus().equals(1)){ if(stockupDTO.getStatus().equals(1)){
DistributionStockupSelfVO distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId()); DistributionStockupSelfVO distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillOverPackWuSelf(stockupDTO);
// DistributionStockupSelfVO distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId());
List<DistributionParcelListEntity> list = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda() List<DistributionParcelListEntity> list = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getStockArticleId, stockupDTO.getStockArticleId()) .eq(DistributionParcelListEntity::getStockArticleId, stockupDTO.getStockArticleId())
); );
@ -658,20 +718,23 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
list.forEach( i ->{ list.forEach( i ->{
WarehouseUpdownGoodsLogEntity updownGoodsLogEntity = new WarehouseUpdownGoodsLogEntity(); WarehouseUpdownGoodsLogEntity updownGoodsLogEntity = new WarehouseUpdownGoodsLogEntity();
updownGoodsLogEntity.setAssociationType("3"); updownGoodsLogEntity.setAssociationType("3");
updownGoodsLogEntity.setAssociationId(stockupDTO.getAllocationId()); updownGoodsLogEntity.setAssociationId(i.getId());
updownGoodsLogEntity.setAllocationId(stockupDTO.getAllocationId());
updownGoodsLogEntity.setBindingType("2"); updownGoodsLogEntity.setBindingType("2");
updownGoodsLogEntity.setWarehouseId(myCurrentWarehouse.getId()); updownGoodsLogEntity.setWarehouseId(myCurrentWarehouse.getId());
updownGoodsLogEntity.setAllocationId(i.getId()); // updownGoodsLogEntity.setAllocationId(i.getId());
WarehouseUpdownGoodsLogEntity updownGoods = warehouseUpdownGoodsLogClient.getUpdownGoods(updownGoodsLogEntity); WarehouseUpdownGoodsLogEntity updownGoods = warehouseUpdownGoodsLogClient.getUpdownGoods(updownGoodsLogEntity);
PackageStockupVO packageStockupVO = new PackageStockupVO(); if(ObjectUtils.isNotNull(updownGoods)){
packageStockupVO.setOrderCode(i.getOrderCode()); PackageStockupVO packageStockupVO = new PackageStockupVO();
packageStockupVO.setPackageBarCode(i.getOrderPackageCode()); packageStockupVO.setOrderCode(i.getOrderCode());
packageStockupVO.setGoodsType(1); packageStockupVO.setPackageBarCode(i.getOrderPackageCode());
packageStockupVO.setGoodsTypeStr("定制品"); packageStockupVO.setGoodsType(1);
packageStockupVO.setMaterialName(i.getMaterialName()); packageStockupVO.setGoodsTypeStr("定制品");
packageStockupVO.setIsScanStr("已备货"); packageStockupVO.setMaterialName(i.getMaterialName());
packageStockupVO.setIsScan(2); packageStockupVO.setIsScanStr("已备货");
listPack.add(packageStockupVO); packageStockupVO.setIsScan(2);
listPack.add(packageStockupVO);
}
}); });
DistributionStockupOrderInfoVO vo = new DistributionStockupOrderInfoVO(); DistributionStockupOrderInfoVO vo = new DistributionStockupOrderInfoVO();
vo.setReservationId(stockupDTO.getReservationId()); //预约id vo.setReservationId(stockupDTO.getReservationId()); //预约id
@ -690,13 +753,13 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
DistributionStockupSelfVO distributionStockupSelfVO = new DistributionStockupSelfVO(); DistributionStockupSelfVO distributionStockupSelfVO = new DistributionStockupSelfVO();
if(ObjectUtils.isNotNull(stockupDTO.getAllocationId())){ if(ObjectUtils.isNotNull(stockupDTO.getAllocationId())){
//查询订单数量 有库位 //查询订单数量 有库位
distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId(),stockupDTO.getAllocationId()); distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackSelf(stockupDTO);
}else{ }else{
//查询订单数量 无库位 //查询订单数量 无库位
distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId()); distributionStockupSelfVO = distrilbutionBillStockService.selectDistrilbutionBillPackWuSelf(stockupDTO.getReservationId(), stockupDTO.getStockupId());
} }
List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoSelfList(stockupDTO.getReservationId(), stockupDTO.getStockArticleId(), stockupDTO.getStockupId(), stockupDTO.getTrayId()); List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoSelfList(stockupDTO);
Iterator<PackageStockupVO> iterator = list.iterator(); Iterator<PackageStockupVO> iterator = list.iterator();
if(Objects.isNull(stockupDTO.getAllocationId())){ if(Objects.isNull(stockupDTO.getAllocationId())){

15
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java

@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.logpm.distribution.dto.app.StockupDTO;
import com.logpm.distribution.entity.DistrilbutionBillStockEntity; import com.logpm.distribution.entity.DistrilbutionBillStockEntity;
import com.logpm.distribution.excel.DistrilbutionBillStockExcel; import com.logpm.distribution.excel.DistrilbutionBillStockExcel;
import com.logpm.distribution.mapper.DistrilbutionBillStockMapper; import com.logpm.distribution.mapper.DistrilbutionBillStockMapper;
@ -88,14 +89,11 @@ public class DistrilbutionBillStockServiceImpl extends BaseServiceImpl<Distrilbu
} }
/** /**
* @param reservationId * @param stockupDTO@return
* @param stockupId
* @param allocationId
* @return
*/ */
@Override @Override
public DistributionStockupSelfVO selectDistrilbutionBillPackSelf(Long reservationId, Long stockupId, Long allocationId) { public DistributionStockupSelfVO selectDistrilbutionBillPackSelf(StockupDTO stockupDTO) {
return baseMapper.selectDistrilbutionBillPackSelf(reservationId,stockupId,allocationId); return baseMapper.selectDistrilbutionBillPackSelf(stockupDTO);
} }
@Override @Override
@ -103,4 +101,9 @@ public class DistrilbutionBillStockServiceImpl extends BaseServiceImpl<Distrilbu
return baseMapper.selectDistrilbutionBillPackWuSelf(reservationId,stockupId); return baseMapper.selectDistrilbutionBillPackWuSelf(reservationId,stockupId);
} }
@Override
public DistributionStockupSelfVO selectDistrilbutionBillOverPackWuSelf(StockupDTO stockupDTO) {
return baseMapper.selectDistrilbutionBillOverPackWuSelf(stockupDTO);
}
} }

Loading…
Cancel
Save