|
|
@@ -29,7 +29,7 @@ import com.sckw.fleet.model.dto.*;
|
|
|
import com.sckw.fleet.model.request.AssociatedTrackAddRequest;
|
|
|
import com.sckw.fleet.model.request.AssociatedTrackRequest;
|
|
|
import com.sckw.fleet.model.vo.*;
|
|
|
-import com.sckw.fleet.repository.KwfDriverAssociatedTrackRepository;
|
|
|
+import com.sckw.fleet.repository.KwfDriverAssociatedTruckRepository;
|
|
|
import com.sckw.fleet.repository.KwfTruckAxleNumRepository;
|
|
|
import com.sckw.fleet.repository.KwfTruckReportRepository;
|
|
|
import com.sckw.fleet.repository.KwfTruckRepository;
|
|
|
@@ -93,7 +93,7 @@ public class KwfDriverService {
|
|
|
@Autowired
|
|
|
KwfTruckRepository truckRepository;
|
|
|
@Autowired
|
|
|
- KwfDriverAssociatedTrackRepository driverAssociatedTrackRepository;
|
|
|
+ KwfDriverAssociatedTruckRepository driverAssociatedTruckRepository;
|
|
|
@Autowired
|
|
|
KwfTruckAxleNumRepository truckAxleNumRepository;
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
@@ -1143,7 +1143,7 @@ public class KwfDriverService {
|
|
|
*/
|
|
|
public List<KwfDriverAssociatedTrackVO> queryAssociatedTrack(AssociatedTrackRequest request) {
|
|
|
log.info("查询司机关联车辆信息:{}", JSON.toJSONString(request));
|
|
|
- List<KwfDriverAssociatedTrack> associatedTrackList = driverAssociatedTrackRepository
|
|
|
+ List<KwfDriverAssociatedTruck> associatedTrackList = driverAssociatedTruckRepository
|
|
|
.queryByEntIdAndDriverId(request.getEntId(),request.getDriverId());
|
|
|
if (CollectionUtils.isEmpty(associatedTrackList)) {
|
|
|
return Collections.emptyList();
|
|
|
@@ -1191,6 +1191,28 @@ public class KwfDriverService {
|
|
|
*/
|
|
|
public void addAssociatedTrack(AssociatedTrackAddRequest request) {
|
|
|
log.info("新增司机关联车辆信息:{}", JSON.toJSONString(request));
|
|
|
+ //校验
|
|
|
+ List<KwfDriverAssociatedTruck> associatedTrackList = checkKwfDriverAssociatedTracks(request);
|
|
|
+
|
|
|
+ //设置关联状态(首次关联设为当前车辆,并将原有当前车辆置为非当前)
|
|
|
+ KwfDriverAssociatedTruck associatedTrack = new KwfDriverAssociatedTruck();
|
|
|
+ associatedTrack.setEntId(request.getEntId());
|
|
|
+ associatedTrack.setDriverId(request.getDriverId());
|
|
|
+ associatedTrack.setTruckNo(request.getTruckNo());
|
|
|
+ associatedTrack.setTruckAxleId(request.getTruckAxleId());
|
|
|
+ associatedTrack.setCreateUser(request.getDriverId());
|
|
|
+ //首次关联默认设为当前车辆;
|
|
|
+ associatedTrack.setStatus(associatedTrackList.isEmpty() ? Global.YES : Global.NO);
|
|
|
+ driverAssociatedTruckRepository.save(associatedTrack);
|
|
|
+ log.info("新增司机关联车辆成功,记录ID:{},车牌:{}", associatedTrack.getId(), request.getTruckNo());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增车辆校验
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<KwfDriverAssociatedTruck> checkKwfDriverAssociatedTracks(AssociatedTrackAddRequest request) {
|
|
|
CapacityTruckParam param = new CapacityTruckParam();
|
|
|
param.setTruckNo(request.getTruckNo());
|
|
|
param.setEntId(request.getEntId());
|
|
|
@@ -1212,7 +1234,7 @@ public class KwfDriverService {
|
|
|
}
|
|
|
|
|
|
//校验车辆是否已存在
|
|
|
- List<KwfDriverAssociatedTrack> associatedTrackList = driverAssociatedTrackRepository.queryByEntIdAndDriverId(request.getEntId(),request.getDriverId());
|
|
|
+ List<KwfDriverAssociatedTruck> associatedTrackList = driverAssociatedTruckRepository.queryByEntIdAndDriverId(request.getEntId(), request.getDriverId());
|
|
|
boolean isDuplicate = associatedTrackList.stream()
|
|
|
.anyMatch(track -> Objects.equals(track.getTruckNo(), request.getTruckNo()));
|
|
|
if (isDuplicate) {
|
|
|
@@ -1229,18 +1251,7 @@ public class KwfDriverService {
|
|
|
// 非首次关联,允许添加但不设为当前车辆
|
|
|
log.info("非首次关联,允许添加有未完成运单的车辆[{}]", request.getTruckNo());
|
|
|
}
|
|
|
-
|
|
|
- //设置关联状态(首次关联设为当前车辆,并将原有当前车辆置为非当前)
|
|
|
- KwfDriverAssociatedTrack associatedTrack = new KwfDriverAssociatedTrack();
|
|
|
- associatedTrack.setEntId(request.getEntId());
|
|
|
- associatedTrack.setDriverId(request.getDriverId());
|
|
|
- associatedTrack.setTruckNo(request.getTruckNo());
|
|
|
- associatedTrack.setTruckAxleId(request.getTruckAxleId());
|
|
|
- associatedTrack.setCreateUser(request.getDriverId());
|
|
|
- //首次关联默认设为当前车辆;
|
|
|
- associatedTrack.setStatus(associatedTrackList.isEmpty() ? Global.YES : Global.NO);
|
|
|
- driverAssociatedTrackRepository.save(associatedTrack);
|
|
|
- log.info("新增司机关联车辆成功,记录ID:{},车牌:{}", associatedTrack.getId(), request.getTruckNo());
|
|
|
+ return associatedTrackList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1253,14 +1264,14 @@ public class KwfDriverService {
|
|
|
if (id == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "id不能为空!");
|
|
|
}
|
|
|
- KwfDriverAssociatedTrack associatedTrack = driverAssociatedTrackRepository.getById(id);
|
|
|
+ KwfDriverAssociatedTruck associatedTrack = driverAssociatedTruckRepository.getById(id);
|
|
|
if (associatedTrack == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.ASSOCIATED_TRUCK_NOT_FOUND, "司机关联车辆信息不存在!");
|
|
|
}
|
|
|
//校验车辆是否有未完成运单
|
|
|
checkTruckHasUnfinishedWaybill(associatedTrack.getTruckNo(), associatedTrack.getEntId() , false);
|
|
|
associatedTrack.setDelFlag(Global.YES);
|
|
|
- if (!driverAssociatedTrackRepository.updateById(associatedTrack)) {
|
|
|
+ if (!driverAssociatedTruckRepository.updateById(associatedTrack)) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.DATA_DELETE_FAIL, "删除失败");
|
|
|
}
|
|
|
|
|
|
@@ -1278,7 +1289,7 @@ public class KwfDriverService {
|
|
|
if (id == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "id不能为空!");
|
|
|
}
|
|
|
- KwfDriverAssociatedTrack newTrack = driverAssociatedTrackRepository.getById(id);
|
|
|
+ KwfDriverAssociatedTruck newTrack = driverAssociatedTruckRepository.getById(id);
|
|
|
if (newTrack == null) {
|
|
|
throw new BusinessPlatfromException(ErrorCodeEnum.ASSOCIATED_TRUCK_NOT_FOUND, "司机关联车辆信息不存在!");
|
|
|
}
|
|
|
@@ -1289,21 +1300,21 @@ public class KwfDriverService {
|
|
|
checkTruckHasUnfinishedWaybill(newTrack.getTruckNo(), newTrack.getEntId() , true);
|
|
|
|
|
|
//先更改旧关联车辆
|
|
|
- LambdaQueryWrapper<KwfDriverAssociatedTrack> queryWrapper = Wrappers.<KwfDriverAssociatedTrack>lambdaQuery()
|
|
|
- .eq(KwfDriverAssociatedTrack::getDriverId, newTrack.getDriverId())
|
|
|
- .eq(KwfDriverAssociatedTrack::getEntId, newTrack.getEntId())
|
|
|
- .eq(KwfDriverAssociatedTrack::getStatus, Global.YES);
|
|
|
- KwfDriverAssociatedTrack oldTrack = driverAssociatedTrackRepository.getOne(queryWrapper);
|
|
|
+ LambdaQueryWrapper<KwfDriverAssociatedTruck> queryWrapper = Wrappers.<KwfDriverAssociatedTruck>lambdaQuery()
|
|
|
+ .eq(KwfDriverAssociatedTruck::getDriverId, newTrack.getDriverId())
|
|
|
+ .eq(KwfDriverAssociatedTruck::getEntId, newTrack.getEntId())
|
|
|
+ .eq(KwfDriverAssociatedTruck::getStatus, Global.YES);
|
|
|
+ KwfDriverAssociatedTruck oldTrack = driverAssociatedTruckRepository.getOne(queryWrapper);
|
|
|
if (oldTrack != null) {
|
|
|
//校验旧车辆否有未完成运单
|
|
|
checkTruckHasUnfinishedWaybill(oldTrack.getTruckNo(), oldTrack.getEntId() , false);
|
|
|
oldTrack.setStatus(Global.NO);
|
|
|
- driverAssociatedTrackRepository.updateById(oldTrack);
|
|
|
+ driverAssociatedTruckRepository.updateById(oldTrack);
|
|
|
log.info("旧关联车辆[{}]已取消", oldTrack.getTruckNo());
|
|
|
}
|
|
|
//更改新关联车辆
|
|
|
newTrack.setStatus(Global.YES);
|
|
|
- driverAssociatedTrackRepository.updateById(newTrack);
|
|
|
+ driverAssociatedTruckRepository.updateById(newTrack);
|
|
|
log.info("关联车辆切换成功,新车辆[{}]",newTrack.getTruckNo());
|
|
|
}
|
|
|
|