From 30db5b326ae164d1256726191bd36a0d24f5f335 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 19 二月 2025 14:02:28 +0800
Subject: [PATCH] 修改
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 81 +++++++++++++++++++++++++++++++++-------
1 files changed, 67 insertions(+), 14 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 8a3deb0..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("璇ュ瀷鍙峰凡瀛樺湪");
}
@@ -222,7 +249,7 @@
}
StandardProductList db_str;
try {
- db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel());
+ db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass());
} catch (Exception e) {
throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
}
@@ -269,9 +296,9 @@
str.setState(1);
str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel()));
try {
- str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass()));
+ str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass()));
} catch (Exception e) {
- str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass()));
+ str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass()));
}
if (str.getStructureItemParameterId() == null) {
throw new ErrorException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
@@ -350,7 +377,7 @@
}
StandardProductList db_str;
try {
- db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel());
+ db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass());
} catch (Exception e) {
throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
}
@@ -361,7 +388,6 @@
if (list.get(10) != null) {
str.setMethodS(list.get(10) + "");
}
-
if (list.get(13) == null) {
str.setTell(null);
} else {
@@ -397,9 +423,9 @@
str.setState(1);
str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel()));
try {
- str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass()));
+ str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass()));
} catch (Exception e) {
- str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass()));
+ str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass()));
}
if (str.getStructureItemParameterId() == null) {
throw new ErrorException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
@@ -416,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