From 826d7a2d241c24a1ef47fe0e69533a18b3464bc2 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 04 七月 2025 21:16:46 +0800 Subject: [PATCH] art:技术状态鉴定工单变更-数据库设计 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 101 insertions(+), 5 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index 71a4e5a..7f1e65b 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CommonConstant; @@ -24,8 +25,10 @@ import org.jeecg.modules.system.model.SysUserSysDepartModel; import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecg.modules.system.vo.EamUserRepDepVo; import org.jeecg.modules.system.vo.MdcUserProVo; import org.jeecg.modules.system.vo.SysUserDepVo; +import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; @@ -77,6 +80,8 @@ SysRoleIndexMapper sysRoleIndexMapper; @Resource MdcUserProductionMapper mdcUserProductionMapper; + @Resource + EamBaseRepairDepartUserMapper eamBaseRepairDepartUserMapper; @Resource private ISysDictService sysDictService; @@ -360,11 +365,11 @@ /** * 鏍规嵁璁惧杞﹂棿绠$悊Id鏌ヨ * @param page - * @param workShopDepartId 璁惧杞﹂棿绠$悊Id + * @param baseFactoryId 璁惧杞﹂棿绠$悊Id * @return */ - public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page,String workShopDepartId,String username){ - return userMapper.getUserByWorkShopDepartId(page,workShopDepartId,username); + public IPage<SysUser> getUserByworkShopDepartId(Page<SysUser> page,String baseFactoryId,String username){ + return userMapper.getUserByWorkShopDepartId(page,baseFactoryId,username); } @@ -568,7 +573,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions) { + public void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions, String selectedRepairDeparts) { //step.1 淇濆瓨鐢ㄦ埛 this.save(user); //step.2 淇濆瓨瑙掕壊 @@ -595,12 +600,20 @@ mdcUserProductionMapper.insert(mdcUserProduction); } } + //step.5 淇濆瓨鎵�灞炵淮淇儴闂� + if (oConvertUtils.isNotEmpty(selectedRepairDeparts)) { + String[] arr = selectedRepairDeparts.split(","); + for (String repairDepartId : arr) { + EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); + eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); + } + } } @Override @Transactional(rollbackFor = Exception.class) @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) - public void editUser(SysUser user, String roles, String departs, String productions) { + public void editUser(SysUser user, String roles, String departs, String productions, String repairDeparts) { //step.1 淇敼鐢ㄦ埛鍩虹淇℃伅 this.updateById(user); //step.2 淇敼瑙掕壊 @@ -656,6 +669,19 @@ mdcUserProductionMapper.insert(mdcUserProduction); } } + //step.5 淇敼缁翠慨閮ㄩ棬 + String[] arrayRepDep = {}; + if(oConvertUtils.isNotEmpty(repairDeparts)){ + arrayRepDep = repairDeparts.split(","); + } + //鍏堝垹鍚庡姞 + eamBaseRepairDepartUserMapper.delete(new QueryWrapper<EamBaseRepairDepartUser>().lambda().eq(EamBaseRepairDepartUser::getUserId, user.getId())); + if (oConvertUtils.isNotEmpty(repairDeparts)) { + for (String repairDepartId : arrayRepDep) { + EamBaseRepairDepartUser eamBaseRepairDepartUser = new EamBaseRepairDepartUser(user.getId(), repairDepartId); + eamBaseRepairDepartUserMapper.insert(eamBaseRepairDepartUser); + } + } //step.5 淇敼鎵嬫満鍙峰拰閭 // 鏇存柊鎵嬫満鍙枫�侀偖绠辩┖瀛楃涓蹭负 null userMapper.updateNullByEmptyString("email"); @@ -702,6 +728,21 @@ return res; } + @Override + public Map<String, String> getRepDepNamesByUserIds(List<String> userIds) { + List<EamUserRepDepVo> list = this.baseMapper.getRepDepNamesByUserIds(userIds); + + Map<String, String> res = new HashMap<>(5); + list.forEach(item -> { + if (res.get(item.getUserId()) == null) { + res.put(item.getUserId(), item.getRepairDepartName()); + } else { + res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRepairDepartName()); + } + }); + return res; + } + // 鏍规嵁瑙掕壊Id鏌ヨ璇ヨ鑹蹭笅鐨勬墍鏈夌敤鎴蜂俊鎭� @Override public List<SysUser> getAllUsersByRoleId(String roleId) { @@ -731,4 +772,59 @@ public List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId) { return this.baseMapper.getEquipmentAdmin(roleCode, equipmentId); } + + @Override + public List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + if(StringUtils.isNotBlank(equipmentCode)) { + queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); + } + if(StringUtils.isNotBlank(productionId)) { + queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); + } + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } + + /** + * 閫夋嫨鐢ㄦ埛 + * @param equipmentCode 閫夋嫨鐨勮澶嘔D + * @param factoryId 閫夋嫨鐨勫伐鍘侷D + * @param positionCode 宀椾綅缂栧彿 + * @return + */ + @Override + public List<UserSelector> selectOperatorFactoryList(String equipmentCode, String factoryId, String positionCode){ + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); +// if(StringUtils.isNotBlank(equipmentCode)) { +// queryWrapper.and(q -> q.isNull(SysUser::getEquipmentIds).or().eq(SysUser::getEquipmentIds, "").or().like(SysUser::getEquipmentIds, equipmentCode)); +// } +// if(StringUtils.isNotBlank(factoryId)) { +// queryWrapper.exists("select 1 from eam_base_factory_user t where t.user_id=sys_user.id and t.factory_id={0}", factoryId); +// } + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } + + @Override + public List<UserSelector> selectOperatorList(String positionCode) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUser::getPost, positionCode); + queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); + queryWrapper.orderByDesc(SysUser::getId); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); + return collect; + } } -- Gitblit v1.9.3