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/EnergyServiceImpl.java |   88 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/energy/service/impl/EnergyServiceImpl.java b/src/main/java/com/ruoyi/energy/service/impl/EnergyServiceImpl.java
new file mode 100644
index 0000000..b07e96d
--- /dev/null
+++ b/src/main/java/com/ruoyi/energy/service/impl/EnergyServiceImpl.java
@@ -0,0 +1,88 @@
+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.mapper.EnergyConsumptionDetailMapper;
+import com.ruoyi.energy.pojo.Energy;
+import com.ruoyi.energy.mapper.EnergyMapper;
+import com.ruoyi.energy.pojo.EnergyConsumptionDetail;
+import com.ruoyi.energy.service.EnergyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.framework.web.domain.R;
+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;
+
+/**
+ * <p>
+ * 鑳芥簮绫诲瀷 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-03-10 10:50:18
+ */
+@Service
+public class EnergyServiceImpl extends ServiceImpl<EnergyMapper, Energy> implements EnergyService {
+
+    @Autowired
+    private EnergyMapper energyMapper;
+
+    @Autowired
+    private EnergyConsumptionDetailMapper energyConsumptionDetailMapper;
+
+    @Override
+    public IPage<Energy> pageEnergy(Page<Energy> page, Energy energy) {
+        return energyMapper.pageEnergy(page,energy);
+    }
+
+    @Override
+    public boolean batchDelete(List<Long> ids) {
+        //鍏堝垽鏂槸鍚﹀凡缁忔湁濉啓鐨勮兘鑰楁暟鎹�
+        List<EnergyConsumptionDetail> energyConsumptionDetails = energyConsumptionDetailMapper.selectList(Wrappers.<EnergyConsumptionDetail>lambdaQuery().in(EnergyConsumptionDetail::getEnergyId, ids));
+        if (CollectionUtils.isNotEmpty(energyConsumptionDetails)){
+            throw new RuntimeException("閫変腑鐨勮兘婧愮被鍨嬪凡鏈夊搴旂殑鑳借�楁暟鎹�,鏃犳硶杩涜鍒犻櫎!");
+        }
+        return removeBatchByIds(ids);
+    }
+
+    @Override
+    public R importData(MultipartFile file) {
+        try {
+            ExcelUtil<Energy> util = new ExcelUtil<Energy>(Energy.class);
+            List<Energy> energyList = util.importExcel(file.getInputStream());
+            if(CollectionUtils.isEmpty(energyList)){
+                return R.fail("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+            }
+            energyList.forEach(energy -> {
+                if (ObjectUtils.isEmpty(energy)) {
+                    throw new RuntimeException("浣跨敤妯℃澘杩涜瀵煎叆");
+                }
+                if (ObjectUtils.isEmpty(energy.getEnergyTyep())) {
+                    throw new RuntimeException("鑳芥簮绫诲瀷涓嶈兘涓虹┖");
+                }
+            });
+            this.saveOrUpdateBatch(energyList);
+            return R.ok(true);
+        }catch (Exception e){
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
+
+    @Override
+    public void export(HttpServletResponse response) {
+        List<Energy> list = energyMapper.selectList(null);
+        if(CollectionUtils.isEmpty(list)){
+            throw new RuntimeException("鏃犲鍑烘暟鎹�");
+        }
+        ExcelUtil<Energy> util = new ExcelUtil<>(Energy.class);
+        util.exportExcel(response, list, "鑳芥簮绫诲瀷");
+    }
+}

--
Gitblit v1.9.3