fix: 调整管芯绑定解绑位置校验

This commit is contained in:
zhouz
2026-08-18 17:09:58 +08:00
parent e53e5cdb36
commit abf87d0805
8 changed files with 71 additions and 18 deletions

View File

@@ -57,6 +57,10 @@ public interface TransportTaskApi {
@RequestParam("bizType") String bizType,
@RequestParam("bizId") String bizId);
@GetMapping(PREFIX + "/hasUnfinishedTaskByVehicleCode")
@Operation(summary = "判断载具是否存在未完成任务")
CommonResult<Boolean> hasUnfinishedTaskByVehicleCode(@RequestParam("vehicleCode") String vehicleCode);
@GetMapping(PREFIX + "/getRunningTaskByMaterialId")
@Operation(summary = "根据 materialId 和 ownerService 查询运行中任务")
CommonResult<List<TaskInfoDTO>> getRunningTaskByMaterialId(@RequestParam("materialId") Long materialId,

View File

@@ -65,6 +65,11 @@ public class TransportTaskApiImpl implements TransportTaskApi {
return success(transportTaskService.getUnfinishedTaskInfoByBiz(ownerService, bizType, bizId));
}
@Override
public CommonResult<Boolean> hasUnfinishedTaskByVehicleCode(String vehicleCode) {
return success(transportTaskService.hasUnfinishedTaskByVehicleCode(vehicleCode));
}
@Override
public CommonResult<List<TaskInfoDTO>> getRunningTaskByMaterialId(Long materialId, String ownerService) {
return success(transportTaskService.getRunningTaskInfoByMaterialId(materialId, ownerService));

View File

@@ -88,6 +88,15 @@ public interface TransportTaskMapper extends BaseMapperX<TransportTaskDO> {
.lt(TransportTaskDO::getTaskStatus, TransportTaskStatusEnum.FINISHED_CALLBACK_PENDING.getCode()));
}
/** 判断载具作为主载具或副载具时是否仍有关联的未完成任务。 */
default boolean existsUnfinishedByVehicleCode(String vehicleCode) {
return selectCount(new LambdaQueryWrapperX<TransportTaskDO>()
.and(wrapper -> wrapper.eq(TransportTaskDO::getVehicleCode, vehicleCode)
.or().eq(TransportTaskDO::getVehicleCode2, vehicleCode))
.lt(TransportTaskDO::getTaskStatus,
TransportTaskStatusEnum.FINISHED_CALLBACK_PENDING.getCode())) > 0;
}
/**
* 根据物料ID和业务归属查询运行中任务
*/

View File

@@ -115,6 +115,9 @@ public interface TransportTaskService {
*/
TaskInfoDTO getUnfinishedTaskInfoByBiz(String ownerService, String bizType, String bizId);
/** 判断载具是否存在未完成任务。 */
boolean hasUnfinishedTaskByVehicleCode(String vehicleCode);
/**
* 根据物料ID和业务归属查询运行中任务状态小于75
*

View File

@@ -256,6 +256,11 @@ public class TransportTaskServiceImpl implements TransportTaskService {
return TransportTaskConvert.INSTANCE.convert(task);
}
@Override
public boolean hasUnfinishedTaskByVehicleCode(String vehicleCode) {
return transportTaskMapper.existsUnfinishedByVehicleCode(vehicleCode);
}
@Override
public List<TaskInfoDTO> getRunningTaskInfoByMaterialId(Long materialId, String ownerService) {
List<TransportTaskDO> tasks = transportTaskMapper.selectRunningListByMaterialId(materialId, ownerService);