package com.dg.core.controller;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dg.core.ResultData;
|
import com.dg.core.annotation.Authorization;
|
import com.dg.core.db.gen.entity.ClassifyAdministration;
|
import com.dg.core.db.gen.entity.OrganizationChartEntity;
|
import com.dg.core.db.gen.entity.TransactionEvent;
|
import com.dg.core.service.IClassifyAdministrationService;
|
import com.dg.core.service.ITransactionEventService;
|
import com.dg.core.util.TableDataInfo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.Assert;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
/**
|
* 分类管理
|
*/
|
@Api(tags = {"分类管理接口"})
|
@RestController
|
@RequestMapping("/classify")
|
public class ClassifyAdministrationController extends BaseController
|
{
|
|
@Autowired(required = true)
|
IClassifyAdministrationService iClassifyAdministrationService;
|
|
@Autowired(required = true)
|
ITransactionEventService iTransactionEventService;
|
|
/**
|
* 获取管理菜单列表
|
* @return
|
*/
|
@ApiOperation(value = "获取管理菜单列表(无分页)",response = ClassifyAdministration.class)
|
@GetMapping("/getList")
|
@Authorization
|
public TableDataInfo selectConfigList(@RequestParam(value = "classifyGrade",required = false) String classifyGrade)
|
{
|
int num=iClassifyAdministrationService.countNum("",classifyGrade);
|
return getDataTable(iClassifyAdministrationService.selectConfigList("",classifyGrade),num);
|
}
|
|
/**
|
* 获取管理菜单列表(已分级)
|
* @return
|
*/
|
@ApiOperation(value = " 获取管理菜单列表(已分级)",response = ClassifyAdministration.class)
|
@GetMapping("/getListByParentId")
|
public TableDataInfo selectConfigListByParentId(@RequestParam(value = "pageNum",required = false) Integer pageNum,
|
@RequestParam(value = "pageSize",required = false) Integer pageSize,
|
@RequestParam(value = "parentId",required = false) String parentId,
|
@RequestParam(value = "departmentId",required = false) Integer departmentId){
|
Assert.notNull(pageNum, "pageNum can not be empty");
|
Assert.notNull(pageSize, "pageSize can not be empty");
|
int num=iClassifyAdministrationService.countNum("",null);
|
Page<ClassifyAdministration> pageParam = new Page<>(pageNum,pageSize);
|
return getDataTable(iClassifyAdministrationService.selectRootList(pageParam,pageSize,parentId,departmentId),num);
|
}
|
|
|
|
/**
|
* 获取管理菜单列表
|
* @return
|
*/
|
@ApiOperation(value = "获取管理菜单列表",response = ClassifyAdministration.class)
|
@GetMapping("/getListPage")
|
@Authorization
|
public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
|
@RequestParam(value = "pageSize",required = false) Integer pageSize,
|
@RequestParam(value = "name",required = false) String name,
|
@RequestParam(value = "classifyGrade",required = false) String classifyGrade)
|
{
|
Assert.notNull(pageNum, "pageNum can not be empty");
|
Assert.notNull(pageSize, "pageSize can not be empty");
|
Page<ClassifyAdministration> pageParam = new Page<>(pageNum,pageSize);
|
List<ClassifyAdministration> list = iClassifyAdministrationService.selectConfigList(pageParam,pageSize,name,classifyGrade);
|
int num=iClassifyAdministrationService.countNum(name,classifyGrade);
|
return getDataTable(list,num);
|
}
|
|
|
/**
|
* 新增分类
|
* @param entity
|
* @return
|
*/
|
@ApiOperation(value = "新增分类",response = ClassifyAdministration.class)
|
@PostMapping("/add")
|
@Authorization
|
public ResultData insertConfig(@RequestBody ClassifyAdministration entity) {
|
Assert.notNull(entity, "参数不能为空");
|
Assert.notNull(entity.getClassifyName(), "分类名称不能为空");
|
Assert.notNull(entity.getClassifyGrade(), "分类等级不能为空");
|
if(StringUtils.equals(entity.getClassifyGrade(),"2"))
|
{
|
Assert.notNull(entity.getParentId(), "上级分类不能为空");
|
}
|
return toAjax(iClassifyAdministrationService.insertConfig(entity));
|
}
|
|
/**
|
* 更新分类
|
* @param entity
|
* @return
|
*/
|
@ApiOperation("编辑分类")
|
@PostMapping("/update")
|
@Authorization
|
public ResultData updateConfig(@RequestBody ClassifyAdministration entity)
|
{
|
return toAjax(iClassifyAdministrationService.updateConfig(entity));
|
}
|
|
/**
|
* 删除分类
|
* @param Id
|
* @return
|
*/
|
@ApiOperation("删除分类")
|
@DeleteMapping("/delete/{Id}")
|
@Authorization
|
public ResultData deleteConfigById(@PathVariable("Id") String Id)
|
{
|
if(StringUtils.isEmpty(Id))
|
{
|
return ResultData.error("id 不能为空");
|
}
|
|
/**
|
* 根据上级id查询子分类
|
* @param parentId
|
* @return
|
*/
|
List<String> list=iClassifyAdministrationService.selectParent(Id);
|
if(list!=null && list.size()>0)
|
{
|
return ResultData.error("请先删除其下的二级分类");
|
}
|
|
List<String> listIds=iTransactionEventService.selectclassifyId(Id);
|
if(listIds!=null && listIds.size()>0)
|
{
|
return ResultData.error("分类下有办事指南!不能删除");
|
}
|
|
return toAjax(iClassifyAdministrationService.deleteConfigById(Id));
|
}
|
|
/**
|
* 获取分类根据id 如果是二级id则获取的是办事指南
|
* @return
|
*/
|
@ApiOperation("获取分类根据id 如果是二级id则获取的是办事指南,不传参默认是0")
|
@GetMapping("/queryListById")
|
ResultData queryListById(@RequestParam(value = "id",required = false) Integer id){
|
if(id==null)
|
id=0;
|
return iClassifyAdministrationService.queryListById(id);
|
}
|
|
|
|
/**
|
* 树状分类选择列表
|
* @return
|
*/
|
@ApiOperation("树状分类选择列表")
|
@GetMapping("/getClassifyList")
|
public TableDataInfo getClassifyList()
|
{
|
List<ClassifyAdministration> list=iClassifyAdministrationService.selectConfigList("","1");
|
|
for(ClassifyAdministration entity:list)
|
{
|
entity.setClassifyAdministrationEntityList(iClassifyAdministrationService.selectParentData(entity.getId()+""));
|
}
|
return getDataTable(list);
|
}
|
|
|
|
|
|
}
|