opt:任务优先级
This commit is contained in:
@@ -26,6 +26,7 @@ public class PointEvent<T> extends PublishEvent {
|
|||||||
private String vehicle_code;
|
private String vehicle_code;
|
||||||
private String product_area;
|
private String product_area;
|
||||||
private String task_group_id;
|
private String task_group_id;
|
||||||
|
private String priority;
|
||||||
private Map extParam;
|
private Map extParam;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ package org.nl.wms.pda_manage.pda.controller;
|
|||||||
* @Date 2023/7/12 21:13
|
* @Date 2023/7/12 21:13
|
||||||
*/
|
*/
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
@@ -18,6 +20,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.nl.common.TableDataInfo;
|
import org.nl.common.TableDataInfo;
|
||||||
import org.nl.common.anno.Log;
|
import org.nl.common.anno.Log;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
import org.nl.common.utils.MapOf;
|
import org.nl.common.utils.MapOf;
|
||||||
import org.nl.common.utils.RedissonUtils;
|
import org.nl.common.utils.RedissonUtils;
|
||||||
@@ -182,6 +185,19 @@ public class PdaWashController {
|
|||||||
if (sum>LIMIT_WEIGHT){
|
if (sum>LIMIT_WEIGHT){
|
||||||
throw new BadRequestException("选择的储料仓物料总重量大于"+LIMIT_WEIGHT+"公斤");
|
throw new BadRequestException("选择的储料仓物料总重量大于"+LIMIT_WEIGHT+"公斤");
|
||||||
}
|
}
|
||||||
|
Param limit_time = paramService.getOne(new QueryWrapper<Param>().eq("code", "pda_wash_time"));
|
||||||
|
//开启清洗上料时间限制
|
||||||
|
if (limit_time!=null &&limit_time.getValue().equals("1")){
|
||||||
|
SchBaseTask lastTask = taskService.getOne(new QueryWrapper<SchBaseTask>()
|
||||||
|
.eq("task_type", AcsTaskEnum.REQUEST_WASH_SEND_MATERIAL.getCode()).orderByDesc("task_code").last("limit 1"));
|
||||||
|
String materialId = lastTask.getMaterial_id();
|
||||||
|
if (!list.get(0).getMaterial_id().equals(materialId)){
|
||||||
|
long between = DateUtil.between(new Date(), lastTask.getCreate_time(), DateUnit.MINUTE);
|
||||||
|
if (between<5){
|
||||||
|
throw new BadRequestException("不同物料任务间隔小于5分钟,任务:"+lastTask.getTask_code());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
|||||||
import org.nl.wms.storage_manage.IOSEnum;
|
import org.nl.wms.storage_manage.IOSEnum;
|
||||||
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
||||||
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
||||||
|
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||||
|
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -56,6 +58,8 @@ public class EngraveSendEmpTask extends AbstractAcsTask {
|
|||||||
private IStIvtStructattrService structattrService;
|
private IStIvtStructattrService structattrService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wms;
|
private WmsToAcsService wms;
|
||||||
|
@Autowired
|
||||||
|
private ISysParamService paramService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -120,10 +124,14 @@ public class EngraveSendEmpTask extends AbstractAcsTask {
|
|||||||
task.put("is_send", true);
|
task.put("is_send", true);
|
||||||
task.put("create_name", SecurityUtils.getCurrentNickName());
|
task.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("priority", "7");
|
task.put("priority", "1");
|
||||||
task.put("finished_type", "1");
|
task.put("finished_type", "1");
|
||||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||||
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
|
Param one = paramService.getOne(new QueryWrapper<Param>().eq("code", "engrave_priority"));
|
||||||
|
if (one!=null){
|
||||||
|
schBaseTask.setPriority(one.getValue());
|
||||||
|
}
|
||||||
taskService.save(schBaseTask);
|
taskService.save(schBaseTask);
|
||||||
// 找终点
|
// 找终点
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.common.enums.AcsTaskEnum;
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
import org.nl.common.enums.StatusEnum;
|
import org.nl.common.enums.StatusEnum;
|
||||||
import org.nl.common.publish.AbstraceListener;
|
import org.nl.common.publish.AbstraceListener;
|
||||||
@@ -53,7 +54,7 @@ public class PointListener extends AbstraceListener<PointEvent> {
|
|||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("is_auto_issue", "0");
|
task.put("is_auto_issue", "0");
|
||||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||||
task.put("priority", "1");}
|
task.put("priority", StringUtils.isEmpty(event.getPriority())?"1":event.getPriority());}
|
||||||
taskService.save(task.toJavaObject(SchBaseTask.class));
|
taskService.save(task.toJavaObject(SchBaseTask.class));
|
||||||
return task_id;
|
return task_id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
|||||||
import org.nl.wms.storage_manage.IOSEnum;
|
import org.nl.wms.storage_manage.IOSEnum;
|
||||||
import org.nl.wms.storage_manage.pda.PDAEnum;
|
import org.nl.wms.storage_manage.pda.PDAEnum;
|
||||||
import org.nl.wms.storage_manage.pda.service.PdaStBcpInService;
|
import org.nl.wms.storage_manage.pda.service.PdaStBcpInService;
|
||||||
|
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||||
|
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -47,19 +49,15 @@ import java.util.stream.Collectors;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class WashCallEmptyTask extends AbstractAcsTask {
|
public class WashCallEmptyTask extends AbstractAcsTask {
|
||||||
@Autowired
|
|
||||||
private IPdmProduceWorkorderService workorderService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseTaskService taskService;
|
private ISchBaseTaskService taskService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IStIvtStructattrService structattrService; // 仓位服务
|
private IStIvtStructattrService structattrService; // 仓位服务
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wms;
|
private WmsToAcsService wms;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PdaStBcpInService pdaStBcpInService;
|
private ISysParamService paramService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -120,6 +118,10 @@ public class WashCallEmptyTask extends AbstractAcsTask {
|
|||||||
// 查找任务状态
|
// 查找任务状态
|
||||||
JSONObject task = packageTask(param.getString("device_code"));
|
JSONObject task = packageTask(param.getString("device_code"));
|
||||||
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
|
||||||
|
Param one = paramService.getOne(new QueryWrapper<Param>().eq("code", "wash_priority"));
|
||||||
|
if (one!=null){
|
||||||
|
schBaseTask.setPriority(one.getValue());
|
||||||
|
}
|
||||||
taskService.save(schBaseTask);
|
taskService.save(schBaseTask);
|
||||||
// 找终点
|
// 找终点
|
||||||
try {
|
try {
|
||||||
@@ -168,7 +170,7 @@ public class WashCallEmptyTask extends AbstractAcsTask {
|
|||||||
task.put("update_name", SecurityUtils.getCurrentNickName());
|
task.put("update_name", SecurityUtils.getCurrentNickName());
|
||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("update_time", DateUtil.now());
|
task.put("update_time", DateUtil.now());
|
||||||
task.put("priority", "8");
|
task.put("priority", "1");
|
||||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class WashMachineryTask extends AbstractAcsTask {
|
|||||||
task.put("create_name", SecurityUtils.getCurrentNickName());
|
task.put("create_name", SecurityUtils.getCurrentNickName());
|
||||||
task.put("create_time", DateUtil.now());
|
task.put("create_time", DateUtil.now());
|
||||||
task.put("is_auto_issue", false);
|
task.put("is_auto_issue", false);
|
||||||
task.put("priority", "8");
|
task.put("priority", "1");
|
||||||
task.put("task_step", 1);
|
task.put("task_step", 1);
|
||||||
task.put("material_id",devices.get(0).getMaterial_id());
|
task.put("material_id",devices.get(0).getMaterial_id());
|
||||||
task.put("material_qty",devices.stream().mapToInt(a->a.getDeviceinstor_weight().intValue()).sum());
|
task.put("material_qty",devices.stream().mapToInt(a->a.getDeviceinstor_weight().intValue()).sum());
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.mapper.StIvtIo
|
|||||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.IStIvtStructivtBcpService;
|
import org.nl.wms.storage_manage.semimanage.service.structIvt.IStIvtStructivtBcpService;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
||||||
|
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||||
|
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
@@ -95,6 +97,8 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
|||||||
private IStIvtStructivtflowService iStIvtStructivtflowService; // 库存变动服务
|
private IStIvtStructivtflowService iStIvtStructivtflowService; // 库存变动服务
|
||||||
@Autowired
|
@Autowired
|
||||||
protected IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
protected IMdPbStoragevehicleextService iMdPbStoragevehicleextService; // 载具扩展属性信息表服务
|
||||||
|
@Autowired
|
||||||
|
private ISysParamService paramService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object queryDtl(BcpIostorInvQuery query, PageQuery pageQuery) {
|
public Object queryDtl(BcpIostorInvQuery query, PageQuery pageQuery) {
|
||||||
@@ -342,10 +346,17 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
|||||||
mst.setCreate_id("1");
|
mst.setCreate_id("1");
|
||||||
mst.setCreate_name("acs");
|
mst.setCreate_name("acs");
|
||||||
mst.setCreate_time(DateUtil.now());
|
mst.setCreate_time(DateUtil.now());
|
||||||
|
|
||||||
|
Param one = paramService.getOne(new QueryWrapper<Param>().eq("code", "engrave_priority"));
|
||||||
|
String priority = "1";
|
||||||
|
if (one!=null){
|
||||||
|
priority=one.getValue();
|
||||||
|
}
|
||||||
PointEvent event = PointEvent.builder()
|
PointEvent event = PointEvent.builder()
|
||||||
.type(AcsTaskEnum.TASK_STRUCT_OUT)
|
.type(AcsTaskEnum.TASK_STRUCT_OUT)
|
||||||
.point_code1(stIvtStructivtBcp.getStruct_code())
|
.point_code1(stIvtStructivtBcp.getStruct_code())
|
||||||
.point_code3(mst.getPoint_code())
|
.point_code3(mst.getPoint_code())
|
||||||
|
.priority(priority)
|
||||||
.acs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode())
|
.acs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode())
|
||||||
.task_group_id(IdUtil.getStringId())
|
.task_group_id(IdUtil.getStringId())
|
||||||
.extParam(MapOf.of("material_qty",stIvtStructivtBcp.getCanuse_qty(),
|
.extParam(MapOf.of("material_qty",stIvtStructivtBcp.getCanuse_qty(),
|
||||||
@@ -478,7 +489,6 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
|||||||
|
|
||||||
SchBaseTask taskDao = iSchBaseTaskService.getById(task_id);
|
SchBaseTask taskDao = iSchBaseTaskService.getById(task_id);
|
||||||
JSONArray param = new JSONArray();
|
JSONArray param = new JSONArray();
|
||||||
taskDao.setPriority("7");
|
|
||||||
param.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao)));
|
param.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao)));
|
||||||
// 1.下发任务
|
// 1.下发任务
|
||||||
WmsToAcsService bean = SpringContextHolder.getBean(WmsToAcsService.class);
|
WmsToAcsService bean = SpringContextHolder.getBean(WmsToAcsService.class);
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQuery;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.IStIvtStructivtBcpService;
|
import org.nl.wms.storage_manage.semimanage.service.structIvt.IStIvtStructivtBcpService;
|
||||||
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.StIvtStructivtBcp;
|
||||||
|
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||||
|
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -84,6 +86,9 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
|||||||
private IStIvtStructattrService structattrService;
|
private IStIvtStructattrService structattrService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DivRuleCpService divRuleCpService;
|
private DivRuleCpService divRuleCpService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysParamService paramService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IStIvtSectattrService sectattrService;
|
private IStIvtSectattrService sectattrService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -322,13 +327,18 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
|||||||
mst.setStruct_code(stIvtStructattr.getStruct_code());
|
mst.setStruct_code(stIvtStructattr.getStruct_code());
|
||||||
mst.setStruct_name(stIvtStructattr.getStruct_name());
|
mst.setStruct_name(stIvtStructattr.getStruct_name());
|
||||||
}
|
}
|
||||||
|
Param one = paramService.getOne(new QueryWrapper<Param>().eq("code", "wash_priority"));
|
||||||
|
String priority = "1";
|
||||||
|
if (one!=null){
|
||||||
|
priority = one.getValue();
|
||||||
|
}
|
||||||
PointEvent event = PointEvent.builder()
|
PointEvent event = PointEvent.builder()
|
||||||
.type(AcsTaskEnum.TASK_STRUCT_IN)
|
.type(AcsTaskEnum.TASK_STRUCT_IN)
|
||||||
.acs_task_type("7")
|
.acs_task_type("7")
|
||||||
.task_group_id(IdUtil.getStringId())
|
.task_group_id(IdUtil.getStringId())
|
||||||
.point_code1(mst.getPoint_code())
|
.point_code1(mst.getPoint_code())
|
||||||
.point_code3(stIvtStructattr.getStruct_code())
|
.point_code3(stIvtStructattr.getStruct_code())
|
||||||
|
.priority(priority)
|
||||||
.vehicle_code(mst.getStoragevehicle_code())
|
.vehicle_code(mst.getStoragevehicle_code())
|
||||||
.product_area(mst.getWorkshop_id())
|
.product_area(mst.getWorkshop_id())
|
||||||
.extParam(MapOf.of("material_id",mst.getMaterial_id(),
|
.extParam(MapOf.of("material_id",mst.getMaterial_id(),
|
||||||
@@ -448,7 +458,6 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
|||||||
|
|
||||||
SchBaseTask taskDao = iSchBaseTaskService.getById(task_id);
|
SchBaseTask taskDao = iSchBaseTaskService.getById(task_id);
|
||||||
JSONArray param = new JSONArray();
|
JSONArray param = new JSONArray();
|
||||||
taskDao.setPriority("8");
|
|
||||||
param.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao)));
|
param.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao)));
|
||||||
|
|
||||||
// 1.下发任务
|
// 1.下发任务
|
||||||
|
|||||||
Reference in New Issue
Block a user