|  |  |  | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.Agv; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.AgvDetail; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.AgvModel; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.Code; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.mapper.AgvDetailMapper; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.AgvDetailService; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.AgvModelService; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.AgvService; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.CodeService; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | private AgvService agvService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AgvModelService agvModelService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CodeService codeService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AgvDetail selectMajorByAgvId(Long agvId) { | 
|---|
|  |  |  | return this.baseMapper.selectMajorByAgvId(agvId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AgvDetail selectByAgvId(Long agvId) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public AgvDetail selectByAgvNo(String agvNo) { | 
|---|
|  |  |  | Agv agv = agvService.selectByUuid(agvNo); | 
|---|
|  |  |  | return this.selectByAgvId(agv.getId()); | 
|---|
|  |  |  | return this.selectByAgvId(agvService.getAgvId(agvNo)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean updatePosCodeByAgvId(Long agvId, Long codeId) { | 
|---|
|  |  |  | return this.baseMapper.updatePosCodeByAgvId(agvId, codeId) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean updateUnPosCode(Long id, Long codeId) { | 
|---|
|  |  |  | return this.baseMapper.updateUnPosCode(id, codeId) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean updateAngleByAgvId(Long agvId, Double angle) { | 
|---|
|  |  |  | return this.baseMapper.updateAngleByAgvId(agvId, angle); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean isPowerLoss(Agv agv, AgvDetail agvDetail, AgvModel agvModel) { | 
|---|
|  |  |  | if (null == agvDetail) { | 
|---|
|  |  |  | agvDetail = this.selectByAgvId(agv.getId()); | 
|---|
|  |  |  | agvDetail = this.selectMajorByAgvId(agv.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null == agvModel) { | 
|---|
|  |  |  | agvModel = agvModelService.getById(agv.getAgvModel()); | 
|---|
|  |  |  | agvModel = agvModelService.getByAgvId(agv.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return agvDetail.getVol() < Math.min(agv.getChargeLine(), agvModel.getLowBattery()); | 
|---|
|  |  |  | if (null == agv.getChargeLine()) { | 
|---|
|  |  |  | return agvDetail.getVol() < agvModel.getLowBattery(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return agvDetail.getVol() < Math.max(agv.getChargeLine(), agvModel.getLowBattery()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Code getCurrentCode(Long agvId) { | 
|---|
|  |  |  | AgvDetail agvDetail = this.selectMajorByAgvId(agvId); | 
|---|
|  |  |  | if (null == agvDetail) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Long recentCode = agvDetail.getRecentCode(); | 
|---|
|  |  |  | if (null == recentCode) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return codeService.getCacheById(recentCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|