From fc5ac628bb8031c33a37dfc49990b7fe84757ef4 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 18 三月 2024 17:32:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 69 insertions(+), 20 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..bdb28d7 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,9 +1,15 @@
 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.platform.service.YwUnitService;
 import com.ycl.system.Result;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.platform.domain.form.CheckTemplateForm;
@@ -14,6 +20,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.system.page.PageUtil;
 import com.ycl.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.beans.BeanUtils;
@@ -38,19 +45,27 @@
 public class CheckTemplateServiceImpl extends ServiceImpl<CheckTemplateMapper, CheckTemplate> implements CheckTemplateService {
 
     private final CheckTemplateMapper checkTemplateMapper;
-
+    private final CheckTemplateRuleMapper checkTemplateRuleMapper;
+    @Autowired
+    private YwUnitService unitService;
     /**
      * 娣诲姞
      * @param form
      * @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 +74,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 +104,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 +119,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("鍒犻櫎鎴愬姛");
     }
 
     /**
@@ -118,6 +148,7 @@
         List<CheckTemplateVO> vos = page.getRecords().stream()
                 .map(
                         entity -> CheckTemplateVO.getVoByEntity(entity, null)
+                                .setUnitName(unitService.getById(entity.getUnitId()).getUnitName())
                 )
                 .collect(Collectors.toList());
         return Result.ok().data(vos).total(page.getTotal());
@@ -134,6 +165,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 +188,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