package org.jeecg.modules.mdc.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mdc.dto.MdcEquDepDto; import org.jeecg.modules.mdc.dto.MdcEquProDto; import org.jeecg.modules.mdc.dto.MdcEquipmentDto; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor; import org.jeecg.modules.mdc.model.MdcEquipmentTree; import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo; import org.jeecg.modules.mdc.vo.MdcEquipmentVo; import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; /** * @Description: 设备表 * @Author: liuS * @Date: 2023-03-22 * @Version: V1.0 */ public interface IMdcEquipmentService extends IService { /** * 根据 equipmentIds查询,查询设备所属部门的名称(多个部门名逗号隔开) */ Map getDepNamesByEquipmentIds(List equipmentIds); /** * 根据 equipmentIds查询,查询设备所属产线的名称(多个产线名逗号隔开) */ Map getProNamesByEquipmentIds(List equipmentIds); /** * 保存设备 * * @param mdcEquipment 设备 * @param selectedDeparts 选择的部门id,多个以逗号隔开 * @param selectedProduction 选择的产线id,多个以逗号隔开 */ void saveMdcEquipment(MdcEquipment mdcEquipment, String selectedDeparts, String selectedProduction); /** * 修改设备 * * @param mdcEquipment 设备 */ void editMdcEquipment(MdcEquipment mdcEquipment); /** * 删除设备 * * @param id 设备id * @return */ boolean deleteById(String id); /** * 批量删除设备 * * @param equipmentIds 设备id集合 * @return */ boolean deleteByIds(List equipmentIds); /** * 根据部门id查询设备列表 */ IPage pageListByDepId(Page page, String departId, String equipmentId); /** * 根据产线id查询设备列表 */ IPage pageListByProId(Page page, String productionId, String equipmentId); /** * 移除设备和部门关系 */ void removeEquipmentForDepart(String departId, String equipmentId); /** * 批量移除部门和设备关系 */ void removeEquipmentsForDepart(String departId, List equipmentIdList); /** * 移除设备和产线关系 */ void removeEquipmentForProduction(String productionId, String equipmentId); /** * 批量移除产线和设备关系 */ void removeEquipmentsForProduction(String productionId, List equipmentIdList); /** * 加载部门设备树 */ List loadTreeListByDepart(String userId); /** * 加载产线设备树 */ List loadTreeListByProduction(String userId); /** * 设备监控列表 */ List queryEquipmentMonitorList(String userId, String key); /** * 设备监控 - 设备详细信息 */ Map mdcEquipmentDetailedInfo(String id); /** * 通过用户部门关系获取设备id集合 */ List getEquipmentIdsByDepart(String userId, String key); /** * 通过用户产线关系获取设备id集合 */ List getEquipmentIdsProduction(String userId, String key); /** * 根据设备id查询设备名称 * * @param equipmentId * @return */ MdcEquipment findEquipmentNameByEquipmentId(String equipmentId); /** * 选择设备分页列表 */ IPage findEquipmentList(Page page, String userId, MdcEquipmentVo mdcEquipment); /** * 根据产线层级查询设备单个 */ MdcEquipment getEquipmentByPid(String pid, String userId); /** * 根据设备编号查询设备信息和部门信息 * * @param equipmentIdList * @return */ List findEquDepList(List equipmentIdList); /** * 根据设备编号查询设备信息和产线信息 * * @param equipmentIdList * @return */ List findEquProList(List equipmentIdList); /** * 根据部门层级查询设备单个 */ MdcEquipment getEquipmentByDepPid(String pid, String userId); /** * 根据大屏车间id查询设备列表 */ IPage getEquipmentByWorkshopId(Page page, WorkshopEquipmentVo workshopEquipmentVo); List listEquipmentId(MdcEfficiencyReportQueryVo vo); /** * 列表查询 */ IPage pageList(Page page, MdcEquipmentVo mdcEquipment, HttpServletRequest req); /** * 监控设备运行参数任务 */ void monitoringSpeedProcess(); /** * 导出List * * @param mdcEquipment * @return */ List exportXlsList(MdcEquipmentVo mdcEquipment); /** * 通过车间ids获取设备树 * * @param ids * @return */ List loadTreeListByProductionIds(String ids); /** * 查询单表数据 * * @param tableName * @return */ MdcEquipmentDto getWorkLineLast(String tableName); List listEquipmentIdShift(MdcEfficiencyReportShiftQueryVo vo); /** * 根据产线id获取设备状态列表 * * @param workshopId * @return */ List getEquipmentMonitorList(String workshopId); }