xiangpei
2024-03-08 5e666f007f44851c5f29a9e79c5efbc49e451591
模板规则中间表数据
1个文件已修改
2个文件已添加
130 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java
New file
@@ -0,0 +1,44 @@
package com.ycl.platform.domain.entity;
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 io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
 * @author:xp
 * @date:2024/3/8 9:18
 */
@Data
@Accessors(chain = true)
@TableName("t_check_template_rule")
@ApiModel(value = "CheckTemplate对象", description = "考核模板")
public class CheckTemplateRule {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 模板ID
     */
    @TableField("check_template_id")
    private Integer checkTemplateId;
    /**
     * 规则ID
     */
    @TableField("check_rule_id")
    private Integer checkRuleId;
    /**
     * 权重
     */
    @TableField("weight")
    private BigDecimal weight;
}
ycl-server/src/main/java/com/ycl/platform/mapper/CheckTemplateRuleMapper.java
New file
@@ -0,0 +1,13 @@
package com.ycl.platform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.CheckTemplateRule;
import org.apache.ibatis.annotations.Mapper;
/**
 * @author:xp
 * @date:2024/3/8 9:18
 */
@Mapper
public interface CheckTemplateRuleMapper extends BaseMapper<CheckTemplateRule> {
}
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
@@ -1,9 +1,13 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.domain.entity.CheckTemplate;
import com.ycl.platform.domain.entity.CheckTemplateRule;
import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.domain.vo.RuleItemVO;
import com.ycl.platform.mapper.CheckTemplateMapper;
import com.ycl.platform.mapper.CheckTemplateRuleMapper;
import com.ycl.platform.service.CheckTemplateService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -39,6 +43,7 @@
public class CheckTemplateServiceImpl extends ServiceImpl<CheckTemplateMapper, CheckTemplate> implements CheckTemplateService {
    private final CheckTemplateMapper checkTemplateMapper;
    private final CheckTemplateRuleMapper checkTemplateRuleMapper;
    /**
     * 添加
@@ -46,12 +51,18 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result add(CheckTemplateForm form) {
        CheckTemplate entity = CheckTemplateForm.getEntityByForm(form, null);
        if(baseMapper.insert(entity) > 0) {
            return Result.ok("添加成功");
        }
        return Result.error("添加失败");
        baseMapper.insert(entity);
        form.getRuleFormList().stream().forEach(rule -> {
            CheckTemplateRule checkTemplateRule = new CheckTemplateRule();
            checkTemplateRule.setCheckTemplateId(entity.getId());
            checkTemplateRule.setCheckRuleId(rule.getRuleId());
            checkTemplateRule.setWeight(rule.getWeight());
            checkTemplateRuleMapper.insert(checkTemplateRule);
        });
        return Result.ok("添加成功");
    }
    /**
@@ -60,17 +71,28 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result update(CheckTemplateForm form) {
        CheckTemplate entity = baseMapper.selectById(form.getId());
        // 为空抛IllegalArgumentException,做全局异常处理
        Assert.notNull(entity, "记录不存在");
        BeanUtils.copyProperties(form, entity);
        if (baseMapper.updateById(entity) > 0) {
            return Result.ok("修改成功");
        }
        return Result.error("修改失败");
        baseMapper.updateById(entity);
        // 先删除原先的对应关系
        new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper)
                .eq(CheckTemplateRule::getCheckTemplateId, form.getId())
                .remove();
        // 再重新添加
        form.getRuleFormList().stream().forEach(rule -> {
            CheckTemplateRule checkTemplateRule = new CheckTemplateRule();
            checkTemplateRule.setCheckTemplateId(entity.getId());
            checkTemplateRule.setCheckRuleId(rule.getRuleId());
            checkTemplateRule.setWeight(rule.getWeight());
            checkTemplateRuleMapper.insert(checkTemplateRule);
        });
        return Result.ok("修改成功");
    }
    /**
@@ -79,11 +101,13 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result remove(List<String> ids) {
        if(baseMapper.deleteBatchIds(ids) > 0) {
            return Result.ok("删除成功");
        }
        return Result.error("删除失败");
        baseMapper.deleteBatchIds(ids);
        new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper)
                .in(CheckTemplateRule::getCheckTemplateId, ids)
                .remove();
        return Result.ok("删除成功");
    }
    /**
@@ -92,11 +116,13 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result removeById(String id) {
        if(baseMapper.deleteById(id) > 0) {
            return Result.ok("删除成功");
        }
        return Result.error("删除失败");
        baseMapper.deleteById(id);
        new LambdaUpdateChainWrapper<>(checkTemplateRuleMapper)
                .eq(CheckTemplateRule::getCheckTemplateId, id)
                .remove();
        return Result.ok("删除成功");
    }
    /**
@@ -135,6 +161,19 @@
        CheckTemplate entity = baseMapper.selectById(id);
        Assert.notNull(entity, "记录不存在");
        CheckTemplateVO vo = CheckTemplateVO.getVoByEntity(entity, null);
        // 查考核规则
        List<CheckTemplateRule> ruleList = new LambdaQueryChainWrapper<>(checkTemplateRuleMapper)
                .eq(CheckTemplateRule::getCheckTemplateId, entity.getId())
                .list();
        List<RuleItemVO> ruleVOS = ruleList.stream().map(rule -> {
            RuleItemVO ruleItemVO = new RuleItemVO();
            ruleItemVO.setRuleId(rule.getCheckRuleId());
            ruleItemVO.setWeight(rule.getWeight());
            return ruleItemVO;
        }).collect(Collectors.toList());
        vo.setRuleFormList(ruleVOS);
        return Result.ok().data(vo);
    }