Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dist.1.3.0
zhaoqiaobo 10 months ago
parent
commit
5538158f91
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
  2. 54
      blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java
  3. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
  4. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  5. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  6. 15
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  7. 76
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java

@ -131,6 +131,9 @@ public interface IDistributionDeliveryListClient {
@GetMapping(TOP+"/pushNotification")
void pushNotification(@RequestParam("warehouseIds")String warehouseIds,@RequestParam("reservationCode")String reservationCode);
@GetMapping(TOP+"/mallClientSignfor")
void mallClientSignfor(@RequestParam("trainNumber")String trainNumber,@RequestParam("warehouseId")Long warehouseId,@RequestParam("orderPackageCode")String orderPackageCode);
// /**
// * 根据配送任务ID查询配送司机信息

54
blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java

@ -21,6 +21,8 @@ import com.logpm.trunkline.dto.InComingDTO;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.feign.IInComingClient;
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import com.logpm.warehouse.vo.TrayTypeDataVO;
import lombok.AllArgsConstructor;
import org.jetbrains.annotations.Nullable;
import org.springblade.common.annotations.ChangeAsync;
@ -50,6 +52,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient;
private final BladeRedis bladeRedis;
private final IDistributionParcelListClient distributionParcelListClient;
private final IWarehouseTrayTypeClient warehouseTrayTypeClient;
@ -299,8 +302,10 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
selectD.setInWarehouse(1);
this.updateById(selectD);
int a = 0;
if(StringUtil.isBlank(businessSanDTO.getTrayCode())){
//记录当前车次的异常件数
String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber()+businessSanDTO.getTrayCode();
String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber();
Object o = bladeRedis.get(key);
if (Objects.isNull(o)) {
@ -322,6 +327,28 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
a = a + 1;
bladeRedis.setEx(key, a, 60 * 60 * 24L);
}
}else{
String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber()+businessSanDTO.getTrayCode();
Object o = bladeRedis.get(key);
if (Objects.isNull(o)) {
// 获取托盘上的数量
TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeClient.selectListByTrayCode(businessSanDTO.getTrayCode());
o = 1;
if(!Objects.isNull(trayTypeDataVO)){
o=trayTypeDataVO.getOrderlNum();
}
bladeRedis.setEx(key, o, 60 * 60 * 24L);
}else{
a = (int) o;
a = a + 1;
bladeRedis.setEx(key, a, 60 * 60 * 24L);
}
}
return Resp.scanSuccess("扫描成功", a + "件");
@ -360,6 +387,28 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
t.setInWarehouse(1);
this.updateById(t);
int a = 0;
if(StringUtil.isNotBlank(businessSanDTO.getTrayCode())){
String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber()+businessSanDTO.getTrayCode();
Object o = bladeRedis.get(key);
if (Objects.isNull(o)) {
// 获取托盘上的数量
TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeClient.selectListByTrayCode(businessSanDTO.getTrayCode());
o = 1;
if(!Objects.isNull(trayTypeDataVO)){
o=trayTypeDataVO.getOrderlNum();
}
bladeRedis.setEx(key, o, 60 * 60 * 24L);
}else{
a = (int) o;
a = a + 1;
bladeRedis.setEx(key, a, 60 * 60 * 24L);
}
}else{
//记录当前车次的异常件数
Object o = bladeRedis.get(RedisKeyConstant.BUSINESS_INEXCE_CARNUMBER + businessSanDTO.getDistrCarNumber());
String key =RedisKeyConstant.BUSINESS_INEXCE_CARNUMBER + businessSanDTO.getDistrCarNumber()+businessSanDTO.getTrayCode();
@ -383,6 +432,9 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
a = a + 1;
bladeRedis.setEx(key, a, 60 * 60 * 24L);
}
}
return Resp.scanSuccess("扫描成功", "异常" + a + "件");
}

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

@ -126,4 +126,14 @@ public class DistributionDeliveryListClient implements IDistributionDeliveryList
}
/**
* @param
*/
@Override
public void mallClientSignfor(String trainNumber,Long warehouseId,String orderPackageCode) {
distributionDeliveryListService.mallClientSignfor(trainNumber,warehouseId,orderPackageCode);
}
}

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

@ -394,7 +394,9 @@
ldrs.stock_article_status stockArticleState,
( select sum(loaded_nub) FROM
logpm_distribution_loadscan AS ldl
WHERE ldl.order_id=ldrs.stock_article_id and ldl.scan_status != 1 and ldl.reservation_id = lds.reservation_id
WHERE ldl.order_id=ldrs.stock_article_id
and ldl.scan_status != 1
and ldl.reservation_id = lds.reservation_id
) AS loadingNumber,
( select count(*) FROM
logpm_distribution_stock AS lstock

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

@ -1091,9 +1091,12 @@
FROM
logpm_distribution_parcel_list AS ldpl
WHERE
ldpl.order_package_reservation_status = 10 and ldpl.order_package_freeze_status = 10 AND
ldpl.order_package_loading_status = 10 AND order_package_status IN (10,20)
ldpl.order_package_reservation_status = 10
and ldpl.conditions != 2
and ldpl.order_package_freeze_status = 10
AND ldpl.order_package_loading_status = 10 AND order_package_status IN (10,20)
and ldpl.stock_article_id = #{param.id} and ldpl.warehouse_id = #{warehouseId}
and ldpl.conditions !=2
<if test="param.waybillNumber != null and param.waybillNumber != ''">
and ldpl.waybill_number like concat('%',#{param.waybillNumber},'%')
</if>

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

@ -138,7 +138,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* App-查看配送包条明细
*
* @param page
* @param
* @param distributionAppDeliveryListDTO
* @return
*/
@ -220,7 +220,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* 查询库存品包件信息
* @param page
* @param distributionDeliveryInfoDTO
* @param
* @return
*/
List<DistributionReservationStocklistVO> selectDistributionDeliveryinventory(IPage<Object> page, Map<String,Object> distributionInventoryDTO);
@ -398,7 +398,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* 查询商配计划订单是否可以移除
* @param deliveryId
* @param orderId
* @param
* @return
*/
boolean judgmentOrderRemove(Long deliveryId, String orderIds);
@ -444,7 +444,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
/**
* 推送老系统
* @param params
* @param
*/
void pushNotification(String warehouseIds , String reservationCode);
@ -455,6 +455,13 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
*/
R cancelStart(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO);
/**
* 商家端进行签收
* @param trainNumber
* @param warehouseId
* @param orderPackageCode
*/
void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode);
/**

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

@ -3300,6 +3300,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationPackageService.updateById(reservationPackageEntity);
//取消包件的预约状态,并且进行整个订单的状态修改
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(reservationPackageEntity.getParceListId());
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelListEntity.getOrderPackageLoadingStatus())) {
throw new RuntimeException(parcelListEntity.getOrderPackageCode() + "完成装车,请滞留取消");
}
parcelListEntity.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.daiyuyue.getValue());
distributionParcelListService.updateById(parcelListEntity);
if (Func.isNotEmpty(bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "orderCode:" + parcelListEntity.getOrderCode()))) {
@ -4068,7 +4071,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return null;
}
IPage<DistributionParcelListVO> parcelListVOIPage = new Page<>();
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda().eq(DistributionLoadscanEntity::getDeliveryId, deliveryId).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
List<DistributionLoadscanEntity> loadscanEntities = distributionLoadscanMapper.selectList(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getDeliveryId, deliveryId)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
Map<Long, DistributionLoadscanEntity> loadingDataMap = null;
if (Func.isNotEmpty(loadscanEntities)) {
loadingDataMap = loadscanEntities.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2));
@ -6050,7 +6055,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
aaa.add(js);
//对滞留包件进行签收信息数量减少
distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1);
// distributionSignforMapper.deductionLoadingPacjageNum(reservationId,deliveryId,1);
}
if (!aaa.isEmpty()) {
@ -7221,6 +7226,73 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return R.success("取消发车成功");
}
@Override
public void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode) {
//查询包件是否合法
DistributionParcelListEntity packageObj = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda()
.eq(DistributionParcelListEntity::getOrderPackageCode, orderPackageCode)
.eq(DistributionParcelListEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(packageObj)) {
//系统无编码
}
//查询配送计划
DistributionDeliveryListEntity deliveryListEntity = this.getOne(Wrappers.<DistributionDeliveryListEntity>query().lambda()
.eq(DistributionDeliveryListEntity::getTrainNumber, trainNumber)
.eq(DistributionDeliveryListEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(deliveryListEntity)) {
//配送计划查询错误
}
//查询签收信息
List<DistributionSignforEntity> signforEntityList = distributionSignforService.list(Wrappers.<DistributionSignforEntity>query().lambda()
.eq(DistributionSignforEntity::getDeliveryId, deliveryListEntity.getId())
);
if (!signforEntityList.isEmpty()) {
List<Long> reservationIds = signforEntityList.stream().map(DistributionSignforEntity::getReservationId).collect(Collectors.toList());
List<DistributionReservationPackageEntity> reservationPackageEntityList = distributionReservationPackageService.list(Wrappers.<DistributionReservationPackageEntity>query().lambda()
.in(DistributionReservationPackageEntity::getReservationId, reservationIds)
.ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (!reservationPackageEntityList.isEmpty()) {
boolean flag = reservationPackageEntityList.stream().anyMatch(rp -> orderPackageCode.equals(rp.getPacketBarCode()));
if (flag) {
//存在计划中,进行是否装车判断然后完成签收扫描闭环
List<DistributionReservationPackageEntity> rpList = reservationPackageEntityList.stream().filter(rp -> orderPackageCode.equals(rp.getPacketBarCode())).collect(Collectors.toList());
if (rpList.size() == 1) {
DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.<DistributionLoadscanEntity>query().lambda()
.eq(DistributionLoadscanEntity::getReservationId, rpList.get(0).getReservationId())
.eq(DistributionLoadscanEntity::getOrderPackageCode, rpList.get(0).getPacketBarCode())
.eq(DistributionLoadscanEntity::getWarehouseId, warehouseId)
);
if (Func.isEmpty(loadscanEntity)) {
//存在装车数据
} else {
//不存在装车数据进行补录
}
//进行包件状态维护
//维护订单
}
} else {
//异常签收判定
//成功 -- 进行异常签收
//失败 -- 无法进行异常签收
}
}
}
}
@Override
@Transactional
public void maintenanceDeliveryInfo(Long deliveryId) {

Loading…
Cancel
Save