|
|
@ -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)) { |
|
|
|
//判断该子托盘是否存在未完成任务
|
|
|
|