Commit 0406dc6c authored by litengwei's avatar litengwei

任务 17464 17463 17462 17461

parent 4a9616d6
...@@ -216,6 +216,17 @@ public class ContingencyAction implements CustomerAction { ...@@ -216,6 +216,17 @@ public class ContingencyAction implements CustomerAction {
this.sendcmd("steparea", contingencyRo, result); this.sendcmd("steparea", contingencyRo, result);
} }
public void sendcmdT(String msgType, Object contingency, SafteyPlanResult result) {
ToipResponse toipResponse = new ToipResponse();
toipResponse.setMsgType(msgType);
toipResponse.setMsgContext(result.toJson());
toipResponse.setContingency(contingency);
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan");
log.info(String.format("mqtt[%s]:【 %s 】", topic, toipResponse.toJsonStr()));
webMqttComponent.publish(topic, toipResponse.toJsonStr());
}
public void sendcmd(String msgType, Object contingency, SafteyPlanResult result) { public void sendcmd(String msgType, Object contingency, SafteyPlanResult result) {
ContingencyRo ro = (ContingencyRo) contingency; ContingencyRo ro = (ContingencyRo) contingency;
......
...@@ -29,7 +29,7 @@ public interface IContingencyPlanInstanceRepository extends BaseDao<ContingencyP ...@@ -29,7 +29,7 @@ public interface IContingencyPlanInstanceRepository extends BaseDao<ContingencyP
" t.batch_no = ?" + " t.batch_no = ?" +
" AND t.record_type = ?" + " AND t.record_type = ?" +
" ORDER BY" + " ORDER BY" +
" t.sort ASC", nativeQuery = true) " t.create_date ASC", nativeQuery = true)
List<ContingencyPlanInstance> queryForCategory(String batch_no,String recordType); List<ContingencyPlanInstance> queryForCategory(String batch_no,String recordType);
@Query(value = @Query(value =
......
...@@ -5,12 +5,16 @@ import com.yeejoin.amos.component.rule.RuleTrigger; ...@@ -5,12 +5,16 @@ import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.fas.business.action.ContingencyAction; import com.yeejoin.amos.fas.business.action.ContingencyAction;
import com.yeejoin.amos.fas.business.action.model.ContingencyEvent; import com.yeejoin.amos.fas.business.action.model.ContingencyEvent;
import com.yeejoin.amos.fas.business.action.model.ContingencyRo; import com.yeejoin.amos.fas.business.action.model.ContingencyRo;
import com.yeejoin.amos.fas.business.action.result.SafteyPlanResult;
import com.yeejoin.amos.fas.business.action.util.ContingencyLogPublisher; import com.yeejoin.amos.fas.business.action.util.ContingencyLogPublisher;
import com.yeejoin.amos.fas.business.dao.mapper.*; import com.yeejoin.amos.fas.business.dao.mapper.*;
import com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao; import com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao;
import com.yeejoin.amos.fas.business.dao.repository.IContingencyPlanInstanceRepository;
import com.yeejoin.amos.fas.business.service.intfc.*; import com.yeejoin.amos.fas.business.service.intfc.*;
import com.yeejoin.amos.fas.business.service.model.ToipResponse;
import com.yeejoin.amos.fas.business.vo.ContingencyInstanceInfoVO; import com.yeejoin.amos.fas.business.vo.ContingencyInstanceInfoVO;
import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData; import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData;
import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.Equipment;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -23,6 +27,8 @@ import org.springframework.stereotype.Component; ...@@ -23,6 +27,8 @@ import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -61,12 +67,22 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -61,12 +67,22 @@ public class FireContingencyHandler implements EventHandler{
@Autowired @Autowired
private ContingencyInstanceInfoService contingencyInstanceInfoService; private ContingencyInstanceInfoService contingencyInstanceInfoService;
@Autowired @Autowired
private RuleTrigger ruleTrigger; private IContingencyInstance iContingencyInstance;
@Autowired @Autowired
ContingencyAction contingencyAction; ContingencyAction contingencyAction;
@Autowired
IContingencyOriginalDataDao contingencyOriginalDataDao;
@Autowired
private ContingencyInstanceInfoMapper contingencyInstanceInfoMapper;
@Autowired
private RuleTrigger ruleTrigger;
private static Map<String, String> stepMap = new HashMap<>(); private static Map<String, String> stepMap = new HashMap<>();
@Value("${spring.application.name}") @Value("${spring.application.name}")
...@@ -173,6 +189,30 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -173,6 +189,30 @@ public class FireContingencyHandler implements EventHandler{
batchNo batchNo
); );
SafteyPlanResult result = new SafteyPlanResult();
Map<String, Object> tempmap1 = new HashMap<>();
try {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<ContingencyPlanInstance> list = iContingencyInstance.queryForTimeLine(contingencyRo.getBatchNo(), "MESSAGE");
ArrayList records = new ArrayList<>();
if (!ObjectUtils.isEmpty(list)) {
list.forEach(action -> {
HashMap map = new HashMap();
map.put("time", sdf1.format(action.getCreateDate().getTime()));
map.put("stepName", action.getContent());
records.add(map);
});
}
tempmap1.put("content", records);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result.add(tempmap1);
ContingencyRo paramObj = new ContingencyRo();
paramObj.setBatchNo(contingencyRo.getBatchNo());
contingencyAction.sendcmdT("recordarea", paramObj, result);
if (equipment != null) { if (equipment != null) {
publisherPlanLog(stepCode, buttonCode, batchNo); publisherPlanLog(stepCode, buttonCode, batchNo);
} }
......
...@@ -33,6 +33,7 @@ import com.yeejoin.amos.fas.datasync.bo.ContingencyOriginalDataSyncBo; ...@@ -33,6 +33,7 @@ import com.yeejoin.amos.fas.datasync.bo.ContingencyOriginalDataSyncBo;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.ObjectMapper;
...@@ -42,6 +43,7 @@ import org.springframework.beans.BeanUtils; ...@@ -42,6 +43,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.core.io.Resource;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -49,6 +51,8 @@ import org.springframework.util.CollectionUtils; ...@@ -49,6 +51,8 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -59,7 +63,10 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -59,7 +63,10 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
static LinkedList<Map<String, String>> fireQueue = new LinkedList<>(); static LinkedList<Map<String, String>> fireQueue = new LinkedList<>();
public final static List<String> list = Arrays.asList("0", "1", "2", "5", "9", "10", "11"); // public final static List<String> list = Arrays.asList("0", "1", "2", "5", "9", "10", "11");
@Value("classpath:/json/plan-setp-node.json")
private Resource planStepNodeResource;
@Autowired @Autowired
private IContingencyPlanInstanceRepository repository; private IContingencyPlanInstanceRepository repository;
...@@ -505,7 +512,16 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -505,7 +512,16 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
@Override @Override
public Optional<Equipment> clickButton(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product, String appKey,String startUserName) throws Exception { public Optional<Equipment> clickButton(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product, String appKey,String startUserName) throws Exception {
List<String> strs = list.stream().filter(x -> x.equals(stepCode)).collect(Collectors.toList()); String json;
try {
json = IOUtils.toString(planStepNodeResource.getInputStream(), String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
throw new RuntimeException("获取预案节点信息失败!");
}
JSONObject jsonObject = JSONObject.parseObject(json);
List<String> nodes = Arrays.stream(jsonObject.get("nodes").toString().split(",")).collect(Collectors.toList());
List<String> strs = nodes.stream().filter(x -> x.equals(stepCode)).collect(Collectors.toList());
ContingencyPlanInstance instance = contingencyPlanInstanceMapper.getMessageById(contingencyPlanId); ContingencyPlanInstance instance = contingencyPlanInstanceMapper.getMessageById(contingencyPlanId);
instance.setId(null); instance.setId(null);
instance.setRecordType("MESSAGE"); instance.setRecordType("MESSAGE");
...@@ -558,7 +574,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -558,7 +574,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
planTask = Objects.requireNonNull(redisTemplate.opsForValue().get("planTask")).toString(); planTask = Objects.requireNonNull(redisTemplate.opsForValue().get("planTask")).toString();
} else { } else {
List<ContingencyPlanInstanceVO> lists = planVisual3dService.getTaskActionList(batchNo, 1); List<ContingencyPlanInstanceVO> lists = planVisual3dService.getTaskActionList(batchNo, 1);
if (0 < list.size()) { if (0 < nodes.size()) {
planTask = JSON.toJSONString(lists); planTask = JSON.toJSONString(lists);
} }
} }
......
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