From 2786ed1fe266240fa6216c5dd6a9014481963d24 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期二, 20 五月 2025 12:38:25 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineMoServiceImpl.java |  155 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 155 insertions(+), 0 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineMoServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineMoServiceImpl.java
new file mode 100644
index 0000000..41d23c6
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineMoServiceImpl.java
@@ -0,0 +1,155 @@
+package com.aps.core.service.impl;
+
+import cn.hutool.core.util.IdUtil;
+import com.aps.common.core.utils.DateUtils;
+import com.aps.common.security.utils.SecurityUtils;
+import com.aps.core.domain.ApsGasPipelineMo;
+import com.aps.core.mapper.ApsGasPipelineMoMapper;
+import com.aps.core.service.IApsGasPipelineMoService;
+import io.micrometer.common.util.StringUtils;
+import lombok.SneakyThrows;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-05-19
+ */
+@Service
+public class ApsGasPipelineMoServiceImpl implements IApsGasPipelineMoService {
+    @Autowired
+    private ApsGasPipelineMoMapper apsGasPipelineMoMapper;
+
+    /**
+     * 鏌ヨ绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     *
+     * @param id 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁涓婚敭
+     * @return 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     */
+    @Override
+    public ApsGasPipelineMo selectApsGasPipelineMoById(Long id) {
+        return apsGasPipelineMoMapper.selectApsGasPipelineMoById(id);
+    }
+
+    /**
+     * 鏌ヨ绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁鍒楄〃
+     *
+     * @param apsGasPipelineMo 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     * @return 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     */
+    @Override
+    public List<ApsGasPipelineMo> selectApsGasPipelineMoList(ApsGasPipelineMo apsGasPipelineMo) {
+        return apsGasPipelineMoMapper.selectApsGasPipelineMoList(apsGasPipelineMo);
+    }
+
+    /**
+     * 鏂板绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     *
+     * @param apsGasPipelineMo 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsGasPipelineMo(ApsGasPipelineMo apsGasPipelineMo) {
+        apsGasPipelineMo.setCreateTime(DateUtils.getNowDate());
+        apsGasPipelineMo.setId(IdUtil.getSnowflakeNextId());
+        apsGasPipelineMo.setCreateBy(SecurityUtils.getUsername());
+        return apsGasPipelineMoMapper.insertApsGasPipelineMo(apsGasPipelineMo);
+    }
+
+    /**
+     * 淇敼绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     *
+     * @param apsGasPipelineMo 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsGasPipelineMo(ApsGasPipelineMo apsGasPipelineMo) {
+        apsGasPipelineMo.setUpdateTime(DateUtils.getNowDate());
+        return apsGasPipelineMoMapper.updateApsGasPipelineMo(apsGasPipelineMo);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsGasPipelineMoByIds(Long[] ids) {
+        return apsGasPipelineMoMapper.deleteApsGasPipelineMoByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁淇℃伅
+     *
+     * @param id 绠¤矾鎵嬪伐姘斾綋宸ュ崟鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsGasPipelineMoById(Long id) {
+        return apsGasPipelineMoMapper.deleteApsGasPipelineMoById(id);
+    }
+
+    @SneakyThrows
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public int batchInsertGasPipelineMo(MultipartFile file) {
+        Workbook workbook = WorkbookFactory.create(file.getInputStream());
+
+        Sheet sheet = workbook.getSheetAt(0);
+        int rows = sheet.getLastRowNum();
+        if (rows > 0) {
+            List<ApsGasPipelineMo> list = new ArrayList<>();
+
+            /*鏁版嵁鍒椾粠1寮�濮�*/
+            for (int i = 1; i <= rows; i++) {
+                Row row = sheet.getRow(i);
+                if (row.getCell(0) == null){
+                    continue;
+                }
+                String mo = row.getCell(0).getStringCellValue();
+                if (StringUtils.isEmpty(mo)){
+                    continue;
+                }
+                String factory = row.getCell(1).getStringCellValue();
+                String materialNum = row.getCell(2).getStringCellValue();
+                double quantity = row.getCell(3).getNumericCellValue();
+                Date planEnd = row.getCell(4).getDateCellValue();
+                if (StringUtils.isNotBlank(factory) &&
+                    StringUtils.isNotBlank(materialNum) &&
+                    planEnd != null) {
+                    ApsGasPipelineMo apsGasPipelineMo = new ApsGasPipelineMo();
+                    apsGasPipelineMo.setMo(mo);
+                    apsGasPipelineMo.setId(IdUtil.getSnowflakeNextId());
+                    apsGasPipelineMo.setFactory(factory);
+                    apsGasPipelineMo.setCreateBy(SecurityUtils.getUsername());
+                    apsGasPipelineMo.setCreateTime(DateUtils.getNowDate());
+                    apsGasPipelineMo.setQuantity(new BigDecimal(quantity));
+                    apsGasPipelineMo.setPlanEnd(new Timestamp(planEnd.getTime()));
+                    list.add(apsGasPipelineMo);
+                }
+            }
+            if (!list.isEmpty()) {
+                apsGasPipelineMoMapper.deleteAll();
+                apsGasPipelineMoMapper.insert(list);
+            }
+            return list.size();
+        }
+        return 0;
+
+    }
+}

--
Gitblit v1.9.3