package com.ruoyi.inspect.controller;
|
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.core.domain.Result;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.inspect.pojo.StaffCompetencyInspectItemConfig;
|
import com.ruoyi.inspect.service.StaffCompetencyInspectItemConfigService;
|
import io.swagger.annotations.Api;
|
import org.apache.commons.lang3.ArrayUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 人员能力-检验项配置
|
*/
|
@Api("人员能力-检验项配置")
|
@RestController
|
@RequestMapping("/staffCompetencyInspectItemConfig")
|
public class StaffCompetencyInspectItemConfigController {
|
|
@Autowired
|
private StaffCompetencyInspectItemConfigService configService;
|
|
/**
|
* 获取检验项点列表
|
*/
|
@GetMapping("/list")
|
public Result list(StaffCompetencyInspectItemConfig config)
|
{
|
List<StaffCompetencyInspectItemConfig> configs = configService.selectConfigList(config);
|
return Result.success(configs);
|
}
|
|
/**
|
* 查询检验项点列表(排除节点)
|
*/
|
@GetMapping("/list/exclude/{configId}")
|
public Result excludeChild(@PathVariable(value = "configId", required = false) Long configId)
|
{
|
StaffCompetencyInspectItemConfig itemConfig = new StaffCompetencyInspectItemConfig();
|
itemConfig.setIsEnable(Boolean.TRUE);
|
List<StaffCompetencyInspectItemConfig> configs = configService.selectConfigList(itemConfig);
|
configs.removeIf(c -> c.getParentId().intValue() == configId || ArrayUtils.contains(StringUtils.split(c.getAncestors(), ","), configId + ""));
|
return Result.success(configs);
|
}
|
|
/**
|
* 根据检验项点编号获取详细信息
|
*/
|
@GetMapping(value = "/{configId}")
|
public Result getInfo(@PathVariable Long configId)
|
{
|
return Result.success(configService.selectConfigById(configId));
|
}
|
|
/**
|
* 新增检验项点
|
*/
|
@Log(title = "人员能力-检验项配置", businessType = BusinessType.INSERT)
|
@PostMapping
|
public Result add(@Validated @RequestBody StaffCompetencyInspectItemConfig config)
|
{
|
if (!configService.checkItemNameUnique(config))
|
{
|
return Result.fail("新增检验项点'" + config.getItemName() + "'失败,项点名称已存在");
|
}
|
return Result.success(configService.insertConfig(config));
|
}
|
|
/**
|
* 修改检验项点
|
*/
|
@Log(title = "人员能力-检验项配置", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public Result edit(@Validated @RequestBody StaffCompetencyInspectItemConfig config)
|
{
|
Long configId = config.getId();
|
if (!configService.checkItemNameUnique(config))
|
{
|
return Result.fail("修改检验项点'" + config.getItemName() + "'失败,项点名称已存在");
|
}
|
else if (config.getParentId().equals(configId))
|
{
|
return Result.fail("修改检验项点'" + config.getItemName() + "'失败,上级项点不能是自己");
|
}
|
else if (!config.getIsEnable() && configService.selectNormalChildrenConfigById(configId) > 0)
|
{
|
return Result.fail("该检验项点包含未停用的子项点!");
|
}
|
return Result.success(configService.updateConfig(config));
|
}
|
|
/**
|
* 删除部门
|
*/
|
@Log(title = "人员能力-检验项配置", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{configId}")
|
public Result remove(@PathVariable Long configId)
|
{
|
if (configService.hasChildByConfigId(configId))
|
{
|
return Result.fail("存在下级检验项点,不允许删除");
|
}
|
return Result.success(configService.deleteConfigById(configId));
|
}
|
|
|
|
}
|