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.mapper.BasCrnpMapper; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.WrkMastService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Slf4j @Service("basCrnpService") public class BasCrnpServiceImpl extends ServiceImpl implements BasCrnpService { @Autowired private WrkMastService wrkMastService; @Value("${store.bufferCount}") private int bufferCount; @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 (pakin) { //TODO控制入库暂存数,防止主干道堵塞,2022-5-24 ADD int storeCount = wrkMastService.getStoreCount(crnNo); int maxCount = bufferCount; if(crnNo==1){ maxCount = 3; } if(storeCount >= maxCount){ 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; } } // if (crnp.getCrnSts() != null) { // if (crnp.getCrnSts() == 10) { // log.error("{}号堆垛机状态为10.错误", crnNo); // return false; // } // } if (crnp.getCrnErr() != null) { if (crnp.getCrnErr() != 0) { log.error("{}号堆垛机异常,异常码{}", crnNo, crnp.getCrnErr()); return false; } } return true; } }