From cf7bc2d68e7d86e7d4b896acf1400f534d594daa Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 10 三月 2026 17:59:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_宁夏_中盛建材' into dev_宁夏_中盛建材
---
src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 97 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
new file mode 100644
index 0000000..ec91e5a
--- /dev/null
+++ b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.energy.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.energy.dto.EnergyConsumptionDetailDto;
+import com.ruoyi.energy.dto.EnergyStatisticsDto;
+import com.ruoyi.energy.mapper.EnergyMapper;
+import com.ruoyi.energy.pojo.Energy;
+import com.ruoyi.energy.pojo.EnergyConsumptionDetail;
+import com.ruoyi.energy.mapper.EnergyConsumptionDetailMapper;
+import com.ruoyi.energy.service.EnergyConsumptionDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.framework.web.domain.R;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鑳芥簮绫诲瀷-鑳借�楁妱琛ㄦ槑缁� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-10 11:22:20
+ */
+@Service
+public class EnergyConsumptionDetailServiceImpl extends ServiceImpl<EnergyConsumptionDetailMapper, EnergyConsumptionDetail> implements EnergyConsumptionDetailService {
+
+ @Autowired
+ private EnergyConsumptionDetailMapper energyConsumptionDetailMapper;
+
+ @Autowired
+ private EnergyMapper energyMapper;
+
+ @Override
+ public IPage<EnergyConsumptionDetailDto> pageEnergyConsumptionDetail(Page<EnergyConsumptionDetailDto> page, EnergyConsumptionDetailDto energyConsumptionDetailDto) {
+ return energyConsumptionDetailMapper.pageEnergyConsumptionDetail(page,energyConsumptionDetailDto);
+ }
+
+ @Override
+ public R importData(MultipartFile file) {
+ try {
+ ExcelUtil<EnergyConsumptionDetailDto> util = new ExcelUtil<EnergyConsumptionDetailDto>(EnergyConsumptionDetailDto.class);
+ List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList = util.importExcel(file.getInputStream());
+ if(CollectionUtils.isEmpty(energyConsumptionDetailDtoList)){
+ return R.fail("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+ }
+ List<EnergyConsumptionDetail> list = energyConsumptionDetailDtoList.stream().map(energyConsumptionDetailDto -> {
+ if (ObjectUtils.isEmpty(energyConsumptionDetailDto)) {
+ throw new RuntimeException("浣跨敤妯℃澘杩涜瀵煎叆");
+ }
+ if (ObjectUtils.isEmpty(energyConsumptionDetailDto.getEnergyTyep()) && ObjectUtils.isEmpty(energyConsumptionDetailDto.getEnergyName())) {
+ throw new RuntimeException("鑳芥簮绫诲瀷涓嶈兘涓虹┖");
+ }
+ List<Energy> energy = energyMapper.selectList(Wrappers.<Energy>lambdaQuery()
+ .eq(Energy::getEnergyTyep, energyConsumptionDetailDto.getEnergyTyep())
+ .eq(Energy::getEnergyName, energyConsumptionDetailDto.getEnergyName()));
+ if (CollectionUtils.isEmpty(energy)) {
+ throw new RuntimeException("瀵煎叆鏁版嵁涓殑鑳芥簮绫诲瀷鍦ㄧ郴缁熶腑涓嶅瓨鍦�,璇峰厛鍓嶅線鑳芥簮绫诲瀷涓厤缃�!");
+ }
+ EnergyConsumptionDetail energyConsumptionDetail = new EnergyConsumptionDetail();
+ BeanUtils.copyProperties(energyConsumptionDetailDto, energyConsumptionDetail);
+ energyConsumptionDetail.setEnergyId(energy.get(0).getId());
+ return energyConsumptionDetail;
+ }).collect(Collectors.toList());
+ this.saveOrUpdateBatch(list);
+ return R.ok(true);
+ }catch (Exception e){
+ e.printStackTrace();
+ return R.fail(e.getMessage());
+ }
+ }
+
+ @Override
+ public void export(HttpServletResponse response) {
+ List<EnergyConsumptionDetailDto> list = energyConsumptionDetailMapper.pageEnergyConsumptionDetail(new Page<>(-1,-1),new EnergyConsumptionDetailDto()).getRecords();
+ if(CollectionUtils.isEmpty(list)){
+ throw new RuntimeException("鏃犲鍑烘暟鎹�");
+ }
+ ExcelUtil<EnergyConsumptionDetailDto> util = new ExcelUtil<>(EnergyConsumptionDetailDto.class);
+ util.exportExcel(response, list, "鑳借�楁妱琛�");
+ }
+
+ @Override
+ public Object statistics(EnergyStatisticsDto energyStatisticsDto) {
+ return null;
+ }
+}
--
Gitblit v1.9.3