lyh
2025-02-17 ce93b6e846a9688db550ed40e6718c0e58d524ec
设备权限
已修改3个文件
51 ■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -169,6 +170,8 @@
                mdcProductionEquipmentMapper.insert(mdcProductionEquipment);
            }
        }
        //step.3 保存设备对应的产线权限
        addDevicePermission(mdcEquipment);
    }
    @Override
@@ -207,6 +210,8 @@
                mdcEquipmentDepartMapper.insert(equipmentDepart);
            }
        }
        //删除所有设备权限
        dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId()));
        //step.3 修改产线
        String productions = mdcEquipment.getSelectedProduction();
        String[] array = {};
@@ -221,15 +226,31 @@
                mdcProductionEquipmentMapper.insert(productionEquipment);
            }
        }
        addDevicePermission(mdcEquipment);
        //step.4 修改设备权限
        //先删后加
        dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getDeviceId, mdcEquipment.getId()));
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        DncDevicePermission dncDevicePermission=new DncDevicePermission();
        dncDevicePermission.setDeviceId(mdcEquipment.getId());
        dncDevicePermission.setUserId(userId);
        dncDevicePermissionMapper.insert(dncDevicePermission);
        List<DncDevicePermission> dncDevicePermissions=dncDevicePermissionMapper.selectList(new LambdaQueryWrapper<DncDevicePermission>()
                .eq(DncDevicePermission::getDeviceId, mdcEquipment.getId()).eq(DncDevicePermission ::getUserId, userId));
        if (CollectionUtils.isEmpty(dncDevicePermissions)){
            DncDevicePermission dncDevicePermission=new DncDevicePermission();
            dncDevicePermission.setDeviceId(mdcEquipment.getId());
            dncDevicePermission.setUserId(userId);
            dncDevicePermissionMapper.insert(dncDevicePermission);
        }
    }
    private void addDevicePermission(MdcEquipment mdcEquipment) {
        List<String> productionIds=mdcProductionEquipmentMapper
                .selectList(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getEquipmentId, mdcEquipment.getId()))
                .stream().map(MdcProductionEquipment::getProductionId).collect(Collectors.toList());
        List<MdcUserProduction> mdcUserProductionList=mdcUserProductionService.queryByProductionIds(productionIds);
        mdcUserProductionList.forEach(item->{
            DncDevicePermission devicePermission=new DncDevicePermission();
            devicePermission.setDeviceId(mdcEquipment.getId());
            devicePermission.setUserId(item.getUserId());
            dncDevicePermissionMapper.insert(devicePermission);
        });
    }
    @Override
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcUserProductionService.java
@@ -25,6 +25,12 @@
    List<String> queryProductionIdsByUserId(String userId);
    /**
     * 根据一组车间id查询用户产线信息
     * @param productionIds
     */
    List<MdcUserProduction> queryByProductionIds(List<String> productionIds);
    /**
     * 删除一组对象
     * @param mdcUserProductions
     * @return
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcUserProductionServiceImpl.java
@@ -67,6 +67,18 @@
        return this.baseMapper.queryProductionIdsByUserId(userId);
    }
    /**
     * 根据一组车间id查询用户产线信息
     * @param productionIds
     */
    @Override
    public List<MdcUserProduction> queryByProductionIds(List<String> productionIds){
        if (!productionIds.isEmpty()){
            return super.list(new LambdaQueryWrapper<MdcUserProduction>().in(MdcUserProduction::getProId, productionIds));
        }
        return null;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public boolean removeByCollection(List<MdcUserProduction> mdcUserProductions) {