From a8ddac646d5129e9818ea82f404d0c0a8d2bc239 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 09 十一月 2023 10:39:25 +0800
Subject: [PATCH] 设备参数阈值管理接口
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 151 insertions(+), 8 deletions(-)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java
index 3820300..0639339 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java
@@ -1,14 +1,26 @@
package org.jeecg.modules.eam.controller;
+import java.io.IOException;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.eam.entity.InspectionProject;
-import org.jeecg.modules.eam.entity.InspectionProjectCategory;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.ImportExcelUtil;
+import org.jeecg.modules.base.entity.Unit;
+import org.jeecg.modules.base.service.IUnitService;
+import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.IInspectionProjectService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,8 +30,18 @@
import org.jeecg.modules.eam.service.IInspectionProjectCategoryService;
import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.eam.vo.InspectionProjectImportVo;
+import org.jeecg.modules.system.entity.SysDict;
+import org.jeecg.modules.system.entity.SysDictItem;
+import org.jeecg.modules.system.service.ISysDictItemService;
+import org.jeecg.modules.system.service.ISysDictService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -40,6 +62,12 @@
private IInspectionProjectService inspectionProjectService;
@Autowired
private IInspectionProjectCategoryService inspectionProjectCategoryService;
+ @Autowired
+ private ISysDictService sysDictService;
+ @Autowired
+ private ISysDictItemService sysDictItemService;
+ @Autowired
+ private IUnitService unitService;
/**
* 鍒嗛〉鍒楄〃鏌ヨ
@@ -98,8 +126,8 @@
inspectionProject.setSurfaceValue(null);
inspectionProject.setUpValue(null);
inspectionProject.setDownValue(null);
- inspectionProject.setDetectionStandard("");
- inspectionProject.setAcceptabilityLimit("");
+// inspectionProject.setDetectionStandard("");
+ inspectionProject.setAcceptabilityLimit("/");
}
inspectionProjectService.save(inspectionProject);
return Result.OK("娣诲姞鎴愬姛锛�");
@@ -129,8 +157,8 @@
inspectionProject.setSurfaceValue(null);
inspectionProject.setUpValue(null);
inspectionProject.setDownValue(null);
- inspectionProject.setDetectionStandard("");
- inspectionProject.setAcceptabilityLimit("");
+// inspectionProject.setDetectionStandard("");
+ inspectionProject.setAcceptabilityLimit("/");
}
inspectionProjectService.updateById(inspectionProject);
return Result.OK("缂栬緫鎴愬姛!");
@@ -212,8 +240,123 @@
*/
//@RequiresPermissions("mom_eam_inspection_project:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
- public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
- return super.importExcel(request, response, InspectionProject.class);
+ @Transactional(rollbackFor = Exception.class)
+ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+ // 閿欒淇℃伅
+ List<String> errorMessage = new ArrayList<>();
+ int successLines = 0, errorLines = 0;
+ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+ MultipartFile file = entity.getValue();
+ ImportParams params = new ImportParams();
+ params.setNeedSave(true);
+ try {
+ List<InspectionProjectImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), InspectionProjectImportVo.class, params);
+ for (int i = 0; i < list.size(); i++) {
+ InspectionProjectImportVo inspectionProjectImportVo = list.get(i);
+ InspectionProject inspectionProject = new InspectionProject();
+ InspectionProjectCategory inspectionProjectCategory = inspectionProjectCategoryService.getOne(new QueryWrapper<InspectionProjectCategory>().eq("name", inspectionProjectImportVo.getInspectionProjectCategoryId()), false);
+ Unit unit = unitService.getOne(new QueryWrapper<Unit>().eq("name",inspectionProjectImportVo.getUnitId()),false);
+ inspectionProject.setInspectionTool(inspectionProjectImportVo.getInspectionTool());
+ if (StringUtils.isBlank(inspectionProjectImportVo.getNum())) {
+ errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:鐐规椤圭洰缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setNum(inspectionProjectImportVo.getNum());
+ }
+ if(StringUtils.isBlank(inspectionProjectImportVo.getName())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:鐐规椤圭洰鍚嶇О缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setNum(inspectionProjectImportVo.getName());
+ }
+ if(StringUtils.isBlank(inspectionProjectImportVo.getTestValueType())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:妫�楠屽�肩被鍨嬬己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else if(CollectionUtils.isEmpty(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"test_value_type").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getTestValueType()).list())){
+ errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:妫�楠屽�肩被鍨嬩笉瀛樺湪,璇峰厛缁存姢妫�楠屽�肩被鍨�;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setTestValueType(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"test_value_type").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).one().getItemValue());
+ }
+ if(ObjectUtils.isNull(inspectionProjectCategory)) {
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:璇ョ偣妫�椤圭洰鍒嗙被涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰鍒嗙被;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setInspectionProjectCategoryId(inspectionProjectCategory.getId());
+ }
+ if("鏋氫妇鍨�".equals(inspectionProjectImportVo.getTestValueType())){
+ if(ObjectUtils.isNull(inspectionProjectImportVo.getDetectionStandard())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:妫�娴嬫爣鍑嗙己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setDetectionStandard(inspectionProjectImportVo.getDetectionStandard());
+ }
+ }
+ if("鏁板�煎瀷".equals(inspectionProjectImportVo.getTestValueType())){
+ if(ObjectUtils.isNull(inspectionProjectImportVo.getSurfaceValue())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:鍚嶄箟鍊肩己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else{
+ inspectionProject.setSurfaceValue(inspectionProjectImportVo.getSurfaceValue());
+ }
+ if(ObjectUtils.isNull(inspectionProjectImportVo.getUpValue())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:涓婂亸宸己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else{
+ inspectionProject.setUpValue(inspectionProjectImportVo.getUpValue());
+ }
+ if(ObjectUtils.isNull(inspectionProjectImportVo.getDownValue())){
+ errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:涓嬪亸宸己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setDownValue(inspectionProjectImportVo.getDownValue());
+ }
+ }
+ if(CollectionUtils.isEmpty(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"inspection_method").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).list())){
+ errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:鐐规鏂规硶涓嶅瓨鍦�,璇峰厛缁存姢鐐规鏂规硶;");
+ errorLines++;
+ continue;
+ }else{
+ inspectionProject.setInspectionMethod(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"inspection_method").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).one().getItemValue());
+ }
+ if(ObjectUtils.isNull(unit)){
+ errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:璁¢噺鍗曚綅涓嶅瓨鍦�,璇峰厛缁存姢璁¢噺鍗曚綅;");
+ errorLines++;
+ continue;
+ }else {
+ inspectionProject.setUnitId(unit.getId());
+ }
+ List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getNum,inspectionProjectImportVo.getNum()).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+ if(CollectionUtils.isEmpty(inspectionProjectList)){
+ inspectionProjectService.save(inspectionProject);
+ successLines++;
+ }
+ }
+ } catch (Exception e) {
+ errorMessage.add("鍙戠敓寮傚父锛�" + e.getMessage());
+ log.error(e.getMessage(), e);
+ return (Result<?>) errorMessage;
+ } finally {
+ try {
+ file.getInputStream().close();
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+ return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage);
}
}
--
Gitblit v1.9.3