package com.zy.common.utils; 
 | 
  
 | 
import com.alibaba.excel.EasyExcel; 
 | 
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; 
 | 
import com.core.common.SpringUtils; 
 | 
import com.zy.asrs.entity.Node; 
 | 
import com.zy.asrs.entity.Tag; 
 | 
import com.zy.asrs.service.NodeService; 
 | 
import com.zy.asrs.service.TagService; 
 | 
import com.zy.common.entity.NodeExcel; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.io.IOException; 
 | 
import java.net.URLEncoder; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * Created by vincent on 2021/1/19 
 | 
 */ 
 | 
public class NodeUtils { 
 | 
  
 | 
    public StringBuilder path = new StringBuilder(); 
 | 
  
 | 
    public StringBuilder pathName = new StringBuilder(); 
 | 
  
 | 
    public void executePath(Node node) { 
 | 
        NodeService bean = SpringUtils.getBean(NodeService.class); 
 | 
        Node parent = bean.selectById(node.getParentId()); 
 | 
        if (null != parent) { 
 | 
            path.insert(0, parent.getId()).insert(0, ","); 
 | 
            pathName.insert(0, parent.getName()).insert(0, ","); 
 | 
            if (parent.getParentId() != null) { 
 | 
                executePath(parent); 
 | 
            } else { 
 | 
                path.deleteCharAt(0); 
 | 
                pathName.deleteCharAt(0); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void executePath(Tag tag) { 
 | 
        TagService bean = SpringUtils.getBean(TagService.class); 
 | 
        Tag parent = bean.selectById(tag.getParentId()); 
 | 
        if (null != parent) { 
 | 
            path.insert(0, parent.getId()).insert(0, ","); 
 | 
            pathName.insert(0, parent.getName()).insert(0, ","); 
 | 
            if (parent.getParentId() != null) { 
 | 
                executePath(parent); 
 | 
            } else { 
 | 
                path.deleteCharAt(0); 
 | 
                pathName.deleteCharAt(0); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void executePath(Long parentId) { 
 | 
        TagService bean = SpringUtils.getBean(TagService.class); 
 | 
        Tag parent = bean.selectById(parentId); 
 | 
        if (null != parent) { 
 | 
            path.insert(0, parent.getId()).insert(0, ","); 
 | 
            pathName.insert(0, parent.getName()).insert(0, ","); 
 | 
            if (parent.getParentId() != null) { 
 | 
                executePath(parent); 
 | 
            } else { 
 | 
                path.deleteCharAt(0); 
 | 
                pathName.deleteCharAt(0); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
    /*************************************** 数据相关 ***********************************************/ 
 | 
  
 | 
    /** 
 | 
     * excel导入模板下载 
 | 
     */ 
 | 
    @RequestMapping(value = "/node/excel/import/mould") 
 | 
    public void nodeExcelImportMould(HttpServletResponse response) throws IOException { 
 | 
        List<NodeExcel> excels = new ArrayList<>(); 
 | 
        response.setContentType("application/vnd.ms-excel"); 
 | 
        response.setCharacterEncoding("utf-8"); 
 | 
        String fileName = URLEncoder.encode("货位档案Excel导入模板", "UTF-8"); 
 | 
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); 
 | 
        EasyExcel.write(response.getOutputStream(), NodeExcel.class) 
 | 
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) 
 | 
                .sheet("sheet1") 
 | 
                .doWrite(excels); 
 | 
    } 
 | 
  
 | 
} 
 |