DepotController.java 4.11 KB
package com.ruoyi.service.controller;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.service.domain.*;
import com.ruoyi.service.service.DepotService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 库房维护
 * 
 * @author ruoyi
 */
@RestController
@RequestMapping("/service/depot")
public class DepotController extends BaseController
{


    @Autowired
    private DepotService depotService;

    @GetMapping("/treeselect")
    public AjaxResult treeselect(SysDept dept)
    {
        List<Tree> tree=depotService.treeSelect();
        return AjaxResult.success(tree);
    }

   // @PreAuthorize("@ss.hasPermi('system:user:list')")
    @GetMapping("/depotList")
    public TableDataInfo depotList(Depot depot)
    {
        startPage();
        List<Depot> list = depotService.depotList(depot);
        return getDataTable(list);
    }

    @GetMapping("/regionList")
    public TableDataInfo regionList(Region region)
    {
        startPage();
        List<Region> list = depotService.regionList(region);
        return getDataTable(list);
    }

    @GetMapping("/columnList")
    public TableDataInfo columnList(Column column)
    {
        startPage();
        List<Column> list = depotService.columnList(column);
        return getDataTable(list);
    }

    @GetMapping("/nodeList")
    public TableDataInfo nodeList(Node node)
    {
        startPage();
        List<Node> list = depotService.nodeList(node);
        return getDataTable(list);
    }


    @PostMapping("/add")
    public AjaxResult add(@Validated @RequestBody JSONObject jsonObject)
    {
        if(jsonObject.containsKey("depotNo")){
            return depotService.addDepot(jsonObject);
        }
        else if(jsonObject.containsKey("regionNo")){
            return depotService.addRegion(jsonObject);
        }
        else if(jsonObject.containsKey("columnNo")){
            return depotService.addColumn(jsonObject);
        }
        else if(jsonObject.containsKey("nodeNo")){
            return depotService.addNode(jsonObject);
        }
        return  toAjax(0);
    }

    @PostMapping("/upd")
    public AjaxResult updDepot(@Validated @RequestBody JSONObject jsonObject)
    {
        if(jsonObject.containsKey("depotNo")){
            return depotService.updDepot(jsonObject);
        }
        else if(jsonObject.containsKey("regionNo")){
            return depotService.updRegion(jsonObject);
        }
        else if(jsonObject.containsKey("columnNo")){
            return depotService.updColumn(jsonObject);
        }
        return  toAjax(0);
    }


    @DeleteMapping("/delDepot/{id}")
    public AjaxResult delDepot(@PathVariable Long id)
    {
        return toAjax(depotService.delDepot(id));
    }

    @DeleteMapping("/delRegion/{id}")
    public AjaxResult delRegion(@PathVariable Long id)
    {
        return toAjax(depotService.delRegion(id));
    }

    @DeleteMapping("/deColumn/{id}")
    public AjaxResult deColumn(@PathVariable Long id)
    {
        return toAjax(depotService.deColumn(id));
    }

    @DeleteMapping("/delNode/{id}")
    public AjaxResult delNode(@PathVariable Long id)
    {
        return toAjax(depotService.delNode(id));
    }

    @GetMapping("/getDepots")
    public AjaxResult getDepots()
    {
        AjaxResult ajax = AjaxResult.success();
        List<Depot> list = depotService.depotList(null);
        ajax.put("depotOptions",list);
        return ajax;
    }

}