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