Bläddra i källkod

Merge branch 'dev' into nb-pc-rabbitmq

# Conflicts:
#	nb-service/web-service/src/main/java/com/nb/web/service/bus/hospital/HospitalManager.java
18339543638 3 år sedan
förälder
incheckning
8466f8a698

+ 5 - 0
nb-common/config-common/src/main/java/com/nb/common/config/utils/DictUtil.java

@@ -32,6 +32,11 @@ public class DictUtil {
         return Objects.nonNull(obj) ? (List<DictModel>) obj : new ArrayList<>();
     }
 
+
+    public static void clearDict(String dictCode) {
+         SpringUtil.getBean(RedisUtils.class).del(getCacheKey(dictCode));
+    }
+
     public static String getDictLabel(String dictCode, String dictValue) {
         if (StrUtil.isBlank(dictCode) || StrUtil.isBlank(dictValue)) {
             return "";

+ 0 - 2
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusClinicService.java

@@ -159,7 +159,6 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
         Assert.hasText(target.getId(),"LocalBusClinicService.compareFromHis方法调用时,target参数id不能为空");
         Assert.hasText(source.getPatientCode(),"LocalBusClinicService.compareFromHis方法调用时,source参数patientCode不能为空");
         Assert.notNull(source.getStartTime(),"LocalBusClinicService.compareFromHis方法调用时,source参数startTime不能为空");
-        Assert.hasText(source.getSurgeryName(),"LocalBusClinicService.compareFromHis方法调用时,source参数surgeName不能为空");
         source.setId(target.getId());
         source.setFinished(target.getFinished());
         this.updateById(source);
@@ -182,7 +181,6 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
     public void insertFromHis(BusClinicEntity source){
         Assert.hasText(source.getTenantId(),"LocalBusClinicService.insertFromHis方法调用时,source参数tenantId不能为空");
         Assert.hasText(source.getPatientCode(),"LocalBusClinicService.insertFromHis方法调用时,source参数patientCode不能为空");
-        Assert.hasText(source.getSurgeryName(),"LocalBusClinicService.insertFromHis方法调用时,source参数surgeName不能为空");
         this.save(source);
         infusionHistoryService.adjustInfusionByClinic(source.getId(),source.getPatientId(),source.getTenantId(),source.getStartTime());
     }

+ 33 - 0
nb-service/web-service/src/main/java/com/nb/web/service/system/service/impl/SysDictItemServiceImpl.java

@@ -1,26 +1,33 @@
 package com.nb.web.service.system.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.nb.common.config.utils.DictUtil;
 import com.nb.core.exception.CustomException;
 import com.nb.web.service.system.common.dto.SysDictItemAddDTO;
 import com.nb.web.service.system.common.dto.SysDictItemEditDTO;
 import com.nb.web.service.system.common.dto.SysDictItemQueryDTO;
+import com.nb.web.service.system.entity.SysDict;
 import com.nb.web.service.system.entity.SysDictItem;
 import com.nb.web.service.system.mapper.SysDictItemMapper;
 import com.nb.web.service.system.service.ISysDictItemService;
 import com.google.common.collect.Lists;
+import com.nb.web.service.system.service.ISysDictService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -33,6 +40,9 @@ import java.util.Objects;
 @Service
 public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDictItem> implements ISysDictItemService {
 
+    @Autowired
+    @Lazy
+    private ISysDictService dictService;
     @Override
     public IPage<SysDictItem> page(Page reqPage, SysDictItemQueryDTO req) {
         if (Objects.isNull(req.getDictId())) {
@@ -71,6 +81,10 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
         }
         SysDictItem entity = BeanUtil.copyProperties(req, SysDictItem.class);
         this.save(entity);
+        SysDict dict = dictService.getById(req.getDictId());
+        if (dict!=null&&StrUtil.isNotEmpty(dict.getDictCode())) {
+            DictUtil.clearDict(dict.getDictCode());
+        }
     }
 
     @Override
@@ -84,13 +98,32 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
         }
         SysDictItem entity = BeanUtil.copyProperties(req, SysDictItem.class);
         this.updateById(entity);
+        SysDict dict = dictService.getById(req.getDictId());
+        if (dict!=null&&StrUtil.isNotEmpty(dict.getDictCode())) {
+            DictUtil.clearDict(dict.getDictCode());
+        }
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void remove(String ids) {
         List<String> idList = Arrays.asList(ids.split(","));
+        List<SysDictItem> sysDictItems = this.listByIds(idList);
+        if(CollectionUtil.isEmpty(sysDictItems)){
+            return;
+        }
         this.removeByIds(idList);
+
+        List<Long> dictIdCollect = sysDictItems.stream()
+                .map(SysDictItem::getDictId).distinct()
+                .collect(Collectors.toList());
+        List<SysDict> dicts = dictService.listByIds(dictIdCollect);
+
+        for (SysDict dict : dicts) {
+            if (dict!=null&&StrUtil.isNotEmpty(dict.getDictCode())) {
+                DictUtil.clearDict(dict.getDictCode());
+            }
+        }
     }
 
     @Override

+ 6 - 0
nb-service/web-service/src/main/java/com/nb/web/service/system/service/impl/SysDictServiceImpl.java

@@ -91,10 +91,16 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
     @Transactional(rollbackFor = Exception.class)
     public void remove(String ids) {
         List<String> idList = Arrays.asList(ids.split(","));
+        List<SysDict> sysDicts = this.listByIds(idList);
         this.removeByIds(idList);
         idList.forEach(item -> {
             sysDictItemService.remove(Wrappers.lambdaQuery(SysDictItem.class).eq(SysDictItem::getDictId, item));
         });
+        sysDicts.forEach(dict->{
+            if (StrUtil.isNotEmpty(dict.getDictCode())) {
+                DictUtil.clearDict(dict.getDictCode());
+            }
+        });
     }
 
     @Override