Browse Source

fix: 完善问题流程的当前处理对象

fit: 预警线索列表
fit: 模型编辑新增建模方式、数据类型
main
wxc 1 year ago
parent
commit
958ea15961
  1. 31
      src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelClueController.java
  2. 35
      src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelClueRecordController.java
  3. 12
      src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java
  4. 15
      src/main/java/com/biutag/supervision/controller/system/DictController.java
  5. 4
      src/main/java/com/biutag/supervision/flow/action/ApplyCompletionAction.java
  6. 3
      src/main/java/com/biutag/supervision/flow/action/FirstApproveReturnAction.java
  7. 3
      src/main/java/com/biutag/supervision/flow/action/SecondApproveAction.java
  8. 3
      src/main/java/com/biutag/supervision/flow/action/SecondApproveReturnAction.java
  9. 2
      src/main/java/com/biutag/supervision/flow/action/SecondSignReturnAction.java
  10. 3
      src/main/java/com/biutag/supervision/flow/action/ThreeSignReturnAction.java
  11. 8
      src/main/java/com/biutag/supervision/mapper/ModelClueRecordMapper.java
  12. 21
      src/main/java/com/biutag/supervision/pojo/entity/Model.java
  13. 9
      src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java
  14. 38
      src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java
  15. 39
      src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java
  16. 23
      src/main/java/com/biutag/supervision/pojo/param/ModelClueQueryParam.java
  17. 2
      src/main/java/com/biutag/supervision/service/HolidayService.java
  18. 11
      src/main/java/com/biutag/supervision/service/ModelClueRecordService.java
  19. 39
      src/main/java/com/biutag/supervision/service/ModelClueService.java
  20. 4
      src/main/java/com/biutag/supervision/service/SupDepartService.java

31
src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelClueController.java

@ -0,0 +1,31 @@
package com.biutag.supervision.controller.sensitivePerception;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.ModelClue;
import com.biutag.supervision.pojo.model.ModelClueModel;
import com.biutag.supervision.pojo.param.ModelClueQueryParam;
import com.biutag.supervision.pojo.param.ModelQueryParam;
import com.biutag.supervision.service.ModelClueService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wxc
* @date 2024/10/16
*/
@RequestMapping("model/clues")
@RequiredArgsConstructor
@RestController
public class ModelClueController {
private final ModelClueService modelClueService;
@GetMapping
public Result<Page<ModelClueModel>> page(ModelClueQueryParam param) {
return Result.success(modelClueService.page(param));
}
}

35
src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelClueRecordController.java

@ -0,0 +1,35 @@
package com.biutag.supervision.controller.sensitivePerception;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.ModelClueRecord;
import com.biutag.supervision.service.ModelClueRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wxc
* @date 2024/10/16
*/
@RequestMapping("model/clue/records")
@RequiredArgsConstructor
@RestController
public class ModelClueRecordController {
private final ModelClueRecordService modelClueRecordService;
@GetMapping("/{modelId}/top")
public Result<List<ModelClueRecord>> list(@PathVariable Integer modelId) {
LambdaUpdateWrapper<ModelClueRecord> queryWrapper = new LambdaUpdateWrapper<ModelClueRecord>()
.set(ModelClueRecord::getModelId, modelId)
.orderByDesc(ModelClueRecord::getCreateTime);
return Result.success(modelClueRecordService.page(new Page<>(1, 8), queryWrapper).getRecords());
}
}

12
src/main/java/com/biutag/supervision/controller/sensitivePerception/ModelController.java

@ -69,4 +69,16 @@ public class ModelController {
return Result.success(); return Result.success();
} }
@PutMapping
public Result<Model> update(@RequestBody Model model) {
model.setUpdateTime(LocalDateTime.now());
modelService.updateById(model);
return Result.success(model);
}
@DeleteMapping("{id}")
public Result<Boolean> del(@PathVariable Integer id) {
return Result.success(modelService.removeById(id));
}
} }

15
src/main/java/com/biutag/supervision/controller/system/DictController.java

@ -3,6 +3,7 @@ package com.biutag.supervision.controller.system;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.DictDataDto; import com.biutag.supervision.pojo.dto.DictDataDto;
@ -48,8 +49,22 @@ public class DictController {
SupDictType supDictType = new SupDictType(); SupDictType supDictType = new SupDictType();
BeanUtil.copyProperties(dictType, supDictType); BeanUtil.copyProperties(dictType, supDictType);
supDictType.setUpdateTime(LocalDateTime.now()); supDictType.setUpdateTime(LocalDateTime.now());
LambdaQueryWrapper<SupDictType> queryWrapper = new LambdaQueryWrapper<SupDictType>().ne(SupDictType::getDictId, dictType.getDictId()).eq(SupDictType::getDictType, dictType.getDictType());
if (dictTypeService.exists(queryWrapper)) {
throw new RuntimeException("字典类型已存在");
}
SupDictType oldSupDictType = dictTypeService.getById(dictType.getDictId());
if (!oldSupDictType.getDictType().equals(supDictType.getDictType())) {
// 更新
dictDataService.update(new LambdaUpdateWrapper<SupDictData>().eq(SupDictData::getDictType, oldSupDictType.getDictType()).set(SupDictData::getDictType, dictType.getDictType()));
}
return Result.success(dictTypeService.updateById(supDictType)); return Result.success(dictTypeService.updateById(supDictType));
} }
@DeleteMapping("{dictId}")
public Result<Boolean> update(@PathVariable Integer dictId) {
return Result.success(dictTypeService.removeById(dictId));
}
@GetMapping("{dictType}/dictData") @GetMapping("{dictType}/dictData")
public Result<Page<SupDictData>> list(Page<SupDictData> page, @PathVariable String dictType) { public Result<Page<SupDictData>> list(Page<SupDictData> page, @PathVariable String dictType) {
return Result.success(dictDataService.page(page, new LambdaQueryWrapper<SupDictData>() return Result.success(dictDataService.page(page, new LambdaQueryWrapper<SupDictData>()

4
src/main/java/com/biutag/supervision/flow/action/ApplyCompletionAction.java

@ -68,7 +68,9 @@ public class ApplyCompletionAction implements Action {
.set(Negative::getCheckStatusName, verifyData.getCheckStatusName()) .set(Negative::getCheckStatusName, verifyData.getCheckStatusName())
.set(Negative::getIsRectifyCode, verifyData.getIsRectifyCode()) .set(Negative::getIsRectifyCode, verifyData.getIsRectifyCode())
.set(Negative::getIsRectifyName, verifyData.getIsRectifyName()) .set(Negative::getIsRectifyName, verifyData.getIsRectifyName())
.set(Negative::getAccountabilityTarget, verifyData.getAccountabilityTarget()); .set(Negative::getAccountabilityTarget, verifyData.getAccountabilityTarget())
// 当前处理对象
.set(Negative::getCurrentProcessingObject, negative.getIsSecondHandle() ? "市局专班" : String.format("%s专班", negative.getHandleSecondDepartName()));
// 未整改 // 未整改
if (IsRectifyEnum.NOT.getValue().equals(verifyData.getIsRectifyCode())) { if (IsRectifyEnum.NOT.getValue().equals(verifyData.getIsRectifyCode())) {
updateWrapper.set(Negative::getRectifyRestrictionDays, verifyData.getRectifyRestrictionDays()); updateWrapper.set(Negative::getRectifyRestrictionDays, verifyData.getRectifyRestrictionDays());

3
src/main/java/com/biutag/supervision/flow/action/FirstApproveReturnAction.java

@ -42,9 +42,12 @@ public class FirstApproveReturnAction implements Action {
} }
public void updateNegative(String negativeId, String nextFlowKey) { public void updateNegative(String negativeId, String nextFlowKey) {
Negative negative = negativeService.getById(negativeId);
negativeService.update(new LambdaUpdateWrapper<Negative>() negativeService.update(new LambdaUpdateWrapper<Negative>()
.set(Negative::getFlowKey, nextFlowKey) .set(Negative::getFlowKey, nextFlowKey)
.set(Negative::getUpdTime, LocalDateTime.now()) .set(Negative::getUpdTime, LocalDateTime.now())
// 当前处理对象
.set(Negative::getCurrentProcessingObject, String.format("%s专班", negative.getHandleSecondDepartName()))
.eq(Negative::getId, negativeId)); .eq(Negative::getId, negativeId));
} }

3
src/main/java/com/biutag/supervision/flow/action/SecondApproveAction.java

@ -56,7 +56,8 @@ public class SecondApproveAction implements Action {
.set(Negative::getProcessingStatus, ProcessingStatusEnum.completed.name()) .set(Negative::getProcessingStatus, ProcessingStatusEnum.completed.name())
.set(Negative::getCompleteDate, LocalDateTime.now()); .set(Negative::getCompleteDate, LocalDateTime.now());
} else { } else {
updateWrapper.set(Negative::getFlowKey, nextFlowKey); updateWrapper.set(Negative::getFlowKey, nextFlowKey)
.set(Negative::getCurrentProcessingObject, "市局专班");
} }
negativeService.update(updateWrapper); negativeService.update(updateWrapper);
} }

3
src/main/java/com/biutag/supervision/flow/action/SecondApproveReturnAction.java

@ -43,10 +43,13 @@ public class SecondApproveReturnAction implements Action {
} }
public void updateNegative(String negativeId, String nextFlowKey) { public void updateNegative(String negativeId, String nextFlowKey) {
Negative negative = negativeService.getById(negativeId);
negativeService.update(new LambdaUpdateWrapper<Negative>() negativeService.update(new LambdaUpdateWrapper<Negative>()
.set(Negative::getFlowKey, nextFlowKey) .set(Negative::getFlowKey, nextFlowKey)
.set(Negative::getUpdTime, LocalDateTime.now()) .set(Negative::getUpdTime, LocalDateTime.now())
.set(Negative::getProcessingStatus, ProcessingStatusEnum.processing.name()) .set(Negative::getProcessingStatus, ProcessingStatusEnum.processing.name())
// 当前处理对象
.set(Negative::getCurrentProcessingObject, String.format("%s专班", negative.getHandleThreeDepartName()))
.eq(Negative::getId, negativeId)); .eq(Negative::getId, negativeId));
} }

2
src/main/java/com/biutag/supervision/flow/action/SecondSignReturnAction.java

@ -46,6 +46,8 @@ public class SecondSignReturnAction implements Action {
negativeService.update(new LambdaUpdateWrapper<Negative>() negativeService.update(new LambdaUpdateWrapper<Negative>()
.set(Negative::getFlowKey, nextFlowKey) .set(Negative::getFlowKey, nextFlowKey)
.set(Negative::getUpdTime, LocalDateTime.now()) .set(Negative::getUpdTime, LocalDateTime.now())
// 当前处理对象
.set(Negative::getCurrentProcessingObject, "市局专班")
.eq(Negative::getId, negativeId)); .eq(Negative::getId, negativeId));
} }

3
src/main/java/com/biutag/supervision/flow/action/ThreeSignReturnAction.java

@ -47,10 +47,13 @@ public class ThreeSignReturnAction implements Action {
} }
public void updateNegative(String negativeId, String nextFlowKey) { public void updateNegative(String negativeId, String nextFlowKey) {
Negative negative = negativeService.getById(negativeId);
negativeService.update(new LambdaUpdateWrapper<Negative>() negativeService.update(new LambdaUpdateWrapper<Negative>()
.set(Negative::getFlowKey, nextFlowKey) .set(Negative::getFlowKey, nextFlowKey)
.set(Negative::getUpdTime, LocalDateTime.now()) .set(Negative::getUpdTime, LocalDateTime.now())
.set(Negative::getProcessingStatus, ProcessingStatusEnum.signing.name()) .set(Negative::getProcessingStatus, ProcessingStatusEnum.signing.name())
// 当前处理对象
.set(Negative::getCurrentProcessingObject, String.format("%s专班", negative.getHandleSecondDepartName()))
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
.set(Negative::getCheckStatus, null) .set(Negative::getCheckStatus, null)
.set(Negative::getCheckStatusName, null) .set(Negative::getCheckStatusName, null)

8
src/main/java/com/biutag/supervision/mapper/ModelClueRecordMapper.java

@ -0,0 +1,8 @@
package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.entity.ModelClueRecord;
public interface ModelClueRecordMapper extends BaseMapper<ModelClueRecord> {
}

21
src/main/java/com/biutag/supervision/pojo/entity/Model.java

@ -35,11 +35,17 @@ public class Model {
@TableField("distribution_method") @TableField("distribution_method")
private String distributionMethod; private String distributionMethod;
// // 分发周期
@TableField("distribution_cycle") @TableField("distribution_cycle")
private String distributionCycle; private String distributionCycle;
// // 分发周期 周
private String distributionCycleDayOfWeek;
// 分发周期 时间
private String distributionCycleTime;
// 限时
@TableField("time_limit") @TableField("time_limit")
private String timeLimit; private String timeLimit;
@ -59,15 +65,14 @@ public class Model {
@TableField("distribution_flow") @TableField("distribution_flow")
private String distributionFlow; private String distributionFlow;
//
@TableField("approval_flow") @TableField("approval_flow")
private String approvalFlow; private String approvalFlow;
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@TableField("create_time") @TableField("create_time")
private LocalDateTime createTime; private LocalDateTime createTime;
@JsonFormat(pattern = "YYYY-MM-dd HH:mm") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@TableField("update_time") @TableField("update_time")
private LocalDateTime updateTime; private LocalDateTime updateTime;
@ -75,4 +80,10 @@ public class Model {
private String createDepartName; private String createDepartName;
// 建模方式
private String modelingMethod;
// 模型数据类型
private String modelDataType;
} }

9
src/main/java/com/biutag/supervision/pojo/entity/ModelClue.java

@ -24,6 +24,8 @@ public class ModelClue {
@TableField("involve_depart_name") @TableField("involve_depart_name")
private String involveDepartName; private String involveDepartName;
private String involveDepartId;
// 涉及人员 // 涉及人员
@TableField("involve_personnel_name") @TableField("involve_personnel_name")
private String involvePersonnelName; private String involvePersonnelName;
@ -33,11 +35,12 @@ public class ModelClue {
private String thingDesc; private String thingDesc;
// 分发状态 // 分发状态
@TableField("distribution_staus") @TableField("distribution_state")
private String distributionStaus; private String distributionState;
//
@TableField("create_time") @TableField("create_time")
private LocalDateTime createTime; private LocalDateTime createTime;
private String data;
} }

38
src/main/java/com/biutag/supervision/pojo/entity/ModelClueRecord.java

@ -0,0 +1,38 @@
package com.biutag.supervision.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Setter
@Getter
public class ModelClueRecord {
//
@TableId(type = IdType.AUTO)
private Integer id;
// 模型ID
private String modelId;
// 条数
@TableField("size")
private Integer size;
// 创建时间
@TableField("create_time")
private LocalDateTime createTime;
// 状态 success-成功 fail-失败
@TableField("state")
private String state;
// 异常详情
@TableField("err_msg")
private String errMsg;
}

39
src/main/java/com/biutag/supervision/pojo/model/ModelClueModel.java

@ -0,0 +1,39 @@
package com.biutag.supervision.pojo.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
/**
*
* @author wxc
* @date 2024/10/16
*/
@Setter
@Getter
public class ModelClueModel {
private Integer id;
private Integer modelId;
private String modelName;
// 涉及单位
private String involveDepartName;
// 预警内容
private String thingDesc;
// 分发状态
private String distributionState;
@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
private LocalDateTime createTime;
private String data;
}

23
src/main/java/com/biutag/supervision/pojo/param/ModelClueQueryParam.java

@ -0,0 +1,23 @@
package com.biutag.supervision.pojo.param;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author wxc
* @date 2024/10/16
*/
@Setter
@Getter
public class ModelClueQueryParam extends BasePage {
private Integer modelId;
private String modelType;
private List<LocalDateTime> createTime;
private Integer involveDepartId;
private String thingDesc;
private String distributionState;
}

2
src/main/java/com/biutag/supervision/service/HolidayService.java

@ -33,7 +33,7 @@ public class HolidayService extends ServiceImpl<HolidayMapper, Holiday> {
} }
Holiday holiday = getOne(new LambdaUpdateWrapper<Holiday>().eq(Holiday::getDate, date)); Holiday holiday = getOne(new LambdaUpdateWrapper<Holiday>().eq(Holiday::getDate, date));
if (Objects.isNull(holiday)) { if (Objects.isNull(holiday)) {
log.error("节假日 {} 数据未找到"); log.error("节假日 {} 数据未找到", date);
return false; return false;
} }
redisTemplate.opsForValue().set(String.format("holiday:%s", date), holiday.getFlag()); redisTemplate.opsForValue().set(String.format("holiday:%s", date), holiday.getFlag());

11
src/main/java/com/biutag/supervision/service/ModelClueRecordService.java

@ -0,0 +1,11 @@
package com.biutag.supervision.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.pojo.entity.ModelClueRecord;
import com.biutag.supervision.mapper.ModelClueRecordMapper;
import org.springframework.stereotype.Service;
@Service
public class ModelClueRecordService extends ServiceImpl<ModelClueRecordMapper, ModelClueRecord> {
}

39
src/main/java/com/biutag/supervision/service/ModelClueService.java

@ -1,11 +1,50 @@
package com.biutag.supervision.service; package com.biutag.supervision.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.pojo.entity.Model;
import com.biutag.supervision.pojo.entity.ModelClue; import com.biutag.supervision.pojo.entity.ModelClue;
import com.biutag.supervision.mapper.ModelClueMapper; import com.biutag.supervision.mapper.ModelClueMapper;
import com.biutag.supervision.pojo.model.ModelClueModel;
import com.biutag.supervision.pojo.param.ModelClueQueryParam;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
@RequiredArgsConstructor
@Service @Service
public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> { public class ModelClueService extends ServiceImpl<ModelClueMapper, ModelClue> {
private final ModelService modelService;
public Page<ModelClueModel> page(ModelClueQueryParam param) {
LambdaQueryWrapper<ModelClue> queryWrapper = new LambdaQueryWrapper<ModelClue>()
.eq(Objects.nonNull(param.getInvolveDepartId()), ModelClue::getInvolveDepartId, param.getInvolveDepartId())
.eq(StrUtil.isNotBlank(param.getDistributionState()), ModelClue::getDistributionState, param.getDistributionState())
.like(StrUtil.isNotBlank(param.getThingDesc()), ModelClue::getThingDesc, param.getThingDesc())
.orderByDesc(ModelClue::getCreateTime);
Page<ModelClue> page = page(Page.of(param.getCurrent(), param.getSize()), queryWrapper);
if (page.getRecords().isEmpty()) {
return new Page<ModelClueModel>().setRecords(new ArrayList<>()).setTotal(0);
}
Set<Integer> modelIds = page.getRecords().stream().map(ModelClue::getModelId).collect(Collectors.toSet());
List<Model> models = modelService.listByIds(modelIds);
List<ModelClueModel> list = page.getRecords().stream().map(item -> {
ModelClueModel modelClueModel = new ModelClueModel();
BeanUtil.copyProperties(item, modelClueModel);
String modelName = models.stream().filter(model -> model.getId().equals(item.getModelId())).findFirst().map(Model::getModelName).orElse("");
modelClueModel.setModelName(modelName);
return modelClueModel;
}).toList();
return new Page<ModelClueModel>().setRecords(list).setTotal(page.getTotal());
}
} }

4
src/main/java/com/biutag/supervision/service/SupDepartService.java

@ -32,7 +32,6 @@ public class SupDepartService extends ServiceImpl<SupDepartMapper, SupDepart> {
public List<SupDepart> listByEnabled() { public List<SupDepart> listByEnabled() {
return list(new LambdaQueryWrapper<SupDepart>() return list(new LambdaQueryWrapper<SupDepart>()
.ne(SupDepart::getId, AppConstants.ROOT_DEPART_ID)
.notIn(SupDepart::getLevel, List.of(4, 5)) .notIn(SupDepart::getLevel, List.of(4, 5))
.eq(SupDepart::getStatus, StatusEnum.ENABLE.getValue()) .eq(SupDepart::getStatus, StatusEnum.ENABLE.getValue())
.orderByAsc(SupDepart::getOrderNo)); .orderByAsc(SupDepart::getOrderNo));
@ -116,8 +115,7 @@ public class SupDepartService extends ServiceImpl<SupDepartMapper, SupDepart> {
node.setHasChildren(!depart.getLevel().equals(4) && departs.stream().anyMatch(item -> node.getId().equals(item.getPid()))); node.setHasChildren(!depart.getLevel().equals(4) && departs.stream().anyMatch(item -> node.getId().equals(item.getPid())));
List<DepartTree> children = childMap.computeIfAbsent(node.getPid(), k -> new ArrayList<>()); List<DepartTree> children = childMap.computeIfAbsent(node.getPid(), k -> new ArrayList<>());
children.add(node); children.add(node);
String pid = node.getPid(); if (AppConstants.ROOT_DEPART_ID.equals(node.getId())) {
if (AppConstants.ROOT_DEPART_ID.equals(pid)) {
tree.add(node); tree.add(node);
} }
} }

Loading…
Cancel
Save