| | |
| | | package com.zy.acs.manager.core.service; |
| | | |
| | | import com.zy.acs.common.utils.News; |
| | | import com.zy.acs.framework.exception.CoolException; |
| | | import com.zy.acs.manager.manager.entity.Agv; |
| | | import com.zy.acs.manager.manager.entity.Jam; |
| | | import com.zy.acs.manager.manager.entity.Task; |
| | | import com.zy.acs.manager.manager.enums.TaskTypeType; |
| | | import com.zy.acs.manager.system.service.ConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | @Autowired |
| | | private MainService mainService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | public void buildMajorTask(Long agvId, List<Task> taskList) { |
| | | boolean lockAcquired = false; |
| | |
| | | mainService.buildMajorTask(agvId, taskList); |
| | | } catch (Exception e) { |
| | | |
| | | log.error("MainLockWrapService.buildMajorTask[task]", e); |
| | | News.error("MainLockWrapService.buildMajorTask[task]", e); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } finally { |
| | | if (lockAcquired) { |
| | |
| | | if (!(lockAcquired = this.lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS))) { |
| | | throw new CoolException("failed to generate [minor task] actions, cause can not acquire lock ..."); |
| | | } |
| | | // log.info("buildMinorTask AGV[{}] lock time: {}", agv.getUuid(), System.currentTimeMillis()); |
| | | |
| | | return mainService.buildMinorTask(agvId, taskType, destination, jam); |
| | | } catch (Exception e) { |
| | | log.error("MainLockWrapService.buildMinorTask[task]", e); |
| | | News.error("MainLockWrapService.buildMinorTask[task]", e); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | |
| | | return false; |
| | |
| | | if (lockAcquired) { |
| | | this.lock.unlock(); |
| | | } |
| | | // log.info("buildMinorTask AGV[{}] unlock time: {}", agv.getUuid(), System.currentTimeMillis()); |
| | | // News.info("buildMinorTask AGV[{}] unlock time: {}", agv.getUuid(), System.currentTimeMillis()); |
| | | } |
| | | } |
| | | |