吴远 2 months ago
parent
commit
38758ec5b7
  1. 2
      dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java
  2. 6
      dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java
  3. 101
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java
  4. 2
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java
  5. 5
      dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java
  6. 2
      dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelBo.java
  7. 5
      dk-modules/system/src/main/java/org/dromara/system/domain/vo/AiLabelVo.java
  8. 8
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemotePostServiceImpl.java
  9. 2
      dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java
  10. 5
      dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLabelServiceImpl.java
  11. 4
      dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java

2
dk-api/api-system/src/main/java/org/dromara/system/api/RemotePostService.java

@ -8,4 +8,6 @@ public interface RemotePostService {
List<RemotePostVo> listPost(); List<RemotePostVo> listPost();
String getPostCode(String labelCode); String getPostCode(String labelCode);
String getFlowCode(String labelCode);
} }

6
dk-api/api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowService.java

@ -127,10 +127,10 @@ public interface RemoteWorkflowService {
List<RemoteUserVo> currentTaskAllUser(Long taskId); List<RemoteUserVo> currentTaskAllUser(Long taskId);
/** /**
* 根据岗位code拿到预警流程编码 * 根据标签code拿到预警流程编码
* @param postCode * @param labelCode
* @return * @return
*/ */
String getFlowCode(String postCode); String getFlowCode(String labelCode);
} }

101
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java

@ -282,64 +282,67 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService {
return; return;
} }
RedisOpsUtils.setWithExpire(device.getDeviceSn(), device, 180); RedisOpsUtils.setWithExpire(device.getDeviceSn(), device, 180);
List<DeviceQrtzEntity> qrtzEntityList = deviceQrtzMapper.selectList(new LambdaQueryWrapper<DeviceQrtzEntity>().eq(DeviceQrtzEntity::getDeviceSn, device.getDeviceSn()).eq(DeviceQrtzEntity::getStatus, DeviceQrtzConstants.QRTZ_STATUS_1));
// 获取当前日期 if(!qrtzEntityList.isEmpty()){
LocalDateTime currentDate = LocalDateTime.now(); // 获取当前日期
// 定义日期格式 LocalDateTime currentDate = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 定义日期格式
DateTimeFormatter formatterS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 格式化当前日期 DateTimeFormatter formatterS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDate = currentDate.format(formatter); // 格式化当前日期
List<DeviceQrtzFileEntity> qrtzFileEntityList = deviceQrtzFileMapper.selectList(new QueryWrapper<DeviceQrtzFileEntity>().eq("device_sn", device.getDeviceSn()).eq("exec_date", formattedDate).eq("status", DeviceQrtzConstants.QRTZ_FILE_STATUS_1).orderByAsc("sort")); String formattedDate = currentDate.format(formatter);
if (!qrtzFileEntityList.isEmpty()) { List<DeviceQrtzFileEntity> qrtzFileEntityList = deviceQrtzFileMapper.selectList(new QueryWrapper<DeviceQrtzFileEntity>().eq("device_sn", device.getDeviceSn()).eq("exec_date", formattedDate).eq("status", DeviceQrtzConstants.QRTZ_FILE_STATUS_1).orderByAsc("sort"));
DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0); if (!qrtzFileEntityList.isEmpty()) {
List<DeviceQrtzDateEntity> qrtzDateEntityList = deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(deviceQrtzFileEntity.getQrtzId()); DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0);
if (!qrtzDateEntityList.isEmpty()) { List<DeviceQrtzDateEntity> 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()))) { for (DeviceQrtzDateEntity qrtzDate : qrtzDateEntityList) {
//获取航线数据发送之类 if (!currentDate.isBefore(Convert.toLocalDateTime(qrtzDate.getStartDate())) && !currentDate.isAfter(Convert.toLocalDateTime(qrtzDate.getEndDate()))) {
WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId())); //获取航线数据发送之类
if (waylineFileEntity == null) { WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId()));
//更改为异常,当前航线不存在 if (waylineFileEntity == null) {
deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); //更改为异常,当前航线不存在
deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0);
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);
deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); deviceQrtzFileMapper.updateById(deviceQrtzFileEntity);
continue; continue;
} }
deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); //获取是否是工单航线,是修改状态
deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); remoteBusinessTaskFeign.updateTaskStatus(deviceQrtzFileEntity.getWaylineId(), BusinessConstants.TASK_STATUS_2, null, null);
} catch (Exception e) { CreateJobParam createJobParam = new CreateJobParam();
e.printStackTrace(); 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();
}
} }
} }
} }
} }
} }
} }
} }

2
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/SDKWaylineService.java

@ -114,7 +114,7 @@ public class SDKWaylineService extends AbstractWaylineService {
} }
LambdaQueryWrapper<DeviceQrtzFileEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DeviceQrtzFileEntity> 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<DeviceQrtzFileEntity> fileEntityList = deviceQrtzFileMapper.selectList(wrapper); List<DeviceQrtzFileEntity> fileEntityList = deviceQrtzFileMapper.selectList(wrapper);
if (FlighttaskStatusEnum.OK != statusEnum) { if (FlighttaskStatusEnum.OK != statusEnum) {
job.setCode(eventsReceiver.getResult().getCode()); job.setCode(eventsReceiver.getResult().getCode());

5
dk-modules/system/src/main/java/org/dromara/system/domain/AiLabel.java

@ -53,5 +53,10 @@ public class AiLabel {
*/ */
private String aiEn; private String aiEn;
/**
* 流程code
*/
private String flowCode;
} }

2
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) @JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false) @TableField(exist = false)
private Map<String, Object> params = new HashMap<>(); private Map<String, Object> params = new HashMap<>();
private String flowCode;
} }

5
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; private String aiEn;
/**
* 流程code
*/
private String flowCode;
} }

8
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.api.domain.vo.RemotePostVo;
import org.dromara.system.domain.bo.SysPostBo; import org.dromara.system.domain.bo.SysPostBo;
import org.dromara.system.domain.vo.SysPostVo; import org.dromara.system.domain.vo.SysPostVo;
import org.dromara.system.service.IAiLabelService;
import org.dromara.system.service.ISysPostService; import org.dromara.system.service.ISysPostService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,6 +28,8 @@ public class RemotePostServiceImpl implements RemotePostService {
private final ISysPostService sysPostService; private final ISysPostService sysPostService;
private final IAiLabelService aiLabelService;
@Override @Override
public List<RemotePostVo> listPost() { public List<RemotePostVo> listPost() {
List<SysPostVo> sysPostVos = sysPostService.selectPostList(new SysPostBo()); List<SysPostVo> sysPostVos = sysPostService.selectPostList(new SysPostBo());
@ -46,4 +49,9 @@ public class RemotePostServiceImpl implements RemotePostService {
public String getPostCode(String labelCode) { public String getPostCode(String labelCode) {
return sysPostService.getPostCode(labelCode); return sysPostService.getPostCode(labelCode);
} }
@Override
public String getFlowCode(String labelCode) {
return aiLabelService.getFlowCode(labelCode);
}
} }

2
dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelService.java

@ -72,4 +72,6 @@ public interface IAiLabelService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<AiLabel> queryListByLabel(List<Long> labelIds); List<AiLabel> queryListByLabel(List<Long> labelIds);
String getFlowCode(String labelCode);
} }

5
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); queryWrapper.in(!labelIds.isEmpty(),"label_id",labelIds);
return this.baseMapper.selectList(queryWrapper); return this.baseMapper.selectList(queryWrapper);
} }
@Override
public String getFlowCode(String labelCode) {
return this.baseMapper.selectOne(new LambdaQueryWrapper<AiLabel>().eq(AiLabel::getLabelEn, labelCode)).getFlowCode();
}
} }

4
dk-modules/workflow/src/main/java/org/dromara/workflow/dubbo/RemoteWorkflowServiceImpl.java

@ -114,9 +114,7 @@ public class RemoteWorkflowServiceImpl implements RemoteWorkflowService {
@Override @Override
public String getFlowCode(String labelCode){ public String getFlowCode(String labelCode){
//标签名称 //标签名称
String postCode = remotePostService.getPostCode(labelCode); return remotePostService.getFlowCode(labelCode);
return flwDefinitionService.getFlowCode(postCode);
} }
@Override @Override

Loading…
Cancel
Save