From 687c9b21d0c8aedbd0c3f2d64b11cfaad5e38e85 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 23 五月 2025 15:42:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java | 164 ++++++++++++++++++++++--------------------------------
1 files changed, 66 insertions(+), 98 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java
index 9cb9f90..c6cec92 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java
@@ -1,73 +1,64 @@
package com.aps.core.service.impl;
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.*;
-import java.util.stream.Collectors;
-
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.security.utils.DictUtils;
import com.aps.common.security.utils.SecurityUtils;
-import com.aps.core.domain.ApsGasPipelinePrediction;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import com.aps.core.mapper.ApsMaterialProductGroupManagementMapper;
import com.aps.core.service.IApsMaterialProductGroupManagementService;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-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.web.multipart.MultipartFile;
+import java.sql.Timestamp;
+import java.util.*;
+import java.util.stream.Collectors;
+
/**
* 鐗╂枡浜у搧缁勬暟鎹鐞哠ervice涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
* @date 2025-05-19
*/
@Service
-public class ApsMaterialProductGroupManagementServiceImpl implements IApsMaterialProductGroupManagementService
-{
+public class ApsMaterialProductGroupManagementServiceImpl implements IApsMaterialProductGroupManagementService {
@Autowired
private ApsMaterialProductGroupManagementMapper apsMaterialProductGroupManagementMapper;
/**
* 鏌ヨ鐗╂枡浜у搧缁勬暟鎹鐞�
- *
+ *
* @param id 鐗╂枡浜у搧缁勬暟鎹鐞嗕富閿�
* @return 鐗╂枡浜у搧缁勬暟鎹鐞�
*/
@Override
- public ApsMaterialProductGroupManagement selectApsMaterialProductGroupManagementById(Long id)
- {
+ public ApsMaterialProductGroupManagement selectApsMaterialProductGroupManagementById(Long id) {
return apsMaterialProductGroupManagementMapper.selectApsMaterialProductGroupManagementById(id);
}
/**
* 鏌ヨ鐗╂枡浜у搧缁勬暟鎹鐞嗗垪琛�
- *
+ *
* @param apsMaterialProductGroupManagement 鐗╂枡浜у搧缁勬暟鎹鐞�
* @return 鐗╂枡浜у搧缁勬暟鎹鐞�
*/
@Override
- public List<ApsMaterialProductGroupManagement> selectApsMaterialProductGroupManagementList(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
- {
+ public List<ApsMaterialProductGroupManagement> selectApsMaterialProductGroupManagementList(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) {
return apsMaterialProductGroupManagementMapper.selectApsMaterialProductGroupManagementList(apsMaterialProductGroupManagement);
}
/**
* 鏂板鐗╂枡浜у搧缁勬暟鎹鐞�
- *
+ *
* @param apsMaterialProductGroupManagement 鐗╂枡浜у搧缁勬暟鎹鐞�
* @return 缁撴灉
*/
@Override
- public int insertApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
- {
+ public int insertApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) {
apsMaterialProductGroupManagement.setId(IdUtil.getSnowflakeNextId());
apsMaterialProductGroupManagement.setCreateBy(SecurityUtils.getUsername());
apsMaterialProductGroupManagement.setCreateTime(DateUtils.getNowDate());
@@ -76,13 +67,12 @@
/**
* 淇敼鐗╂枡浜у搧缁勬暟鎹鐞�
- *
+ *
* @param apsMaterialProductGroupManagement 鐗╂枡浜у搧缁勬暟鎹鐞�
* @return 缁撴灉
*/
@Override
- public int updateApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
- {
+ public int updateApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) {
apsMaterialProductGroupManagement.setUpdateTime(DateUtils.getNowDate());
apsMaterialProductGroupManagement.setUpdateBy(SecurityUtils.getUsername());
return apsMaterialProductGroupManagementMapper.updateApsMaterialProductGroupManagement(apsMaterialProductGroupManagement);
@@ -90,98 +80,76 @@
/**
* 鎵归噺鍒犻櫎鐗╂枡浜у搧缁勬暟鎹鐞�
- *
+ *
* @param ids 闇�瑕佸垹闄ょ殑鐗╂枡浜у搧缁勬暟鎹鐞嗕富閿�
* @return 缁撴灉
*/
@Override
- public int deleteApsMaterialProductGroupManagementByIds(Long[] ids)
- {
+ public int deleteApsMaterialProductGroupManagementByIds(Long[] ids) {
return apsMaterialProductGroupManagementMapper.deleteApsMaterialProductGroupManagementByIds(ids);
}
/**
* 鍒犻櫎鐗╂枡浜у搧缁勬暟鎹鐞嗕俊鎭�
- *
+ *
* @param id 鐗╂枡浜у搧缁勬暟鎹鐞嗕富閿�
* @return 缁撴灉
*/
@Override
- public int deleteApsMaterialProductGroupManagementById(Long id)
- {
+ public int deleteApsMaterialProductGroupManagementById(Long id) {
return apsMaterialProductGroupManagementMapper.deleteApsMaterialProductGroupManagementById(id);
}
@SneakyThrows
@Override
public int batchInsertApsMaterialProductGroupManagement(MultipartFile file) {
- Workbook workbook = WorkbookFactory.create(file.getInputStream());
-
- Sheet sheet = workbook.getSheetAt(0);
- int rows = sheet.getLastRowNum();
- if (rows > 0) {
- List<ApsMaterialProductGroupManagement> list = new ArrayList<>();
-
- /*鏁版嵁琛屼粠1寮�濮�*/
- Set<String> keys = new HashSet<>();
- for (int i = rows; i > 0; --i) {
- Row row = sheet.getRow(i);
- if (row.getCell(0) == null) {
- continue;
- }
- String materialCode = row.getCell(0).getStringCellValue();
- if (StringUtils.isEmpty(materialCode)){
- continue;
- }
- String materialType = row.getCell(1).getStringCellValue();
- String domain = row.getCell(2).getStringCellValue();
- String isMain = row.getCell(3).getStringCellValue();
- String factory = row.getCell(4).getStringCellValue();
- if (StringUtils.isNotBlank(materialType) &&
- StringUtils.isNotBlank(domain) &&
- StringUtils.isNotBlank(isMain) &&
- StringUtils.isNotBlank(factory)) {
- ApsMaterialProductGroupManagement item = new ApsMaterialProductGroupManagement();
- item.setId(IdUtil.getSnowflakeNextId());
- item.setFactory(factory);
- item.setDomain(domain);
- item.setMaterialType(materialType);
- item.setMaterialCode(materialCode);
- item.setIsMain(isMain);
- item.setCreateBy(SecurityUtils.getUsername());
- item.setCreateTime(DateUtils.getNowDate());
- if (!keys.contains(item.getKey())) {
- keys.add(item.getKey());
- list.add(item);
- }
- }
+ ExcelUtil<ApsMaterialProductGroupManagement> util = new ExcelUtil<>(ApsMaterialProductGroupManagement.class);
+ List<ApsMaterialProductGroupManagement> list = util.importExcel(file.getInputStream());
+ DictUtils.CacheValue cacheValue = DictUtils.getCacheValue("aps_factory");
+ DictUtils.CacheValue cacheDomain = DictUtils.getCacheValue("aps_domain");
+ Set<String> keys = new HashSet<>();
+ list.forEach(item -> {
+ item.setId(IdUtil.getSnowflakeNextId());
+ item.setDomain(cacheDomain.get(item.getDomain()));
+ item.setFactory(cacheValue.get(item.getFactory()));
+ item.setCreateBy(SecurityUtils.getUsername());
+ item.setCreateTime(DateUtils.getNowDate());
+ });
+ for (int i = list.size() - 1; i >= 0; --i) {
+ list.get(i).setKey(null);
+ if (!keys.contains(list.get(i).getKey())) {
+ keys.add(list.get(i).getKey());
+ } else {
+ list.remove(i);
}
- if (!list.isEmpty()) {
- Set<String> facCodeKey = apsMaterialProductGroupManagementMapper.selectByFacOrMaterial(keys);
- if (!facCodeKey.isEmpty()) {
- Iterator<ApsMaterialProductGroupManagement> it = list.iterator();
- while (it.hasNext()) {
- ApsMaterialProductGroupManagement item = it.next();
- if (facCodeKey.contains(item.getKey())) {
- LambdaUpdateWrapper<ApsMaterialProductGroupManagement> wrapper = new LambdaUpdateWrapper<>();
- wrapper.eq(ApsMaterialProductGroupManagement::getFactory, item.getFactory());
- wrapper.eq(ApsMaterialProductGroupManagement::getMaterialCode, item.getMaterialCode());
- item.setCreateBy(null);
- item.setCreateTime(null);
- item.setUpdateBy(SecurityUtils.getUsername());
- item.setUpdateTime(new Timestamp(System.currentTimeMillis()));
- apsMaterialProductGroupManagementMapper.update(item, wrapper);
- it.remove();
- }
- }
- }
-
- if (!list.isEmpty()) {
- apsMaterialProductGroupManagementMapper.insert(list);
- }
- }
- return list.size();
}
- return 0;
+
+ if (!list.isEmpty()) {
+ Set<String> facCodeKey = apsMaterialProductGroupManagementMapper.selectByFacOrMaterial(keys);
+ if (!facCodeKey.isEmpty()) {
+ Iterator<ApsMaterialProductGroupManagement> it = list.iterator();
+ while (it.hasNext()) {
+ ApsMaterialProductGroupManagement item = it.next();
+ if (facCodeKey.contains(item.getKey())) {
+ LambdaUpdateWrapper<ApsMaterialProductGroupManagement> wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(ApsMaterialProductGroupManagement::getFactory, item.getFactory());
+ wrapper.eq(ApsMaterialProductGroupManagement::getMaterialCode, item.getMaterialCode());
+ item.setCreateBy(null);
+ item.setCreateTime(null);
+ item.setId(null);
+ item.setUpdateBy(SecurityUtils.getUsername());
+ item.setUpdateTime(new Timestamp(System.currentTimeMillis()));
+ apsMaterialProductGroupManagementMapper.update(item, wrapper);
+ it.remove();
+ }
+ }
+ }
+
+ if (!list.isEmpty()) {
+ apsMaterialProductGroupManagementMapper.insert(list);
+ }
+ }
+ return list.size();
+
}
}
--
Gitblit v1.9.3