|
@@ -15,6 +15,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.PageUtils;
|
|
|
import com.ruoyi.common.utils.RedisUtils;
|
|
|
+import com.ruoyi.system.service.ISysDeptService;
|
|
|
import com.ruoyi.zhdd.domain.IncidentTask;
|
|
|
import com.ruoyi.zhdd.domain.IncidentUser;
|
|
|
import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
|
|
@@ -24,6 +25,7 @@ import com.ruoyi.zhdd.domain.vo.IncidentTaskVo;
|
|
|
import com.ruoyi.zhdd.mapper.IncidentTaskMapper;
|
|
|
import com.ruoyi.zhdd.service.IIncidentTaskService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -43,6 +45,9 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
|
public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper, IncidentTask, IncidentTaskVo> implements IIncidentTaskService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysDeptService sysDeptService;
|
|
|
+
|
|
|
@Override
|
|
|
public IncidentTaskVo queryById(String id) {
|
|
|
return getVoById(id);
|
|
@@ -74,6 +79,9 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
JSONArray removeJsonArray = new JSONArray();
|
|
|
// 待新增事件用户关系的array
|
|
|
JSONArray saveJsonArray = new JSONArray();
|
|
|
+ // 查询所有的部门数据,为冗余部门的全称
|
|
|
+ /*List<SysDept> list = sysDeptService.list();
|
|
|
+ Map<String, String> deptMap = list.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getFullName));*/
|
|
|
if (StrUtil.isNotBlank(bo.getId())) {
|
|
|
// 更新操作
|
|
|
// 先查询是否已经发送过
|
|
@@ -85,6 +93,11 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
throw new ServiceException("该消息已发送,不能再次编辑!");
|
|
|
}
|
|
|
IncidentTask update = BeanUtil.toBean(bo, IncidentTask.class);
|
|
|
+ /*for (MessagePushUser messagePushUser : bo.getMessagePushUsers()) {
|
|
|
+ if (StrUtil.isNotBlank(messagePushUser.getDeptId())) {
|
|
|
+ messagePushUser.setFullName(deptMap.get(messagePushUser.getDeptId()));
|
|
|
+ }
|
|
|
+ }*/
|
|
|
update.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
|
|
|
updateById(update);
|
|
|
jsonObject.set("des", "更新处置方案:" + bo.getTaskName());
|
|
@@ -136,8 +149,15 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
} else {
|
|
|
IncidentTask add = BeanUtil.toBean(bo, IncidentTask.class);
|
|
|
add.setId(null);
|
|
|
+ /*for (MessagePushUser messagePushUser : bo.getMessagePushUsers()) {
|
|
|
+ if (StrUtil.isNotBlank(messagePushUser.getDeptId())) {
|
|
|
+ messagePushUser.setFullName(deptMap.get(messagePushUser.getDeptId()));
|
|
|
+ }
|
|
|
+ }*/
|
|
|
add.setExprJson(JSONUtil.toJsonStr(bo.getMessagePushUsers()));
|
|
|
save(add);
|
|
|
+ // 为了发送时知道方案的id
|
|
|
+ bo.setId(add.getId());
|
|
|
jsonObject.set("des", "新增处置方案:" + bo.getTaskName());
|
|
|
jsonObject.set("taskId", add.getId());
|
|
|
|
|
@@ -161,6 +181,11 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
if (saveJsonArray.size() > 0) {
|
|
|
RedisUtils.publish(Constants.INCIDENT_USER_BATCH, saveJsonArray);
|
|
|
}
|
|
|
+ if (StrUtil.equals("1", bo.getSaveAndSend())) {
|
|
|
+ IncidentTasksBo send = new IncidentTasksBo();
|
|
|
+ send.setId(bo.getId());
|
|
|
+ this.taskSend(send);
|
|
|
+ }
|
|
|
|
|
|
return true;
|
|
|
}
|
|
@@ -181,6 +206,12 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
);
|
|
|
if (list != null && list.size() > 0) {
|
|
|
for (IncidentTask incidentTask : list) {
|
|
|
+ // 判断是否存在没有人员的情况
|
|
|
+ if (StrUtil.isBlank(incidentTask.getExprJson())) {
|
|
|
+ throw new ServiceException("不能发送,要先选择接收人员!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (IncidentTask incidentTask : list) {
|
|
|
// 更新方案为已发送状态
|
|
|
incidentTask.setTaskSend("1");
|
|
|
this.updateById(incidentTask);
|
|
@@ -202,7 +233,7 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
|
|
|
|
|
|
@Override
|
|
|
public List<IncidentTaskVo> listTaskInfo(String id) {
|
|
|
- List<IncidentTaskVo> incidentTaskVo = listVo(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, id).orderByAsc(IncidentTask::getCreateTime));
|
|
|
+ List<IncidentTaskVo> incidentTaskVo = listVo(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, id).orderByAsc(IncidentTask::getCreateTime, IncidentTask::getId));
|
|
|
if (incidentTaskVo != null) {
|
|
|
// 查询指令和人员
|
|
|
for (IncidentTaskVo taskVo : incidentTaskVo) {
|