From ea3f41f3bc3d986324ddf4a6fe95d4d55f4b6f6e Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Wed, 23 Apr 2025 11:56:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[feat]=201=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E6=9F=A5=E8=AF=A2=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/sample/wayline/service/impl/SDKWaylineService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java index 7fc2a21..ddbe4f4 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java @@ -114,7 +114,7 @@ public class SDKWaylineService extends AbstractWaylineService { } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(DeviceQrtzFileEntity::getStatus, DeviceQrtzConstants.QRTZ_FILE_STATUS_1).eq(DeviceQrtzFileEntity::getDeviceSn,response.getGateway()); + wrapper.eq(DeviceQrtzFileEntity::getStatus, DeviceQrtzConstants.QRTZ_FILE_STATUS_2).eq(DeviceQrtzFileEntity::getDeviceSn,response.getGateway()); List fileEntityList = deviceQrtzFileMapper.selectList(wrapper); if (FlighttaskStatusEnum.OK != statusEnum) { job.setCode(eventsReceiver.getResult().getCode()); From 20571caf192cd66e5fb7f765ae00ed7b0a2360be Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Thu, 24 Apr 2025 10:43:30 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=201=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=AF=94=E5=AF=B9=E9=A2=84=E8=AD=A6=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/system/api/RemotePostService.java | 2 ++ .../org/dromara/workflow/api/RemoteWorkflowService.java | 6 +++--- .../src/main/java/org/dromara/system/domain/AiLabel.java | 5 +++++ .../main/java/org/dromara/system/domain/bo/AiLabelBo.java | 2 ++ .../main/java/org/dromara/system/domain/vo/AiLabelVo.java | 5 +++++ .../org/dromara/system/dubbo/RemotePostServiceImpl.java | 8 ++++++++ .../java/org/dromara/system/service/IAiLabelService.java | 2 ++ .../dromara/system/service/impl/AiLabelServiceImpl.java | 5 +++++ .../dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java | 4 +--- 9 files changed, 33 insertions(+), 6 deletions(-) diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java b/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java index 353a641..1a32148 100644 --- a/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java @@ -8,4 +8,6 @@ public interface RemotePostService { List listPost(); String getPostCode(String labelCode); + + String getFlowCode(String labelCode); } diff --git a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java index a231e4b..4efed88 100644 --- a/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java +++ b/dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java @@ -127,10 +127,10 @@ public interface RemoteWorkflowService { List currentTaskAllUser(Long taskId); /** - * 根据岗位code拿到预警流程编码 - * @param postCode + * 根据标签code拿到预警流程编码 + * @param labelCode * @return */ - String getFlowCode(String postCode); + String getFlowCode(String labelCode); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java b/dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java index c97754d..c6586ff 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java @@ -53,5 +53,10 @@ public class AiLabel { */ private String aiEn; + /** + * 流程code + */ + private String flowCode; + } diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelBo.java b/dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelBo.java index e8dd54f..c2d5dd3 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelBo.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelBo.java @@ -73,4 +73,6 @@ public class AiLabelBo { @JsonInclude(JsonInclude.Include.NON_EMPTY) @TableField(exist = false) private Map params = new HashMap<>(); + + private String flowCode; } diff --git a/dk-modules/system/src/main/java/org/dromara/system/domain/vo/AiLabelVo.java b/dk-modules/system/src/main/java/org/dromara/system/domain/vo/AiLabelVo.java index 4f66f15..deb1f8d 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/domain/vo/AiLabelVo.java +++ b/dk-modules/system/src/main/java/org/dromara/system/domain/vo/AiLabelVo.java @@ -59,5 +59,10 @@ public class AiLabelVo implements Serializable { */ private String aiEn; + /** + * 流程code + */ + private String flowCode; + } diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java index 5e747be..29cc998 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java @@ -7,6 +7,7 @@ import org.dromara.system.api.RemotePostService; import org.dromara.system.api.domain.vo.RemotePostVo; import org.dromara.system.domain.bo.SysPostBo; import org.dromara.system.domain.vo.SysPostVo; +import org.dromara.system.service.IAiLabelService; import org.dromara.system.service.ISysPostService; import org.springframework.stereotype.Service; @@ -27,6 +28,8 @@ public class RemotePostServiceImpl implements RemotePostService { private final ISysPostService sysPostService; + private final IAiLabelService aiLabelService; + @Override public List listPost() { List sysPostVos = sysPostService.selectPostList(new SysPostBo()); @@ -46,4 +49,9 @@ public class RemotePostServiceImpl implements RemotePostService { public String getPostCode(String labelCode) { return sysPostService.getPostCode(labelCode); } + + @Override + public String getFlowCode(String labelCode) { + return aiLabelService.getFlowCode(labelCode); + } } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java b/dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java index 1d41595..5a1f009 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java @@ -72,4 +72,6 @@ public interface IAiLabelService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); List queryListByLabel(List labelIds); + + String getFlowCode(String labelCode); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLabelServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLabelServiceImpl.java index 8ab199f..60ee64f 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLabelServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLabelServiceImpl.java @@ -143,4 +143,9 @@ public class AiLabelServiceImpl implements IAiLabelService { queryWrapper.in(!labelIds.isEmpty(),"label_id",labelIds); return this.baseMapper.selectList(queryWrapper); } + + @Override + public String getFlowCode(String labelCode) { + return this.baseMapper.selectOne(new LambdaQueryWrapper().eq(AiLabel::getLabelEn, labelCode)).getFlowCode(); + } } diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java index 68bc346..5026bc7 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java @@ -114,9 +114,7 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService { @Override public String getFlowCode(String labelCode){ //标签名称 - String postCode = remotePostService.getPostCode(labelCode); - - return flwDefinitionService.getFlowCode(postCode); + return remotePostService.getFlowCode(labelCode); } @Override From b9bbc746aabe13f077ea3403c903f6601b2c9ea5 Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Thu, 24 Apr 2025 12:20:18 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=9A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E9=A3=9E=E8=A1=8C=E6=B7=BB=E5=8A=A0=E6=9A=82=E5=81=9C?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DeviceQrtzServiceImpl.java | 101 +++++++++--------- 1 file changed, 52 insertions(+), 49 deletions(-) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java index 7b16934..62a8036 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java @@ -282,64 +282,67 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService { return; } RedisOpsUtils.setWithExpire(device.getDeviceSn(), device, 180); - - // 获取当前日期 - LocalDateTime currentDate = LocalDateTime.now(); - // 定义日期格式 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - DateTimeFormatter formatterS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 格式化当前日期 - String formattedDate = currentDate.format(formatter); - List qrtzFileEntityList = deviceQrtzFileMapper.selectList(new QueryWrapper().eq("device_sn", device.getDeviceSn()).eq("exec_date", formattedDate).eq("status", DeviceQrtzConstants.QRTZ_FILE_STATUS_1).orderByAsc("sort")); - if (!qrtzFileEntityList.isEmpty()) { - DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0); - List qrtzDateEntityList = deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(deviceQrtzFileEntity.getQrtzId()); - if (!qrtzDateEntityList.isEmpty()) { - // 获取当前日期和时间 - for (DeviceQrtzDateEntity qrtzDate : qrtzDateEntityList) { - if (!currentDate.isBefore(Convert.toLocalDateTime(qrtzDate.getStartDate())) && !currentDate.isAfter(Convert.toLocalDateTime(qrtzDate.getEndDate()))) { - //获取航线数据发送之类 - WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId())); - if (waylineFileEntity == null) { - //更改为异常,当前航线不存在 - deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); - deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); - continue; - } - //获取是否是工单航线,是修改状态 - remoteBusinessTaskFeign.updateTaskStatus(deviceQrtzFileEntity.getWaylineId(), BusinessConstants.TASK_STATUS_2, null, null); - CreateJobParam createJobParam = new CreateJobParam(); - try { - createJobParam.setName(deviceQrtzFileEntity.getWaylineName() + "" + currentDate.format(formatterS)); - createJobParam.setWaylineName(deviceQrtzFileEntity.getWaylineName()); - createJobParam.setFileId(deviceQrtzFileEntity.getWaylineId()); - createJobParam.setDockSn(device.getDeviceSn()); - createJobParam.setWaylineType(WaylineTypeEnum.find(Integer.parseInt(waylineFileEntity.getTemplateTypes()))); - createJobParam.setTaskType(TaskTypeEnum.IMMEDIATE); - createJobParam.setJobId(UUID.randomUUID().toString()); - //createJobParam.setRthAltitude(); - createJobParam.setMinBatteryCapacity(50); - createJobParam.setJobType(WaylineJobTypeEnum.WISDOM_TASK); - createJobParam.setWaylinePrecisionType(WaylinePrecisionTypeEnum.RTK); - createJobParam.setOutOfControlAction(OutOfControlActionEnum.RETURN_TO_HOME); - createJobParam.setRthAltitude(120); - HttpResultResponse httpResultResponse = flightTaskService.publishFlightTask(device.getWorkspaceId(), createJobParam, deviceQrtzFileEntity.getNickName()); - if(httpResultResponse.getCode() == 0){ - deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_2); + List qrtzEntityList = deviceQrtzMapper.selectList(new LambdaQueryWrapper().eq(DeviceQrtzEntity::getDeviceSn, device.getDeviceSn()).eq(DeviceQrtzEntity::getStatus, DeviceQrtzConstants.QRTZ_STATUS_1)); + if(!qrtzEntityList.isEmpty()){ + // 获取当前日期 + LocalDateTime currentDate = LocalDateTime.now(); + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + DateTimeFormatter formatterS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 格式化当前日期 + String formattedDate = currentDate.format(formatter); + List qrtzFileEntityList = deviceQrtzFileMapper.selectList(new QueryWrapper().eq("device_sn", device.getDeviceSn()).eq("exec_date", formattedDate).eq("status", DeviceQrtzConstants.QRTZ_FILE_STATUS_1).orderByAsc("sort")); + if (!qrtzFileEntityList.isEmpty()) { + DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0); + List qrtzDateEntityList = deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(deviceQrtzFileEntity.getQrtzId()); + if (!qrtzDateEntityList.isEmpty()) { + // 获取当前日期和时间 + for (DeviceQrtzDateEntity qrtzDate : qrtzDateEntityList) { + if (!currentDate.isBefore(Convert.toLocalDateTime(qrtzDate.getStartDate())) && !currentDate.isAfter(Convert.toLocalDateTime(qrtzDate.getEndDate()))) { + //获取航线数据发送之类 + WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId())); + if (waylineFileEntity == null) { + //更改为异常,当前航线不存在 + deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); continue; } - deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); - deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); - } catch (Exception e) { - e.printStackTrace(); + //获取是否是工单航线,是修改状态 + remoteBusinessTaskFeign.updateTaskStatus(deviceQrtzFileEntity.getWaylineId(), BusinessConstants.TASK_STATUS_2, null, null); + CreateJobParam createJobParam = new CreateJobParam(); + try { + createJobParam.setName(deviceQrtzFileEntity.getWaylineName() + "" + currentDate.format(formatterS)); + createJobParam.setWaylineName(deviceQrtzFileEntity.getWaylineName()); + createJobParam.setFileId(deviceQrtzFileEntity.getWaylineId()); + createJobParam.setDockSn(device.getDeviceSn()); + createJobParam.setWaylineType(WaylineTypeEnum.find(Integer.parseInt(waylineFileEntity.getTemplateTypes()))); + createJobParam.setTaskType(TaskTypeEnum.IMMEDIATE); + createJobParam.setJobId(UUID.randomUUID().toString()); + //createJobParam.setRthAltitude(); + createJobParam.setMinBatteryCapacity(50); + createJobParam.setJobType(WaylineJobTypeEnum.WISDOM_TASK); + createJobParam.setWaylinePrecisionType(WaylinePrecisionTypeEnum.RTK); + createJobParam.setOutOfControlAction(OutOfControlActionEnum.RETURN_TO_HOME); + createJobParam.setRthAltitude(120); + HttpResultResponse httpResultResponse = flightTaskService.publishFlightTask(device.getWorkspaceId(), createJobParam, deviceQrtzFileEntity.getNickName()); + if(httpResultResponse.getCode() == 0){ + deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_2); + deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); + continue; + } + deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); + deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); + } catch (Exception e) { + e.printStackTrace(); + } } + } } - } } + } }