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

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

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