Browse Source

市配、商配编辑bug调整

training
kilo 2 years ago
parent
commit
6055844367
  1. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java
  2. 1
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockVO.java
  3. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStorageServicesServiceImpl.java
  4. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  6. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  7. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
  8. 106
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  9. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java

@ -63,6 +63,13 @@ public class DistributionDeliveryInfoVO extends DistributionDeliveryInfoEntity {
*/
@ApiModelProperty(value = "订单")
private String orderIds;
/**
* 商场名称
*/
@ApiModelProperty(value = "商场名称")
private String storeName;
/**
* 状态
*/

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

@ -41,6 +41,7 @@ public class DistributionStockVO extends DistributionStockEntity {
private Long stockArticleId;
private Integer scanned;//已扫
private Integer whole;//全部
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStorageServicesServiceImpl.java

@ -136,7 +136,6 @@ public class BasicdataStorageServicesServiceImpl extends BaseServiceImpl<Basicda
List<Long> collect = list1.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
sendWarehouseIds = collect.stream().map(String::valueOf).collect(Collectors.toList());
}
}else{
sendWarehouseIds = basicdataStorageServices.getSendWarehouseIds();

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -66,6 +66,7 @@
ldr.id id,
ldr.is_urgent isUrgent,
lds.id deliveryId,
ldr.store_name,
ldr.consignee consignee,
lds.signing_type signingType,
lds.train_number trainNumber,

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

@ -269,7 +269,7 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @param id
* @return
*/
List<DistributionReservationStockarticleEntity> selectStockArticleById(@Param("deliveryListId")Long id);
List<DistributionReservationStockarticleEntity> selectStockArticleById(@Param("deliveryListId")Long id,@Param("consignee")String consignee);
/**
* 查询配送下的预约信息

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

@ -84,9 +84,9 @@
SELECT
COALESCE (COUNT(*), 0)
FROM
logpm_distribution_signfor lds
logpm_distribution_signfor lds INNER JOIN logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id
WHERE
lds.delivery_id = lddl.id
lds.delivery_id = lddl.id and ldr.reservation_status != '40'
) customersNumber,
lddl.price price,
lddl.added_services_id addedServicesId,
@ -98,7 +98,7 @@
JOIN logpm_distribution_reservation ldr ON lds.reservation_id = ldr.id
JOIN logpm_distribution_reservation_stockarticle ldrs ON ldrs.reservation_id = ldr.id
WHERE
lds.delivery_id = lddl.id
lds.delivery_id = lddl.id and ldrs.stock_article_status != 2
) orderNumber,
(
SELECT
@ -107,7 +107,7 @@
logpm_distribution_signfor lds
JOIN logpm_distribution_reservation ldr ON lds.reservation_id = ldr.id
WHERE
lds.delivery_id = lddl.id
lds.delivery_id = lddl.id and ldr.reservation_status != '40'
) deliveryNumber,
(
SELECT
@ -1028,11 +1028,16 @@
b.*
FROM
logpm_distribution_signfor a
INNER JOIN logpm_distribution_reservation AS lds ON a.reservation_id = lds.id
INNER JOIN logpm_distribution_reservation_stockarticle b ON a.reservation_id = b.reservation_id
<where>
b.stock_article_status != 2
<if test="deliveryListId != null and deliveryListId != ''">
and a.delivery_id = #{deliveryListId}
</if>
<if test="consignee != null and consignee != ''">
and lds.consignee = #{consignee}
</if>
</where>
</select>

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java

@ -3,6 +3,7 @@ package com.logpm.distribution.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.mapper.DistributionLoadscanMapper;
@ -53,11 +54,17 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
if (distributionLoadscanEntities.size()<0){log.info("[makeSureByPackage]包条无数据"); return;}
// 使用流式操作和映射,提取包条Id并创建新的列表
List<Long> PackageIdList = distributionLoadscanEntities.stream().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList());
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListMapper.selectList(Wrappers.<DistributionParcelListEntity>query().lambda().in(DistributionParcelListEntity::getId, PackageIdList));
//
//TODO 包件状态变更
//修改状态包条状态
distributionParcelListService.update(new UpdateWrapper<DistributionParcelListEntity>().lambda()
.in(DistributionParcelListEntity::getId,PackageIdList)
.set(DistributionParcelListEntity::getOrderPackageStatus, OrderPackageStatusConstant.yizhuangche.getValue())
);
//提取订单Id(去重)
List<Long> OrderList = distributionLoadscanEntities.stream().map(DistributionLoadscanEntity::getOrderId).distinct().collect(Collectors.toList());
//查询修改订单状态

106
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -1202,38 +1202,43 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionDeliveryListVO deliveryListVO = Func.copy(deliveryListEntity, DistributionDeliveryListVO.class);
//这里对于同一个配送任务下的预约信息是一致的,这里进行去重的操作,
DistributionReservationVO reservationVOS = distributionReservationMapper.getReservationInfo(id);
deliveryListVO.setReservationInfo(reservationVOS);
//1、查询出订单信息
List<DistributionStockArticleEntity> stockArticleVOS = distributionDeliveryListMapper.getDeliveryDisuccStockArticleInfo(id);
List<DistributionStockArticleVO> stockArticleVOList = DistributionStockArticleWrapper.build().listVO(stockArticleVOS);
stockArticleVOList.forEach(s -> {
//这里查询出订单选取的包件信息
DistributionReservationPackageDTO reservationPackageDTO = new DistributionReservationPackageDTO();
reservationPackageDTO.setReservationId(reservationVOS.getId());
reservationPackageDTO.setStockArticleId(s.getId());
List<DistributionParcelListEntity> parcelListEntities = distributionReservationPackageMapper.getDeliveryReservationPackage(deliveryListEntity.getId(), s.getId());
List<DistributionParcelListVO> distributionParcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntities);
if (Func.isNotEmpty(distributionParcelListVOS)){
//查询出订单的所有包件信息
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, s.getId()));
List<DistributionParcelListVO> parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList);
s.setPackageList(distributionParcelListVOS);
s.setParcelListVOS(parcelListVOS);
}
});
deliveryListVO.setStockArticleList(stockArticleVOList);
if (Func.isNotEmpty(reservationVOS)){
deliveryListVO.setReservationInfo(reservationVOS);
//1、查询出订单信息
List<DistributionStockArticleEntity> stockArticleVOS = distributionDeliveryListMapper.getDeliveryDisuccStockArticleInfo(id);
List<DistributionStockArticleVO> stockArticleVOList = DistributionStockArticleWrapper.build().listVO(stockArticleVOS);
stockArticleVOList.forEach(s -> {
//这里查询出订单选取的包件信息
DistributionReservationPackageDTO reservationPackageDTO = new DistributionReservationPackageDTO();
reservationPackageDTO.setReservationId(reservationVOS.getId());
reservationPackageDTO.setStockArticleId(s.getId());
List<DistributionParcelListEntity> parcelListEntities = distributionReservationPackageMapper.getDeliveryReservationPackage(deliveryListEntity.getId(), s.getId());
List<DistributionParcelListVO> distributionParcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntities);
if (Func.isNotEmpty(distributionParcelListVOS)){
//查询出订单的所有包件信息
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, s.getId()));
List<DistributionParcelListVO> parcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntityList);
s.setPackageList(distributionParcelListVOS);
s.setParcelListVOS(parcelListVOS);
}
});
deliveryListVO.setStockArticleList(stockArticleVOList);
}
//2、查询出备货信息
DistributionStockupVO stockupEntity = distributionStockupMapper.getDeliveryStockupInfo(id);
deliveryListVO.setStockupInfo(stockupEntity);
//3、查询司机信息
if (deliveryListEntity.getKind().equals(ServiceConstant.DELIVERLIST_KIND_SELF)) {
//自主配送
List<DistributionDeliverySelfVO> deliverySelfVO = distributionDeliverySelfMapper.getDeliverySelfInfo(id);
deliveryListVO.setDeliverySelfVO(deliverySelfVO);
} else {
//外协配送
DistributionDeliveryTripartiteVO deliveryTripartiteVO = distributionDeliveryTripartiteMapper.getDeliveryTripartiteInfo(id);
deliveryListVO.setDeliveryTripartiteVO(deliveryTripartiteVO);
if (Func.isNotEmpty(stockupEntity)){
deliveryListVO.setStockupInfo(stockupEntity);
//3、查询司机信息
if (deliveryListEntity.getKind().equals(ServiceConstant.DELIVERLIST_KIND_SELF)) {
//自主配送
List<DistributionDeliverySelfVO> deliverySelfVO = distributionDeliverySelfMapper.getDeliverySelfInfo(id);
deliveryListVO.setDeliverySelfVO(deliverySelfVO);
} else {
//外协配送
DistributionDeliveryTripartiteVO deliveryTripartiteVO = distributionDeliveryTripartiteMapper.getDeliveryTripartiteInfo(id);
deliveryListVO.setDeliveryTripartiteVO(deliveryTripartiteVO);
}
}
//4、结果封装
return deliveryListVO;
@ -1382,6 +1387,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionReservationPackageEntity packageEntity = new DistributionReservationPackageEntity();
packageEntity.setStockArticleId(s.getId());
packageEntity.setReservationId(distributionReservationEntity.getId());
packageEntity.setPacketBarCode(p.getOrderPackageCode());
packageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue());
packageEntity.setParceListId(p.getId());
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
@ -1430,7 +1436,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
AtomicInteger packageTotal = new AtomicInteger();
AtomicInteger reduceOrder = new AtomicInteger();
// List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(reservationEntity.getId());
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionDeliveryListMapper.selectStockArticleById(deliveryListEntityId);
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionDeliveryListMapper.selectStockArticleById(deliveryListEntityId,k);
Map<Long, List<DistributionReservationStockarticleEntity>> oldStockArticle = reservationStockarticleEntityList.stream().collect(Collectors.groupingBy(DistributionReservationStockarticleEntity::getStockArticleId));
v.forEach(s -> {
//根据配送和客户名称查询预约
@ -1447,20 +1453,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
reservationPackageEntity.setPacketBarCode(p.getOrderPackageCode());
reservationPackageEntity.setPacketBarStatus(ReservationPackageStatusConstant.xinzeng.getValue());
reservationPackageEntity.setParceListId(p.getId());
distributionReservationPackageService.save(reservationPackageEntity);
//统计包件数量
packageNum.getAndAdd(p.getQuantity());
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(p);
});
//查询该订单有效的预约包件数量是否和订单总件数一样,一样订单状态为已预约,否则为部分预约
int number = distributionReservationPackageMapper.selectPackageNum(s.getId());
if (Func.equals(number, s.getTotalNumber())) {
s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
} else {
s.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
}
// int number = distributionReservationPackageMapper.selectPackageNum(s.getId());
// if (Func.equals(number, s.getTotalNumber())) {
// s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
// } else {
// s.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
// }
DistributionReservationStockarticleEntity reservationStockarticleEntity = new DistributionReservationStockarticleEntity();
reservationStockarticleEntity.setReservationId(reservationEntity.getId());
// reservationStockarticleEntity.setStockArticleStatus(distributionReservationPackageService.judgmentStatus());
reservationStockarticleEntity.setStockArticleId(s.getId());
reservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zengjia.getValue());
reservationStockarticleEntity.setReservationNum(packageNum.get());
@ -1559,6 +1567,27 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionReservationEntity reservationEntity = baseMapper.selectReservationByDeliveryListIdAndCustomer(deliveryListEntity.getId(), f);
reservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue());
distributionReservationMapper.updateById(reservationEntity);
//这里还需要将减少的预约单下的所有订单、包件进行取消状态
List<DistributionReservationStockarticleEntity> entities = distributionReservationStockarticleMapper.selectList(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, "2")
.eq(DistributionReservationStockarticleEntity::getReservationId, reservationEntity.getId()));
entities.forEach(e->{
e.setStockArticleStatus(ReservationOrderStatusConstant.quxiao.getValue());
distributionReservationStockarticleService.updateById(e);
//这个订单的包件预约进行取消
List<DistributionReservationPackageEntity> packageEntityList = distributionReservationPackageMapper.selectList(Wrappers.<DistributionReservationPackageEntity>query().lambda().eq(DistributionReservationPackageEntity::getStockArticleId, e.getStockArticleId()).ne(DistributionReservationPackageEntity::getPacketBarStatus, "2"));
packageEntityList.forEach(p->{
p.setPacketBarStatus(ReservationPackageStatusConstant.quxiao.getValue());
distributionReservationPackageService.updateById(p);
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId());
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
});
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(e.getStockArticleId());
stockArticleEntity.setReservationStatus(distributionReservationPackageService.judgmentStatus(Func.copy(stockArticleEntity,DistributionStockArticleDTO.class)));
distributionStockArticleService.updateById(stockArticleEntity);
//修改预约状态和包件状态
});
});
String kind = deliveryListEntity.getKind();
switch (kind) {
@ -1827,6 +1856,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (Func.isNotEmpty(stockupInfo.getForkliftName())) {
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.weizhipai.getValue());
deliveryStockupInfo.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
deliveryStockupInfo.setForkliftName(stockupInfo.getForkliftName());
deliveryStockupInfo.setForkliftId(stockupInfo.getForkliftId());
//不存在备货人员,此时该任务的状态处于未指派、待分配的状态
} else {
deliveryStockupInfo.setAssignStatusName(StockAssignStatusConstant.yizhipai.getValue());
@ -1856,6 +1887,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryStockupInfo.setOutboundDate(stockupInfo.getOutboundDate());
distributionStockupMapper.updateById(deliveryStockupInfo);
}
deliveryListEntity.setTaskTime(deliveryListDTO.getTaskTime());
//对配送进行更改
this.updateById(deliveryListEntity);
return R.status(true);

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

@ -270,6 +270,7 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
}
break;
}
}

Loading…
Cancel
Save