|
@@ -7,6 +7,7 @@ import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.ems.domain.BaseSpace;
|
|
import com.usky.ems.domain.BaseSpace;
|
|
|
import com.usky.ems.domain.BaseSpaceGateway;
|
|
import com.usky.ems.domain.BaseSpaceGateway;
|
|
|
import com.usky.ems.domain.DmpDevice;
|
|
import com.usky.ems.domain.DmpDevice;
|
|
|
|
|
+import com.usky.ems.domain.DmpProduct;
|
|
|
import com.usky.ems.domain.EmsDeviceItemCode;
|
|
import com.usky.ems.domain.EmsDeviceItemCode;
|
|
|
import com.usky.ems.domain.EmsEnergyItemCode;
|
|
import com.usky.ems.domain.EmsEnergyItemCode;
|
|
|
import com.usky.ems.domain.EmsProductEnergyType;
|
|
import com.usky.ems.domain.EmsProductEnergyType;
|
|
@@ -14,6 +15,7 @@ import com.usky.ems.domain.EmsProject;
|
|
|
import com.usky.ems.domain.EmsProjectDeviceSystem;
|
|
import com.usky.ems.domain.EmsProjectDeviceSystem;
|
|
|
import com.usky.ems.mapper.BaseSpaceGatewayMapper;
|
|
import com.usky.ems.mapper.BaseSpaceGatewayMapper;
|
|
|
import com.usky.ems.mapper.DmpDeviceMapper;
|
|
import com.usky.ems.mapper.DmpDeviceMapper;
|
|
|
|
|
+import com.usky.ems.mapper.DmpProductMapper;
|
|
|
import com.usky.ems.mapper.EmsDeviceItemCodeMapper;
|
|
import com.usky.ems.mapper.EmsDeviceItemCodeMapper;
|
|
|
import com.usky.ems.mapper.EmsEnergyItemCodeMapper;
|
|
import com.usky.ems.mapper.EmsEnergyItemCodeMapper;
|
|
|
import com.usky.ems.mapper.EmsProductEnergyTypeMapper;
|
|
import com.usky.ems.mapper.EmsProductEnergyTypeMapper;
|
|
@@ -64,6 +66,8 @@ public class EmsProjectServiceImpl implements EmsProjectService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DmpDeviceMapper dmpDeviceMapper;
|
|
private DmpDeviceMapper dmpDeviceMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
|
|
+ private DmpProductMapper dmpProductMapper;
|
|
|
|
|
+ @Autowired
|
|
|
private EmsEnergyItemCodeMapper emsEnergyItemCodeMapper;
|
|
private EmsEnergyItemCodeMapper emsEnergyItemCodeMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -160,6 +164,36 @@ public class EmsProjectServiceImpl implements EmsProjectService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<DmpProduct> listProductsByEnergyType(Integer energyType) {
|
|
|
|
|
+ if (energyType == null) {
|
|
|
|
|
+ throw new BusinessException("能耗类型不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
|
|
+ List<EmsProductEnergyType> bindings = emsProductEnergyTypeMapper.selectList(
|
|
|
|
|
+ Wrappers.<EmsProductEnergyType>lambdaQuery()
|
|
|
|
|
+ .eq(EmsProductEnergyType::getTenantId, tenantId)
|
|
|
|
|
+ .eq(EmsProductEnergyType::getEnergyType, energyType));
|
|
|
|
|
+ if (bindings.isEmpty()) {
|
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
|
+ }
|
|
|
|
|
+ List<Integer> productIds = bindings.stream()
|
|
|
|
|
+ .map(EmsProductEnergyType::getProductId)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .distinct()
|
|
|
|
|
+ .map(Long::intValue)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ if (productIds.isEmpty()) {
|
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
|
+ }
|
|
|
|
|
+ return dmpProductMapper.selectList(
|
|
|
|
|
+ Wrappers.<DmpProduct>lambdaQuery()
|
|
|
|
|
+ .in(DmpProduct::getId, productIds)
|
|
|
|
|
+ .eq(DmpProduct::getTenantId, tenantId)
|
|
|
|
|
+ .eq(DmpProduct::getDeleteFlag, 0)
|
|
|
|
|
+ .orderByAsc(DmpProduct::getId));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void saveDeviceItemCodes(EmsDeviceItemCodeSaveRequest request) {
|
|
public void saveDeviceItemCodes(EmsDeviceItemCodeSaveRequest request) {
|