|
|
|
@ -78,6 +78,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
private final DistributionSigndetailServiceImpl distributionSigndetailService; |
|
|
|
|
private final DistributionPackadeliServiceImpl distributionPackadeliService; |
|
|
|
|
private final BladeRedis bladeRedis; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionDeliveryListVO> selectDistributionDeliveryListPage(IPage<DistributionDeliveryListVO> page, DistributionDeliveryListDTO distributionDeliveryList) { |
|
|
|
|
//转换创建时间
|
|
|
|
@ -126,8 +127,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
distributionDeliveryList.setCreateTime_query(sdf.format(distributionDeliveryList.getCreateTime())); |
|
|
|
|
} |
|
|
|
|
// redisCache.put("....",123);
|
|
|
|
|
// log.info(">>>>>>>>{}",redisCache.get("..."));
|
|
|
|
|
|
|
|
|
|
DistributionstatisticsnmbVO distributionstatisticsnmbVO = new DistributionstatisticsnmbVO(); |
|
|
|
|
//商配车次
|
|
|
|
@ -239,38 +238,77 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class) |
|
|
|
|
public R loadingscan(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
//获取当前用户司机
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
//寻找车次
|
|
|
|
|
List<DistributionDeliveryListEntity> distributionDeliveryListEntities = distributionDeliveryListMapper.selectList(new QueryWrapper<DistributionDeliveryListEntity>() |
|
|
|
|
.lambda().eq(DistributionDeliveryListEntity::getState, 1).like(DistributionDeliveryListEntity::getDriverId, user.getUserId()) |
|
|
|
|
); |
|
|
|
|
if (distributionDeliveryListEntities.size()<0){return R.fail(3001,"该司机无车次");} |
|
|
|
|
//查询缓存
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (distrilbutionloadingscanDTO.getType() == 1) { |
|
|
|
|
//找出该包条码
|
|
|
|
|
List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper<DistributionParcelListEntity>().lambda() |
|
|
|
|
.eq(DistributionParcelListEntity::getPacketBarCode,distrilbutionloadingscanDTO.getBarcode())); |
|
|
|
|
for (DistributionParcelListEntity e : distributionParcelListEntities) { |
|
|
|
|
String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId()); |
|
|
|
|
if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) {return R.fail(3002,"不是当前司机配送车次");} |
|
|
|
|
if (Func.notNull(bladeRedis.get("ZC"+user.getUserId()))){ |
|
|
|
|
if (!(bladeRedis.get("ZC"+user.getUserId().toString()).equals(trainNumber))){ |
|
|
|
|
return R.fail(3003,"串货"); |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
//第一次缓存
|
|
|
|
|
bladeRedis.setEx("ZC"+user.getUserId(),trainNumber,3600L); |
|
|
|
|
//TODO 查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId()); |
|
|
|
|
//查询该包条是否属于该配送任务
|
|
|
|
|
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// List<DistributionDeliveryListEntity> distributionDeliveryListEntities = distributionDeliveryListMapper.selectList(new QueryWrapper<DistributionDeliveryListEntity>()
|
|
|
|
|
// .lambda().eq(DistributionDeliveryListEntity::getState, 1).like(DistributionDeliveryListEntity::getDriverId, user.getUserId())
|
|
|
|
|
// );
|
|
|
|
|
if (distributionLoadscanEntities.size() < 0) { |
|
|
|
|
return R.fail(3001, "窜货"); |
|
|
|
|
} |
|
|
|
|
//修改对应的装车表
|
|
|
|
|
distributionLoadscanMapper.updateByPackageId(e.getId()); |
|
|
|
|
// baseMapper.updateloadingTime(e.getId());
|
|
|
|
|
//获取当前用户司机
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { |
|
|
|
|
if (distributionLoadscanEntity.getScanState() !=1){return R.fail(3002, "重复扫码");} |
|
|
|
|
//更新该装车记录
|
|
|
|
|
distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId()); |
|
|
|
|
//查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
} |
|
|
|
|
// //找出该包条码
|
|
|
|
|
// List<DistributionParcelListEntity> distributionParcelListEntities = distributionParcelListMapper.selectList(new QueryWrapper<DistributionParcelListEntity>().lambda()
|
|
|
|
|
// .eq(DistributionParcelListEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()));
|
|
|
|
|
// for (DistributionParcelListEntity e : distributionParcelListEntities) {
|
|
|
|
|
// String trainNumber = distributionLoadscanMapper.selecttrainNumberByPackageId(e.getId());
|
|
|
|
|
// if (!trainNumber.equals(distributionDeliveryListEntities.get(0).getTrainNumber())) {
|
|
|
|
|
// return R.fail(3002, "不是当前司机配送车次");
|
|
|
|
|
// }
|
|
|
|
|
// if (Func.notNull(bladeRedis.get("ZC" + user.getUserId()))) {
|
|
|
|
|
// if (!(bladeRedis.get("ZC" + user.getUserId().toString()).equals(trainNumber))) {
|
|
|
|
|
// return R.fail(3003, "串货");
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// //第一次缓存
|
|
|
|
|
// bladeRedis.setEx("ZC" + user.getUserId(), trainNumber, 3600L);
|
|
|
|
|
// //TODO 查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
// Integer i = distributionDeliveryListMapper.updateloadingTimeById(distributionDeliveryListEntities.get(0).getId());
|
|
|
|
|
// //查询该车次包条,加入签收表
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// //修改对应的装车表
|
|
|
|
|
//
|
|
|
|
|
// distributionLoadscanMapper.updateByPackageId(e.getId());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else if (distrilbutionloadingscanDTO.getType() == 2) { |
|
|
|
|
//TODO 托盘扫描
|
|
|
|
|
//查询该包条是否属于该配送任务
|
|
|
|
|
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getTrayId, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
|
if (distributionLoadscanEntities.size() < 0) { |
|
|
|
|
return R.fail(3001, "窜货"); |
|
|
|
|
} |
|
|
|
|
for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { |
|
|
|
|
if (distributionLoadscanEntity.getScanState() !=1){return R.fail(3003, "有重复货物");} |
|
|
|
|
//更新该装车记录
|
|
|
|
|
distributionLoadscanMapper.updateSumById(distributionLoadscanEntity.getId()); |
|
|
|
|
//查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return R.success("成功"); |
|
|
|
@ -295,4 +333,25 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R loadingscanoff(DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { |
|
|
|
|
if (distrilbutionloadingscanDTO.getType()==1){ |
|
|
|
|
//查询该包条是否属于该配送任务
|
|
|
|
|
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda() |
|
|
|
|
.eq(DistributionLoadscanEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId()) |
|
|
|
|
.eq(DistributionLoadscanEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
|
if (distributionLoadscanEntities.size() < 0) { |
|
|
|
|
return R.fail(3001, "窜货"); |
|
|
|
|
} |
|
|
|
|
for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { |
|
|
|
|
//更新该装车记录
|
|
|
|
|
distributionLoadscanMapper.updatecutSumById(distributionLoadscanEntity.getId()); |
|
|
|
|
} |
|
|
|
|
}else if (distrilbutionloadingscanDTO.getType()==2){ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return R.success("成功"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|