Commit 0406dc6c authored by litengwei's avatar litengwei

任务 17464 17463 17462 17461

parent 4a9616d6
......@@ -216,6 +216,17 @@ public class ContingencyAction implements CustomerAction {
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) {
ContingencyRo ro = (ContingencyRo) contingency;
......
......@@ -29,7 +29,7 @@ public interface IContingencyPlanInstanceRepository extends BaseDao<ContingencyP
" t.batch_no = ?" +
" AND t.record_type = ?" +
" ORDER BY" +
" t.sort ASC", nativeQuery = true)
" t.create_date ASC", nativeQuery = true)
List<ContingencyPlanInstance> queryForCategory(String batch_no,String recordType);
@Query(value =
......
......@@ -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.model.ContingencyEvent;
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.dao.mapper.*;
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.model.ToipResponse;
import com.yeejoin.amos.fas.business.vo.ContingencyInstanceInfoVO;
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 org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger;
......@@ -23,6 +27,8 @@ import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -61,12 +67,22 @@ public class FireContingencyHandler implements EventHandler{
@Autowired
private ContingencyInstanceInfoService contingencyInstanceInfoService;
@Autowired
private RuleTrigger ruleTrigger;
private IContingencyInstance iContingencyInstance;
@Autowired
ContingencyAction contingencyAction;
@Autowired
IContingencyOriginalDataDao contingencyOriginalDataDao;
@Autowired
private ContingencyInstanceInfoMapper contingencyInstanceInfoMapper;
@Autowired
private RuleTrigger ruleTrigger;
private static Map<String, String> stepMap = new HashMap<>();
@Value("${spring.application.name}")
......@@ -173,6 +189,30 @@ public class FireContingencyHandler implements EventHandler{
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) {
publisherPlanLog(stepCode, buttonCode, batchNo);
}
......
......@@ -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.model.AgencyUserModel;
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.StringUtils;
import org.codehaus.jackson.map.ObjectMapper;
......@@ -42,6 +43,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.core.io.Resource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -49,6 +51,8 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
......@@ -59,7 +63,10 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
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
private IContingencyPlanInstanceRepository repository;
......@@ -505,7 +512,16 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
@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 {
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);
instance.setId(null);
instance.setRecordType("MESSAGE");
......@@ -558,7 +574,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
planTask = Objects.requireNonNull(redisTemplate.opsForValue().get("planTask")).toString();
} else {
List<ContingencyPlanInstanceVO> lists = planVisual3dService.getTaskActionList(batchNo, 1);
if (0 < list.size()) {
if (0 < nodes.size()) {
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