Browse Source

修改备货部分查询

training
caoyizhong 2 years ago
parent
commit
07a4f3b37e
  1. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupOrderListVO.java
  2. 52
      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. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  5. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  6. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  7. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockupService.java
  8. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  9. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java
  10. 32
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

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

@ -33,6 +33,7 @@ public class DistributionStockupOrderListVO implements Serializable {
private Integer scanNum;//扫描件数
private Long areaId; //货区id
private Long trayId; //托盘id
private Long shelfId; //货架id
private Long allocationId; //货位id

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

@ -183,41 +183,45 @@ public class DistributionStockupAppController extends BladeController {
@ApiOperation(value = "客户订单列表", notes = "传入stockupDTO")
public R orderInfo(@RequestBody StockupDTO stockupDTO) {
log.info("##############orderInfo: {}",stockupDTO);
// Long reservationId = 1694647731085103105L;//预约单id
// Long stockArticleId = 1686560469463760898L;//订单id
// Long stockupId = 1694647730430791682L;//备货任务Id
Long reservationId = stockupDTO.getReservationId();//预约单id
Long stockArticleId = stockupDTO.getStockArticleId();//订单id
Long stockListId = stockupDTO.getStockListId();//库存品id
Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品
String allocation = stockupDTO.getAllocation();
String pallet = stockupDTO.getPallet();
Long stockupId = stockupDTO.getStockupId();//备货任务Id
Integer orderStatus = stockupDTO.getOrderStatus();//1 客户订单 2库存品
// String allocation = stockupDTO.getAllocation();
Long trayId = stockupDTO.getTrayId(); //托盘Id
if(orderStatus.equals(1)){
//查询客户订单详情
if(Objects.isNull(stockArticleId)){
log.warn("##############orderInfo: 订单id为空 stockArticleId={}",stockArticleId);
return R.fail("订单id为空");
if(Objects.isNull(reservationId)){
log.warn("##############orderInfo: 预约id为空 stockArticleId={}",reservationId);
return R.fail(3002,"预约id为空");
}
if(StringUtil.isBlank(allocation)){
log.warn("##############orderInfo: 库位为空 allocation={}",allocation);
return R.fail("库位为空");
if(ObjectUtils.isNull(stockupId)){
log.warn("##############orderInfo: 备货任务ID为空 allocation={}",stockupId);
return R.fail(3002,"备货任务Id为空");
}
if(StringUtil.isBlank(pallet)){
log.warn("##############orderInfo: 托盘为空 pallet={}",pallet);
return R.fail("托盘为空");
if(ObjectUtils.isNull(stockArticleId)){
log.warn("##############orderInfo: 订单Id为空 pallet={}",stockArticleId);
return R.fail(3002,"订单Id为空");
}
DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfo(reservationId,stockArticleId,allocation,pallet);
DistributionStockupOrderInfoVO infoVO = distributionStockupService.selectOrderInfo(reservationId,stockArticleId,stockupId,trayId);
return R.data(infoVO);
}else if(orderStatus.equals(2)){
Long stockListId = stockupDTO.getStockListId();//库存品id
if(Objects.isNull(stockListId)){
log.warn("##############orderInfo: 库存品id为空 stockListId={}",stockListId);
return R.fail("库存品id为空");
return R.fail(3002,"库存品id为空");
}
DistributionStockupStockListInfoVO infoVO = distributionStockupService.selectStockListInfo(reservationId,stockListId);
return R.data(infoVO);
}else{
log.warn("##############orderInfo: 未知的查询类型 orderStatus={}",orderStatus);
return R.fail("未知的查询类型");
return R.fail(3002,"未知的查询类型");
}
}
@ -258,7 +262,7 @@ public class DistributionStockupAppController extends BladeController {
return R.fail(3002,"预约Id不能为空");
}
if(ObjectUtils.isNull(stockupDTO.getTrayId())){
return R.fail(3002,"托盘不能为空");
return R.fail(3002,"托盘ID不能为空");
}
R b = distributionStockupService.addPackTrayList(stockupDTO);
return b;
@ -315,6 +319,8 @@ public class DistributionStockupAppController extends BladeController {
String packetBarCode = stockupDTO.getPacketBarCode();//包件码
// String stockupArea = stockupDTO.getStockupArea();//备货区
Long stockupId = stockupDTO.getStockupId();//备货任务ID
// Long stockupId = Long.parseLong("1694647730430791682");//备货任务ID
// Long reservationId = Long.parseLong("1694649954590613505");//预约单id
Long reservationId = stockupDTO.getReservationId();//预约单id
if(StringUtil.isBlank(orderCode)){
log.warn("##################stockupScan: 包件扫码,订单自编号为空");
@ -350,6 +356,16 @@ public class DistributionStockupAppController extends BladeController {
map.put("logId", entity.getId());
map.put("messageData", entity);
map.put("createTime", new Date().getTime());
// Integer scanType = (Integer) map.get("scanType");
DistributionStockEntity distributionStockEntity = (DistributionStockEntity) map.get("messageData");
//根据扫码类型处理不同的数据
if(scanType == 1){
distributionStockService.repairPackageScanInfo(distributionStockEntity);
}else if(scanType == 2){
distributionStockService.repairStockListScanInfo(distributionStockEntity);
}else{
log.warn("################stockupScanHandler: 未知的扫码类型 scanType={}",scanType);
}
//将消息携带绑定键值
rabbitTemplate.convertAndSend(RabbitConstant.STOCKUP_SCAN_EXCHANGE, RabbitConstant.STOCKUP_SCAN_ROUTING, map);

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

@ -16,7 +16,6 @@
*/
package com.logpm.distribution.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.vo.DistributionParcelListBaseVO;
import com.logpm.distribution.vo.DistributionParcelListVO;
@ -56,7 +55,7 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
int submitNumByOrderIdAndName(@Param("articleId") Long articleId,@Param("productName") String productName, @Param("num") Integer num);
List<PackageStockupVO> selectOrderInfoList(@Param("reservationId") Long reservationId, @Param("stockArticleId") Long stockArticleId, @Param("allocation") String allocation, @Param("pallet") String pallet);
List<PackageStockupVO> selectOrderInfoList(@Param("reservationId") Long reservationId, @Param("stockArticleId") Long stockArticleId, @Param("stockupId") Long stockupId,@Param("trayId") Long trayId);
List<String> selectWarehouseAreaByReservationId(@Param("reservationId") Long reservationId);

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

@ -85,7 +85,7 @@
</update>
<select id="selectOrderInfoList" resultType="com.logpm.distribution.vo.PackageStockupVO">
select ldpl.order_code orderCode,
<!-- select ldpl.order_code orderCode,
ldpl.order_package_code packageBarCode,
1 goodsType,
IF(lds.id is null,0,1) isScan,
@ -98,7 +98,16 @@
and ldr.id = #{reservationId}
and CONCAT(ldpl.cargo_title,'-',ldpl.shelf_title,'-',ldpl.goods_allocation) = #{allocation}
and ldpl.pallet = #{pallet}
and ldr.is_deleted = 0
and ldr.is_deleted = 0 -->
select ldpl.order_code,ldpl.order_package_code, 1 goodsType, IF(lds.id is null,0,1) isScan,lds.id scanId
from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_distribution_parcel_list ldpl on ldrp.parce_list_id = ldpl.id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id =ldrp.parce_list_id and lwtg.association_type = '3'
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id=ldrp.id
<where>
ldrp.reservation_id = #{reservationId} and ldrp.stock_article_id = #{stockArticleId} and ldrp.packet_bar_status in (1,3)
<if test="trayId != null and trayId != ''"> and lwtg.tray_id = #{trayId}</if>
</where>
</select>
<select id="selectWarehouseAreaByReservationId" resultType="String">

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

@ -196,8 +196,8 @@
ldsa.order_code,
ldrs.stock_article_id,
ldpl.pallet -->
select DISTINCT GROUP_CONCAT(lwug.area_title,'-',lwug.shelf_title,'-',lwug.allocation_title ) allocation , lwtg.tray_code pallet,
lwug.area_id areaId,lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId
select DISTINCT CONCAT(lwug.area_title,'-',lwug.shelf_title,'-',lwug.allocation_title ) allocation , lwtg.tray_code pallet,lwug.area_id areaId,
lwug.shelf_id shelfId,lwug.allocation_id allocationId,lwtg.tray_id trayId,ldpl.order_code orderCode,ldpl.stock_article_id stockArticleId
,(
select COUNT(drp.id)
from logpm_distribution_reservation_package drp
@ -210,7 +210,8 @@
where drp.reservation_id = ldrp.reservation_id and drp.packet_bar_status in (1,3)
) scanNum
from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_warehouse_updown_goods lwug on ldrp.parce_list_id = lwug.association_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_tray_goods lwtg on lwtg.association_id = lwug.association_id
<where>
ldrp.reservation_id = #{reservationId} and ldrp.packet_bar_status in (1,3)

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

@ -54,7 +54,7 @@ public interface IDistributionParcelListService extends BaseService<Distribution
boolean submitNumByOrderIdAndName(Long articleId, String productName, Integer num);
List<PackageStockupVO> selectOrderInfoList(Long reservationId, Long stockArticleId, String allocation, String pallet);
List<PackageStockupVO> selectOrderInfoList(Long reservationId, Long stockArticleId, Long allocation,Long trayId);
List<String> selectWarehouseAreaByReservationId(Long reservationId);

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

@ -70,7 +70,15 @@ public interface IDistributionStockupService extends BaseService<DistributionSto
List<DistributionStockupStockListVO> selectStockupStockList(StockupDTO stockupDTO);
DistributionStockupOrderInfoVO selectOrderInfo(Long reservationId, Long stockArticleId, String allocation, String pallet);
/**
* 查询已经备货的列表
* @param reservationId
* @param stockArticleId
* @param stockupId
* @param trayId
* @return
*/
DistributionStockupOrderInfoVO selectOrderInfo(Long reservationId, Long stockArticleId, Long stockupId,Long trayId);
/**
* 备货基础信息

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

@ -75,8 +75,8 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
}
@Override
public List<PackageStockupVO> selectOrderInfoList(Long reservationId, Long stockArticleId, String allocation, String pallet) {
return baseMapper.selectOrderInfoList(reservationId,stockArticleId,allocation,pallet);
public List<PackageStockupVO> selectOrderInfoList(Long reservationId, Long stockArticleId, Long stockupId, Long trayId) {
return baseMapper.selectOrderInfoList(reservationId,stockArticleId,stockupId, trayId);
}
@Override

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java

@ -41,6 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/**
* 库存品详情信息 服务实现类
@ -106,13 +107,14 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
log.info("#############repairPackageScanInfo: 补全包件扫码信息开始 coding={}",coding);
//查询包件信息
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("packet_bar_code",coding);
queryWrapper.eq("order_package_code",coding);
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getOne(queryWrapper);//包件信息
DistributionReservationEntity reservationEntity = distributionReservationService.getById(reservationId);
DistributionStockupEntity distributionStockupEntity = distributionStockupMapper.selectOne(Wrappers.<DistributionStockupEntity>query().lambda()
.eq(DistributionStockupEntity::getId, distributionStockEntity.getStockupId())
);
if(!Objects.isNull(parcelListEntity)){
DistributionStockArticleEntity byId = distributionStockArticleService.getById(parcelListEntity.getStockArticleId());
String cargoTitle = parcelListEntity.getCargoTitle();//货区
String shelfTitle = parcelListEntity.getShelfTitle();//货位
String goodsAllocation = parcelListEntity.getGoodsAllocation();//货架
@ -123,7 +125,10 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
distributionStockEntity.setStockupArea(distributionStockupEntity.getStockupArea());
distributionStockEntity.setReservationCode(reservationEntity.getReservationCode());
distributionStockEntity.setMaterialId(parcelListEntity.getMaterialId());
distributionStockEntity.setMarketId(Long.parseLong(parcelListEntity.getMarketId()));
if(ObjectUtils.isNotNull(byId.getMallId())){
Long mallId = byId.getMallId();
distributionStockEntity.setMarketId(Optional.ofNullable(mallId).orElse(null));
}
}
distributionStockEntity.setConditions("1");
baseMapper.updateById(distributionStockEntity);

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

@ -388,18 +388,18 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
@Override
public DistributionStockupOrderInfoVO selectOrderInfo(Long reservationId, Long stockArticleId, String allocation, String pallet) {
public DistributionStockupOrderInfoVO selectOrderInfo(Long reservationId, Long stockArticleId, Long stockupId, Long trayId) {
//查询客户信息
DistributionReservationEntity reservationEntity = distributionReservationService.getById(reservationId);
//通过订单id和库位心系,托盘信息查询对应的包件列表
List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoList(reservationId, stockArticleId, allocation, pallet);
int size = list.size();
DistributionReservationEntity reservationEntity = distributionReservationService.getById(reservationId); //预约信息
//通过订单id和预约id,托盘信息查询对应的包件列表
List<PackageStockupVO> list = distributionParcelListService.selectOrderInfoList(reservationId, stockArticleId, stockupId,trayId);
int size = list.size(); //数量
Integer scanNum = 0;
for (PackageStockupVO vo : list) {
if (!Objects.isNull(vo.getScanId())) {
scanNum++;
scanNum++; //已扫的数量
}
//查询包件下面有没有具体的包件详情
String orderPackageCode = vo.getPackageBarCode();
QueryWrapper<DistributionParcelDetailsEntity> qw = new QueryWrapper<>();
qw.eq("package_code", orderPackageCode);
@ -407,15 +407,15 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
vo.setDetailsEntities(parcelDetailsEntityList);
}
DistributionStockupOrderInfoVO vo = new DistributionStockupOrderInfoVO();
vo.setReservationId(reservationId);
vo.setCustomer(reservationEntity.getConsignee());
vo.setAddress(reservationEntity.getDeliveryAddress());
vo.setPlanNum(size);
vo.setScanNum(scanNum);
vo.setStockupArea(reservationEntity.getGoodsAreaName());
vo.setWarehouseArea(allocation);
vo.setTrays(pallet);
vo.setPackageList(list);
vo.setReservationId(reservationId); //预约id
vo.setCustomer(reservationEntity.getConsignee()); //客户0
vo.setAddress(reservationEntity.getDeliveryAddress()); //地址
vo.setPlanNum(size); //计划件数
vo.setScanNum(scanNum); //备货件数
vo.setStockupArea(reservationEntity.getGoodsAreaName()); //备货区
// vo.setWarehouseArea(stockupId); //库位
// vo.setTrays(pallet); //托盘
vo.setPackageList(list); //
return vo;
}

Loading…
Cancel
Save