package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.modules.eam.entity.ShutdownCause; import org.jeecg.modules.eam.entity.ShutdownCauseCategory; import org.jeecg.modules.eam.mapper.ShutdownCauseMapper; import org.jeecg.modules.eam.service.IShutDownCauseCategoryService; import org.jeecg.modules.eam.service.IShutdownCauseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * @Description: mom_eam_shutdown_cause * @Author: jeecg-boot * @Date: 2023-03-16 * @Version: V1.0 */ @Service public class ShutdownCauseServiceImpl extends ServiceImpl implements IShutdownCauseService { @Autowired private IShutDownCauseCategoryService shutDownCauseCategoryService; @Override public List loadTree() { // 根节点 CommonGenericTree rootNode = initRootNode(); // 停机原因 List shutdownCauseCategoryList = shutDownCauseCategoryService.list(); List shutdownCauseCategoryTree = new ArrayList(); for (ShutdownCauseCategory shutdownCauseCategory : shutdownCauseCategoryList) { shutdownCauseCategoryTree.add(shutdownCauseCategory2Tree(shutdownCauseCategory)); } // 停机原因 List shutdownCauseList = this.list(); List shutdownCauseTree = new ArrayList(); shutdownCauseCategoryTree = this.list2Tree(shutdownCauseCategoryTree, shutdownCauseTree); for (CommonGenericTree temp : shutdownCauseCategoryTree) { rootNode.addChildren(temp); } // 返回的结果是list List list = new ArrayList<>(); list.add(rootNode); return list; } private CommonGenericTree initRootNode() { CommonGenericTree node = new CommonGenericTree<>(); node.setKey("-1"); node.setTitle("停机原因"); node.setType(0); node.setDisabled(true); node.setEntity(null); node.setValue("-1"); return node; } private List list2Tree(List parentList, List childList) { for (CommonGenericTree tree : parentList) { String id = tree.getKey(); for (CommonGenericTree cTree : childList) { if (id.equals(cTree.getParentId())) { tree.addChildren(cTree); } } } return parentList; } private CommonGenericTree shutdownCauseCategory2Tree(ShutdownCauseCategory shutdownCauseCategory) { CommonGenericTree shutdownCauseCategoryNode = new CommonGenericTree<>(); shutdownCauseCategoryNode.setKey(shutdownCauseCategory.getId()); shutdownCauseCategoryNode.setTitle(shutdownCauseCategory.getNum() + "/" + shutdownCauseCategory.getName()); shutdownCauseCategoryNode.setParentId("-1"); shutdownCauseCategoryNode.setIcon(""); shutdownCauseCategoryNode.setType(1); shutdownCauseCategoryNode.setDisabled(true); shutdownCauseCategoryNode.setEntity(shutdownCauseCategory); shutdownCauseCategoryNode.setValue(shutdownCauseCategory.getId()); return shutdownCauseCategoryNode; } }