diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
index 8fe3833..d3c9f3a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
@@ -43,7 +43,7 @@
ReturnDTO> equipmentLabelReadList(Set strSet);
- EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
+ EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
List allCertificate(Long equipmentId, String equipmentType);
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
index 8fe3833..d3c9f3a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
@@ -43,7 +43,7 @@
ReturnDTO> equipmentLabelReadList(Set strSet);
- EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
+ EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
List allCertificate(Long equipmentId, String equipmentType);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
index 4e532a7..fef1e36 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.equipment;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import liquibase.pro.packaged.S;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.List;
/**
@@ -34,4 +38,6 @@
String defaultCheckDestination(Long modelId,Long companyId);
+ EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException;
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
index 8fe3833..d3c9f3a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
@@ -43,7 +43,7 @@
ReturnDTO> equipmentLabelReadList(Set strSet);
- EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
+ EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
List allCertificate(Long equipmentId, String equipmentType);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
index 4e532a7..fef1e36 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.equipment;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import liquibase.pro.packaged.S;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.List;
/**
@@ -34,4 +38,6 @@
String defaultCheckDestination(Long modelId,Long companyId);
+ EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException;
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
index 78f4360..5501550 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
@@ -309,7 +309,7 @@
}
@Override
- public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
+ public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
InputStream inputStream = file.getInputStream();
List list = EasyExcel.read(inputStream) //调用read方法
//注册自定义监听器,字段校验可以在监听器内实现
@@ -319,7 +319,7 @@
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
validImport(list);
- EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
+ EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
if(CollUtil.isNotEmpty(checkResult.getUnDuplicationResult())){
saveImport(checkResult.getUnDuplicationResult(), equipmentType);
}
@@ -495,7 +495,7 @@
}
}
- private EquipmentImportDuplicationResult checkImportDuplication(List importList){
+ private EquipmentImportDuplicationResult checkImportDuplication(List importList){
//根据设备名称、型号规格、辅助字段、出厂编号、生产厂家 判重;
importList.forEach(i->{
i.setCheckDuplication(String.format("%s%s%s%s%s",i.getEquipmentName(),i.getModel(),i.getHelpInstruction(),i.getManufactureNo(),i.getManufacturer()));
@@ -512,6 +512,8 @@
||(StrUtil.isNotBlank(e.getEquipmentName())&&e.getEquipmentName().equals(importDTO.getEquipmentName())))
.filter(e-> (StrUtil.isBlank(e.getModel())&&StrUtil.isBlank(importDTO.getModel()))
||(StrUtil.isNotBlank(e.getModel())&&e.getModel().equals(importDTO.getModel())))
+ .filter(e-> (StrUtil.isBlank(e.getHelpInstruction())&&StrUtil.isBlank(importDTO.getHelpInstruction()))
+ ||(StrUtil.isNotBlank(e.getHelpInstruction())&&e.getHelpInstruction().equals(importDTO.getHelpInstruction())))
.filter(e-> (StrUtil.isBlank(e.getManufactureNo())&&StrUtil.isBlank(importDTO.getManufactureNo()))
||(StrUtil.isNotBlank(e.getManufactureNo())&&e.getManufactureNo().equals(importDTO.getManufactureNo())))
.filter(e-> (StrUtil.isBlank(e.getManufacturer())&&StrUtil.isBlank(importDTO.getManufacturer()))
@@ -525,7 +527,7 @@
}
}
- EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult();
+ EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult<>();
checkResult.setUnDuplicationResult(unDuplicationResult);
checkResult.setTableDuplication(tableDuplication);
checkResult.setHasExist(hasExist);
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
index 8fe3833..d3c9f3a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
@@ -43,7 +43,7 @@
ReturnDTO> equipmentLabelReadList(Set strSet);
- EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
+ EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
List allCertificate(Long equipmentId, String equipmentType);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
index 4e532a7..fef1e36 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.equipment;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import liquibase.pro.packaged.S;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.List;
/**
@@ -34,4 +38,6 @@
String defaultCheckDestination(Long modelId,Long companyId);
+ EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException;
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
index 78f4360..5501550 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
@@ -309,7 +309,7 @@
}
@Override
- public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
+ public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
InputStream inputStream = file.getInputStream();
List list = EasyExcel.read(inputStream) //调用read方法
//注册自定义监听器,字段校验可以在监听器内实现
@@ -319,7 +319,7 @@
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
validImport(list);
- EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
+ EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
if(CollUtil.isNotEmpty(checkResult.getUnDuplicationResult())){
saveImport(checkResult.getUnDuplicationResult(), equipmentType);
}
@@ -495,7 +495,7 @@
}
}
- private EquipmentImportDuplicationResult checkImportDuplication(List importList){
+ private EquipmentImportDuplicationResult checkImportDuplication(List importList){
//根据设备名称、型号规格、辅助字段、出厂编号、生产厂家 判重;
importList.forEach(i->{
i.setCheckDuplication(String.format("%s%s%s%s%s",i.getEquipmentName(),i.getModel(),i.getHelpInstruction(),i.getManufactureNo(),i.getManufacturer()));
@@ -512,6 +512,8 @@
||(StrUtil.isNotBlank(e.getEquipmentName())&&e.getEquipmentName().equals(importDTO.getEquipmentName())))
.filter(e-> (StrUtil.isBlank(e.getModel())&&StrUtil.isBlank(importDTO.getModel()))
||(StrUtil.isNotBlank(e.getModel())&&e.getModel().equals(importDTO.getModel())))
+ .filter(e-> (StrUtil.isBlank(e.getHelpInstruction())&&StrUtil.isBlank(importDTO.getHelpInstruction()))
+ ||(StrUtil.isNotBlank(e.getHelpInstruction())&&e.getHelpInstruction().equals(importDTO.getHelpInstruction())))
.filter(e-> (StrUtil.isBlank(e.getManufactureNo())&&StrUtil.isBlank(importDTO.getManufactureNo()))
||(StrUtil.isNotBlank(e.getManufactureNo())&&e.getManufactureNo().equals(importDTO.getManufactureNo())))
.filter(e-> (StrUtil.isBlank(e.getManufacturer())&&StrUtil.isBlank(importDTO.getManufacturer()))
@@ -525,7 +527,7 @@
}
}
- EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult();
+ EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult<>();
checkResult.setUnDuplicationResult(unDuplicationResult);
checkResult.setTableDuplication(tableDuplication);
checkResult.setHasExist(hasExist);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
index 6510618..48c32b4 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
@@ -1,22 +1,30 @@
package com.casic.missiles.service.impl.equipment;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.datascope.ScopeEnums;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.equipment.EquipmentInfo;
-import com.casic.missiles.model.equipment.EquipmentInfoApproval;
-import com.casic.missiles.model.equipment.EquipmentModelInfo;
+import com.casic.missiles.listeners.CommonExcelListener;
+import com.casic.missiles.model.equipment.*;
import com.casic.missiles.mapper.equipment.EquipmentModelInfoMapper;
-import com.casic.missiles.model.equipment.EquipmentModelTechnicalTarget;
+import com.casic.missiles.modular.system.model.Dict;
import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService;
import com.casic.missiles.service.equipment.IEquipmentInfoService;
import com.casic.missiles.service.equipment.IEquipmentModelInfoService;
@@ -28,10 +36,15 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.casic.missiles.enums.equipment.EquipmentTypeEnum.EQUIPMENT_TYPE_NORMAL;
@@ -52,6 +65,7 @@
private final IEquipmentInfoService equipmentInfoService;
private final IEquipmentInfoApprovalService equipmentInfoApprovalService;
private final AbstractPermissionContext permissionContext;
+ private final AbstractDictService dictService;
private final String XC_INSPECTABLE = "1"; // 西昌可检
private final String HK_INSPECTABLE = "2"; // 海口可检
@@ -189,4 +203,153 @@
}
return null;
}
+
+ @Override
+ public EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException {
+ InputStream inputStream = file.getInputStream();
+ List list = EasyExcel.read(inputStream)
+ .registerReadListener(new CommonExcelListener<>())
+ .head(EquipmentModelImportDTO.class)
+ .sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
+ .headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
+ .doReadSync();
+ validImport(list);
+ EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
+ if(CollUtil.isNotEmpty(checkResult.getUnDuplicationResult())){
+ saveImport(checkResult.getUnDuplicationResult());
+ }
+ return checkResult;
+ }
+
+ private void validImport(List importList){
+ List equipmentTypeDicts = dictService.findInDictByCode(MeterDictCode.EQUIPMENT_TYPE);
+ List equipmentCategoryDicts = dictService.findInDictByCode(MeterDictCode.EQUIPMENT_CATEGORY);
+ Pattern checkCycelPattern = Pattern.compile("^[1-9]\\d*$"); // 大于0的整数
+ Pattern inspectablePattern = Pattern.compile("^(1|2|1,2|2,1)$"); // 1或2或两个拼接
+ String validMsg = "第%d行数据校验失败:%s";
+
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ // 设备类型
+ if(StrUtil.isBlank(importDTO.getEquipmentType())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空"));
+ }else {
+ if(equipmentTypeDicts.stream().noneMatch(d->d.getCode().equals(importDTO.getEquipmentType()))){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不合法"));
+ }
+ }
+ // 设备名称
+ if (StrUtil.isBlank(importDTO.getEquipmentName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备名称不能为空"));
+ }
+ // 规格型号
+ if (StrUtil.isBlank(importDTO.getModel())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "规格型号不能为空"));
+ }
+ if (StrUtil.isBlank(importDTO.getHelpInstruction())){
+ importDTO.setHelpInstruction("/");
+ }
+
+ // 设备分类
+ if(StrUtil.isBlank(importDTO.getCategory())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备分类不能为空"));
+ }else {
+ if(equipmentCategoryDicts.stream().noneMatch(d->d.getCode().equals(importDTO.getCategory()))){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备分类不合法"));
+ }
+ }
+
+ // 检定周期
+ if(StrUtil.isBlank(importDTO.getCheckCycle())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "检定周期不能为空"));
+ }else {
+ if(!checkCycelPattern.matcher(importDTO.getCheckCycle()).matches()){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "检定周期不合法"));
+ }
+ }
+
+ // 计量站是否可检
+ if(StrUtil.isNotBlank(importDTO.getInspectable())){
+ importDTO.setInspectable(importDTO.getInspectable().replace(",",",").trim());
+ if(!inspectablePattern.matcher(importDTO.getInspectable()).matches()){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "计量站是否可检不合法"));
+ }
+ if(StrUtil.isBlank(importDTO.getCategory())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "计量站可检,设备分类必填"));
+ }
+ }
+ }
+ }
+
+ private EquipmentImportDuplicationResult checkImportDuplication(List importList){
+ //根据设备名称、型号规格、辅助字段 判重;
+ importList.forEach(i->{
+ i.setCheckDuplication(String.format("%s%s%s",i.getEquipmentName(),i.getModel(),i.getHelpInstruction()));
+ });
+ List modelInfoList = this.list();
+
+ List unDuplicationResult = new ArrayList<>();
+ List hasExist = new ArrayList<>();
+ List tableDuplication = new ArrayList<>();
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ if(modelInfoList.stream()
+ .filter(e-> (StrUtil.isBlank(e.getEquipmentName())&&StrUtil.isBlank(importDTO.getEquipmentName()))
+ ||(StrUtil.isNotBlank(e.getEquipmentName())&&e.getEquipmentName().equals(importDTO.getEquipmentName())))
+ .filter(e-> (StrUtil.isBlank(e.getModel())&&StrUtil.isBlank(importDTO.getModel()))
+ ||(StrUtil.isNotBlank(e.getModel())&&e.getModel().equals(importDTO.getModel())))
+ .filter(e-> (StrUtil.isBlank(e.getHelpInstruction())&&StrUtil.isBlank(importDTO.getHelpInstruction()))
+ ||(StrUtil.isNotBlank(e.getHelpInstruction())&&e.getHelpInstruction().equals(importDTO.getHelpInstruction())))
+ .count()>0){
+ hasExist.add(i+1);
+ }else if(importList.stream().filter(e->e.getCheckDuplication().equals(importDTO.getCheckDuplication())).count()>1){
+ tableDuplication.add(i+1);
+ }else {
+ unDuplicationResult.add(importDTO);
+ }
+ }
+
+ EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult<>();
+ checkResult.setUnDuplicationResult(unDuplicationResult);
+ checkResult.setTableDuplication(tableDuplication);
+ checkResult.setHasExist(hasExist);
+ return checkResult;
+
+ }
+
+ private void saveImport(List importList){
+ AuthUser user = permissionContext.getAuthService().getLoginUser();
+ List modelInfoList = new ArrayList<>();
+ List technicalTargetList = new ArrayList<>();
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ EquipmentModelInfo modelInfo = new EquipmentModelInfo();
+ BeanUtil.copyProperties(importDTO, modelInfo);
+ modelInfo.setId(IdWorker.getId());
+ modelInfo.setCheckCycle(Integer.parseInt(importDTO.getCheckCycle()));
+ modelInfo.setCreateUserId(user.getId());
+ modelInfo.setCreateDeptId(user.getDeptId());
+ modelInfo.setCreateTime(new Date());
+ modelInfo.setUpdateTime(new Date());
+
+ modelInfoList.add(modelInfo);
+
+ if (!StrUtil.isAllBlank(importDTO.getUncertainty(), importDTO.getMeasureRange())) {
+ EquipmentModelTechnicalTarget technicalTarget = new EquipmentModelTechnicalTarget();
+ technicalTarget.setModelId(modelInfo.getId());
+ technicalTarget.setUncertainty(importDTO.getUncertainty());
+ technicalTarget.setMeasureRange(importDTO.getMeasureRange());
+ technicalTarget.setCreateTime(new Date());
+ technicalTarget.setUpdateTime(new Date());
+ technicalTargetList.add(technicalTarget);
+ }
+
+ }
+ if (CollUtil.isNotEmpty(modelInfoList)) {
+ this.saveBatch(modelInfoList);
+ }
+ if(CollUtil.isNotEmpty(technicalTargetList)){
+ technicalTargetService.saveBatch(technicalTargetList);
+ }
+ }
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index 39bb0ac..947a8a6 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -17,12 +17,12 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
diff --git a/casic-metering-dao/pom.xml b/casic-metering-dao/pom.xml
index f02dc44..fadc9e4 100644
--- a/casic-metering-dao/pom.xml
+++ b/casic-metering-dao/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,7 +16,7 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
diff --git a/casic-metering-eqpt-api/pom.xml b/casic-metering-eqpt-api/pom.xml
index 9037230..3da8a13 100644
--- a/casic-metering-eqpt-api/pom.xml
+++ b/casic-metering-eqpt-api/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -18,13 +18,13 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-job
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
index 9f213eb..d35e7a7 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentInfoController.java
@@ -112,7 +112,7 @@
@PostMapping("/info/import")
@ResponseBody
public ReturnDTO infoImport(@RequestParam("file") MultipartFile file, @RequestParam("equipmentType")String equipmentType) throws IOException {
- EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
+ EquipmentImportDuplicationResult result = equipmentInfoService.infoImport(file,equipmentType);
List messages = new ArrayList<>();
if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
diff --git a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
index ccbd668..0342eb8 100644
--- a/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
+++ b/casic-metering-eqpt-api/src/main/java/com/casic/missiles/controller/equipment/EquipmentModelInfoController.java
@@ -1,5 +1,6 @@
package com.casic.missiles.controller.equipment;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,6 +9,9 @@
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.casic.missiles.model.response.ResponseData;
@@ -17,8 +21,10 @@
import lombok.RequiredArgsConstructor;
import org.docx4j.wml.R;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -119,7 +125,24 @@
return ReturnUtil.success(modelInfoService.defaultCheckDestination(modelId,companyId));
}
-
+ @ApiOperation("设备导入")
+ @PostMapping("/import")
+ @ResponseBody
+ public ReturnDTO infoImport(@RequestParam("file") MultipartFile file) throws IOException {
+ EquipmentImportDuplicationResult result = modelInfoService.batchImport(file);
+ List messages = new ArrayList<>();
+ if(CollUtil.isNotEmpty(result.getUnDuplicationResult())){
+ messages.add(String.format("成功导入%d条数据",result.getUnDuplicationResult().size()));
+ }
+ if(CollUtil.isNotEmpty(result.getHasExist())){
+ messages.add(String.format("第%s行规格型号信息已存在", StrUtil.join("、",result.getHasExist())));
+ }
+ if(CollUtil.isNotEmpty(result.getTableDuplication())){
+ messages.add(String.format("第%s行规格型号信息在导入表中重复", StrUtil.join("、",result.getTableDuplication())));
+ }
+ String message = StrUtil.join(",",messages);
+ return CollUtil.isNotEmpty(result.getUnDuplicationResult()) ? ReturnUtil.success(200,message) : ReturnUtil.failed(message);
+ }
}
diff --git a/casic-metering-job/pom.xml b/casic-metering-job/pom.xml
index 2f01d4d..d500e06 100644
--- a/casic-metering-job/pom.xml
+++ b/casic-metering-job/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -14,12 +14,12 @@
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.github.oshi
@@ -61,7 +61,7 @@
com.casic
casic-metering-service
- 1.2.0.5
+ 1.2.0.6
compile
diff --git a/casic-metering-model/pom.xml b/casic-metering-model/pom.xml
index 7f16a1c..0c81de6 100644
--- a/casic-metering-model/pom.xml
+++ b/casic-metering-model/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
index e4fa828..9682122 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentImportDuplicationResult.java
@@ -7,9 +7,9 @@
@Getter
@Setter
-public class EquipmentImportDuplicationResult {
+public class EquipmentImportDuplicationResult {
private List hasExist;
private List tableDuplication;
- private List unDuplicationResult;
+ private List unDuplicationResult;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
new file mode 100644
index 0000000..deb399c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/EquipmentModelImportDTO.java
@@ -0,0 +1,52 @@
+package com.casic.missiles.dto.equipment;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EquipmentModelImportDTO {
+
+ @DictCodeField(cacheName = MeterDictCode.EQUIPMENT_TYPE, needValid = true, message = "设备类型不合法")
+ private String equipmentType;
+ /**
+ * 设备名称
+ */
+ @ExcelProperty("设备名称")
+ private String equipmentName;
+ /**
+ * 型号规格
+ */
+ @ExcelProperty("规格型号")
+ private String model;
+
+ @ExcelProperty("辅助字段")
+ private String helpInstruction;
+
+ @ExcelProperty("设备分类")
+ private String category;
+
+ @ExcelProperty("检定周期")
+ private String checkCycle;
+
+ @ExcelProperty("计量站是否可检")
+ private String inspectable;
+
+ @ExcelProperty("备注")
+ private String remark;
+
+ @ExcelProperty("测量范围")
+ private String measureRange;
+
+ @ExcelProperty("不确定度或允许误差或准确度等级")
+ private String uncertainty;
+
+ @ExcelIgnore
+ private String checkDuplication;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
index bd6f907..c47b2fc 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/EquipmentModelTechnicalTarget.java
@@ -48,7 +48,6 @@
*/
@ApiModelProperty("不确定度或允许误差极限或准确度等级")
@TableField("uncertainty")
-
private String uncertainty;
/**
diff --git a/casic-metering-service/pom.xml b/casic-metering-service/pom.xml
index 58c4e62..da4807d 100644
--- a/casic-metering-service/pom.xml
+++ b/casic-metering-service/pom.xml
@@ -5,7 +5,7 @@
casic-metering-eqpt-xichang
com.casic
- 1.2.0.5
+ 1.2.0.6
4.0.0
@@ -16,19 +16,19 @@
com.casic
casic-metering-dao
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-model
- 1.2.0.5
+ 1.2.0.6
com.casic
casic-metering-common
- 1.2.0.5
+ 1.2.0.6
org.springframework.boot
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
index 8fe3833..d3c9f3a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentInfoService.java
@@ -43,7 +43,7 @@
ReturnDTO> equipmentLabelReadList(Set strSet);
- EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
+ EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException;
List allCertificate(Long equipmentId, String equipmentType);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
index 4e532a7..fef1e36 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentModelInfoService.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.equipment;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.model.equipment.EquipmentModelInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import liquibase.pro.packaged.S;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.List;
/**
@@ -34,4 +38,6 @@
String defaultCheckDestination(Long modelId,Long companyId);
+ EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException;
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
index 78f4360..5501550 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentInfoServiceImpl.java
@@ -309,7 +309,7 @@
}
@Override
- public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
+ public EquipmentImportDuplicationResult infoImport(MultipartFile file, String equipmentType) throws IOException {
InputStream inputStream = file.getInputStream();
List list = EasyExcel.read(inputStream) //调用read方法
//注册自定义监听器,字段校验可以在监听器内实现
@@ -319,7 +319,7 @@
.headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
.doReadSync(); //开始读Excel,返回一个List集合,继续后续入库操作
validImport(list);
- EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
+ EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
if(CollUtil.isNotEmpty(checkResult.getUnDuplicationResult())){
saveImport(checkResult.getUnDuplicationResult(), equipmentType);
}
@@ -495,7 +495,7 @@
}
}
- private EquipmentImportDuplicationResult checkImportDuplication(List importList){
+ private EquipmentImportDuplicationResult checkImportDuplication(List importList){
//根据设备名称、型号规格、辅助字段、出厂编号、生产厂家 判重;
importList.forEach(i->{
i.setCheckDuplication(String.format("%s%s%s%s%s",i.getEquipmentName(),i.getModel(),i.getHelpInstruction(),i.getManufactureNo(),i.getManufacturer()));
@@ -512,6 +512,8 @@
||(StrUtil.isNotBlank(e.getEquipmentName())&&e.getEquipmentName().equals(importDTO.getEquipmentName())))
.filter(e-> (StrUtil.isBlank(e.getModel())&&StrUtil.isBlank(importDTO.getModel()))
||(StrUtil.isNotBlank(e.getModel())&&e.getModel().equals(importDTO.getModel())))
+ .filter(e-> (StrUtil.isBlank(e.getHelpInstruction())&&StrUtil.isBlank(importDTO.getHelpInstruction()))
+ ||(StrUtil.isNotBlank(e.getHelpInstruction())&&e.getHelpInstruction().equals(importDTO.getHelpInstruction())))
.filter(e-> (StrUtil.isBlank(e.getManufactureNo())&&StrUtil.isBlank(importDTO.getManufactureNo()))
||(StrUtil.isNotBlank(e.getManufactureNo())&&e.getManufactureNo().equals(importDTO.getManufactureNo())))
.filter(e-> (StrUtil.isBlank(e.getManufacturer())&&StrUtil.isBlank(importDTO.getManufacturer()))
@@ -525,7 +527,7 @@
}
}
- EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult();
+ EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult<>();
checkResult.setUnDuplicationResult(unDuplicationResult);
checkResult.setTableDuplication(tableDuplication);
checkResult.setHasExist(hasExist);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
index 6510618..48c32b4 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/equipment/EquipmentModelInfoServiceImpl.java
@@ -1,22 +1,30 @@
package com.casic.missiles.service.impl.equipment;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.datascope.ScopeEnums;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.dto.equipment.EquipmentImportDTO;
+import com.casic.missiles.dto.equipment.EquipmentImportDuplicationResult;
+import com.casic.missiles.dto.equipment.EquipmentModelImportDTO;
import com.casic.missiles.dto.equipment.EquipmentModelQueryForm;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.equipment.EquipmentInfo;
-import com.casic.missiles.model.equipment.EquipmentInfoApproval;
-import com.casic.missiles.model.equipment.EquipmentModelInfo;
+import com.casic.missiles.listeners.CommonExcelListener;
+import com.casic.missiles.model.equipment.*;
import com.casic.missiles.mapper.equipment.EquipmentModelInfoMapper;
-import com.casic.missiles.model.equipment.EquipmentModelTechnicalTarget;
+import com.casic.missiles.modular.system.model.Dict;
import com.casic.missiles.service.equipment.IEquipmentInfoApprovalService;
import com.casic.missiles.service.equipment.IEquipmentInfoService;
import com.casic.missiles.service.equipment.IEquipmentModelInfoService;
@@ -28,10 +36,15 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.casic.missiles.enums.equipment.EquipmentTypeEnum.EQUIPMENT_TYPE_NORMAL;
@@ -52,6 +65,7 @@
private final IEquipmentInfoService equipmentInfoService;
private final IEquipmentInfoApprovalService equipmentInfoApprovalService;
private final AbstractPermissionContext permissionContext;
+ private final AbstractDictService dictService;
private final String XC_INSPECTABLE = "1"; // 西昌可检
private final String HK_INSPECTABLE = "2"; // 海口可检
@@ -189,4 +203,153 @@
}
return null;
}
+
+ @Override
+ public EquipmentImportDuplicationResult batchImport(MultipartFile file) throws IOException {
+ InputStream inputStream = file.getInputStream();
+ List list = EasyExcel.read(inputStream)
+ .registerReadListener(new CommonExcelListener<>())
+ .head(EquipmentModelImportDTO.class)
+ .sheet(0) //导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据
+ .headRowNumber(1) //列表头行数,1代表列表头有1行,第二行开始为数据行
+ .doReadSync();
+ validImport(list);
+ EquipmentImportDuplicationResult checkResult = checkImportDuplication(list);
+ if(CollUtil.isNotEmpty(checkResult.getUnDuplicationResult())){
+ saveImport(checkResult.getUnDuplicationResult());
+ }
+ return checkResult;
+ }
+
+ private void validImport(List importList){
+ List equipmentTypeDicts = dictService.findInDictByCode(MeterDictCode.EQUIPMENT_TYPE);
+ List equipmentCategoryDicts = dictService.findInDictByCode(MeterDictCode.EQUIPMENT_CATEGORY);
+ Pattern checkCycelPattern = Pattern.compile("^[1-9]\\d*$"); // 大于0的整数
+ Pattern inspectablePattern = Pattern.compile("^(1|2|1,2|2,1)$"); // 1或2或两个拼接
+ String validMsg = "第%d行数据校验失败:%s";
+
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ // 设备类型
+ if(StrUtil.isBlank(importDTO.getEquipmentType())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不能为空"));
+ }else {
+ if(equipmentTypeDicts.stream().noneMatch(d->d.getCode().equals(importDTO.getEquipmentType()))){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备类型不合法"));
+ }
+ }
+ // 设备名称
+ if (StrUtil.isBlank(importDTO.getEquipmentName())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备名称不能为空"));
+ }
+ // 规格型号
+ if (StrUtil.isBlank(importDTO.getModel())) {
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "规格型号不能为空"));
+ }
+ if (StrUtil.isBlank(importDTO.getHelpInstruction())){
+ importDTO.setHelpInstruction("/");
+ }
+
+ // 设备分类
+ if(StrUtil.isBlank(importDTO.getCategory())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备分类不能为空"));
+ }else {
+ if(equipmentCategoryDicts.stream().noneMatch(d->d.getCode().equals(importDTO.getCategory()))){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "设备分类不合法"));
+ }
+ }
+
+ // 检定周期
+ if(StrUtil.isBlank(importDTO.getCheckCycle())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "检定周期不能为空"));
+ }else {
+ if(!checkCycelPattern.matcher(importDTO.getCheckCycle()).matches()){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "检定周期不合法"));
+ }
+ }
+
+ // 计量站是否可检
+ if(StrUtil.isNotBlank(importDTO.getInspectable())){
+ importDTO.setInspectable(importDTO.getInspectable().replace(",",",").trim());
+ if(!inspectablePattern.matcher(importDTO.getInspectable()).matches()){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "计量站是否可检不合法"));
+ }
+ if(StrUtil.isBlank(importDTO.getCategory())){
+ throw new BusinessException(1500, String.format(validMsg, i + 1, "计量站可检,设备分类必填"));
+ }
+ }
+ }
+ }
+
+ private EquipmentImportDuplicationResult checkImportDuplication(List importList){
+ //根据设备名称、型号规格、辅助字段 判重;
+ importList.forEach(i->{
+ i.setCheckDuplication(String.format("%s%s%s",i.getEquipmentName(),i.getModel(),i.getHelpInstruction()));
+ });
+ List modelInfoList = this.list();
+
+ List unDuplicationResult = new ArrayList<>();
+ List hasExist = new ArrayList<>();
+ List tableDuplication = new ArrayList<>();
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ if(modelInfoList.stream()
+ .filter(e-> (StrUtil.isBlank(e.getEquipmentName())&&StrUtil.isBlank(importDTO.getEquipmentName()))
+ ||(StrUtil.isNotBlank(e.getEquipmentName())&&e.getEquipmentName().equals(importDTO.getEquipmentName())))
+ .filter(e-> (StrUtil.isBlank(e.getModel())&&StrUtil.isBlank(importDTO.getModel()))
+ ||(StrUtil.isNotBlank(e.getModel())&&e.getModel().equals(importDTO.getModel())))
+ .filter(e-> (StrUtil.isBlank(e.getHelpInstruction())&&StrUtil.isBlank(importDTO.getHelpInstruction()))
+ ||(StrUtil.isNotBlank(e.getHelpInstruction())&&e.getHelpInstruction().equals(importDTO.getHelpInstruction())))
+ .count()>0){
+ hasExist.add(i+1);
+ }else if(importList.stream().filter(e->e.getCheckDuplication().equals(importDTO.getCheckDuplication())).count()>1){
+ tableDuplication.add(i+1);
+ }else {
+ unDuplicationResult.add(importDTO);
+ }
+ }
+
+ EquipmentImportDuplicationResult checkResult = new EquipmentImportDuplicationResult<>();
+ checkResult.setUnDuplicationResult(unDuplicationResult);
+ checkResult.setTableDuplication(tableDuplication);
+ checkResult.setHasExist(hasExist);
+ return checkResult;
+
+ }
+
+ private void saveImport(List importList){
+ AuthUser user = permissionContext.getAuthService().getLoginUser();
+ List modelInfoList = new ArrayList<>();
+ List technicalTargetList = new ArrayList<>();
+ for (int i = 0; i < importList.size(); i++) {
+ EquipmentModelImportDTO importDTO = importList.get(i);
+ EquipmentModelInfo modelInfo = new EquipmentModelInfo();
+ BeanUtil.copyProperties(importDTO, modelInfo);
+ modelInfo.setId(IdWorker.getId());
+ modelInfo.setCheckCycle(Integer.parseInt(importDTO.getCheckCycle()));
+ modelInfo.setCreateUserId(user.getId());
+ modelInfo.setCreateDeptId(user.getDeptId());
+ modelInfo.setCreateTime(new Date());
+ modelInfo.setUpdateTime(new Date());
+
+ modelInfoList.add(modelInfo);
+
+ if (!StrUtil.isAllBlank(importDTO.getUncertainty(), importDTO.getMeasureRange())) {
+ EquipmentModelTechnicalTarget technicalTarget = new EquipmentModelTechnicalTarget();
+ technicalTarget.setModelId(modelInfo.getId());
+ technicalTarget.setUncertainty(importDTO.getUncertainty());
+ technicalTarget.setMeasureRange(importDTO.getMeasureRange());
+ technicalTarget.setCreateTime(new Date());
+ technicalTarget.setUpdateTime(new Date());
+ technicalTargetList.add(technicalTarget);
+ }
+
+ }
+ if (CollUtil.isNotEmpty(modelInfoList)) {
+ this.saveBatch(modelInfoList);
+ }
+ if(CollUtil.isNotEmpty(technicalTargetList)){
+ technicalTargetService.saveBatch(technicalTargetList);
+ }
+ }
}
diff --git a/pom.xml b/pom.xml
index d746842..862573c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.casic
casic-metering-eqpt-xichang
- 1.2.0.5
+ 1.2.0.6
casic-metering-eqpt-xichang
pom