| | |
| | | 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) { |
| | |
| | | throw new CoolException(crnId + "号堆垛机不存在"); |
| | | } |
| | | if ("N".equals(crnp.getInEnable())) { |
| | | throw new CoolException("堆垛机不可入"); |
| | | throw new CoolException(crnId + "堆垛机不可入"); |
| | | } |
| | | if ("N".equals(crnp.getOutEnable())) { |
| | | throw new CoolException("堆垛机不可出"); |
| | | 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) { |
| | | //TODO控制入库暂存数,防止主干道堵塞,2022-5-24 ADD |
| | | int staNo = 0; |
| | | switch (crnNo){ |
| | | case 1: |
| | | staNo = 123; |
| | | break; |
| | | case 2: |
| | | staNo = 121; |
| | | break; |
| | | case 3: |
| | | staNo = 119; |
| | | break; |
| | | case 4: |
| | | staNo = 117; |
| | | break; |
| | | case 5: |
| | | staNo = 115; |
| | | break; |
| | | case 6: |
| | | staNo = 113; |
| | | break; |
| | | case 7: |
| | | staNo = 111; |
| | | break; |
| | | case 8: |
| | | staNo = 109; |
| | | break; |
| | | case 9: |
| | | staNo = 106; |
| | | break; |
| | | case 10: |
| | | staNo = 105; |
| | | break; |
| | | case 11: |
| | | staNo = 103; |
| | | break; |
| | | case 12: |
| | | staNo = 101; |
| | | break; |
| | | } |
| | | int maxCount = 2; |
| | | BasDevp devp = basDevpService.selectById(staNo); |
| | | if(!Cools.isEmpty(devp)){ |
| | | maxCount = devp.getInQty(); |
| | | } |
| | | |
| | | int storeCount = wrkMastService.getStoreCount(crnNo); |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | } |