Commit b62157bf authored by KeYong's avatar KeYong

更新

parent 0681b859
package com.yeejoin.amos.fas.business.action;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.component.rule.MethodParam;
......@@ -387,6 +388,12 @@ public class ContingencyAction implements CustomerAction {
result.add(tempmap1);
this.sendcmd("helparea", paramObj, result);
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan");
Map<String, Object> map = new HashMap<>();
map.put("contingency", new ContingencyRo());
map.put("msgContext", Collections.EMPTY_MAP);
map.put("msgType", "refreshTaskRecord");
webMqttComponent.publish(topic, JSON.toJSONString(map));
}
}
......
......@@ -36,6 +36,8 @@ public interface ContingencyInstanceInfoMapper extends BaseMapper<ContingencyIns
List<ContingencyPlanInstanceVO> selectTaskActionList(@Param("type") String type, @Param("status") String status, @Param("list") List<String> roles , @Param("batchNo") String batchNo);
List<ContingencyPlanInstanceVO> getTaskActionList(@Param("type") String type, @Param("status") String status, @Param("batchNo") String batchNo);
int countTaskPage(@Param("type") String type, @Param("batchNo") String batchNo, @Param("list") List<String> roles);
List<ContingencyPlanInstanceVO> getTaskActionPage(@Param("current") int current, @Param("size") int size, @Param("batchNo") String batchNo, @Param("type") String type, @Param("runState") String runState, @Param("updateDate") String updateDate, @Param("list") List<String> roles);
......
......@@ -225,7 +225,7 @@ public class BizContingencyHandler implements EventHandler{
if (redisTemplate.hasKey("planTask")) {
planTask = Objects.requireNonNull(redisTemplate.opsForValue().get("planTask")).toString();
} else {
List<ContingencyPlanInstanceVO> list = planVisual3dService.selectTaskActionList(batchNo, null, 1);
List<ContingencyPlanInstanceVO> list = planVisual3dService.getTaskActionList(batchNo, 1);
if (0 < list.size()) {
planTask = JSON.toJSONString(list);
}
......
......@@ -40,4 +40,7 @@ public interface JcsFeign {
@RequestMapping(value = "/jcs//org-person/listCompanyByIds", method = RequestMethod.GET,consumes = "application/json")
List<Object> listCompanyByIds(@RequestParam List<Long> ids);
@RequestMapping(value = "/jcs/org-person/person/img/{id}", method = RequestMethod.GET,consumes = "application/json")
ResponseModel getPersonImage(@PathVariable String id);
}
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.fas.business.dao.repository.IContingencyPlanInstanceRepo
import com.yeejoin.amos.fas.business.event.ContingecyExecEvent;
import com.yeejoin.amos.fas.business.event.EventHandler;
import com.yeejoin.amos.fas.business.event.EventType;
import com.yeejoin.amos.fas.business.feign.JcsFeign;
import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.service.intfc.*;
import com.yeejoin.amos.fas.business.service.model.Operate;
......@@ -24,6 +25,7 @@ import com.yeejoin.amos.fas.business.service.model.OperateGroup;
import com.yeejoin.amos.fas.business.util.DateUtils;
import com.yeejoin.amos.fas.business.vo.*;
import com.yeejoin.amos.fas.common.enums.PlanReplyMessageEnum;
import com.yeejoin.amos.fas.core.util.ResponseModel;
import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData;
import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment;
......@@ -138,6 +140,12 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
@Autowired
private ApplicationEventPublisher applicationContext;
@Autowired
private EmergencyTaskServiceImpl emergencyTaskService;
@Autowired
JcsFeign jcsFeign;
/**
* 创建预案执行记录
*
......@@ -505,19 +513,6 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
instance.setContent(instance.getCategory());
ContingencyPlanInstance res = repository.save(instance);
if (!ObjectUtils.isEmpty(res)) {
List<String> models = new ArrayList<>();
models.add(instance.getRoleCode());
List<ContingencyPlanInstanceVO> list = planVisual3dService.selectTaskActionList(instance.getBatchNo(), models, 1);
if (redisTemplate.hasKey("planTask")) {
redisTemplate.delete("planTask");
String planTask = "";
List<ContingencyPlanInstanceVO> arr = list.stream().filter(x -> !x.getId().equalsIgnoreCase(contingencyPlanId)).collect(Collectors.toList());
if (0 < list.size()) {
planTask = JSON.toJSONString(arr);
}
JSONArray taskObjects = JSON.parseArray(planTask);
redisTemplate.opsForValue().set("planTask", taskObjects);
}
if (0 < strs.size()) {
PlanExecuteVo vo = new PlanExecuteVo();
vo.setConfirm(buttonState);
......@@ -562,7 +557,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
if (redisTemplate.hasKey("planTask")) {
planTask = Objects.requireNonNull(redisTemplate.opsForValue().get("planTask")).toString();
} else {
List<ContingencyPlanInstanceVO> lists = planVisual3dService.selectTaskActionList(batchNo, models, 1);
List<ContingencyPlanInstanceVO> lists = planVisual3dService.getTaskActionList(batchNo, 1);
if (0 < list.size()) {
planTask = JSON.toJSONString(lists);
}
......@@ -611,37 +606,47 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
FeignClientResult<AgencyUserModel> feignClientResult = Privilege.agencyUserClient.getme();
AgencyUserModel user = (AgencyUserModel) feignClientResult.getResult();
List<PlanStepJsonVO> result = planStepService.getPlanStepJsonVOS();
List<String> roleCode = result.stream().map(PlanStepJsonVO::getRoleCode).distinct().collect(Collectors.toList());
// List<PlanStepJsonVO> result = planStepService.getPlanStepJsonVOS();
// List<String> roleCode = result.stream().map(PlanStepJsonVO::getRoleCode).distinct().collect(Collectors.toList());
//
// List<RoleModel> roleModelList = new ArrayList<>();
// for (Long key : user.getOrgRoles().keySet()) {
// roleModelList.addAll(user.getOrgRoles().get(key));
// }
// List<String> roleCodeList = new ArrayList<>();
// List<String> roleNameList = new ArrayList<>();
// List<String> realRoleCode = roleModelList.stream().map(RoleModel::getRoleName).distinct().collect(Collectors.toList());
// realRoleCode.forEach(item -> {
// if (roleCode.contains(item)) {
// roleCodeList.add(item);
// }
// });
// roleModelList.forEach(item -> {
// if (!roleNameList.contains(item.getRoleDesc()) && roleCode.contains(item.getRoleName())) {
// roleNameList.add(item.getRoleDesc());
// }
// });
String roleCodes = emergencyTaskService.getRolesByUserId(user.getUserId());
String roleNames = emergencyTaskService.getRolesNameByUserId(user.getUserId());
List<String> roleCodeList = Arrays.asList(roleCodes.split(","));
List<String> roleNameList = Arrays.asList(roleNames.split(","));
List<RoleModel> roleModelList = new ArrayList<>();
for (Long key : user.getOrgRoles().keySet()) {
roleModelList.addAll(user.getOrgRoles().get(key));
}
List<String> roleCodeList = new ArrayList<>();
List<String> roleNameList = new ArrayList<>();
List<String> realRoleCode = roleModelList.stream().map(RoleModel::getRoleName).distinct().collect(Collectors.toList());
realRoleCode.forEach(item -> {
if (roleCode.contains(item)) {
roleCodeList.add(item);
}
});
roleModelList.forEach(item -> {
if (!roleNameList.contains(item.getRoleDesc()) && roleCode.contains(item.getRoleName())) {
roleNameList.add(item.getRoleDesc());
}
});
contingencyPlanInstance.setRoleCode(String.join("-", roleCodeList));
contingencyPlanInstance.setRoleName(String.join("-", roleNameList));
contingencyPlanInstance.setStartUserId(user.getUserId());
contingencyPlanInstance.setStartUserName(user.getRealName());
Map<String, String> userInfo = contingencyPlanInstanceMapper.getUserByUserId(user.getUserId());
if (!ObjectUtils.isEmpty(userInfo)) {
String img = userInfo.get("personImg");
contingencyPlanInstance.setPersonImg(StringUtils.isBlank(img) ? personImg : img);
} else {
contingencyPlanInstance.setPersonImg(personImg);
ResponseModel responseModel = null;
try {
responseModel = jcsFeign.getPersonImage(user.getUserId());
} catch (Exception e) {
e.printStackTrace();
}
String img = "";
if ("SUCCESS".equals(responseModel.getDevMessage())) {
img = JSON.toJSONString(responseModel.getResult()).replace("\"","");
}
img = StringUtils.isEmpty(img) ? personImg : img;
contingencyPlanInstance.setPersonImg(img);
}
return contingencyPlanInstance;
}
......
......@@ -107,6 +107,8 @@ public interface IPlanVisual3dService {
List<ContingencyPlanInstanceVO> selectTaskActionList(String batchNo, List<String> roleModelList, int dataType);
List<ContingencyPlanInstanceVO> getTaskActionList(String batchNo, int dataType);
/**
* 极光推送消息
*
......
......@@ -266,6 +266,45 @@
ORDER BY tmp.create_date ASC
</select>
<select id="getTaskActionList" resultType="com.yeejoin.amos.fas.business.vo.ContingencyPlanInstanceVO">
SELECT * FROM (
select cpi.id, cpi.`record_type`, cpi.`category`, cpi.`content`, cpi.`icon`, cpi.`sort`, cpi.`sequence_num`
, cpi.`batch_no`, cpi.`create_date`, DATE_FORMAT(cpi.`create_date`,'%Y-%m-%d %H:%i:%s') AS createTime, cpi.`create_user`, cpi.`update_date`
, DATE_FORMAT(cpi.`update_date`,'%Y-%m-%d %H:%i:%s') AS updateTime, cpi.`update_user`, cpi.`is_delete`, cpi.`tips`, IFNULL(cpi.`runstate`, 0) AS runstate, cpi.`file_path`
, `file_type`, `role_name`, `role_code`, `start_user_name`
, cpi.`start_user_id`, cpi.`person_img`,cii.name
from contingency_plan_instance cpi left join contingency_instance_info cii
on cpi.batch_no = cii.id
<where>
cpi.step_code != "-1"
<if test="batchNo != null and batchNo != ''">
AND cpi.batch_no = #{batchNo}
</if>
<if test="type != null and type != ''">
and cpi.record_type = #{type}
</if>
</where>
UNION ALL
select cpi.id, cpi.`record_type`, cpi.`category`, cpi.`content`, cpi.`icon`, cpi.`sort`, cpi.`sequence_num`
, cpi.`batch_no`, cpi.`create_date`, DATE_FORMAT(cpi.`create_date`,'%Y-%m-%d %H:%i:%s') AS createTime, cpi.`create_user`, cpi.`update_date`
, DATE_FORMAT(cpi.`update_date`,'%Y-%m-%d %H:%i:%s') AS updateTime, cpi.`update_user`, cpi.`is_delete`, cpi.`tips`, IFNULL(cpi.`runstate`, 0) AS runstate, cpi.`file_path`
, `file_type`, `role_name`, `role_code`, `start_user_name`
, cpi.`start_user_id`, cpi.`person_img`,cii.name
from contingency_plan_instance cpi left join contingency_instance_info cii
on cpi.batch_no = cii.id
<where>
cpi.step_code = "-1"
<if test="batchNo != null and batchNo != ''">
AND cpi.batch_no = #{batchNo}
</if>
<if test="type != null and type != ''">
and cpi.record_type = #{type}
</if>
</where>
) tmp
ORDER BY tmp.create_date ASC
</select>
<select id="countTaskPage" resultType="java.lang.Integer">
select sum(tmpcount) from
( select count(1) AS tmpcount from contingency_plan_instance
......
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