| | |
| | | |
| | | 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.common.utils.SecurityUtils.getUserId; |
| | | 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.*; |
| | |
| | | */ |
| | | private void checkRouteMissionStatus(ArdRouteInfo ardRouteInfo,String type){ |
| | | ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(ardRouteInfo.getMissionId()); |
| | | switch(type){ |
| | | case "1": |
| | | validateForCreate(mission); |
| | | break; |
| | | case "2": |
| | | bindRoute(mission, ardRouteInfo); |
| | | break; |
| | | case "3": |
| | | executeMission(mission); |
| | | break; |
| | | default: |
| | | throw new RuntimeException("不支持的操作类型!!!"); |
| | | if (mission != null){ |
| | | switch(type){ |
| | | case "1": |
| | | validateForCreate(mission); |
| | | break; |
| | | case "2": |
| | | bindRoute(mission,ardRouteInfo); |
| | | break; |
| | | case "3": |
| | | executeMission(mission,ardRouteInfo); |
| | | break; |
| | | default: |
| | | 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 (null != route){ |
| | | // 判断是否循环航线 |
| | | if ("0".equals(route.getIsLoop())){ |
| | | deleteArdRouteInfoById(id); |
| | | } |
| | | checkRouteMissionStatus(route,"3"); |
| | | } |
| | | WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn); |