diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java index 5b10088b..d85535fb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java @@ -157,18 +157,18 @@ public class bdgzsomthingController { } // @Scheduled(cron = "0 0 0 10 * ?") //每天十天执行一次 //@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次 - @PostConstruct +// @PostConstruct public void init() { // selectHasPrice(); // selectSafeStorageAndDeliverOneYear(); // bdgzsomthingService.selectds(); } - @Scheduled(cron = "0 0 2 * * ?") +// @Scheduled(cron = "0 0 2 * * ?") public void selectHasPrice(){ bdgzsomthingService.selectHasPrice(); } - @Scheduled(cron = "0 0 0 * * ?") +// @Scheduled(cron = "0 0 0 * * ?") public void selectSafeStorageAndDeliverOneYear(){bdgzsomthingService.selectSafeStorageAndDeliverOneYear();} @PostMapping("/getMessage") @Operation(summary = "小程序消息") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/DataAcquisitionController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/DataAcquisitionController.java index 3aacf2ac..7ec0bed8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/DataAcquisitionController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/DataAcquisitionController.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.dataacquisition; +import org.apache.ibatis.annotations.Param; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -9,9 +10,9 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.time.LocalDateTime; import java.util.*; import java.io.IOException; @@ -93,7 +94,7 @@ public class DataAcquisitionController { BeanUtils.toBean(list, DataAcquisitionRespVO.class)); } - @Scheduled(cron = "0/5 * * * * ?") +// @Scheduled(cron = "0/5 * * * * ?") public void updateDataCollection(){ dataAcquisitionService.updateDataCollection(); } @@ -113,6 +114,12 @@ public class DataAcquisitionController { List dataAcquisition = dataAcquisitionService.getDataAcquisitionList(code); return success(dataAcquisition); } - + @GetMapping("/updateTime") + @Operation(summary = "更新设备数据采集") + @PreAuthorize("@ss.hasPermission('heli:data-acquisition:update')") + public CommonResult updateTime(@RequestParam("acquisitionTime") @org.springframework.format.annotation.DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime acquisitionTime) { + dataAcquisitionService.updateTime(acquisitionTime); + return success(true); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/vo/DataAcquisitionSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/vo/DataAcquisitionSaveReqVO.java index 12d75eeb..2d339451 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/vo/DataAcquisitionSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/dataacquisition/vo/DataAcquisitionSaveReqVO.java @@ -1,7 +1,10 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.dataacquisition.vo; +import cn.hutool.core.date.DateTime; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + +import java.time.LocalDateTime; import java.util.*; import javax.validation.constraints.*; import java.util.*; @@ -36,5 +39,7 @@ public class DataAcquisitionSaveReqVO { @Schema(description = "查询状态", example = "1") private Integer status; + @Schema(description = "创建时间") + private LocalDateTime acquisitionTime; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/dataacquisition/DataAcquisitionMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/dataacquisition/DataAcquisitionMapper.java index 329ee0d1..7663c13d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/dataacquisition/DataAcquisitionMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/dataacquisition/DataAcquisitionMapper.java @@ -70,4 +70,6 @@ public interface DataAcquisitionMapper extends BaseMapperX { .last("limit 10"); return selectList(query); } + @Select("") + Integer selectStatus(); } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionService.java index 8cc626d7..7a6ec4dc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionService.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.service.dataacquisition; +import java.time.LocalDateTime; import java.util.*; import javax.validation.*; import com.chanko.yunxi.mes.module.heli.controller.admin.dataacquisition.vo.*; @@ -57,4 +58,6 @@ public interface DataAcquisitionService { List getDataAcquisitionList(String code); + void updateTime(LocalDateTime acquisitionTime); + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionServiceImpl.java index ba18e689..40756fa9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/dataacquisition/DataAcquisitionServiceImpl.java @@ -1,12 +1,15 @@ package com.chanko.yunxi.mes.module.heli.service.dataacquisition; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.util.*; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; import com.chanko.yunxi.mes.module.heli.controller.admin.dataacquisition.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.dataacquisition.DataAcquisitionDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -73,12 +76,22 @@ public class DataAcquisitionServiceImpl implements DataAcquisitionService { @Override public void updateDataCollection() { // 查找每个 code 分组中 status=1 的最大 createTime 之后的 status=0 的最小记录的 id + Integer integer = dataAcquisitionMapper.selectStatus(); + System.out.println("=== equipment_job_config status: " + integer); + if (ObjectUtil.isNotEmpty( integer)&&integer==0){ List ids = dataAcquisitionMapper.selectNextStatusZeroIds(); + System.out.println("=== selectNextStatusZeroIds returned " + (ids == null ? 0 : ids.size()) + " ids: " + ids); if (ObjectUtil.isNotEmpty(ids)){ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.in(DataAcquisitionDO::getId, ids); updateWrapper.set(DataAcquisitionDO::getStatus, 1); - dataAcquisitionMapper.update(updateWrapper); + int rows = dataAcquisitionMapper.update(null, updateWrapper); + System.out.println("=== updated rows: " + rows); + } else { + System.out.println("=== No status=0 records found"); + } + } else { + System.out.println("=== Task disabled (status != 0)"); } } @@ -92,4 +105,35 @@ public class DataAcquisitionServiceImpl implements DataAcquisitionService { return dataAcquisitionMapper.getDataAcquisitionList( code); } + @Override + public void updateTime(LocalDateTime acquisitionTime) { + // 查询所有数据按 code 分组,并按 id 排序(id 代表插入顺序) + List allData = dataAcquisitionMapper.selectList( + new LambdaQueryWrapper() + .orderByAsc(DataAcquisitionDO::getId) + ); + + if (allData == null || allData.isEmpty()) { + return; + } + + // 按 code 分组 + Map> groupedByCode = allData.stream() + .collect(java.util.stream.Collectors.groupingBy(DataAcquisitionDO::getCode, java.util.stream.Collectors.toList())); + + // 遍历每个分组,更新时间 + for (Map.Entry> entry : groupedByCode.entrySet()) { + List groupData = entry.getValue(); + for (int i = 0; i < groupData.size(); i++) { + DataAcquisitionDO record = groupData.get(i); + // 第一条记录使用 updateReqVO 的时间,之后的每条增加5秒 + LocalDateTime newCreateTime = acquisitionTime.plusSeconds(i * 5L); + + // 更新该条记录的创建时间 + record.setCreateTime(newCreateTime); + dataAcquisitionMapper.updateById(record); + } + } + } + } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/dataacquisition/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/dataacquisition/index.ts index b5e2048e..a993db61 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/dataacquisition/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/dataacquisition/index.ts @@ -47,3 +47,7 @@ export const getList = async () => { export const getDataAcquisitionList = async (code: string) => { return await request.get({ url: `/heli/data-acquisition/getDataAcquisitionList`, params: { code } }) } +// 新增客户新表 +export const updateTime = async (acquisitionTime) => { + return await request.get({ url: `/heli/data-acquisition/updateTime`,params: { acquisitionTime } }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/dataacquisition.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/dataacquisition.vue index 858089c4..b23e8f0b 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/dataacquisition.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/dataacquisition.vue @@ -4,7 +4,7 @@
- 每秒自动刷新一次 + 每5秒自动刷新一次
diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/index.vue index 3bc713d1..d0a6dea0 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/index.vue @@ -4,7 +4,7 @@
- 每秒自动刷新一次 + 每5秒自动刷新一次
diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/update.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/update.vue new file mode 100644 index 00000000..a6e17674 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/dataacquisition/update.vue @@ -0,0 +1,65 @@ + + +