Browse Source

修改自提整托

training
caoyizhong 2 years ago
parent
commit
2adc47d669
  1. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupStockListVO.java
  2. 2
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java
  3. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  4. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java
  5. 33
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  6. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.java
  7. 20
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml
  8. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java
  9. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillStockService.java
  10. 129
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  11. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillStockServiceImpl.java
  12. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java
  13. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java

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

@ -8,6 +8,8 @@ import java.io.Serializable;
public class DistributionStockupStockListVO implements Serializable { public class DistributionStockupStockListVO implements Serializable {
private Long stockListId;//库存品id private Long stockListId;//库存品id
private Long allocationId;//库存品id
private Long deliveryDetailsId; //自提库存品id private Long deliveryDetailsId; //自提库存品id

2
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayGoodsClient.java

@ -68,6 +68,6 @@ public interface IWarehouseTrayGoodsClient {
* @param trayId * @param trayId
*/ */
@PostMapping(GETTRAYIDLIST) @PostMapping(GETTRAYIDLIST)
List<WarehouseTrayGoodsEntity> getTrayIdList(@RequestParam Long trayId); List<WarehouseTrayGoodsEntity> getTrayIdList(@RequestParam String trayId);
} }

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

@ -61,6 +61,7 @@ import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 备货信息表 app控制器 * 备货信息表 app控制器
@ -207,7 +208,13 @@ public class DistributionStockupAppController extends BladeController {
map = convertObjectToMap(distributionStockupSelfVO); map = convertObjectToMap(distributionStockupSelfVO);
//客户订单 //客户订单
List<DistributionStockupOrderListVO> list = distributionStockupService.selectStockupOrderList(stockupDTO); List<DistributionStockupOrderListVO> list = distributionStockupService.selectStockupOrderList(stockupDTO);
map.put("orderList", list); List<DistributionStockupOrderListVO> collect = list.stream().filter(i -> {
if (ObjectUtils.isNotNull(i.getTrayId()) && !i.getPallet().contains(",") && !i.isCompleteStact() && ObjectUtils.isNotNull( i.getAllocationId()) ) {
i.setTrayLean(true);
}
return true;
}).collect(Collectors.toList());
map.put("orderList", collect);
} else { } else {
//查询备货区信息 //查询备货区信息
DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupStockListDetails(reservationId); DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupStockListDetails(reservationId);
@ -232,9 +239,9 @@ public class DistributionStockupAppController extends BladeController {
for (DistributionStockupOrderListVO vo : list) { for (DistributionStockupOrderListVO vo : list) {
planNum = planNum + vo.getPlanNum(); planNum = planNum + vo.getPlanNum();
scanNum = scanNum + vo.getScanNum(); scanNum = scanNum + vo.getScanNum();
Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); // Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId());
// Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId()); // Boolean aBoolean = distributionReservationPackageService.selectClientStockupState(reservationId, vo.getStockArticleId());
vo.setTrayLean(aBoolean); // vo.setTrayLean(aBoolean);
} }
map.put("planNum", planNum); map.put("planNum", planNum);
map.put("scanNum", scanNum); map.put("scanNum", scanNum);
@ -248,8 +255,8 @@ public class DistributionStockupAppController extends BladeController {
for (DistributionStockupStockListVO vo : list) { for (DistributionStockupStockListVO vo : list) {
planNum = planNum + vo.getPlanNum(); planNum = planNum + vo.getPlanNum();
scanNum = scanNum + vo.getRealNum(); scanNum = scanNum + vo.getRealNum();
// Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId()); Boolean aBoolean = distributionStockupService.getClientStockupTray(reservationId, vo.getAllocationId());
// vo.setTrayLean(aBoolean); vo.setTrayLean(aBoolean);
} }
map.put("planNum", planNum); map.put("planNum", planNum);
map.put("scanNum", scanNum); map.put("scanNum", scanNum);
@ -276,7 +283,7 @@ public class DistributionStockupAppController extends BladeController {
Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品 Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品
Integer status = stockupDTO.getStatus();//0未完成 1已完成 Integer status = stockupDTO.getStatus();//0未完成 1已完成
Long allocationId = stockupDTO.getAllocationId(); //货位 Long allocationId = stockupDTO.getAllocationId(); //货位
Long trayId = stockupDTO.getTrayId(); //托盘Id Long trayId = Long.valueOf(stockupDTO.getTrayId()); //托盘Id
if (ObjectUtils.isNull(stockupId)) { if (ObjectUtils.isNull(stockupId)) {
log.warn("##############orderInfo: 备货任务ID为空 allocation={}", stockupId); log.warn("##############orderInfo: 备货任务ID为空 allocation={}", stockupId);

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/StockupDTO.java

@ -51,7 +51,7 @@ public class StockupDTO implements Serializable {
private String trayBarCode;//托盘码 private String trayBarCode;//托盘码
private String typeService;//备货类型 private String typeService;//备货类型
private Integer stockPrint;//库存品扫码类型 1 原有包条 2打印处理的扫码 private Integer stockPrint;//库存品扫码类型 1 原有包条 2打印处理的扫码
private Long trayId;//货位ID private String trayId;//货位ID
private String stockupArea;//备货区 private String stockupArea;//备货区
private Long stockupAreaId;//备货区ID private Long stockupAreaId;//备货区ID
private Long stockupId;//备货任务区Id private Long stockupId;//备货任务区Id

33
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -258,22 +258,7 @@
LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldsi.reservation_id and ldrs.stock_list_status in (1,3) LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldsi.reservation_id and ldrs.stock_list_status in (1,3)
where ds.id = lds.id where ds.id = lds.id
) inventoryNub, ) inventoryNub
(
select COUNT(DISTINCT ldsk.id)
from logpm_distribution_stockup ds
LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id and ldrp.packet_bar_status in (1,3)
LEFT JOIN logpm_distribution_stock ldsk on ldsk.parcel_list_id = ldrp.parce_list_id and ldsk.stockup_id =ds.id
where ds.id = lds.id
)+(
select COUNT(DISTINCT ldsk.id)
from logpm_distribution_stockup ds
LEFT JOIN logpm_distribution_stockup_info ldsi on ds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldsi.reservation_id and ldrs.stock_list_status in (1,3)
LEFT JOIN logpm_distribution_stock ldsk on ldsk.stock_list_id = ldrs.stocklist_id and ldsk.stockup_id =ds.id
where ds.id = lds.id and ldsk.stockup_id = lds.id
) realNum
from logpm_distribution_stockup lds from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldrs.reservation_id = ldsi.reservation_id LEFT JOIN logpm_distribution_reservation_stockarticle ldrs on ldrs.reservation_id = ldsi.reservation_id
@ -322,21 +307,7 @@
select SUM(lddd.quantity) select SUM(lddd.quantity)
from logpm_distribution_delivery_details lddd from logpm_distribution_delivery_details lddd
where lddd.bill_lading_id = ldbs.bill_lading_id where lddd.bill_lading_id = ldbs.bill_lading_id
) inventoryNub, ) inventoryNub
(
select COUNT(DISTINCT id)
from logpm_distribution_stock
where parcel_list_id in (
select id
from logpm_distribution_parcel_list
where ldbs.stock_article_id = stock_article_id
) and bill_lading_id = ldbs.bill_lading_id
)+(
select COUNT(DISTINCT lds.id)
from logpm_distribution_delivery_details lddd
LEFT JOIN logpm_distribution_stock lds on lddd.stock_list_id = lds.stock_list_id
where lds.bill_lading_id =ldbs.bill_lading_id
) realNum
from logpm_distribution_stockup lds from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id and ldsi.stock_up_type = 3 LEFT JOIN logpm_distribution_stockup_info ldsi on lds.id = ldsi.stockup_id and ldsi.stock_up_type = 3
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id and ldbs.order_status in (1,2) LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id and ldbs.order_status in (1,2)

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

@ -64,4 +64,6 @@ public interface DistrilbutionBillStockMapper extends BaseMapper<DistrilbutionBi
List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId); List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(@Param("reservationId")Long reservationId,@Param("stockupId") Long stockupId);
List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(@Param("param")StockupDTO stockupDTO); List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(@Param("param")StockupDTO stockupDTO);
List<DistributionStockPackageVO> listPackageSelf(@Param("reservationId")Long reservationId);
} }

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

@ -5,7 +5,13 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="distrilbutionBillStockResultMap" type="com.logpm.distribution.entity.DistrilbutionBillStockEntity"> <resultMap id="distrilbutionBillStockResultMap" type="com.logpm.distribution.entity.DistrilbutionBillStockEntity">
</resultMap> </resultMap>
<select id="listPackageSelf" resultType="com.logpm.distribution.vo.DistributionStockPackageVO">
select ldpl.id parcelListId,ldpl.order_package_code packetBarCode,ldbs.stock_article_id stockArticleId,ldbs.bill_lading_id reservationId,ldpl.order_code orderCode
from logpm_distrilbution_bill_stock ldbs
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
where ldbs.bill_lading_id = #{reservationId}
</select>
<select id="selectDistrilbutionBillStockPage" resultMap="distrilbutionBillStockResultMap"> <select id="selectDistrilbutionBillStockPage" resultMap="distrilbutionBillStockResultMap">
select * from logpm_distrilbution_bill_stock where is_deleted = 0 select * from logpm_distrilbution_bill_stock where is_deleted = 0
@ -47,7 +53,7 @@
</where> </where>
</select> </select>
<select id="selectDistrilbutionBillOverPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO"> <select id="selectDistrilbutionBillOverPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO">
select DISTINCT COUNT(lwugl.id) planNum ,( select DISTINCT COUNT(lds.id) planNum ,(
SELECT COUNT(lt.id) SELECT COUNT(lt.id)
FROM logpm_distribution_stock lt FROM logpm_distribution_stock lt
WHERE lt.parcel_list_id = ldpl.id and lt.stockup_id = ldsi.stockup_id WHERE lt.parcel_list_id = ldpl.id and lt.stockup_id = ldsi.stockup_id
@ -60,18 +66,20 @@
SELECT GROUP_CONCAT(lwtg.tray_code SEPARATOR ',') SELECT GROUP_CONCAT(lwtg.tray_code SEPARATOR ',')
FROM logpm_warehouse_tray_goods lwtg FROM logpm_warehouse_tray_goods lwtg
where lwtg.association_id = ldpl.id and lwtg.association_type = 3 where lwtg.association_id = ldpl.id and lwtg.association_type = 3
) trays,ldpl.id parcelListId,lwugl.id lwugId ) trays,ldpl.id parcelListId,lds.allocation_id lwugId
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
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_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 and lwugl.create_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) LEFT JOIN logpm_distribution_stock lds on lds.stockup_id =ldsi.stockup_id and lds.parcel_list_id = ldpl.id
<!-- LEFT JOIN logpm_warehouse_updown_goods_log lwugl on ldpl.id = lwugl.association_id and lwugl.binding_type = 2 and lwugl.create_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)-->
<where> <where>
ldsi.stockup_id = #{param.stockupId} and ldsi.reservation_id = #{param.reservationId} ldsi.stockup_id = #{param.stockupId} and ldsi.reservation_id = #{param.reservationId}
<if test=" param.allocationId != '' and param.allocationId != null "> <if test=" param.allocationId != '' and param.allocationId != null ">
and lwugl.allocation_id = #{param.allocationId} <!-- and lwugl.allocation_id = #{param.allocationId}-->
and lds.allocation_id = #{param.allocationId}
</if> </if>
</where> </where>
GROUP BY ldpl.id,lwugl.id GROUP BY ldpl.id,lds.allocation_id
</select> </select>
<select id="selectDistrilbutionBillPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO"> <select id="selectDistrilbutionBillPackWuSelf" resultType="com.logpm.distribution.vo.DistributionStockupSelfVO">
select DISTINCT CASE WHEN lwug.id is null THEN select DISTINCT CASE WHEN lwug.id is null THEN
@ -187,7 +195,7 @@
from logpm_distrilbution_bill_stock ldbs 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_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 = ldpl.id
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id and lds.bill_lading_id = ldbs.bill_lading_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}

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationPackageService.java

@ -81,6 +81,7 @@ public interface IDistributionReservationPackageService extends BaseService<Dist
*/ */
List<DistributionStockPackageVO> listPackage(Long reservationId); List<DistributionStockPackageVO> listPackage(Long reservationId);
/** /**
* 查询预约中间表的包件集合 * 查询预约中间表的包件集合
* @param reservationPackageEntity * @param reservationPackageEntity

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

@ -75,4 +75,6 @@ public interface IDistrilbutionBillStockService extends BaseService<Distrilbutio
List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(Long reservationId, Long stockupId); List<DistributionStockupSelfVO> selectDistrilbutionBillPackWuSelf(Long reservationId, Long stockupId);
List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(StockupDTO stockupDTO); List<DistributionStockupSelfVO> selectDistrilbutionBillOverPackWuSelf(StockupDTO stockupDTO);
List<DistributionStockPackageVO> listPackageSelf(Long reservationId);
} }

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

@ -36,9 +36,8 @@ import com.logpm.distribution.vo.*;
import com.logpm.distribution.wrapper.DistributionStockupWrapper; import com.logpm.distribution.wrapper.DistributionStockupWrapper;
import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; import com.logpm.warehouse.feign.*;
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;
@ -70,6 +69,7 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 备货信息表 服务实现类 * 备货信息表 服务实现类
@ -147,7 +147,10 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
private IDistributionAsyncService distributionAsyncService; private IDistributionAsyncService distributionAsyncService;
private IWarehouseUpdownGoodsLogClient warehouseUpdownGoodsLogClient; private IWarehouseUpdownGoodsLogClient warehouseUpdownGoodsLogClient;
@Autowired
private IWarehouseUpdownTypeClient warehouseUpdownTypeClient;
@Autowired
private final IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
@Override @Override
public IPage<DistributionStockupVO> selectDistributionStockupPage(IPage<DistributionStockupVO> page, DistributionStockupVO distributionStockup) { public IPage<DistributionStockupVO> selectDistributionStockupPage(IPage<DistributionStockupVO> page, DistributionStockupVO distributionStockup) {
@ -528,7 +531,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
y.setScanNum(y.getScanNum()+1); y.setScanNum(y.getScanNum()+1);
} }
//t托盘信息 //t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(i.getTrayId())){ if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !y.getTrayId().equals(i.getTrayId())){
y.setPallet(y.getPallet()+","+i.getPallet()); y.setPallet(y.getPallet()+","+i.getPallet());
} }
//订单自编号信息 //订单自编号信息
@ -592,7 +595,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
wu.setScanNum(wu.getScanNum()+1); wu.setScanNum(wu.getScanNum()+1);
} }
//托盘信息 //托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){
wu.setPallet(wu.getPallet()+","+i.getPallet()); wu.setPallet(wu.getPallet()+","+i.getPallet());
} }
//订单自编号信息 //订单自编号信息
@ -633,7 +636,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
wu.setScanNum(wu.getScanNum()+1); wu.setScanNum(wu.getScanNum()+1);
} }
//托盘信息 //托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){
wu.setPallet(wu.getPallet()+","+i.getPallet()); wu.setPallet(wu.getPallet()+","+i.getPallet());
} }
//订单自编号信息 //订单自编号信息
@ -689,7 +692,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
y.setScanNum(y.getScanNum()+1); y.setScanNum(y.getScanNum()+1);
} }
//t托盘信息 //t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
y.setPallet(y.getPallet()+","+p.getPallet()); y.setPallet(y.getPallet()+","+p.getPallet());
} }
} }
@ -746,7 +749,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
y.setScanNum(y.getScanNum()+1); y.setScanNum(y.getScanNum()+1);
} }
//t托盘信息 //t托盘信息
if(ObjectUtils.isNotNull(y.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){ if(ObjectUtils.isNotNull(y.getTrayId()) && ObjectUtils.isNotNull(p.getTrayId()) && !y.getTrayId().equals(p.getTrayId())){
y.setPallet(y.getPallet()+","+p.getPallet()); y.setPallet(y.getPallet()+","+p.getPallet());
} }
if(y.getPlanNum().equals(y.getScanNum())){ if(y.getPlanNum().equals(y.getScanNum())){
@ -790,7 +793,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
wu.setScanNum(wu.getScanNum()+1); wu.setScanNum(wu.getScanNum()+1);
} }
//托盘信息 //托盘信息
if(ObjectUtils.isNotNull(wu.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){ if(ObjectUtils.isNotNull(wu.getTrayId()) && ObjectUtils.isNotNull(i.getTrayId()) && !wu.getTrayId().equals(i.getTrayId())){
wu.setPallet(wu.getPallet()+","+i.getPallet()); wu.setPallet(wu.getPallet()+","+i.getPallet());
} }
//订单自编号信息 //订单自编号信息
@ -1391,17 +1394,43 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public R addPackTrayList(StockupDTO stockupDTO) { public R addPackTrayList(StockupDTO stockupDTO) {
AtomicReference<Boolean> stock = new AtomicReference<>(false); AtomicReference<Boolean> stock = new AtomicReference<>(false);
//查询包件信息
List<DistributionStockPackageVO> list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId()); DistributionStockupInfoEntity one = distributionStockupInfoService.getOne(Wrappers.<DistributionStockupInfoEntity>query().lambda()
.eq(DistributionStockupInfoEntity::getReservationId, stockupDTO.getReservationId())
.eq(DistributionStockupInfoEntity::getStockupId, stockupDTO.getStockupId())
);
List<DistributionStockPackageVO> list = new ArrayList<>();
if(ObjectUtils.isNotNull(one)){
if(one.getStockUpType().equals("3")){
//自提
list = distrilbutionBillStockService.listPackageSelf(stockupDTO.getReservationId());
}else{
// 市,自
//查询包件信息
list = distributionReservationPackageService.listPackage(stockupDTO.getReservationId());
}
}else {
log.warn("预约信息不存在!");
return R.fail(3001, "备货失败!");
}
if(list.size() < 1){
log.warn("包件信息不存在!");
return R.fail(3001, "备货失败!");
}
//查询托盘上面的包件 //查询托盘上面的包件
List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(stockupDTO.getTrayId()); List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(stockupDTO.getTrayId());
List<DistributionStockPackageVO> voList = new ArrayList<>(); List<DistributionStockPackageVO> voList = new ArrayList<>();
List<DistributionStockPackageVO> finalList = list;
trayIdList.forEach(t -> { trayIdList.forEach(t -> {
Optional<DistributionStockPackageVO> first = list.stream().filter(l -> l.getParcelListId().equals(t.getAssociationId())).findFirst(); boolean b = finalList.stream().anyMatch(l -> l.getParcelListId().equals(t.getAssociationId()));
if (first.isPresent()) { if (b) {
DistributionStockPackageVO distributionStockPackageVO = first.get(); finalList.stream().forEach(i -> {
log.warn("找到了匹配的对象:" + distributionStockPackageVO); if(i.getParcelListId().equals(t.getAssociationId())){
voList.add(distributionStockPackageVO); DistributionStockPackageVO distributionStockPackageVO = i;
log.warn("找到了匹配的对象:" + distributionStockPackageVO);
voList.add(distributionStockPackageVO);
}
});
} else { } else {
log.warn("没有找到了匹配的对象;"); log.warn("没有找到了匹配的对象;");
stock.set(true); stock.set(true);
@ -1412,25 +1441,57 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
} else { } else {
List<DistributionStockEntity> list1 = new ArrayList<>(); List<DistributionStockEntity> list1 = new ArrayList<>();
voList.forEach(i -> { voList.forEach(i -> {
DistributionStockEntity distributionStock = new DistributionStockEntity(); //查询是否已备货
distributionStock.setStockupId(stockupDTO.getStockupId()); DistributionParcelListEntity byId = distributionParcelListService.getById(i.getParcelListId());
distributionStock.setStockArticle(i.getStockArticleId()); if(ObjectUtils.isNotNull(byId) && !byId.getOrderPackageStockupStatus().equals(OrderPackageStockupStatusConstant.yibeihu.getValue())){
distributionStock.setGoodsAllocation(i.getGoodsAllocation());//货位信息 DistributionStockEntity distributionStock = new DistributionStockEntity();
distributionStock.setConditions("1"); //修改包件备货状态
distributionStock.setParcelListId(i.getParcelListId()); DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
distributionStock.setOrderSelfNumbering(i.getOrderCode()); parcelList.setId(i.getParcelListId());
distributionStock.setType(1); parcelList.setOrderPackageStockupStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
distributionStock.setDeliveryListCode(i.getNoteNumber()); distributionParcelListService.updateById(parcelList);
distributionStock.setDeliveryListId(i.getDeliveryId()); //货位下架
distributionStock.setReservationId(i.getReservationId()); warehouseUpdownTypeClient.downPackage(i.getPacketBarCode());
distributionStock.setReservationCode(i.getReservationCode()); //判断备货任务是否完成
distributionStock.setCoding(i.getPacketBarCode()); if(one.getStockUpType().equals("3")){
list1.add(distributionStock); distributionAsyncService.stockupSelfUpdateState(stockupDTO);
distributionStock.setBillLadingId(i.getReservationId());
distributionStock.setConditions("2");
}else{
distributionAsyncService.stockupUpdateState(stockupDTO);
distributionStock.setReservationId(i.getReservationId());
distributionStock.setReservationCode(i.getReservationCode());
distributionStock.setConditions("1");
}
//查询库位信息
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoodsEntity.setAssociationId(i.getParcelListId());
warehouseUpdownGoodsEntity.setAssociationValue(i.getPacketBarCode());
WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity);
if(ObjectUtils.isNotNull(locationInformation)){
distributionStock.setAllocationTitle(locationInformation.getPositionCode());
distributionStock.setAllocationId(locationInformation.getAllocationId());
}
distributionStock.setStockupId(stockupDTO.getStockupId());
distributionStock.setStockArticle(i.getStockArticleId());
// distributionStock.setGoodsAllocation(i.getGoodsAllocation());//货位信息
distributionStock.setParcelListId(i.getParcelListId());
distributionStock.setOrderSelfNumbering(i.getOrderCode());
distributionStock.setType(1);
// distributionStock.setDeliveryListCode(i.getNoteNumber());
// distributionStock.setDeliveryListId(i.getDeliveryId());
distributionStock.setCoding(i.getPacketBarCode());
list1.add(distributionStock);
}
}); });
//TODO 其他操作 //TODO 其他操作
//添加扫描记录 //添加扫描记录
distributionStockService.saveBatch(list1); if(!list1.isEmpty()){
return R.fail(200, "备货成功"); distributionStockService.saveBatch(list1);
}
return R.success("备货成功");
} }
} }
@ -1456,7 +1517,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
while (iterator.hasNext()) { while (iterator.hasNext()) {
if (i.getTrayId().equals(iterator.next().getTrayId())) { if (i.getTrayId().equals(iterator.next().getTrayId())) {
Integer trayPackNum = iterator.next().getTrayPackNum(); //在这个托盘的数量 Integer trayPackNum = iterator.next().getTrayPackNum(); //在这个托盘的数量
List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId()); List<WarehouseTrayGoodsEntity> trayIdList = warehouseTrayGoodsClient.getTrayIdList(i.getTrayId().toString());
if (trayPackNum.equals(trayIdList.size())) { if (trayPackNum.equals(trayIdList.size())) {
trays.set(true); trays.set(true);
} }

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

@ -106,4 +106,9 @@ public class DistrilbutionBillStockServiceImpl extends BaseServiceImpl<Distrilbu
return baseMapper.selectDistrilbutionBillOverPackWuSelf(stockupDTO); return baseMapper.selectDistrilbutionBillOverPackWuSelf(stockupDTO);
} }
@Override
public List<DistributionStockPackageVO> listPackageSelf(Long reservationId) {
return baseMapper.listPackageSelf(reservationId);
}
} }

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayGoodsClient.java

@ -1,5 +1,6 @@
package com.logpm.warehouse.feign; package com.logpm.warehouse.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity;
import com.logpm.warehouse.service.IWarehouseTrayGoodsService; import com.logpm.warehouse.service.IWarehouseTrayGoodsService;
@ -47,10 +48,14 @@ public class WarehouseTrayGoodsClient implements IWarehouseTrayGoodsClient {
@Override @Override
@PostMapping(GETTRAYIDLIST) @PostMapping(GETTRAYIDLIST)
public List<WarehouseTrayGoodsEntity> getTrayIdList(Long trayId) { public List<WarehouseTrayGoodsEntity> getTrayIdList(String trayId) {
return warehouseTrayGoodsService.list(Wrappers.<WarehouseTrayGoodsEntity>query().lambda() QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper = new QueryWrapper();
.eq(WarehouseTrayGoodsEntity::getTrayId,trayId) if(trayId.contains(",")){
.eq(WarehouseTrayGoodsEntity::getAssociationType,"3") queryWrapper.in("tray_id",trayId.split(","));
); }else{
queryWrapper.eq("tray_id",trayId);
}
queryWrapper.eq("association_type","3");
return warehouseTrayGoodsService.list(queryWrapper);
} }
} }

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownGoodsClient.java

@ -1,6 +1,7 @@
package com.logpm.warehouse.feign; package com.logpm.warehouse.feign;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.service.IWarehouseUpdownGoodsService; import com.logpm.warehouse.service.IWarehouseUpdownGoodsService;
@ -67,8 +68,9 @@ public class WarehouseUpdownGoodsClient implements IWarehouseUpdownGoodsClient {
public WarehouseUpdownGoodsEntity getLocationInformation(WarehouseUpdownGoodsEntity updownGoodsEntity) { public WarehouseUpdownGoodsEntity getLocationInformation(WarehouseUpdownGoodsEntity updownGoodsEntity) {
return warehouseUpdownGoodsService.getOne(Wrappers.<WarehouseUpdownGoodsEntity>query().lambda() return warehouseUpdownGoodsService.getOne(Wrappers.<WarehouseUpdownGoodsEntity>query().lambda()
.eq(WarehouseUpdownGoodsEntity::getAllocationId,updownGoodsEntity.getAllocationId()) .eq(ObjectUtils.isNotNull(updownGoodsEntity.getAllocationId()),WarehouseUpdownGoodsEntity::getAllocationId,updownGoodsEntity.getAllocationId())
.eq(WarehouseUpdownGoodsEntity::getAssociationValue,updownGoodsEntity.getAssociationValue()) .eq(WarehouseUpdownGoodsEntity::getAssociationValue,updownGoodsEntity.getAssociationValue())
.eq(ObjectUtils.isNotNull(updownGoodsEntity.getAssociationId()),WarehouseUpdownGoodsEntity::getAssociationId,updownGoodsEntity.getAssociationId())
); );
} }

Loading…
Cancel
Save