From be3659167ebc85d3ad4bf0311ed2051c0da0281d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 23 七月 2024 10:31:36 +0800
Subject: [PATCH] 班次权限
---
cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java | 108 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 79 insertions(+), 29 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
index fe1dd1b..dda239a 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
@@ -2,12 +2,16 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.poi.excel.ExcelUtil;
+import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.PageTestObjectDto;
+import com.yuanchu.mom.excel.StructureTestObjectData;
+import com.yuanchu.mom.excel.StructureTestObjectListener;
+import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.*;
import com.yuanchu.mom.utils.JackSonUtil;
@@ -21,8 +25,8 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.io.InputStream;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -171,11 +175,11 @@
InputStream inputStream = file.getInputStream();
List<StructureItemParameter> lists = new ArrayList<>();
AtomicReference<String> sample = new AtomicReference<>();
- ExcelUtil.readBySax(inputStream, 0, (i, l, list1) -> {
- if(i == 0 && l == 1){
- sample.set(list1.get(1)+"");
+ ExcelUtil.readBySax(inputStream, -1, (i, l, list1) -> {
+ if (l == 1) {
+ sample.set(list1.get(1) + "");
}
- if (i == 0 && l >= 1) {
+ if (l >= 1) {
StructureItemParameter str = new StructureItemParameter();
if (list1.get(1) == null) {
str.setSample(null);
@@ -183,26 +187,28 @@
String brand = (String) list1.get(1);
StringBuilder builder = new StringBuilder();
builder.append("[");
- if (ObjectUtil.isNotEmpty(list1.get(2))){
+ if (ObjectUtil.isNotEmpty(list1.get(2))) {
String production = (String) list1.get(2);
- if (!production.contains("銆�")){
- builder.append(String.format("[\"%s\",\"%s\"]",brand,production));
- }else{
- Arrays.stream(production.split("銆�")).forEach(item->{
- builder.append(String.format("[\"%s\",\"%s\"],",brand,item));
+ if (!production.contains("銆�")) {
+ builder.append(String.format("[\"%s\",\"%s\"]", brand, production));
+ } else {
+ Arrays.stream(production.split("銆�")).forEach(item -> {
+ builder.append(String.format("[\"%s\",\"%s\"],", brand, item));
});
builder.deleteCharAt(builder.length() - 1);
}
- }else{
+ } else {
builder.append("[");
- builder.append(String.format("\"%s\"",brand));
+ builder.append(String.format("\"%s\"", brand));
builder.append("]");
}
builder.append("]");
str.setSample(builder.toString());
}
str.setInspectionItem(list1.get(4).toString());
- str.setInspectionItemEn(list1.get(5).toString());
+ if (list1.get(5) != null) {
+ str.setInspectionItemEn(list1.get(5).toString());
+ }
if (list1.get(6) == null) {
str.setInspectionItemSubclass(null);
} else {
@@ -214,20 +220,30 @@
str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString()));
}
StructureItemParameter db_str;
- if (StringUtils.isEmpty(str.getInspectionItemSubclass())){
+ if (StringUtils.isEmpty(str.getInspectionItemSubclass())) {
// 姣旇緝涓や釜鏉′欢
- db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
- .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
- .eq(StructureItemParameter::getSample, str.getSample())
- );
- }else{
- db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
- .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
- .eq(StructureItemParameter::getSample, str.getSample())
- .eq(StructureItemParameter::getInspectionItemSubclass,str.getInspectionItemSubclass())
- );
+ try {
+ db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
+ .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
+ .eq(StructureItemParameter::getSample, str.getSample())
+ .last("limit 1")
+ );
+ } catch (Exception e) {
+ throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem());
+ }
+ } else {
+ try {
+ db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
+ .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
+ .eq(StructureItemParameter::getSample, str.getSample())
+ .eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass())
+ .last("limit 1")
+ );
+ } catch (Exception e) {
+ throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
+ }
}
- if (ObjectUtils.isNotEmpty(db_str)){
+ if (ObjectUtils.isNotEmpty(db_str)) {
str.setId(db_str.getId());
}
if (list1.get(8) == null) {
@@ -271,7 +287,7 @@
if (list1.get(13) == null) {
str.setPrice(null);
} else {
- str.setPrice(BigDecimal.valueOf(Long.parseLong((list1.get(13).toString()))));
+ str.setPrice(list1.get(13) + "");
}
if (list1.get(14) == null) {
@@ -299,7 +315,7 @@
}
str.setInspectionItemType(jy);
String validateValueType = list1.get(18).toString();
- if (StringUtils.isNotBlank(validateValueType)){
+ if (StringUtils.isNotBlank(validateValueType)) {
Enums enums = enumService.getOne(Wrappers.lambdaQuery(Enums.class)
.eq(Enums::getCategory, "妫�楠屽�肩被鍨�")
.eq(Enums::getLabel, validateValueType));
@@ -323,17 +339,51 @@
} else {
str.setTemplateId(null);
}
+ try {
+ if (list1.get(22) != null && list1.get(22) != "") {
+ str.setInspectionItemClass(list1.get(22) + "");
+ } else {
+ str.setInspectionItemClass(null);
+ }
+ } catch (Exception e) {
+ }
+ try {
+ if (list1.get(23) != null && list1.get(23) != "") {
+ str.setInspectionItemClassEn(list1.get(23) + "");
+ } else {
+ str.setInspectionItemClassEn(null);
+ }
+ } catch (Exception e) {
+ }
+ try {
+ if (list1.get(24) != null) {
+ str.setLaboratory(list1.get(24) + "");
+ }
+ } catch (Exception e) {
+ }
lists.add(str);
}
});
structureItemParameterService.removeNoSample(sample.get());
// 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣�
try {
- structureItemParameterService.saveBatch(lists);
+ structureItemParameterService.saveOrUpdateBatch(lists);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("鏈嶅姟绔姤閿欏暒!!!");
}
return Result.success();
}
+
+ @ValueClassify(value = "鑳藉姏鑼冨洿")
+ @ApiOperation(value = "瀵煎叆妫�楠屽璞�")
+ @PostMapping("/importExcel")
+ public Result importExcel(@RequestParam("file") MultipartFile file) {
+ try {
+ EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return Result.success();
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3