add 任务优先级混碾条码重复,组盘新增是否拆包

This commit is contained in:
周俊杰
2024-06-28 16:43:39 +08:00
parent d498644828
commit b6d6141765
8 changed files with 135 additions and 48 deletions

View File

@@ -133,7 +133,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
if (StrUtil.equals(acsConfigService.findByCode(AcsConfig.FORKAGV).getValue(), "1")) {
String instcode = inst.getInstruction_code();
int type = Integer.parseInt(inst.getInstruction_type());
int priority = Integer.parseInt(inst.getPriority()+79);
int priority = Integer.parseInt(inst.getPriority()) + 128;
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class);
int startAddress = deviceService.queryAddressBydeviceCode(inst.getStart_point_code());
@@ -148,7 +148,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
byte fhdhigh = (byte) IntToHexHigh(nextAddress);
byte fhdlow = (byte) IntToHexLow(nextAddress);
byte prioritylow = (byte) IntToHexLow(priority);
log.info("下发任务的优先级为{}",priority);
String str = "十进制下发:";
String str1 = "十六进制下发:";
str += "ikey:" + (Integer.parseInt(instcode));

View File

@@ -353,7 +353,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
param.put("special_param", handling);
taskService.apply(param);
}
} finally {
}catch(Exception e){
log.info("入库业务出现错误{}",e.getMessage());
return ApplyTaskResponse.responseError(requestNo,e.getMessage());
}
finally {
if (tryLock) {
lock.unlock();
}

View File

@@ -143,6 +143,7 @@
select *
from pdm_bd_workorder
where region_code = 'HN'
and workorder_status = '3'
and is_delete = '0'
</select>
<select id="getRgfjPoint" resultType="org.nl.wms.pda.service.dao.vo.DropdownListVo">

View File

@@ -287,18 +287,21 @@ public abstract class AbstractTask {
}
// 校验是否需要自动agv
if (!pointObj.getIs_auto()) {
log.info("如果不需要自动,则不创建任务");
// 如果不需要自动,则不创建任务
return;
}
// 判断是否此点位作为起点而锁定
if (taskConfig.getIs_check_start_lock()) {
if (taskService.checkCurrentPointUnFinishTaskByStart(apply_point_code)) {
log.info("判断是否此点位作为起点而锁定");
return;
}
}
// 判断是否此点位作为终点而锁定
if (taskConfig.getIs_check_next_lock()) {
if (taskService.checkCurrentPointUnFinishTaskByEnd(apply_point_code)) {
log.info("判断是否此点位作为终点而锁定");
return;
}
}
@@ -323,7 +326,9 @@ public abstract class AbstractTask {
} else { // 不需要立即创建,需要立马组盘
// 设置组盘 - 需要的话由子类自行实现
task.setGroup_id(this.setGroupPlate(param));
log.info("准备创建任务");
taskService.save(task); // 创建一条单点任务。
log.info("创建任务成功");
this.create();
}
}

View File

@@ -142,6 +142,9 @@ public class HNMLTask extends AbstractTask {
private SchBasePoint findNextPoint(List<String> nextRegionStr, JSONObject requestParam) {
// 获取工单
PdmBdWorkorder workOrder = workorderService.getByCode(requestParam.getString("workorder_code"));
//获取该混碾对接位工单中的牌号
String materialph=workOrder.getProduce_order();
MdBaseMaterial material = materialService.getById(workOrder.getMaterial_id());
List<SchBasePoint> points;
// 判断组盘中对应物料是否直接上料
@@ -150,6 +153,7 @@ public class HNMLTask extends AbstractTask {
// todo: 物料
points = hnMapper.findNextPointByHNML(nextRegionStr.get(1), material.getRaw_material_code());
} else {
// 放到困料货架
// todo: 需要改成料盅对应的货位上
points = pointService.list(new LambdaQueryWrapper<SchBasePoint>()
@@ -307,6 +311,11 @@ public class HNMLTask extends AbstractTask {
if (ObjectUtil.isEmpty(basePoint)) {
throw new BadRequestException("点位[" + deviceCode + "]已被禁用");
}
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService
.getGroupInfo(vehicleCode, vehicleType, GroupBindMaterialStatusEnum.BOUND.getValue());
if (ObjectUtil.isNotEmpty(groupInfo)) {
throw new BadRequestException("载具号[" + vehicleCode + "]组盘信息已存在");
}
if (vehicleCode == null || vehicleCode.equals(GeneralDefinition.NO)) {
throw new BadRequestException("载具编码不能为空");
}

View File

@@ -21,18 +21,13 @@ https://juejin.cn/post/6844903775631572999
<include resource="log/XgAgvDeviceDriver.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--withJansi 参数改为true-->
<withJansi>true</withJansi>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern>
<!-- <charset>${log.charset}</charset>-->
<!-- <charset>${log.charset}</charset>-->
</encoder>
</appender>
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" >
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/>
@@ -54,7 +49,13 @@ https://juejin.cn/post/6844903775631572999
</encoder>
</appender>
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" />
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" >
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="asyncLuceneAppender" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="luceneAppender" />
<!-- 设置队列大小 -->
@@ -62,7 +63,7 @@ https://juejin.cn/post/6844903775631572999
</appender>
<!--异步到文件-->
<appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>
<appender-ref ref="FILE"/>
@@ -71,42 +72,85 @@ https://juejin.cn/post/6844903775631572999
<springProfile name="dev">
<root level="DEBUG">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.reflections.Reflections" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.nl.config.thread.ThreadMonitorCollector" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.springframework" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<logger name="com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<logger name="org.redisson.connection.pool.MasterPubSubConnectionPool" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<logger name="org.redisson.connection.pool.MasterConnectionPool" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<logger name="org.redisson.Version" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<logger name="com.alibaba.druid.pool.DruidDataSource" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<logger name="org.nl.config.RedisConfig" level="INFO" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<logger name="org.apache" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<logger name="org.hibernate" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<logger name="io.netty" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<logger name="io.lettuce" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.google" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>
@@ -118,40 +162,64 @@ https://juejin.cn/post/6844903775631572999
<appender-ref ref="asyncFileAppender"/>
<appender-ref ref="asyncLuceneAppender"/>
</root>
<logger name="org.springframework" level="ERROR" additivity="false">
<logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.apache" level="ERROR" additivity="false">
<logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.hibernate" level="ERROR" additivity="false">
<logger name="org.reflections.Reflections" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.netty" level="ERROR" additivity="false">
<logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc" level="ERROR" additivity="false">
<logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="io.lettuce" level="ERROR" additivity="false">
<logger name="org.nl.config.thread.ThreadMonitorCollector" level="ERROR" additivity="false">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="false">
<logger name="org.springframework" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="false">
<logger name="org.apache" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="false">
<logger name="org.hibernate" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="false">
<logger name="io.netty" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="false">
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="false">
<logger name="io.lettuce" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.fasterxml" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.quartz" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="com.google" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="log4jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="nl.basjes" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>
</logger>
</springProfile>
@@ -162,19 +230,19 @@ https://juejin.cn/post/6844903775631572999
<root level="INFO">
<appender-ref ref="asyncFileAppender"/>
</root>
<logger name="jdbc.audit" level="ERROR" additivity="false">
<logger name="jdbc.audit" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<logger name="jdbc.resultset" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="springfox.documentation" level="ERROR" additivity="false">
<logger name="springfox.documentation" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<logger name="jdbc.resultsettable" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<logger name="jdbc.sqlonly" level="ERROR" additivity="true">
<appender-ref ref="CONSOLE"/>
</logger>
</springProfile>

View File

@@ -70,7 +70,7 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266','text-align':'center'}"
@select="handleSelectionChange"
@select-all="onSelectAll"
@current-change="clickChange"
@current-change="clickChange"
>
<el-table-column v-if="!isSingle" type="selection" width="55" />
<el-table-column v-if="isSingle" label="选择" width="55">

View File

@@ -190,9 +190,9 @@
<el-form-item label="任务编码">
<el-input v-model="form.task_code" style="width: 240px;" />
</el-form-item>
<!--<el-form-item label="车间编码">
<el-input v-model="form.workshop_code" style="width: 240px;" />
</el-form-item>-->
<el-form-item label="是否拆包">
<el-input v-model="form.unpack" style="width: 240px;" />
</el-form-item>
<el-form-item label="组盘状态">
<el-select
v-model="form.group_status"
@@ -306,7 +306,7 @@
<el-table-column prop="material_weight" label="物料重量" :min-width="flexWidth('material_weight',crud.data,'物料重量')" />
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
<el-table-column prop="task_code" label="任务编码" :min-width="flexWidth('task_code',crud.data,'任务编码')" />
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')"/>-->
<el-table-column prop="unpack" label="是否拆包" :min-width="flexWidth('unpack',crud.data,'是否拆包')"/>
<el-table-column prop="group_status" label="组盘状态" :min-width="flexWidth('group_status',crud.data,'组盘状态')">
<template slot-scope="scope">
{{ dict.label.group_status[scope.row.group_status] }}