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);
|
}
|
|
}
|