InspectionPointFillGroupMapper.java 2.3 KB
package com.skua.modules.inspection.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.skua.modules.inspection.entity.InspectionPointFillGroup;
import com.skua.modules.inspection.vo.InspectionPointFillGroupAndFillVO;
import com.skua.modules.inspection.vo.InspectionStructEquipVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 巡检点-填报组
 */
public interface InspectionPointFillGroupMapper extends BaseMapper<InspectionPointFillGroup> {

    @Select("SELECT\n" +
            "\tipfg.id,ipfg.inspection_fill_group_id,group_name,fill_name,fill_unit,fill_type,group_concat(choice_name order by ifc.sort SEPARATOR \"|\") choice_name,sys_struct_dict_id,equip_info_id\n" +
            "FROM\n" +
            "\tinspection_point_fill_group ipfg\n" +
            "\tLEFT JOIN inspection_fill_group ifg ON ipfg.inspection_fill_group_id = ifg.id \n" +
            "\tleft join inspection_fill_group_fill ifgf on  ifg.id = ifgf.inspection_fill_group_id\n" +
            "\tleft join inspection_fill ifi on ifgf.inspection_fill_id = ifi.id\n" +
            "\tleft join inspection_fill_choice ifc on ifi.id = ifc.inspection_fill_id ${ew.customSqlSegment}")
    List<InspectionPointFillGroupAndFillVO> getList(@Param(Constants.WRAPPER) QueryWrapper<InspectionPointFillGroupAndFillVO> inspectionPointFillGroupAndFillVOQueryWrapper);

    @Select("SELECT * FROM\t(\tSELECT 'sys_struct_dict' AS node_type,ssd.id,'' AS parent_id,ssd.struct_name AS title,ssd.sort_num,NULL AS equipment_name\n" +
            "\tFROM sys_struct_dict ssd WHERE ssd.depart_id = #{departId}\n" +
            "\tUNION ALL SELECT\n" +
            "\t\t'equip_info' AS node_type,ei.id,ssd.id AS parent_id,ei.equipment_name AS title,ssd.sort_num,ei.equipment_name -- 用于排序\n" +
            "\tFROM equipment_info ei LEFT JOIN sys_struct_dict ssd ON ei.structures = ssd.id \n" +
            "\tWHERE ssd.depart_id = #{departId}\n" +
            "\t) AS combined_result ORDER BY node_type DESC,sort_num,equipment_name;")
    List<InspectionStructEquipVO> getSysStructDictAndEquipInfo(@Param("departId") String departId);
}