From 286eadc0913fe9974ab2f2fd188fb707dc16ad40 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 24 二月 2026 09:16:14 +0800
Subject: [PATCH] 1
---
zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java | 1
zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java | 3
zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java | 19 +--
zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java | 21 ++-
zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java | 9 -
zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java | 58 +++++++----
zy-acs-cv/src/main/resources/mapper/JobMapper.xml | 26 +++-
zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java | 1
zy-acs-cv/src/main/java/com/zy/core/model/Task.java | 5
zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java | 10 ++
zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java | 12 +-
zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java | 6
zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java | 27 +++-
zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java | 5 +
zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java | 21 ++--
zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java | 1
zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java | 5
zy-acs-cv/src/main/resources/application.yml | 8
zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java | 3
zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java | 28 +++--
20 files changed, 161 insertions(+), 108 deletions(-)
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
index 74fbe57..0c5e9a4 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -13,6 +13,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -162,7 +163,7 @@
if (pakMk != null) {
staProtocol.setPakMk(pakMk.equals("Y"));
}
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
if (result) {
return R.ok();
} else {
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
index 27dd6f1..c7ddbcc 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
@@ -1,9 +1,7 @@
package com.zy.asrs.controller;
-import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.controller.requestParam.StaParam;
-import com.zy.asrs.controller.requestParam.StationRequestParam;
import com.zy.asrs.controller.responseParam.StationResponseParam;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.JobService;
@@ -12,7 +10,6 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.protocol.StaProtocol;
-import com.zy.core.properties.SlaveProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -50,9 +47,9 @@
Integer workNo = staProtocol.getWorkNo();
if (workNo != null) {
Job jobByJobNo = jobService.getJobByJobNo(workNo);
- if (jobByJobNo != null) {
- return R.ok(jobByJobNo.getJobNo());
- }
+ if (jobByJobNo != null) {
+ return R.ok(jobByJobNo.getJobNo());
+ }
}
return R.ok(list);
}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
index 7344f06..dda5a8f 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
@@ -3,7 +3,6 @@
import lombok.Data;
import java.io.Serializable;
-import java.util.List;
@Data
public class StaParam implements Serializable {
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
index 0903ef4..055f4ef 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
@@ -65,6 +65,11 @@
@TableField("job_sts")
private Integer jobSts;
/**
+ * 寮�濮嬫椂闂�
+ */
+ @TableField("start_time")
+ private Date startTime;
+ /**
* 鍏ュ簱鏃堕棿
*/
@TableField("wms_time")
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
index be5e921..ca14893 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
@@ -13,7 +13,6 @@
public interface JobMapper extends BaseMapper<Job> {
-
Job getJobByTaskNo(@Param("seqNum") String seqNum);
Job getJobByJobNo(@Param("workNo") Integer workNo);
@@ -28,5 +27,7 @@
List<Job> listJobByJobSts(@Param("jobSts") Integer jobSts);
+ List<Job> listJobToLog(@Param("jobSts") Integer jobSts, @Param("day") Integer day);
+
}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java b/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
index 1ea228c..c98a3a6 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.Job;
import com.zy.asrs.mapper.JobMapper;
import com.zy.asrs.service.JobService;
+import com.zy.core.enums.ConveyorStateType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -27,11 +28,11 @@
//@Scheduled(cron = "0 0 2 * * ?")
@Scheduled(cron = "*/5 * * * * ?")
public void autoToLog() {
- List<Job> jobs = jobMapper.listJobByJobSts(8);
+ List<Job> jobs = jobMapper.listJobByJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
for (Job job : jobs) {
jobService.saveJobLog(job);
}
- jobs = jobMapper.listJobByJobSts(2);
+ jobs = jobMapper.listJobToLog(ConveyorStateType.OUTBOUND.getStatus(), 1);
for (Job job : jobs) {
jobService.saveJobLog(job);
}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
index de72f6a..1d42622 100644
--- a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
@@ -20,7 +20,6 @@
private JobLogMapper jobLogMapper;
-
@Override
public Job getJobByTaskNo(String seqNum) {
return baseMapper.getJobByTaskNo(seqNum);
diff --git a/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java b/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
index 4ebfbba..70f2413 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
@@ -61,6 +61,7 @@
try {
// 鎵ц閰嶇疆鐨勬搷浣滃簭鍒�
for (CtuOperationConfig config : properties.getOperations()) {
+ log.info("鎵ц杈撻�佺嚎鎿嶄綔: {}", config.getType());
operationExecutor.execute(config);
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
index c465e02..9501226 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
@@ -2,22 +2,31 @@
public enum ConveyorStateType {
//鍑哄簱璁惧涓婅蛋
- OUTBOUND,
+ OUTBOUND(2),
//妯℃嫙鐢ㄦ埛
- FAKEUSER,
+ FAKEUSER(3),
//鍏ュ簱鐢宠
- APPLYLOC,
+ APPLYLOC(4),
//鍏ュ簱璁惧涓婅蛋
- INBOUND,
- //娓呴櫎杈撻�佺嚎涓婄殑淇″彿
- CLEARSIGNAL,
+ INBOUND(5),
//鍙戦�佷换鍔$粰RCS
- SENDTASK;
+ SENDTASK(7),
+ //娓呴櫎杈撻�佺嚎涓婄殑淇″彿
+ CLEARSIGNAL(8),
+ ;
+ private int status;
- ConveyorStateType() {
-
+ ConveyorStateType(int status) {
+ this.status = status;
}
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java
new file mode 100644
index 0000000..9a58b2b
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java
@@ -0,0 +1,10 @@
+package com.zy.core.enums;
+
+public enum TaskType {
+
+ READ,
+ WRITE,
+ ;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/model/Task.java b/zy-acs-cv/src/main/java/com/zy/core/model/Task.java
index c3cf784..d87dd79 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/model/Task.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/model/Task.java
@@ -1,5 +1,6 @@
package com.zy.core.model;
+import com.zy.core.enums.TaskType;
import lombok.Data;
/**
@@ -8,14 +9,14 @@
@Data
public class Task {
- private Integer step;
+ private TaskType step;
private Object data;
public Task() {
}
- public Task(Integer step, Object data) {
+ public Task(TaskType step, Object data) {
this.step = step;
this.data = data;
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
index a2f6e6a..268d169 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -65,28 +65,26 @@
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
if (staProtocol == null) {
- return;
+ continue;
} else {
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isLoading()) {
- return;
+ continue;
}
if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
String barcode = barcodeThread.getBarcode();
- if (Cools.isEmpty(barcode)) {
- log.info("鏈壂鍒扮爜鍊硷細{}", barcode);
+ if (barcodeThread == null || Cools.isEmpty(barcode)) {
+ log.error("绔欑偣锛歿}锛屾湭鎵埌鐮佸�硷細{}", staProtocol.getSiteId(), barcode);
return;
}
+ // 9991鏄┖鏉匡紝9992鏄弧鏉�
if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) {
Job job = jobService.getJobByBarcode(barcode);
+ // 鐢宠鍏ュ簱
if (job == null || (job != null && job.getJobSts() == 8)) {
- ApplyInDto applyInDto = new ApplyInDto();
- applyInDto.setStaNo(inSta.getStaNo() + "");
- applyInDto.setBarcode(barcode);
- applyInDto.setFull(staProtocol.getWorkNo() == 9992);
- ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyInDto);
+ ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyIn(barcode, inSta.getStaNo() + "", staProtocol));
if (locOfWms != null) {
job = new Job();
job.setLoc(locOfWms.getLocNo());
@@ -95,11 +93,11 @@
job.setBarcode(barcode);
job.setStaNo(inSta.getTargetSta() + "");
job.setJobNo(wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type));
- job.setJobSts(4);
+ job.setJobSts(ConveyorStateType.APPLYLOC.getStatus());
job.setWmsTime(new Date());
jobService.insert(job);
} else {
- log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝{}", applyInDto);
+ log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝鏉$爜锛歿},绔欑偣锛歿}", barcode, inSta.getStaNo());
}
}
}
@@ -111,4 +109,12 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
+
+ private ApplyInDto applyIn(String barcode, String staNo, StaProtocol staProtocol) {
+ ApplyInDto applyInDto = new ApplyInDto();
+ applyInDto.setStaNo(staNo);
+ applyInDto.setBarcode(barcode);
+ applyInDto.setFull(staProtocol.getWorkNo() == 9992);
+ return applyInDto;
+ }
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
index 29b6f55..20952ec 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
@@ -1,13 +1,12 @@
package com.zy.core.operation.handler;
import com.zy.asrs.entity.Job;
-import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
-import com.zy.asrs.service.WrkLastnoService;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -33,12 +32,6 @@
@Autowired
- private WrkLastnoService wrkLastnoService;
-
- @Autowired
- private CtuMainService ctuMainService;
-
- @Autowired
private JobService jobService;
@@ -58,24 +51,24 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(takeSta.getStaNo());
if (staProtocol == null) {
- return;
+ continue;
} else {
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (staProtocol.isLoading()) {
- return;
+ continue;
}
if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
- if (job != null && job.getJobSts() == 7) {
+ if (job != null && job.getJobSts() == ConveyorStateType.SENDTASK.getStatus()) {
//String s = ctuMainService.checkStationStatus(takeSta.getStaNo());
staProtocol.setWorkNo(0);
staProtocol.setStaNo(0);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
if (result) {
log.info("" + config.getMark() + "绔欑偣娓呯┖澶辫触锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
- job.setJobSts(8);
+ job.setJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
jobService.updateById(job);
}
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
index 4c3e724..20ebcbd 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
@@ -1,13 +1,12 @@
package com.zy.core.operation.handler;
import com.zy.asrs.entity.Job;
-import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
-import com.zy.asrs.service.WrkLastnoService;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.operation.OperationHandler;
@@ -28,7 +27,6 @@
@Autowired
private SlaveProperties slaveProperties;
-
@Autowired
@@ -60,7 +58,7 @@
Job jobByWorkNo = jobService.getJobByJobNo(staProtocol.getWorkNo());
if (jobByWorkNo != null && jobByWorkNo.getJobSts() == 1) {
staProtocol.setStaNo(1006);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
if (result) {
jobByWorkNo.setJobSts(3);
jobByWorkNo.setMemo("妯℃嫙鎸夋寜閽�");
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
index ce272ca..e48aa59 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -10,6 +10,7 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -22,6 +23,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.Date;
/**
* 鍏ュ簱
@@ -60,37 +63,35 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
if (staProtocol == null) {
- return;
+ continue;
} else {
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isLoading()) {
- return;
+ continue;
}
if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
String barcode = barcodeThread.getBarcode();
- if (Cools.isEmpty(barcode)){
- return;
+ if (Cools.isEmpty(barcode)) {
+ continue;
}
Job job = jobService.getJobByBarcode(barcode);
if (job != null) {
Integer targetSta = inSta.getTargetSta();
staProtocol.setWorkNo(job.getJobNo());
staProtocol.setStaNo(targetSta);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
if (result) {
- job.setJobSts(5);
+ job.setJobSts(ConveyorStateType.INBOUND.getStatus());
+ job.setStartTime(new Date());
if (!jobService.updateById(job)) {
throw new CoolException("鏇存柊杈撻�佺嚎浠诲姟澶辫触," + " - " + staProtocol.getWorkNo());
}
- log.info("" + config.getMark() + "鍏ュ簱鍓嶈繘锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
+ log.info("鍏ュ簱鍓嶈繘锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
}
- } else {
- // 妯℃嫙鎿嶄綔閫昏緫
}
- //}
}
}
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
index 34edab6..8473dab 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
@@ -6,11 +6,11 @@
import com.zy.asrs.service.CtuMainService;
import com.zy.asrs.service.JobService;
import com.zy.asrs.service.WrkLastnoService;
-import com.zy.common.utils.News;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ConveyorStateType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -65,9 +65,17 @@
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isLoading()) {
+ if (staProtocol.getWorkNo() > 0) {
+ log.error("杈撻�佺嚎涓婃湁浠诲姟鍙锋棤璐э紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+ }
continue;
}
+
if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0) {
+ if (staProtocol.isInEnable()) {
+ log.error("娌℃湁鍙叆淇″彿锛歿}", staProtocol.getSiteId());
+ continue;
+ }
String seqNum = ctuMainService.checkStationStatus(releaseSta.getStaNo());
if (seqNum != null) {
Job jobBySeqNum = jobService.getJobByTaskNo(seqNum);
@@ -79,23 +87,20 @@
Job job = new Job();
job.setTaskNo(seqNum);
job.setJobNo(workNo);
- job.setJobSts(2);
+ job.setJobSts(ConveyorStateType.OUTBOUND.getStatus());
if (!jobService.insert(job)) {
throw new CoolException("鎻掑叆杈撻�佺嚎浠诲姟澶辫触," + jobBySeqNum + " - " + workNo);
}
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
if (result) {
log.info("杈撻�佺嚎涓嬪彂锛歿},{}", staProtocol.getWorkNo(), releaseSta.getTargetSta());
} else {
- News.error("" + config.getMark() + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
}
} else {
- News.errorNoLog("" + config.getMark() + " - 绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 璋冪敤RCS妫�楠屾湭閫氳繃,绔欑偣锛�" + staProtocol.getSiteId());
+ log.info("绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 璋冪敤RCS妫�楠屾湭閫氳繃,绔欑偣锛歿}", staProtocol.getSiteId());
}
- } else {
- News.errorNoLog("" + config.getMark() + " - 绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 鑷姩淇″彿锛�" + staProtocol.isLoading() + "銆佸彲鍏ヤ俊鍙凤細" + staProtocol.isInEnable() + "銆佺┖鏉夸俊鍙凤細" + staProtocol.isEmptyMk() + "銆佸伐浣滃彿锛�" + staProtocol.getWorkNo() + "銆侀攣瀹氭爣璁�" + staProtocol.isPakMk());
}
}
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
index e30dbc0..760106d 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
@@ -1,6 +1,5 @@
package com.zy.core.operation.handler;
-import com.core.common.DateUtils;
import com.zy.asrs.controller.vo.OpenBusSubmitParam;
import com.zy.asrs.controller.vo.TaskDto;
import com.zy.asrs.entity.Job;
@@ -58,37 +57,35 @@
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(inSta.getTargetSta());
if (staProtocol == null) {
- return;
+ continue;
} else {
staProtocol = staProtocol.clone();
}
// 鍒ゆ柇鏄惁婊¤冻鏉′欢
if (!staProtocol.isLoading()) {
- return;
+ if (staProtocol.getWorkNo() > 0) {
+ log.error("杈撻�佺嚎涓婃湁浠诲姟鍙锋棤璐э紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+ }
+ continue;
}
- if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
+ if (staProtocol.getWorkNo() == 0) {
+ log.error("杈撻�佺嚎涓婃湁璐ф棤浠诲姟鍙凤紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+ continue;
+ }
+ if (staProtocol.isAutoing()) {
Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
- if (job != null && job.getJobSts() == 5) {
- OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
- openBusSubmitParam.setBatchNo(job.getBatchNo());
- List<TaskDto> taskList = new ArrayList<>();
- TaskDto taskDto = new TaskDto();
- taskDto.setTaskNo(job.getTaskNo());
- taskDto.setBatchNo(job.getBatchNo());
- taskDto.setOriSta(job.getStaNo());
- taskDto.setDestLoc(job.getLoc());
- taskDto.setPriority(1);
- taskList.add(taskDto);
- openBusSubmitParam.setTasks(taskList);
- if (ctuMainService.sendTask(openBusSubmitParam)) {
- job.setJobSts(7);
+ if (job != null && job.getJobSts() == ConveyorStateType.INBOUND.getStatus()) {
+ if (ctuMainService.sendTask(process(job))) {
+ job.setJobSts(ConveyorStateType.SENDTASK.getStatus());
job.setRcsTime(new Date());
jobService.updateById(job);
- log.info("浠诲姟鍙戦�佺粰RCS鎴愬姛," + job.getTaskNo() + " - " + job.getJobNo());
+ log.info("浠诲姟鍙戦�佺粰RCS鎴愬姛,WMS浠诲姟鍙凤細{},杈撻�佺嚎宸ヤ綔鍙凤細{}", job.getTaskNo(), job.getJobNo());
} else {
- log.info("浠诲姟鍙戦�佺粰RCS澶辫触," + job.getTaskNo() + " - " + job.getJobNo());
+ log.info("浠诲姟鍙戦�佺粰RCS澶辫触,WMS浠诲姟鍙凤細{},杈撻�佺嚎宸ヤ綔鍙凤細{}", job.getTaskNo(), job.getJobNo());
}
}
+ } else {
+ log.error("杈撻�佺嚎涓鸿嚜鍔紝闇�瑕佸紑鍚細{}", staProtocol.getSiteId());
}
}
}
@@ -97,4 +94,25 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
+
+ /**
+ * 澶勭悊浠诲姟
+ *
+ * @param job
+ * @return
+ */
+ private OpenBusSubmitParam process(Job job) {
+ OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
+ openBusSubmitParam.setBatchNo(job.getBatchNo());
+ List<TaskDto> taskList = new ArrayList<>();
+ TaskDto taskDto = new TaskDto();
+ taskDto.setTaskNo(job.getTaskNo());
+ taskDto.setBatchNo(job.getBatchNo());
+ taskDto.setOriSta(job.getStaNo());
+ taskDto.setDestLoc(job.getLoc());
+ taskDto.setPriority(1);
+ taskList.add(taskDto);
+ openBusSubmitParam.setTasks(taskList);
+ return openBusSubmitParam;
+ }
}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 2a65490..833976c 100644
--- a/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -17,6 +17,7 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -55,7 +56,6 @@
}};
-
public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
add(1);
}};
@@ -86,18 +86,18 @@
connect();
while (true) {
try {
- int step = 1;
+ TaskType step = TaskType.READ;
Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
if (task != null) {
step = task.getStep();
}
switch (step) {
// 璇绘暟鎹�
- case 1:
+ case READ:
read();
break;
// 鍐欐暟鎹� ID+鐩爣绔�
- case 2:
+ case WRITE:
write((StaProtocol) task.getData());
break;
default:
@@ -209,7 +209,7 @@
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
if (Cools.isEmpty(barcode)) {
barcodeThread.clearBarcode();
- }else {
+ } else {
if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
barcodeThread.setBarcode(barcode);
log.info("鏂欑鐮侊細{}", barcode);
@@ -280,8 +280,6 @@
News.error("SiemensDevp" + " - 4" + " - 鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
}
}
-
-
/**
diff --git a/zy-acs-cv/src/main/resources/application.yml b/zy-acs-cv/src/main/resources/application.yml
index b639f9f..a5e6ff6 100644
--- a/zy-acs-cv/src/main/resources/application.yml
+++ b/zy-acs-cv/src/main/resources/application.yml
@@ -31,10 +31,10 @@
mark: 10
max-retries: 3
retry-delay: 800
- - type: FAKEUSER
- mark: 20
- max-retries: 2
- retry-delay: 800
+# - type: FAKEUSER
+# mark: 20
+# max-retries: 2
+# retry-delay: 800
- type: APPLYLOC
mark: 30
max-retries: 2
diff --git a/zy-acs-cv/src/main/resources/mapper/JobMapper.xml b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
index ccb7cad..4b7aaea 100644
--- a/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
+++ b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
@@ -5,14 +5,14 @@
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.Job">
<id column="id" property="id"/>
- <result column="in_task_no" property="inTaskNo"/>
- <result column="out_task_no" property="outTaskNo"/>
+ <result column="task_no" property="taskNo"/>
<result column="batch_no" property="batchNo"/>
<result column="loc" property="loc"/>
<result column="sta_no" property="staNo"/>
<result column="barcode" property="barcode"/>
<result column="job_no" property="jobNo"/>
<result column="job_sts" property="jobSts"/>
+ <result column="start_time" property="startTime"/>
<result column="wms_time" property="wmsTime"/>
<result column="rcs_time" property="rcsTime"/>
<result column="status" property="status"/>
@@ -26,38 +26,42 @@
</resultMap>
-
<select id="getJobByTaskNo" resultMap="BaseResultMap">
select *
from cv_job
- where task_no = #{seqNum} order by id desc limit 1
+ where task_no = #{seqNum}
+ order by id desc limit 1
</select>
<select id="getJobByJobNo" resultMap="BaseResultMap">
select *
from cv_job
- where job_no = #{workNo} order by id desc limit 1
+ where job_no = #{workNo}
+ order by id desc limit 1
</select>
<select id="getJobByJobNoAndJobSts" resultMap="BaseResultMap">
select *
from cv_job
where job_no = #{workNo}
- and job_sts = #{jobSts} order by id desc limit 1
+ and job_sts = #{jobSts}
+ order by id desc limit 1
</select>
<select id="getJobByBarcodeAndJobSts" resultMap="BaseResultMap">
select *
from cv_job
where barcode = #{barcode}
- and job_sts = #{jobSts} order by id desc limit 1
+ and job_sts = #{jobSts}
+ order by id desc limit 1
</select>
<select id="getJobByBarcode" resultMap="BaseResultMap">
select *
from cv_job
- where barcode = #{barcode} order by id desc limit 1
+ where barcode = #{barcode}
+ order by id desc limit 1
</select>
@@ -67,4 +71,10 @@
where job_sts = #{jobSts}
</select>
+
+ <select id="listJobToLog" resultMap="BaseResultMap">
+ select *
+ from cv_job
+ where job_sts = #{jobSts} and DATEDIFF(NOW(), #{day}) > 1
+ </select>
</mapper>
--
Gitblit v1.9.1