1
zhang
12 小时以前 286eadc0913fe9974ab2f2fd188fb707dc16ad40
zy-acs-cv/src/main/java/com/zy/core/operation/handler/InOperationHandler.java
@@ -1,5 +1,6 @@
package com.zy.core.operation.handler;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.CtuMainService;
@@ -9,17 +10,21 @@
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;
import com.zy.core.operation.OperationHandler;
import com.zy.core.properties.CtuOperationConfig;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.SiemensDevpThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
/**
 * 入库
@@ -58,39 +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()) {
                        //StaProtocol targetStaProtocol = devpThread.getStation().get(inSta.getTargetSta());
                        //if (targetStaProtocol.getWorkNo() == 0 && targetStaProtocol.isAutoing() && !targetStaProtocol.isLoading()) {
                        Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(), 4);
                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
                        String barcode = barcodeThread.getBarcode();
                        if (Cools.isEmpty(barcode)) {
                            continue;
                        }
                        Job job = jobService.getJobByBarcode(barcode);
                        if (job != null) {
                            Integer workNo = staProtocol.getWorkNo();
                            Integer targetSta = inSta.getTargetSta();
                            staProtocol.setWorkNo(0);
                            staProtocol.setStaNo(0);
                            MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                            Thread.sleep(1500L);
                            staProtocol.setWorkNo(workNo);
                            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 {
                            // 模拟操作逻辑
                        }
                        //}
                    }
                }
            }