bim同步增加层级名称(区、栋、专业、层)
This commit is contained in:
parent
9fcd7b03e5
commit
1728d185bd
@ -1,15 +1,13 @@
|
||||
package com.zhgd.xmgl.modules.project.entity;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* BIM协同管理平台进度信息的保存接口发送body
|
||||
*/
|
||||
@Data
|
||||
public class BIMProgressTaskRqBody {
|
||||
private Long progressTaskId;
|
||||
/**
|
||||
* floor 是 String 楼层-->例如:"floor": "B1"
|
||||
*/
|
||||
@ -48,4 +46,13 @@ public class BIMProgressTaskRqBody {
|
||||
* project=2 是坪山沙湖那个
|
||||
*/
|
||||
private Integer projectId;
|
||||
/**
|
||||
* 区
|
||||
*/
|
||||
private String district;
|
||||
/**
|
||||
* 栋
|
||||
*/
|
||||
private String building;
|
||||
|
||||
}
|
||||
|
||||
@ -197,6 +197,9 @@ public class ProgressTask implements Serializable {
|
||||
@ApiModelProperty(value = "前置任务id列表,使用英文“,”分割")
|
||||
private String predecessorIds;
|
||||
|
||||
@ApiModelProperty(value = "层级名称(区、栋、专业、层)")
|
||||
private String levelName;
|
||||
|
||||
/**
|
||||
* 子节点列表
|
||||
*/
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.zhgd.xmgl.modules.project.enums;
|
||||
|
||||
public enum LevelNameEnum {
|
||||
district("区"), building("栋"), major("专业"), floor("层");
|
||||
private String levelName;
|
||||
|
||||
LevelNameEnum(String levelName) {
|
||||
this.levelName = levelName;
|
||||
}
|
||||
|
||||
public String getLevelName() {
|
||||
return levelName;
|
||||
}
|
||||
|
||||
public void setLevelName(String levelName) {
|
||||
this.levelName = levelName;
|
||||
}
|
||||
}
|
||||
@ -3,19 +3,19 @@
|
||||
<mapper namespace="com.zhgd.xmgl.modules.project.mapper.ProgressTaskMapper">
|
||||
<insert id="insertBatch">
|
||||
insert into progress_task(id, project_sn, task_name, level, task_type_id, duration, parent_id, resource_name,
|
||||
duty_user_id, duty_user_name, progress_ratio, actual_start_date, create_date,
|
||||
update_date,
|
||||
create_user_id, status, file_url, remark, start_date, finish_date,
|
||||
actual_finish_date, predecessor_ids)
|
||||
duty_user_id, duty_user_name, progress_ratio, actual_start_date, create_date,
|
||||
update_date,
|
||||
create_user_id, status, file_url, remark, start_date, finish_date,
|
||||
actual_finish_date, predecessor_ids, level_name)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.id}, #{entity.projectSn}, #{entity.taskName}, #{entity.level}, #{entity.taskTypeId},
|
||||
#{entity.duration},
|
||||
#{entity.parentId}, #{entity.resourceName}, #{entity.dutyUserId}, #{entity.dutyUserName},
|
||||
#{entity.progressRatio},
|
||||
#{entity.actualStartDate}, default, default, #{entity.createUserId},
|
||||
#{entity.status}, #{entity.fileUrl}, #{entity.remark}, #{entity.startDate}, #{entity.finishDate},
|
||||
#{entity.actualFinishDate}, #{entity.predecessorIds})
|
||||
#{entity.duration},
|
||||
#{entity.parentId}, #{entity.resourceName}, #{entity.dutyUserId}, #{entity.dutyUserName},
|
||||
#{entity.progressRatio},
|
||||
#{entity.actualStartDate}, default, default, #{entity.createUserId},
|
||||
#{entity.status}, #{entity.fileUrl}, #{entity.remark}, #{entity.startDate}, #{entity.finishDate},
|
||||
#{entity.actualFinishDate}, #{entity.predecessorIds}, #{entity.levelName})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
@ -7,9 +7,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.scheduling.annotation.AsyncResult;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
/**
|
||||
* 异步调用bim
|
||||
@ -21,7 +23,7 @@ public class AsyBim {
|
||||
private String bimProgressIpPort;
|
||||
|
||||
@Async("bimExecutor")
|
||||
public void asynAddProgressTask(BIMProgressTaskRqBody bimProgressTaskRqBody) {
|
||||
public Future<Object> asyncAddProgressTask(BIMProgressTaskRqBody bimProgressTaskRqBody) {
|
||||
if (StringUtils.isNotBlank(bimProgressIpPort)) {
|
||||
String url = bimProgressIpPort + "/Other/SaveProgress";
|
||||
String body = JSON.toJSONString(bimProgressTaskRqBody);
|
||||
@ -58,12 +60,24 @@ public class AsyBim {
|
||||
}
|
||||
*/
|
||||
}
|
||||
return new AsyncResult<>(null);
|
||||
}
|
||||
|
||||
@Async("bimExecutor")
|
||||
public void asynDeleteProgressTask(String floor, String major) {
|
||||
public Future<Object> asyncDeleteProgressTask(BIMProgressTaskRqBody body) {
|
||||
if (StringUtils.isNotBlank(bimProgressIpPort)) {
|
||||
String url = bimProgressIpPort + "/Other/DeleteProgress?floor=" + floor + "&major=" + major;
|
||||
String floor = body.getFloor();
|
||||
String major = body.getMajor();
|
||||
String district = body.getDistrict();
|
||||
String building = body.getBuilding();
|
||||
Integer projectId = body.getProjectId();
|
||||
String url = bimProgressIpPort + "/Other/DeleteProgress?floor=" + floor + "&major=" + major + "&projectId=" + projectId;
|
||||
if (StringUtils.isNotBlank(district)) {
|
||||
url += "&district=" + district;
|
||||
}
|
||||
if (StringUtils.isNotBlank(building)) {
|
||||
url += "&building=" + building;
|
||||
}
|
||||
log.info("http调用bim删除进度:url:{}", url);
|
||||
String rs = HttpUtil.post(url, new HashMap<>());
|
||||
log.info("http调用bim删除进度结果:{}", rs);
|
||||
@ -82,5 +96,6 @@ public class AsyBim {
|
||||
}
|
||||
*/
|
||||
}
|
||||
return new AsyncResult<>(null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@ -24,6 +25,7 @@ import com.zhgd.xmgl.modules.project.entity.BIMProgressTaskRqBody;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProgressTask;
|
||||
import com.zhgd.xmgl.modules.project.entity.dto.ProgressTaskPredecessorDTO;
|
||||
import com.zhgd.xmgl.modules.project.entity.vo.ActualProgressVO;
|
||||
import com.zhgd.xmgl.modules.project.enums.LevelNameEnum;
|
||||
import com.zhgd.xmgl.modules.project.mapper.ProgressTaskMapper;
|
||||
import com.zhgd.xmgl.modules.project.service.ProgressTaskService;
|
||||
import com.zhgd.xmgl.util.ProfileJudgeUtil;
|
||||
@ -43,10 +45,13 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 进度甘特图(ProgressTask)表服务实现类
|
||||
@ -96,64 +101,110 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
log.info("原progressTasks:{}", JSON.toJSONString(progressTasks));
|
||||
progressTaskMapper.delete(Wrappers.lambdaQuery(ProgressTask.class).eq(ProgressTask::getProjectSn, projectSn));
|
||||
|
||||
if (isBIMAsyncEnable()) {
|
||||
//调用BIM同步删除数据
|
||||
List<BIMProgressTaskRqBody> deleteList = getBimTasksByProgressTasks(progressTasks);
|
||||
if (CollUtil.isNotEmpty(deleteList)) {
|
||||
for (BIMProgressTaskRqBody body : deleteList) {
|
||||
asyBim.asynDeleteProgressTask(body.getFloor(), body.getMajor());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Collection<ProgressTask> progressTaskList = analysisMpp(mppFile, projectSn, createUserId);
|
||||
log.info("importData的新增数据:{}", progressTaskList);
|
||||
|
||||
|
||||
checkBIMLevelName(progressTaskList);
|
||||
List<Future<Object>> futures = deleteBimTasksIfEnable(progressTasks);
|
||||
|
||||
if (CollUtil.isNotEmpty(progressTaskList)) {
|
||||
progressTaskMapper.insertBatch(progressTaskList);
|
||||
if (isBIMAsyncEnable()) {
|
||||
//调用BIM同步添加数据
|
||||
List<BIMProgressTaskRqBody> bimProgressTaskRqBodies = getBimTasksByProgressTasks(progressTasks);
|
||||
if (CollUtil.isNotEmpty(bimProgressTaskRqBodies)) {
|
||||
for (BIMProgressTaskRqBody bimProgressTaskRqBody : bimProgressTaskRqBodies) {
|
||||
asyBim.asynAddProgressTask(bimProgressTaskRqBody);
|
||||
}
|
||||
|
||||
waitBIMDone(futures);
|
||||
addBimTasksIfEnable(progressTaskList.stream().collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
private void waitBIMDone(List<Future<Object>> futures) {
|
||||
for (Future<Object> future : futures) {
|
||||
try {
|
||||
future.get();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} catch (ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBIMLevelName(Collection<ProgressTask> progressTasks) {
|
||||
if (isBIMAsyncEnable()) {
|
||||
List<String> levelNames = Stream.of(LevelNameEnum.values()).map(LevelNameEnum::getLevelName).collect(Collectors.toList());
|
||||
if (!progressTasks.stream().allMatch(e -> StringUtils.isNotBlank(e.getLevelName()) && levelNames.contains(e.getLevelName()))) {
|
||||
throw new OpenAlertException("层级名称为空或不在(区、栋、专业、层)之中");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addBimTasksIfEnable(List<ProgressTask> progressTasks) {
|
||||
if (isBIMAsyncEnable()) {
|
||||
//调用BIM同步添加数据
|
||||
List<BIMProgressTaskRqBody> bimProgressTaskRqBodies = buildBimTasksByProgressTasks(progressTasks);
|
||||
if (CollUtil.isNotEmpty(bimProgressTaskRqBodies)) {
|
||||
for (BIMProgressTaskRqBody bimProgressTaskRqBody : bimProgressTaskRqBodies) {
|
||||
asyBim.asyncAddProgressTask(bimProgressTaskRqBody);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<Future<Object>> deleteBimTasksIfEnable(List<ProgressTask> progressTasks) {
|
||||
ArrayList<Future<Object>> futures = new ArrayList<>();
|
||||
if (isBIMAsyncEnable()) {
|
||||
//调用BIM同步删除数据
|
||||
List<BIMProgressTaskRqBody> deleteList = buildBimTasksByProgressTasks(progressTasks);
|
||||
if (CollUtil.isNotEmpty(deleteList)) {
|
||||
for (BIMProgressTaskRqBody body : deleteList) {
|
||||
futures.add(asyBim.asyncDeleteProgressTask(body));
|
||||
}
|
||||
}
|
||||
}
|
||||
return futures;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算BIM同步添加数据
|
||||
* 构建BIM同步的数据
|
||||
*
|
||||
* @param progressTasks
|
||||
* @return
|
||||
*/
|
||||
private List<BIMProgressTaskRqBody> getBimTasksByProgressTasks(List<ProgressTask> progressTasks) {
|
||||
private List<BIMProgressTaskRqBody> buildBimTasksByProgressTasks(List<ProgressTask> progressTasks) {
|
||||
ArrayList<BIMProgressTaskRqBody> bimProgressTaskRqBodies = new ArrayList<>();
|
||||
Map<Long, ProgressTask> topIdMap = progressTasks.stream().filter(progressTask -> progressTask.getParentId().equals(0L))
|
||||
.collect(Collectors.toMap(ProgressTask::getId, progressTask -> progressTask));
|
||||
if (CollUtil.isNotEmpty(topIdMap)) {
|
||||
for (ProgressTask progressTask : progressTasks) {
|
||||
ProgressTask pt = topIdMap.get(progressTask.getParentId());
|
||||
Matcher matcher = floorPattern.matcher(progressTask.getTaskName());
|
||||
if (matcher.find()) {
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask, pt.getTaskName(), matcher.group());
|
||||
bimProgressTaskRqBodies.add(body);
|
||||
} else {
|
||||
/*
|
||||
只有 地下室地板 是不带楼层的,那么我传给你:
|
||||
major:结构施工,floor:地下室地板
|
||||
*/
|
||||
if (progressTask.getTaskName().contains(basement)) {
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask, "结构施工", basement);
|
||||
bimProgressTaskRqBodies.add(body);
|
||||
}
|
||||
}
|
||||
Map<Long, ProgressTask> idMap = progressTasks.stream().collect(Collectors.toMap(ProgressTask::getId, progressTask -> progressTask));
|
||||
for (ProgressTask progressTask : progressTasks) {
|
||||
Matcher matcher = floorPattern.matcher(progressTask.getTaskName());
|
||||
if (matcher.find()) {
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask,
|
||||
getLevelContent(progressTask, idMap, LevelNameEnum.major.getLevelName()),
|
||||
matcher.group(),
|
||||
getLevelContent(progressTask, idMap, LevelNameEnum.district.getLevelName()),
|
||||
getLevelContent(progressTask, idMap, LevelNameEnum.building.getLevelName()));
|
||||
bimProgressTaskRqBodies.add(body);
|
||||
} else if (progressTask.getTaskName().contains(basement)) {
|
||||
//只有 地下室地板 是不带楼层的,那么我传给你:major:结构施工,floor:地下室地板
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask,
|
||||
"结构施工",
|
||||
basement,
|
||||
getLevelContent(progressTask, idMap, LevelNameEnum.district.getLevelName()),
|
||||
getLevelContent(progressTask, idMap, LevelNameEnum.building.getLevelName()));
|
||||
bimProgressTaskRqBodies.add(body);
|
||||
}
|
||||
}
|
||||
return bimProgressTaskRqBodies;
|
||||
}
|
||||
|
||||
private String getLevelContent(ProgressTask progressTask, Map<Long, ProgressTask> idMap, String levelName) {
|
||||
while (progressTask != null) {
|
||||
if (Objects.equals(progressTask.getLevelName(), levelName)) {
|
||||
return progressTask.getTaskName();
|
||||
}
|
||||
progressTask = idMap.get(progressTask.getParentId());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取bim的添加进度管理的md5签名
|
||||
*
|
||||
@ -308,6 +359,8 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
}
|
||||
// 负责人名称
|
||||
String dutyUserName = task.getText(1);
|
||||
//层级名称(区、栋、专业、层)
|
||||
progressTask.setLevelName(task.getText(3));
|
||||
progressTask.setDutyUserName(dutyUserName);
|
||||
userNameSet.add(dutyUserName);
|
||||
|
||||
@ -365,6 +418,15 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
throw new RuntimeException("progressTask不存在");
|
||||
}
|
||||
List<ProgressTask> progressTasks = progressTaskMapper.selectList(new LambdaQueryWrapper<ProgressTask>().eq(ProgressTask::getProjectSn, progressTask.getProjectSn()));
|
||||
if (isBIMAsyncEnable()) {
|
||||
try {
|
||||
//同步数据到bim,删除bim
|
||||
List<ProgressTask> allList = progressTaskMapper.selectList(new LambdaQueryWrapper<ProgressTask>().eq(ProgressTask::getProjectSn, progressTask.getProjectSn()));
|
||||
deleteBimTaskIfExistInList(allList, id);
|
||||
} catch (Exception e) {
|
||||
log.error("err:", e);
|
||||
}
|
||||
}
|
||||
|
||||
List<ProgressTask> childrenList = getChildrenAsList(progressTask, progressTasks);
|
||||
childrenList.add(progressTask);
|
||||
@ -405,23 +467,16 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
progressTaskMapper.updateById(progressTask);
|
||||
|
||||
if (isBIMAsyncEnable()) {
|
||||
//同步数据到bim,先删除再更新bim
|
||||
if (progressTask.getParentId() != 0) {
|
||||
ProgressTask top = progressTaskMapper.selectById(progressTask.getParentId());
|
||||
String floorName = getFloorName(old);
|
||||
if (floorName != null) {
|
||||
asyBim.asynDeleteProgressTask(floorName, top.getTaskName());
|
||||
}
|
||||
String newFloorName = getFloorName(progressTask);
|
||||
if (newFloorName != null) {
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask, top.getTaskName(), newFloorName);
|
||||
asyBim.asynAddProgressTask(body);
|
||||
} else {
|
||||
if (progressTask.getTaskName().contains(basement)) {
|
||||
BIMProgressTaskRqBody body = buildBimTask(progressTask, "结构施工", basement);
|
||||
asyBim.asynAddProgressTask(body);
|
||||
}
|
||||
}
|
||||
try {
|
||||
//同步数据到bim,先删除再添加bim
|
||||
List<ProgressTask> allList = progressTaskMapper.selectList(new LambdaQueryWrapper<ProgressTask>().eq(ProgressTask::getProjectSn, old.getProjectSn()));
|
||||
List<ProgressTask> oldList = ObjectUtil.cloneByStream(allList);
|
||||
oldList.stream().filter(e -> e.getId().equals(old.getId())).forEach(e -> e.setTaskName(old.getTaskName()));
|
||||
List<Future<Object>> futures = deleteBimTaskIfExistInList(oldList, old.getId());
|
||||
waitBIMDone(futures);
|
||||
addBimTaskIfExistInList(allList, progressTask.getId());
|
||||
} catch (Exception e) {
|
||||
log.error("err:", e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -437,23 +492,18 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
return profileJudgeUtil.isZjsj() || profileJudgeUtil.isShahu();
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建bim的task对象
|
||||
*
|
||||
* @param progressTask
|
||||
* @param major
|
||||
* @param newFloorName
|
||||
* @return
|
||||
*/
|
||||
private BIMProgressTaskRqBody buildBimTask(ProgressTask progressTask, String major, String newFloorName) {
|
||||
private BIMProgressTaskRqBody buildBimTask(ProgressTask progressTask, String major, String floorName, String district, String building) {
|
||||
BIMProgressTaskRqBody body = new BIMProgressTaskRqBody();
|
||||
body.setFloor(convertFloorName(newFloorName));
|
||||
body.setFloor(convertFloorName(floorName));
|
||||
body.setMajor(major);
|
||||
body.setPlanStartTime(getDateFormatForBimAddProgressTask(progressTask.getStartDate()));
|
||||
body.setPlanFinishTime(getDateFormatForBimAddProgressTask(progressTask.getFinishDate()));
|
||||
body.setActualStartTime(getDateFormatForBimAddProgressTask(progressTask.getActualStartDate()));
|
||||
body.setActualFinishTime(getDateFormatForBimAddProgressTask(progressTask.getActualFinishDate()));
|
||||
body.setStatus(convertToBimProgressTaskStatus(progressTask));
|
||||
body.setDistrict(district);
|
||||
body.setBuilding(building);
|
||||
body.setProgressTaskId(progressTask.getId());
|
||||
if (profileJudgeUtil.isZjsj()) {
|
||||
body.setProjectId(1);
|
||||
} else if (profileJudgeUtil.isShahu()) {
|
||||
@ -517,21 +567,34 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
progressTaskMapper.insert(progressTask);
|
||||
|
||||
sanjiangDataCall.sendAddProgressTask(progressTask);
|
||||
}
|
||||
|
||||
private String getFloorName(ProgressTask progressTask) {
|
||||
String name = null;
|
||||
Matcher matcher = floorPattern.matcher(progressTask.getTaskName());
|
||||
if (matcher.find()) {
|
||||
name = convertFloorName(matcher.group());
|
||||
} else {
|
||||
if (StringUtils.isNotBlank(progressTask.getTaskName())) {
|
||||
if (progressTask.getTaskName().contains(basement)) {
|
||||
name = basement;
|
||||
}
|
||||
if (isBIMAsyncEnable()) {
|
||||
try {
|
||||
//同步数据到bim,先删除再更新bim
|
||||
List<ProgressTask> allList = progressTaskMapper.selectList(new LambdaQueryWrapper<ProgressTask>().eq(ProgressTask::getProjectSn, progressTask.getProjectSn()));
|
||||
addBimTaskIfExistInList(allList, progressTask.getId());
|
||||
} catch (Exception e) {
|
||||
log.error("err:", e);
|
||||
}
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
private List<Future<Object>> deleteBimTaskIfExistInList(List<ProgressTask> allList, Long id) {
|
||||
List<BIMProgressTaskRqBody> bimProgressTaskRqBodies = buildBimTasksByProgressTasks(allList);
|
||||
ArrayList<Future<Object>> futures = new ArrayList<>();
|
||||
bimProgressTaskRqBodies.stream().filter(e -> e.getProgressTaskId().equals(id))
|
||||
.forEach(e -> {
|
||||
futures.add(asyBim.asyncDeleteProgressTask(e));
|
||||
});
|
||||
return futures;
|
||||
}
|
||||
|
||||
private void addBimTaskIfExistInList(List<ProgressTask> allList, Long id) {
|
||||
List<BIMProgressTaskRqBody> bimProgressTaskRqBodies = buildBimTasksByProgressTasks(allList);
|
||||
bimProgressTaskRqBodies.stream().filter(e -> e.getProgressTaskId().equals(id))
|
||||
.forEach(e -> {
|
||||
asyBim.asyncAddProgressTask(e);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -693,14 +756,14 @@ public class ProgressTaskServiceImpl extends ServiceImpl<ProgressTaskMapper, Pro
|
||||
public void autoTaskUpdateForBim() {
|
||||
if (isBIMAsyncEnable()) {
|
||||
List<ProgressTask> progressTasks = progressTaskMapper.selectList(new LambdaQueryWrapper<>());
|
||||
List<BIMProgressTaskRqBody> bimTasksByProgressTasks = getBimTasksByProgressTasks(progressTasks);
|
||||
List<BIMProgressTaskRqBody> bimTasksByProgressTasks = buildBimTasksByProgressTasks(progressTasks);
|
||||
if (CollUtil.isNotEmpty(bimTasksByProgressTasks)) {
|
||||
for (BIMProgressTaskRqBody body : bimTasksByProgressTasks) {
|
||||
//0未开始不同步,其他的全部同步
|
||||
//0未开始 ,1进行中,2已完成,3已逾期
|
||||
Integer status = body.getStatus();
|
||||
if (!Objects.equals(status, 0)) {
|
||||
asyBim.asynAddProgressTask(body);
|
||||
asyBim.asyncAddProgressTask(body);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,10 +129,6 @@ public class TckwWireRopeInspectionRecord implements Serializable {
|
||||
@ApiModelProperty(value = "远程设备id")
|
||||
private Long remoteId;
|
||||
|
||||
@ApiModelProperty(value = "报警信息")
|
||||
@TableField(exist = false)
|
||||
private String alarmInfo;
|
||||
|
||||
@ApiModelProperty(value = "钢丝绳检测损伤记录列表")
|
||||
@TableField(exist = false)
|
||||
private List<TckwWireRopeInspectionDamageRecord> damageRecordList;
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user