zhangherong
2025-03-31 eafb61d4b75fa30c7fd8b3d4917fad4ed1bfa088
art: 设备管理-设备检索接口
已添加1个文件
已修改3个文件
84 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EquipmentSearchResult.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.request.EamEquipmentQuery;
import org.jeecg.modules.eam.vo.EamEquipmentTree;
import org.jeecg.modules.eam.vo.EquipmentSearchResult;
import java.util.List;
@@ -36,4 +37,12 @@
     * @return
     */
    IPage<EamEquipment> queryPageList(IPage<EamEquipment> page, EamEquipmentQuery eamEquipment);
    /**
     * å…³é”®å­—搜索
     * @param keyword
     * @param pageSize
     * @return
     */
    List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize);
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -4,6 +4,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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -24,6 +25,7 @@
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.tree.FindsEquipmentProductionUtil;
import org.jeecg.modules.eam.vo.EamEquipmentTree;
import org.jeecg.modules.eam.vo.EquipmentSearchResult;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.service.IMdcProductionService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -163,6 +165,38 @@
        return ipage;
    }
    @Override
    public List<EquipmentSearchResult> asyncLoadEquipment(String keyword, Integer pageSize) {
        IPage<EamEquipment> page = new Page<>(1, pageSize);
        QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>();
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return Collections.emptyList();
        }
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            queryWrapper.in("equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=org_id", sysUser.getId());
        }
        if (StringUtils.isNotBlank(keyword)) {
            queryWrapper.like("equipment_code", keyword);
            queryWrapper.or().like("equipment_name", keyword);
        }
        IPage<EamEquipment> pageResult = eamEquipmentMapper.queryPageList(page, queryWrapper);
        if (pageResult != null && CollectionUtil.isNotEmpty(pageResult.getRecords())) {
            List<EquipmentSearchResult> resultList = new ArrayList<>();
            pageResult.getRecords().forEach((record) -> {
                resultList.add(new EquipmentSearchResult(record));
            });
            return resultList;
        }
        return Collections.emptyList();
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„äº§çº¿id(包含所有上级)
     */
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EquipmentSearchResult.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.eam.vo;
import lombok.Data;
import org.jeecg.modules.eam.entity.EamEquipment;
import java.io.Serializable;
@Data
public class EquipmentSearchResult implements Serializable {
    /**
     * å­—å…¸value
     */
    private String value;
    /**
     * å­—典文本
     */
    private String text;
    public EquipmentSearchResult() {
    }
    public EquipmentSearchResult(EamEquipment eamEquipment) {
        this.value = eamEquipment.getId();
        this.text = eamEquipment.getEquipmentCode() + "[" + eamEquipment.getEquipmentName() + "]";
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -14,6 +14,7 @@
import org.jeecg.modules.eam.request.EamEquipmentQuery;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.vo.EamEquipmentTree;
import org.jeecg.modules.eam.vo.EquipmentSearchResult;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -278,4 +279,18 @@
        return result;
    }
    /**
     * æ£€ç´¢è®¾å¤‡
     * @param keyword æŸ¥è¯¢å…³é”®è¯ è®¾å¤‡ç¼–号,设备名称模糊匹配
     * @param pageSize ä¸€æ¬¡è¿”回多少记录
     * @return
     */
    @ApiOperation(value = "设备表-异步加载设备列表", notes = "设备表-异步加载设备列表")
    @GetMapping(value = "/asyncLoadEquipment")
    public Result<?> asyncLoadEquipment(@RequestParam(name="keyword",required = false) String keyword,
                                        @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize) {
        List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize);
        return Result.ok(resultList);
    }
}