package com.yuanchu.mom.service.impl; import com.alibaba.fastjson.JSON; 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.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, Device itemParameter) { Map map = new HashMap<>(); map.put("head", PrintChina.printChina(Device.class)); Map map1 = getLook.selectPowerByMethodAndUserId("selectDeviceParameter"); if (map1.get("look") == 1) itemParameter.setCreateUser(map1.get("userId")); map.put("body", deviceMapper.selectPage(page, QueryWrappers.queryWrappers(itemParameter))); 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) { List ids = JSON.parseArray(device.getInsProductIds(), Integer.class); for (Integer i : ids) { if (i == id) { devices2.add(device); } } } return devices2; } @Override public Device selectDeviceByCode(String code) { return deviceMapper.selectOne(Wrappers.lambdaQuery().eq(Device::getFactoryNo, code).last("limit 1")); } }