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.domain.WcsPort;
import com.ruoyi.bas.port.service.IWcsPortService; import com.ruoyi.bas.port.service.IWcsPortService;
import com.ruoyi.common.GoodsType; import com.ruoyi.common.GoodsType;
import com.ruoyi.common.TaskType;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.domain.MydoJob; 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.Constant.*;
import static com.ruoyi.common.ConvType.CONV_STOCKOUT; import static com.ruoyi.common.ConvType.CONV_STOCKOUT;
import static com.ruoyi.common.TaskType.STOCKIN;
import static com.ruoyi.common.TaskStatusCode.TASK_EP_CREATED; 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()); 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 mydoJob = new MydoJob();
mydoJob.setJobId(mydoJobService.getJobId("CK")); 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 int STACKER_TYPE_DEFAULT = 0;
/**
* 常规入库
*/
public static final String STOCKIN = "1";
/**
* 常规出库
*/
public static final String STOCKOUT = "2";
/** /**
* 1-二楼入出 * 1-二楼入出
*/ */

View File

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

View File

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