From 11af23e0c7976eed1211ba2ca0beae3a12e19310 Mon Sep 17 00:00:00 2001 From: lxp <1928192722@qq.com> Date: 星期三, 12 三月 2025 15:37:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java index f097b32..db10443 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java @@ -1,17 +1,27 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.entity.Custom; import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.core.dto.PersonDto; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.system.service.CustomService; import com.ruoyi.system.service.UserService; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.DigestUtils; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 鐢ㄦ埛淇℃伅琛� @@ -21,6 +31,10 @@ */ @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { + + @Autowired + private CustomService customService; + /** * 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃 * @param user @@ -60,5 +74,64 @@ public int delUserDepardLimsId(Integer id) { return baseMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy, SecurityUtils.getUsername())); } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addPersonUser(PersonDto personDto) { + personDto.getPerson().forEach(person -> { + User user = baseMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID())); + String companyName = personDto.getCompany().stream().filter(a -> a.getCompanyId().equals(person.getCompanyId())).findFirst().get().getCompanyName(); + Custom custom = customService.getCustomId(companyName); + if (BeanUtil.isEmpty(user)) { + user = new User(); + user.setName(person.getName()); + user.setNameEn("not write"); + user.setAccount(person.getEmployeeID()); + user.setPhone(person.getPhoneNumber()); + user.setEmail(person.getCompanyEmail()); + user.setIsCustom(person.getCompanyId().equals("SC2463") ? 0 : 1); +// user.setPassword(DigestUtils.md5DigestAsHex(headerToken.getPassword(person.getEmployeeID()).getBytes())); + user.setPassword(SecurityUtils.encryptPassword("zttZTT123!")); + user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName); +// user.setAddress("鏈~鍐�"); +// user.setRoleId(personDto.getRoleId() > 10000 ? 0 : personDto.getRoleId()); + user.setCompanyId(person.getCompanyId()); + baseMapper.insert(user); + } else { + user.setName(person.getName()); + user.setPhone(person.getPhoneNumber()); + user.setEmail(person.getCompanyEmail()); + user.setIsCustom(0); + user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName); +// user.setCreateUser(null); +// user.setCreateTime(null); +// user.setUpdateUser(null); +// user.setUpdateTime(null); + user.setCompanyId(person.getCompanyId()); + baseMapper.updateById(user); + } + }); + return 1; + } + + @Override + public Map<String, List<Map<String, Object>>> getLaboratoryPersonList() { + //鏌ヨ閫氫俊鍜岀數鍔涗笅鐨勪汉鍛樹俊鎭� + //鏌ヨ褰撳墠鐧诲綍浜哄憳鐨勬灦鏋� + //鍒ゆ柇鍏ㄩ儴,涓汉,缁勭粐鐨勬潈闄� + User user = baseMapper.selectById(SecurityUtils.getUserId());//褰撳墠鐧诲綍鐨勪汉 + //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id + String laboratory = ""; + String departLimsId = user.getDepartLimsId(); + if (ObjectUtils.isNotEmpty(departLimsId)) { + String[] split = departLimsId.split(","); + //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) + String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); + if (departLims.contains("瀹為獙瀹�")) { + laboratory = departLims; + } + } + return baseMapper.getLaboratoryPersonList(laboratory).stream().collect(Collectors.groupingBy(m->m.get("depName").toString())); + } } -- Gitblit v1.9.3