| | |
| | | |
| | | import com.ard.common.exception.ControlException; |
| | | import com.ard.common.utils.DateUtils; |
| | | import com.ard.common.utils.SecurityUtils; |
| | | import com.ard.common.utils.file.FileUtils; |
| | | import com.ard.common.utils.uuid.IdUtils; |
| | | import com.ard.data.noflyzone.domain.ArdNoFlyZone; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import static com.ard.common.utils.SecurityUtils.getUsername; |
| | | import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK; |
| | | import static com.ard.route.util.InitializationUtils.divided_23; |
| | | import static com.ard.route.util.ToolUtils.*; |
| | |
| | | */ |
| | | @Override |
| | | public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) { |
| | | if ("3".equals(ardRouteInfo.getType())) { |
| | | checkRouteMissionStatus(ardRouteInfo,"1"); |
| | | checkRouteMissionStatus(ardRouteInfo,"2"); |
| | | } |
| | | checkRouteMissionStatus(ardRouteInfo,"1"); |
| | | checkRouteMissionStatus(ardRouteInfo,"2"); |
| | | ardRouteInfo.setId(IdUtils.simpleUUID()); |
| | | ardRouteInfo.setCreateTime(DateUtils.getNowDate()); |
| | | ardRouteInfo.setUpdateTime(DateUtils.getNowDate()); // 修改时间,用于排序 |
| | |
| | | validateForCreate(mission); |
| | | break; |
| | | case "2": |
| | | bindRoute(mission, ardRouteInfo); |
| | | bindRoute(mission,ardRouteInfo); |
| | | break; |
| | | case "3": |
| | | executeMission(mission); |
| | | executeMission(mission,ardRouteInfo); |
| | | break; |
| | | default: |
| | | throw new RuntimeException("不支持的操作类型!!!"); |
| | | } |
| | | }else { |
| | | throw new RuntimeException("航线任务不存在!!!"); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | private void bindRoute(ArdRouteMission mission, ArdRouteInfo routeInfo) { |
| | | if (!"0".equals(mission.getRouteId())) { |
| | | if (mission.getRouteId() != null) { |
| | | throw new RuntimeException("航线任务下已绑定航线,不可创建新航线信息!!!"); |
| | | } |
| | | mission.setRouteId(routeInfo.getId()); |
| | | ardRouteMissionMapper.updateArdRouteMission(mission); |
| | | } |
| | | |
| | | private void executeMission(ArdRouteMission mission) { |
| | | private void executeMission(ArdRouteMission mission,ArdRouteInfo ardRouteInfo) { |
| | | if ("0".equals(mission.getExecuteStatus())) { |
| | | mission.setRouteId(ardRouteInfo.getId()); |
| | | mission.setExecuteStatus("1"); |
| | | mission.setExecuteBy(getUsername()); |
| | | mission.setExecuteName(SecurityUtils.getUsername()); |
| | | mission.setExecuteTime(DateUtils.getNowDate()); |
| | | mission.setUpdateTime(DateUtils.getNowDate()); |
| | | ardRouteMissionMapper.updateArdRouteMission(mission); |
| | |
| | | @Override |
| | | public Boolean routeBegins(String id,String boxSn) { |
| | | ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(id); |
| | | // 判断是否循环航线 |
| | | if (null != route && "0".equals(route.getIsLoop())){ |
| | | deleteArdRouteInfoById(id); |
| | | if ("3".equals(route.getType())) { |
| | | checkRouteMissionStatus(route,"3"); |
| | | if (null != route){ |
| | | // 判断是否循环航线 |
| | | if ("0".equals(route.getIsLoop())){ |
| | | deleteArdRouteInfoById(id); |
| | | } |
| | | checkRouteMissionStatus(route,"3"); |
| | | } |
| | | WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn); |
| | | tyService.wayLineBegin(wayLineBeginDTO); |