zhangherong
2025-04-27 1007e0b552accd3288e7da6b47d8cc49a03bdf62
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -27,6 +28,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,8 +49,8 @@
    @Override
    public IPage<EamMaintenanceStandard> queryPageList(Page<EamMaintenanceStandard> page, EamMaintenanceStandard eamMaintenanceStandard) {
        LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
        QueryWrapper<EamMaintenanceStandard> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("ems.del_flag", CommonConstant.DEL_FLAG_0);
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
@@ -57,41 +59,41 @@
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            StringBuilder sqlSb = new StringBuilder("select 1 from eam_equipment t where t.id = equipment_id and t.equipment_code in (");
            equipArr.forEach(equipmentCode -> {
                sqlSb.append("'").append(equipmentCode).append("',");
            });
            sqlSb.append(")");
            String sql = sqlSb.toString().replaceAll(",\\)", ")");
            queryWrapper.exists(sql);
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from eam_equipment e where exists (select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id) and e.id = equipment_id", sysUser.getId());
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
        }
        if(eamMaintenanceStandard != null) {
            //编码 模糊查询
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardCode())) {
                queryWrapper.like(EamMaintenanceStandard::getStandardCode, eamMaintenanceStandard.getStandardCode());
                queryWrapper.like("ems.standard_code", eamMaintenanceStandard.getStandardCode());
            }
            //名称 模糊查询
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardName())) {
                queryWrapper.like(EamMaintenanceStandard::getStandardName, eamMaintenanceStandard.getStandardName());
                queryWrapper.like("ems.standard_name", eamMaintenanceStandard.getStandardCode());
            }
            //设备
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getEquipmentId())) {
                queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, eamMaintenanceStandard.getEquipmentId());
                queryWrapper.eq("ems.equipment_id", eamMaintenanceStandard.getEquipmentId());
            }
            //保养分类
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getMaintenanceCategory())) {
                queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, eamMaintenanceStandard.getMaintenanceCategory());
                queryWrapper.eq("ems.maintenance_category", eamMaintenanceStandard.getMaintenanceCategory());
            }
            //保养分类
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardStatus())) {
                queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, eamMaintenanceStandard.getStandardStatus());
                queryWrapper.eq("ems.standard_status", eamMaintenanceStandard.getStandardStatus());
            }
            //设备编码
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getKeyword())) {
                queryWrapper.and(wrapper -> wrapper.like("e.equipment_name", eamMaintenanceStandard.getKeyword())
                        .or()
                        .like("e.equipment_code", eamMaintenanceStandard.getKeyword()));
            }
        }
        queryWrapper.orderByDesc(EamMaintenanceStandard::getCreateTime);
        return eamMaintenanceStandardMapper.selectPage(page, queryWrapper);
        queryWrapper.orderByDesc("ems.create_time");
        return eamMaintenanceStandardMapper.queryPageList(page, queryWrapper);
    }
    @Override
@@ -269,8 +271,23 @@
     * @return
     */
    @Override
    public List<EamMaintenanceStandard> queryListBykeywordAndCategory(String keyword, String maintenanceCategory){
        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        return eamMaintenanceStandardMapper.queryListBykeywordAndCategory(loginUser.getId(),keyword, maintenanceCategory);
    public List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory){
        Page<EamMaintenanceStandard> page = new Page<EamMaintenanceStandard>(1, pageSize);
        EamMaintenanceStandard query = new EamMaintenanceStandard();
        query.setEquipmentId(equipmentId);
        query.setKeyword(keyword);
        query.setMaintenanceCategory(maintenanceCategory);
        query.setStandardStatus(MaintenanceStandardStatusEnum.NORMAL.name());
        IPage<EamMaintenanceStandard> pageData = this.queryPageList(page, query);
        return pageData.getRecords();
    }
    @Override
    public List<EamMaintenanceStandard> queryListByCategory(String maintenanceCategory) {
        LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
        queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name());
        return eamMaintenanceStandardMapper.selectList(queryWrapper);
    }
}