From 9ccd0bc5786cbb1bca2c9fda28f0cd730126656d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 13 三月 2024 09:21:38 +0800
Subject: [PATCH] 合并

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java |   83 ++++++++++++++++++++++++++++++++---------
 1 files changed, 64 insertions(+), 19 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
index c08db94..03b5866 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
@@ -1,8 +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;
@@ -38,6 +43,7 @@
 public class CheckTemplateServiceImpl extends ServiceImpl<CheckTemplateMapper, CheckTemplate> implements CheckTemplateService {
 
     private final CheckTemplateMapper checkTemplateMapper;
+    private final CheckTemplateRuleMapper checkTemplateRuleMapper;
 
     /**
      * 娣诲姞
@@ -45,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("娣诲姞鎴愬姛");
     }
 
     /**
@@ -59,17 +71,28 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result update(CheckTemplateForm form) {
 
         CheckTemplate entity = baseMapper.selectById(form.getId());
-
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
         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("淇敼鎴愬姛");
     }
 
     /**
@@ -78,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("鍒犻櫎鎴愬姛");
     }
 
     /**
@@ -91,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("鍒犻櫎鎴愬姛");
     }
 
     /**
@@ -134,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);
     }
 
@@ -144,9 +184,14 @@
     @Override
     public Result all() {
         List<CheckTemplate> entities = baseMapper.selectList(null);
-        List<CheckTemplateVO> vos = entities.stream()
+        List<BaseSelect> vos = entities.stream()
                 .map(
-                        entity -> CheckTemplateVO.getVoByEntity(entity, null)
+                        entity -> {
+                            BaseSelect baseSelect = new BaseSelect();
+                            baseSelect.setId(entity.getId());
+                            baseSelect.setValue(entity.getTemplateName());
+                            return baseSelect;
+                        }
                 )
                 .collect(Collectors.toList());
         return Result.ok().data(vos);

--
Gitblit v1.8.0