From b03b37e1d649631e31f33704a49a46f05aa7dc9f Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 03 七月 2024 16:14:21 +0800
Subject: [PATCH] 2024-7-3 标准库的导入
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 133 ++++++++++++++++++++++++++++++++++++++++++++
inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java | 2
inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java | 15 +++-
3 files changed, 145 insertions(+), 5 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
index 82511d8..aa41a21 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
@@ -11,7 +11,10 @@
import com.yuanchu.mom.service.StandardProductListService;
import com.yuanchu.mom.service.StandardTreeService;
import com.yuanchu.mom.vo.Result;
-import io.swagger.annotations.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -168,9 +171,13 @@
@ValueClassify("鏍囧噯搴�")
@ApiOperation("瀵煎叆鏍囧噯搴�")
- @PostMapping("/inExcelOfTree")
- public Result inExcelOfTree(@RequestParam("file") MultipartFile file) {
- standardTreeService.inExcelOfTree(file);
+ @PostMapping("/inExcelOfTree/{isEquipment}")
+ public Result inExcelOfTree(@RequestParam("file") MultipartFile file, @PathVariable("isEquipment") Boolean isEquipment) {
+ if (!isEquipment) {
+ standardTreeService.inExcelOfTree(file);
+ } else {
+ standardTreeService.importWorkstationExcel(file);
+ }
return Result.success();
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
index 44d3be4..8496f6a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
@@ -37,4 +37,6 @@
void resetTreeOfHour(String tree, Integer standardId);
void resetTreeOfAsk(String tree, Integer standardId);
+
+ void importWorkstationExcel(MultipartFile file);
}
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 353d6ac..8a3deb0 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,6 +1,5 @@
package com.yuanchu.mom.service.impl;
-import cn.hutool.core.lang.Console;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -159,6 +158,10 @@
.select(StandardTree::getModel, StandardTree::getSample));
}
+ /**
+ * 娌冲彛妫�娴嬩腑蹇冨鍏�
+ * @param file
+ */
@Override
@Transactional(rollbackFor = Exception.class)
public void inExcelOfTree(MultipartFile file) {
@@ -286,6 +289,134 @@
}
@Override
+ public void importWorkstationExcel(MultipartFile file) {
+ InputStream inputStream;
+ try {
+ inputStream = file.getInputStream();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ List<StandardProductList> lists = new ArrayList<>();
+ AtomicReference<String> laboratory = new AtomicReference<>();
+ ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> {
+ StandardProductList str = new StandardProductList();
+ if (i == 0 && l == 1) {
+ laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + ""));
+ if (laboratory.get() == null) {
+ throw new ErrorException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1));
+ }
+ }
+ if (i == 0 && l >= 1) {
+ Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + "");
+ if (standardMethodId == null) {
+ throw new ErrorException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0));
+ }
+ str.setStandardMethodListId(standardMethodId);
+ str.setSampleType(list.get(1) + "");
+ if (list.get(2) != null) {
+ String sample = baseMapper.selSample(list.get(2) + "");
+ if (sample == null) {
+ throw new ErrorException("鏍峰搧涓嶅瓨鍦細" + list.get(2));
+ }
+ str.setSample(list.get(2) + "");
+ } else {
+ str.setSample(null);
+ }
+ if (list.get(3) != null) {
+ str.setModel(list.get(3) + "");
+ Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery()
+ .eq(StandardTree::getModel, str.getModel())
+ .eq(StandardTree::getSampleType, list.get(1) + ""));
+ if (aLong == 0) {
+ StandardTree standardTree = new StandardTree();
+ standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�");
+ standardTree.setLaboratory(laboratory.get());
+ standardTree.setSampleType(str.getSampleType());
+ standardTree.setSample(str.getSample());
+ standardTree.setModel(str.getModel());
+ standardTreeMapper.insert(standardTree);
+ }
+ } else {
+ str.setModel(null);
+ }
+ str.setInspectionItemClass(list.get(4).toString());
+ str.setInspectionItemClassEn(list.get(5).toString());
+ // 寮�濮嬪姞2
+ str.setInspectionItem(list.get(6) + "");
+ if (list.get(8) == null) {
+ str.setInspectionItemSubclass("");
+ } else {
+ str.setInspectionItemSubclass(list.get(8).toString());
+ }
+ StandardProductList db_str;
+ try {
+ db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel());
+ } catch (Exception e) {
+ throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
+ }
+ if (ObjectUtils.isNotEmpty(db_str)) {
+ str.setId(db_str.getId());
+ str.setStructureItemParameterId(db_str.getStructureItemParameterId());
+ }
+ if (list.get(10) != null) {
+ str.setMethodS(list.get(10) + "");
+ }
+
+ if (list.get(13) == null) {
+ str.setTell(null);
+ } else {
+ str.setTell(list.get(13).toString());
+ }
+
+ if (list.get(14) == null) {
+ str.setAsk(null);
+ } else {
+ str.setAsk(list.get(14).toString());
+ }
+
+ if (list.get(15) == null) {
+ str.setPrice(null);
+ } else {
+ str.setPrice((list.get(15).toString()));
+ }
+
+ if (list.get(16) == null) {
+ str.setManHour(null);
+ } else {
+ str.setManHour(list.get(16).toString());
+ }
+
+ StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(23)));
+ if (standTempIdByName != null) {
+ str.setTemplateId(standTempIdByName.getId());
+ } else {
+ throw new ErrorException("妯℃澘涓嶅瓨鍦細" + list.get(23));
+ }
+ str.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�");
+ str.setLaboratory(laboratory.get());
+ 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()));
+ } catch (Exception e) {
+ str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass()));
+ }
+ if (str.getStructureItemParameterId() == null) {
+ throw new ErrorException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
+ }
+ lists.add(str);
+ }
+ });
+ lists.forEach(a -> {
+ if (a.getId() != null) {
+ standardProductListMapper.updateById(a);
+ } else {
+ standardProductListMapper.insert(a);
+ }
+ });
+ }
+
+ @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