From 040976de6f9934b99f30268a28e2ecf42260e217 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 18 五月 2024 22:13:01 +0800
Subject: [PATCH] 注释整理

---
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CheckProjectServiceImpl.java |  118 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 74 insertions(+), 44 deletions(-)

diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CheckProjectServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CheckProjectServiceImpl.java
index 6b00a1f..1cee35c 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CheckProjectServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CheckProjectServiceImpl.java
@@ -1,32 +1,27 @@
 package com.qianwen.smartman.modules.cps.service.impl;
 
-import com.alibaba.excel.write.merge.AbstractMergeStrategy;
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import java.lang.invoke.SerializedLambda;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import com.qianwen.smartman.common.cache.RegionCache;
-import com.qianwen.smartman.common.constant.CommonConstant;
-import com.qianwen.smartman.common.constant.DateConstant;
-import com.qianwen.smartman.common.constant.ExcelConstant;
-import com.qianwen.smartman.common.enums.StatusType;
-import com.qianwen.smartman.common.utils.MessageUtils;
-import com.qianwen.smartman.common.utils.ValidatorUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.alibaba.excel.write.merge.AbstractMergeStrategy;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import com.qianwen.core.excel.util.ExcelUtil;
 import com.qianwen.core.log.exception.ServiceException;
 import com.qianwen.core.mp.service.impl.BladeServiceImpl;
@@ -36,6 +31,12 @@
 import com.qianwen.core.tool.utils.DateUtil;
 import com.qianwen.core.tool.utils.Func;
 import com.qianwen.core.tool.utils.StringUtil;
+import com.qianwen.smartman.common.constant.CommonConstant;
+import com.qianwen.smartman.common.constant.DateConstant;
+import com.qianwen.smartman.common.constant.ExcelConstant;
+import com.qianwen.smartman.common.enums.StatusType;
+import com.qianwen.smartman.common.utils.MessageUtils;
+import com.qianwen.smartman.common.utils.ValidatorUtils;
 import com.qianwen.smartman.modules.cps.convert.CheckProjectConvert;
 import com.qianwen.smartman.modules.cps.entity.CheckItem;
 import com.qianwen.smartman.modules.cps.entity.CheckProject;
@@ -51,12 +52,8 @@
 import com.qianwen.smartman.modules.cps.vo.CheckProjectUpdateVO;
 import com.qianwen.smartman.modules.cps.vo.CheckProjectVO;
 import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
 
 @Service
-/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/CheckProjectServiceImpl.class */
 public class CheckProjectServiceImpl extends BladeServiceImpl<CheckProjectMapper, CheckProject> implements ICheckProjectService {
     private static final Logger log = LoggerFactory.getLogger(CheckProjectServiceImpl.class);
     private final ICheckItemService checkItemService;
@@ -70,17 +67,11 @@
         this.checkService = checkService;
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     public CheckProject createCheckProject(CheckProjectSubmitVO vo) {
         String code = vo.getCode();
         long count = count(Wrappers.<CheckProject>lambdaQuery().eq(Func.isNotBlank(code), CheckProject::getCode, code).eq(CheckProject::getStatus, CommonConstant.ENABLE));
-        /*
-        long count = count((Wrapper) Wrappers.lambdaQuery().eq(Func.isNotBlank(code), (v0) -> {
-            return v0.getCode();
-        }, code).eq((v0) -> {
-            return v0.getStatus();
-        }, CommonConstant.ENABLE));
-        */
+        
         if (count > 0) {
             throw new ServiceException(MessageUtils.message("excel.import.check.project.code.same", new Object[0]));
         }
@@ -94,15 +85,15 @@
         return checkProject;
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     public IPage<CheckProjectVO> pageCheckProject(Query query, String key, Integer status) {
-    	IPage<CheckProject> page1 = page(Condition.getPage(query));
+    	//IPage<CheckProject> page1 = page(Condition.getPage(query));
     	IPage<CheckProject> page = page(Condition.getPage(query), Wrappers.<CheckProject>lambdaQuery()
     	        .eq(CheckProject::getStatus, (status == null) ? CommonConstant.ENABLE : status)
     	        .and(Func.isNotBlank(key), c -> c.likeRight(CheckProject::getCode, key))
     	        		.or().likeRight(Func.isNotBlank(key), CheckProject::getName, key).or()
     	        		.likeRight(Func.isNotBlank(key), CheckProject::getRemark, key)
-    	        .orderByDesc(CheckProject::getCreateTime, CheckProject::getId));
+    	        .orderByDesc(Arrays.asList(CheckProject::getCreateTime, CheckProject::getId)));
     	/*
         IPage<CheckProject> page = page(Condition.getPage(query), (Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> {
             return v0.getStatus();
@@ -120,13 +111,13 @@
             return v0.getId();
         }}));*/
         return Optional.<IPage<CheckProject>>ofNullable(page).map(p -> {
-            IPage page2 = new Page<>(p.getCurrent(), p.getSize(), p.getTotal());
+            IPage<CheckProjectVO> page2 = new Page<>(p.getCurrent(), p.getSize(), p.getTotal());
             page2.setRecords(CheckProjectConvert.INSTANCE.convert(p.getRecords()));
             return page2;
         }).orElse(new Page<>());
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     @Transactional(rollbackFor = {Exception.class})
     public boolean removeCheckProject(List<String> ids, Integer type) {
         if (StatusType.REMOVE.getType().equals(type)) {
@@ -146,14 +137,27 @@
         return changeStatus(Func.toLongList(ids), CommonConstant.DEACTIVATE);
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     public boolean updateCheckProject(CheckProjectUpdateVO vo) {
         CheckProject checkProject = CheckProjectConvert.INSTANCE.convert(vo);
         return updateById(checkProject);
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     public BladeFile exportCheckProject(String key, Integer status) {
+    	
+    	List<CheckProject> checkProjects = list(
+    			Wrappers.<CheckProject>lambdaQuery()
+    	        .eq(CheckProject::getStatus, status)
+    	        .and(Func.isNotBlank(key), c -> c.likeRight(CheckProject::getCode, key)).or()
+    	        .likeRight(Func.isNotBlank(key), CheckProject::getName, key).or()
+				.likeRight(Func.isNotBlank(key), CheckProject::getRemark, key)
+    	        .orderByDesc(Arrays.asList(CheckProject::getCreateTime, CheckProject::getId))
+    	        
+    	        );
+    	
+    	List<Long> ids = checkProjects.stream().map(CheckProject::getId).collect(Collectors.toList());
+    	/*
         List<CheckProject> checkProjects = list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> {
             return v0.getStatus();
         }, status)).and(Func.isNotBlank(key), c -> {
@@ -172,14 +176,18 @@
         List<Long> ids = (List) checkProjects.stream().map((v0) -> {
             return v0.getId();
         }).collect(Collectors.toList());
+        */
         Map<Long, List<CheckItem>> itemMap = null;
         if (Func.isNotEmpty(ids)) {
+        	List<CheckItem> checkItems = this.checkItemService.list(Wrappers.<CheckItem>lambdaQuery().in(CheckItem::getCheckProjectId, ids));
+            itemMap = (Map<Long, List<CheckItem>>)checkItems.stream().collect(Collectors.groupingBy(CheckItem::getCheckProjectId));
+        	/*
             List<CheckItem> checkItems = this.checkItemService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
                 return v0.getCheckProjectId();
             }, ids));
             itemMap = (Map) checkItems.stream().collect(Collectors.groupingBy((v0) -> {
                 return v0.getCheckProjectId();
-            }));
+            }));*/
         }
         List<CheckProjectExcel> result = Lists.newArrayList();
         for (CheckProject checkProject : checkProjects) {
@@ -200,7 +208,7 @@
         return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
     }
 
-    @Override // org.springblade.modules.cps.service.ICheckProjectService
+    @Override
     @Transactional(rollbackFor = {Exception.class})
     public BladeFile importCheckProject(MultipartFile file) {
         List<CheckProjectImport> rawData = ExcelUtil.read(file, 0, 2, CheckProjectImport.class);
@@ -210,6 +218,17 @@
         if (rawData.size() > 200) {
             throw new ServiceException(MessageUtils.message("excel.import.size.failed", new Object[0]));
         }
+        
+        Set<String> codes = Sets.newHashSet(listObjs(Wrappers.<CheckProject>lambdaQuery().select(CheckProject::getCode).eq(CheckProject::getStatus, CommonConstant.ENABLE), String::valueOf));
+        Set<String> names = Sets.newHashSet(listObjs(Wrappers.<CheckProject>lambdaQuery().select(CheckProject::getName).eq(CheckProject::getStatus, CommonConstant.ENABLE), String::valueOf));
+        Map<String, Set<String>> codeNameMap = (Map<String, Set<String>>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, 
+              Collectors.mapping(v -> v.getProjectCode() + "-" + v.getProjectName() + "-" + v.getRemark(), Collectors.toSet())));
+        Map<String, Integer> itemNameCount = (Map<String, Integer>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, 
+              Collectors.mapping(CheckProjectImport::getItemName, Collectors.reducing(Integer.valueOf(0), e -> Integer.valueOf(1), Integer::sum))));
+        Map<String, Set<String>> itemNameSet = (Map<String, Set<String>>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, 
+              Collectors.mapping(CheckProjectImport::getItemName, Collectors.toSet())));
+        
+        /*
         Set<String> codes = Sets.newHashSet(listObjs((Wrapper) Wrappers.lambdaQuery().select(new SFunction[]{(v0) -> {
             return v0.getCode();
         }}).eq((v0) -> {
@@ -245,6 +264,7 @@
         }, Collectors.mapping((v0) -> {
             return v0.getItemName();
         }, Collectors.toSet())));
+        */
         List<CheckProjectImport> failExcel = Lists.newArrayList();
         for (CheckProjectImport data : rawData) {
             validImport(data, codes, names, codeNameMap, itemNameCount, itemNameSet, failExcel);
@@ -254,14 +274,21 @@
             MultipartFile multipartFile = ExcelUtil.exportFillTemplateToMultipartFile(ExcelConstant.DIRECTORY + "checkProjectFailTemplate" + ExcelConstant.SUFFIX, MessageUtils.message("excel.import.failed.report.name", new Object[0]) + ExcelConstant.SUFFIX, "鐐规椤圭洰琛�", failExcel, (Object) null, (AbstractMergeStrategy) null);
             return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
         }
+        
+        Map<CheckProject, List<CheckItem>> collect = rawData.stream().collect(Collectors.groupingBy(c -> CheckProject.builder().code(c.getProjectCode()).name(c.getProjectName()).remark(c.getRemark()).build(), 
+                
+                Collectors.mapping(c -> CheckItem.builder().name(c.getItemName()).valueType(c.getValueType()).requirement(c.getRequirement()).standardValue(c.getStandardValue()).build(), 
+                  
+                  Collectors.toList())));
+        /*
         Map<CheckProject, List<CheckItem>> collect = (Map) rawData.stream().collect(Collectors.groupingBy(c4 -> {
             return CheckProject.builder().code(c4.getProjectCode()).name(c4.getProjectName()).remark(c4.getRemark()).build();
         }, Collectors.mapping(c5 -> {
             return CheckItem.builder().name(c5.getItemName()).valueType(c5.getValueType()).requirement(c5.getRequirement()).standardValue(c5.getStandardValue()).build();
-        }, Collectors.toList())));
-        collect.forEach(project, items -> {
+        }, Collectors.toList())));*/
+        collect.forEach((project, items) -> {
             save(project);
-            List<CheckItem> itemList = (List) items.stream().filter(c6 -> {
+            List<CheckItem> itemList = items.stream().filter(c6 -> {
                 return Func.isNotBlank(c6.getName());
             }).peek(c7 -> {
                 c7.setCheckProjectId(project.getId());
@@ -354,14 +381,17 @@
     }
 
     private boolean checkStopStatus(String code) {
+    	CheckProject checkProject = getOne(Wrappers.<CheckProject>lambdaQuery().eq(CheckProject::getCode, code).eq(CheckProject::getStatus, CommonConstant.DEACTIVATE));
+    	/*
         CheckProject checkProject = (CheckProject) getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> {
             return v0.getCode();
         }, code)).eq((v0) -> {
             return v0.getStatus();
         }, CommonConstant.DEACTIVATE));
+        */
         if (checkProject != null) {
-            return Boolean.TRUE.booleanValue();
+            return true;
         }
-        return Boolean.FALSE.booleanValue();
+        return false;
     }
 }

--
Gitblit v1.9.3