Browse Source

市配车次信息BUG修复

fix-sign
汤建军 4 months ago
parent
commit
89dc1cca03
  1. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  2. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  3. 24
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

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

@ -604,4 +604,11 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
* @return
*/
Integer selectDeliveryZeroPackagePlanNum(@Param("orderId")Long orderId,@Param("deliveryId") Long deliveryId,@Param("packageId") Long packageId);
/**
* 查询车次的装车数量
* @param deliveryListId
* @return
*/
Integer selectLoadingNum(@Param("deliveryId")Long deliveryListId);
}

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

@ -2710,5 +2710,13 @@
and ldrs.stock_article_status in ('1','3')
AND ldrzp.zero_package_status IN ( '1', '3' )
</select>
<select id="selectLoadingNum" resultType="java.lang.Integer">
SELECT (SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscan WHERE delivery_id = #{deliveryId} AND scan_status != 1 AND is_deleted = 0)
+
(SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE delivery_id = #{deliveryId} AND scan_status != 1 AND is_deleted = 0)
</select>
</mapper>

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

@ -4211,6 +4211,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionAsyncService.recordsReservationDeliveryLog(newReservationEntities, myCurrentWarehouse, AuthUtil.getUser(), deliveryListEntity, WorkNodeEnums.PLAN_DISTRIBUTION.getCode(), content);
}
List<DistributionReservationEntity> oldReservationEntities = new ArrayList<>();
if (!oldReservation.isEmpty()) {
oldReservation.forEach((m, n) -> {
//这里就是取消的预约单,进行状态回退
DistributionReservationEntity reservationEntity = n.get(0);
@ -4229,7 +4230,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
oldReservationEntities.add(reservationEntity);
oldIds.add(reservationEntity.getId());
});
}
if (!oldIds.isEmpty()) {
//查询这些计划是否存在有装车数
long packageCount = distributionLoadscanService.count(Wrappers.<DistributionLoadscanEntity>query().lambda()
.in(DistributionLoadscanEntity::getReservationId, oldIds)
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
long inventorycount = distributionLoadscaninvnService.count(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.in(DistributionLoadscaninvnEntity::getReservationId, oldIds)
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if ((packageCount + inventorycount) > 0) {
String s = oldReservationEntities.stream().filter(f -> oldIds.contains(f.getId())).map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(","));
throw new CustomerException(s+"存在装车或签收数据,无法移除");
}
String content = "包件在" + myCurrentWarehouse.getName() + "由" + AuthUtil.getUser().getNickName() + "取消配车计划,操作方式:车次移除预约计划,车次号:" + deliveryListEntity.getTrainNumber();
distributionAsyncService.recordsReservationDeliveryLog(oldReservationEntities, myCurrentWarehouse, AuthUtil.getUser(), deliveryListEntity, WorkNodeEnums.CANCEL_DISTRIBUTION.getCode(), content);
}
@ -5190,9 +5206,16 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (Objects.isNull(myCurrentWarehouse)) {
return R.fail(403, "未授权!!!");
}
if (Objects.isNull(distributionDeliveryListDTO.get("deliveryListId"))) {
return R.fail("deliveryListId参数缺失");
}
String deliveryListId = (String) distributionDeliveryListDTO.get("deliveryListId");
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryListId);
Integer loadingNum = baseMapper.selectLoadingNum(Long.parseLong(deliveryListId));
if (loadingNum > 0){
return R.fail("存在装车或签收数据无法进行配送取消!!!");
}
List<DistributionSignforEntity> distributionSignforEntities = distributionSignforServicer.getBaseMapper().selectList(Wrappers.<DistributionSignforEntity>query().lambda().eq(DistributionSignforEntity::getDeliveryId, deliveryListEntity.getId()));
BladeUser user = AuthUtil.getUser();
List<DistributionReservationEntity> reservationList = new ArrayList<>();
@ -5213,7 +5236,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionReservationPackageEntity> reservationPackageEntityList = distributionReservationPackageMapper.selectList(Wrappers.<DistributionReservationPackageEntity>query().lambda().eq(DistributionReservationPackageEntity::getReservationId, reservationEntity.getId()).eq(DistributionReservationPackageEntity::getStockArticleId, o.getStockArticleId()).ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue()));
reservationPackageEntityList.forEach(p -> {
DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(p.getParceListId());
//TODO 这里取消应该有一个取消的任务
parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.weizhuancghe.getValue());
parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yiruku.getValue());
distributionParcelListService.updateById(parcelListEntity);

Loading…
Cancel
Save