From 1d6d68d6643f845f8894294d7ee2269670222e6e Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期三, 23 八月 2023 18:03:42 +0800
Subject: [PATCH] lnl,设备台账导入+页面调整

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java |  161 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 144 insertions(+), 17 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
index 93ed2a8..deb81e9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -7,12 +7,16 @@
 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.dto.message.MessageDTO;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.entity.SysUpload;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.model.DepartVo;
 import org.jeecg.modules.eam.service.*;
@@ -24,10 +28,14 @@
 
 import org.jeecg.common.system.base.controller.JeecgController;
 
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 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;
@@ -88,6 +96,9 @@
 
 	 @Autowired
 	 private ICalibrationOrderReportService calibrationOrderReportService;
+
+	 @Autowired
+	 private IEquipmentCategoryService equipmentCategoryService;
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
@@ -179,7 +190,7 @@
 		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
 		 return Result.OK(pageList);
 	 }
-	
+
 	/**
 	 *   娣诲姞
 	 *
@@ -222,7 +233,7 @@
 		}
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
-	
+
 	/**
 	 *  缂栬緫
 	 *
@@ -281,7 +292,7 @@
 		}
 		return Result.OK("缂栬緫鎴愬姛!");
 	}
-	
+
 	/**
 	 *   閫氳繃id鍒犻櫎
 	 *
@@ -298,7 +309,7 @@
 		equipmentService.updateById(equipment);
 		return Result.OK("鍒犻櫎鎴愬姛!");
 	}
-	
+
 	/**
 	 *  鎵归噺鍒犻櫎
 	 *
@@ -319,7 +330,7 @@
 //		this.equipmentService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
 	}
-	
+
 	/**
 	 * 閫氳繃id鏌ヨ
 	 *
@@ -349,18 +360,18 @@
         return super.exportXls(request, equipment, Equipment.class, "mom_eam_equipment");
     }
 
-    /**
-      * 閫氳繃excel瀵煎叆鏁版嵁
-    *
-    * @param request
-    * @param response
-    * @return
-    */
-    //@RequiresPermissions("mom_eam_equipment:importExcel")
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, Equipment.class);
-    }
+//    /**
+//      * 閫氳繃excel瀵煎叆鏁版嵁
+//    *
+//    * @param request
+//    * @param response
+//    * @return
+//    */
+//    //@RequiresPermissions("mom_eam_equipment:importExcel")
+//    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+//    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+//        return super.importExcel(request, response, Equipment.class);
+//    }
 
 
 	 /**
@@ -391,6 +402,7 @@
 	 @GetMapping(value = "/getResumeInspectionRecordList")
 	 public Result<?> getResumeInspectionRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
 		 IPage<Map<String, Object>> resumeInspectionRecordList = equipmentService.getResumeInspectionRecordList(pageNo, pageSize, params);
+		 LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		 for (Map<String, Object> record : resumeInspectionRecordList.getRecords()) {
 			 String id = (String)record.get("id");
 			 String inspectionType = (String)record.get("inspectionType");
@@ -503,6 +515,121 @@
 		 queryWrapper.in("equipment_status",statusList);
 		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
 		 return Result.OK(pageList);
+	 }/**
+	  * 瀵煎叆
+	  * @return
+	  */
+	 @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+	 @Transactional(rollbackFor = Exception.class)
+	 public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+		 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+		 LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+		 String exceptionInfo = "";
+		 int exceptionNum = 0;
+		 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+			 MultipartFile file = entity.getValue();
+			 ImportParams params = new ImportParams();
+			 params.setNeedSave(true);
+			 try {
+				 List<EquipmentImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), EquipmentImportVo.class, params);
+				 for(int i = 0;i<list.size();i++){
+                     EquipmentImportVo equipmentImportVo = list.get(i);
+					 EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentImportVo.getEquipmentCategoryName()),false);
+                     if(
+                     		StringUtils.isBlank(equipmentImportVo.getNum())
+									|| StringUtils.isBlank(equipmentImportVo.getName())
+									|| StringUtils.isBlank(equipmentImportVo.getUseId())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentUda1())
+									|| StringUtils.isBlank(equipmentImportVo.getManageId())
+									|| StringUtils.isBlank(equipmentImportVo.getTeamId())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentStatus())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentUda3())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())
+									|| StringUtils.isBlank(equipmentImportVo.getEquipmentUda2())
+									|| StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())
+									|| StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo())
+									|| StringUtils.isBlank(equipmentImportVo.getFundSource())
+									|| StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate())
+									|| StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())
+									|| StringUtils.isBlank(equipmentImportVo.getFactoryNo())
+									|| StringUtils.isBlank(equipmentImportVo.getConstructorId())
+									|| StringUtils.isBlank(equipmentImportVo.getSourceCountry())
+									|| StringUtils.isBlank(equipmentImportVo.getModel())
+									|| StringUtils.isBlank(equipmentImportVo.getSpecification())
+									|| StringUtils.isBlank(equipmentImportVo.getGpo())
+					 ){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鏁版嵁鏈夋湭濉」,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+					 }else if(ObjectUtils.isNull(equipmentCategory))
+					       {
+							  exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璇ヨ澶囨墍灞炵被鍒笉瀛樺湪锛岃鍏堢淮鎶よ澶囩被鍒�;";
+							  exceptionNum++;
+						   }
+                      else{
+						 Equipment oriEquipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentImportVo.getNum()),false);
+						 if(ObjectUtils.isNull(oriEquipment)){
+							 Equipment equipment = new Equipment();
+							 equipment.setNum(equipmentImportVo.getNum())
+									 .setName(equipmentImportVo.getName())
+									 .setUseId(equipmentImportVo.getUseId())
+									 .setEquipmentUda1(equipmentImportVo.getEquipmentUda1())
+									 .setManageId(equipmentImportVo.getManageId())
+									 .setTeamId(equipmentImportVo.getTeamId())
+									 .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId())
+									 .setEquipmentCategoryId(equipmentCategory.getId())
+									 .setKeyEquipmentIdentification(equipmentImportVo.getKeyEquipmentIdentification())
+									 .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration())
+									 .setCoolingSystem(equipmentImportVo.getCoolingSystem())
+									 .setFireExtinguisher(equipmentImportVo.getFireExtinguisher())
+									 .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod())
+									 .setOperatingSystem(equipmentImportVo.getOperatingSystem())
+									 .setSystem(equipmentImportVo.getSystem())
+									 .setPort(equipmentImportVo.getPort())
+									 .setCoordinateNum(equipmentImportVo.getCoordinateNum())
+									 .setEquipmentStatus(equipmentImportVo.getEquipmentStatus())
+									 .setEquipmentUda3(equipmentImportVo.getEquipmentUda3())
+									 .setEquipmentUda4(equipmentImportVo.getEquipmentUda4())
+									 .setEquipmentUda5(equipmentImportVo.getEquipmentUda5())
+									 .setEquipmentUda2(equipmentImportVo.getEquipmentUda2())
+									 .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate())
+									 .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
+									 .setFundSource(equipmentImportVo.getFundSource())
+									 .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
+									 .setFactoryNo(equipmentImportVo.getFactoryNo())
+									 .setConstructorId(equipmentImportVo.getConstructorId())
+									 .setSourceCountry(equipmentImportVo.getSourceCountry())
+									 .setModel(equipmentImportVo.getModel())
+									 .setSpecification(equipmentImportVo.getSpecification())
+									 .setGpo(equipmentImportVo.getGpo());
+							 equipmentService.save(equipment);
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;";
+							 exceptionNum++;
+						 }
+					 }
+				 }
+				 if(exceptionNum!=0){
+					 String headInfo = "灏忓鎻愰啋鎮�!璁惧鍙拌处锛氬鍏ユ垚鍔�"+(list.size()-exceptionNum)+"鏉�,澶辫触"+exceptionNum+"鏉�";
+					 MessageDTO messageDTO = new MessageDTO();
+					 messageDTO.setTitle(headInfo);
+					 messageDTO.setFromUser("鏁版嵁瀵煎叆灏忓姪鎵�-灏忓");
+					 messageDTO.setCategory("瀵煎叆鎿嶄綔闄勫姞淇℃伅");
+					 messageDTO.setContent(exceptionInfo);
+					 messageDTO.setToUser(user.getUsername());
+					 sysBaseApi.sendSysAnnouncement(messageDTO);
+					 return Result.OK(headInfo+",鍙湪-绯荤粺娑堟伅-鏌ョ湅瀵煎叆璇︽儏");
+				 }
+				 return Result.OK("瀵煎叆鎴愬姛锛屽凡瀵煎叆鍏ㄩ儴鏁版嵁銆�");
+			 } catch (Exception e) {
+				 log.error(e.getMessage(), e);
+				 return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage());
+			 }
+		 }
+		 return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
 	 }
 
+
 }

--
Gitblit v1.9.3