From 7a90b194a7d1a213d01c323fd90ef5afbdeb4ea7 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 10 六月 2025 16:21:02 +0800
Subject: [PATCH] 保养修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java |  909 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 786 insertions(+), 123 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 4e74994..dcdbd49 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
@@ -1,24 +1,34 @@
 package org.jeecg.modules.eam.controller;
 
+import java.time.LocalDate;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 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.aspect.annotation.PermissionData;
 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.common.util.DateUtils;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.base.entity.Constructor;
+import org.jeecg.modules.base.service.IConstructorService;
+import org.jeecg.modules.base.service.IFactoryModelService;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.model.DepartVo;
+import org.jeecg.modules.eam.model.MaintenanceCycleVo;
 import org.jeecg.modules.eam.service.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -28,9 +38,18 @@
 
 import org.jeecg.common.system.base.controller.JeecgController;
 
+import org.jeecg.modules.eam.vo.EquipmentExportVo;
+import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysDepartService;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -61,10 +80,10 @@
 	@Autowired
 	private IProcessParametersTemplateDetailService processParametersTemplateDetailService;
 
-	 @Autowired
+	@Autowired
 	private IEquipmentProcessParametersService equipmentProcessParametersService;
 
-	 @Autowired
+	@Autowired
 	private IEquipmentPrecisionParametersService equipmentPrecisionParametersService;
 
 	 @Autowired
@@ -72,8 +91,6 @@
 
 	 @Autowired
 	 private IProcessParametersTemplateService processParametersTemplateService;
-
-
 
 	 @Autowired
 	 private ISysBaseAPI sysBaseApi;
@@ -98,6 +115,32 @@
 
 	 @Autowired
 	 private IEquipmentCategoryService equipmentCategoryService;
+
+	 @Autowired
+	 private ISysDepartService departService;
+
+	 @Autowired
+	 private ITeamService teamService;
+
+	 @Autowired
+	 private IConstructorService constructorService;
+
+	 @Autowired
+	 private IAreaService areaService;
+
+	 @Autowired
+	 private IDailyInspectionStandardService dailyInspectionStandardService;
+
+	 @Autowired
+	 private IMaintenanceStandardService maintenanceStandardService;
+
+	 @Autowired
+	 private ISysUserService sysUserService;
+
+	 @Value("${jeecg.path.upload}")
+	 private String upLoadPath;
+
+
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
@@ -131,7 +174,14 @@
 		if(StringUtils.isNotBlank(equipment.getEquipmentCategoryId())){
 			queryWrapper.eq("equipment_category_id",equipment.getEquipmentCategoryId());
 		}
-
+		List<String> userWorkCenterIds = getUserWorkCenterIds();
+		if(CollectionUtils.isNotEmpty(userWorkCenterIds)) {
+			queryWrapper.in("work_center_id",userWorkCenterIds);
+		}
+		if(StringUtils.isNotBlank(equipment.getWorkCenterId())){
+			queryWrapper.eq("work_center_id",equipment.getWorkCenterId());
+		}
+		queryWrapper.isNull("line_id");
 		queryWrapper.eq("status","1");
 		queryWrapper.eq("del_flag",0);
 		queryWrapper.orderByDesc("create_time");
@@ -174,21 +224,151 @@
 		return Result.OK(pageList);
 	}
 
+	 @ApiOperation(value="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ")
+	 @GetMapping(value = "/showEquipmentList")
+	 public Result<IPage<Equipment>> showEquipmentList(Equipment equipment,
+												   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+												   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+												   HttpServletRequest req) {
+		 QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+		 if(StringUtils.isNotBlank(equipment.getNum())){
+			 queryWrapper.like("num",equipment.getNum());
+		 }
+		 if(StringUtils.isNotBlank(equipment.getName())){
+			 queryWrapper.like("name",equipment.getName());
+		 }
+//		 queryWrapper.eq("equipment_status","1");
+		 queryWrapper.in("technology_status","qualified","limitedUse");
+		 queryWrapper.eq("status","1");
+		 queryWrapper.eq("del_flag",0);
+		 queryWrapper.orderByDesc("create_time");
+
+		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
+		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
+		 return Result.OK(pageList);
+	 }
+
+	 @ApiOperation(value="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ")
+	 @GetMapping(value = "/findEquipmentList")
+	 public Result<IPage<Equipment>> findEquipmentList(Equipment equipment,
+													   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													   HttpServletRequest req) {
+		 QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+		 if(StringUtils.isNotBlank(equipment.getNum())){
+			 queryWrapper.like("num",equipment.getNum());
+		 }
+		 if(StringUtils.isNotBlank(equipment.getName())){
+			 queryWrapper.like("name",equipment.getName());
+		 }
+//		 queryWrapper.eq("equipment_status","1");
+		 queryWrapper.in("technology_status","qualified","limitedUse");
+		 queryWrapper.in("equipment_importance_id","A","B","C");
+		 queryWrapper.eq("status","1");
+		 queryWrapper.eq("del_flag",0);
+		 queryWrapper.orderByDesc("create_time");
+
+		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
+		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
+		 return Result.OK(pageList);
+	 }
+
+
+	 @ApiOperation(value="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_equipment-鍒嗛〉鍒楄〃鏌ヨ")
+	 @GetMapping(value = "/queryEquipmentList")
+	 public Result<IPage<Equipment>> queryEquipmentList(Equipment equipment,
+													   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													   HttpServletRequest req) {
+		 QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+		 if(StringUtils.isNotBlank(equipment.getNum())){
+			 queryWrapper.like("num",equipment.getNum());
+		 }
+		 if(StringUtils.isNotBlank(equipment.getName())){
+			 queryWrapper.like("name",equipment.getName());
+		 }
+		 queryWrapper.eq("use_id",equipment.getUseId());
+		 queryWrapper.eq("del_flag",0);
+		 queryWrapper.orderByDesc("create_time");
+
+		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
+		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
+		 return Result.OK(pageList);
+	 }
+
 
 	 /**
 	  * 璁惧淇濅慨  鑾峰彇璁惧鍒楄〃缁勪欢
 	  * qsw 2023-7-14
 	  */
+
 	 @GetMapping(value = "/getEquipmentList")
+	 @PermissionData
 	 public Result<IPage<Equipment>> getEquipmentList(Equipment equipment,
 												   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 												   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 												   HttpServletRequest req) {
 		 QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
-		 queryWrapper.eq("status","1");
-		 queryWrapper.eq("del_flag",0);
 		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
-		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
+		 List<String> userWorkCenterIds = getUserWorkCenterIds();
+		 if(userWorkCenterIds != null && userWorkCenterIds.size() > 0){
+			 equipment.setUserWorkCenterIds(userWorkCenterIds);
+		 }
+		 IPage<Equipment> pageList = equipmentService.getEquipmentList(page, equipment);
+		 return Result.OK(pageList);
+	 }
+
+	 /**
+	  * 璁惧淇濅慨  鑾峰彇璁惧鍒楄〃缁勪欢
+	  * qsw 2023-7-14
+	  */
+	 @GetMapping(value = "/getEquipmentTZList")
+	 @PermissionData
+	 public Result<IPage<Equipment>> getEquipmentTZList(Equipment equipment,
+													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  HttpServletRequest req) {
+		 //QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
+		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
+		 IPage<Equipment> pageList = equipmentService.getEquipmentTZList(page, equipment);
+		 List<Equipment> list = pageList.getRecords();
+		 list.forEach(equip -> {
+			 String id = equip.getId();
+			 List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+					 .eq(DailyInspectionStandard::getEquipmentId, id)
+					 .eq(DailyInspectionStandard::getVersionStatus, "2")
+					 .list();
+			 if (dailyInspectionStandards.size() > 0) {
+				 equip.setYseNoInspectionStandard("0");
+			 } else {
+				 equip.setYseNoInspectionStandard("1");
+			 }
+			 List<MaintenanceStandard> maintenance2Standards = maintenanceStandardService.lambdaQuery()
+					 .eq(MaintenanceStandard::getEquipmentId, id)
+					 .eq(MaintenanceStandard::getMaintenanceType, "2")
+					 .eq(MaintenanceStandard::getVersionStatus, "2").list();
+			 if (maintenance2Standards.size() > 0) {
+				 equip.setYseNoMaintenance2Standard("0");
+			 } else {
+				 equip.setYseNoMaintenance2Standard("1");
+			 }
+
+			 List<MaintenanceStandard> maintenance3Standards = maintenanceStandardService.lambdaQuery()
+					 .eq(MaintenanceStandard::getEquipmentId, id)
+					 .eq(MaintenanceStandard::getMaintenanceType, "3")
+					 .eq(MaintenanceStandard::getVersionStatus, "2").list();
+			 if (maintenance3Standards.size() > 0) {
+				 equip.setYseNoMaintenance3Standard("0");
+			 } else {
+				 equip.setYseNoMaintenance3Standard("1");
+			 }
+		 });
+		 return Result.OK(pageList);
+	 }
+
+	 @GetMapping(value = "/pageEquipment")
+	 public Result<IPage<Equipment>> pageEquipment(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+		 IPage<Equipment> pageList = equipmentService.pageEquipment(pageNo, pageSize, params);
 		 return Result.OK(pageList);
 	 }
 
@@ -203,6 +383,20 @@
 	@PostMapping(value = "/add")
 	@Transactional(rollbackFor = { Exception.class })
 	public Result<String> add(@RequestBody Equipment equipment) {
+		//涓嬫涓変繚鏃ユ湡澶勭悊
+		if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+			LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+			Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+			equipment.setNextThirdMaintenanceTime(date);
+		}else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+			equipment.setNextThirdMaintenanceTime(date);
+		}
 		equipmentService.save(equipment);
 		//鑾峰彇宸ヨ壓鍙傛暟妯℃澘鏄庣粏
 		String processParametersTemplateId = equipment.getProcessParametersTemplateId();
@@ -284,6 +478,21 @@
 			equipmentPrecisionParametersService.save(equipmentPrecisionParameters);
 		}
 
+		//涓嬫涓変繚鏃ユ湡澶勭悊
+		if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+			LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+			Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+			equipment.setNextThirdMaintenanceTime(date);
+		}else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+			equipment.setNextThirdMaintenanceTime(date);
+		}
+
 		equipmentService.updateById(equipment);
 
 		List<SysUpload> sysUploads = equipment.getSysUploadList();
@@ -306,6 +515,7 @@
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 		Equipment equipment = equipmentService.getById(id);
+		equipmentService.update(new UpdateWrapper<Equipment>().eq("line_id",id).set("line_id",null).set("is_meta",null));
 		equipment.setDelFlag(1);
 		equipmentService.updateById(equipment);
 		return Result.OK("鍒犻櫎鎴愬姛!");
@@ -360,6 +570,43 @@
     public ModelAndView exportXls(HttpServletRequest request, Equipment equipment) {
         return super.exportXls(request, equipment, Equipment.class, "璁惧鍙拌处瀵煎嚭");
     }
+	 /**
+	  * 瀵煎嚭excel
+	  *
+	  * @param request
+	  * @param equipment
+	  */
+	 //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment:exportXls")
+	 @RequestMapping(value = "/exportXlsNew")
+	 public ModelAndView exportXlsNew(HttpServletRequest request, Equipment equipment) {
+		 // Step.1 缁勮鏌ヨ鏉′欢
+//		 QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
+		 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+		 // 杩囨护閫変腑鏁版嵁
+//		 String selections = request.getParameter("selections");
+//		 if (oConvertUtils.isNotEmpty(selections)) {
+//			 List<String> selectionList = Arrays.asList(selections.split(","));
+//			 queryWrapper.in("id",selectionList);
+//		 }
+//		 // Step.2 鑾峰彇瀵煎嚭鏁版嵁
+//		 List<T> exportList = service.list(queryWrapper);
+
+		 List<Map<String, Object>> mapList = equipmentService.exportXlsNew();
+
+		 // Step.3 AutoPoi 瀵煎嚭Excel
+		 ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+		 //姝ゅ璁剧疆鐨刦ilename鏃犳晥 ,鍓嶇浼氶噸鏇存柊璁剧疆涓�涓�
+		 mv.addObject(NormalExcelConstants.FILE_NAME, "璁惧鍙拌处瀵煎嚭");
+		 mv.addObject(NormalExcelConstants.CLASS, EquipmentExportVo.class);
+		 //update-begin--Author:liusq  Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�--------------------
+		 ExportParams exportParams=new ExportParams("璁惧鍙拌处瀵煎嚭" + "鎶ヨ〃", "瀵煎嚭浜�:" + sysUser.getRealname(), "璁惧鍙拌处瀵煎嚭");
+		 exportParams.setImageBasePath(upLoadPath);
+		 //update-end--Author:liusq  Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�----------------------
+		 mv.addObject(NormalExcelConstants.PARAMS,exportParams);
+		 mv.addObject(NormalExcelConstants.DATA_LIST, mapList);
+		 return mv;
+	 }
 
 //    /**
 //      * 閫氳繃excel瀵煎叆鏁版嵁
@@ -461,34 +708,34 @@
 	 @GetMapping(value = "/getResumeCalibrationRecordList")
 	 public Result<?> getResumeCalibrationRecordList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
 		 IPage<Map<String, Object>> resumeCalibrationRecordList = equipmentService.getResumeCalibrationRecordList(pageNo, pageSize, params);
-		 for (Map<String, Object> record : resumeCalibrationRecordList.getRecords()) {
-			 String id = (String)record.get("id");
-			 String status = (String)record.get("status");
-			 String managementMode = (String)record.get("managementMode");
-			 if("4".equals(status)){
-				 if("data".equals(managementMode)){
-					 List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
-							 .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
-							 .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
-							 .eq(CalibrationOrderDetail::getDelFlag,"0").list();
-					 if(calibrationOrderDetails.size()>0){
-						 record.put("calibrationResult","寮傚父");
-					 }else{
-						 record.put("calibrationResult","姝e父甯�");
-					 }
-				 }else{
-					 List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
-							 .eq(CalibrationOrderReport::getCalibrationOrderId, id)
-							 .eq(CalibrationOrderReport::getJudgmentResult, "fail")
-							 .eq(CalibrationOrderReport::getDelFlag, "0").list();
-					 if(calibrationOrderReports.size()>0){
-						 record.put("calibrationResult","寮傚父");
-					 }else{
-						 record.put("calibrationResult","姝e父甯�");
-					 }
-				 }
-			 }
-		 }
+//		 for (Map<String, Object> record : resumeCalibrationRecordList.getRecords()) {
+//			 String id = (String)record.get("id");
+//			 String status = (String)record.get("status");
+//			 String managementMode = (String)record.get("managementMode");
+//			 if("4".equals(status)){
+//				 if("data".equals(managementMode)){
+//					 List<CalibrationOrderDetail> calibrationOrderDetails = calibrationOrderDetailService.lambdaQuery()
+//							 .eq(CalibrationOrderDetail::getCalibrationOrderId, id)
+//							 .eq(CalibrationOrderDetail::getJudgmentResult, "fail")
+//							 .eq(CalibrationOrderDetail::getDelFlag,"0").list();
+//					 if(calibrationOrderDetails.size()>0){
+//						 record.put("calibrationResult","寮傚父");
+//					 }else{
+//						 record.put("calibrationResult","姝e父甯�");
+//					 }
+//				 }else{
+//					 List<CalibrationOrderReport> calibrationOrderReports = calibrationOrderReportService.lambdaQuery()
+//							 .eq(CalibrationOrderReport::getCalibrationOrderId, id)
+//							 .eq(CalibrationOrderReport::getJudgmentResult, "fail")
+//							 .eq(CalibrationOrderReport::getDelFlag, "0").list();
+//					 if(calibrationOrderReports.size()>0){
+//						 record.put("calibrationResult","寮傚父");
+//					 }else{
+//						 record.put("calibrationResult","姝e父甯�");
+//					 }
+//				 }
+//			 }
+//		 }
 		 return Result.ok(resumeCalibrationRecordList);
 	 }
 
@@ -516,12 +763,14 @@
 		 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)
+	 //宸ュ尯銆佸瀷鍙枫�佽澶囩姸鎬併�佹妧鏈姸鎬併�丄BC鏍囪瘑鏈夌┖鍊硷紱缁存姢閮ㄩ棬銆佺淮淇彮缁勪负缂栫爜闇�瑕佹湁瀵圭収鍊笺��
 	 public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
 		 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		 LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -535,138 +784,404 @@
 			 try {
 				 List<EquipmentImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), EquipmentImportVo.class, params);
 				 for(int i = 0;i<list.size();i++){
+					 Equipment equipment = new Equipment();
                      EquipmentImportVo equipmentImportVo = list.get(i);
-					 EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentImportVo.getEquipmentCategoryName()),false);
-                     if(StringUtils.isBlank(equipmentImportVo.getNum())){
+					 String equipmentCategoryName = equipmentImportVo.getEquipmentCategoryName();
+					 String useId = equipmentImportVo.getUseId();
+					 String workCenterId = equipmentImportVo.getWorkCenterId();//涓績
+					 String areaId = equipmentImportVo.getFactoryModelId();//宸ュ尯
+					 String productionId = equipmentImportVo.getAreaId();//宸ユ
+					 String manageId = equipmentImportVo.getManageId();
+					 String constructorId = equipmentImportVo.getConstructorId();
+					 String teamId = equipmentImportVo.getTeamId();
+					 String propertyStatus = equipmentImportVo.getPropertyStatus();
+					 String abc = equipmentImportVo.getEquipmentImportanceId();
+					 Date thirdMaintenanceTime = equipmentImportVo.getThirdMaintenanceTime();
+					 Date technologyStatusQualificationTime = equipmentImportVo.getTechnologyStatusQualificationTime();
+					 if(StringUtils.isBlank(equipmentImportVo.getNum())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁熶竴缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getName())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍚嶇О缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getUseId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda1())){
-//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+//                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId())){
+//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:ABC鏍囪瘑缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
+//						 continue;
 //					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getManageId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getTeamId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁翠慨鐝粍缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:ABC鏍囪瘑缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍒嗙被缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getEquipmentStatus())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-                     //闈炲繀濉」
-//                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())){
+					 else if(StringUtils.isBlank(equipmentImportVo.getTechnologyStatus())){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鎶�鏈姸鎬佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+//					 else if(StringUtils.isBlank(equipmentImportVo.getModel())){
+//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍨嬪彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+//						 exceptionNum++;
+//						 continue;
+//					 }
+					 else if(StringUtils.isBlank(useId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 else if(StringUtils.isBlank(workCenterId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓績缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 else if(StringUtils.isBlank(areaId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 else if(StringUtils.isBlank(manageId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 else if(StringUtils.isBlank(equipmentCategoryName)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍒嗙被缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 else if(StringUtils.isBlank(teamId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁翠慨鐝粍缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionNum++;
+						 continue;
+					 }
+					 //闈炲繀濉」
+					 // else if(ObjectUtils.isNotNull(equipmentImportVo.getWarrantyStart())){
+//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璐ㄤ繚寮�濮嬫棩鏈熺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+//						 exceptionNum++;
+//					 }
+//					 else if(StringUtils.isBlank(equipmentImportVo.getPropertyStatus())){
+//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+//						 exceptionNum++;
+//					 }
+//                   else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍔熻兘浣嶇疆缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getLocation())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getLocation())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:瀹夎浣嶇疆缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:绔嬮」鍗″彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getFundSource())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getFundSource())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勯噾鏉ユ簮缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:楠屾敹鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getFactoryNo())){
+//                   else if(StringUtils.isBlank(equipmentImportVo.getFactoryNo())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶缂栧彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-//                     else if( StringUtils.isBlank(equipmentImportVo.getConstructorId())){
+//                   else if( StringUtils.isBlank(equipmentImportVo.getConstructorId())){
 //						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鍒堕�犲晢缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 //						 exceptionNum++;
 //					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getModel())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍨嬪彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getSpecification())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧瑙勬牸缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
+//                   else if(StringUtils.isBlank(equipmentImportVo.getSpecification())){
+//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧瑙勬牸缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+//						 exceptionNum++;
+//					 }
 //					 else if(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())
-									 .setSpecificEquipment(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())
-									 .setLocation(equipmentImportVo.getLocation())
-									 .setLastVerificationDate(equipmentImportVo.getLeaveFactoryDate())
-									 .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
-									 .setFundSource(equipmentImportVo.getFundSource())
-									 .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
-									 .setFactoryNumber(equipmentImportVo.getFactoryNumber())
-									 .setConstructorId(equipmentImportVo.getConstructorId())
-									 .setSourceCountry(equipmentImportVo.getSourceCountry())
-									 .setModel(equipmentImportVo.getModel())
-									 .setSpecification(equipmentImportVo.getSpecification())
-									 .setGpo(equipmentImportVo.getGpo());
-							 equipmentService.save(equipment);
+					 else{
+						 SysDepart use = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",useId.trim()).eq("del_flag",0),false);
+						 if(ObjectUtils.isNotNull(use)){
+							 equipment.setUseId(use.getId());
 						 }else {
-							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;";
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ浣跨敤閮ㄩ棬,璇风淮鎶ら儴闂ㄦ暟鎹悗鍐嶅鍏�;";
 							 exceptionNum++;
+							 continue;
+						 }
+						 //涓績
+						 Area workCenterArea = areaService.getOne(new QueryWrapper<Area>().eq("name",workCenterId.trim()).eq("del_flag",0));
+						 if(ObjectUtils.isNotNull(workCenterArea)){
+							 equipment.setWorkCenterId(workCenterArea.getId());
+//						 }else if(ObjectUtils.isNotNull(area1)) {
+//							 equipment.setFactoryModelId(area1.getId());
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ涓績,璇风淮鎶や腑蹇冩暟鎹悗鍐嶅鍏�;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 //宸ュ尯
+						 Area area = areaService.getOne(new QueryWrapper<Area>().eq("name",areaId.trim()).eq("del_flag",0));
+						 Area area1 = areaService.getOne(new QueryWrapper<Area>().eq("num",areaId.trim()).eq("del_flag",0));
+						 if(ObjectUtils.isNotNull(area)){
+							 equipment.setFactoryModelId(area.getId());
+						 }else if(ObjectUtils.isNotNull(area1)) {
+							 equipment.setFactoryModelId(area1.getId());
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ宸ュ尯,璇风淮鎶ゅ伐鍖烘暟鎹悗鍐嶅鍏�;";
+							 exceptionNum++;
+							 continue;
+						 }
+
+						 //宸ユ
+						 Area productionArea = areaService.getOne(new QueryWrapper<Area>().eq("name",productionId.trim()).eq("del_flag",0));
+						 if(ObjectUtils.isNotNull(productionArea)){
+							 equipment.setAreaId(productionArea.getId());
+						 }
+
+						 SysDepart manage = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",manageId.trim()).eq("del_flag",0));
+						 if(ObjectUtils.isNotNull(manage)){
+							 equipment.setManageId(manage.getId());
+						 }else{
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ缁存姢閮ㄩ棬,璇峰厛缁存姢閮ㄩ棬鏁版嵁鍚庡啀瀵煎叆;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 EquipmentCategory equipmentCategory = equipmentCategoryService
+								 .getOne(new QueryWrapper<EquipmentCategory>()
+										 .eq("name",equipmentCategoryName.trim()).eq("del_flag",0),false);
+						 if(ObjectUtils.isNotNull(equipmentCategory)){
+						 	equipment.setEquipmentCategoryId(equipmentCategory.getId());
+						 }
+						 else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ璁惧鍒嗙被,璇峰厛缁存姢璁惧鍒嗙被鏁版嵁鍚庡啀瀵煎叆;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 Team team = teamService.getOne(new QueryWrapper<Team>().eq("name",teamId.trim()).eq("del_flag",0),false);
+						 Team team1 = teamService.getOne(new QueryWrapper<Team>().eq("num",teamId.trim()).eq("del_flag",0),false);
+						 if(ObjectUtils.isNotNull(team)){
+							 equipment.setTeamId(team.getId());
+						 }else if(ObjectUtils.isNotNull(team1)) {
+							 equipment.setTeamId(team1.getId());
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ鐝粍,璇峰厛缁存姢鐝粍鏁版嵁鍚庡啀瀵煎叆;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 if(StringUtils.isNotBlank(constructorId)){
+							 Constructor constructor = constructorService.getByName(constructorId.trim());
+							 if(ObjectUtils.isNotNull(constructor)){
+							 	equipment.setConstructorId(constructor.getId());
+							 }else {
+							 	constructor = new Constructor();
+							 	constructor.setName(constructorId);
+							 	constructor.setDelFlag(0);
+							 	constructorService.save(constructor);
+							 	equipment.setConstructorId(constructor.getId());
+							 }
+						 }
+                         if(StringUtils.isNotBlank(propertyStatus)&&propertyStatus.equals("warranty")){
+							 if(
+							 		ObjectUtils.isNull(equipmentImportVo.getWarrantyStart())
+									 ||ObjectUtils.isNull(equipmentImportVo.getWarrantyEnd())
+							 ){
+								 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璇ヨ澶囧浜庤川淇濇湡锛岃川淇濅俊鎭己澶憋紝璇峰厛缁存姢璐ㄤ繚寮�濮嬫椂闂存垨缁撴潫鏃堕棿;";
+								 exceptionNum++;
+								 continue;
+							 }
+
+						 }else{
+							 Equipment oriEquipment = equipmentService
+									 .getOne(new QueryWrapper<Equipment>()
+											 .eq("num",equipmentImportVo.getNum()).eq("del_flag",0),false);
+							 if(ObjectUtils.isNull(oriEquipment)){
+								 equipment.setNum(equipmentImportVo.getNum())
+										 .setName(equipmentImportVo.getName())
+										 .setTechnologyStatus(equipmentImportVo.getTechnologyStatus())
+										 .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId())
+										 .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification())
+										 .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration())
+										 .setCoolingSystem(equipmentImportVo.getCoolingSystem())
+										 .setFireExtinguisher(equipmentImportVo.getFireExtinguisher())
+										 .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod())
+										 .setSystem(equipmentImportVo.getSystem())
+										 .setPort(equipmentImportVo.getPort())
+										 .setCoordinateNum(equipmentImportVo.getCoordinateNum())
+										 .setEquipmentStatus(equipmentImportVo.getEquipmentStatus())
+										 .setEquipmentUda3(equipmentImportVo.getEquipmentUda3())
+										 .setEquipmentUda4(equipmentImportVo.getEquipmentUda4())
+										 .setEquipmentUda5(equipmentImportVo.getEquipmentUda5())
+										 .setLocation(equipmentImportVo.getLocation())
+										 .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate())
+										 .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
+										 .setFundSource(equipmentImportVo.getFundSource())
+										 .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
+										 .setFactoryNumber(equipmentImportVo.getFactoryNumber())
+										 .setSourceCountry(equipmentImportVo.getSourceCountry())
+										 .setModel(equipmentImportVo.getModel())
+										 .setSpecification(equipmentImportVo.getSpecification())
+										 .setPropertyStatus(equipmentImportVo.getPropertyStatus())
+										 .setOperatingSystem(equipmentImportVo.getOperatingSystem())
+										 .setWarrantyStart(equipmentImportVo.getWarrantyStart())
+										 .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
+										 .setCreateBy(equipmentImportVo.getCreateBy())
+										 .setCreateTime(equipmentImportVo.getCreateTime())
+										 .setUpdateBy(equipmentImportVo.getUpdateBy())
+										 .setUpdateTime(equipmentImportVo.getUpdateTime())
+										 .setIsLineEquip("no")
+										 .setIsLine("no")
+										 .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime())
+										 .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime())
+										 .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime())
+										 .setGpo(equipmentImportVo.getGpo());
+								 if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){
+								 	equipment.setCheckPeriod(365*3+"");
+								 }
+								 if(equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")){
+								 	equipment.setCheckPeriod(365*4+"");
+								 }
+								 if(equipmentCategory.getEquipmentCategoryUda1().equals("tester")){
+								 	equipment.setCheckPeriod(365*1+"");
+								 }
+								 if(
+								 		!equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")
+										 &&!equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")
+										 &&!equipmentCategory.getEquipmentCategoryUda1().equals("tester")
+								 ){
+								 	if(StringUtils.isNotBlank(abc)){
+										if(abc.equals("A")){
+											equipment.setCheckPeriod(365*3+"");
+										}
+										if(
+												abc.equals("B")
+														||abc.equals("C")
+														||abc.equals("D")
+										){
+											equipment.setCheckPeriod(365*4+"");
+										}
+									}
+								 }
+								 //涓嬫涓変繚鏃ユ湡澶勭悊
+								 if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+									 //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+									 int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+									 LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+									 LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+									 Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+									 equipment.setNextThirdMaintenanceTime(date);
+								 }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+									 //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+									 int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+									 Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+									 equipment.setNextThirdMaintenanceTime(date);
+								 }
+								 equipmentService.saveOrUpdate(equipment);
+							 }else {
+								 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;";
+								 exceptionNum++;
+								 continue;
+//								 oriEquipment.setUseId(equipment.getUseId());
+//								 oriEquipment.setWorkCenterId(equipment.getWorkCenterId());
+//								 oriEquipment.setFactoryModelId(equipment.getFactoryModelId());
+//								 oriEquipment.setAreaId(equipment.getAreaId());
+//								 oriEquipment.setManageId(equipment.getManageId());
+//								 oriEquipment.setEquipmentCategoryId(equipment.getEquipmentCategoryId());
+//								 oriEquipment.setTeamId(equipment.getTeamId());
+//								 oriEquipment.setConstructorId(equipment.getConstructorId());
+//								 oriEquipment.setNum(equipmentImportVo.getNum())
+//										 .setName(equipmentImportVo.getName())
+//										 .setTechnologyStatus(equipmentImportVo.getTechnologyStatus())
+//										 .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId())
+//										 .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification())
+//										 .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration())
+//										 .setCoolingSystem(equipmentImportVo.getCoolingSystem())
+//										 .setFireExtinguisher(equipmentImportVo.getFireExtinguisher())
+//										 .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod())
+//										 .setSystem(equipmentImportVo.getSystem())
+//										 .setPort(equipmentImportVo.getPort())
+//										 .setCoordinateNum(equipmentImportVo.getCoordinateNum())
+//										 .setEquipmentStatus(equipmentImportVo.getEquipmentStatus())
+//										 .setEquipmentUda3(equipmentImportVo.getEquipmentUda3())
+//										 .setEquipmentUda4(equipmentImportVo.getEquipmentUda4())
+//										 .setEquipmentUda5(equipmentImportVo.getEquipmentUda5())
+//										 .setLocation(equipmentImportVo.getLocation())
+//										 .setLeaveFactoryDate(equipmentImportVo.getLeaveFactoryDate())
+//										 .setProjectApprovalNo(equipmentImportVo.getProjectApprovalNo())
+//										 .setFundSource(equipmentImportVo.getFundSource())
+//										 .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
+//										 .setFactoryNumber(equipmentImportVo.getFactoryNumber())
+//										 .setSourceCountry(equipmentImportVo.getSourceCountry())
+//										 .setModel(equipmentImportVo.getModel())
+//										 .setSpecification(equipmentImportVo.getSpecification())
+//										 .setPropertyStatus(equipmentImportVo.getPropertyStatus())
+//										 .setOperatingSystem(equipmentImportVo.getOperatingSystem())
+//										 .setWarrantyStart(equipmentImportVo.getWarrantyStart())
+//										 .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
+//										 .setCreateBy(equipmentImportVo.getCreateBy())
+//										 .setCreateTime(equipmentImportVo.getCreateTime())
+//										 .setUpdateBy(equipmentImportVo.getUpdateBy())
+//										 .setUpdateTime(equipmentImportVo.getUpdateTime())
+//										 .setIsLineEquip("no")
+//										 .setIsLine("no")
+//										 .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime())
+//										 .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime())
+//										 .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime())
+//										 .setGpo(equipmentImportVo.getGpo());
+//								 if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){
+//									 oriEquipment.setCheckPeriod(365*3+"");
+//								 }
+//								 if(equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")){
+//									 oriEquipment.setCheckPeriod(365*4+"");
+//								 }
+//								 if(equipmentCategory.getEquipmentCategoryUda1().equals("tester")){
+//									 oriEquipment.setCheckPeriod(365*1+"");
+//								 }
+//								 if(
+//										 !equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")
+//												 &&!equipmentCategory.getEquipmentCategoryUda1().equals("filesCarousel")
+//												 &&!equipmentCategory.getEquipmentCategoryUda1().equals("tester")
+//								 ){
+//									 if(StringUtils.isNotBlank(abc)){
+//										 if(abc.equals("A")){
+//											 oriEquipment.setCheckPeriod(365*3+"");
+//										 }
+//										 if(
+//												 abc.equals("B")
+//														 ||abc.equals("C")
+//														 ||abc.equals("D")
+//										 ){
+//											 oriEquipment.setCheckPeriod(365*4+"");
+//										 }
+//									 }
+//								 }
+//								 //涓嬫涓変繚鏃ユ湡澶勭悊
+//								 if(oriEquipment.getThirdMaintenanceTime() == null && oriEquipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){
+//									 //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+//									 int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1;
+//									 LocalDate acceptanceCheckDate = LocalDate.parse(oriEquipment.getAcceptanceCheckDate());
+//									 LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+//									 Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+//									 oriEquipment.setNextThirdMaintenanceTime(date);
+//								 }else if(oriEquipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(oriEquipment.getCheckPeriod())){
+//									 //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+//									 int checkPeriod = Integer.parseInt(oriEquipment.getCheckPeriod()) - 1;
+//									 Date date = DateUtils.getDayAfter(oriEquipment.getThirdMaintenanceTime(), checkPeriod);
+//									 oriEquipment.setNextThirdMaintenanceTime(date);
+//								 }
+//								 equipmentService.updateById(oriEquipment);
+							 }
 						 }
 					 }
 				 }
@@ -675,7 +1190,7 @@
 					 MessageDTO messageDTO = new MessageDTO();
 					 messageDTO.setTitle(headInfo);
 					 messageDTO.setFromUser("鏁版嵁瀵煎叆灏忓姪鎵�-灏忓");
-					 messageDTO.setCategory("瀵煎叆鎿嶄綔闄勫姞淇℃伅");
+					 messageDTO.setCategory("瀵煎叆淇℃伅");
 					 messageDTO.setContent(exceptionInfo);
 					 messageDTO.setToUser(user.getUsername());
 					 sysBaseApi.sendSysAnnouncement(messageDTO);
@@ -689,6 +1204,154 @@
 		 }
 		 return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
 	 }
+	 @GetMapping(value = "/getEquipmentStansdardList")
+	 @PermissionData
+	 public Result<IPage<DailyInspectionStandardDetail>> getEquipmentStansdardList(DailyInspectionStandardDetail standardDetail,
+													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  HttpServletRequest req) {
+		 QueryWrapper<DailyInspectionStandardDetail> queryWrapper = QueryGenerator.initQueryWrapper(standardDetail, req.getParameterMap());
+		 Page<DailyInspectionStandardDetail> page = new Page<DailyInspectionStandardDetail>(pageNo, pageSize);
+		 IPage<DailyInspectionStandardDetail> pageList = equipmentService.getStandardList(page,standardDetail.getEquipmentId(),standardDetail.getType());
+		 return Result.OK(pageList);
+	 }
+	 @PostMapping("addLine")
+	 @Transactional(rollbackFor = {Exception.class})
+	 public Result<?> addLine(@RequestBody Equipment equipment){
+	 	 equipment.setIsLineEquip("no");
+	 	 equipment.setIsLine("yes");
+	 	 equipmentService.save(equipment);
+	 	 List<Equipment> equipmentList = equipment.getEquipmentOfLineTable();
+	 	 for(Equipment equipment1:equipmentList){
+	 	 	equipment1.setId(equipment1.getShowId());
+	 	 	equipment1.setIsLineEquip("yes");
+	 	 	equipment1.setLineId(equipment.getId());
+		 }
+	 	 equipmentService.updateBatchById(equipmentList);
+	 	 return Result.OK("娣诲姞鎴愬姛");
+	 }
+	 @PutMapping("editLine")
+	 @Transactional(rollbackFor = {Exception.class})
+	 public Result<?> editLine(@RequestBody Equipment equipment){
+		 equipmentService.updateById(equipment);
+		 equipmentService.update(new UpdateWrapper<Equipment>()
+				 .eq("line_id",equipment.getId())
+				 .set("line_id",null)
+				 .set("is_meta",null)
+				 .set("is_line_equip","no"));
+		 List<Equipment> equipmentList = equipment.getEquipmentOfLineTable();
+		 for(Equipment equipment1:equipmentList){
+			 equipment1.setLineId(equipment.getId());
+			 String id = equipment1.getId();
+			 if(StringUtils.isBlank(id)){
+			 	equipment1.setId(equipment1.getShowId());
+			 }
+			 equipment1.setIsLineEquip("yes");
+		 }
+		 equipmentService.updateBatchById(equipmentList);
+		 return Result.OK("缂栬緫鎴愬姛");
+	 }
+	 @PostMapping("/updateKeyEquipment")
+	 public  Result<?>updateKeyEquipment(@RequestBody Equipment equipment){
+	 	 equipmentService.update(new UpdateWrapper<Equipment>().eq("specific_equipment","0").set("specific_equipment",null));
+		 List<Equipment> keyEquipmentUpdateList = equipment.getKeyEquipmentUpdateList();
+		 for(Equipment updateEquipment:keyEquipmentUpdateList){
+		 	 updateEquipment.setId(updateEquipment.getEquipmentId());
+             equipmentService.updateById(updateEquipment);
+		 }
+		 return Result.OK("淇敼鎴愬姛");
+	 }
 
+	 /**
+	  *璁惧鍙扮珯-淇濆吇鏍囧噯
+	  */
+	 @GetMapping("getEquipmentListAllStandard")
+	 public Result<?> getEquipmentListAllStandard(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+		 IPage<Map<String, Object>> equipmentListAllStandards = equipmentService.getEquipmentListAllStandard(pageNo, pageSize, params);
+		 List<Map<String, Object>> records = equipmentListAllStandards.getRecords();
+		 for (Map<String, Object> record : records) {
+			 String id = (String) record.get("id");
+			 String precisionParameters = (String)record.get("precisionParameters");
+			 if("1".equals(precisionParameters)){
+				 record.put("yseNoPrecisionParameters","0");
+			 }else{
+				 record.put("yseNoPrecisionParameters","1");
+			 }
+			 List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+					 .eq(DailyInspectionStandard::getEquipmentId, id)
+					 .eq(DailyInspectionStandard::getVersionStatus, "2")
+					 .list();
+			 if(dailyInspectionStandards.size()>0){
+				 record.put("yseNoInspectionStandard","0");
+			 }else{
+				 record.put("yseNoInspectionStandard","1");
+			 }
+			 List<MaintenanceStandard> maintenance2Standards = maintenanceStandardService.lambdaQuery()
+					 .eq(MaintenanceStandard::getEquipmentId, id)
+					 .eq(MaintenanceStandard::getMaintenanceType, "2")
+					 .eq(MaintenanceStandard::getVersionStatus, "2").list();
+			 if(maintenance2Standards.size()>0){
+				 record.put("yseNoMaintenance2Standard","0");
+			 }else{
+				 record.put("yseNoMaintenance2Standard","1");
+			 }
+
+			 List<MaintenanceStandard> maintenance3Standards = maintenanceStandardService.lambdaQuery()
+					 .eq(MaintenanceStandard::getEquipmentId, id)
+					 .eq(MaintenanceStandard::getMaintenanceType, "3")
+					 .eq(MaintenanceStandard::getVersionStatus, "2").list();
+			 if(maintenance3Standards.size()>0){
+				 record.put("yseNoMaintenance3Standard","0");
+			 }else{
+				 record.put("yseNoMaintenance3Standard","1");
+			 }
+
+		 }
+		 return Result.ok(equipmentListAllStandards);
+	 }
+	 @GetMapping(value = "/planEquipmentList")
+	 @PermissionData
+	 public Result<IPage<Equipment>> planEquipmentList(Equipment equipment,
+													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  HttpServletRequest req) {
+//		 QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap());
+		 QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+		 String num = equipment.getNum();
+		 if(StringUtils.isNotBlank(num)){
+			 queryWrapper.like("num",num);
+		 }
+		 String name = equipment.getName();
+		 if(StringUtils.isNotBlank(name)){
+			 queryWrapper.like("name",name);
+		 }
+		 String workCenterId = equipment.getWorkCenterId();
+		 if(StringUtils.isNotBlank(workCenterId)){
+			 queryWrapper.eq("work_center_id",workCenterId);
+		 }
+		 //鏍规嵁涓嬫涓変繚鏃堕棿鎺掑簭
+
+		 //濡傛灉startTime鍜宔ndTime涓嶄负绌猴紝鍒欐煡璇笅娆′笁淇濇椂闂村湪杩欎釜鏃堕棿娈靛唴鐨勮澶�
+		 if(equipment.getStartTime()!=null && equipment.getEndTime()!=null){
+			 queryWrapper.between("next_third_maintenance_time",equipment.getStartTime(),equipment.getEndTime());
+		 }
+		 queryWrapper.orderByAsc("next_third_maintenance_time");
+		 Page<Equipment> page = new Page<Equipment>(pageNo, pageSize);
+		 IPage<Equipment> pageList = equipmentService.page(page, queryWrapper);
+		 return Result.OK(pageList);
+	 }
+
+	 private List<String> getUserWorkCenterIds(){
+		 LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		 SysUser sysUser = sysUserService.getById(user.getId());
+		 String areaId = sysUser.getAreaId();
+		 List<String>  workCenterIds = null;
+		 if(StringUtils.isNotBlank(areaId)){
+//            strings = new ArrayList<>();
+			 String[] split = areaId.split(",");
+			 workCenterIds = Arrays.asList(split);
+		 }
+		 return workCenterIds;
+	 }
 
 }

--
Gitblit v1.9.3