| | |
| | | package org.jeecg.modules.system.service.impl; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.constant.FillRuleConstant; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.FillRuleUtil; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.system.entity.MdcProduction; |
| | | import org.jeecg.modules.system.entity.MdcProductionEquipment; |
| | | import org.jeecg.modules.system.entity.MdcUserProduction; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper; |
| | | import org.jeecg.modules.system.mapper.MdcProductionMapper; |
| | | import org.jeecg.modules.system.mapper.MdcUserProductionMapper; |
| | | import org.jeecg.modules.system.mapper.SysUserMapper; |
| | | import org.jeecg.modules.system.entity.*; |
| | | import org.jeecg.modules.system.mapper.*; |
| | | import org.jeecg.modules.system.model.MdcProductionTreeModel; |
| | | import org.jeecg.modules.system.model.ProductionIdModel; |
| | | import org.jeecg.modules.system.service.IMdcProductionService; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 递归查询所有子节点 |
| | | */ |
| | | @Override |
| | | public List<MdcProduction> recursionChildrenByPid(String pid){ |
| | | List<String> ids=this.recursionChildren(pid); |
| | | return super.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).in(MdcProduction::getId, ids)); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户id获取产线下拉树选项 |
| | | */ |
| | | @Override |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询所有父节点和本节点名称 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<String> findListParentTreeAll(String id){ |
| | | MdcProductionEquipment mdcProductionEquipment=productionEquipmentMapper.selectOne(new QueryWrapper<MdcProductionEquipment>().eq("equipment_id",id)); |
| | | if (mdcProductionEquipment==null) { |
| | | return null; |
| | | } |
| | | List<String> strings = new ArrayList<>(); |
| | | MdcProduction en=super.getById(mdcProductionEquipment.getProductionId()); |
| | | if (en == null) { |
| | | return null; |
| | | } |
| | | strings.add(en.getProductionName()); |
| | | if (StringUtils.isEmpty(en.getParentId())) { |
| | | return strings; |
| | | } else { |
| | | return findListParentTree(en.getParentId(),strings); |
| | | } |
| | | } |
| | | |
| | | // 查询所以父节点 |
| | | @Override |
| | | public List<String> findListParentTree(String parentId,List<String> stringList){ |
| | | if (StringUtils.isEmpty(parentId)) { |
| | | return null; |
| | | } |
| | | if (stringList == null || stringList.isEmpty()) { |
| | | stringList = new ArrayList<>(); |
| | | } |
| | | boolean p = true; |
| | | if (p) { |
| | | MdcProduction en = super.getById(parentId); |
| | | if (en != null) { |
| | | stringList.add(0,en.getProductionName()); |
| | | } |
| | | if (StringUtils.isNotBlank(en.getParentId())) { |
| | | parentId = en.getParentId(); |
| | | findListParentTree(parentId,stringList); |
| | | } else { |
| | | p = false; |
| | | return stringList; |
| | | } |
| | | } |
| | | return stringList; |
| | | } |
| | | |
| | | /** |
| | | * 获取用户已分配的部门列表 |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, MdcProduction> getUserAssignedDepart(String userId){ |
| | | if(StrUtil.isEmpty(userId)) |
| | | return null; |
| | | List<MdcProduction> userPermDepart = this.baseMapper.findAllProductionId(userId); |
| | | if(userPermDepart == null || userPermDepart.isEmpty()) |
| | | return null; |
| | | Map<String, MdcProduction> map = new HashMap<>(); |
| | | userPermDepart.forEach(item -> { |
| | | map.put(item.getId(), item); |
| | | }); |
| | | return map; |
| | | } |
| | | } |