吴远 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();
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);
/**
* 根据岗位code拿到预警流程编码
* @param postCode
* 根据标签code拿到预警流程编码
* @param labelCode
* @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;
}
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<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"));
if (!qrtzFileEntityList.isEmpty()) {
DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0);
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()))) {
//获取航线数据发送之类
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);
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<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();
// 定义日期格式
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"));
if (!qrtzFileEntityList.isEmpty()) {
DeviceQrtzFileEntity deviceQrtzFileEntity = qrtzFileEntityList.get(0);
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()))) {
//获取航线数据发送之类
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);
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();
}
}
}
}
}
}
}
}

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<>();
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);
if (FlighttaskStatusEnum.OK != statusEnum) {
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;
/**
* 流程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)
@TableField(exist = false)
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;
/**
* 流程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.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<RemotePostVo> listPost() {
List<SysPostVo> 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);
}
}

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);
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);
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
public String getFlowCode(String labelCode){
//标签名称
String postCode = remotePostService.getPostCode(labelCode);
return flwDefinitionService.getFlowCode(postCode);
return remotePostService.getFlowCode(labelCode);
}
@Override

Loading…
Cancel
Save