| 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) { | 
| //            //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; | 
|     } | 
| } |