光电驱动fix&缓存区路线遮挡问题优化
This commit is contained in:
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -147,24 +148,24 @@ public class GHCMLTask extends AbstractTask {
|
||||
// 查找相同批次
|
||||
// 最小排最小列,且列大于1(即不是等待位置,1不写死:使用子查询,寻找当排最小列序号的值)
|
||||
// 多个数据选择一个:Limit 1, 还需要考虑任务数,尽量一排排满
|
||||
SchBasePoint sameMaterialPoints = autoMapper.getZCSameMaterialPoint(jsonObject.getString("pcsn")
|
||||
List<SchBasePoint> sameMaterialPoints = autoMapper.getZCSameMaterialPoint(jsonObject.getString("pcsn")
|
||||
, jsonObject.getString("material_id"));
|
||||
if (ObjectUtil.isNotEmpty(sameMaterialPoints)) {
|
||||
// 找到相同物料。分配等待点。
|
||||
SchBasePoint point = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.in(SchBasePoint::getRegion_code, nextRegionStr)
|
||||
.eq(SchBasePoint::getRow_num, sameMaterialPoints.getRow_num())
|
||||
.eq(SchBasePoint::getIs_used, true)
|
||||
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
// 当前执行的任务为空或者NULL,有数据表示锁住
|
||||
.and(la -> la.isNull(SchBasePoint::getIng_task_code)
|
||||
.or()
|
||||
.eq(SchBasePoint::getIng_task_code, ""))
|
||||
.orderByAsc(SchBasePoint::getCol_num), false);
|
||||
if (ObjectUtil.isNotEmpty(point)) {
|
||||
return point;
|
||||
SchBasePoint temp=null;
|
||||
int row_num=0;
|
||||
//检查当前列前面是否有货
|
||||
for(SchBasePoint schBasePoint:sameMaterialPoints){
|
||||
if(row_num==schBasePoint.getRow_num()){
|
||||
continue;
|
||||
}
|
||||
if(PointStatusEnum.EMPTY_POINT.getCode().equals(schBasePoint.getPoint_status())){
|
||||
temp = schBasePoint;
|
||||
}else{
|
||||
row_num=schBasePoint.getRow_num();
|
||||
}
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(temp)) {
|
||||
return temp;
|
||||
}
|
||||
}
|
||||
// 如果没有找到。或者分配等待点失败,就选择一个空列存放
|
||||
return autoMapper.getZCEmptyMaterialPoint(nextRegionStr.get(0), jsonObject.getString("material_id"));
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ public interface AutoMapper {
|
||||
|
||||
List<SchBasePoint> getGHSExitMaterialList();
|
||||
|
||||
SchBasePoint getZCSameMaterialPoint(String pcsn, String materialId);
|
||||
List<SchBasePoint> getZCSameMaterialPoint(String pcsn, String materialId);
|
||||
|
||||
SchBasePoint getZCEmptyMaterialPoint(String regionCode, String materialId);
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
AND vg.group_bind_material_status = '2'
|
||||
WHERE p.region_code = 'ZC'
|
||||
AND p.is_used = TRUE
|
||||
and p.point_status=1
|
||||
and p.row_num in (
|
||||
SELECT p.row_num
|
||||
FROM sch_base_point p
|
||||
@@ -40,8 +39,6 @@
|
||||
and RIGHT(vg.pcsn,8)=RIGHT(#{pcsn},8)
|
||||
)
|
||||
ORDER BY p.row_num, p.col_num
|
||||
limit 1
|
||||
|
||||
</select>
|
||||
<select id="getZCEmptyMaterialPoint" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||
SELECT p.*
|
||||
|
||||
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
|
||||
* @Date: 2023/12/1
|
||||
*/
|
||||
@Slf4j
|
||||
@Component("KJZCQKTask")
|
||||
@Component("KJQKTask")
|
||||
public class KJQKTask extends AbstractTask {
|
||||
private static final String TASK_CONFIG_CODE = "KJQKTask";
|
||||
@Autowired
|
||||
|
||||
Reference in New Issue
Block a user