drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -79,8 +79,8 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入gdPatrolTask") public R<GdPatrolTaskVO> detail(GdPatrolTaskEntity gdPatrolTask) { GdPatrolTaskEntity detail = gdPatrolTaskService.getOne(Condition.getQueryWrapper(gdPatrolTask)); return R.data(GdPatrolTaskWrapper.build().entityVO(detail)); GdPatrolTaskVO detail = gdPatrolTaskService.getPatrolTaskDetail(gdPatrolTask); return R.data(detail); } /** drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdManageDeviceMapper.xml
@@ -74,6 +74,9 @@ <if test="geom != null and geom != ''"> and ST_Intersects(md.geom, ST_GeomFromText(#{geom})) </if> <if test="deviceType != null and deviceType != '' "> and md.device_type = #{deviceType} </if> and md.is_deleted = 0 </where> </select> drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
@@ -67,4 +67,11 @@ * @return */ GdPatrolTaskVO getPatrolTaskIdById(Long patrolTaskId); /** * * @param gdPatrolTaskEntity * @return */ GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity); } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -83,6 +83,7 @@ <select id="exportGdPatrolTask" resultType="org.sxkj.gd.workorder.excel.GdPatrolTaskExcel"> SELECT * FROM ja_gd_patrol_task ${ew.customSqlSegment} </select> <select id="getPatrolTaskIdById" resultType="org.sxkj.gd.workorder.vo.GdPatrolTaskVO"> SELECT pt.*, @@ -94,6 +95,25 @@ WHERE pt.id = #{patrolTaskId} </select> <select id="getPatrolTaskDetail" resultType="org.sxkj.gd.workorder.vo.GdPatrolTaskVO"> SELECT pt.*, md.airport_id as airport_id, md.height, md.longitude, md.latitude, md.nickname as device_name, wo.work_order_name FROM ja_gd_patrol_task pt left join ja_gd_work_order wo on pt.work_order_id = wo.id left join ja_gd_manage_device md on md.id = pt.device_id WHERE pt.id = #{id} </select> <!-- 自定义更新工单状态语句 --> <update id="updateWorkOrderById" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity"> UPDATE ja_gd_work_order drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/param/GdManageDevicePageParam.java
@@ -56,4 +56,7 @@ @ApiModelProperty(value = "设备位置") private String location; @ApiModelProperty(value = "设备类型(0机场,1无人机)") private String deviceType; } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -17,14 +17,15 @@ package org.sxkj.gd.workorder.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity; import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel; import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam; import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam; import org.sxkj.gd.workorder.vo.GdPatrolTaskVO; import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import java.util.List; /** @@ -89,4 +90,10 @@ */ R pushXingtuFlyTask(Long patrolTaskId); /** * 获取巡查任务详情 * @param gdPatrolTaskEntity * @return */ GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity); } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
@@ -192,6 +192,7 @@ if (parent != null) { entity.setLongitude(parent.getLongitude()); entity.setLatitude(parent.getLatitude()); entity.setHeight(parent.getHeight()); } } return saveOrUpdateDevice(entity); drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -23,19 +23,19 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.oss.model.BladeFile; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.FileUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.sxkj.common.constant.WordOrderConstant; import org.sxkj.common.utils.OrderNumUtils; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.FileUtil; import org.springblade.core.tool.utils.StringUtil; import org.sxkj.gd.common.GdMultipartFileUtil; import org.sxkj.gd.workorder.dto.GdXingtuFlyTaskSaveDTO; import org.sxkj.gd.workorder.entity.GdManageDeviceEntity; import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity; import org.sxkj.gd.workorder.entity.GdTaskResultEntity; import org.sxkj.gd.workorder.entity.GdWorkOrderEntity; @@ -47,13 +47,12 @@ import org.sxkj.gd.workorder.mapper.GdPatrolTaskMapper; import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam; import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam; import org.sxkj.gd.workorder.service.IGdPatrolTaskService; import org.sxkj.gd.workorder.service.IGdManageDeviceService; import org.sxkj.gd.workorder.service.IGdPatrolTaskService; import org.sxkj.gd.workorder.service.IGdTaskResultService; import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; import org.sxkj.gd.workorder.utils.GdPatrolReportWordUtil; import org.sxkj.gd.workorder.vo.GdPatrolTaskVO; import org.sxkj.gd.common.GdMultipartFileUtil; import org.sxkj.gd.xingtu.JianXingtuApiService; import org.sxkj.resource.entity.Attach; import org.sxkj.resource.feign.IAttachClient; @@ -67,8 +66,6 @@ import java.io.IOException; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; /** * 巡查任务表 服务实现类 @@ -690,4 +687,9 @@ param.setTaskType("航线飞行"); return param; } @Override public GdPatrolTaskVO getPatrolTaskDetail(GdPatrolTaskEntity gdPatrolTaskEntity) { return baseMapper.getPatrolTaskDetail(gdPatrolTaskEntity); } } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
@@ -141,4 +141,13 @@ @ApiModelProperty(value = "机场id") private String airportId; @ApiModelProperty(value = "高度") private String height; @ApiModelProperty(value = "经度") private String longitude; @ApiModelProperty(value = "纬度") private String latitude; } drone-service/drone-gd/src/main/java/org/sxkj/gd/xingtu/JianXingtuApiService.java
@@ -40,7 +40,8 @@ /** * 获取星图登录token * @return token * * @return token */ @SneakyThrows public String getToken() { @@ -82,6 +83,7 @@ /** * 设备列表-无人机 * * @param name 名称 * @return 接口响应 */ @@ -92,6 +94,7 @@ /** * 设备列表-机巢 * * @param name 名称 * @return 接口响应 */ @@ -102,6 +105,7 @@ /** * 新增飞行任务 * * @param param 请求参数 * @return 接口响应 */ @@ -123,24 +127,30 @@ if (StringUtil.isBlank(token) || "获取token失败".equals(token)) { return R.fail("获取token失败"); } HttpHeaders headers = new HttpHeaders(); headers.set("authorization", token); log.info("请求外部接口: {} {}", url, body); HttpEntity<Object> entity = new HttpEntity<>(body, headers); ResponseEntity<R> response = restTemplate.exchange(url, HttpMethod.POST, entity, R.class); log.info("响应外部接口: {}", response); if (response.getStatusCode().is2xxSuccessful()) { R responseBody = response.getBody(); if (responseBody != null) { return responseBody; try { HttpHeaders headers = new HttpHeaders(); headers.set("authorization", token); log.info("请求外部接口: {} {}", url, body); HttpEntity<Object> entity = new HttpEntity<>(body, headers); ResponseEntity<R> response = restTemplate.exchange(url, HttpMethod.POST, entity, R.class); log.info("响应外部接口: {}", response); if (response.getStatusCode().is2xxSuccessful()) { R responseBody = response.getBody(); if (responseBody != null) { return responseBody; } return R.fail("接口返回为空"); } return R.fail("接口返回为空"); return R.fail("请求外部接口失败"); } catch (Exception e) { log.error("请求外部接口异常: ", e); return R.fail("请求外部接口异常: " + e.getMessage()); } return R.fail("请求外部接口失败"); } /** * 解析JSON字符串为Map * * @param input JSON字符串 * @return 解析后的Map */