package com.zy.asrs.service.impl;
|
|
import com.core.common.Cools;
|
import com.zy.core.cache.SlaveConnection;
|
import com.zy.core.enums.SlaveType;
|
import com.zy.core.model.DevpSlave;
|
import com.zy.core.model.protocol.StaProtocol;
|
import com.zy.core.properties.SlaveProperties;
|
import com.zy.core.thread.BarcodeThread;
|
import com.zy.core.thread.DevpThread;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
/**
|
* Created by vincent on 2020/8/6
|
*/
|
@Service("mainService")
|
public class MainServiceImpl {
|
|
@Autowired
|
private SlaveProperties slaveProperties;
|
|
/**
|
* 入库站,根据条码扫描生成入库工作档,工作状态1
|
*/
|
@Transactional
|
public void generateStoreWrkFile() {
|
// 根据输送线plc遍历
|
for (DevpSlave devp : slaveProperties.getDevp()) {
|
// 遍历入库口
|
for (DevpSlave.InSta inSta : devp.getInSta()) {
|
// 获取条码
|
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
|
String barcode = barcodeThread.getBarcode();
|
// 获取入库站信息
|
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
|
StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
|
// 判断是否满足入库条件
|
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInreq1()
|
&& !staProtocol.isEmptyMk() && staProtocol.isInreq1() && staProtocol.getWorkNO() ==0
|
&& !Cools.isEmpty(barcode)) {
|
// 生成工作档
|
|
}
|
|
|
}
|
|
}
|
|
}
|
|
}
|