| | |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.commons.contants.ParamConstants; |
| | | import org.springblade.mdm.commons.service.ParamService; |
| | | import org.springblade.mdm.machinefile.entity.MachineFile; |
| | | import org.springblade.mdm.gkw.programnode.entity.ProgramNode; |
| | | import org.springblade.mdm.gkw.programnode.entity.TreeDept; |
| | | import org.springblade.mdm.gkw.programnode.mapper.ProgramNodeMapper; |
| | |
| | | * 生成工控网树 |
| | | * @return 树根节点集合 |
| | | */ |
| | | public List<ProgramNodeVO> loadTree() { |
| | | Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE)); |
| | | public List<ProgramNodeVO> loadTree(String includeSend) { |
| | | |
| | | Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE)); |
| | | Long rootDeptId = Func.toLong(paramService.rootDetpId()); |
| | | TreeDept root = treeDeptService.getById(rootDeptId); |
| | | List<ProgramNodeVO> roots = new ArrayList<>(); |
| | | ProgramNodeVO rootVO = new ProgramNodeVO(); |
| | | rootVO.setNodeType("factory"); |
| | | rootVO.setName(root.getDeptName()); |
| | | rootVO.setId(rootVO.getId()); |
| | | roots.add(rootVO); |
| | | |
| | | List<TreeDept> workshops = treeDeptService.lambdaQuery().eq(TreeDept::getDeptCategory,workshoptDictVal) |
| | | .orderByAsc(TreeDept::getSort).list(); |
| | | |
| | | List<ProgramNodeVO> workshopsVOList = new ArrayList<>(); |
| | | for(TreeDept workshop : workshops) { |
| | | ProgramNodeVO node = new ProgramNodeVO(); |
| | | node.setId(workshop.getId()); |
| | | node.setId(String.valueOf(workshop.getId())); |
| | | node.setName(workshop.getDeptName()); |
| | | |
| | | roots.add(node); |
| | | |
| | | node.setNodeType("workshop"); |
| | | // roots.add(node); |
| | | workshopsVOList.add(node); |
| | | //加入车间下的工段 |
| | | List<TreeDept> gongduanList = treeDeptService.lambdaQuery().eq(TreeDept::getParentId,workshop.getId()) |
| | | .orderByAsc(TreeDept::getSort).list(); |
| | | for(TreeDept gd : gongduanList){ |
| | | ProgramNodeVO nodeGd = new ProgramNodeVO(); |
| | | nodeGd.setId(nodeGd.getId()); |
| | | nodeGd.setId(String.valueOf(gd.getId())); |
| | | nodeGd.setName(gd.getDeptName()); |
| | | nodeGd.setParentId(gd.getParentId()); |
| | | |
| | | nodeGd.setNodeType("seg"); |
| | | node.addChildren(nodeGd); |
| | | |
| | | //加入工段下的机床 |
| | | machineService.lambdaQuery().eq(Machine::getOwnerDept,gd.getId()).list().forEach(machine -> { |
| | | ProgramNodeVO nodeMachine = new ProgramNodeVO(); |
| | | nodeMachine.setName(machine.getCode()); |
| | | nodeMachine.setId(machine.getId()); |
| | | nodeMachine.setId(String.valueOf(machine.getId())); |
| | | nodeMachine.setMachineCode(machine.getCode()); |
| | | addFolderNodes(nodeMachine); |
| | | nodeMachine.setNodeType("machine"); |
| | | addFolderNodes(nodeMachine,includeSend); |
| | | |
| | | nodeGd.addChildren(nodeMachine); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | rootVO.setChildren(workshopsVOList); |
| | | |
| | | return roots; |
| | | } |
| | |
| | | * 加入3个文件夹节点 |
| | | * @param nodeMachine 机床节点 |
| | | */ |
| | | void addFolderNodes(ProgramNodeVO nodeMachine){ |
| | | void addFolderNodes(ProgramNodeVO nodeMachine,String includeSend){ |
| | | |
| | | ProgramNodeVO sendNode = new ProgramNodeVO(); |
| | | sendNode.setName("SEND"); |
| | | sendNode.setMachineCode(nodeMachine.getMachineCode()); |
| | | sendNode.setDirType("SEND"); |
| | | List<ProgramNodeVO> dirNodes = new ArrayList<>(); |
| | | if(!"0".equals(includeSend)){ |
| | | ProgramNodeVO sendNode = new ProgramNodeVO(); |
| | | sendNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_SEND); |
| | | sendNode.setName("SEND"); |
| | | sendNode.setMachineCode(nodeMachine.getMachineCode()); |
| | | sendNode.setDirType(MachineFile.DIR_TYPE_SEND); |
| | | sendNode.setNodeType("dir"); |
| | | |
| | | dirNodes.add(sendNode); |
| | | } |
| | | |
| | | |
| | | ProgramNodeVO recNode = new ProgramNodeVO(); |
| | | recNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_REC); |
| | | recNode.setName("REC"); |
| | | recNode.setMachineCode(nodeMachine.getMachineCode()); |
| | | recNode.setDirType("REC"); |
| | | recNode.setDirType(MachineFile.DIR_TYPE_REC); |
| | | recNode.setNodeType("dir"); |
| | | dirNodes.add(recNode); |
| | | |
| | | ProgramNodeVO tempNode = new ProgramNodeVO(); |
| | | tempNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_TEMP); |
| | | tempNode.setName("TEMP"); |
| | | tempNode.setMachineCode(nodeMachine.getMachineCode()); |
| | | tempNode.setDirType("TEMP"); |
| | | tempNode.setDirType(MachineFile.DIR_TYPE_TEMP); |
| | | tempNode.setNodeType("dir"); |
| | | dirNodes.add(tempNode); |
| | | |
| | | nodeMachine.setChildren(Arrays.asList(sendNode,recNode,tempNode)); |
| | | nodeMachine.setChildren(dirNodes); |
| | | } |
| | | |
| | | /** |
| | | * 树查询 |
| | | * @param keyword 关键字 |
| | | * @return 搜索道德机器列表 |
| | | */ |
| | | public List<String> treeSearch(String keyword) { |
| | | return machineService.lambdaQuery() |
| | | .like(Machine::getCode,keyword) |
| | | .list().stream().map(m -> {return Func.toStr(m.getId());}).toList(); |
| | | } |
| | | } |