From e98a021b777f6075a300c322313becf68a01feb5 Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Wed, 22 Apr 2026 14:23:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A9=E6=95=88=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../efficiency/BsEfficiencyTaskProcessor.java | 27 ++++++++ .../efficiency/BsEfficiencyTempProcessor.java | 27 ++++++++ .../energy/BsEnergyCoreUseProcessor.java | 27 ++++++++ .../energy/BsEnergyHistoryRecProcessor.java | 27 ++++++++ .../feign/IBsEfficiencyTaskClient.java | 18 ++++++ .../feign/IBsEfficiencyTempClient.java | 19 ++++++ .../energy/feign/IBsEnergyCoreUseClient.java | 21 ++++++ .../BsEfficiencyTaskController.java | 3 +- .../BsEfficiencyTaskReportController.java | 41 ++++++++++++ .../feign/BsEfficiencyTaskClient.java | 18 ++++++ .../feign/BsEfficiencyTempClient.java | 19 ++++++ .../mapper/BsEfficiencyTaskReportMapper.java | 13 ++++ .../mapper/EfficiencyTaskReportMapper.xml | 32 +++++++++- .../pojo/vo/BsEfficiencyTaskReportVO.java | 56 +++++++++++++++- .../IBsEfficiencyTaskReportService.java | 14 +++- .../service/IBsEfficiencyTaskService.java | 2 + .../service/IBsEfficiencyTempService.java | 2 + .../BsEfficiencyTaskReportServiceImpl.java | 8 +++ .../impl/BsEfficiencyTaskServiceImpl.java | 32 ++++++++++ .../impl/BsEfficiencyTempServiceImpl.java | 64 ++++++++++++++++--- .../excel/BsEnergyQuotaElectricExcel.java | 12 ---- .../energy/excel/BsEnergyQuotaWaterExcel.java | 11 ---- .../energy/feign/BsEnergyCoreUseClient.java | 24 +++++++ .../desk/energy/mapper/EnergyQuotaMapper.xml | 6 ++ .../desk/energy/pojo/vo/BsEnergyQuotaVO.java | 10 +++ .../desk/energy/task/CoreUseJob.java | 33 ---------- 26 files changed, 496 insertions(+), 70 deletions(-) create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTaskProcessor.java create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTempProcessor.java create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyCoreUseProcessor.java create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyHistoryRecProcessor.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTaskClient.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTempClient.java create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/energy/feign/IBsEnergyCoreUseClient.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskReportController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTaskClient.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTempClient.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/feign/BsEnergyCoreUseClient.java delete mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/energy/task/CoreUseJob.java diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTaskProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTaskProcessor.java new file mode 100644 index 00000000..3b52d86e --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTaskProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.efficiency; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.efficiency.feign.IBsEfficiencyTaskClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +@Component +@Data +@Slf4j +public class BsEfficiencyTaskProcessor implements BasicProcessor { + + @Resource + private IBsEfficiencyTaskClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + log.info("开始发送未填报消息..."); + client.unreportedNotice(); + log.info("结束发送未填报消息..."); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTempProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTempProcessor.java new file mode 100644 index 00000000..0e869584 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/efficiency/BsEfficiencyTempProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.efficiency; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.efficiency.feign.IBsEfficiencyTempClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +@Component +@Data +@Slf4j +public class BsEfficiencyTempProcessor implements BasicProcessor { + + @Resource + private IBsEfficiencyTempClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + log.info("开始下发绩效任务..."); + client.taskAssignment(); + log.info("结束下发绩效任务..."); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyCoreUseProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyCoreUseProcessor.java new file mode 100644 index 00000000..fb63fdb3 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyCoreUseProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.energy; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.energy.feign.IBsEnergyCoreUseClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; +@Component +@Data +@Slf4j +public class BsEnergyCoreUseProcessor implements BasicProcessor { + + @Resource + private IBsEnergyCoreUseClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + log.info("开始同步iot..."); + client.updateUsed("1"); + client.updateUsed("2"); + log.info("结束同步iot..."); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyHistoryRecProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyHistoryRecProcessor.java new file mode 100644 index 00000000..99a57730 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/energy/BsEnergyHistoryRecProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.energy; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.energy.feign.IBsEnergyCoreUseClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +@Component +@Data +@Slf4j +public class BsEnergyHistoryRecProcessor implements BasicProcessor { + + @Resource + private IBsEnergyCoreUseClient client; + + @Override + public ProcessResult process(TaskContext taskContext) throws Exception { + log.info("开始汇总用水用电记录..."); + client.saveHistoryRec(); + log.info("完成汇总用水用电记录..."); + return new ProcessResult(true); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTaskClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTaskClient.java new file mode 100644 index 00000000..1ac41795 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTaskClient.java @@ -0,0 +1,18 @@ +package org.springblade.desk.efficiency.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IBsEfficiencyTaskClient { + + String API_PREFIX = "/feign/client/bs-efficiency-task"; + + String UNREPORTED_NOTICE = API_PREFIX + "unreported-notice"; + + @GetMapping(UNREPORTED_NOTICE) + void unreportedNotice(); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTempClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTempClient.java new file mode 100644 index 00000000..7ea11a4c --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/efficiency/feign/IBsEfficiencyTempClient.java @@ -0,0 +1,19 @@ +package org.springblade.desk.efficiency.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IBsEfficiencyTempClient { + + String API_PREFIX = "/feign/client/bs-efficiency-temp"; + + String TASK_ASSIGNMENT = API_PREFIX + "/task-assignment"; + + @GetMapping(TASK_ASSIGNMENT) + void taskAssignment(); + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/energy/feign/IBsEnergyCoreUseClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/energy/feign/IBsEnergyCoreUseClient.java new file mode 100644 index 00000000..6bf0bc0a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/energy/feign/IBsEnergyCoreUseClient.java @@ -0,0 +1,21 @@ +package org.springblade.desk.energy.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IBsEnergyCoreUseClient { + + String API_PREFIX = "/feign/client/bs-energy-core-use"; + String UPDATE_USED = API_PREFIX + "/update-used"; + String SAVE_HISTORY_REC = API_PREFIX + "/save-history-rec"; + + @GetMapping(UPDATE_USED) + void updateUsed(String type); + + @GetMapping(SAVE_HISTORY_REC) + void saveHistoryRec(); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskController.java index 8a84c8cb..2b798bf8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskController.java @@ -304,7 +304,7 @@ public class BsEfficiencyTaskController extends BladeController { R.fail("请先读取文件"); } List reports = bsEfficiencyTaskReportService.list(new LambdaQueryWrapper().eq(BsEfficiencyTaskReportEntity::getTaskId, task.getId())); - if(!CollectionUtils.isEmpty(reports)){ + if (!CollectionUtils.isEmpty(reports)) { for (BsEfficiencyTaskReportEntity report : reports) { bsEfficiencyTaskReportService.deleteLogic(Arrays.asList(report.getId())); List params = bsEfficiencyTaskParamService.list(new LambdaQueryWrapper().eq(BsEfficiencyTaskParamEntity::getReportId, report.getId())); @@ -455,5 +455,4 @@ public class BsEfficiencyTaskController extends BladeController { .doWrite(new ArrayList<>()); } - } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskReportController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskReportController.java new file mode 100644 index 00000000..33463d01 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/controller/BsEfficiencyTaskReportController.java @@ -0,0 +1,41 @@ +package org.springblade.desk.efficiency.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTaskReportVO; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTaskVO; +import org.springblade.desk.efficiency.service.IBsEfficiencyTaskReportService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 绩效任务填报表 控制器 + * + * @author BladeX + * @since 2026-04-22 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/bsEfficiencyTaskReport") +@Tag(name = "绩效任务填报表", description = "绩效任务填报接口") +public class BsEfficiencyTaskReportController extends BladeController { + + private final IBsEfficiencyTaskReportService bsEfficiencyTaskReportService; + + /** + * 绩效任务填报表 自定义分页 + */ + @GetMapping("/page") + @Operation(summary = "分页", description = "传入bsEfficiencyTemp") + public R> page(BsEfficiencyTaskReportVO bsEfficiencyTaskReportVO, Query query) { + IPage pages = bsEfficiencyTaskReportService.selectBsEfficiencyTaskReportPage(Condition.getPage(query), bsEfficiencyTaskReportVO); + return R.data(pages); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTaskClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTaskClient.java new file mode 100644 index 00000000..5ca5a52f --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTaskClient.java @@ -0,0 +1,18 @@ +package org.springblade.desk.efficiency.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.efficiency.service.IBsEfficiencyTaskService; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Hidden +public class BsEfficiencyTaskClient implements IBsEfficiencyTaskClient { + @Resource + private IBsEfficiencyTaskService service; + + @Override + public void unreportedNotice() { + service.unreportedNotice(); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTempClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTempClient.java new file mode 100644 index 00000000..5c8f0437 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/feign/BsEfficiencyTempClient.java @@ -0,0 +1,19 @@ +package org.springblade.desk.efficiency.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.efficiency.service.IBsEfficiencyTempService; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Hidden +public class BsEfficiencyTempClient implements IBsEfficiencyTempClient { + + @Resource + private IBsEfficiencyTempService service; + + @Override + public void taskAssignment() { + service.taskAssignment(); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/BsEfficiencyTaskReportMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/BsEfficiencyTaskReportMapper.java index 1b227aff..ad2241f4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/BsEfficiencyTaskReportMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/BsEfficiencyTaskReportMapper.java @@ -1,7 +1,12 @@ package org.springblade.desk.efficiency.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskReportEntity; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTaskReportVO; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTempVO; + +import java.util.List; /** * 绩效任务填报 Mapper 接口 @@ -11,5 +16,13 @@ import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskReportEntity; */ public interface BsEfficiencyTaskReportMapper extends BaseMapper { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsEfficiencyTaskReport 查询参数 + * @return List + */ + List selectBsEfficiencyTaskReportPage(IPage page, BsEfficiencyTaskReportVO bsEfficiencyTaskReport); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/EfficiencyTaskReportMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/EfficiencyTaskReportMapper.xml index 89a16d72..6f88ce33 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/EfficiencyTaskReportMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/mapper/EfficiencyTaskReportMapper.xml @@ -20,10 +20,38 @@ \ No newline at end of file diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsEfficiencyTaskReportVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsEfficiencyTaskReportVO.java index c8d38a16..8d0b4cc8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsEfficiencyTaskReportVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/pojo/vo/BsEfficiencyTaskReportVO.java @@ -5,6 +5,7 @@ import lombok.EqualsAndHashCode; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskReportEntity; import java.io.Serial; +import java.math.BigDecimal; @Data @EqualsAndHashCode(callSuper = true) @@ -12,5 +13,58 @@ public class BsEfficiencyTaskReportVO extends BsEfficiencyTaskReportEntity { @Serial private static final long serialVersionUID = 1L; - + + /** + * 年份 + */ + private String year; + /** + * 一月总分 + */ + private BigDecimal m01Score; + /** + * 二月总分 + */ + private BigDecimal m02Score; + /** + * 三月总分 + */ + private BigDecimal m03Score; + /** + * 四月总分 + */ + private BigDecimal m04Score; + /** + * 五月总分 + */ + private BigDecimal m05Score; + /** + * 六月总分 + */ + private BigDecimal m06Score; + /** + * 七月总分 + */ + private BigDecimal m07Score; + /** + * 八月总分 + */ + private BigDecimal m08Score; + /** + * 九月总分 + */ + private BigDecimal m09Score; + /** + * 十月总分 + */ + private BigDecimal m10Score; + /** + * 十一月总分 + */ + private BigDecimal m11Score; + /** + * 十二月总分 + */ + private BigDecimal m12Score; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskReportService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskReportService.java index 1d2c8f7b..35d4de7c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskReportService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskReportService.java @@ -1,7 +1,10 @@ package org.springblade.desk.efficiency.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskReportEntity; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTaskReportVO; +import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTempVO; /** * 绩效任务填报 服务类 @@ -10,5 +13,14 @@ import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskReportEntity; * @since 2026-04-20 */ public interface IBsEfficiencyTaskReportService extends BaseService { - + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param bsEfficiencyTaskReport 查询参数 + * @return IPage + */ + IPage selectBsEfficiencyTaskReportPage(IPage page, BsEfficiencyTaskReportVO bsEfficiencyTaskReport); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskService.java index f46a3ae1..39e266bb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTaskService.java @@ -32,4 +32,6 @@ public interface IBsEfficiencyTaskService extends BaseService selectBsEfficiencyTaskList(BsEfficiencyTaskVO bsEfficiencyTask); + void unreportedNotice(); + } \ No newline at end of file diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTempService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTempService.java index 7df56d7e..c08fc5a8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTempService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/IBsEfficiencyTempService.java @@ -30,4 +30,6 @@ public interface IBsEfficiencyTempService extends BaseService implements IBsEfficiencyTaskReportService { + + @Override + public IPage selectBsEfficiencyTaskReportPage(IPage page, BsEfficiencyTaskReportVO bsEfficiencyTaskReport) { + return page.setRecords(baseMapper.selectBsEfficiencyTaskReportPage(page, bsEfficiencyTaskReport)); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTaskServiceImpl.java index 7544dd47..bd743427 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTaskServiceImpl.java @@ -1,15 +1,24 @@ package org.springblade.desk.efficiency.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.annotation.Resource; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.common.feign.IMesNotifyMessageClient; +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import org.springblade.desk.common.service.IMesNotifyMessageService; +import org.springblade.desk.efficiency.enums.BsEfficiencyTaskEnum; import org.springblade.desk.efficiency.mapper.BsEfficiencyTaskMapper; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskEntity; import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTaskVO; import org.springblade.desk.efficiency.service.IBsEfficiencyTaskService; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * 绩效任务 服务实现类 @@ -20,6 +29,9 @@ import java.util.List; @Service public class BsEfficiencyTaskServiceImpl extends BaseServiceImpl implements IBsEfficiencyTaskService { + @Resource + private IMesNotifyMessageService mesNotifyMessageService; + @Override public IPage selectBsEfficiencyTaskPage(IPage page, BsEfficiencyTaskVO bsEfficiencyTask) { bsEfficiencyTask.setType("1"); @@ -39,4 +51,24 @@ public class BsEfficiencyTaskServiceImpl extends BaseServiceImpl taskList = this.list(new LambdaQueryWrapper() + .eq(BsEfficiencyTaskEntity::getType, "2") + .eq(BsEfficiencyTaskEntity::getStatus, BsEfficiencyTaskEnum.STATUS_IN_PROGRESS.getCode()) + .eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth)); + Set reportUsers = taskList.stream().map(BsEfficiencyTaskEntity::getReportUser).collect(Collectors.toSet()); + for (Long reportUser : reportUsers) { + String msg = ",请及时填报"; + MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity(); + notifyMessage.setContent(msg); + notifyMessage.setReceiveUserId(reportUser); + mesNotifyMessageService.save(notifyMessage); + } + } + } \ No newline at end of file diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTempServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTempServiceImpl.java index aec2e3bc..84fe56ec 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTempServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/efficiency/service/impl/BsEfficiencyTempServiceImpl.java @@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import jakarta.annotation.Resource; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.desk.common.feign.IMesNotifyMessageClient; +import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; +import org.springblade.desk.common.service.IMesNotifyMessageService; import org.springblade.desk.efficiency.mapper.BsEfficiencyTempMapper; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTaskEntity; import org.springblade.desk.efficiency.pojo.entity.BsEfficiencyTempEntity; @@ -12,9 +16,12 @@ import org.springblade.desk.efficiency.pojo.vo.BsEfficiencyTempVO; import org.springblade.desk.efficiency.service.IBsEfficiencyTaskService; import org.springblade.desk.efficiency.service.IBsEfficiencyTempService; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.time.LocalDate; +import java.util.Collection; import java.util.Date; +import java.util.List; /** * 绩效模板 服务实现类 @@ -27,6 +34,8 @@ public class BsEfficiencyTempServiceImpl extends BaseServiceImpl selectBsEfficiencyTempPage(IPage page, BsEfficiencyTempVO bsEfficiencyTemp) { @@ -46,23 +55,17 @@ public class BsEfficiencyTempServiceImpl extends BaseServiceImpl() - .eq(BsEfficiencyTaskEntity::getType, "1") - .eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth)); + BsEfficiencyTaskEntity mainTask = bsEfficiencyTaskService.getOne(new LambdaQueryWrapper().eq(BsEfficiencyTaskEntity::getType, "1").eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth)); if (mainTask == null) { mainTask = new BsEfficiencyTaskEntity(); mainTask.setYearMonth(yearMonth); mainTask.setTaskName(taskPrefix + "绩效"); mainTask.setType("1"); - mainTask.setReportUser(bsEfficiencyTemp.getReportUser()); mainTask.setReportTime(new Date()); mainTask.setParentId(0L); bsEfficiencyTaskService.save(mainTask); } - BsEfficiencyTaskEntity subTask = bsEfficiencyTaskService.getOne(new LambdaQueryWrapper() - .eq(BsEfficiencyTaskEntity::getType, "2") - .eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth) - .eq(BsEfficiencyTaskEntity::getTempId, bsEfficiencyTemp.getId())); + BsEfficiencyTaskEntity subTask = bsEfficiencyTaskService.getOne(new LambdaQueryWrapper().eq(BsEfficiencyTaskEntity::getType, "2").eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth).eq(BsEfficiencyTaskEntity::getTempId, bsEfficiencyTemp.getId())); if (subTask != null) { return R.fail("已生成绩效任务,需删除任务后进行下发"); } @@ -77,4 +80,49 @@ public class BsEfficiencyTempServiceImpl extends BaseServiceImpl allTempList = this.list(); + if (CollectionUtils.isEmpty(allTempList)) { + return; + } + LocalDate lastMonthDate = LocalDate.now().minusMonths(1); + String year = String.valueOf(lastMonthDate.getYear()); + String month = String.format("%02d", lastMonthDate.getMonthValue()); + String yearMonth = year + "-" + month; + String taskPrefix = year + "年" + month + "月"; + BsEfficiencyTaskEntity mainTask = bsEfficiencyTaskService.getOne(new LambdaQueryWrapper().eq(BsEfficiencyTaskEntity::getType, "1").eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth)); + if (mainTask == null) { + mainTask = new BsEfficiencyTaskEntity(); + mainTask.setYearMonth(yearMonth); + mainTask.setTaskName(taskPrefix + "绩效"); + mainTask.setType("1"); + mainTask.setReportTime(new Date()); + mainTask.setParentId(0L); + bsEfficiencyTaskService.save(mainTask); + } + for (BsEfficiencyTempEntity bsEfficiencyTemp : allTempList) { + BsEfficiencyTaskEntity subTask = bsEfficiencyTaskService.getOne(new LambdaQueryWrapper().eq(BsEfficiencyTaskEntity::getType, "2").eq(BsEfficiencyTaskEntity::getYearMonth, yearMonth).eq(BsEfficiencyTaskEntity::getTempId, bsEfficiencyTemp.getId())); + if (subTask != null) { + continue; + } + subTask = new BsEfficiencyTaskEntity(); + subTask.setYearMonth(yearMonth); + subTask.setTaskName(taskPrefix + bsEfficiencyTemp.getTaskName()); + subTask.setType("2"); + subTask.setReportUser(bsEfficiencyTemp.getReportUser()); + subTask.setReportTime(new Date()); + subTask.setTempId(bsEfficiencyTemp.getId()); + subTask.setParentId(mainTask.getId()); + bsEfficiencyTaskService.save(subTask); + String msg = String.format("%s已下发,请及时填报", subTask.getTaskName()); + MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity(); + notifyMessage.setContent(msg); + notifyMessage.setReceiveUserId(bsEfficiencyTemp.getReportUser()); + mesNotifyMessageService.save(notifyMessage); + } + } + + } \ No newline at end of file diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaElectricExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaElectricExcel.java index 9e068edf..35d18ccc 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaElectricExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaElectricExcel.java @@ -27,24 +27,12 @@ public class BsEnergyQuotaElectricExcel implements Serializable { @ColumnWidth(50) @ExcelProperty("作业中心") private String workCenterName; - /** - * 作业中心编码 - */ - @ColumnWidth(50) - @ExcelProperty("作业中心编码") - private String wcCode; /** * 设备 */ @ColumnWidth(50) @ExcelProperty("设备") private String equipmentName; - /** - * 设备编码 - */ - @ColumnWidth(50) - @ExcelProperty("设备") - private String deviceCode; /** * 日期 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaWaterExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaWaterExcel.java index 97666394..a9a14f4c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaWaterExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/excel/BsEnergyQuotaWaterExcel.java @@ -55,29 +55,18 @@ public class BsEnergyQuotaWaterExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** * 作业中心 */ @ColumnWidth(50) @ExcelProperty("作业中心") private String workCenterName; - /** - * 作业中心编码 - */ - @Schema(description = "作业中心编码") - private String wcCode; /** * 设备 */ @ColumnWidth(50) @ExcelProperty("设备") private String equipmentName; - /** - * 设备编码 - */ - @Schema(description = "设备编码") - private String deviceCode; /** * 日期 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/feign/BsEnergyCoreUseClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/feign/BsEnergyCoreUseClient.java new file mode 100644 index 00000000..3a1abb2a --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/feign/BsEnergyCoreUseClient.java @@ -0,0 +1,24 @@ +package org.springblade.desk.energy.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.energy.service.IBsEnergyCoreUseService; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Hidden +public class BsEnergyCoreUseClient implements IBsEnergyCoreUseClient { + + @Resource + private IBsEnergyCoreUseService service; + + @Override + public void updateUsed(String type) { + service.updateUsed(type); + } + + @Override + public void saveHistoryRec() { + service.saveHistoryRec(); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyQuotaMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyQuotaMapper.xml index f17b68c0..ef932baa 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyQuotaMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/EnergyQuotaMapper.xml @@ -42,6 +42,12 @@ and "DATE" = #{bsEnergyQuota.date} + + and "DATE" = ]]> #{bsEnergyQuota.startDate} + + + and "DATE" #{bsEnergyQuota.endDate} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java index 2b3a81ce..3d622b04 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/vo/BsEnergyQuotaVO.java @@ -42,4 +42,14 @@ public class BsEnergyQuotaVO extends BsEnergyQuotaEntity { @Serial private static final long serialVersionUID = 1L; + /** + * 日期:开始时间 + */ + private String startDate; + + /** + * 日期:结束时间 + */ + private String endDate; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/task/CoreUseJob.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/task/CoreUseJob.java deleted file mode 100644 index fba575d5..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/energy/task/CoreUseJob.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.springblade.desk.energy.task; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springblade.desk.energy.service.IBsEnergyCoreUseService; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -@RequiredArgsConstructor -public class CoreUseJob { - - private final IBsEnergyCoreUseService bsEnergyCoreUseService; - - // @Scheduled(cron = "0 0 0/1 * * ?") - public void updateUsed() { - log.info("开始同步iot..."); - // 同步用水记录 - bsEnergyCoreUseService.updateUsed("1"); - // 同步用电记录 - bsEnergyCoreUseService.updateUsed("2"); - log.info("完成同步iot..."); - } - - // @Scheduled(cron = "0 0 1 * * ?") - public void saveHistoryRec() { - log.info("开始汇总用水用电记录..."); - bsEnergyCoreUseService.saveHistoryRec(); - log.info("完成汇总用水用电记录..."); - } - -}