fix: 装箱点位管理
This commit is contained in:
@@ -3,6 +3,7 @@ package cn.code.nl.module.task.api;
|
||||
import cn.code.nl.framework.common.pojo.CommonResult;
|
||||
import cn.code.nl.module.task.dto.TaskInfoDTO;
|
||||
import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO;
|
||||
import cn.code.nl.module.task.dto.UnfinishedTaskPointReqDTO;
|
||||
import cn.code.nl.module.task.dto.TaskCallbackResultReqDTO;
|
||||
import cn.code.nl.module.task.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -65,4 +66,13 @@ public interface TransportTaskApi {
|
||||
@Operation(summary = "统计指定目的点的未完成任务数")
|
||||
CommonResult<Long> countUnfinishedByDestination(@RequestParam("pointCode") String pointCode,
|
||||
@RequestParam("ownerService") String ownerService);
|
||||
|
||||
/**
|
||||
* 检查指定点位是否存在未完成任务
|
||||
*
|
||||
* @param reqDTO 点位查询请求
|
||||
* @return 是否存在未完成任务
|
||||
*/
|
||||
@PostMapping(PREFIX + "/hasUnfinishedByPointCodes")
|
||||
CommonResult<Boolean> hasUnfinishedByPointCodes(@Valid @RequestBody UnfinishedTaskPointReqDTO reqDTO);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package cn.code.nl.module.task.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 未完成任务点位查询请求
|
||||
*/
|
||||
@Data
|
||||
public class UnfinishedTaskPointReqDTO {
|
||||
|
||||
/**
|
||||
* 点位编码列表
|
||||
*/
|
||||
@NotEmpty(message = "点位编码列表不能为空")
|
||||
private List<@NotBlank(message = "点位编码不能为空") String> pointCodes;
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package cn.code.nl.module.task.api;
|
||||
import cn.code.nl.framework.common.pojo.CommonResult;
|
||||
import cn.code.nl.module.task.dto.TaskInfoDTO;
|
||||
import cn.code.nl.module.task.dto.TransportTaskCreateReqDTO;
|
||||
import cn.code.nl.module.task.dto.UnfinishedTaskPointReqDTO;
|
||||
import cn.code.nl.module.task.dto.TaskCallbackResultReqDTO;
|
||||
import cn.code.nl.module.task.service.transporttask.TransportTaskCallbackService;
|
||||
import cn.code.nl.module.task.service.transporttask.TransportTaskService;
|
||||
@@ -74,4 +75,15 @@ public class TransportTaskApiImpl implements TransportTaskApi {
|
||||
public CommonResult<Long> countUnfinishedByDestination(String pointCode, String ownerService) {
|
||||
return success(transportTaskService.countUnfinishedByDestination(pointCode, ownerService));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查指定点位是否存在未完成任务
|
||||
*
|
||||
* @param reqDTO 点位查询请求
|
||||
* @return 是否存在未完成任务
|
||||
*/
|
||||
@Override
|
||||
public CommonResult<Boolean> hasUnfinishedByPointCodes(UnfinishedTaskPointReqDTO reqDTO) {
|
||||
return success(transportTaskService.hasUnfinishedByPointCodes(reqDTO.getPointCodes()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import cn.code.nl.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.code.nl.module.task.dal.dataobject.transporttask.TransportTaskDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import cn.code.nl.module.task.controller.admin.transporttask.vo.*;
|
||||
|
||||
/**
|
||||
@@ -117,6 +118,14 @@ public interface TransportTaskMapper extends BaseMapperX<TransportTaskDO> {
|
||||
TransportTaskStatusEnum.FINISHED_CALLBACK_PENDING.getCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计指定点位关联的未完成任务
|
||||
*
|
||||
* @param pointCodes 点位编码列表
|
||||
* @return 未完成任务数量
|
||||
*/
|
||||
long selectUnfinishedCountByPointCodes(@Param("pointCodes") List<String> pointCodes);
|
||||
|
||||
/**
|
||||
* 条件更新任务状态(CAS 抢占)
|
||||
*/
|
||||
|
||||
@@ -125,6 +125,14 @@ public interface TransportTaskService {
|
||||
|
||||
Long countUnfinishedByDestination(String pointCode, String ownerService);
|
||||
|
||||
/**
|
||||
* 检查指定点位是否存在未完成任务
|
||||
*
|
||||
* @param pointCodes 点位编码列表
|
||||
* @return 是否存在未完成任务
|
||||
*/
|
||||
boolean hasUnfinishedByPointCodes(List<String> pointCodes);
|
||||
|
||||
/**
|
||||
* 自动下发待下发任务到 ACS
|
||||
*/
|
||||
|
||||
@@ -236,6 +236,11 @@ public class TransportTaskServiceImpl implements TransportTaskService {
|
||||
return transportTaskMapper.selectUnfinishedCountByDestination(pointCode, ownerService);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasUnfinishedByPointCodes(List<String> pointCodes) {
|
||||
return transportTaskMapper.selectUnfinishedCountByPointCodes(pointCodes) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询待下发任务,并委托下发管理器按生产区域下发到 ACS
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.code.nl.module.task.dal.mysql.transporttask.TransportTaskMapper">
|
||||
|
||||
<select id="selectUnfinishedCountByPointCodes" resultType="long">
|
||||
SELECT COUNT(1)
|
||||
FROM task_transport_job
|
||||
WHERE deleted = b'0'
|
||||
AND task_status < '75'
|
||||
AND (
|
||||
point_code1 IN
|
||||
<foreach collection="pointCodes" item="pointCode" open="(" separator="," close=")">
|
||||
#{pointCode}
|
||||
</foreach>
|
||||
OR point_code2 IN
|
||||
<foreach collection="pointCodes" item="pointCode" open="(" separator="," close=")">
|
||||
#{pointCode}
|
||||
</foreach>
|
||||
OR point_code3 IN
|
||||
<foreach collection="pointCodes" item="pointCode" open="(" separator="," close=")">
|
||||
#{pointCode}
|
||||
</foreach>
|
||||
OR point_code4 IN
|
||||
<foreach collection="pointCodes" item="pointCode" open="(" separator="," close=")">
|
||||
#{pointCode}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user