lyh
2025-02-25 ed9f1d757d6d3486dd69a726454eb69c3c9bc538
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java
@@ -1,22 +1,20 @@
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;
@@ -77,6 +75,9 @@
        query.orderByAsc(MdcProduction::getProductionOrder);
        List<MdcProduction> list = this.list(query);
        for (MdcProduction production : list) {
            if (production.getDescription().isEmpty()){
                production.setDescription("");
            }
            listResult.add(new MdcProductionTreeModel(production));
        }
        return listResult;
@@ -196,6 +197,15 @@
    }
    /**
     * 递归查询所有子节点
     */
    @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
@@ -309,4 +319,73 @@
            }
        }
    }
    /**
     *  查询所有父节点和本节点名称
     * @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;
    }
}