diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java index af1013754..0d1be941d 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/Inventory/InventoryLoadingStatusConstant.java @@ -8,7 +8,7 @@ package org.springblade.common.constant.Inventory; */ public enum InventoryLoadingStatusConstant { - weizhuancghe("未装车", "10"), + weizhuangche("未装车", "10"), yizhuangche("已装车", "20"); /** diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventoryLoadingStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventoryLoadingStatusConstant.java new file mode 100644 index 000000000..02b63fa28 --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventoryLoadingStatusConstant.java @@ -0,0 +1,47 @@ +package org.springblade.common.constant.reservation; + +/** + * 预约单状态枚举 + * 对应码表 + * resvervation_status + * @author pref + */ +public enum ReservationInventoryLoadingStatusConstant { + + weizhuangche("未装车","10"), + bufenzhuangche("部分装车","20"), + yizhuangche("已装车","30"); + + + /** + * 状态 + */ + private String name; + + /** + * 值 + */ + private String value; + + + private ReservationInventoryLoadingStatusConstant(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventorySigningStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventorySigningStatusConstant.java new file mode 100644 index 000000000..6004088ee --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/reservation/ReservationInventorySigningStatusConstant.java @@ -0,0 +1,47 @@ +package org.springblade.common.constant.reservation; + +/** + * 预约单状态枚举 + * 对应码表 + * resvervation_status + * @author pref + */ +public enum ReservationInventorySigningStatusConstant { + + weiqianshou("未签收","10"), + bufenqianshou("部分签收","20"), + yiqianshou("已签收","30"); + + + /** + * 状态 + */ + private String name; + + /** + * 值 + */ + private String value; + + + private ReservationInventorySigningStatusConstant(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java index bddaafba9..94d11bc25 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionLoadscaninvnEntity.java @@ -147,7 +147,13 @@ public class DistributionLoadscaninvnEntity extends TenantEntity { * 扫描状态;(1=未装车,2=扫描,3=确认) */ @ApiModelProperty(value = "扫描状态;(1=未装车,2=扫描,3=确认,4-补录)") - private Integer scanStatus; + private String scanStatus; + + /** + * 扫描操作人 + */ + @ApiModelProperty(value = "扫描操作人") + private String scanUser; /** * 确认时间 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java index 4fd3f5e13..18b97c913 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStockarticleEntity.java @@ -64,6 +64,7 @@ public class DistributionReservationStockarticleEntity extends TenantEntity { private String stockArticleStatus; + /** * 有无数据源;1-否、2-是 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java index 78f18ddd6..a61725b25 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionReservationStocklistEntity.java @@ -74,6 +74,21 @@ public class DistributionReservationStocklistEntity extends TenantEntity { */ @ApiModelProperty(value = "库存品状态 ;1-正常、2-取消") private String stockListStatus; + + /** + * 装车装填 + */ + @ApiModelProperty(value = "订单码") + private String loadingStatus; + + /** + * 签收状态 + */ + @ApiModelProperty(value = "订单码") + private String signingStatus; + + + /** * 预留1 */ diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java index c442bf922..c542c3222 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryInfoVO.java @@ -141,6 +141,12 @@ public class DistributionDeliveryInfoVO extends DistributionDeliveryInfoEntity { @ApiModelProperty(value = "车次号") private String trainNumber; + /** + * 库存品扫描件数 + */ + @ApiModelProperty(value = "库存品扫描件数") + private String inventoryNub; + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml index 7655cf9e3..10586fd58 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml @@ -85,6 +85,7 @@ ldr.reservation_num packageNub, ldr.reservation_stock_list_num reservationStockListNum, lds.loaded_number loadedNub, + lds.loadedin_number inventoryNub, lds.reservation_id reservationId, lds.received_quantity receivedQuantity, CASE diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java index 9d2985bc9..0071a4615 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java @@ -338,4 +338,19 @@ public interface DistributionDeliveryListMapper extends BaseMapper selectInventoryListByDeliveryListId(@Param("deliveryListId") Long deliveryId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 83581736e..f1c0c4d73 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -1283,5 +1283,27 @@ left join logpm_distribution_parcel_list ldpl on ldpl.order_package_code = lwtg.association_value and ldpl.is_deleted = 0 where lwt.is_deleted = 0 and lwt.pallet_code = #{trayCode} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index 64e0bd1e3..0f84a7422 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -70,7 +70,7 @@ public interface IDistributionAsyncService { * @param deliveryId * @return */ - void changeDeliveryListStatus(String barcode,Long deliveryId); + void changeDiscussDeliveryListStatus(String barcode,Long deliveryId); /** @@ -127,4 +127,11 @@ public interface IDistributionAsyncService { * @param stockupDTO */ void stockupStockSelfUpdateState(StockupDTO stockupDTO); + + /** + * 市配装车扫描接口状态变更 + * @param barcode + * @param deliveryId + */ + void changeMarketDeliveryListStatus(String barcode, Long deliveryId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 67c031a4e..13f895393 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -12,6 +12,8 @@ import com.logpm.distribution.service.*; import com.logpm.distribution.vo.DistrilbutionBillStockVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; +import org.springblade.common.constant.Inventory.InventoryPackageStatusConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; import org.springblade.common.constant.delivery.DeliveryStatusConstant; import org.springblade.common.constant.order.OrderReservationStatusConstant; @@ -19,6 +21,8 @@ import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusCon import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant; import org.springblade.common.constant.order.OrderStatusConstant; +import org.springblade.common.constant.reservation.ReservationInventoryLoadingStatusConstant; +import org.springblade.common.constant.reservation.ReservationInventoryStatusConstant; import org.springblade.common.constant.reservation.ReservationLoadingStatusConstant; import org.springblade.common.constant.reservation.ReservationSigningStatusConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; @@ -56,6 +60,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { private final DistrilbutionBillStockMapper distrilbutionBillStockMapper; private final DistributionDeliveryDetailsMapper distributionDeliveryDetailsMapper; private final DistributionParcelListMapper distributionParcelListMapper; + private final IDisStockListDetailService disStockListDetailService; @Override @@ -209,10 +214,12 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionStockArticleService.updateById(stockArticleEntity); } + + @Async @Override @Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class) - public void changeDeliveryListStatus(String barcode,Long deliveryId) { + public void changeDiscussDeliveryListStatus(String barcode,Long deliveryId) { //这里需要查询出该包件 DistributionParcelListEntity parcelListEntity = distributionDeliveryListMapper.getLoadingPackageDetails(barcode,deliveryId); parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); @@ -268,6 +275,116 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionReservationMapper.updateById(r); }); } + @Async + @Override + @Transactional(isolation = Isolation.READ_UNCOMMITTED, rollbackFor = Exception.class) + public void changeMarketDeliveryListStatus(String barcode, Long deliveryId) { + //修改包件状态 + //这里需要查询出该包件 + DistributionParcelListEntity parcelListEntity = distributionDeliveryListMapper.getLoadingPackageDetails(barcode,deliveryId); + if (Func.isNotEmpty(parcelListEntity)){ + parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue()); + parcelListEntity.setOrderPackageStatus(OrderPackageStatusConstant.yichuku.getValue()); + //修改包件状态 + distributionParcelListService.updateById(parcelListEntity); + List parcelListEntityList = distributionParcelListService.getBaseMapper().selectList(Wrappers.query().lambda().eq(DistributionParcelListEntity::getStockArticleId, parcelListEntity.getStockArticleId())); + boolean flag = parcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(parcelListEntity.getStockArticleId()); + //维护包件、订单扫描装车状态 + if (flag){ + stockArticleEntity.setOrderStatus(OrderStatusConstant.chuku.getValue()); + }else { + flag = parcelListEntityList.stream().allMatch(p->p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); + if (flag){ + stockArticleEntity.setOrderStatus(OrderStatusConstant.ruku.getValue()); + }else { + stockArticleEntity.setOrderStatus(OrderStatusConstant.bufenchuku.getValue()); + } + } + distributionStockArticleService.updateById(stockArticleEntity); + }else { + //查询库存品 + DisStockListDetailEntity loadingInventoryDetail = distributionDeliveryListMapper.getLoadingInventoryDetail(barcode, deliveryId); + loadingInventoryDetail.setStockLockingStatus(InventoryLoadingStatusConstant.yizhuangche.getValue()); + disStockListDetailService.updateById(loadingInventoryDetail); + //查询出这个库存品的所有需要装车的包件维度库存品 + List list = disStockListDetailService.list(Wrappers.query().lambda() + .eq(DisStockListDetailEntity::getReservationId, loadingInventoryDetail.getReservationId()) + .eq(DisStockListDetailEntity::getStockListId, loadingInventoryDetail.getStockListId()) + .ne(DisStockListDetailEntity::getStockPackageStatus, InventoryPackageStatusConstant.quxiao.getValue())); + boolean inventoryFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())); + List reservationStockarticleEntityList = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() + .eq(DistributionReservationStocklistEntity::getReservationId, loadingInventoryDetail.getReservationId()) + .eq(DistributionReservationStocklistEntity::getStocklistId, loadingInventoryDetail.getStockListId()) + .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue())); + if (reservationStockarticleEntityList.size()==1){ + //修改状态 + DistributionReservationStocklistEntity reservationStockarticleEntity = reservationStockarticleEntityList.get(0); + if (inventoryFlag){ + //查询出库存品进行全部状态的变更 + reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue()); + + }else { + inventoryFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue())); + if (inventoryFlag){ + reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue()); + }else { + reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.bufenzhuangche.getValue()); + } + } + distributionReservationStocklistMapper.updateById(reservationStockarticleEntity); + }else { + log.error("####库存品记录错误+{"+reservationStockarticleEntityList+"}"); + return; + } + } + + //查询出这个预约下的包件信息和库存品信息分别进行判断是否都完成装车 + List reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(deliveryId); + reservationEntityList.forEach(r->{ + //查询预约下的所有包件信息 + List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(r.getId()); + boolean reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + List distributionReservationStocklistEntities = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() + .eq(DistributionReservationStocklistEntity::getReservationId, r.getId()) + .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue())); + boolean inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); + if (reservationLoadingFlag && inventoryLoadingFlag){ + r.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); + }else { + reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); + inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue())); + if (reservationLoadingFlag && inventoryLoadingFlag){ + r.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); + }else { + r.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); + } + } + distributionReservationMapper.updateById(r); + }); + + List deliveryParcelListEntityList = distributionDeliveryListMapper.selectPackageListByDeliveryListId(deliveryId); + List detailEntities = distributionDeliveryListMapper.selectInventoryListByDeliveryListId(deliveryId); + boolean deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); + boolean deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); + DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryListEntity::getId,deliveryId)); + if (deliveryLoadingFlag && deliveryInventoryLoadingFlag){ + deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.yizhuangche.getValue()); + }else { + deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); + deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue())); + if (deliveryLoadingFlag && deliveryInventoryLoadingFlag){ + deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.weizhuangche.getValue()); + }else { + deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.bunfenzhuangche.getValue()); + } + } + distributionDeliveryListMapper.updateById(deliveryListEntity); + + //修改整体的预约状态 + //修改整体的配送计划状态 + // + } @Async @Override @@ -592,4 +709,6 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } + + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 3fbd9b025..610367de1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -606,7 +606,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImplquery().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); + //判断配送计划是否需要进行库存品状态的变更 + if (deliveryListEntity.getType().equals(DistributionTypeConstant.shangpei.getValue())){ + distributionAsyncService.changeDiscussDeliveryListStatus(barcode, deliveryId); + }else if (deliveryListEntity.getType().equals(DistributionTypeConstant.shipie.getValue())){ + //需要判断是否依据库存品进行变更 + distributionAsyncService.changeMarketDeliveryListStatus(barcode, deliveryId); + + + } // this.changeDeliveryListStatuss(distrilbutionloadingscanDTO.getBarcode(), deliveryId); return Resp.scanSuccess("成功", "成功"); @@ -891,7 +900,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectList(Wrappers.query().lambda() - .eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) - .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); - if (distributionLoadscaninvnEntities.size()>0 ){ - return R.fail("重复扫描"); - } + try { + DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); + DistributionDeliverySelfEntity distributionDeliverySelfEntity = null; + if (distributionDeliveryListEntity.getKind().equals("1")) { + distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectById(distrilbutionloadingscanDTO.getLoadingId()); + } else { + DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectById(distrilbutionloadingscanDTO.getLoadingId()); + BeanUtils.copyProperties(distributionDeliveryTripartiteEntity, distributionDeliverySelfEntity); + } + boolean b = false; + + //根据传递进来的库存品条码进行库存品的校验 + //获取之前的 + String barcode = distrilbutionloadingscanDTO.getBarcode(); + //查询是否重复扫描 + List distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) + .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); + if (distributionLoadscaninvnEntities.size()>0 ){ + return R.fail("重复扫描"); + } - //这里就需要将此库存品和计划中的进行校验,如果此时无法从 - //查询出该客户下的所有库存品包件信息 - List list = disStockListDetailService.list(Wrappers.query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())); - if ( list.size() < 0 ){ - return R.fail("无效包条!!"); - } - //1、不存在这个客户的库存品列表中,串货 - List disStockListDetailEntities = disStockListDetailService.list(Wrappers.query().lambda() - .eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) - .eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())); - if (disStockListDetailEntities.size() == 1){ - //这里就需要插入库存品扫描信息 - ArrayList distributionLoadscaninvnEntityArrayList = new ArrayList<>(); - for (int i = 0; i < disStockListDetailEntities.size(); i++) { - //依次插入该装车记录,设置车辆 - DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity(); - if (null != distributionDeliverySelfEntity.getDriverId()) { - distributionLoadscaninvnEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); - } - distributionLoadscaninvnEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); - distributionLoadscaninvnEntity.setScanStatus(2); - distributionLoadscaninvnEntity.setScanType("1"); - distributionLoadscaninvnEntity.setScanTime(new Date()); - distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(i).getStockPackageCode()); - if (null == distributionLoadscaninvnEntity.getPackageNub()) { - distributionLoadscaninvnEntity.setPackageNub(1); - } - distributionLoadscaninvnEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); - distributionLoadscaninvnEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); - if (null != distributionDeliverySelfEntity.getDriverPhone()) { - distributionLoadscaninvnEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); - } - if (null != distributionDeliverySelfEntity.getVehicleId()) { - distributionLoadscaninvnEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); - } - //查询本车次是否第一次扫码,没有则更新上车时间 - Integer a = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); - //更新签收表的装车数量 - Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscaninvnEntity.getDeliveryId(), distributionLoadscaninvnEntity.getReservationId(), distributionLoadscaninvnEntity.getPackageNub()); - distributionLoadscaninvnEntityArrayList.add(distributionLoadscaninvnEntity); + //这里就需要将此库存品和计划中的进行校验,如果此时无法从 + //查询出该客户下的所有库存品包件信息 + List list = disStockListDetailService.list(Wrappers.query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())); + if ( list.size() < 0 ){ + return R.fail("无效包条!!"); } + //1、不存在这个客户的库存品列表中,串货 + List disStockListDetailEntities = disStockListDetailService.list(Wrappers.query().lambda() + .eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) + .eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())); + if (disStockListDetailEntities.size() == 1){ + //这里就需要插入库存品扫描信息 + ArrayList distributionLoadscaninvnEntityArrayList = new ArrayList<>(); + for (int i = 0; i < disStockListDetailEntities.size(); i++) { + //依次插入该装车记录,设置车辆 + DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = new DistributionLoadscaninvnEntity(); + if (null != distributionDeliverySelfEntity.getDriverId()) { + distributionLoadscaninvnEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); + } + distributionLoadscaninvnEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); + distributionLoadscaninvnEntity.setScanStatus(LoadingStatusConstant.saomiao.getValue()); + distributionLoadscaninvnEntity.setScanType("1"); + BladeUser user = AuthUtil.getUser(); + distributionLoadscaninvnEntity.setScanUser(user.getNickName()); + distributionLoadscaninvnEntity.setScanTime(new Date()); + distributionLoadscaninvnEntity.setOrderPackageCode(disStockListDetailEntities.get(i).getStockPackageCode()); + if (null == distributionLoadscaninvnEntity.getPackageNub()) { + distributionLoadscaninvnEntity.setPackageNub(1); + } + distributionLoadscaninvnEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); + distributionLoadscaninvnEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); + if (null != distributionDeliverySelfEntity.getDriverPhone()) { + distributionLoadscaninvnEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); + } + if (null != distributionDeliverySelfEntity.getVehicleId()) { + distributionLoadscaninvnEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); + } + //查询本车次是否第一次扫码,没有则更新上车时间 + Integer a = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); + //更新签收表的装车数量 + Integer j = distributionSignforMapper.updateloadByinvn(distrilbutionloadingscanDTO.getDeliveryId(), distrilbutionloadingscanDTO.getReservationId(), distributionLoadscaninvnEntity.getPackageNub()); + distributionLoadscaninvnEntityArrayList.add(distributionLoadscaninvnEntity); + } b = distributionLoadscaninvnService.saveBatch(distributionLoadscaninvnEntityArrayList); - }else { - return R.fail("重复包条码!!"); + }else { + return R.fail("重复包条码!!"); + } + //2、不存在这个车次中无效包条码 + //3、重复扫码 + distributionAsyncService.changeMarketDeliveryListStatus(distrilbutionloadingscanDTO.getBarcode(),distrilbutionloadingscanDTO.getDeliveryId()); + return R.status(b); + + }catch (Exception e){ + e.printStackTrace(); } - //2、不存在这个车次中无效包条码 - //3、重复扫码 + return null; @@ -1253,7 +1273,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl detailEntities = new ArrayList<>(); @@ -424,7 +426,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl detailEntities = new ArrayList<>(); @@ -2010,7 +2016,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl