Compare commits

...

2 Commits

Author SHA1 Message Date
lsymicc
c10fb6af1c 限制出入库 2026-06-10 14:31:50 +08:00
lsymicc
70c2647699 限制出入库 2026-06-10 14:31:41 +08:00
4 changed files with 36 additions and 10 deletions

View File

@@ -28,6 +28,7 @@ import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService;
import com.ruoyi.bas.port.domain.WcsPort;
import com.ruoyi.bas.port.service.IWcsPortService;
import com.ruoyi.common.GoodsType;
import com.ruoyi.common.TaskType;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.domain.MydoJob;
@@ -47,6 +48,7 @@ import java.util.Map;
import static com.ruoyi.common.Constant.*;
import static com.ruoyi.common.ConvType.CONV_STOCKOUT;
import static com.ruoyi.common.TaskType.STOCKIN;
import static com.ruoyi.common.TaskStatusCode.TASK_EP_CREATED;
/**
@@ -540,6 +542,14 @@ public class ApiServiceImpl implements IApiService {
return AjaxResult.error("【请求错误】wms下发出库任务失败,已经存在该货位的出库任务,推送任务号:{}" + stockoutReceive.getTaskCode() + ",推送出库货位:" + stockoutReceive.getSiteCode());
}
// 3.是否已经有正在执行的入库任务
job = new MydoJob().builder().inOrOut(STOCKIN).build();
tasks = mydoJobService.selectMydoJobList(job);
if (tasks.size() != 0) {
log.info("【警告】wms下发出库任务失败,已经存在正在执行的入库任务,请稍后重试");
return AjaxResult.error("【警告】wms下发出库任务失败,已经存在正在执行的入库任务,请稍后重试");
}
//生成出库作业
MydoJob mydoJob = new MydoJob();
mydoJob.setJobId(mydoJobService.getJobId("CK"));

View File

@@ -10,6 +10,16 @@ public class TaskType {
*/
public static final int STACKER_TYPE_DEFAULT = 0;
/**
* 常规入库
*/
public static final String STOCKIN = "1";
/**
* 常规出库
*/
public static final String STOCKOUT = "2";
/**
* 1-二楼入出
*/

View File

@@ -1,5 +1,6 @@
package com.ruoyi.job.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
@@ -21,13 +22,14 @@ import java.util.List;
@NoArgsConstructor
@ToString
@Builder
//@TableName("mydo_job_wcs")
@TableName("mydo_job_wcs")
public class MydoJob extends BaseEntity
{
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/** 任务ID */
// @TableId
@TableId
private String jobId;
/** 任务状态 */

View File

@@ -32,6 +32,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static com.ruoyi.common.TaskStatusCode.*;
import static com.ruoyi.common.TaskType.STOCKOUT;
import static com.ruoyi.common.WmsTaskTypeCode.WMS_TASK_TYPE_STOCKIN;
import static com.ruoyi.schedule.plcRead.ssj.PlcSsjRead.writeToSsj;
@@ -165,17 +166,20 @@ public class PortConvThread implements Runnable {
).size();
if (count > 0) {
//如果查到输送机有已经该条码的入库作业 - 把该作业更新为初始状态(未向入库输送机下发任务号的阶段)
// 省去入库输送机口的手动作废操作,自动更新任务至初始阶段
// mydoJobService.updateMydoJob(
// new MydoJob().builder()
// .status("1")
// .executionPhase("0")
// .build()
// );
log.warn("【警告】已经存在该托盘号的入库作业,无法继续执行该托盘的入库请求,请稍后重试");
writeToSsj(inSsjDevice.getPlcDbWriteAddress(), "99", 2, 1);
return;
}
int stockoutMydoJob = mydoJobService.selectInOrOutMydoJobList(
new MydoJob().builder().inOrOut(STOCKOUT).build()
).size();
if (stockoutMydoJob > 0) {
log.warn("【警告】已经存在执行中的出库作业,无法执行入库请求,请稍后重试");
writeToSsj(inSsjDevice.getPlcDbWriteAddress(), "99", 2, 1);
return;
}
String errorMessage = "";