package com.yuanchu.mom.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.dto.DeviceDto; import com.yuanchu.mom.mapper.DeviceMapper; import com.yuanchu.mom.mapper.StructureItemParameterMapper; import com.yuanchu.mom.pojo.Device; import com.yuanchu.mom.pojo.StructureItemParameter; import com.yuanchu.mom.service.DeviceService; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 设备(Device)表服务实现类 */ @Service @AllArgsConstructor public class DeviceServiceImpl extends ServiceImpl implements DeviceService { private GetLook getLook; private DeviceMapper deviceMapper; private StructureItemParameterMapper structureItemParameterMapper; @Override public Map selectDeviceParameter(Page page, DeviceDto itemParameter) { Map map = new HashMap<>(); map.put("head", PrintChina.printChina(DeviceDto.class)); Map map1 = getLook.selectPowerByMethodAndUserId("selectDeviceParameter"); if (map1.get("look") == 1) itemParameter.setCreateUser(map1.get("userId")); IPage iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter)); map.put("body", iPage); return map; } @Override public int addDeviceParameter(Device itemParameter) { return deviceMapper.insert(itemParameter); } @Override public int delDeviceParameter(Integer id) { return deviceMapper.deleteById(id); } @Override public int upDeviceParameter(Device itemParameter) { return deviceMapper.updateById(itemParameter); } @Override public List selectEquipmentOverview() { return deviceMapper.selectEquipmentOverview(new Page(1, 10), QueryWrappers.queryWrappers(new Device())); } @Override public List authorizedPerson() { return deviceMapper.authorizedPerson(); } @Override public List search(Integer status, String deviceName, String specificationModel, String largeCategory) { return deviceMapper.search(status, deviceName, specificationModel, largeCategory); } @Override public List selectDevicePrincipal() { return deviceMapper.selectDevicePrincipal(); } @Override public List selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass) { Integer id; try { id = structureItemParameterMapper.selectOne(Wrappers.lambdaQuery().eq(StructureItemParameter::getInspectionItem, inspectionItem).eq(StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass).last("limit 1").select(StructureItemParameter::getId)).getId(); } catch (Exception e) { return null; } List devices = deviceMapper.selectList(Wrappers.lambdaQuery().eq(Device::getDeviceStatus, 0).isNotNull(Device::getInsProductIds)); List devices2 = new ArrayList<>(); for (Device device : devices) { String[] ids = device.getInsProductIds().split(","); for (String i : ids) { if (i.equals(id+"")) { devices2.add(device); break; } } } return devices2; } @Override public Device selectDeviceByCode(String code) { return deviceMapper.selectOne(Wrappers.lambdaQuery().eq(Device::getFactoryNo, code).last("limit 1")); } }