From 3adcc36797b576b6c6f793e0eeac41068b6dd717 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 14 一月 2025 11:26:00 +0800
Subject: [PATCH] 1.14调整
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 68 ++++++++++++++++++++++++++++++---
1 files changed, 61 insertions(+), 7 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
index 9ea8481..c728dec 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,19 +1,20 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.poi.excel.ExcelUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.mom.dto.FactoryDto;
-import com.yuanchu.mom.dto.LaboratoryDto;
-import com.yuanchu.mom.dto.SampleTypeDto;
+import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.StandardProductListMapper;
import com.yuanchu.mom.mapper.StandardTreeMapper;
-import com.yuanchu.mom.pojo.StandardProductList;
-import com.yuanchu.mom.pojo.StandardTemplate;
-import com.yuanchu.mom.pojo.StandardTree;
+import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.*;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
@@ -21,12 +22,16 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
/**
* @author Administrator
@@ -66,9 +71,31 @@
}
@Override
+ public List<SampleTypeDto> selectStandardTreeList2() {
+ List<SampleTypeDto> sampleTypeDtos= new ArrayList<>();
+ List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList();
+ for (FactoryDto factoryDto : factoryDtos) {
+ for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
+ for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
+ if (sampleTypeDto.getChildren().size() == 0) {
+ sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
+ }
+ sampleTypeDtos.add(sampleTypeDto);
+ }
+ }
+ }
+ return sampleTypeDtos;
+ }
+
+ @Override
@Transactional(rollbackFor = Exception.class)
public int addStandardTree(StandardTree standardTree) {
- StandardTree tree = standardTreeMapper.selectOne(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getModel, standardTree.getModel()));
+ StandardTree tree = standardTreeMapper.selectOne(Wrappers.<StandardTree>lambdaQuery()
+ .eq(StandardTree::getFactory, standardTree.getFactory())
+ .eq(StandardTree::getLaboratory, standardTree.getLaboratory())
+ .eq(StandardTree::getSampleType, standardTree.getSampleType())
+ .eq(StandardTree::getSample, standardTree.getSample())
+ .eq(StandardTree::getModel, standardTree.getModel()));
if (tree != null) {
throw new ErrorException("璇ュ瀷鍙峰凡瀛樺湪");
}
@@ -415,6 +442,33 @@
});
}
+ //瀵煎嚭
+ @Override
+ public void exportStandTree(HttpServletResponse response) throws IOException {
+ //鏌ヨ鏍囧噯搴撴暟鎹�,鎸夌収浜у搧澶х被鍒嗙被
+ List<standardTreeDto> standardTreeDtos = standardTreeMapper.exportStandTree();
+ Map<String, List<standardTreeDto>> collect = standardTreeDtos.stream().collect(Collectors.groupingBy(standardTreeDto -> standardTreeDto.getSampleType()));
+ List<Map.Entry<String, List<standardTreeDto>>> entryList = new ArrayList<>(collect.entrySet());
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ String fileName = URLEncoder.encode("鏍囧噯搴撳鍑�", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ try {
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ for (int i = 0; i < collect.size(); i++) {
+ Map.Entry<String, List<standardTreeDto>> entry = entryList.get(i);
+ WriteSheet mainSheet = EasyExcel.writerSheet(i, entry.getKey()+"鏍囧噯搴撳鍑�").head(standardTreeDto.class).build();
+ excelWriter.write(entry.getValue(), mainSheet);
+ }
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (IOException e) {
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+
@Override
public void resetTreeOfPrice(String tree, Integer standardId) {
standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getPrice, null));
--
Gitblit v1.9.3