From e119c967f2197ef8a2cc5f2233c8c34e1d72edd7 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期四, 23 一月 2025 13:34:17 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat

---
 iailab-module-model/iailab-module-model-biz/db/mysql.sql                                                                                     |    2 +-
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java |   34 ++++++++++++++++++++++++----------
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ElectricityPriceSegmentedService.java          |    2 ++
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java                                        |    4 ++--
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java                                        |    5 +++--
 iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml                                            |    2 +-
 6 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
index b98dd72..108b0b1 100644
--- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/McsApi.java
@@ -117,10 +117,10 @@
 
     @GetMapping(PREFIX + "/electricityPrice/list")
     @Operation(summary = "电价时段配置列表")
-    List<ElectricityPriceSegmentedDTO> getElectricityPriceList(@RequestParam String year);
+    List<ElectricityPriceSegmentedDTO> getElectricityPriceList(@RequestParam("year") String year);
 
     @PostMapping(PREFIX + "/electricityPrice/create")
     @Operation(summary = "添加电价时段配置列表")
-    Boolean createElectricityPrice(@RequestBody ElectricityPriceSegmentedDTO dto);
+    Boolean createElectricityPrice(@RequestBody List<ElectricityPriceSegmentedDTO> list);
 
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/db/mysql.sql b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
index 4d61ade..95b2b04 100644
--- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql
+++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -890,7 +890,7 @@
                                                  `ref_media_id` varchar(20) DEFAULT NULL,
                                                  `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
                                                  `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
-                                                 `year` varchar(36) DEFAULT NULL,
+                                                 `year` varchar(26) DEFAULT NULL,
                                                  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
                                                  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
                                                  PRIMARY KEY (`id`) USING BTREE,
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
index 4f8e690..b862c7c 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java
@@ -738,8 +738,9 @@
     }
 
     @Override
-    public Boolean createElectricityPrice(ElectricityPriceSegmentedDTO dto) {
-        electricityPriceSegmentedService.create(dto);
+    public Boolean createElectricityPrice(List<ElectricityPriceSegmentedDTO> list) {
+        electricityPriceSegmentedService.deleteByITimeId(list.get(0).getITimeId());
+        list.forEach(dto -> electricityPriceSegmentedService.create(dto));
         return true;
     }
 
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ElectricityPriceSegmentedService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ElectricityPriceSegmentedService.java
index beb8dd5..2efb6ce 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ElectricityPriceSegmentedService.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ElectricityPriceSegmentedService.java
@@ -25,6 +25,8 @@
 
     void delete(String id);
 
+    void deleteByITimeId(String iTimeId);
+
     List<ElectricityPriceSegmentedDTO> getElectricityPriceList(String year);
 
     List<ElectricityPriceSegmentedDTO> getElectricityPriceListByTime(ElectricityPriceSegmentedDTO dto);
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java
index a78ff63..d4fac7b 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ElectricityPriceSegmentedServiceImpl.java
@@ -38,13 +38,10 @@
 
     @Override
     public void create(ElectricityPriceSegmentedDTO dto) {
-        List<ElectricityPriceSegmentedDTO> list =  getElectricityPriceListByTime(dto);
-        if (CollectionUtils.isEmpty(list)){
-            ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
-            entity.setId(UUID.randomUUID().toString());
-            entity.setCreateTime(new Date());
-            baseDao.insert(entity);
-        }
+        ElectricityPriceSegmentedEntity entity = ConvertUtils.sourceToTarget(dto, ElectricityPriceSegmentedEntity.class);
+        entity.setId(UUID.randomUUID().toString());
+        entity.setCreateTime(new Date());
+        baseDao.insert(entity);
     }
 
     @Override
@@ -66,10 +63,27 @@
     }
 
     @Override
-    public List<ElectricityPriceSegmentedDTO> getElectricityPriceList(String year) {
+    public void deleteByITimeId(String iTimeId) {
         QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
-        wrapper.eq(StringUtils.isNotBlank(year), "year", year);
-        return ConvertUtils.sourceToTarget(baseDao.selectList(wrapper), ElectricityPriceSegmentedDTO.class);
+        wrapper.eq(StringUtils.isNotBlank(iTimeId), "i_time_id", iTimeId);
+        baseDao.delete(wrapper);
+    }
+
+    @Override
+    public List<ElectricityPriceSegmentedDTO> getElectricityPriceList(String year) {
+        List<ElectricityPriceSegmentedDTO> result = new ArrayList<>();
+        QueryWrapper<ElectricityPriceSegmentedEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq(StringUtils.isNotBlank(year), "year", year)
+                .orderByDesc( "create_time");
+        List<ElectricityPriceSegmentedEntity> list = baseDao.selectList(wrapper);
+        if(CollectionUtils.isNotEmpty(list)){
+            String itimeId = list.get(0).getITimeId();
+            QueryWrapper<ElectricityPriceSegmentedEntity> wrapper1 = new QueryWrapper<>();
+            wrapper.eq(StringUtils.isNotBlank(itimeId), "i_time_id", itimeId)
+                    .orderByDesc( "create_time");
+            result = ConvertUtils.sourceToTarget(baseDao.selectList(wrapper1), ElectricityPriceSegmentedDTO.class);
+        }
+        return result;
     }
 
     @Override
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
index 406a330..3e75434 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
+++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mapper/mcs/StScheduleRecordDao.xml
@@ -4,7 +4,7 @@
     <select id="getLastScheduleResult" resultType="com.iailab.module.model.api.mdk.dto.StScheduleRecordVO">
         SELECT t2.* FROM t_st_schedule_scheme t1 LEFT JOIN t_st_schedule_record t2 on t1.id = t2.scheme_id
         WHERE t1.`code` = #{scheduleCode} AND result_code = "100"
-        ORDER BY t2.schedule_time desc
+        ORDER BY t2.schedule_time desc,create_time desc
         LIMIT #{limit}
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3