feat: 子卷送到待检区任务
This commit is contained in:
@@ -19,6 +19,19 @@ import java.util.List;
|
||||
@Mapper
|
||||
public interface PackagePointMapper extends BaseMapperX<PackagePointDO> {
|
||||
|
||||
/**
|
||||
* 根据点位编码查询点位
|
||||
*
|
||||
* @param pointCode 点位编码
|
||||
* @param flag 是否仅查询启用点位
|
||||
* @return 点位信息
|
||||
*/
|
||||
default PackagePointDO selectByPointCode(String pointCode, boolean flag) {
|
||||
return selectOne(new LambdaQueryWrapperX<PackagePointDO>()
|
||||
.eq(PackagePointDO::getPointCode, pointCode)
|
||||
.eq(flag, PackagePointDO::getIsUsed, true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询可用点位
|
||||
*
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.code.nl.module.lms.dal.dataobject.packagepoint.PackagePointDO;
|
||||
import cn.code.nl.module.lms.dal.mysql.packagepoint.PackagePointMapper;
|
||||
import cn.code.nl.module.lms.enums.BoxPointStatusEnum;
|
||||
import cn.code.nl.module.lms.enums.BoxPointTypeEnum;
|
||||
import cn.code.nl.module.lms.enums.PackageTaskTypeEnum;
|
||||
import cn.code.nl.module.task.api.TransportTaskApi;
|
||||
import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO;
|
||||
import cn.code.nl.module.task.enums.TaskOwnerServiceEnum;
|
||||
@@ -95,6 +96,7 @@ public class PackageBoxBusinessServiceImpl implements PackageBoxBusinessService
|
||||
task.setOwnerService(TaskOwnerServiceEnum.LMS.name());
|
||||
task.setBizType(SUB_ROLL_DOWN_BIZ_TYPE);
|
||||
task.setBizId(sourcePoint.getContainerName());
|
||||
task.setTaskType(PackageTaskTypeEnum.SUB_ROLL_DOWN_AGV.getCode());
|
||||
task.setHandleCode(SUB_ROLL_DOWN_HANDLE_CODE);
|
||||
task.setAcsTaskType(ACS_MOVE_TASK_TYPE);
|
||||
task.setAgvSystemType(AGV_SYSTEM_TYPE);
|
||||
|
||||
@@ -59,4 +59,17 @@ public interface PackagePointService {
|
||||
*/
|
||||
PageResult<PackagePointDO> getPackagePointPage(PackagePointPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 根据点位编码获取点位信息
|
||||
* @param pointCode 点位编码
|
||||
* @param flag 是否判断禁用
|
||||
* @return
|
||||
*/
|
||||
PackagePointDO getPackagePointByCode(String pointCode, boolean flag);
|
||||
|
||||
/**
|
||||
* 批量更新
|
||||
* @param points
|
||||
*/
|
||||
void updatePackagePoints(List<PackagePointDO> points);
|
||||
}
|
||||
|
||||
@@ -77,4 +77,14 @@ public class PackagePointServiceImpl implements PackagePointService {
|
||||
return packagePointMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PackagePointDO getPackagePointByCode(String pointCode, boolean flag) {
|
||||
return packagePointMapper.selectByPointCode(pointCode, flag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePackagePoints(List<PackagePointDO> points) {
|
||||
packagePointMapper.updateBatch(points);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,9 +2,17 @@ package cn.code.nl.module.lms.tasks.box;
|
||||
|
||||
import cn.code.nl.framework.execute.core.AbstractTask;
|
||||
import cn.code.nl.framework.execute.core.dto.TaskExecuteDTO;
|
||||
import cn.code.nl.module.lms.dal.dataobject.packagepoint.PackagePointDO;
|
||||
import cn.code.nl.module.lms.dal.mysql.packagepoint.PackagePointMapper;
|
||||
import cn.code.nl.module.lms.enums.BoxPointStatusEnum;
|
||||
import cn.code.nl.module.task.api.TransportTaskApi;
|
||||
import cn.code.nl.module.task.dto.TaskInfoDTO;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 子卷下线AGV任务
|
||||
* @Author: liyongde
|
||||
@@ -13,18 +21,46 @@ import org.springframework.stereotype.Component;
|
||||
@Slf4j
|
||||
@Component("subRollDownAgvTask")
|
||||
public class SubRollDownAgvTask extends AbstractTask {
|
||||
|
||||
@Resource
|
||||
private TransportTaskApi transportTaskApi;
|
||||
|
||||
@Resource
|
||||
private PackagePointMapper packagePointMapper;
|
||||
|
||||
@Override
|
||||
public void doHandleFinish(TaskExecuteDTO taskExecuteDTO) {
|
||||
|
||||
TaskInfoDTO taskInfoDTO = transportTaskApi.getTaskById(taskExecuteDTO.getTaskId()).getCheckedData();
|
||||
PackagePointDO endPoint = packagePointMapper.selectByPointCode(taskInfoDTO.getPointCode2(), false);
|
||||
endPoint.setVehicleCode(taskInfoDTO.getVehicleCode());
|
||||
endPoint.setContainerName(taskInfoDTO.getMaterialCode());
|
||||
endPoint.setPointStatus(BoxPointStatusEnum.HAS_SUB_ROLL.getCode());
|
||||
endPoint.setLockStatus("0");
|
||||
packagePointMapper.updateById(endPoint);
|
||||
log.info("任务{}执行完成,子卷已存入点位{}", taskExecuteDTO.getTaskId(), taskInfoDTO.getPointCode2());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doHandleCancel(TaskExecuteDTO taskExecuteDTO) {
|
||||
|
||||
TaskInfoDTO taskInfoDTO = transportTaskApi.getTaskById(taskExecuteDTO.getTaskId()).getCheckedData();
|
||||
PackagePointDO startPoint = packagePointMapper.selectByPointCode(taskInfoDTO.getPointCode1(), false);
|
||||
PackagePointDO endPoint = packagePointMapper.selectByPointCode(taskInfoDTO.getPointCode2(), false);
|
||||
// 解锁
|
||||
startPoint.setLockStatus("0");
|
||||
endPoint.setLockStatus("0");
|
||||
packagePointMapper.updateBatch(List.of(startPoint, endPoint));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doHandlePicked(TaskExecuteDTO taskExecuteDTO) {
|
||||
// 取货完成,释放点位
|
||||
TaskInfoDTO taskInfoDTO = transportTaskApi.getTaskById(taskExecuteDTO.getTaskId()).getCheckedData();
|
||||
PackagePointDO startPoint = packagePointMapper.selectByPointCode(taskInfoDTO.getPointCode1(), false);
|
||||
startPoint.setLockStatus("0");
|
||||
startPoint.setPointStatus(BoxPointStatusEnum.EMPTY.getCode());
|
||||
startPoint.setVehicleCode("");
|
||||
startPoint.setContainerName("");
|
||||
packagePointMapper.updateById(startPoint);
|
||||
log.info("任务{}执行取货完成", taskExecuteDTO.getTaskId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,24 +4,7 @@
|
||||
|
||||
<select id="selectAvailablePointList"
|
||||
resultType="cn.code.nl.module.lms.dal.dataobject.packagepoint.PackagePointDO">
|
||||
SELECT point_id,
|
||||
point_code,
|
||||
point_name,
|
||||
point_type,
|
||||
container_name,
|
||||
point_status,
|
||||
vehicle_code,
|
||||
block,
|
||||
point_location,
|
||||
sort_seq,
|
||||
is_used,
|
||||
remark,
|
||||
plan,
|
||||
row_num,
|
||||
col_num,
|
||||
depth,
|
||||
wait_point_type,
|
||||
lock_status
|
||||
SELECT *
|
||||
FROM lms_package_point
|
||||
WHERE point_type = #{pointType}
|
||||
AND point_status = #{pointStatus}
|
||||
|
||||
Reference in New Issue
Block a user