From 097d13e723b109176fff23d29b73cd518fab248f Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 4 Sep 2024 16:36:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E6=A0=B8=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AssessIndicatorController.java | 6 + .../controller/AssessTemplateController.java | 76 +++++++++++ .../xyt/controller/InspectItemController.java | 4 +- .../xyt/mapper/AssessIndicatorMapper.java | 19 +++ .../AssessTemplateIndicatorRelMapper.java | 15 ++ .../xyt/mapper/AssessTemplateMapper.java | 29 ++++ .../project/xyt/model/AssessIndicator.java | 11 ++ .../project/xyt/model/AssessTemplate.java | 129 ++++++++++++++++++ .../xyt/model/AssessTemplateIndicatorRel.java | 53 +++++++ .../xyt/service/AssessIndicatorService.java | 24 ++++ .../AssessTemplateIndicatorRelService.java | 47 +++++++ .../xyt/service/AssessTemplateService.java | 92 +++++++++++++ .../xyt/service/InspectItemService.java | 19 +++ 13 files changed, 522 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java create mode 100644 src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java create mode 100644 src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java create mode 100644 src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java create mode 100644 src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java create mode 100644 src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java create mode 100644 src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java index cf39658..93f4391 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/AssessIndicatorController.java @@ -59,4 +59,10 @@ public class AssessIndicatorController { return R.ok(service.pageQuery(page)); } + @Operation(summary = "选择指标") + @PostMapping("/choose") + public R> choosePage(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.choosePage(page)); + } + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java new file mode 100644 index 0000000..827bdc2 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/AssessTemplateController.java @@ -0,0 +1,76 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.entity.dto.InspectItemDto; +import com.gunshi.project.xyt.entity.so.AttCctvBasePage; +import com.gunshi.project.xyt.model.AssessIndicator; +import com.gunshi.project.xyt.model.AssessTemplate; +import com.gunshi.project.xyt.service.AssessTemplateService; +import com.gunshi.project.xyt.validate.markers.Insert; +import com.gunshi.project.xyt.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Tag(name = "考核模板") +@RestController +@RequestMapping(value="/assessTemplate") +public class AssessTemplateController { + + @Autowired + private AssessTemplateService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody AssessTemplate dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody AssessTemplate dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "启停") + @PostMapping("/startStop") + public R startStop(@RequestBody InspectItemDto dto) { + return R.ok(service.startStop(dto)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.lambdaQuery().list()); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated AttCctvBasePage page) { + return R.ok(service.pageQuery(page)); + } + + @Operation(summary = "根据模板id查询关联的指标") + @GetMapping("/queryIndicators/{id}") + public R> queryIndicators(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.queryIndicators(id)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java index f70fa31..d924988 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectItemController.java @@ -49,8 +49,8 @@ public class InspectItemController { @Operation(summary = "删除") @GetMapping("/del/{id}") - public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { - return R.ok(service.removeById(id)); + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); } @Operation(summary = "启停") diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java index 4219b04..6490158 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/AssessIndicatorMapper.java @@ -1,8 +1,12 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.xyt.entity.so.AttCctvBasePage; import com.gunshi.project.xyt.model.AssessIndicator; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 描述: 考核指标 @@ -12,4 +16,19 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface AssessIndicatorMapper extends BaseMapper { + @Select(""" + + """) + Page choosePage(Page page,@Param("obj") AttCctvBasePage page1); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java new file mode 100644 index 0000000..27ef4e3 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateIndicatorRelMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 模板关联指标 + * author: xusan + * date: 2024-09-04 13:43:05 + */ +@Mapper +public interface AssessTemplateIndicatorRelMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java new file mode 100644 index 0000000..9b2d715 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/AssessTemplateMapper.java @@ -0,0 +1,29 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.AssessIndicator; +import com.gunshi.project.xyt.model.AssessTemplate; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Mapper +public interface AssessTemplateMapper extends BaseMapper { + + @Select(""" + + """) + List queryIndicators(@Param("id") Long id); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java b/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java index d4131d5..3990a1a 100644 --- a/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java +++ b/src/main/java/com/gunshi/project/xyt/model/AssessIndicator.java @@ -47,6 +47,10 @@ public class AssessIndicator implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private Long categoryId; + @TableField(exist = false) + @Schema(description="考核类目名称") + private String name; + /** * 指标名称 */ @@ -84,6 +88,13 @@ public class AssessIndicator implements Serializable { @Schema(description="状态(0启用 1停用)") private Integer status; + /** + * 是否被使用(0否 1是) + */ + @TableField(exist = false) + @Schema(description="是否被使用(0否 1是)") + private Integer isUsed; + @TableField(exist = false) @Schema(description = "评分细则") private List indicatorRatings; diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java b/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java new file mode 100644 index 0000000..3f289ab --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/AssessTemplate.java @@ -0,0 +1,129 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import com.gunshi.project.xyt.validate.markers.Update; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** +* 描述: 考核模板 +* author: xusan +* date: 2024-09-04 13:42:39 +*/ +@Schema(description="考核模板") +@Data +@TableName("public.assess_template") +public class AssessTemplate implements Serializable { + + public final static String thisTableName = "AssessTemplate"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @NotNull(message = "id不能为空",groups = { Update.class}) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 模板名称 + */ + @TableField(value="template_name") + @Schema(description="模板名称") + @Size(max = 100,message = "模板名称最大长度要小于 100") + private String templateName; + + /** + * 考核频次(1年度 2季度 3月度) + */ + @TableField(value="template_freq") + @Schema(description="考核频次(1年度 2季度 3月度)") + private Integer templateFreq; + + /** + * 标准分数 + */ + @TableField(value="standard_score") + @Schema(description="标准分数") + private Integer standardScore; + + /** + * 优秀分 + */ + @TableField(value="excellent_score") + @Schema(description="优秀分") + private BigDecimal excellentScore; + + /** + * 良好分 + */ + @TableField(value="good_score") + @Schema(description="良好分") + private BigDecimal goodScore; + + /** + * 合格分 + */ + @TableField(value="pass_score") + @Schema(description="合格分") + private BigDecimal passScore; + + /** + * 状态(0启用 1停用) + */ + @TableField(value="status") + @Schema(description="状态(0启用 1停用)") + private Integer status; + + /** + * 创建人id + */ + @TableField(value="create_user_id") + @Schema(description="创建人id") + private Long createUserId; + + /** + * 创建人名称 + */ + @TableField(value="create_user_name") + @Schema(description="创建人名称") + @Size(max = 100,message = "创建人名称最大长度要小于 100") + private String createUserName; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + /** + * 是否被使用(0否 1是) + */ + @TableField(exist = false) + @Schema(description="是否被使用(0否 1是)") + private Integer isUsed; + + @TableField(exist = false) + @Schema(description = "关联的考核指标") + private List indicatorIds; +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java b/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java new file mode 100644 index 0000000..c354f93 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/AssessTemplateIndicatorRel.java @@ -0,0 +1,53 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; + +/** +* 描述: 模板关联指标 +* author: xusan +* date: 2024-09-04 13:43:04 +*/ +@Schema(description="模板关联指标") +@Data +@TableName("public.assess_template_indicator_rel") +public class AssessTemplateIndicatorRel implements Serializable { + + public final static String thisTableName = "AssessTemplateIndicatorRel"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 模板id + */ + @TableField(value="template_id") + @Schema(description="模板id") + @JsonSerialize(using = ToStringSerializer.class) + private Long templateId; + + /** + * 指标id + */ + @TableField(value="indicator_id") + @Schema(description="指标id") + @JsonSerialize(using = ToStringSerializer.class) + private Long indicatorId; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java b/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java index 446decc..b1e87fc 100644 --- a/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java +++ b/src/main/java/com/gunshi/project/xyt/service/AssessIndicatorService.java @@ -1,6 +1,7 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -9,8 +10,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.dto.InspectItemDto; import com.gunshi.project.xyt.entity.so.AttCctvBasePage; import com.gunshi.project.xyt.mapper.AssessIndicatorMapper; +import com.gunshi.project.xyt.mapper.AssessTemplateIndicatorRelMapper; import com.gunshi.project.xyt.model.AssessIndicator; import com.gunshi.project.xyt.model.AssessIndicatorRating; +import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,6 +36,9 @@ public class AssessIndicatorService extends ServiceImpl res = this.page(page.getPageSo().toPage(), query); if (res.getRecords() != null && res.getRecords().size() > 0) { + fillUsedInfo(res.getRecords()); fillRating(res.getRecords()); } return res; } + private void fillUsedInfo(List records) { + List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); + List list = relMapper.selectList(new QueryWrapper().in("indicator_id", ids)); + Map map = list.stream().collect(Collectors.groupingBy(AssessTemplateIndicatorRel::getIndicatorId, Collectors.counting())); + for (AssessIndicator record : records) { + record.setIsUsed(map.containsKey(record.getId()) ? 1 : 0); + } + } + private void fillRating(List records) { List ids = records.stream().map(AssessIndicator::getId).collect(Collectors.toList()); List relList = indicatorRatingService.queryRatingList(ids); @@ -90,9 +106,17 @@ public class AssessIndicatorService extends ServiceImpl().eq("indicator_id", id)); + if(count > 0){ + throw new IllegalArgumentException("该考核指标已被使用,不可删除"); + } indicatorRatingService.delRating(id); return this.removeById(id); } + + public Page choosePage(AttCctvBasePage page) { + return this.baseMapper.choosePage(page.getPageSo().toPage(),page); + } } diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java new file mode 100644 index 0000000..d8780dc --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateIndicatorRelService.java @@ -0,0 +1,47 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.mapper.AssessTemplateIndicatorRelMapper; +import com.gunshi.project.xyt.model.AssessTemplateIndicatorRel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 描述: 模板关联指标 + * author: xusan + * date: 2024-09-04 13:43:05 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTemplateIndicatorRelService extends ServiceImpl +{ + + public void saveRel(List indicatorIds, Long id) { + List list = indicatorIds.stream().map(o -> { + AssessTemplateIndicatorRel rel = new AssessTemplateIndicatorRel(); + rel.setId(IdWorker.getId()); + rel.setTemplateId(id); + rel.setIndicatorId(o); + return rel; + }).collect(Collectors.toList()); + this.saveBatch(list); + } + + public void delRel(Long templateId) { + this.remove(new QueryWrapper().eq("template_id",templateId)); + } + + public void updateRel(List indicatorIds, Long id) { + this.delRel(id); + this.saveRel(indicatorIds,id); + } +} + + diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java new file mode 100644 index 0000000..ef4b829 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/AssessTemplateService.java @@ -0,0 +1,92 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.entity.dto.InspectItemDto; +import com.gunshi.project.xyt.entity.so.AttCctvBasePage; +import com.gunshi.project.xyt.mapper.AssessTemplateMapper; +import com.gunshi.project.xyt.model.AssessIndicator; +import com.gunshi.project.xyt.model.AssessTemplate; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 描述: 考核模板 + * author: xusan + * date: 2024-09-04 13:42:40 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class AssessTemplateService extends ServiceImpl +{ + @Autowired + private AssessTemplateIndicatorRelService relService; + + public AssessTemplate saveData(AssessTemplate dto) { + dto.setId(IdWorker.getId()); + dto.setStatus(0); + dto.setCreateTime(new Date()); + this.save(dto); + relService.saveRel(dto.getIndicatorIds(),dto.getId()); + return dto; + } + + public AssessTemplate updateData(AssessTemplate dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + this.updateById(dto); + relService.updateRel(dto.getIndicatorIds(),dto.getId()); + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + relService.delRel(id); + return this.removeById(id); + + } + + public Page pageQuery(AttCctvBasePage page) { + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + if (ObjectUtils.isNotNull(page.getName())) { + query.like(AssessTemplate::getTemplateName, page.getName()); + } + query.orderByAsc(AssessTemplate::getStatus).orderByDesc(AssessTemplate::getCreateTime); + Page res = this.page(page.getPageSo().toPage(), query); + return res; + } + + public String startStop(InspectItemDto dto) { + Integer status = dto.getStatus(); + AssessTemplate template = super.getById(dto.getId()); + if (template == null) { + throw new IllegalArgumentException("当前数据不存在"); + } + template.setStatus(status); + boolean flag = super.updateById(template); + if (flag) { + return status == 0 ? "启用成功" : "禁用成功"; + } + return status == 0 ? "启用失败" : "禁用失败"; + } + + public List queryIndicators(Long id) { + return this.baseMapper.queryIndicators(id); + } +} + + diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java b/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java index 94d7d0d..bab6fd6 100644 --- a/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java +++ b/src/main/java/com/gunshi/project/xyt/service/InspectItemService.java @@ -1,6 +1,7 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -8,11 +9,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.dto.InspectItemDto; import com.gunshi.project.xyt.entity.so.AttCctvBasePage; import com.gunshi.project.xyt.mapper.InspectItemMapper; +import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper; import com.gunshi.project.xyt.model.InspectItem; +import com.gunshi.project.xyt.model.InspectTaskDetail; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Objects; + /** * 描述: 巡检项 * author: xusan @@ -23,6 +29,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(rollbackFor = Exception.class) public class InspectItemService extends ServiceImpl { + @Autowired + private InspectTaskDetailMapper taskDetailMapper; public Page pageQuery(AttCctvBasePage page) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); @@ -47,6 +55,17 @@ public class InspectItemService extends ServiceImpl().eq("item_id", id)); + if(count > 0){ + throw new IllegalArgumentException("该巡检项已被巡检任务使用,不可删除"); + } + return this.removeById(id); + } }