opt:优化
This commit is contained in:
@@ -61,5 +61,7 @@ public interface AcsConfig {
|
||||
|
||||
String ELECTRIC ="electric";
|
||||
|
||||
String ELECTRIC2 ="electric2";
|
||||
|
||||
String IS_ATUO_ELECTRIC ="is_atuo_electric";
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ import org.nl.system.service.dict.dao.Dict;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -337,7 +337,21 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
String is_atuo_electric = paramService.findByCode(AcsConfig.IS_ATUO_ELECTRIC).getValue();
|
||||
log.info("接收agv上报信息,is_atuo_electric:" + is_atuo_electric);
|
||||
if("1".equals(is_atuo_electric)){
|
||||
int electric = Integer.parseInt(paramService.findByCode(AcsConfig.ELECTRIC).getValue());
|
||||
|
||||
// 定义时间段
|
||||
LocalTime startTime = LocalTime.of(8, 0); // 上午8点
|
||||
LocalTime endTime = LocalTime.of(22, 0); // 晚上22点
|
||||
// 获取当前时间
|
||||
LocalTime now = LocalTime.now();
|
||||
// 判断当前时间是否在时间段内
|
||||
boolean isInRange = !now.isBefore(startTime) && !now.isAfter(endTime);
|
||||
int electric = 0 ;
|
||||
//早上8-22点
|
||||
if(isInRange){
|
||||
electric = Integer.parseInt(paramService.findByCode(AcsConfig.ELECTRIC).getValue());
|
||||
}else{
|
||||
electric = Integer.parseInt(paramService.findByCode(AcsConfig.ELECTRIC2).getValue());
|
||||
}
|
||||
if (electric_qty>0 && electric_qty < electric) {
|
||||
log.info("当前车辆{}电量为{}低于{},开始判断是否需要充电!", this.agvaddr, electric_qty,electric);
|
||||
//判断是否已下发充电任务
|
||||
@@ -424,5 +438,4 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.sch.task_manage;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
@@ -24,6 +25,7 @@ import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.TaskDirectionEnum;
|
||||
import org.nl.wms.sch.task_manage.task.AcsUtil;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.mapper.PointMapper;
|
||||
import org.nl.wms.sch.workorder.service.IWorkorderService;
|
||||
import org.nl.wms.sch.workorder.service.dao.Workorder;
|
||||
import org.nl.wms.sch.workorder.service.dao.mapper.WorkorderMapper;
|
||||
@@ -55,6 +57,8 @@ public abstract class AbstractTask {
|
||||
private MaterialMapper materialMapper;
|
||||
@Autowired
|
||||
private ISysParamService paramService;
|
||||
@Autowired
|
||||
private PointMapper pointMapper;
|
||||
/**
|
||||
* 任务创建
|
||||
* 根据配置生成任务,如并发控制等
|
||||
@@ -225,6 +229,24 @@ public abstract class AbstractTask {
|
||||
Assert.isFalse(apply_point_lists>0,
|
||||
"该任务申请点位["+apply_point_code+"]已存在未完成的任务,无法申请任务!");
|
||||
}
|
||||
//如果是空托出库任务,判断是否有库存
|
||||
if("SSXBKJTask".equals(config_code)){
|
||||
String regionCode = "KJHC";
|
||||
boolean p_flag = false;
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByCondition(regionCode, "0",1);
|
||||
for (SchBasePoint schBasePoint : schBasePointList) {
|
||||
//查找点上无载具号无任务号、载具数量为1的
|
||||
if (schBasePoint.getIs_used()
|
||||
&& StringUtils.isEmpty(schBasePoint.getIng_task_code())
|
||||
&& StringUtils.isEmpty(schBasePoint.getVehicle_code2())
|
||||
&& schBasePoint.getVehicle_qty() ==1) {
|
||||
p_flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Assert.isFalse(!p_flag,
|
||||
"暂无空托盘库存,无法生成空托出库任务!");
|
||||
}
|
||||
//子托盘非空
|
||||
if(ObjectUtil.isNotEmpty(sub_tray)) {
|
||||
//判断该子托盘是否存在未完成任务
|
||||
|
||||
Reference in New Issue
Block a user