yangys
2025-08-30 86c8efdb19a2f4be79a947650ef62ed79382011b
blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
@@ -10,7 +10,7 @@
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.gkw.programnode.entity.MachineFile;
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;
@@ -55,20 +55,29 @@
    * 生成工控网树
    * @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(String.valueOf(workshop.getId()));
         node.setName(workshop.getDeptName());
         node.setNodeType("workshop");
         roots.add(node);
      //   roots.add(node);
         workshopsVOList.add(node);
         //加入车间下的工段
         List<TreeDept> gongduanList = treeDeptService.lambdaQuery().eq(TreeDept::getParentId,workshop.getId())
            .orderByAsc(TreeDept::getSort).list();
@@ -87,12 +96,14 @@
               nodeMachine.setId(String.valueOf(machine.getId()));
               nodeMachine.setMachineCode(machine.getCode());
               nodeMachine.setNodeType("machine");
               addFolderNodes(nodeMachine);
               addFolderNodes(nodeMachine,includeSend);
               nodeGd.addChildren(nodeMachine);
            });
         }
      }
      rootVO.setChildren(workshopsVOList);
      return roots;
   }
@@ -101,15 +112,20 @@
    * 加入3个文件夹节点
    * @param nodeMachine 机床节点
    */
   void addFolderNodes(ProgramNodeVO nodeMachine){
   void addFolderNodes(ProgramNodeVO nodeMachine,String 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");
      //sendNode.setParentId(nodeMachine.getId());
      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);
@@ -117,6 +133,7 @@
      recNode.setMachineCode(nodeMachine.getMachineCode());
      recNode.setDirType(MachineFile.DIR_TYPE_REC);
      recNode.setNodeType("dir");
      dirNodes.add(recNode);
      ProgramNodeVO tempNode = new ProgramNodeVO();
      tempNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_TEMP);
@@ -124,7 +141,9 @@
      tempNode.setMachineCode(nodeMachine.getMachineCode());
      tempNode.setDirType(MachineFile.DIR_TYPE_TEMP);
      tempNode.setNodeType("dir");
      nodeMachine.setChildren(Arrays.asList(sendNode,recNode,tempNode));
      dirNodes.add(tempNode);
      nodeMachine.setChildren(dirNodes);
   }
   /**