指标库:删除指标
This commit is contained in:
parent
e0199799a0
commit
8585429bc5
@ -82,4 +82,11 @@ public class TargetController {
|
||||
Page<?> result = targetService.getDataByParam(params);
|
||||
return R.ok(result);
|
||||
}
|
||||
|
||||
@Operation(summary = "删除指标")
|
||||
@PostMapping("/deleteTargetById")
|
||||
public R<?> deleteTargetById(@RequestBody JSONObject params) {
|
||||
targetService.deleteTargetById(params);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
@ -26,4 +26,6 @@ public interface TargetService extends IService<Target> {
|
||||
JSONObject getDetailTarget(JSONObject params);
|
||||
|
||||
Page<?> getDataByParam(JSONObject params);
|
||||
|
||||
void deleteTargetById(JSONObject params);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import iet.ustb.sf.util.CheckUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.lang3.SerializationUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -59,6 +60,8 @@ public class TargetServiceImpl extends ServiceImpl<TargetMapper, Target>
|
||||
|
||||
@Resource
|
||||
private RuleMapper ruleMapper;
|
||||
@Autowired
|
||||
private MonitorMapper monitorMapper;
|
||||
|
||||
@Override
|
||||
public IPage<Target> getTargetsByCategory(JSONObject params) {
|
||||
@ -405,6 +408,46 @@ public class TargetServiceImpl extends ServiceImpl<TargetMapper, Target>
|
||||
return SqlRunner.db().selectPage(page, String.valueOf(sql));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteTargetById(JSONObject params) {
|
||||
String id = params.getString("id").trim();
|
||||
CheckUtils.checkEmpty(id, "指标ID");
|
||||
Target target = new Target();
|
||||
target.setId(id);
|
||||
|
||||
long count = targetMapper.selectCount(new QueryWrapper<Target>().eq("parent", id));
|
||||
ThrowUtils.throwIf(count > 0, ErrorCode.OPERATION_ERROR, "有衍生指标存在,无法删除!");
|
||||
ThrowUtils.throwIf(
|
||||
hasTogeth(id),
|
||||
ErrorCode.OPERATION_ERROR,
|
||||
"有聚合指标使用了该指标,无法删除!"
|
||||
);
|
||||
List<Analysis> analysisList = analysisMapper.selectList(new QueryWrapper<Analysis>().eq("target_id", id));
|
||||
ThrowUtils.throwIf(
|
||||
analysisList != null && !analysisList.isEmpty(),
|
||||
ErrorCode.OPERATION_ERROR,
|
||||
"当前指标有图表存在,无法删除!"
|
||||
);
|
||||
|
||||
Target oldTarget = targetMapper.selectById(id);
|
||||
if (!StringUtils.isEmpty(oldTarget.getCategoryId())) {
|
||||
categoryDeal(oldTarget, null);
|
||||
}
|
||||
targetMapper.deleteById(id);
|
||||
targetOptionMapper.delete(new QueryWrapper<TargetOption>().eq("target_id", id));
|
||||
ruleMapper.delete(new QueryWrapper<Rule>().eq("target_id", id));
|
||||
targetDataMapper.delete(new QueryWrapper<TargetData>().eq("target_id", id));
|
||||
monitorMapper.delete(new QueryWrapper<Monitor>().eq("target_id", id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看指标详情
|
||||
*
|
||||
* @param optionList 字段列表
|
||||
* @param target 指标
|
||||
* @return 详情
|
||||
*/
|
||||
private JSONObject getDetailTarget(List<TargetOption> optionList, Target target) {
|
||||
List<TargetOption> show = new ArrayList<>();
|
||||
List<TargetOption> search = new ArrayList<>();
|
||||
|
Loading…
Reference in New Issue
Block a user