Pārlūkot izejas kodu

feature(数据资源分类和字段分类新增修改): 数据资源分类和字段分类新增修改

数据资源分类和字段分类新增修改
mazq 4 gadi atpakaļ
vecāks
revīzija
db6371982e

+ 39 - 10
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataClaServiceImpl.java

@@ -42,29 +42,51 @@ public class DataClaServiceImpl implements IDataClaService {
 
     @Override
     public Boolean dataClassifyAdd(DataClaAcceptDTO dto) {
+        boolean saveFlag = false;
+        String path = null;
+
         //一级分类保存
-        String firId = dto.getFirId();
-        dto.getFirCode();
-        if(StringUtils.isBlank(firId)) {
+        DataCla fir = getByCodeAndPath(dto.getFirCode(), path);
+        String firId;
+        if(null == fir) {
+            saveFlag = true;
             DataClaDTO dataClaDTO = new DataClaDTO(dto.getFirCode()
                     ,dto.getFirName(), DataClaTypeEnum.FIR.getLevel(), DataClaTypeEnum.FIR.getCode());
             dataClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_CLA_FIR.value);
             DataClaDTO firDTO = save(dataClaDTO);
             firId = firDTO.getId();
+        } else  {
+            firId = fir.getId();
+            path = firId;
         }
+
         //二级分类保存
-        String secId = dto.getSecId();
-        if(StringUtils.isBlank(secId)) {
+        String secId;
+        DataCla sec = null;
+        if(!saveFlag) {
+             sec = getByCodeAndPath(dto.getSecCode(), path);
+        }
+        if(null == sec) {
+            saveFlag = true;
             DataClaDTO dataClaDTO = new DataClaDTO(dto.getSecCode()
                     ,dto.getSecName(), DataClaTypeEnum.SEC.getLevel(), DataClaTypeEnum.SEC.getCode());
             dataClaDTO.setFirId(firId);
             dataClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_CLA_SEC.value);
             DataClaDTO secDTO = save(dataClaDTO);
             secId = secDTO.getId();
+        } else {
+            secId = sec.getId();
+            path = path + CommonCons.PATH_SEP + secId;
         }
+
         //标签分类保存
-        String labClaId = dto.getLabClaId();
-        if(StringUtils.isBlank(labClaId)) {
+        String labClaId;
+        DataCla labCla = null;
+        if(!saveFlag) {
+            labCla = getByCodeAndPath(dto.getLabClaCode(), path);
+        }
+        if(null == labCla) {
+            saveFlag = true;
             DataClaDTO dataClaDTO = new DataClaDTO(dto.getLabClaCode()
                     ,dto.getLabClaName(), DataClaTypeEnum.LAB_CLA.getLevel(), DataClaTypeEnum.LAB_CLA.getCode());
             dataClaDTO.setFirId(firId);
@@ -72,10 +94,17 @@ public class DataClaServiceImpl implements IDataClaService {
             dataClaDTO.setDataType(dto.getLabClaCode());
             DataClaDTO labClaDTO = save(dataClaDTO);
             labClaId = labClaDTO.getId();
+        } else {
+            labClaId = labCla.getId();
+            path = path + CommonCons.PATH_SEP + labClaId;
         }
+
+        DataCla lab = null;
         //标签保存
-        String labId = dto.getLabId();
-        if(StringUtils.isBlank(labId)) {
+        if(!saveFlag) {
+            lab = getByCodeAndPath(dto.getLabCode(), path);
+        }
+        if(null == lab) {
             DataClaDTO dataClaDTO = new DataClaDTO(dto.getLabCode()
                     ,dto.getLabName(), DataClaTypeEnum.LAB.getLevel(), DataClaTypeEnum.LAB.getCode());
             dataClaDTO.setRemark(dto.getRemark());
@@ -85,7 +114,7 @@ public class DataClaServiceImpl implements IDataClaService {
             dataClaDTO.setLabClaId(labClaId);
             save(dataClaDTO);
         }
-        return true;
+        return saveFlag;
     }
 
     @Override

+ 16 - 5
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/FieldClaServiceImpl.java

@@ -41,16 +41,27 @@ public class FieldClaServiceImpl implements IFieldClaService {
 
     @Override
     public Boolean fieldClassifyAdd(FieldClaAcceptDTO dto) {
-        String firId = dto.getFirId();
-        String secId = dto.getSecId();
-        if(StringUtils.isBlank(firId)) {
+        boolean saveFlag = false;
+        String firId;
+        String path = null;
+        FieldCla fir = getByCodeAndPath(dto.getFirCode(), path);
+        if(null == fir) {
+            saveFlag = true;
             FieldClaDTO fieldClaDTO = new FieldClaDTO(dto.getFirCode(),dto.getFirName(),
                     FieldClaTypeEnum.FIR.getLevel(), FieldClaTypeEnum.FIR.getCode());
             fieldClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_FIELD_FIR.value);
             FieldClaDTO firDTO = save(fieldClaDTO);
             firId = firDTO.getId();
+        } else {
+            firId = fir.getId();
         }
-        if(StringUtils.isBlank(secId)) {
+        path = firId;
+        FieldCla sec = null;
+        if(!saveFlag) {
+            sec = getByCodeAndPath(dto.getSecCode(), path);
+        }
+        if(null == sec) {
+            saveFlag = true;
             FieldClaDTO fieldClaDTO = new FieldClaDTO(dto.getSecCode(),dto.getSecName(),
                     FieldClaTypeEnum.SEC.getLevel(), FieldClaTypeEnum.SEC.getCode());
             fieldClaDTO.setFirId(firId);
@@ -58,7 +69,7 @@ public class FieldClaServiceImpl implements IFieldClaService {
             fieldClaDTO.setDataType(DataAuthTypeCodeEnum.AUTH_DATA_FIELD_SEC.value);
             save(fieldClaDTO);
         }
-        return true;
+        return saveFlag;
     }
 
     @Override