指标库:删除指标
This commit is contained in:
parent
e0199799a0
commit
8585429bc5
@ -82,4 +82,11 @@ public class TargetController {
|
|||||||
Page<?> result = targetService.getDataByParam(params);
|
Page<?> result = targetService.getDataByParam(params);
|
||||||
return R.ok(result);
|
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);
|
JSONObject getDetailTarget(JSONObject params);
|
||||||
|
|
||||||
Page<?> getDataByParam(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 jakarta.annotation.Resource;
|
||||||
import org.apache.commons.lang3.SerializationUtils;
|
import org.apache.commons.lang3.SerializationUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -59,6 +60,8 @@ public class TargetServiceImpl extends ServiceImpl<TargetMapper, Target>
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RuleMapper ruleMapper;
|
private RuleMapper ruleMapper;
|
||||||
|
@Autowired
|
||||||
|
private MonitorMapper monitorMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<Target> getTargetsByCategory(JSONObject params) {
|
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));
|
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) {
|
private JSONObject getDetailTarget(List<TargetOption> optionList, Target target) {
|
||||||
List<TargetOption> show = new ArrayList<>();
|
List<TargetOption> show = new ArrayList<>();
|
||||||
List<TargetOption> search = new ArrayList<>();
|
List<TargetOption> search = new ArrayList<>();
|
||||||
|
Loading…
Reference in New Issue
Block a user