package com.zy.asrs.service.impl;
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.core.common.Cools;
|
import com.core.exception.CoolException;
|
import com.zy.asrs.entity.BasCrnp;
|
import com.zy.asrs.entity.BasDevp;
|
import com.zy.asrs.mapper.BasCrnpMapper;
|
import com.zy.asrs.service.BasCrnpService;
|
import com.zy.asrs.service.BasDevpService;
|
import com.zy.asrs.service.WrkMastService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
@Slf4j
|
@Service("basCrnpService")
|
public class BasCrnpServiceImpl extends ServiceImpl<BasCrnpMapper, BasCrnp> implements BasCrnpService {
|
|
@Autowired
|
private WrkMastService wrkMastService;
|
@Autowired
|
private BasDevpService basDevpService;
|
|
@Override
|
public BasCrnp checkSiteStatus(Integer crnId) {
|
BasCrnp crnp = this.selectById(crnId);
|
if (Cools.isEmpty(crnp)) {
|
throw new CoolException(crnId + "号堆垛机不存在");
|
}
|
if ("N".equals(crnp.getInEnable())) {
|
throw new CoolException(crnId + "堆垛机不可入");
|
}
|
if ("N".equals(crnp.getOutEnable())) {
|
throw new CoolException(crnId + "堆垛机不可出");
|
}
|
return crnp;
|
}
|
|
@Override
|
public boolean checkSiteError(Integer crnNo, boolean pakin) {
|
BasCrnp crnp = this.selectById(crnNo);
|
if (Cools.isEmpty(crnp)) {
|
// log.error("{}号堆垛机不存在", crnNo);
|
return false;
|
}
|
if (crnp.getCrnErr() != null && crnp.getCrnSts() != 3){
|
log.error("{}号堆垛机非自动连线状态,无法作业!", crnNo);
|
return false;
|
}
|
if (crnp.getCrnErr() != null) {
|
if (crnp.getCrnErr() != 0) {
|
log.error("{}号堆垛机异常,异常码{}", crnNo, crnp.getCrnErr());
|
return false;
|
}
|
}
|
|
if (pakin) {
|
//控制入库暂存数,防止主干道堵塞,2022-10-23 ADD 未实装
|
int maxCount = 6;
|
int storeCount = wrkMastService.getStoreCount(crnNo);
|
|
if(storeCount >= maxCount && crnNo == 1){
|
log.error("{}号堆垛机暂存数已满!", crnNo);
|
return false;
|
}
|
|
if ("N".equals(crnp.getInEnable())) {
|
log.error("{}号堆垛机不可入", crnNo);
|
return false;
|
}
|
} else {
|
if ("N".equals(crnp.getOutEnable())) {
|
log.error("{}号堆垛机不可出", crnNo);
|
return false;
|
}
|
}
|
|
return true;
|
}
|
}
|