Commit 8c045a59 authored by 高建强's avatar 高建强

item:站端到中心级同步修改

parent d1bb31a8
......@@ -2,12 +2,7 @@ package com.yeejoin.amos.patrol.dao.entity;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.*;
/**
......@@ -218,7 +213,7 @@ public class PlanTask extends BasicEntity {
}
@OneToMany(mappedBy = "planTask", cascade = {CascadeType.REMOVE,CascadeType.MERGE,CascadeType.PERSIST })
@OneToMany(mappedBy = "planTask", fetch= FetchType.EAGER, cascade = {CascadeType.REMOVE,CascadeType.MERGE,CascadeType.PERSIST })
public List<PlanTaskDetail> getTaskDetail() {
return taskDetail;
}
......
......@@ -4,6 +4,7 @@ import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
......@@ -83,7 +84,7 @@ public class PlanTaskDetail extends BasicEntity {
this.taskNo = taskNo;
}
@ManyToOne
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "taskNo", referencedColumnName = "id", updatable = false, insertable = false)
public PlanTask getPlanTask() {
return planTask;
......
package com.yeejoin.amos.patrol.business.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yeejoin.amos.patrol.business.bo.CheckInputSyncBo;
import com.yeejoin.amos.patrol.business.dao.repository.IPlanTaskDao;
import com.yeejoin.amos.patrol.business.dao.repository.IPlanTaskDetailDao;
import com.yeejoin.amos.patrol.business.service.intfc.IPatrolDataSyncService;
import com.yeejoin.amos.patrol.common.enums.PatrolDataSyncTopicEnum;
......@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@Service
@Async
......@@ -26,6 +29,9 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
private WebMqttComponent webMqttComponent;
@Autowired
private IPlanTaskDao planTaskDao;
@Autowired
private IPlanTaskDetailDao planTaskDetailDao;
@Override
......@@ -34,15 +40,18 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
try {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK.getTopic(), check);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK.getTopic(), JSONObject.toJSONString(check));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK.getTopic(), JSON.toJSONString(check, SerializerFeature.WriteMapNullValue));
String isOk = check.getIsOk();
long taskId = check.getPlanTaskId();
long taskDetailId = check.getPlanTaskDetailId();
Optional<PlanTask> planTaskOptional = planTaskDao.findById(taskId);
planTaskOptional.ifPresent(this::planTaskDataSync);
List<PlanTaskDetail> planTaskDetailList = planTaskDetailDao.findAllByIdAndStatus(taskDetailId, isOk);
if (CollectionUtils.isNotEmpty(planTaskDetailList)) {
planTaskDetailList.forEach(x -> {
String detailMessage = buildSyncMessage(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), detailMessage);
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
} catch (Exception e) {
......@@ -58,15 +67,18 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
checkList.forEach(check -> {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK.getTopic(), check);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK.getTopic(), JSONObject.toJSONString(check));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK.getTopic(), JSON.toJSONString(check, SerializerFeature.WriteMapNullValue));
String isOk = check.getIsOk();
long taskId = check.getPlanTaskId();
long taskDetailId = check.getPlanTaskDetailId();
Optional<PlanTask> planTaskOptional = planTaskDao.findById(taskId);
planTaskOptional.ifPresent(this::planTaskDataSync);
List<PlanTaskDetail> planTaskDetailList = planTaskDetailDao.findAllByIdAndStatus(taskDetailId, isOk);
if (CollectionUtils.isNotEmpty(planTaskDetailList)) {
planTaskDetailList.forEach(x -> {
String detailMessage = buildSyncMessage(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), detailMessage);
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK_DETAIL.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
});
......@@ -83,7 +95,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
checkInputList.forEach(x -> {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK_INPUT.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
} catch (Exception e) {
......@@ -98,7 +110,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
checkShotList.forEach(x -> {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK_SHOT.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_SHOT.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_SHOT.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
} catch (Exception e) {
......@@ -112,7 +124,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
if (checkInputSyncBo != null) {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), checkInputSyncBo);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), JSONObject.toJSONString(checkInputSyncBo));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), JSON.toJSONString(checkInputSyncBo, SerializerFeature.WriteMapNullValue));
}
} catch (Exception e) {
log.error("站端与中心级巡检数据【CheckInputSyncBo】同步推送失败-----------" + e.getMessage());
......@@ -126,7 +138,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
checkInputSyncBoList.forEach(x -> {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.CHECK_INPUT_BO.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
} catch (Exception e) {
......@@ -140,7 +152,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
if (planTask != null) {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), planTask);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), JSONObject.toJSONString(planTask));
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), JSON.toJSONString(planTask, SerializerFeature.WriteMapNullValue));
}
} catch (Exception e) {
log.error("站端与中心级巡检数据【planTask】同步推送失败-----------" + e.getMessage());
......@@ -154,7 +166,7 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
planTaskList.forEach(x -> {
String message = buildSyncMessage(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), x);
webMqttComponent.publish(PatrolDataSyncTopicEnum.EQM_PATROL_CREATED.getTopic(), message);
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), JSONObject.toJSONString(x));
webMqttComponent.publish(PatrolDataSyncTopicEnum.PLAN_TASK.getTopic(), JSON.toJSONString(x, SerializerFeature.WriteMapNullValue));
});
}
} catch (Exception e) {
......@@ -166,6 +178,6 @@ public class PatrolDataSyncServiceImpl implements IPatrolDataSyncService {
Map<String, Object> map = new HashMap<>();
map.put("topic", topic);
map.put("data", object);
return JSONObject.toJSONString(map);
return JSON.toJSONString(map, SerializerFeature.WriteMapNullValue);
}
}
......@@ -650,6 +650,7 @@ public class PointServiceImpl implements IPointService {
List<PlanTaskDetail> planDetailList = iPlanTaskDetailDao.findALLByPointId(pointId);
for (PlanTaskDetail planTaskDetail : planDetailList) {
PlanTask planTask = planTaskDao.findById(planTaskDetail.getTaskNo()).get();
planTaskList.add(planTask);
if (planTask.getFinishStatus() > 1) {
continue;
}
......@@ -657,11 +658,9 @@ public class PointServiceImpl implements IPointService {
planTask.setFinishNum(planTask.getFinishNum() - 1);
planTask.setPointNum(planTask.getPointNum() - 1);
planTaskDao.save(planTask);
planTaskList.add(planTask);
} else {
planTask.setPointNum(planTask.getPointNum() - 1);
planTaskDao.save(planTask);
planTaskList.add(planTask);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment