|
@@ -1,8 +1,16 @@
|
|
|
package com.ruoyi.ems.service.impl;
|
|
|
|
|
|
+import com.ruoyi.ems.domain.EmsDevice;
|
|
|
+import com.ruoyi.ems.domain.EmsDeviceComponent;
|
|
|
+import com.ruoyi.ems.domain.EmsFacs;
|
|
|
import com.ruoyi.ems.domain.EmsObjAttr;
|
|
|
+import com.ruoyi.ems.domain.EmsObjAttrDto;
|
|
|
import com.ruoyi.ems.domain.EmsObjAttrEnum;
|
|
|
+import com.ruoyi.ems.enums.DevObjType;
|
|
|
import com.ruoyi.ems.mapper.EmsObjAttrMapper;
|
|
|
+import com.ruoyi.ems.service.IEmsDeviceComponentService;
|
|
|
+import com.ruoyi.ems.service.IEmsDeviceService;
|
|
|
+import com.ruoyi.ems.service.IEmsFacsService;
|
|
|
import com.ruoyi.ems.service.IEmsObjAttrEnumService;
|
|
|
import com.ruoyi.ems.service.IEmsObjAttrService;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
@@ -10,6 +18,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -27,7 +36,13 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
|
|
|
private IEmsObjAttrEnumService enumService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IEmsObjAttrEnumService valueEnumService;
|
|
|
+ private IEmsDeviceService deviceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IEmsFacsService facsService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IEmsDeviceComponentService componentService;
|
|
|
|
|
|
/**
|
|
|
* 查询能源对象属性
|
|
@@ -81,6 +96,23 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<EmsObjAttrDto> selectObjAttrItem(Integer objType, String objCode) {
|
|
|
+ List<EmsObjAttrDto> retList = null;
|
|
|
+
|
|
|
+ // 获取对象模型代码
|
|
|
+ String modeCode = getModeCode(objType, objCode);
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(modeCode)) {
|
|
|
+ retList = objAttrMapper.selectObjAttrDto(modeCode, objType, objCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ retList = new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ return retList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 新增能源对象属性
|
|
|
*
|
|
@@ -90,21 +122,24 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
|
|
|
@Override
|
|
|
public int insertObjAttr(EmsObjAttr objAttr) {
|
|
|
int cnt = objAttrMapper.insertObjAttr(objAttr);
|
|
|
-
|
|
|
- if (StringUtils.equals(objAttr.getAttrValueType(), "Enum")) {
|
|
|
- valueEnumService.deleteByModelCode(objAttr.getModelCode());
|
|
|
-
|
|
|
- if (CollectionUtils.isNotEmpty(objAttr.getValueEnums())) {
|
|
|
- valueEnumService.addObjAttrEnumBatch(objAttr.getValueEnums());
|
|
|
- }
|
|
|
- }
|
|
|
+ mergeAttrEnum(objAttr);
|
|
|
|
|
|
return cnt;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int insertBatch(List<EmsObjAttr> list) {
|
|
|
- return objAttrMapper.insertBatch(list);
|
|
|
+ int cnt = 0;
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ cnt = objAttrMapper.insertBatch(list);
|
|
|
+
|
|
|
+ for (EmsObjAttr objAttr : list) {
|
|
|
+ mergeAttrEnum(objAttr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return cnt;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -115,7 +150,9 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
|
|
|
*/
|
|
|
@Override
|
|
|
public int updateObjAttr(EmsObjAttr objAttr) {
|
|
|
- return objAttrMapper.updateObjAttr(objAttr);
|
|
|
+ int cnt = objAttrMapper.updateObjAttr(objAttr);
|
|
|
+ mergeAttrEnum(objAttr);
|
|
|
+ return cnt;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -162,4 +199,32 @@ public class EmsObjAttrServiceImpl implements IEmsObjAttrService {
|
|
|
enumService.deleteByModelCode(modelCode);
|
|
|
return cnt;
|
|
|
}
|
|
|
+
|
|
|
+ private void mergeAttrEnum(EmsObjAttr objAttr) {
|
|
|
+ if (StringUtils.equals(objAttr.getAttrValueType(), "Enum")) {
|
|
|
+ enumService.deleteByModelCode(objAttr.getModelCode());
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(objAttr.getValueEnums())) {
|
|
|
+ enumService.addObjAttrEnumBatch(objAttr.getValueEnums());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getModeCode(Integer objType, String objCode) {
|
|
|
+ String modeCode = null;
|
|
|
+
|
|
|
+ if (objType == DevObjType.FACS.getCode()) {
|
|
|
+ EmsFacs facs = facsService.selectEmsFacsByCode(objCode);
|
|
|
+ modeCode = null != facs ? facs.getFacsModel() : null;
|
|
|
+ }
|
|
|
+ else if (objType == DevObjType.DEVC.getCode()) {
|
|
|
+ EmsDevice device = deviceService.selectByCode(objCode);
|
|
|
+ modeCode = null != device ? device.getDeviceModel() : null;
|
|
|
+ }
|
|
|
+ else if (objType == DevObjType.COMPONENT.getCode()) {
|
|
|
+ EmsDeviceComponent devCompo = componentService.selectByCode(objCode);
|
|
|
+ modeCode = null != devCompo ? devCompo.getCompoModel() : null;
|
|
|
+ }
|
|
|
+ return modeCode;
|
|
|
+ }
|
|
|
}
|