Explorar el Código

数据集复制功能-后端实现

isqianming hace 11 meses
padre
commit
3621336aa3

+ 7 - 1
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/DataSetController.java

@@ -14,7 +14,6 @@ import com.anjiplus.template.gaea.business.modules.dataset.controller.param.Data
 import com.anjiplus.template.gaea.business.modules.dataset.controller.param.DataSetTestTransformParam;
 import com.anjiplus.template.gaea.business.modules.dataset.dao.entity.DataSet;
 import com.anjiplus.template.gaea.business.modules.dataset.service.DataSetService;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -142,4 +141,11 @@ public class DataSetController extends GaeaBaseController<DataSetParam, DataSet,
     }
 
 
+    @PostMapping("/copy")
+    @Permission(code = "copy", name = "复制")
+    @GaeaAuditLog(pageTitle = "复制")
+    public ResponseBean copy(@RequestBody DataSetDto dto) {
+        dataSetService.copy(dto);
+        return ResponseBean.builder().build();
+    }
 }

+ 2 - 0
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/DataSetService.java

@@ -67,4 +67,6 @@ public interface DataSetService extends GaeaBaseService<DataSetParam, DataSet> {
      * @return
      */
     List<DataSet> queryAllDataSet();
+
+    void copy(DataSetDto dto);
 }

+ 27 - 0
report-core/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java

@@ -380,6 +380,33 @@ public class DataSetServiceImpl implements DataSetService {
         return dataSetMapper.selectList(wrapper);
     }
 
+    @Override
+    public void copy(DataSetDto dto) {
+        if (null == dto.getId()) {
+            throw BusinessExceptionBuilder.build(ResponseCode.NOT_NULL, "id");
+        }
+        if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(dto.getSetCode())) {
+            throw BusinessExceptionBuilder.build(ResponseCode.NOT_NULL, "数据集编码");
+        }
+        String setCode = dto.getSetCode();
+        DataSet ds = new DataSet();
+        GaeaBeanUtils.copyAndFormatter(ds,dto);
+        insert(ds);
+        String copySetCode = ds.getSetCode();
+        DataSetParam dataSetParam = dataSetParamService.selectOne("set_code", setCode);
+        if (null != dataSetParam){
+            dataSetParam.setId(null);
+            dataSetParam.setSetCode(copySetCode);
+            dataSetParamService.insert(dataSetParam);
+        }
+        DataSetTransform dataSetTransform = dataSetTransformService.selectOne("set_code", setCode);
+        if (null != dataSetTransform){
+            dataSetTransform.setId(null);
+            dataSetTransform.setSetCode(copySetCode);
+            dataSetTransformService.insert(dataSetTransform);
+        }
+    }
+
     public void dataSetParamBatch(List<DataSetParamDto> dataSetParamDtoList, String setCode) {
         dataSetParamService.delete(
                 new QueryWrapper<DataSetParam>()