From fdcdd41fba7874c045766e3dea54d56d70df73ef Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 12 五月 2025 10:06:50 +0800
Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java |   63 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 4 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
index 0097473..42297a4 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DynamicColumnServiceImpl.java
@@ -12,8 +12,6 @@
 import com.ycl.utils.uuid.IdUtils;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.util.Assert;
 import org.springframework.util.StringUtils;
 
 import java.util.Date;
@@ -33,7 +31,9 @@
 
     private final DynamicColumnMapper dynamicColumnMapper;
 
-    private final static String TABLE_NAME = "t_monitor";
+    private final static String TABLE_NAME = "t_yw_point";
+
+
 
     /**
      * 娣诲姞
@@ -50,9 +50,26 @@
             throw new RuntimeException("鍒楀悕绉颁笉鑳介噸澶�");
         }
         DynamicColumn entity = DynamicColumnForm.getEntityByForm(form, null);
-        entity.setPropName(IdUtils.timeAddRandomNO(3));
+        entity.setPropName(IdUtils.randomNO(new Date()));
         entity.setCreateTime(new Date());
         entity.setTableName(TABLE_NAME);
+        baseMapper.insert(entity);
+        return Result.ok("娣诲姞鎴愬姛");
+    }
+
+    @Override
+    public Result addByTableName(String tableName,DynamicColumnForm form) {
+        Long num = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(DynamicColumn::getLabelValue, form.getLabelValue())
+                .eq(DynamicColumn::getTableName, tableName)
+                .count();
+        if (num > 0) {
+            throw new RuntimeException("鍒楀悕绉颁笉鑳介噸澶�");
+        }
+        DynamicColumn entity = DynamicColumnForm.getEntityByForm(form, null);
+        entity.setPropName(IdUtils.randomNO(new Date()));
+        entity.setCreateTime(new Date());
+        entity.setTableName(tableName);
         baseMapper.insert(entity);
         return Result.ok("娣诲姞鎴愬姛");
     }
@@ -79,6 +96,28 @@
                             .set(DynamicColumn::getLabelValue, column.getLabelValue())
                             .update();
                 }
+            }
+        });
+        return Result.ok("淇濆瓨鎴愬姛");
+    }
+
+    @Override
+    public Result updateByTableName(String tableName, List<DynamicColumnForm> columnList) {
+        columnList.stream().filter(item -> StringUtils.hasText(item.getLabelValue())).forEach(column -> {
+            if (Objects.isNull(column.getId())) {
+                this.addByTableName(tableName,column);
+            } else {
+                Long num = new LambdaQueryChainWrapper<>(baseMapper)
+                        .eq(DynamicColumn::getTableName, tableName)
+                        .eq(DynamicColumn::getLabelValue, column.getLabelValue())
+                        .ne(DynamicColumn::getId, column.getId())
+                        .count();
+                if (num == 0) {
+                    new LambdaUpdateChainWrapper<>(baseMapper)
+                            .eq(DynamicColumn::getId, column.getId())
+                            .set(DynamicColumn::getLabelValue, column.getLabelValue())
+                            .update();
+                }
 
             }
         });
@@ -93,8 +132,10 @@
     @Override
     public Result removeById(String id) {
         baseMapper.deleteById(id);
+        //todo 鍒犻櫎瀛楁瀵瑰簲鍊�
         return Result.ok("鍒犻櫎鎴愬姛");
     }
+
 
     /**
      * 鍒楄〃
@@ -104,6 +145,20 @@
     public Result all() {
         List<DynamicColumn> entities = new LambdaQueryChainWrapper<>(baseMapper)
                 .orderByAsc(DynamicColumn::getCreateTime)
+                .eq(DynamicColumn::getTableName,"t_yw_point")
+                .list();
+        List<DynamicColumnVO> vos = entities.stream()
+                .map(entity -> DynamicColumnVO.getVoByEntity(entity, null))
+                .collect(Collectors.toList());
+        return Result.ok().data(vos);
+    }
+
+
+    @Override
+    public Result allByTableName(String tableName) {
+        List<DynamicColumn> entities = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(DynamicColumn::getTableName,tableName)
+                .orderByAsc(DynamicColumn::getCreateTime)
                 .list();
         List<DynamicColumnVO> vos = entities.stream()
                 .map(entity -> DynamicColumnVO.getVoByEntity(entity, null))

--
Gitblit v1.8.0