|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | public Boolean removeByAgvId(Long agvId) { | 
|---|
|  |  |  | return baseMapper.delete(new LambdaQueryWrapper<AgvDetail>().eq(AgvDetail::getAgvId, agvId)) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Boolean isPowerLoss(Agv agv, AgvDetail agvDetail, AgvModel agvModel) { | 
|---|
|  |  |  | if (null == agvDetail) { | 
|---|
|  |  |  | agvDetail = this.selectMajorByAgvId(agv.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null == agvModel) { | 
|---|
|  |  |  | agvModel = agvModelService.getByAgvId(agv.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|