|
|
|
@ -22,27 +22,25 @@ import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
|
|
|
|
|
import com.logpm.distribution.dto.DistributionLoadscanDTO; |
|
|
|
|
import com.logpm.distribution.dto.DistributionSignforDTO; |
|
|
|
|
import com.logpm.distribution.dto.DistrilbutionAppsignforDTO; |
|
|
|
|
import com.logpm.distribution.entity.DistributionLoadscanEntity; |
|
|
|
|
import com.logpm.distribution.entity.DistributionLoadscanordEntity; |
|
|
|
|
import com.logpm.distribution.entity.DistributionSignforEntity; |
|
|
|
|
import com.logpm.distribution.mapper.DistributionDeliverySelfMapper; |
|
|
|
|
import com.logpm.distribution.mapper.DistributionLoadscanMapper; |
|
|
|
|
import com.logpm.distribution.entity.*; |
|
|
|
|
import com.logpm.distribution.mapper.*; |
|
|
|
|
import com.logpm.distribution.vo.DistributionLoadscanordVO; |
|
|
|
|
import com.logpm.distribution.vo.DistributionSignforVO; |
|
|
|
|
import com.logpm.distribution.excel.DistributionSignforExcel; |
|
|
|
|
import com.logpm.distribution.mapper.DistributionSignforMapper; |
|
|
|
|
import com.logpm.distribution.service.IDistributionSignforService; |
|
|
|
|
import com.logpm.distribution.vo.DistributionSignforsnmbVO; |
|
|
|
|
import com.logpm.distribution.vo.DistributionstatisticsnmbVO; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@ -56,7 +54,14 @@ import java.util.List;
|
|
|
|
|
@AllArgsConstructor |
|
|
|
|
public class DistributionSignforServiceImpl extends BaseServiceImpl<DistributionSignforMapper, DistributionSignforEntity> implements IDistributionSignforService { |
|
|
|
|
private final DistributionLoadscanServiceImpl distributionLoadscanService; |
|
|
|
|
private final DistributionLoadscaninvnServiceImpl distributionLoadscaninvnService; |
|
|
|
|
private final DistributionLoadscanMapper distributionLoadscanMapper; |
|
|
|
|
private final DistributionLoadscaninvnMapper distributionLoadscaninvnMapper; |
|
|
|
|
private final DistributionDeliveryListMapper distributionDeliveryListMapper; |
|
|
|
|
private final DistributionDeliverySelfMapper distributionDeliverySelfMapper; |
|
|
|
|
private final DistributionDeliveryTripartiteMapper distributionDeliveryTripartiteMapper; |
|
|
|
|
private final DistributionSignforMapper distributionSignforMapper; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<DistributionSignforVO> selectDistributionSignforPage(IPage<DistributionSignforVO> page, DistributionSignforVO distributionSignfor) { |
|
|
|
|
//转换创建时间
|
|
|
|
@ -103,21 +108,46 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
.ne(DistributionLoadscanEntity::getScanStatus, 1) |
|
|
|
|
.eq(DistributionLoadscanEntity::getPacketBarCode, distrilbutionloadingscanDTO.getBarcode()) |
|
|
|
|
); |
|
|
|
|
if (distributionLoadscanEntities.size()<0){ |
|
|
|
|
if (distributionLoadscanEntities.size() < 0) { |
|
|
|
|
//TODO 查询库存品
|
|
|
|
|
return R.fail(3006,"该货物并未装车处理"); |
|
|
|
|
//无拆包
|
|
|
|
|
// List<DistributionLoadscaninvnEntity> distributionLoadscanvnEntities = new ArrayList<>();
|
|
|
|
|
// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScan(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
// if (distributionLoadscanvnEntities.size() <= 0) {
|
|
|
|
|
// //拆包从备货查询
|
|
|
|
|
// distributionLoadscanvnEntities = baseMapper.selectdeliveryworkVnScanStock(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
// if (distributionLoadscanvnEntities.size()<=0){
|
|
|
|
|
// return R.fail(3007, "没有该货物");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (distributionLoadscanvnEntities.size()>0){
|
|
|
|
|
// //修改装车表状态
|
|
|
|
|
// boolean b =false;
|
|
|
|
|
// for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) {
|
|
|
|
|
// distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
|
|
|
|
|
// distributionLoadscanEntity.setSignforState(2);
|
|
|
|
|
// distributionLoadscanEntity.setReceivedQuantity(distributionLoadscanEntity.getLoadedNub());
|
|
|
|
|
// distributionLoadscaninvnMapper.updateById(distributionLoadscanEntity);
|
|
|
|
|
// //修改签收表司机签收数量
|
|
|
|
|
// this.update(new UpdateWrapper<DistributionSignforEntity>().lambda()
|
|
|
|
|
// .eq(DistributionSignforEntity::getReservationId,distributionLoadscanEntity.getReservationId())
|
|
|
|
|
// .setSql("received_quantity = received_quantity + "+distributionLoadscanEntity.getLoadedNub())
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
return R.fail(3006, "该货物并未装车处理"); |
|
|
|
|
} |
|
|
|
|
//修改装车表状态
|
|
|
|
|
boolean b =false; |
|
|
|
|
boolean b = false; |
|
|
|
|
for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { |
|
|
|
|
distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date())); |
|
|
|
|
distributionLoadscanEntity.setSignforState(2); |
|
|
|
|
distributionLoadscanEntity.setReceivedQuantity(distributionLoadscanEntity.getLoadedNub()); |
|
|
|
|
b = distributionLoadscanService.updateById(distributionLoadscanEntity); |
|
|
|
|
b = distributionLoadscanService.updateById(distributionLoadscanEntity); |
|
|
|
|
//修改签收表司机签收数量
|
|
|
|
|
this.update(new UpdateWrapper<DistributionSignforEntity>().lambda() |
|
|
|
|
.eq(DistributionSignforEntity::getReservationId,distributionLoadscanEntity.getReservationId()) |
|
|
|
|
.setSql("received_quantity = received_quantity + "+distributionLoadscanEntity.getLoadedNub()) |
|
|
|
|
.eq(DistributionSignforEntity::getReservationId, distributionLoadscanEntity.getReservationId()) |
|
|
|
|
.setSql("received_quantity = received_quantity + " + distributionLoadscanEntity.getLoadedNub()) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
// distributionLoadscanService.update(new UpdateWrapper<DistributionLoadscanEntity>().lambda()
|
|
|
|
@ -149,5 +179,101 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
|
|
|
|
|
return R.status(update); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public R signforcontinue(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { |
|
|
|
|
//获取当前用户司机
|
|
|
|
|
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
DistributionDeliverySelfEntity distributionDeliverySelfEntity = null; |
|
|
|
|
if (distributionDeliveryListEntity.getKind().equals("1")){ |
|
|
|
|
distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectOne(new QueryWrapper<DistributionDeliverySelfEntity>().lambda() |
|
|
|
|
.eq(DistributionDeliverySelfEntity::getDeliveryId,distrilbutionloadingscanDTO.getDeliveryId()) |
|
|
|
|
.eq(DistributionDeliverySelfEntity::getIsMaster,2) |
|
|
|
|
); |
|
|
|
|
}else { |
|
|
|
|
DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(new QueryWrapper<DistributionDeliveryTripartiteEntity>().lambda() |
|
|
|
|
.eq(DistributionDeliveryTripartiteEntity::getDeliveryId,distrilbutionloadingscanDTO.getDeliveryId())); |
|
|
|
|
BeanUtils.copyProperties(distributionDeliveryTripartiteEntity,distributionDeliverySelfEntity); |
|
|
|
|
} |
|
|
|
|
//查询是否为库存品
|
|
|
|
|
//无拆包
|
|
|
|
|
List<DistributionLoadscaninvnEntity> distributionLoadscanvnEntities = new ArrayList<>(); |
|
|
|
|
distributionLoadscanvnEntities = distributionDeliveryListMapper.selectdeliveryworkVnScan(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
if (distributionLoadscanvnEntities.size() <= 0) { |
|
|
|
|
//拆包从备货查询
|
|
|
|
|
distributionLoadscanvnEntities = distributionDeliveryListMapper.selectdeliveryworkVnScanStock(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
if (distributionLoadscanvnEntities.size() <= 0) { |
|
|
|
|
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionDeliveryListMapper.selectdeliverywork(distrilbutionloadingscanDTO.getBarcode(), distrilbutionloadingscanDTO.getDeliveryId()); |
|
|
|
|
if (distributionLoadscanEntities.size()>0){ |
|
|
|
|
for (DistributionLoadscanEntity distributionLoadscanEntity : distributionLoadscanEntities) { |
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
|
|
|
|
//回填数据
|
|
|
|
|
if (null != distributionDeliverySelfEntity.getDriverId()){ |
|
|
|
|
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId()); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); |
|
|
|
|
distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); |
|
|
|
|
distributionLoadscanEntity.setScanStatus(4); |
|
|
|
|
distributionLoadscanEntity.setScanType("1"); |
|
|
|
|
distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date())); |
|
|
|
|
distributionLoadscanEntity.setSignforState(2); |
|
|
|
|
distributionLoadscanEntity.setReceivedQuantity(distributionLoadscanEntity.getLoadedNub()); |
|
|
|
|
distributionLoadscanEntity.setIsInsert(2); |
|
|
|
|
if (null != distributionDeliverySelfEntity.getDriverPhone()) { |
|
|
|
|
distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); |
|
|
|
|
} |
|
|
|
|
if (null != distributionDeliverySelfEntity.getVehicleId()){ |
|
|
|
|
distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId()); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanEntity.setLoadingId(String.valueOf(distributionDeliverySelfEntity.getId())); |
|
|
|
|
//查询本车次是否第一次扫码,没有则更新上车时间
|
|
|
|
|
//Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
|
|
|
|
|
//更新签收表的装车数量
|
|
|
|
|
Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); |
|
|
|
|
//修改签收表司机签收数量
|
|
|
|
|
this.update(new UpdateWrapper<DistributionSignforEntity>().lambda() |
|
|
|
|
.eq(DistributionSignforEntity::getReservationId, distributionLoadscanEntity.getReservationId()) |
|
|
|
|
.setSql("received_quantity = received_quantity + " + distributionLoadscanEntity.getLoadedNub()) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanService.saveBatch(distributionLoadscanEntities); |
|
|
|
|
|
|
|
|
|
return R.success("补录成功"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.fail(3007, "没有该货物"); |
|
|
|
|
} |
|
|
|
|
for (DistributionLoadscaninvnEntity distributionLoadscanEntity : distributionLoadscanvnEntities) { |
|
|
|
|
//依次插入该装车记录,设置车辆
|
|
|
|
|
if (null !=distributionDeliverySelfEntity.getDriverId()){ |
|
|
|
|
distributionLoadscanEntity.setDriverId(distributionDeliverySelfEntity.getDriverId());} |
|
|
|
|
distributionLoadscanEntity.setDriverName(distributionDeliverySelfEntity.getDriverName()); |
|
|
|
|
distributionLoadscanEntity.setScanStatus(4); |
|
|
|
|
distributionLoadscanEntity.setScanType("1"); |
|
|
|
|
distributionLoadscanEntity.setScanTime(new Date()); |
|
|
|
|
if (null == distributionLoadscanEntity.getPackageNub() ){ |
|
|
|
|
distributionLoadscanEntity.setPackageNub(1); |
|
|
|
|
} |
|
|
|
|
distributionLoadscanEntity.setLoadingId(String.valueOf(distributionDeliverySelfEntity.getId())); |
|
|
|
|
distributionLoadscanEntity.setVehicleName(distributionDeliverySelfEntity.getVehicleNub()); |
|
|
|
|
|
|
|
|
|
if (null != distributionDeliverySelfEntity.getDriverPhone()) { |
|
|
|
|
distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone()); |
|
|
|
|
} |
|
|
|
|
if (null != distributionDeliverySelfEntity.getVehicleId()){ |
|
|
|
|
distributionLoadscanEntity.setVehicleId(distributionDeliverySelfEntity.getVehicleId());} |
|
|
|
|
//回填数据
|
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
|
|
|
|
distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date())); |
|
|
|
|
distributionLoadscanEntity.setSignforState(2); |
|
|
|
|
distributionLoadscanEntity.setReceivedQuantity(distributionLoadscanEntity.getLoadedNub()); |
|
|
|
|
distributionLoadscanEntity.setIsInsert(2); |
|
|
|
|
//更新签收表的装车数量
|
|
|
|
|
Integer j = distributionSignforMapper.updateloadByReservationId(distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
boolean b = distributionLoadscaninvnService.saveBatch(distributionLoadscanvnEntities); |
|
|
|
|
return b?R.success("补录成功"):R.fail(3007, "没有该货物"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|