zhangherong
2025-05-28 1bc1ad0105a26b8ae7e8f5af636181707312d6cc
art: 设备管理-故障报修-查询接口优化
已修改5个文件
86 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
@@ -37,7 +37,7 @@
     */
    @Excel(name = "设备ID", width = 15, dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code")
    @ApiModelProperty(value = "设备ID")
    @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code")
//    @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code")
    private String equipmentId;
    /**
     * 设备名称
@@ -112,4 +112,10 @@
    @ApiModelProperty(value = "备注")
    private String remark;
    //列表展示
    @TableField(exist = false)
    private String equipmentCode;
    @TableField(exist = false)
    private String installationPosition;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
@@ -1,7 +1,9 @@
package org.jeecg.modules.eam.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.EamReportRepair;
@@ -58,4 +60,12 @@
     * @return
     */
    List<FaultTypeStatisticsVO> faultTypeStatistics(String start, String end);
    /**
     * 分页查询
     * @param page
     * @param queryWrapper
     * @return
     */
    IPage<EamReportRepair> queryPageList(Page<EamReportRepair> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportRepair> queryWrapper);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
@@ -105,4 +105,11 @@
          and t.create_time &lt; #{end}
        group by t.fault_type
    </select>
    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamReportRepair">
        select wmo.*, e.equipment_code, e.equipment_name, e.installation_position
        from eam_report_repair wmo
        inner join eam_equipment e
        on wmo.equipment_id = e.id
        ${ew.customSqlSegment}
    </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
@@ -38,4 +38,7 @@
     * 指派人(维修负责人)
     */
    private String repairer;
    private String column;
    private String order;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -10,7 +10,9 @@
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.FileUploadResult;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.entity.*;
@@ -52,22 +54,68 @@
     * 分页列表
     *
     * @param page
     * @param eamReportRepairQuery
     * @param query
     * @return
     */
    @Override
    public IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery eamReportRepairQuery) {
    public IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery query) {
        QueryWrapper<EamReportRepair> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0);
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return page;
        }
        List<String> equipmentIds = new ArrayList<>();
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            equipmentIds = Arrays.asList(sysUser.getEquipmentIds().split(","));
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
        }
        return this.baseMapper.pageList(page, eamReportRepairQuery, sysUser.getId(), equipmentIds);
        //查询条件过滤
        if (query != null) {
            if (StringUtils.isNotBlank(query.getEquipmentId())) {
                queryWrapper.eq("wmo.equipment_id", query.getEquipmentId());
            }
            if (StringUtils.isNotBlank(query.getEquipmentCode())) {
                queryWrapper.like("e.equipment_code", query.getEquipmentCode());
            }
            if (StringUtils.isNotBlank(query.getEquipmentName())) {
                queryWrapper.like("e.equipment_name", query.getEquipmentName());
            }
            if (StringUtils.isNotBlank(query.getBreakdownFlag())) {
                queryWrapper.eq("wmo.breakdown_flag", query.getBreakdownFlag());
            }
            if (StringUtils.isNotBlank(query.getReportStatus())) {
                queryWrapper.eq("wmo.report_status", query.getReportStatus());
            }
            if (StringUtils.isNotBlank(query.getFaultDescription())) {
                queryWrapper.like("wmo.fault_description", query.getFaultDescription());
            }
            if(query.getStartTime() != null && query.getEndTime() != null) {
                queryWrapper.between("wmo.fault_start_time", query.getStartTime(), query.getEndTime());
            }
            //排序
            if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
                String column = query.getColumn();
                if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
                    column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
                }
                if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) {
                    queryWrapper.orderByAsc("wmo." + oConvertUtils.camelToUnderline(column));
                } else {
                    queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column));
                }
            } else {
                queryWrapper.orderByDesc("wmo.create_time");
            }
        } else {
            queryWrapper.orderByDesc("wmo.create_time");
        }
        return baseMapper.queryPageList(page, queryWrapper);
    }
    @Override