|
|
|
@ -48,6 +48,7 @@ import lombok.AllArgsConstructor;
|
|
|
|
|
import lombok.extern.log4j.Log4j2; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.springblade.common.constant.DistributionTypeConstant; |
|
|
|
|
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.loading.LoadingStatusConstant; |
|
|
|
@ -128,6 +129,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
private final IDictBizClient dictBizClient; |
|
|
|
|
private final IBasicdataDriverArteryClient iBasicdataDriverArteryClient; |
|
|
|
|
private final IBasicdataWarehouseClient warehouseClient; |
|
|
|
|
private final IDisStockListDetailService disStockListDetailService; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionDeliveryListEntity> selectDistributionDeliveryListPage(IPage<DistributionDeliveryListEntity> page, DistributionDeliveryListDTO distributionDeliveryList) { |
|
|
|
@ -1001,6 +1003,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return R.success("成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public R oneack(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
//获取当前用户司机
|
|
|
|
@ -1021,6 +1025,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class) |
|
|
|
|
public R loadingscanoff(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
|
|
|
|
|
//查询是否重复扫码
|
|
|
|
@ -1116,6 +1121,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return R.success("成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public R loadinginventory(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
//库存品
|
|
|
|
@ -1133,55 +1139,117 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
//根据传递进来的库存品条码进行库存品的校验
|
|
|
|
|
//获取之前的
|
|
|
|
|
String barcode = distrilbutionloadingscanDTO.getBarcode(); |
|
|
|
|
//查询是否重复扫描
|
|
|
|
|
List<DistributionLoadscaninvnEntity> distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectList(Wrappers.<DistributionLoadscaninvnEntity>query().lambda() |
|
|
|
|
.eq(DistributionLoadscaninvnEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); |
|
|
|
|
if (distributionLoadscaninvnEntities.size()>0 ){ |
|
|
|
|
return R.fail("重复扫描"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//这里就需要将此库存品和计划中的进行校验,如果此时无法从
|
|
|
|
|
//查询出该客户下的所有库存品包件信息
|
|
|
|
|
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda().eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())); |
|
|
|
|
if ( list.size() < 0 ){ |
|
|
|
|
return R.fail("无效包条!!"); |
|
|
|
|
} |
|
|
|
|
//1、不存在这个客户的库存品列表中,串货
|
|
|
|
|
List<DisStockListDetailEntity> disStockListDetailEntities = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda() |
|
|
|
|
.eq(DisStockListDetailEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) |
|
|
|
|
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())); |
|
|
|
|
if (disStockListDetailEntities.size() == 1){ |
|
|
|
|
//这里就需要插入库存品扫描信息
|
|
|
|
|
ArrayList<DistributionLoadscaninvnEntity> 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); |
|
|
|
|
} |
|
|
|
|
b = distributionLoadscaninvnService.saveBatch(distributionLoadscaninvnEntityArrayList); |
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
return R.fail("重复包条码!!"); |
|
|
|
|
} |
|
|
|
|
//2、不存在这个车次中无效包条码
|
|
|
|
|
//3、重复扫码
|
|
|
|
|
|
|
|
|
|
// if (distrilbutionloadingscanDTO.getInventorytype() == 3) {
|
|
|
|
|
//无拆包
|
|
|
|
|
List<DistributionLoadscaninvnEntity> distributionLoadscanvnEntities = new ArrayList<>(); |
|
|
|
|
// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScan(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId());
|
|
|
|
|
// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
//拆包从备货查询
|
|
|
|
|
distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScanStock(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId(), distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
// return R.fail(3001, "窜货");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // if (distrilbutionloadingscanDTO.getInventorytype() == 3) {
|
|
|
|
|
// //无拆包
|
|
|
|
|
// List<DistributionLoadscaninvnEntity> distributionLoadscanvnEntities = new ArrayList<>();
|
|
|
|
|
//// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScan(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId());
|
|
|
|
|
//// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
// //拆包从备货查询
|
|
|
|
|
// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScanStock(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getReservationId(), distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
//// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
//// return R.fail(3001, "窜货");
|
|
|
|
|
//// }
|
|
|
|
|
//// }
|
|
|
|
|
// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) {
|
|
|
|
|
// //查询是否重复扫码
|
|
|
|
|
//// List<DistributionLoadscanEntity> distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda()
|
|
|
|
|
//// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getReservationId())
|
|
|
|
|
//// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode())
|
|
|
|
|
//// .ne(DistributionLoadscanEntity::getScanStatus, 1)
|
|
|
|
|
//// );
|
|
|
|
|
//// if (distributionLoadscanEntitiesflag.size() > 0) {
|
|
|
|
|
//// return R.fail(3002, "重复货物");
|
|
|
|
|
//// }
|
|
|
|
|
// //依次插入该装车记录,设置车辆
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverId()) {
|
|
|
|
|
// distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());
|
|
|
|
|
// }
|
|
|
|
|
for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { |
|
|
|
|
//查询是否重复扫码
|
|
|
|
|
// List<DistributionLoadscanEntity> distributionLoadscanEntitiesflag = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda()
|
|
|
|
|
// .eq(DistributionLoadscanEntity::getDeliveryId, distributionLoadscanEntity.getReservationId())
|
|
|
|
|
// .eq(DistributionLoadscanEntity::getOrderPackageCode, distributionLoadscanEntity.getOrderPackageCode())
|
|
|
|
|
// .ne(DistributionLoadscanEntity::getScanStatus, 1)
|
|
|
|
|
// );
|
|
|
|
|
// if (distributionLoadscanEntitiesflag.size() > 0) {
|
|
|
|
|
// return R.fail(3002, "重复货物");
|
|
|
|
|
// distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName());
|
|
|
|
|
// distributionLoadscanEntity.setScanStatus(2);
|
|
|
|
|
// distributionLoadscanEntity.setScanType("1");
|
|
|
|
|
// distributionLoadscanEntity.setScanTime(new Date());
|
|
|
|
|
// if (null == distributionLoadscanEntity.getPackageNub()) {
|
|
|
|
|
// distributionLoadscanEntity.setPackageNub(1);
|
|
|
|
|
// }
|
|
|
|
|
//依次插入该装车记录,设置车辆
|
|
|
|
|
if (null != distributionDeliverySelfEntity.getDriverId()) { |
|
|
|
|
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); |
|
|
|
|
distributionLoadscanEntity.setScanStatus(2); |
|
|
|
|
distributionLoadscanEntity.setScanType("1"); |
|
|
|
|
distributionLoadscanEntity.setScanTime(new Date()); |
|
|
|
|
if (null == distributionLoadscanEntity.getPackageNub()) { |
|
|
|
|
distributionLoadscanEntity.setPackageNub(1); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId()); |
|
|
|
|
distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); |
|
|
|
|
if (null != distributionDeliverySelfEntity.getDriverPhone()) { |
|
|
|
|
distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); |
|
|
|
|
} |
|
|
|
|
if (null != distributionDeliverySelfEntity.getVehicleId()) { |
|
|
|
|
distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); |
|
|
|
|
} |
|
|
|
|
//查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
//更新签收表的装车数量
|
|
|
|
|
Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); |
|
|
|
|
} |
|
|
|
|
b = distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities); |
|
|
|
|
// } else if (distrilbutionloadingscanDTO.getInventorytype() == 1) {
|
|
|
|
|
// distributionLoadscanEntity.setLoadingId(distrilbutionloadingscanDTO.getLoadingId());
|
|
|
|
|
// distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub());
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getDriverPhone()) {
|
|
|
|
|
// distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
|
|
|
|
|
// }
|
|
|
|
|
// if (null != distributionDeliverySelfEntity.getVehicleId()) {
|
|
|
|
|
// distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());
|
|
|
|
|
// }
|
|
|
|
|
// //查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
// //更新签收表的装车数量
|
|
|
|
|
// Integer j = distributionSignforMapper.updateloadByinvn(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub());
|
|
|
|
|
// }
|
|
|
|
|
// b = distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities);
|
|
|
|
|
//// } else if (distrilbutionloadingscanDTO.getInventorytype() == 1) {
|
|
|
|
|
// //TODO 库存品手动输入
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|