zhangherong
2025-07-03 1b5a723592ea63e5eec0bdeef7855b9c40e9df71
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -274,6 +274,90 @@
    }
    /**
     * 设备台账导出
     * @param eamEquipment
     * @return
     */
    @Override
    public List<EamEquipment> exportList(EamEquipmentQuery eamEquipment){
        QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0);
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return new ArrayList<>();
        }
        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据中心过滤设备
            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
                List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList());
                List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList());
                queryWrapper.in("e.factory_code", factoryCode);
            }
        }
        //查询条件过滤
        if (eamEquipment != null) {
            if (StringUtils.isNotBlank(eamEquipment.getEquipmentCode())) {
                queryWrapper.like("e.equipment_code", eamEquipment.getEquipmentCode());
            }
            if (StringUtils.isNotBlank(eamEquipment.getEquipmentName())) {
                queryWrapper.like("e.equipment_name", eamEquipment.getEquipmentName());
            }
            if (StringUtils.isNotBlank(eamEquipment.getEquipmentImportance())) {
                queryWrapper.eq("e.equipment_importance", eamEquipment.getEquipmentImportance());
            }
            if (StringUtils.isNotBlank(eamEquipment.getAssetStatus())) {
                queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus());
            }
            if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) {
                queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus());
            }
            if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) {
                queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem());
            }
            if (StringUtils.isNotBlank(eamEquipment.getOrgId())) {
                //车间编码不为空
                List<String> productIds = mdcProductionService.recursionChildren(eamEquipment.getOrgId());
                if (CollectionUtil.isNotEmpty(productIds)) {
                    //不做筛选
                    queryWrapper.in("e.org_id", productIds);
                }
            }
            if (StringUtils.isNotBlank(eamEquipment.getEquipmentCategory())) {
                queryWrapper.like("e.equipment_category", eamEquipment.getEquipmentCategory());
            }
            if (StringUtils.isNotBlank(eamEquipment.getId())) {
                queryWrapper.eq("e.id", eamEquipment.getId());
            }
            //排序
            if (StringUtils.isNotBlank(eamEquipment.getColumn()) && StringUtils.isNotBlank(eamEquipment.getOrder())) {
                //queryWrapper.like("column", eamEquipment.getColumn());
                String column = eamEquipment.getColumn();
                if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
                    column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
                }
                if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(eamEquipment.getOrder())) {
                    queryWrapper.orderByAsc("e." + oConvertUtils.camelToUnderline(column));
                } else {
                    queryWrapper.orderByDesc("e." + oConvertUtils.camelToUnderline(column));
                }
            } else {
                queryWrapper.orderByDesc("e.create_time");
            }
        } else {
            queryWrapper.orderByDesc("e.create_time");
        }
        return eamEquipmentMapper.queryList(queryWrapper);
    }
    /**
     * 获取所有的产线id(包含所有上级)
     */
    private void getAllProductionIds(List<MdcProduction> productionList, String productionId, List<String> allProductionIds) {