Browse Source

add:自定义

zero 1 year ago
parent
commit
a457b7b856

+ 5 - 0
src/main/java/cn/cslg/pas/common/dto/customAnalyse/CustomAnalyseDTO.java

@@ -49,6 +49,11 @@ public class CustomAnalyseDTO {
      */
     private CustomAnalysisItemSetting setting;
 
+    /**
+     * 数据源
+     */
+    private SourceDataDTO source;
+
     private String parentName;
 
 }

+ 33 - 0
src/main/java/cn/cslg/pas/common/dto/customAnalyse/SourceDataDTO.java

@@ -0,0 +1,33 @@
+package cn.cslg.pas.common.dto.customAnalyse;
+
+
+import cn.cslg.pas.domain.business.CustomAnalysisItemSource;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SourceDataDTO {
+    private List<CustomAnalysisItemSource> x;
+    private List<CustomAnalysisItemSource> y;
+
+    public SourceDataDTO() {
+        this.x = new ArrayList<>();
+        this.y = new ArrayList<>();
+    }
+
+    public List<CustomAnalysisItemSource> getX() {
+        return x;
+    }
+
+    public void setX(List<CustomAnalysisItemSource> x) {
+        this.x = x;
+    }
+
+    public List<CustomAnalysisItemSource> getY() {
+        return y;
+    }
+
+    public void setY(List<CustomAnalysisItemSource> y) {
+        this.y = y;
+    }
+}

+ 14 - 0
src/main/java/cn/cslg/pas/common/dto/customAnalyse/SourceMinAndMaxDataDTO.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.common.dto.customAnalyse;
+
+import lombok.Data;
+
+@Data
+public class SourceMinAndMaxDataDTO {
+    private Integer value;
+    private Integer operator;
+
+    public SourceMinAndMaxDataDTO() {
+        this.operator = 0;
+        this.value = 0;
+    }
+}

+ 16 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/SourceDataVO.java

@@ -0,0 +1,16 @@
+package cn.cslg.pas.common.vo.customAnalyse;
+
+import cn.cslg.pas.domain.business.CustomAnalysisItemSource;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SourceDataVO {
+    private Integer expandId;
+    private Integer fieldId;
+    private String uid;
+    private String patentKey;
+    private String dimension;
+    private List<CustomAnalysisItemSource> source;
+}

+ 2 - 0
src/main/java/cn/cslg/pas/domain/business/CustomAnalysisItemSetting.java

@@ -122,6 +122,8 @@ public class CustomAnalysisItemSetting extends BaseEntity<CustomAnalysisItemSett
     @TableField(value = "title1_dir")
     private Integer title1Dir;
 
+    @TableField(value = "status")
+    private Integer status;
     /**
      * 表格设置
      */

+ 23 - 10
src/main/java/cn/cslg/pas/domain/business/CustomAnalysisItemSource.java

@@ -1,5 +1,6 @@
 package cn.cslg.pas.domain.business;
 
+import cn.cslg.pas.common.dto.customAnalyse.SourceMinAndMaxDataDTO;
 import cn.cslg.pas.domain.BaseEntity;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -20,62 +21,62 @@ import java.util.Date;
 @TableName("os_custom_analysis_item_source")
 public class CustomAnalysisItemSource extends BaseEntity<CustomAnalysisItemSource> {
 
-    @TableField(value = "show")
+    @TableField(value = "uid")
     private String uid;
 
     /**
      * 维度
      */
-    @TableField(value = "show")
+    @TableField(value = "dimension")
     private String dimension;
 
     /**
      * 名称
      */
-    @TableField(value = "show")
+    @TableField(value = "name")
     private String name;
 
     /**
      * 是否选择
      */
-    @TableField(value = "show")
+    @TableField(value = "selected")
     private Boolean selected;
 
     /**
      * 字段ID
      */
-    @TableField(value = "show")
+    @TableField(value = "field_id")
     private Integer fieldId;
 
     /**
      * 拓展ID
      */
-    @TableField(value = "show")
+    @TableField(value = "expand_id")
     private Integer expandId;
 
     /**
      * 开始时间
      */
-    @TableField(value = "show")
+    @TableField(value = "start_time")
     private String startTime;
 
     /**
      * 结束时间
      */
-    @TableField(value = "show")
+    @TableField(value = "end_time")
     private String endTime;
 
     /**
      * 大于
      */
 
-    @TableField(value = "show")
+    @TableField(value = "min_data")
     private String minData;
 
     /**
      * 小于
      */
-    @TableField(value = "show")
+    @TableField(value = "max_data")
     private String maxData;
 
     @TableField(value = "status")
@@ -96,4 +97,16 @@ public class CustomAnalysisItemSource extends BaseEntity<CustomAnalysisItemSourc
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
+
+    /**
+     * 大于
+     */
+    @TableField(exist = false)
+    private SourceMinAndMaxDataDTO min;
+
+    /**
+     * 小于
+     */
+    @TableField(exist = false)
+    private SourceMinAndMaxDataDTO max;
 }

+ 2 - 1
src/main/java/cn/cslg/pas/mapper/CustomAnalysisItemSourceMapper.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.mapper;
 
 import cn.cslg.pas.domain.business.CustomAnalysisItemSource;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -9,6 +10,6 @@ import org.springframework.stereotype.Repository;
  * @Author zero
  * @Date 2024/01/12
  */
-@Repository
+@Mapper
 public interface CustomAnalysisItemSourceMapper extends BaseMapper<CustomAnalysisItemSource> {
 }

+ 19 - 2
src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java

@@ -53,6 +53,9 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
     private CustomAnalysisItemSchemaService itemSchemaService;
 
     @Autowired
+    private CustomAnalysisItemSourceService itemSourceService;
+
+    @Autowired
     private CustomAnalysisItemSettingService itemSettingService;
 
     public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(SelectCustomAnalyseVO vo) {
@@ -92,14 +95,16 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
     public CustomAnalyseDTO queryAnalyseDetail(CustomAnalyseIdVO vo) {
         CustomAnalyseDTO dto = new CustomAnalyseDTO();
         CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
+        BeanUtils.copyProperties(item, dto);
         if (item.getType().equals(2)) {
             dto.setSchema(itemSchemaService.getItemSchemaByUid(item.getUid()));
-//            dto.setSetting();
+            dto.setSetting(itemSettingService.getItemSettingByUid(item.getUid()));
+            dto.setSource(itemSourceService.getItemSourceData(dto));
         } else {
             dto.setSchema(null);
             dto.setSetting(null);
+            dto.setSource(null);
         }
-        BeanUtils.copyProperties(item, dto);
         return dto;
     }
 
@@ -135,6 +140,11 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         item.setCreateTime(new Date());
         item.setUpdateTime(new Date());
         item.insert();
+        if (item.getType().equals(2)) {
+            itemSettingService.add(vo.getSetting(), uid);
+            itemSchemaService.add(vo.getSchema(), uid);
+            itemSourceService.edit(vo);
+        }
         return item.getId();
     }
 
@@ -162,6 +172,12 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         item.setCreateName(personnelVO.getName());
         item.setUpdateTime(new Date());
         item.updateById();
+
+        if (item.getType().equals(2)) {
+            itemSettingService.edit(vo.getSetting(), item.getUid());
+            itemSchemaService.edit(vo.getSchema(), item.getUid());
+            itemSourceService.edit(vo);
+        }
         return item.getId();
     }
 
@@ -176,6 +192,7 @@ public class CustomAnalyseService extends ServiceImpl<CustomAnalysisItemMapper,
         this.removeById(vo.getId());
         itemSchemaService.deleteByUid(item.getUid());
         itemSettingService.deleteByUid(item.getUid());
+        itemSourceService.deleteByUid(item.getUid());
         return item.getId();
     }
 

+ 75 - 0
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSchemaService.java

@@ -2,14 +2,20 @@ package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.customAnalyse.SchemaDataDTO;
 import cn.cslg.pas.common.dto.customAnalyse.SchemaDimensionDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.domain.business.CustomAnalysisItemSchema;
+import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.mapper.CustomAnalysisItemSchemaMapper;
+import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -19,6 +25,13 @@ import java.util.List;
  */
 @Service
 public class CustomAnalysisItemSchemaService extends ServiceImpl<CustomAnalysisItemSchemaMapper, CustomAnalysisItemSchema> {
+
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
     @Autowired
     private CustomAnalysisItemSchemaMapper customAnalysisItemSchemaMapper;
 
@@ -50,6 +63,68 @@ public class CustomAnalysisItemSchemaService extends ServiceImpl<CustomAnalysisI
         return dto;
     }
 
+    public void add(SchemaDimensionDTO dto, String uid) {
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+
+        List<CustomAnalysisItemSchema> customAnalysisItemSchema = new ArrayList<>();
+        CustomAnalysisItemSchema d1 = new CustomAnalysisItemSchema();
+        CustomAnalysisItemSchema d2 = new CustomAnalysisItemSchema();
+        d1.setUid(uid);
+        d1.setDimension("x");
+        d1.setField(dto.getX().getField());
+        d1.setExpand(dto.getX().getExpand());
+        d1.setPtype(dto.getX().getPtype());
+        d1.setType(dto.getX().getType());
+        d1.setNum(dto.getX().getNum());
+        d1.setCreateId(personnelVO.getId());
+        d1.setCreateName(personnelVO.getName());
+        d2.setUid(uid);
+        d2.setDimension("y");
+        d2.setField(dto.getY().getField());
+        d2.setExpand(dto.getY().getExpand());
+        d2.setPtype(dto.getY().getPtype());
+        d2.setType(dto.getY().getType());
+        d2.setNum(dto.getY().getNum());
+        d2.setCreateId(personnelVO.getId());
+        d2.setCreateName(personnelVO.getName());
+        customAnalysisItemSchema.add(d1);
+        customAnalysisItemSchema.add(d2);
+        this.saveBatch(customAnalysisItemSchema);
+    }
+
+    public void edit(SchemaDimensionDTO dto, String uid) {
+        List<CustomAnalysisItemSchema> schemaList = this.getListByUid(uid);
+        if (schemaList.size() == 0) {
+            this.add(dto, uid);
+        } else {
+            schemaList.forEach(item -> {
+                switch (item.getDimension()) {
+                    case "x":
+                        item.setField(dto.getX().getField());
+                        item.setExpand(dto.getX().getExpand());
+                        item.setPtype(dto.getX().getPtype());
+                        item.setNum(dto.getX().getNum());
+                        item.setType(dto.getX().getType());
+                        break;
+                    case "y":
+                        item.setField(dto.getY().getField());
+                        item.setExpand(dto.getY().getExpand());
+                        item.setPtype(dto.getY().getPtype());
+                        item.setNum(dto.getY().getNum());
+                        item.setType(dto.getY().getType());
+                        break;
+                }
+            });
+            this.saveOrUpdateBatch(schemaList);
+        }
+    }
+
     public void deleteByUid(String uid) {
         this.remove(Wrappers.<CustomAnalysisItemSchema>lambdaQuery().eq(CustomAnalysisItemSchema::getUid, uid));
     }

+ 71 - 0
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSettingService.java

@@ -1,9 +1,20 @@
 package cn.cslg.pas.service.business;
 
+import cn.cslg.pas.common.dto.customAnalyse.CustomSettingColorConfigDTO;
+import cn.cslg.pas.common.dto.customAnalyse.CustomSettingConfigDTO;
+import cn.cslg.pas.common.dto.customAnalyse.CustomSettingLineConfigDTO;
+import cn.cslg.pas.common.dto.customAnalyse.CustomSettingTableConfigDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.JsonUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.domain.business.CustomAnalysisItemSetting;
+import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.mapper.CustomAnalysisItemSettingMapper;
+import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -14,9 +25,69 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CustomAnalysisItemSettingService extends ServiceImpl<CustomAnalysisItemSettingMapper, CustomAnalysisItemSetting> {
+
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
     @Autowired
     private CustomAnalysisItemSettingMapper customAnalysisItemSettingMapper;
 
+    public CustomAnalysisItemSetting getItemSettingByUid(String uid) {
+        CustomAnalysisItemSetting temp = this.getOne(Wrappers.<CustomAnalysisItemSetting>lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid));
+        if (temp == null) {
+            temp = this.add(new CustomAnalysisItemSetting(), uid);
+        }
+        CustomSettingConfigDTO configDTO = new CustomSettingConfigDTO();
+        configDTO.setColor(JsonUtils.jsonToList(temp.getColorConfig(), CustomSettingColorConfigDTO.class));
+        configDTO.setLine(JsonUtils.jsonToPojo(temp.getLineConfig(), CustomSettingLineConfigDTO.class));
+        configDTO.setTable(JsonUtils.jsonToList(temp.getTableConfig(), CustomSettingTableConfigDTO.class));
+        temp.setConfig(configDTO);
+        temp.setColorConfig(null);
+        temp.setLineConfig(null);
+        temp.setTableConfig(null);
+        temp.setId(null);
+        temp.setUid(null);
+        temp.setCreateTime(null);
+        temp.setUpdateTime(null);
+        temp.setStatus(null);
+        return temp;
+    }
+
+    public CustomAnalysisItemSetting add(CustomAnalysisItemSetting setting, String uid) {
+
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        CustomAnalysisItemSetting customAnalysisItemSetting = new CustomAnalysisItemSetting();
+        BeanUtils.copyProperties(setting, customAnalysisItemSetting);
+        customAnalysisItemSetting.setUid(uid);
+        customAnalysisItemSetting.setCreateId(personnelVO.getId());
+        customAnalysisItemSetting.setCreateName(personnelVO.getName());
+        customAnalysisItemSetting.setColorConfig(JsonUtils.objectToJson(setting.getConfig().getColor()));
+        customAnalysisItemSetting.setTableConfig(JsonUtils.objectToJson(setting.getConfig().getTable()));
+        customAnalysisItemSetting.setLineConfig(JsonUtils.objectToJson(setting.getConfig().getLine()));
+        customAnalysisItemSetting.insert();
+        return customAnalysisItemSetting;
+    }
+
+    public void edit(CustomAnalysisItemSetting customAnalysisItemSetting, String uid) {
+        CustomAnalysisItemSetting temp = this.getOne(Wrappers.<CustomAnalysisItemSetting>lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid));
+        if (temp == null) {
+            temp = this.add(customAnalysisItemSetting, uid);
+        }
+        customAnalysisItemSetting.setId(temp.getId());
+        customAnalysisItemSetting.setColorConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getColor()));
+        customAnalysisItemSetting.setTableConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getTable()));
+        customAnalysisItemSetting.setLineConfig(JsonUtils.objectToJson(customAnalysisItemSetting.getConfig().getLine()));
+        customAnalysisItemSetting.updateById();
+    }
 
     public void deleteByUid(String uid) {
         this.remove(Wrappers.<CustomAnalysisItemSetting>lambdaQuery().eq(CustomAnalysisItemSetting::getUid, uid));

+ 146 - 0
src/main/java/cn/cslg/pas/service/business/CustomAnalysisItemSourceService.java

@@ -0,0 +1,146 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.customAnalyse.CustomAnalyseDTO;
+import cn.cslg.pas.common.dto.customAnalyse.SchemaDimensionDTO;
+import cn.cslg.pas.common.dto.customAnalyse.SourceDataDTO;
+import cn.cslg.pas.common.dto.customAnalyse.SourceMinAndMaxDataDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.JsonUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.utils.StringUtils;
+import cn.cslg.pas.common.vo.customAnalyse.SourceDataVO;
+import cn.cslg.pas.domain.business.CustomAnalysisItem;
+import cn.cslg.pas.domain.business.CustomAnalysisItemSource;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.mapper.CustomAnalysisItemSourceMapper;
+import cn.dev33.satoken.stp.StpUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 自定义分析项目数据源 服务实现类
+ * </p>
+ */
+@Service
+public class CustomAnalysisItemSourceService extends ServiceImpl<CustomAnalysisItemSourceMapper, CustomAnalysisItemSource> {
+
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Autowired
+    private CustomAnalysisItemSourceMapper customAnalysisItemSourceMapper;
+
+    public SourceDataDTO getItemSourceData(CustomAnalyseDTO customAnalysisItem) {
+        SourceDataDTO sourceDataDTO = new SourceDataDTO();
+        SchemaDimensionDTO schema = customAnalysisItem.getSchema();
+        sourceDataDTO.setX(this.setReturnData(this.getItemSourceList(customAnalysisItem.getUid(), "x", schema.getX().getField(), schema.getX().getExpand())));
+        sourceDataDTO.setY(this.setReturnData(this.getItemSourceList(customAnalysisItem.getUid(), "y", schema.getY().getField(), schema.getY().getExpand())));
+        return sourceDataDTO;
+    }
+
+    public List<CustomAnalysisItemSource> getItemSourceList(String uid, String dimension, Integer fieldId, Integer expandId) {
+        LambdaQueryWrapper<CustomAnalysisItemSource> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(CustomAnalysisItemSource::getUid, uid);
+        queryWrapper.eq(CustomAnalysisItemSource::getDimension, dimension);
+        queryWrapper.eq(CustomAnalysisItemSource::getFieldId, fieldId);
+        queryWrapper.eq(CustomAnalysisItemSource::getExpandId, expandId);
+        return this.list(queryWrapper);
+    }
+
+    public List<CustomAnalysisItemSource> setReturnData(List<CustomAnalysisItemSource> list) {
+        list.forEach(item -> {
+            item.setUid(null);
+            item.setDimension(null);
+            item.setFieldId(null);
+            item.setExpandId(null);
+            item.setCreateTime(null);
+            item.setUpdateTime(null);
+            item.setStatus(null);
+            item.setId(null);
+            item.setCreateId(null);
+            item.setCreateName(null);
+            if (StringUtils.isNotEmpty(item.getMaxData())) {
+                item.setMax(JsonUtils.jsonToPojo(item.getMaxData(), SourceMinAndMaxDataDTO.class));
+                item.setMaxData(null);
+            }
+            if (StringUtils.isNotEmpty(item.getMinData())) {
+                item.setMin(JsonUtils.jsonToPojo(item.getMinData(), SourceMinAndMaxDataDTO.class));
+                item.setMinData(null);
+            }
+        });
+        return list;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void edit(CustomAnalyseDTO vo) {
+        SourceDataVO x = new SourceDataVO();
+        SourceDataVO y = new SourceDataVO();
+        SourceDataDTO sourceDataDTO = vo.getSource();
+        if (vo.getSchema().getX().getPtype().equals(3) || vo.getSchema().getX().getPtype().equals(4)
+                || vo.getSchema().getX().getType().equals(6)) {
+            x.setUid(vo.getUid());
+            x.setDimension("x");
+            x.setFieldId(vo.getSchema().getX().getField());
+            x.setExpandId(vo.getSchema().getX().getExpand());
+            x.setSource(sourceDataDTO.getX());
+            this.updateSource(x);
+        }
+        if (vo.getSchema().getY().getPtype().equals(3) || vo.getSchema().getY().getPtype().equals(4)
+                || vo.getSchema().getY().getType().equals(6)) {
+            y.setUid(vo.getUid());
+            y.setDimension("y");
+            y.setFieldId(vo.getSchema().getY().getField());
+            y.setExpandId(vo.getSchema().getY().getExpand());
+            y.setSource(sourceDataDTO.getY());
+            this.updateSource(y);
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void updateSource(SourceDataVO sourceDataVO) {
+        this.remove(Wrappers.<CustomAnalysisItemSource>lambdaQuery().eq(CustomAnalysisItemSource::getUid, sourceDataVO.getUid())
+                .eq(CustomAnalysisItemSource::getDimension, sourceDataVO.getDimension()));
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        List<CustomAnalysisItemSource> list = new ArrayList<>();
+        PersonnelVO finalPersonnelVO = personnelVO;
+        sourceDataVO.getSource().forEach(source -> {
+            if (StringUtils.isNotNull(source.getMax())) {
+                source.setMaxData(JsonUtils.objectToJson(source.getMax()));
+            }
+            if (StringUtils.isNotNull(source.getMin())) {
+                source.setMinData(JsonUtils.objectToJson(source.getMin()));
+            }
+            source.setFieldId(sourceDataVO.getFieldId());
+            source.setExpandId(sourceDataVO.getExpandId());
+            source.setCreateId(finalPersonnelVO.getId());
+            source.setCreateName(finalPersonnelVO.getName());
+            source.setDimension(sourceDataVO.getDimension());
+            source.setUid(sourceDataVO.getUid());
+            list.add(source);
+        });
+        this.saveOrUpdateBatch(list);
+    }
+
+    public void deleteByUid(String uid) {
+        this.remove(Wrappers.<CustomAnalysisItemSource>lambdaQuery().eq(CustomAnalysisItemSource::getUid, uid));
+    }
+
+}

+ 6 - 29
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -464,35 +464,12 @@ public class EventServiceTests {
 
     @Test
     public void test101() {
-        List<Integer> list = new ArrayList<>();
-        list.add(1);
-        list.add(2);
-        list.add(3);
-        list.add(4);
-        this.tran(list);
+        Date date = new Date();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        Date date1 = calendar.getTime();
+        System.out.println(date1);
     }
 
-    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
-    public void tran(List<Integer> list) {
-        int i = 0;
-        for (Integer key : list) {
-            if (i == 3) {
-                this.tran1(i);
-            } else {
-                i += key;
-            }
-        }
-        System.out.println(i);
-
-    }
-
-    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
-    public Integer tran1(int m) {
-        System.out.println(m);
-        m = m+1;
-        if (m > 0) {
-
-        }
-        return m;
-    }
 }