| | |
| | | import com.core.common.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import zy.cloud.wms.common.utils.ListUtils; |
| | | import zy.cloud.wms.common.utils.TreeUtils; |
| | | import zy.cloud.wms.common.web.BaseController; |
| | | import zy.cloud.wms.manager.entity.Node; |
| | | import zy.cloud.wms.manager.service.NodeService; |
| | | import zy.cloud.wms.manager.utils.NodeUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | public class NodeController extends BaseController { |
| | | |
| | | @Autowired |
| | | private NodeService nodeService; |
| | | @Autowired |
| | | private TreeUtils treeUtils; |
| | | |
| | | @RequestMapping(value = "/node/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | @RequestMapping(value = "/node/add/auth") |
| | | @ManagerAuth |
| | | public R add(Node node) { |
| | | if (node.getType() != 1) { |
| | | Node parentNode = nodeService.selectById(node.getParentId()); |
| | | if (parentNode == null || parentNode.getStatus() == 0) { |
| | | return R.error(node.getType()==2?"所属仓库不存在":"所属库区不存在"); |
| | | } |
| | | node.setParentName(parentNode.getName()); |
| | | node.setLevel(parentNode.getLevel() + 1); |
| | | } |
| | | // path |
| | | NodeUtils nodeUtils = new NodeUtils(); |
| | | nodeUtils.executePath(node); |
| | | node.setPath(nodeUtils.path.toString()); |
| | | node.setNamePath(nodeUtils.pathName.toString()); |
| | | |
| | | node.setLevel(node.getType()); |
| | | node.setCreateBy(getUserId()); |
| | | node.setCreateTime(new Date()); |
| | | node.setUpdateBy(getUserId()); |
| | | node.setUpdateTime(new Date()); |
| | | node.setStatus(1); |
| | | nodeService.insert(node); |
| | | return R.ok(); |
| | | } |
| | |
| | | if (Cools.isEmpty(node) || null==node.getId()){ |
| | | return R.error(); |
| | | } |
| | | if (node.getType() != 1) { |
| | | Node parentNode = nodeService.selectById(node.getParentId()); |
| | | if (parentNode == null || parentNode.getStatus() == 0) { |
| | | return R.error(node.getType()==2?"所属仓库不存在":"所属库区不存在"); |
| | | } |
| | | node.setParentName(parentNode.getName()); |
| | | node.setLevel(parentNode.getLevel() + 1); |
| | | } |
| | | // path |
| | | NodeUtils nodeUtils = new NodeUtils(); |
| | | nodeUtils.executePath(node); |
| | | node.setPath(nodeUtils.path.toString()); |
| | | node.setNamePath(nodeUtils.pathName.toString()); |
| | | |
| | | node.setUpdateBy(getUserId()); |
| | | node.setUpdateTime(new Date()); |
| | | nodeService.updateById(node); |
| | | return R.ok(); |
| | | } |
| | |
| | | @ManagerAuth |
| | | public R query(String condition) { |
| | | EntityWrapper<Node> wrapper = new EntityWrapper<>(); |
| | | wrapper.like("name", condition); |
| | | wrapper.like("name", condition).or().like("uuid", condition); |
| | | Page<Node> page = nodeService.selectPage(new Page<>(0, 10), wrapper); |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | for (Node node : page.getRecords()){ |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("id", node.getId()); |
| | | map.put("value", node.getName()); |
| | | map.put("value", node.getUuid() + "(" +node.getName()+ ")"); |
| | | result.add(map); |
| | | } |
| | | return R.ok(result); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping(value = "/parent/node/group") |
| | | public R getParentNodeGroup(@RequestParam(required = false) String condition, |
| | | @RequestParam Integer type) { |
| | | List<Node> nodes = nodeService.selectList(new EntityWrapper<Node>().eq("type", type).eq("status", 1)); |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | for (Node node : nodes) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("key", node.getId()); |
| | | map.put("val", node.getName()); |
| | | result.add(map); |
| | | } |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @PostMapping(value = "/node/tree/auth") |
| | | @ManagerAuth |
| | | public R tree(@RequestParam(required = false, defaultValue = "") String condition) throws IOException, ClassNotFoundException { |
| | | ArrayList<Map> tree = treeUtils.getNodeTree(String.valueOf(getOriginNode().getId())); |
| | | // 深拷贝 |
| | | List<Map> result = ListUtils.deepCopy(tree); |
| | | if (!Cools.isEmpty(condition)) { |
| | | treeUtils.remove(condition, result); |
| | | treeUtils.remove(condition, result); |
| | | } |
| | | return R.ok(result); |
| | | } |
| | | |
| | | |
| | | } |