|
@@ -4,13 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.ems.domain.BaseSpace;
|
|
import com.usky.ems.domain.BaseSpace;
|
|
|
|
|
+import com.usky.ems.domain.EmsDeviceItemCode;
|
|
|
|
|
+import com.usky.ems.domain.EmsProductEnergyType;
|
|
|
import com.usky.ems.domain.EmsProject;
|
|
import com.usky.ems.domain.EmsProject;
|
|
|
import com.usky.ems.domain.EmsProjectDeviceSystem;
|
|
import com.usky.ems.domain.EmsProjectDeviceSystem;
|
|
|
|
|
+import com.usky.ems.mapper.EmsDeviceItemCodeMapper;
|
|
|
|
|
+import com.usky.ems.mapper.EmsProductEnergyTypeMapper;
|
|
|
import com.usky.ems.mapper.EmsProjectDeviceSystemMapper;
|
|
import com.usky.ems.mapper.EmsProjectDeviceSystemMapper;
|
|
|
import com.usky.ems.mapper.EmsProjectMapper;
|
|
import com.usky.ems.mapper.EmsProjectMapper;
|
|
|
import com.usky.ems.service.BaseSpaceService;
|
|
import com.usky.ems.service.BaseSpaceService;
|
|
|
import com.usky.ems.service.EmsProjectService;
|
|
import com.usky.ems.service.EmsProjectService;
|
|
|
import com.usky.ems.service.EmsSystemDictRegionService;
|
|
import com.usky.ems.service.EmsSystemDictRegionService;
|
|
|
|
|
+import com.usky.ems.service.vo.EmsDeviceItemCodeSaveRequest;
|
|
|
|
|
+import com.usky.ems.service.vo.EmsProductEnergyTypeSaveRequest;
|
|
|
import com.usky.ems.service.vo.EmsProjectResponse;
|
|
import com.usky.ems.service.vo.EmsProjectResponse;
|
|
|
import com.usky.ems.service.vo.EmsProjectSaveRequest;
|
|
import com.usky.ems.service.vo.EmsProjectSaveRequest;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -40,6 +46,10 @@ public class EmsProjectServiceImpl implements EmsProjectService {
|
|
|
private BaseSpaceService baseSpaceService;
|
|
private BaseSpaceService baseSpaceService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private EmsSystemDictRegionService emsSystemDictRegionService;
|
|
private EmsSystemDictRegionService emsSystemDictRegionService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private EmsProductEnergyTypeMapper emsProductEnergyTypeMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private EmsDeviceItemCodeMapper emsDeviceItemCodeMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -103,6 +113,75 @@ public class EmsProjectServiceImpl implements EmsProjectService {
|
|
|
baseSpaceService.removeById(spaceId);
|
|
baseSpaceService.removeById(spaceId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public void saveProductEnergyTypes(EmsProductEnergyTypeSaveRequest request) {
|
|
|
|
|
+ if (request == null || request.getEnergyType() == null) {
|
|
|
|
|
+ throw new BusinessException("能耗类型不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
|
|
+ emsProductEnergyTypeMapper.delete(
|
|
|
|
|
+ new LambdaQueryWrapper<EmsProductEnergyType>()
|
|
|
|
|
+ .eq(EmsProductEnergyType::getTenantId, tenantId)
|
|
|
|
|
+ .eq(EmsProductEnergyType::getEnergyType, request.getEnergyType()));
|
|
|
|
|
+ if (CollectionUtils.isEmpty(request.getProductIdList())) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
+ String auditUser = SecurityUtils.getUsername();
|
|
|
|
|
+ for (Long productId : request.getProductIdList()) {
|
|
|
|
|
+ if (productId == null) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ EmsProductEnergyType row = new EmsProductEnergyType();
|
|
|
|
|
+ row.setProductId(productId);
|
|
|
|
|
+ row.setEnergyType(request.getEnergyType());
|
|
|
|
|
+ row.setTenantId(tenantId);
|
|
|
|
|
+ row.setCreatedBy(auditUser);
|
|
|
|
|
+ row.setUpdatedBy(auditUser);
|
|
|
|
|
+ row.setCreatedTime(now);
|
|
|
|
|
+ row.setUpdatedTime(now);
|
|
|
|
|
+ emsProductEnergyTypeMapper.insert(row);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public void saveDeviceItemCodes(EmsDeviceItemCodeSaveRequest request) {
|
|
|
|
|
+ if (request == null || request.getEnergyType() == null) {
|
|
|
|
|
+ throw new BusinessException("能耗类型不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!StringUtils.hasText(request.getItemCode())) {
|
|
|
|
|
+ throw new BusinessException("能耗分项编码不能为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
|
|
+ String itemCode = request.getItemCode().trim();
|
|
|
|
|
+ emsDeviceItemCodeMapper.delete(
|
|
|
|
|
+ new LambdaQueryWrapper<EmsDeviceItemCode>()
|
|
|
|
|
+ .eq(EmsDeviceItemCode::getTenantId, tenantId)
|
|
|
|
|
+ .eq(EmsDeviceItemCode::getItemCode, itemCode));
|
|
|
|
|
+ if (CollectionUtils.isEmpty(request.getDeviceUuidList())) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
+ String auditUser = SecurityUtils.getUsername();
|
|
|
|
|
+ for (String deviceUuid : request.getDeviceUuidList()) {
|
|
|
|
|
+ if (!StringUtils.hasText(deviceUuid)) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ EmsDeviceItemCode row = new EmsDeviceItemCode();
|
|
|
|
|
+ row.setDeviceUuid(deviceUuid.trim());
|
|
|
|
|
+ row.setItemCode(itemCode);
|
|
|
|
|
+ row.setEnergyType(request.getEnergyType());
|
|
|
|
|
+ row.setTenantId(tenantId);
|
|
|
|
|
+ row.setCreatedBy(auditUser);
|
|
|
|
|
+ row.setUpdatedBy(auditUser);
|
|
|
|
|
+ row.setCreatedTime(now);
|
|
|
|
|
+ row.setUpdatedTime(now);
|
|
|
|
|
+ emsDeviceItemCodeMapper.insert(row);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 对应原 UserService.hasLoggedUser(projectId)。接入统一用户/权限模块后可在此查询用户与项目绑定关系。
|
|
* 对应原 UserService.hasLoggedUser(projectId)。接入统一用户/权限模块后可在此查询用户与项目绑定关系。
|
|
|
*/
|
|
*/
|