From ff9dc3f8220dfeb9acddd2f86c28718001e70314 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 30 十月 2023 09:44:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java                       |  441 +++++++-------
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml                       |    3 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java                                  |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml                            |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java                                                |    8 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml         |   35 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml                        |   18 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java                             |   46 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java                                      |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml                        |    7 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java            |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java                        |    1 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml                                      |    3 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml                                   |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java                                 |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java                                          |   70 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java                                          |    6 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java                                 |  125 +++-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java                                      |    6 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java                                  |   42 +
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java         |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml                             |   11 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java                                                     |   13 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java                                 |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java                         |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml                        |   21 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml                             |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java                                      |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java                                          |   66 -
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml                                       |   12 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java                               |   13 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java                                 |  255 +++++---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java                                                  |   11 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java                          |   13 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java                                           |    1 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java                                  |    5 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java    |   52 +
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java |    7 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java                     |   11 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java                   |   31 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java                                            |   96 +++
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java                              |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java                            |  151 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java                          |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java                                      |   51 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java                        |   33 +
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java                  |    8 
 47 files changed, 1,288 insertions(+), 471 deletions(-)

diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
index a28de25..f1f4f8f 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
@@ -710,6 +710,19 @@
     }
 
     /**
+     * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑骞� qsw
+     */
+    public static Date getYearAfter(Date data,int number) {
+        Calendar c = Calendar.getInstance();
+        c.setTime(data);
+        c.add(Calendar.YEAR, number);
+        Date afterTime = c.getTime();
+//        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        String resultDate = f.format(afterTime);
+        return afterTime;
+    }
+
+    /**
      * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑澶� qsw
      */
     public static Date getDayAfter(Date data,int number) {
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
index 4b5836c..43afffa 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java
@@ -466,29 +466,29 @@
             }
             List<Map<String, Object>> precisionParameterList = calibrationOrderService.getPrecisionParameterList(equipmentId);
             record.setPrecisionParameterList(precisionParameterList);
-            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.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝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.setCalibrationResult("寮傚父");
-                    }else{
-                        record.setCalibrationResult("姝e父");
-                    }
-                }
-            }
+//            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.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝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.setCalibrationResult("寮傚父");
+//                    }else{
+//                        record.setCalibrationResult("姝e父");
+//                    }
+//                }
+//            }
         }
         return Result.OK(pageList);
     }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
index 1672ae5..7297000 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
@@ -1,9 +1,6 @@
 package org.jeecg.modules.eam.controller;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
@@ -13,6 +10,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.entity.SysUpload;
@@ -20,7 +18,9 @@
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.StrUtils;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.entity.CalibrationOrder;
 import org.jeecg.modules.eam.entity.CalibrationOrderReport;
+import org.jeecg.modules.eam.entity.Equipment;
 import org.jeecg.modules.eam.entity.EquipmentDocument;
 import org.jeecg.modules.eam.service.ICalibrationOrderReportService;
 
@@ -29,6 +29,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.eam.service.ICalibrationOrderService;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -46,194 +48,211 @@
 import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.aspect.annotation.AutoLog;
 
- /**
+/**
  * @Description: mom_eam_calibration_order_report
  * @Author: jeecg-boot
- * @Date:   2023-07-20
+ * @Date: 2023-07-20
  * @Version: V1.0
  */
-@Api(tags="mom_eam_calibration_order_report")
+@Api(tags = "mom_eam_calibration_order_report")
 @RestController
 @RequestMapping("/eam/calibrationOrderReport")
 @Slf4j
 public class CalibrationOrderReportController extends JeecgController<CalibrationOrderReport, ICalibrationOrderReportService> {
-	@Autowired
-	private ICalibrationOrderReportService calibrationOrderReportService;
+    @Autowired
+    private ICalibrationOrderReportService calibrationOrderReportService;
 
-	 @Autowired
-	 private ISysBaseAPI sysBaseApi;
-	
-	/**
-	 * 鍒嗛〉鍒楄〃鏌ヨ
-	 *
-	 * @param calibrationOrderReport
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ")
-	@ApiOperation(value="mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ")
-	@GetMapping(value = "/list")
-	public Result<IPage<CalibrationOrderReport>> queryPageList(CalibrationOrderReport calibrationOrderReport,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<CalibrationOrderReport> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrderReport, req.getParameterMap());
-		Page<CalibrationOrderReport> page = new Page<CalibrationOrderReport>(pageNo, pageSize);
-		IPage<CalibrationOrderReport> pageList = calibrationOrderReportService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
+    @Autowired
+    private ICalibrationOrderService calibrationOrderService;
+    @Autowired
+    private ISysBaseAPI sysBaseApi;
 
-	 /**
-	  * 娣诲姞
-	  *
-	  * @return
-	  */
-	 @PostMapping(value = "/add")
-	 @Transactional(rollbackFor = {Exception.class})
-	 public Result<?> add(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
-		 String str = request.getParameter("data");
-		 JSONObject json = JSONObject.parseObject(str);
-
-		 boolean isFileChange = true;
-		 String uploadId = json.getString("uploadId");
-		 String fileType = json.getString("fileType");
-		 String description = json.getString("remark");
-		 String type = json.getString("type");
-
-		 CalibrationOrderReport calibrationOrderReport = json.toJavaObject(CalibrationOrderReport.class);
-		 calibrationOrderReport.setType(fileType);
-		 calibrationOrderReportService.save(calibrationOrderReport);
-		 // 鏂囦欢鍙樻洿
-		 if (isFileChange) {
-			 if (StrUtils.isNotBlankOrNull(uploadId)) {
-				 // 鎯呭舰涓�銆佷粠鏂囦欢绠$悊涓�夋嫨
-//				 uploadRelaService.saveOrUpdateUploadRale(partRouteFile.getId(), partRouteFile.getType(), uploadId);
-			 } else {
-				 // 鎯呭舰浜屻�侀噸鏂颁笂浼�
-				 // 1銆佹寔涔卽pload
-				 MultipartFile multipartFile = request.getFile("file");
-				 List<MultipartFile> multipartFileList = new ArrayList<>();
-				 multipartFileList.add(multipartFile);
-//                List<SysUpload> sysUploads = uploadService.batchUploadFile(fileType, multipartFileList, description);
-//                // 2銆佸垱寤�/淇敼 uploadRela
-//                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
-//                uploadRelaService.saveOrUpdateUploadRale(equipmentDocument.getId(), type, sysUploads.get(0).getId());
-				 List<SysUpload> sysUploads = sysBaseApi.batchUploadFile(fileType, multipartFileList, description);
-				 // 2銆佸垱寤�/淇敼 uploadRela
-				 // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
-				 sysBaseApi.saveOrUpdateUploadRale(calibrationOrderReport.getId(), type, sysUploads.get(0).getId());
-			 }
-		 }
-
-		 return Result.ok("涓婁紶鎴愬姛!");
-	 }
-
-	 @PostMapping(value = "/edit")
-	 @Transactional(rollbackFor = {Exception.class})
-	 public Result<?> edit(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
-		 String str = request.getParameter("data");
-		 JSONObject json = JSONObject.parseObject(str);
-
-		 boolean isFileChange = json.getBoolean("isFileChange");
-		 String uploadId = json.getString("uploadId");
-		 String fileType = json.getString("fileType");
-		 String description = json.getString("remark");
-		 String type = json.getString("type");
-
-		 CalibrationOrderReport calibrationOrderReport = json.toJavaObject(CalibrationOrderReport.class);
-		 calibrationOrderReport.setType(fileType);
-		 calibrationOrderReportService.saveOrUpdate(calibrationOrderReport);
-		 // 鏂囦欢鍙樻洿
-		 if (isFileChange) {
-			 if (StrUtils.isNotBlankOrNull(uploadId)) {
-				 // 鎯呭舰涓�銆佷粠鏂囦欢绠$悊涓�夋嫨
-//				 uploadRelaService.saveOrUpdateUploadRale(partRouteFile.getId(), partRouteFile.getType(), uploadId);
-			 } else {
-				 // 鎯呭舰浜屻�侀噸鏂颁笂浼�
-				 // 1銆佹寔涔卽pload
-				 MultipartFile multipartFile = request.getFile("file");
-				 List<MultipartFile> multipartFileList = new ArrayList<>();
-				 multipartFileList.add(multipartFile);
-//                List<SysUpload> sysUploads = uploadService.batchUploadFile(fileType, multipartFileList, description);
-//                // 2銆佸垱寤�/淇敼 uploadRela
-//                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
-//                uploadRelaService.saveOrUpdateUploadRale(equipmentDocument.getId(), type, sysUploads.get(0).getId());
-				 List<SysUpload> sysUploads = sysBaseApi.batchUploadFile(fileType, multipartFileList, description);
-				 // 2銆佸垱寤�/淇敼 uploadRela
-				 // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
-				 sysBaseApi.saveOrUpdateUploadRale(calibrationOrderReport.getId(), type, sysUploads.get(0).getId());
-			 }
-		 }
-
-		 return Result.ok("涓婁紶鎴愬姛!");
-	 }
-
-
-	 /**
-	 *   閫氳繃id鍒犻櫎
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "mom_eam_calibration_order_report-閫氳繃id鍒犻櫎")
-	@ApiOperation(value="mom_eam_calibration_order_report-閫氳繃id鍒犻櫎", notes="mom_eam_calibration_order_report-閫氳繃id鍒犻櫎")
-	//@RequiresPermissions("org.jeecg.modules:mom_eam_calibration_order_report:delete")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		//鍒犻櫎鏂囦欢绠$悊涓庝笟鍔℃暟鎹叧绯�
-//        List<SysUploadRela> sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, id).eq(SysUploadRela::getDelFlag, 0).list();
-		List<SysUploadRela> sysUploadRelas = sysBaseApi.listByBusIdAndBusType(id, null);
-		for (SysUploadRela sysUploadRela : sysUploadRelas) {
-			String uploadId = sysUploadRela.getUploadId();
-//            uploadService.removeById(uploadId);
-//            uploadRelaService.removeById(sysUploadRela);
-			sysBaseApi.removeUploadById(uploadId);
-			sysBaseApi.removeUploadRelaById(sysUploadRela.getId());
-		}
-		calibrationOrderReportService.removeById(id);
-		return Result.OK("鍒犻櫎鎴愬姛!");
-	}
-	
-	/**
-	 *  鎵归噺鍒犻櫎
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "mom_eam_calibration_order_report-鎵归噺鍒犻櫎")
-	@ApiOperation(value="mom_eam_calibration_order_report-鎵归噺鍒犻櫎", notes="mom_eam_calibration_order_report-鎵归噺鍒犻櫎")
-	//@RequiresPermissions("org.jeecg.modules:mom_eam_calibration_order_report:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.calibrationOrderReportService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
-	}
-	
-	/**
-	 * 閫氳繃id鏌ヨ
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "mom_eam_calibration_order_report-閫氳繃id鏌ヨ")
-	@ApiOperation(value="mom_eam_calibration_order_report-閫氳繃id鏌ヨ", notes="mom_eam_calibration_order_report-閫氳繃id鏌ヨ")
-	@GetMapping(value = "/queryById")
-	public Result<CalibrationOrderReport> queryById(@RequestParam(name="id",required=true) String id) {
-		CalibrationOrderReport calibrationOrderReport = calibrationOrderReportService.getById(id);
-		if(calibrationOrderReport==null) {
-			return Result.error("鏈壘鍒板搴旀暟鎹�");
-		}
-		return Result.OK(calibrationOrderReport);
-	}
+    @Autowired
+    private IEamEquipmentService eamEquipmentService;
 
     /**
-    * 瀵煎嚭excel
-    *
-    * @param request
-    * @param calibrationOrderReport
-    */
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param calibrationOrderReport
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ", notes = "mom_eam_calibration_order_report-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<IPage<CalibrationOrderReport>> queryPageList(CalibrationOrderReport calibrationOrderReport, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+        QueryWrapper<CalibrationOrderReport> queryWrapper = QueryGenerator.initQueryWrapper(calibrationOrderReport, req.getParameterMap());
+        Page<CalibrationOrderReport> page = new Page<CalibrationOrderReport>(pageNo, pageSize);
+        IPage<CalibrationOrderReport> pageList = calibrationOrderReportService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @return
+     */
+    @PostMapping(value = "/add")
+    @Transactional(rollbackFor = {Exception.class})
+    public Result<?> add(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
+        String str = request.getParameter("data");
+        JSONObject json = JSONObject.parseObject(str);
+
+        boolean isFileChange = true;
+        String uploadId = json.getString("uploadId");
+        String fileType = json.getString("fileType");
+        String description = json.getString("remark");
+        String type = json.getString("type");
+
+        CalibrationOrderReport calibrationOrderReport = json.toJavaObject(CalibrationOrderReport.class);
+        calibrationOrderReport.setType(fileType);
+        calibrationOrderReportService.save(calibrationOrderReport);
+
+        // 鏂囦欢鍙樻洿
+        if (isFileChange) {
+            if (StrUtils.isNotBlankOrNull(uploadId)) {
+                // 鎯呭舰涓�銆佷粠鏂囦欢绠$悊涓�夋嫨
+//				 uploadRelaService.saveOrUpdateUploadRale(partRouteFile.getId(), partRouteFile.getType(), uploadId);
+            } else {
+                // 鎯呭舰浜屻�侀噸鏂颁笂浼�
+                // 1銆佹寔涔卽pload
+                MultipartFile multipartFile = request.getFile("file");
+                List<MultipartFile> multipartFileList = new ArrayList<>();
+                multipartFileList.add(multipartFile);
+//                List<SysUpload> sysUploads = uploadService.batchUploadFile(fileType, multipartFileList, description);
+//                // 2銆佸垱寤�/淇敼 uploadRela
+//                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
+//                uploadRelaService.saveOrUpdateUploadRale(equipmentDocument.getId(), type, sysUploads.get(0).getId());
+                List<SysUpload> sysUploads = sysBaseApi.batchUploadFile(fileType, multipartFileList, description);
+                // 2銆佸垱寤�/淇敼 uploadRela
+                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
+                sysBaseApi.saveOrUpdateUploadRale(calibrationOrderReport.getId(), type, sysUploads.get(0).getId());
+            }
+        }
+        // 鏇存柊涓昏〃涓哄凡瀹屾垚
+        CalibrationOrder calibrationOrder = calibrationOrderService.getById(calibrationOrderReport.getCalibrationOrderId());
+        // status 宸插畬鎴�
+        calibrationOrder.setStatus("4");
+        calibrationOrder.setCalibrationResult(calibrationOrderReport.getJudgmentResult());
+        calibrationOrder.setCalibrationTime(new Date());
+        calibrationOrderService.updateById(calibrationOrder);
+        // 鏇存柊璁惧鎶�鏈姸鎬�
+        Equipment equipment = eamEquipmentService.getById(calibrationOrder.getEquipmentId());
+
+        if (StringUtils.isNotBlank(equipment.getId())) {
+            equipment.setTechnologyStatus(calibrationOrderReport.getJudgmentResult());
+            eamEquipmentService.updateById(equipment);
+        }
+
+        return Result.ok("涓婁紶鎴愬姛!");
+    }
+
+    @PostMapping(value = "/edit")
+    @Transactional(rollbackFor = {Exception.class})
+    public Result<?> edit(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
+        String str = request.getParameter("data");
+        JSONObject json = JSONObject.parseObject(str);
+
+        boolean isFileChange = json.getBoolean("isFileChange");
+        String uploadId = json.getString("uploadId");
+        String fileType = json.getString("fileType");
+        String description = json.getString("remark");
+        String type = json.getString("type");
+
+        CalibrationOrderReport calibrationOrderReport = json.toJavaObject(CalibrationOrderReport.class);
+        calibrationOrderReport.setType(fileType);
+        calibrationOrderReportService.saveOrUpdate(calibrationOrderReport);
+        // 鏂囦欢鍙樻洿
+        if (isFileChange) {
+            if (StrUtils.isNotBlankOrNull(uploadId)) {
+                // 鎯呭舰涓�銆佷粠鏂囦欢绠$悊涓�夋嫨
+//				 uploadRelaService.saveOrUpdateUploadRale(partRouteFile.getId(), partRouteFile.getType(), uploadId);
+            } else {
+                // 鎯呭舰浜屻�侀噸鏂颁笂浼�
+                // 1銆佹寔涔卽pload
+                MultipartFile multipartFile = request.getFile("file");
+                List<MultipartFile> multipartFileList = new ArrayList<>();
+                multipartFileList.add(multipartFile);
+//                List<SysUpload> sysUploads = uploadService.batchUploadFile(fileType, multipartFileList, description);
+//                // 2銆佸垱寤�/淇敼 uploadRela
+//                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
+//                uploadRelaService.saveOrUpdateUploadRale(equipmentDocument.getId(), type, sysUploads.get(0).getId());
+                List<SysUpload> sysUploads = sysBaseApi.batchUploadFile(fileType, multipartFileList, description);
+                // 2銆佸垱寤�/淇敼 uploadRela
+                // 娉細褰撳墠瑙嗕负鍗曟枃浠朵笂浼犳帶鍒讹紝鍚庣画鍙兘浼氭湁鍗曚釜浜у搧宸ヨ壓鏂囦欢瀵瑰簲澶氫釜涓婁紶鏂囦欢鐨勫崌绾ц皟鏁达紝淇敼鍚庢敞鎰忔洿缁嗘娈垫敞閲�
+                sysBaseApi.saveOrUpdateUploadRale(calibrationOrderReport.getId(), type, sysUploads.get(0).getId());
+            }
+        }
+
+        return Result.ok("涓婁紶鎴愬姛!");
+    }
+
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "mom_eam_calibration_order_report-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "mom_eam_calibration_order_report-閫氳繃id鍒犻櫎", notes = "mom_eam_calibration_order_report-閫氳繃id鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:mom_eam_calibration_order_report:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        //鍒犻櫎鏂囦欢绠$悊涓庝笟鍔℃暟鎹叧绯�
+//        List<SysUploadRela> sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, id).eq(SysUploadRela::getDelFlag, 0).list();
+        List<SysUploadRela> sysUploadRelas = sysBaseApi.listByBusIdAndBusType(id, null);
+        for (SysUploadRela sysUploadRela : sysUploadRelas) {
+            String uploadId = sysUploadRela.getUploadId();
+//            uploadService.removeById(uploadId);
+//            uploadRelaService.removeById(sysUploadRela);
+            sysBaseApi.removeUploadById(uploadId);
+            sysBaseApi.removeUploadRelaById(sysUploadRela.getId());
+        }
+        calibrationOrderReportService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "mom_eam_calibration_order_report-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "mom_eam_calibration_order_report-鎵归噺鍒犻櫎", notes = "mom_eam_calibration_order_report-鎵归噺鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:mom_eam_calibration_order_report:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.calibrationOrderReportService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "mom_eam_calibration_order_report-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "mom_eam_calibration_order_report-閫氳繃id鏌ヨ", notes = "mom_eam_calibration_order_report-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<CalibrationOrderReport> queryById(@RequestParam(name = "id", required = true) String id) {
+        CalibrationOrderReport calibrationOrderReport = calibrationOrderReportService.getById(id);
+        if (calibrationOrderReport == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹�");
+        }
+        return Result.OK(calibrationOrderReport);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param calibrationOrderReport
+     */
     //@RequiresPermissions("org.jeecg.modules:mom_eam_calibration_order_report:exportXls")
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, CalibrationOrderReport calibrationOrderReport) {
@@ -241,12 +260,12 @@
     }
 
     /**
-      * 閫氳繃excel瀵煎叆鏁版嵁
-    *
-    * @param request
-    * @param response
-    * @return
-    */
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
     //@RequiresPermissions("mom_eam_calibration_order_report:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
@@ -254,34 +273,34 @@
     }
 
 
-	 /**
-	  * 璁惧妫�瀹� 鑾峰彇妫�瀹氭姤鍛�
-	  * qsw 2023-7-20
-	  */
-	 @GetMapping("getCalibrationOrderReportList")
-	 public Result<?> getCalibrationOrderReportList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
-		 IPage<Map<String, Object>> calibrationOrderReports = calibrationOrderReportService.getCalibrationOrderReportById(pageNo, pageSize, params);
-		 for (Map<String, Object> calibrationOrderReport : calibrationOrderReports.getRecords()) {
-			 //鑾峰彇鏄惁鏈夋棤寮傚父鐓х墖鏁版嵁
+    /**
+     * 璁惧妫�瀹� 鑾峰彇妫�瀹氭姤鍛�
+     * qsw 2023-7-20
+     */
+    @GetMapping("getCalibrationOrderReportList")
+    public Result<?> getCalibrationOrderReportList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+        IPage<Map<String, Object>> calibrationOrderReports = calibrationOrderReportService.getCalibrationOrderReportById(pageNo, pageSize, params);
+        for (Map<String, Object> calibrationOrderReport : calibrationOrderReports.getRecords()) {
+            //鑾峰彇鏄惁鏈夋棤寮傚父鐓х墖鏁版嵁
 //            List<SysUploadRela> sysUploadRelas = uploadRelaService.lambdaQuery().eq(SysUploadRela::getBusId, (String) calibrationOrderReport.get("id")).eq(SysUploadRela::getDelFlag, 0).list();
-			 List<SysUploadRela> sysUploadRelas =sysBaseApi.listByBusIdAndBusType((String) calibrationOrderReport.get("id"), null);
-			 if (sysUploadRelas.size() > 0) {
+            List<SysUploadRela> sysUploadRelas = sysBaseApi.listByBusIdAndBusType((String) calibrationOrderReport.get("id"), null);
+            if (sysUploadRelas.size() > 0) {
 
 //                List<SysUploadRela> uploadRelas = uploadRelaService.listByBusIdAndBusType((String) calibrationOrderReport.get("id"), "calibration_order_report");
-				 List<SysUploadRela> uploadRelas =   sysBaseApi.listByBusIdAndBusType((String) calibrationOrderReport.get("id"), "calibration_order_report");
-				 SysUpload upload = new SysUpload();
-				 if (CollectionUtils.isNotEmpty(uploadRelas)) {
-					 //upload = uploadService.getById(uploadRelas.get(0).getUploadId());
-					 upload = sysBaseApi.getUploadById(uploadRelas.get(0).getUploadId());
-				 }
-				 calibrationOrderReport.put("upload", upload);
-			 } else {
+                List<SysUploadRela> uploadRelas = sysBaseApi.listByBusIdAndBusType((String) calibrationOrderReport.get("id"), "calibration_order_report");
+                SysUpload upload = new SysUpload();
+                if (CollectionUtils.isNotEmpty(uploadRelas)) {
+                    //upload = uploadService.getById(uploadRelas.get(0).getUploadId());
+                    upload = sysBaseApi.getUploadById(uploadRelas.get(0).getUploadId());
+                }
+                calibrationOrderReport.put("upload", upload);
+            } else {
 
-				 SysUpload upload = new SysUpload();
-				 calibrationOrderReport.put("upload", upload);
-			 }
-		 }
-		 return Result.ok(calibrationOrderReports);
-	 }
+                SysUpload upload = new SysUpload();
+                calibrationOrderReport.put("upload", upload);
+            }
+        }
+        return Result.ok(calibrationOrderReports);
+    }
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
index 3266c04..65ecaef 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
@@ -764,6 +764,7 @@
     @RequestMapping(value = "/editTechnologyStatus", method = {RequestMethod.PUT,RequestMethod.POST})
     @Transactional(rollbackFor = { Exception.class })
     public Result<String> editTechnologyStatus(@RequestBody Equipment equipment) {
+        equipment.setTechnologyStatusVerificationType("1");
         equipmentService.updateById(equipment);
 
         DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService.getById(equipment.getMaintenanceOrderId());
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 d59dbe5..dce198e 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
@@ -18,6 +18,9 @@
 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.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.service.*;
@@ -29,6 +32,8 @@
 
 import org.jeecg.common.system.base.controller.JeecgController;
 
+import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.service.ISysDepartService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -74,8 +79,6 @@
 	 @Autowired
 	 private IProcessParametersTemplateService processParametersTemplateService;
 
-
-
 	 @Autowired
 	 private ISysBaseAPI sysBaseApi;
 
@@ -99,6 +102,22 @@
 
 	 @Autowired
 	 private IEquipmentCategoryService equipmentCategoryService;
+
+	 @Autowired
+	 private ISysDepartService departService;
+
+	 @Autowired
+	 private ITeamService teamService;
+
+	 @Autowired
+	 private IConstructorService constructorService;
+
+	 @Autowired
+	 private IAreaService areaService;
+
+
+
+
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
@@ -468,34 +487,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);
 	 }
 
@@ -543,119 +562,181 @@
 			 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);
+					 String equipmentCategoryName = equipmentImportVo.getEquipmentCategoryName();
+					 String useId = equipmentImportVo.getUseId();
+					 String areaId = equipmentImportVo.getFactoryModelId();
+					 String manageId = equipmentImportVo.getManageId();
+					 String constructorId = equipmentImportVo.getConstructorId();
+					 String teamId = equipmentImportVo.getTeamId();
                      if(StringUtils.isBlank(equipmentImportVo.getNum())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁熶竴缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getName())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍚嶇О缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getUseId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
-					 }
-//                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda1())){
-//						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-//						 exceptionNum++;
-//					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getManageId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
+						 continue;
 					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getTeamId())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁翠慨鐝粍缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:ABC鏍囪瘑缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
-					 }
-                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍒嗙被缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
-						 exceptionNum++;
+						 continue;
 					 }
                      else if(StringUtils.isBlank(equipmentImportVo.getEquipmentStatus())){
 						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
 					 else if(StringUtils.isBlank(equipmentImportVo.getTechnologyStatus())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鎶�鏈己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鎶�鏈姸鎬佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-					 else if(StringUtils.isBlank(equipmentImportVo.getFactoryModelId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:杞﹂棿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+					 else if(StringUtils.isBlank(equipmentImportVo.getModel())){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍨嬪彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-					 else if(StringUtils.isBlank(equipmentImportVo.getWorkCenterId())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浜х嚎缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+					 else if(StringUtils.isBlank(useId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-					 else if(ObjectUtils.isNotNull(equipmentImportVo.getWarrantyStart())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璐ㄤ繚寮�濮嬫棩鏈熺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+					 else if(StringUtils.isBlank(areaId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-					 else if(StringUtils.isBlank(equipmentImportVo.getPropertyStatus())){
-						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
+					 else if(StringUtils.isBlank(manageId)){
+						 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;";
 						 exceptionNum++;
+						 continue;
 					 }
-                     //闈炲繀濉」
-//                     else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())){
+					 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{
+						 SysDepart use = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",useId.trim()),false);
+						 if(ObjectUtils.isNull(useId)){
+							 equipment.setUseId(use.getId());
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ浣跨敤閮ㄩ棬,璇风淮鎶ら儴闂ㄦ暟鎹悗鍐嶅鍏�;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 Area area = areaService.getOne(new QueryWrapper<Area>().eq("name",areaId.trim()));
+						 if(ObjectUtils.isNotNull(area)){
+							 equipment.setFactoryModelId(area.getId());
+						 }else {
+							 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ宸ュ尯,璇风淮鎶ゅ伐鍖烘暟鎹悗鍐嶅鍏�;";
+							 exceptionNum++;
+							 continue;
+						 }
+						 SysDepart manage = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",manageId.trim()));
+						 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()),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()),false);
+						 if(ObjectUtils.isNotNull(team)){
+							 equipment.setTeamId(team.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(equipmentImportVo.getPropertyStatus().equals("warranty")){
 							 if(
 							 		ObjectUtils.isNull(equipmentImportVo.getWarrantyStart())
@@ -666,24 +747,19 @@
 							 }
 
 						 }else{
-							 Equipment oriEquipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentImportVo.getNum()),false);
+							 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())
 										 .setTechnologyStatus(equipmentImportVo.getTechnologyStatus())
 										 .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())
@@ -697,12 +773,9 @@
 										 .setFundSource(equipmentImportVo.getFundSource())
 										 .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate())
 										 .setFactoryNumber(equipmentImportVo.getFactoryNumber())
-										 .setConstructorId(equipmentImportVo.getConstructorId())
 										 .setSourceCountry(equipmentImportVo.getSourceCountry())
 										 .setModel(equipmentImportVo.getModel())
 										 .setSpecification(equipmentImportVo.getSpecification())
-										 .setFactoryModelId(equipmentImportVo.getFactoryModelId())
-										 .setWorkCenterId(equipmentImportVo.getWorkCenterId())
 										 .setPropertyStatus(equipmentImportVo.getPropertyStatus())
 										 .setWarrantyStart(equipmentImportVo.getWarrantyStart())
 										 .setWarrantyEnd(equipmentImportVo.getWarrantyEnd())
@@ -737,9 +810,9 @@
 							 }else {
 								 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;";
 								 exceptionNum++;
+								 continue;
 							 }
 						 }
-
 					 }
 				 }
 				 if(exceptionNum!=0){
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java
index 5b19064..f82e765 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java
@@ -2,10 +2,12 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.constant.CommonConstant;
@@ -18,11 +20,15 @@
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
 import org.jeecg.modules.eam.service.IFaultDescriptionService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
 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 javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -43,13 +49,12 @@
 
     @Autowired
     private ISysBaseAPI sysBaseApi;
+    @Autowired
+    private ISysUserService userService;
 
     @Autowired
     @Lazy
     private IFaultDescriptionService faultDescriptionService;
-//    @Autowired
-//    private IUploadRelaService uploadRelaService;
-
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -88,17 +93,39 @@
     @AutoLog(value = "mom_eam_equipment_report_repair-娣诲姞")
     @ApiOperation(value = "mom_eam_equipment_report_repair-娣诲姞", notes = "mom_eam_equipment_report_repair-娣诲姞")
     @PostMapping(value = "/add")
+    @Transactional(rollbackFor = {Exception.class})
     public Result<String> add(@RequestBody EquipmentReportRepair equipmentReportRepair) {
         equipmentReportRepair.setStatus("1");
         equipmentReportRepair.setSource("1");
         equipmentReportRepair.setIsCreateOrder(0);
         equipmentReportRepairService.save(equipmentReportRepair);
+        Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
+        equipment.setEquipmentStatus("2");
+        String teamId = equipment.getTeamId();
+        if(StringUtils.isNotBlank(teamId)){
+            List<SysUser> sysUsers = userService.list(new QueryWrapper<SysUser>()
+                    .eq("team_id",teamId)
+                    .eq("del_flag",0));
+            for(SysUser user:sysUsers){
+                String msg = "缁熶竴缂栧彿涓恒��"+equipment.getNum()+"銆戠殑璁惧闇�瑕佺淮淇紝璇风Щ姝ヨ嚦鏁呴殰鎶ヤ慨鏌ョ湅";
+                MessageDTO messageDTO = new MessageDTO();
+                messageDTO.setTitle("鏁呴殰鎶ヤ慨鎻愰啋");
+                messageDTO.setContent(msg);
+                messageDTO.setCategory("鏁呴殰鎶ヤ慨鎻愰啋");
+                messageDTO.setFromUser("鏁呴殰鎶ヤ慨鎻愰啋灏忓姪鎵�");
+                messageDTO.setToUser(user.getUsername());
+                sysBaseApi.sendSysAnnouncement(messageDTO);
+            }
+        }else {
+            return Result.error("璇ヨ澶囧皻鏈淮鎶ょ淮淇彮缁�,璇风淮鎶ゅ悗鍐嶆姤淇�");
+        }
         //娣诲姞鏁呴殰鎻忚堪淇℃伅
         FaultDescription faultDescription = new FaultDescription();
         faultDescription.setFaultDetails(equipmentReportRepair.getFaultDescription());
         faultDescription.setFaultId(equipmentReportRepair.getId());
         faultDescription.setPhoto(equipmentReportRepair.getPhoto());
         faultDescriptionService.save(faultDescription);
+        equipmentService.updateById(equipment);
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
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 8352c39..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;
 
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -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);
     }
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java
index 4486bae..871e94f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java
@@ -15,10 +15,13 @@
 import org.jeecg.common.api.vo.Result;
 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.eam.entity.DailyMaintenanceOrder;
+import org.jeecg.modules.eam.entity.Equipment;
 import org.jeecg.modules.eam.entity.MaintenanceThreeAcceptance;
 import org.jeecg.modules.eam.service.IDailyMaintenanceOrderService;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IMaintenanceThreeAcceptanceService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -58,6 +61,9 @@
 
 	 @Autowired
 	private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
+
+	 @Autowired
+	 private IEamEquipmentService equipmentService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -95,19 +101,40 @@
 		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		String userId = sysUser.getId();
 		String maintenanceOrderId = maintenanceThreeAcceptance.getMaintenanceOrderId();
+		String equipmentId = maintenanceThreeAcceptance.getEquipmentId();
+		int maintenanceCycle = Integer.parseInt(maintenanceThreeAcceptance.getMaintenanceCycle());
 		List<MaintenanceThreeAcceptance> maintenanceThreeAcceptances = maintenanceThreeAcceptance.getMaintenanceThreeAcceptances();
+		String checkStatus = "1";//涓夌骇淇濆吇楠屾敹鐘舵�侊紙1閫氳繃锛�2鏈�氳繃锛�
 		for (MaintenanceThreeAcceptance threeAcceptance : maintenanceThreeAcceptances) {
-			threeAcceptance.setMaintenanceOrderId(maintenanceOrderId);
+//			threeAcceptance.setId("");
 			maintenanceThreeAcceptanceService.saveOrUpdate(threeAcceptance);
+
+			String firstInspect = threeAcceptance.getFirstInspect();
+			String secondInspect = threeAcceptance.getSecondInspect();
+			if("2".equals(firstInspect) || "2".equals(secondInspect)){
+				checkStatus = "2";
+			}
+
 		}
 		DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(maintenanceOrderId);
 		maintenanceOrder.setInspectUser(sysUser.getRealname());
+		maintenanceOrder.setNotPassReason(maintenanceThreeAcceptance.getNotPassReason());
+		maintenanceOrder.setCheckStatus(checkStatus);
 		maintenanceOrder.setInspectDate(new Date());
 //		maintenanceOrder.setStatus("8");
 		dailyMaintenanceOrderService.updateById(maintenanceOrder);
+
+		if("1".equals(checkStatus)){
+			Equipment equipment = equipmentService.getById(equipmentId);
+			Date dayAfter = DateUtils.getYearAfter(new Date(), maintenanceCycle);
+			equipment.setNextThirdMaintenanceTime(dayAfter);
+			equipment.setThirdMaintenanceTime(new Date());
+			equipmentService.updateById(equipment);
+		}
+
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
-	
+
 	/**
 	 *  缂栬緫
 	 *
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java
index 6f3dd5d..a7628da 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java
@@ -12,6 +12,7 @@
 
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
+import org.jeecg.modules.eam.service.IdentityService;
 import org.jeecg.modules.system.service.SysIdentityService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -60,7 +61,7 @@
 	private IOperationCertificateDetailService operationCertificateDetailService;
 
 	 @Autowired
-	 private SysIdentityService sysIdentityService;
+	 private IdentityService identityService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -104,14 +105,14 @@
 	 @PostMapping(value = "/addOperationCertificate")
 	 public Result<String> addOperationCertificate(@RequestBody List<OperationCertificateApplyDetail> operationCertificateList) {
 		for(OperationCertificateApplyDetail operationCertificateApplyDetail : operationCertificateList){
-			if("Y".equals(operationCertificateApplyDetail.getExaminationConclusion())){
+			if("pass".equals(operationCertificateApplyDetail.getExaminationConclusion())){
 				Date currentDate = new Date();
 				Calendar c = Calendar.getInstance();
 				c.setTime(currentDate);
 				c.add(Calendar.YEAR, 1);
 				currentDate = c.getTime();
 				OperationCertificate operationCertificate = new OperationCertificate();
-				operationCertificate.setNum(sysIdentityService.getNumByTypeAndLength("OperationCertificate", 4));
+				operationCertificate.setNum(identityService.getNumByTypeAndLength("OperationCertificate", 4));
 				operationCertificate.setUserId(operationCertificateApplyDetail.getUserId());
 				operationCertificate.setEquipmentIds(operationCertificateApplyDetail.getEquipmentIds());
 				operationCertificate.setCurrentCycleScore(12);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java
index 40e49fd..797eb38 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java
@@ -13,10 +13,7 @@
 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.service.IDailyMaintenanceOrderService;
-import org.jeecg.modules.eam.service.IPrecisionInspectionDetailService;
-import org.jeecg.modules.eam.service.IPrecisionInspectionService;
-import org.jeecg.modules.eam.service.IPrecisionParametersService;
+import org.jeecg.modules.eam.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -49,6 +46,9 @@
 
 	@Autowired
 	private IPrecisionParametersService precisionParametersService;
+
+	@Autowired
+	private IEamEquipmentService equipmentService;
 	
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
@@ -205,6 +205,7 @@
 
 		PrecisionInspection preInspection = precisionInspectionService.getById(precisionInspection.getId());
 		DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(preInspection.getMaintenanceOrderId());
+		Equipment equipment = equipmentService.getById(maintenanceOrder.getEquipmentId());
 		String precisionInspectionStatus = maintenanceOrder.getPrecisionInspectionStatus();
 
 		if ("0".equals(precisionInspectionStatus)){
@@ -238,12 +239,14 @@
 
 			maintenanceOrder.setPrecisionInspectionStatus("5");
 //			maintenanceOrder.setStatus("8");
+			//鏇存柊璁惧鎶�鏈姸鎬�
+			equipment.setTechnologyStatus(precisionInspection.getJudgmentResult());
 		}
 
 		preInspection.setRemark(precisionInspection.getRemark());
 		dailyMaintenanceOrderService.updateById(maintenanceOrder);
 		precisionInspectionService.updateById(preInspection);
-
+		equipmentService.updateById(equipment);
 		return Result.OK("瀹℃壒鎴愬姛!");
 	}
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
index cfa62f0..073cfe2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
@@ -92,6 +92,12 @@
 	 @Autowired
 	 @Lazy
 	 private IProjectMaintenanceOrderService projectMaintenanceOrderService;
+	 @Autowired
+	 @Lazy
+	 private IdentityService sysIdentityService;
+
+
+
 
 
 
@@ -1491,7 +1497,18 @@
 	  * @return
 	  */
 	 @PutMapping(value = "/start")
+	 @Transactional(rollbackFor = Exception.class)
 	 public Result<?> orderStart(@RequestBody RepairOrder repairOrder){
+	 	if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
+			EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder.getReportRepairId());
+			equipmentReportRepair.setStatus("3");
+			equipmentReportRepairService.updateById(equipmentReportRepair);
+			if(StringUtils.isNotBlank(equipmentReportRepair.getEquipmentId())){
+				Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
+				equipment.setEquipmentStatus("7");
+				equipmentService.updateById(equipment);
+			}
+		}
 	 	if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){
 			//鍒ゆ柇椤圭洰鎬х淮淇瓙琛ㄧ姸鎬�
 	 		ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder.getProjectMaintenanceOrderId());
@@ -1578,5 +1595,28 @@
 		 }
 		 return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",7).eq("id",repairOrder.getId())));
 	 }
-
+	 @PostMapping("addBySelectReport")
+	 public Result<?> addBySelectReport(@RequestBody List<EquipmentReportRepair> equipmentReportRepairs){
+	 	LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal();
+	 	for(EquipmentReportRepair equipmentReportRepair:equipmentReportRepairs){
+			String num = sysIdentityService.getNumByTypeAndLength("RepairOrder",4);
+			Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
+	 		equipmentReportRepair.setStatus("2");
+	 		RepairOrder repairOrder = new RepairOrder();
+	 		repairOrder.setNum(num);
+	 		repairOrder.setReportRepairId(equipmentReportRepair.getId());
+	 		repairOrder.setStatus("2");
+	 		repairOrder.setEquipmentId(equipment.getId());
+	 		repairOrder.setTeamId(equipment.getTeamId());
+	 		repairOrder.setDepartId(equipment.getUseId());
+	 		repairOrder.setFaultDescription(equipmentReportRepair.getFaultDescription());
+	 		repairOrder.setFaultTime(equipmentReportRepair.getFaultTime());
+	 		repairOrder.setResponsibilityId(user.getId());
+	 		repairOrder.setRepairOrderType(0);
+	 		repairOrder.setDelFlag(0);
+	 		repairOrderService.save(repairOrder);
+		}
+	 	equipmentReportRepairService.updateBatchById(equipmentReportRepairs);
+	 	return Result.OK("棰嗗彇鎴愬姛");
+	 }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java
index c1a1b22..34f8b3a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java
@@ -80,6 +80,7 @@
      */
     @Excel(name = "妫�瀹氱粨鏋�", width = 15)
     @ApiModelProperty(value = "妫�瀹氱粨鏋�")
+    @Dict(dicCode = "technology_status")
     private String calibrationResult;
     /**
      * 妫�瀹氱粨鏋滄弿杩�
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
index 2672f9b..511a059 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
@@ -137,6 +137,12 @@
     @ApiModelProperty(value = "3淇濋獙鏀跺崟妫�鏌ユ椂闂�")
     private Date inspectDate;
 
+    @ApiModelProperty(value = "3淇濋獙鏀舵湭閫氳繃鍘熷洜")
+    private String notPassReason;
+
+    @ApiModelProperty(value = "涓夌骇淇濆吇楠屾敹鐘舵�侊紙1閫氳繃锛�2鏈�氳繃锛�")
+    private String checkStatus;
+
     @TableField(exist = false)
     private List<DailyMaintenanceOrderDetail> dailyMaintenanceOrderDetails;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java
index 60b836c..64a01fa 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java
@@ -201,6 +201,13 @@
     @Dict(dicCode = "id",dictTable = "mom_eam_precision_parameters_template",dicText = "name")
     private String precisionParametersTemplateId;
 
+    @ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氱被鍨嬶紙瀛楀吀technology_status_verification_type锛�")
+    @Dict(dicCode = "technology_status_verification_type")
+    private String technologyStatusVerificationType;
+
+    @ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氬崟鎹�")
+    private String technologyStatusVerificationBill;
+
     @TableField(exist = false)
     private String processParametersTemplateName;
 
@@ -299,8 +306,8 @@
     private List<EquipmentProcessParameters> processEditTableList;
     @TableField(exist = false)
     private List<EquipmentPrecisionParameters> precisionEditTableList;
-    @Dict(dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name")
-    @Excel(width = 15,dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name",orderNum = "39", name = "杞﹂棿")
+    @Dict(dicCode = "id",dictTable = "mom_base_area",dicText = "name")
+    @Excel(width = 15,dicCode = "id",dictTable = "mom_base_area",dicText = "name",orderNum = "39", name = "宸ュ尯")
     private String factoryModelId;
     @Excel(width = 15,dicCode = "id",dictTable = "mom_base_work_center",dicText = "name",name = "浜х嚎",orderNum = "40")
     @Dict(dicCode = "id",dictTable = "mom_base_work_center",dicText = "name")
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java
index cbe80f0..6cdce5b 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java
@@ -14,37 +14,49 @@
 @Data
 @Accessors(chain = true)
 public class EquipmentImportVo {
+    @Excel(name = "璁惧鎵�灞炲垎绫�")
+    private String equipmentCategoryName;
+
     @Excel(name="缁熶竴缂栫爜")
     private String num;
 
     @Excel(name = "璁惧鍚嶇О")
     private String name;
 
-    @Excel(name = "浣跨敤閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name")
+    @Excel(name = "鍨嬪彿")
+    private String model;
+
+//    @Excel(name = "浣跨敤閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name")
     private String useId;
 
-    @Excel(name = "宸ュ尯")
-    private String equipmentUda1;
+//    @Excel(name = "宸ュ尯",dicCode = "id",dictTable = "mom_base_area",dicText = "name")
+    private String factoryModelId;
 
-    @Excel(name = "缁存姢閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name")
+//    @Excel(name = "缁存姢閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name")
     private String manageId;
 
-    @Excel(name = "缁翠慨鐝粍",dictTable = "mom_base_team",dicCode = "id",dicText = "name")
+//    @Excel(name = "缁翠慨鐝粍",dictTable = "mom_base_team",dicCode = "id"2,dicText = "name")
     private String teamId;
 
-    @Excel(name = "ABC鏍囪瘑",dicCode = "id",dictTable="mom_eam_equipment_importance",dicText="name")
+//    @Excel(name = "璧勪骇鍒堕�犲晢",dicCode = "id",dictTable="mom_base_constructor",dicText="name")
+    private String constructorId;
+
+    @Excel(name = "ABC鏍囪瘑",dicCode = "ABC-standard-result")
     private String equipmentImportanceId;
 
-    @Excel(name = "璁惧鎵�灞炲垎绫�")
-    private String equipmentCategoryName;
+    @Excel(name = "璁惧鐘舵��",dicCode = "equipment_status")
+    private String equipmentStatus;
 
-    @Excel(name = "鍏抽敭璁惧鏍囪瘑")
+    @Excel(name = "鎶�鏈姸鎬�",dicCode = "technology_status")
+    private String technologyStatus;
+
+    @Excel(name = "鍏抽敭璁惧鏍囪瘑",dicCode = "specific_equipment")
     private String keyEquipmentIdentification;
 
-    @Excel(name = "瀹夊叏閰嶇疆")
-    private String securityConfiguration;
+    @Excel(name = "璧勪骇鐘舵��",dicCode = "property_status")
+    private String 	propertyStatus;
 
-    @Excel(name = "鍐峰嵈绯荤粺")
+    @Excel(name = "鍐峰嵈绯荤粺",dicCode = "cooling_system")
     private String coolingSystem;
 
     @Excel(name = "鐏伀鍣�")
@@ -52,9 +64,6 @@
 
     @Excel(name = "鐏伀鍣ㄦ湁鏁堟湡")
     private String fireExtinguisherValidityPeriod;
-
-    @Excel(name = "鎿嶄綔绯荤粺")
-    private String operatingSystem;
 
     @Excel(name = "绯荤粺")
     private String system;
@@ -64,9 +73,6 @@
 
     @Excel(name = "鍧愭爣鏁伴噺")
     private BigDecimal coordinateNum;
-
-    @Excel(name = "璁惧鐘舵��",dicCode = "equipment_status")
-    private String equipmentStatus;
 
     @Excel(name = "閲嶉噺")
     private String equipmentUda3;
@@ -95,14 +101,11 @@
     @Excel(name = "鍑哄巶缂栧彿")
     private String factoryNumber;
 
-    @Excel(name = "璧勪骇鍒堕�犲晢",dicCode = "id",dictTable="mom_base_constructor",dicText="name")
-    private String constructorId;
-
     @Excel(name = "璧勪骇鐨勬潵婧愬浗瀹�")
     private String sourceCountry;
 
-    @Excel(name = "鍨嬪彿")
-    private String model;
+    @Excel(name = "瀹夊叏閰嶇疆")
+    private String securityConfiguration;
 
     @Excel(name = "瑙勬牸")
     private String specification;
@@ -110,31 +113,14 @@
     @Excel(name = "鎬诲姛鐜�")
     private String gpo;
 
-    @Excel(name = "鎶�鏈姸鎬�",dicCode = "technology_status")
-    private String technologyStatus;
-
-    @Excel(dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name", name = "杞﹂棿")
-    private String factoryModelId;
-
-    @Excel(dicCode = "id",dictTable = "mom_base_work_center",dicText = "name",name = "浜х嚎")
-    private String workCenterId;
-
     @Excel(name = "璐ㄤ繚寮�濮嬫棩鏈�",format = "yyyyMMdd")
     private Date warrantyStart;
 
     @Excel(name = "璐ㄤ繚缁撴潫鏃ユ湡",format = "yyyyMMdd")
     private Date warrantyEnd;
 
-    @Excel(dicCode = "property_status",name = "璧勪骇鐘舵��")
-    private String 	propertyStatus;
-
     @Excel(name = "涓嬫鎶�鏈姸鎬侀壌瀹氭椂闂�", width = 20, format = "yyyyMMdd")
     private Date  nextTechnologyStatusQualificationTime;
-
-
-
-
-
 
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
index 91ad5fd..187628a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,6 +12,7 @@
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.entity.JeecgEntity;
 import org.jeecg.common.system.base.entity.SysUpload;
+import org.springframework.format.annotation.DateTimeFormat;
 
 
 import java.io.Serializable;
@@ -74,6 +76,8 @@
      * 鏁呴殰鏃堕棿
      */
     @ApiModelProperty(value = "鏁呴殰鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date faultTime;
     /**
      * 鏄惁鍋滄満
@@ -173,4 +177,7 @@
      */
     @TableField(exist = false)
     private List<SysUpload> sysUploadList;
+
+    @TableField(exist = false)
+    private String teamId;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java
index baf8fa5..27bad8a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java
@@ -52,7 +52,7 @@
 	/**鐐规椤圭洰id*/
 	@Excel(name = "鐐规椤圭洰id", width = 15)
     @ApiModelProperty(value = "鐐规椤圭洰id")
-    @Dict(dictTable = "mom_eam_inspection_project", dicCode = "id", dicText = "num")
+    @Dict(dictTable = "mom_eam_inspection_project", dicCode = "id", dicText = "name")
     private String inspectionProjectId;
 	/**搴忓彿*/
 	@Excel(name = "搴忓彿", width = 15)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java
index 7a85557..591b44a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java
@@ -36,7 +36,7 @@
 	/**3淇濆伐鍗昳d*/
 	@Excel(name = "3淇濆伐鍗昳d", width = 15)
     @ApiModelProperty(value = "3淇濆伐鍗昳d")
-    private java.lang.String maintenanceOrderId;
+    private java.lang.String maintenanceOrderDetailId;
 	/**淇濆吇閮ㄤ綅*/
 	@Excel(name = "淇濆吇閮ㄤ綅", width = 15)
     @ApiModelProperty(value = "淇濆吇閮ㄤ綅")
@@ -65,4 +65,16 @@
 
     @TableField(exist = false)
     private List<MaintenanceThreeAcceptance> maintenanceThreeAcceptances;
+
+    @TableField(exist = false)
+    private String maintenanceOrderId;
+
+    @TableField(exist = false)
+    private String notPassReason;
+
+    @TableField(exist = false)
+    private String maintenanceCycle;
+
+    @TableField(exist = false)
+    private String equipmentId;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java
index 4742e6b..fe1ad59 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java
@@ -53,6 +53,11 @@
     @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
     @ApiModelProperty(value = "鐢宠浜�")
     private String applicant;
+    /**鍔炵悊浜�*/
+    @Excel(name = "鍔炵悊浜�", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id")
+    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
+    @ApiModelProperty(value = "鍔炵悊浜�")
+    private String handlePerson;
 	/**瀹℃牳鐘舵��*/
 	@Excel(name = "瀹℃牳鐘舵��", width = 15, dicCode = "certificate_apply_status")
     @Dict(dicCode = "certificate_apply_status")
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java
index 2fa74d4..5c6678e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java
@@ -1,10 +1,8 @@
 package org.jeecg.modules.eam.entity;
 
 import java.io.Serializable;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.jeecg.common.aspect.annotation.Dict;
@@ -76,4 +74,17 @@
 	@Excel(name = "灞炴�у瓧娈�5", width = 15)
     @ApiModelProperty(value = "灞炴�у瓧娈�5")
     private String uda5;
+
+
+    @ApiModelProperty(value = "鎵i櫎鍒嗘暟")
+    @TableField(exist = false)
+    private Integer deductionScore;
+
+    @ApiModelProperty(value = "鎵e垎椤瑰唴瀹�")
+    @TableField(exist = false)
+    private String deductionScoreName;
+
+    @ApiModelProperty(value = "鎵e垎璁惧")
+    @TableField(exist = false)
+    private String equipmentName;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
index 34b5611..1b82779 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
@@ -280,4 +280,12 @@
     @TableField(exist = false)
     List<RepairOrderDetail> orderDetails;
 
+    @TableField(exist = false)
+    private String factoryModelId;
+    @TableField(exist = false)
+    private String equipmentCategoryId;
+    @TableField(exist = false)
+    private String userId;
+
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java
index c9ede15..e508dc3 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.eam.entity;
 
 import java.io.Serializable;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -13,49 +14,89 @@
 import org.jeecg.modules.eam.vo.UsetTeamVo;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+
 import java.util.Date;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.io.UnsupportedEncodingException;
 import java.util.List;
 
 /**
  * @Description: 瀹為檯宸ユ椂
  * @Author: jeecg-boot
- * @Date:   2023-04-25
+ * @Date: 2023-04-25
  * @Version: V1.0
  */
 @Data
 @TableName("mom_eam_repair_order_actual_work_hours")
-@ApiModel(value="mom_eam_repair_order_actual_work_hours瀵硅薄", description="瀹為檯宸ユ椂")
+@ApiModel(value = "mom_eam_repair_order_actual_work_hours瀵硅薄", description = "瀹為檯宸ユ椂")
 @Accessors(chain = true)
 public class RepairOrderActualWorkHours implements Serializable {
     private static final long serialVersionUID = 1L;
 
-	/**涓婚敭id*/
-	@TableId(type = IdType.ASSIGN_ID)
+    /**
+     * 涓婚敭id
+     */
+    @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "涓婚敭id")
     private String id;
-	/**鐢ㄦ埛id*/
-	@Excel(name = "鐢ㄦ埛id", width = 15)
+    /**
+     * 鐢ㄦ埛id
+     */
+    @Excel(name = "鐢ㄦ埛id", width = 15)
     @ApiModelProperty(value = "鐢ㄦ埛id")
-    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
+    @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
     private String userId;
-	/**缁翠慨宸ュ崟id*/
+    /**
+     * 缁翠慨宸ュ崟id
+     */
     @ApiModelProperty(value = "缁翠慨宸ュ崟id")
     private String repairOrderId;
-    /**淇悗姹囨姤鍗昳d*/
+    /**
+     * 淇悗姹囨姤鍗昳d
+     */
     @ApiModelProperty(value = "淇悗姹囨姤鍗昳d")
     private String reportAfterRepairId;
-	/**鐝粍id*/
-	@Excel(name = "鐝粍id", width = 15)
+    /**
+     * 鐝粍id
+     */
+    @Excel(name = "鐝粍id", width = 15)
     @ApiModelProperty(value = "鐝粍id")
-    @Dict(dictTable = "mom_base_team",dicCode = "id",dicText = "name")
+    @Dict(dictTable = "mom_base_team", dicCode = "id", dicText = "name")
     private String teamId;
-	/**瀹為檯宸ユ椂*/
-	@Excel(name = "瀹為檯宸ユ椂", width = 15)
+
+    @Excel(name = "鐝粍id", width = 15)
+    @ApiModelProperty(value = "鐝粍id")
+    @Dict(dicCode = "yn")
+    private String principalContractor;
+    /**
+     * 瀹為檯宸ユ椂
+     */
+    @Excel(name = "瀹為檯宸ユ椂", width = 15)
     @ApiModelProperty(value = "瀹為檯宸ユ椂")
     private java.math.BigDecimal actualHour;
+
+    @ApiModelProperty(value = "寮�濮嬫椂闂�")
+    @Excel(name = "寮�濮嬫椂闂�", width = 20, format = "yyyy-MM-dd HH:mm")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    private java.util.Date startTime;
+
+    @ApiModelProperty(value = "缁撴潫鏃堕棿")
+    @Excel(name = "缁撴潫鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    private java.util.Date endTime;
+
+    /**
+     * 瀹為檯宸ユ椂
+     */
+    @Excel(name = "鐞嗚宸ユ椂", width = 15)
+    @ApiModelProperty(value = "鐞嗚宸ユ椂")
+    private String theoreticalTime;
+
     /**
      * 鍒涘缓浜�
      */
@@ -87,40 +128,58 @@
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private java.util.Date updateTime;
-	/**绉熸埛id*/
-	@Excel(name = "绉熸埛id", width = 15)
+    /**
+     * 绉熸埛id
+     */
+    @Excel(name = "绉熸埛id", width = 15)
     @ApiModelProperty(value = "绉熸埛id")
     private String tenantId;
-	/**鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)*/
-	@Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15)
+    /**
+     * 鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)
+     */
+    @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15)
     @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)")
-    private Integer delFlag= CommonConstant.DEL_FLAG_0;
-	/**澶囨敞*/
-	@Excel(name = "澶囨敞", width = 15)
+    private Integer delFlag = CommonConstant.DEL_FLAG_0;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
     @ApiModelProperty(value = "澶囨敞")
     private String remark;
-	/**澶囩敤瀛楁1*/
-	@Excel(name = "澶囩敤瀛楁1", width = 15)
+    /**
+     * 澶囩敤瀛楁1
+     */
+    @Excel(name = "澶囩敤瀛楁1", width = 15)
     @ApiModelProperty(value = "澶囩敤瀛楁1")
     private String repairOrderActualHoursUda1;
-	/**澶囩敤瀛楁2*/
-	@Excel(name = "澶囩敤瀛楁2", width = 15)
+    /**
+     * 澶囩敤瀛楁2
+     */
+    @Excel(name = "澶囩敤瀛楁2", width = 15)
     @ApiModelProperty(value = "澶囩敤瀛楁2")
     private String repairOrderActualHoursUda2;
-	/**澶囩敤瀛楁3*/
-	@Excel(name = "澶囩敤瀛楁3", width = 15)
+    /**
+     * 澶囩敤瀛楁3
+     */
+    @Excel(name = "澶囩敤瀛楁3", width = 15)
     @ApiModelProperty(value = "澶囩敤瀛楁3")
     private String repairOrderActualHoursUda3;
-	/**澶囩敤瀛楁4*/
-	@Excel(name = "澶囩敤瀛楁4", width = 15)
+    /**
+     * 澶囩敤瀛楁4
+     */
+    @Excel(name = "澶囩敤瀛楁4", width = 15)
     @ApiModelProperty(value = "澶囩敤瀛楁4")
     private String repairOrderActualHoursUda4;
-	/**澶囩敤瀛楁5*/
-	@Excel(name = "澶囩敤瀛楁5", width = 15)
+    /**
+     * 澶囩敤瀛楁5
+     */
+    @Excel(name = "澶囩敤瀛楁5", width = 15)
     @ApiModelProperty(value = "澶囩敤瀛楁5")
     private String repairOrderActualHoursUda5;
-	/**鐘舵�� 0 绂佺敤 1 鍚敤*/
-	@Excel(name = "鐘舵�� 0 绂佺敤 1 鍚敤", width = 15)
+    /**
+     * 鐘舵�� 0 绂佺敤 1 鍚敤
+     */
+    @Excel(name = "鐘舵�� 0 绂佺敤 1 鍚敤", width = 15)
     @ApiModelProperty(value = "鐘舵�� 0 绂佺敤 1 鍚敤")
     private String status;
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java
new file mode 100644
index 0000000..c4ddca3
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java
@@ -0,0 +1,96 @@
+package org.jeecg.modules.eam.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.jeecg.common.api.dto.message.MessageDTO;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.modules.eam.entity.Equipment;
+import org.jeecg.modules.eam.entity.EquipmentReportRepair;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
+import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author 鏉庤兘闈�
+ */
+public class RepairOrderWarning implements Job {
+    @Resource
+    private IEquipmentReportRepairService equipmentReportRepairService;
+
+    @Resource
+    private IEamEquipmentService equipmentService;
+
+    @Resource
+    private ISysBaseAPI sysBaseAPI;
+
+    @Resource
+    private ISysUserService sysUserService;
+
+
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        LocalDateTime dateBefore3Days = currentDateTime.minusDays(3);
+        LocalDateTime dateBefore1Days = currentDateTime.minusDays(1);
+        Date result3 = Date.from(dateBefore3Days.atZone(ZoneId.systemDefault()).toInstant());
+        Date result1= Date.from(dateBefore1Days.atZone(ZoneId.systemDefault()).toInstant());
+        List<EquipmentReportRepair> equipmentReportRepairs1 = equipmentReportRepairService.list(new QueryWrapper<EquipmentReportRepair>().lt("fault_time",result1).eq("status","1"));
+        List<EquipmentReportRepair> equipmentReportRepairs3 = equipmentReportRepairService.list(new QueryWrapper<EquipmentReportRepair>().lt("fault_time",result3).eq("status","1"));
+        for(EquipmentReportRepair equipmentReportRepair1:equipmentReportRepairs1){
+            Equipment equipment1 = equipmentService.getById(equipmentReportRepair1.getEquipmentId());
+            if(StringUtils.isNotBlank(equipment1.getSpecificEquipment())){
+                String teamId = equipment1.getTeamId();
+                if(StringUtils.isNotBlank(teamId)){
+                    List<SysUser> sysUsers = sysUserService.list(new QueryWrapper<SysUser>()
+                            .eq("team_id",teamId)
+                            .eq("del_flag",0));
+                    for(SysUser user:sysUsers){
+                        String msg = "缁熶竴缂栧彿涓恒��"+equipment1.getNum()+"銆戠殑璁惧宸茬粡瓒呰繃涓�澶╂湭缁翠慨锛岃绉绘鑷虫晠闅滄姤淇煡鐪�";
+                        MessageDTO messageDTO = new MessageDTO();
+                        messageDTO.setTitle("鏁呴殰鎶ヤ慨鎻愰啋");
+                        messageDTO.setContent(msg);
+                        messageDTO.setCategory("鏁呴殰鎶ヤ慨鎻愰啋");
+                        messageDTO.setFromUser("鏁呴殰鎶ヤ慨鎻愰啋灏忓姪鎵�");
+                        messageDTO.setToUser(user.getUsername());
+                        sysBaseAPI.sendSysAnnouncement(messageDTO);
+                    }
+                }
+            }
+
+        }
+
+        for(EquipmentReportRepair equipmentReportRepair3:equipmentReportRepairs3){
+            Equipment equipment3 = equipmentService.getById(equipmentReportRepair3.getEquipmentId());
+            if(StringUtils.isNotBlank(equipment3.getSpecificEquipment())){
+                String teamId = equipment3.getTeamId();
+                if(StringUtils.isNotBlank(teamId)){
+                    List<SysUser> sysUsers = sysUserService.list(new QueryWrapper<SysUser>()
+                            .eq("team_id",teamId)
+                            .eq("del_flag",0));
+                    for(SysUser user:sysUsers){
+                        String msg = "缁熶竴缂栧彿涓恒��"+equipment3.getNum()+"銆戠殑璁惧宸茬粡瓒呰繃涓夊ぉ鏈淮淇紝璇风Щ姝ヨ嚦鏁呴殰鎶ヤ慨鏌ョ湅";
+                        MessageDTO messageDTO = new MessageDTO();
+                        messageDTO.setTitle("鏁呴殰鎶ヤ慨鎻愰啋");
+                        messageDTO.setContent(msg);
+                        messageDTO.setCategory("鏁呴殰鎶ヤ慨鎻愰啋");
+                        messageDTO.setFromUser("鏁呴殰鎶ヤ慨鎻愰啋灏忓姪鎵�");
+                        messageDTO.setToUser(user.getUsername());
+                        sysBaseAPI.sendSysAnnouncement(messageDTO);
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java
new file mode 100644
index 0000000..a0ccf5d
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java
@@ -0,0 +1,70 @@
+package org.jeecg.modules.eam.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.hibernate.annotations.Source;
+import org.jeecg.common.api.dto.message.MessageDTO;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.vo.DictModel;
+import org.jeecg.modules.eam.entity.Equipment;
+import org.jeecg.modules.eam.entity.EquipmentReportRepair;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.service.*;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Date;
+import java.util.List;
+
+public class ThirdMaintenaceAlart implements Job {
+
+    @Resource
+    private IEamEquipmentService equipmentService;
+    @Resource
+    private ISysBaseAPI sysBaseApi;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
+    @Resource
+    private ISysUserService sysUserService;
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        LocalDateTime dateBefore2Months = currentDateTime.plusMonths(2);
+        Date result = Date.from(dateBefore2Months.atZone(ZoneId.systemDefault()).toInstant());
+        List<Equipment> needAlerts = equipmentService.list(new QueryWrapper<Equipment>().lt("next_third_maintenance_time",result).eq("property_status","normal").eq("del_flag",0));
+        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+        SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text","涓変繚娑堟伅").eq("dict_id",sysDict.getId()),false);
+        String roleCode = sysDictItem.getItemValue();
+        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
+        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
+        for(SysUserRole sysUserRole:sysUserRoles){
+            SysUser sysUser = sysUserService.getById(sysUserRole.getUserId());
+            String title = "璁惧涓嬫涓変繚鍒版湡鎻愰啋!";
+            String msg = "缁熶竴缂栫爜涓猴細";
+            for(Equipment equipment:needAlerts){
+                msg = msg+"銆�"+equipment.getNum()+"銆�";
+            }
+            msg = msg+"鐨勮澶囩涓嬫涓変繚鐨勬棩鏈熶笉瓒充袱涓湀锛岃鍙婃椂澶勭悊";
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle(title);
+            messageDTO.setContent(msg);
+            messageDTO.setCategory("涓変繚娑堟伅");
+            messageDTO.setFromUser("admin");
+            messageDTO.setToUser(sysUser.getUsername());
+            if(needAlerts.size()!=0){
+                sysBaseApi.sendSysAnnouncement(messageDTO);
+            }
+        }
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
index 4ffd7a2..6e65ac6 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
@@ -30,7 +30,11 @@
                                             @Param("equipmentNum") String equipmentNum,
                                             @Param("equipmentName")  String equipmentName,
                                             @Param("status")  String status,
-                                            @Param("repairOrderType") Integer repairOrderType
+                                            @Param("repairOrderType") Integer repairOrderType,
+                                         @Param("equipmentCategoryId")   String equipmentCategoryId,
+                                         @Param("factoryModelId")    String  factoryModelId,
+                                         @Param("specificEquipment")     String     specificEquipment,
+                                         @Param("teamId")   String teamId
     );
 
     IPage<Map<String, Object>> getUserTeam(IPage<Map> pageData, @Param("realname") String realname);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml
index b4a5f63..809c1e1 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml
@@ -17,7 +17,7 @@
         left join mom_sys_upload_rela t4 on t4.bus_id = t1.id
         LEFT JOIN mom_sys_upload t2 ON t4.upload_id = t2.id
         LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'common_upload_type' ) t3 ON t3.item_value = t2.type
-        LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'judgment_result' ) t5 ON t5.item_value = t1.judgment_result
+        LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'technology_status' ) t5 ON t5.item_value = t1.judgment_result
         WHERE t1.del_flag = 0
         <if test="params.calibrationOrderId != null and params.calibrationOrderId != ''">
             and t1.calibration_order_id = #{params.calibrationOrderId}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml
index 4f6024c..8cb44a5 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml
@@ -16,7 +16,8 @@
             t3.maintenance_require as maintenanceRequire,
             concat(t6.code, '/', t6.name) as maintenanceCycleName,
             t5.name as maintenanceSpecialtyName,
-            t1.maintenance_order_detail_uda1 as maintenanceOrderDetailUda1
+            t1.maintenance_order_detail_uda1 as maintenanceOrderDetailUda1,
+            t1.maintenance_order_detail_uda2 as maintenanceOrderDetailUda2
         FROM
             mom_eam_daily_maintenance_order_detail t1
         LEFT JOIN mom_eam_maintenance_standard_detail t2 ON t1.maintenance_standard_detail_id = t2.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
index fc79d81..acc64f2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
@@ -10,6 +10,7 @@
             t1.photo,
             t1.maintenance_project_id as maintenanceProjectId,
             t3.num as maintenanceProjectNum,
+            t3.name as maintenanceProjectName,
             t3.standard,
             t4.item_text as maintenanceMethod,
             t3.maintenance_tool as maintenanceTool
@@ -45,9 +46,11 @@
             t1.status,
             t5.item_text as statusName,
             t1.num,
+            t1.num as technologyStatusVerificationBill,
             t4.id as maintenanceCycleId,
             t4.maintenance_type as maintenanceType,
             t10.item_text as maintenanceTypeName,
+            t4.cycle as maintenanceCycle,
             concat(t4.code, '/', t4.name) as maintenanceCycleName,
             t3.id as equipmentId,
             t3.num as equipmentNum,
@@ -81,7 +84,9 @@
             t1.precision_inspection_status as precisionInspectionStatus,
             t1.stove_exempt_status as stoveExemptStatus,
             t1.inspect_user as inspectUser,
-            t1.inspect_date as inspectDate
+            t1.inspect_date as inspectDate,
+            t12.item_text as checkStatusName,
+            t1.not_pass_reason as notPassReason
         FROM
             mom_eam_daily_maintenance_order t1
         LEFT JOIN mom_eam_maintenance_standard t2 ON t1.maintenance_standard_id = t2.id
@@ -94,6 +99,7 @@
         left join sys_user t8 on t1.maintenance_user_id = t8.id
         left join ( SELECT * FROM v_sys_dict WHERE dict_code = 'assign_mode' ) t9 on t9.item_value = t2.assign_mode
         left join (SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_type') t10 on t10.item_value = t4.maintenance_type
+        left join (SELECT * FROM v_sys_dict WHERE dict_code = 'check_status') t12 on t12.item_value = t1.check_status
         WHERE t1.del_flag = 0 and t2.del_flag = 0 and t3.del_flag = 0 and t4.del_flag = 0 and t4.maintenance_type =#{params.maintenanceType}
         <if test="params.num != null and params.num != ''">
             and t1.num like concat('%',#{params.num},'%')
@@ -109,11 +115,15 @@
             t1.location,
             t1.photo,
             t1.maintenance_project_id AS maintenanceProjectId,
+            case t1.maintenance_role when 'operator' then '鎿嶄綔浜哄憳淇濆吇鍐呭' else '缁翠慨浜哄憳淇濆吇鍐呭' end as maintenanceRole,
             t3.num AS maintenanceProjectNum,
+            t3.name as maintenanceProjectName,
             t3.standard,
             t4.item_text AS maintenanceMethod,
             t3.maintenance_tool AS maintenanceTool,
-            t3.working_hour_quota AS workingHourQuota
+            t3.working_hour_quota AS workingHourQuota,
+            tt.maintenance_order_detail_uda1 as maintenanceOrderDetailUda1,
+            tt.maintenance_order_detail_uda2 as maintenanceOrderDetailUda2
         FROM
             mom_eam_daily_maintenance_order_detail tt
                 LEFT JOIN mom_eam_maintenance_standard_detail t1 ON tt.maintenance_standard_detail_id = t1.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
index 3c4e12a..16d4a2e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -247,7 +247,8 @@
         t1.property_status propertyStatus,
         t1.check_period checkPeriod,
         t1.next_technology_status_qualification_time nextTechnologyStatusQualificationTime,
-        t1.technology_status_qualification_time technologyStatusQualificationTime
+        t1.technology_status_qualification_time technologyStatusQualificationTime,
+        t1.technology_status_verification_type technologyStatusVerificationType
     from mom_eam_equipment t1
     left join (select * from mom_eam_equipment_category where del_flag = 0) t2 on t1.equipment_category_id = t2.id
     where t1.del_flag  = 0
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml
index ac70eca..79d1969 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml
@@ -26,6 +26,7 @@
             t2.num equipmentNum,
             t2.name equipmentName,
             t2.model equipmentModel,
+            t2.team_id teamId,
             t2.specification equipmentSpecification,
             t3.depart_name departName,
             t4.item_text urgencyName,
@@ -35,6 +36,7 @@
         mom_eam_equipment_report_repair t1
         left join mom_eam_equipment t2 on t1.equipment_id = t2.id
         left join sys_depart t3 on t1.use_depart_id = t3.id
+        left join sys_user t8 on t2.team_id = t2.team_id
         left join (select * from v_sys_dict where dict_code='urgency') t4 on t1.urgency = t4.item_value
         left join (select * from v_sys_dict where dict_code='equipment_report_repair_status') t5 on t1.status = t5.item_value
         left join (select * from v_sys_dict where dict_code='is_stop') t6 on t1.is_stop = t6.item_value
@@ -48,6 +50,15 @@
         <if test="params.equipmentNum != null and params.equipmentNum != ''">
             and t2.num like concat('%',#{params.equipmentNum},'%')
         </if>
+        <if test="params.equipmentName != null and params.equipmentName != ''">
+            and t2.name like concat('%',#{params.equipmentName},'%')
+        </if>
+        <if test="params.status != null and params.status != ''">
+            and t1.status = #{params.status}
+        </if>
+        <if test="params.teamId != null and params.teamId != ''">
+            and t2.team_id = #{params.teamId}
+        </if>
         ORDER BY t1.create_time desc
     </select>
 </mapper>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
index 3d0df93..aade9a6 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml
@@ -81,6 +81,7 @@
             t1.photo,
             t1.inspection_project_id as inspectionProjectId,
             t3.num as inspectionProjectNum,
+            t3.name as inspectionProjectName,
             t3.detection_standard as detectionStandard,
             t3.acceptability_limit AS acceptabilityLimit,
             t3.inspection_method as inspectionMethod,
@@ -111,6 +112,7 @@
             t1.photo,
             t1.inspection_project_id AS inspectionProjectId,
             t3.num AS inspectionProjectNum,
+            t3.name as inspectionProjectName,
             t3.detection_standard AS detectionStandard,
             t3.acceptability_limit AS acceptabilityLimit,
             t3.inspection_method AS inspectionMethod,
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml
index bfa4030..03b3e57 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml
@@ -4,14 +4,19 @@
 
     <select id="getMaintenanceThreeAcceptanceList"  parameterType="Map" resultType="Map">
         SELECT
-            t1.id AS id,
-            t1.position,
-            t1.content,
-            t1.standard,
-            t1.first_inspect as firstInspect,
-            t1.second_inspect as secondInspect
+            t1.id,
+            t1.id as maintenanceOrderDetailId,
+            t1.daily_maintenance_order_id AS maintenanceOrderId,
+            t2.location AS position,
+	        t3.name AS content,
+	        t3.standard,
+	        t4.first_inspect AS firstInspect,
+	        t4.second_inspect AS secondInspect
         FROM
-            mom_eam_maintenance_three_acceptance t1
-        WHERE t1.del_flag = '0' AND t1.maintenance_order_id = #{maintenanceOrderId}
+            mom_eam_daily_maintenance_order_detail t1
+            LEFT JOIN mom_eam_maintenance_standard_detail t2 ON t1.maintenance_standard_detail_id = t2.id
+            LEFT JOIN mom_eam_maintenance_project t3 ON t1.maintenance_project_id = t3.id
+            LEFT JOIN mom_eam_maintenance_three_acceptance t4 ON t1.id = t4.maintenance_order_detail_id
+        WHERE t1.del_flag = '0' AND t1.daily_maintenance_order_id = #{maintenanceOrderId}
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml
index 6fca9a7..7be6dd5 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml
@@ -9,8 +9,11 @@
 			 operation_certificate_id = #{mainId} 	</delete>
 	
 	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.eam.entity.OperationCertificateDetail">
-		SELECT * 
-		FROM  mom_eam_operation_certificate_detail
+		SELECT t1.*,t3.name equipmentName,t4.deduction_score deductionScore,t4.content deductionScoreName
+		FROM  mom_eam_operation_certificate_detail t1
+		left join mom_eam_operation_certificate t2 on t1.operation_certificate_id = t2.id
+		left join mom_eam_equipment t3 on t3.id = t1.equipment_id
+		left join mom_eam_base_deduction_item t4 on t4.id = t1.deduction_item
 		WHERE
 			 operation_certificate_id = #{mainId} 	</select>
 </mapper>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml
index 2ddd9c5..da994eb 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml
@@ -12,20 +12,28 @@
             resultType="org.jeecg.modules.eam.entity.RepairOrderActualWorkHours">
 
         SELECT t1.id                                          id,
-               t1.user_num as userNum,
-               t2.id userId,
+               t1.start_time                                  startTime,
+               t1.end_time                                    endTime,
+               t1.principal_contractor                        principalContractor,
+               t1.theoretical_time                            theoreticalTime,
+               t6.item_text                                   principalContractor_dictText,
+               t1.user_num                                 as userNum,
+               t2.id                                          userId,
                t1.repair_order_id                          as repairOrderId,
-               t1.actual_hour,
-               t2.username username,
+               t1.actual_hour,----------
+               t2.username                                    username,
                t2.realname                                 as realname,
 --                t4.name                                     as teamName,
                concat(t6.num, '/', t6.name, '/', t6.model) as equipmentId
         FROM mom_eam_repair_order_actual_work_hours t1
                  LEFT JOIN sys_user t2 on t2.id = t1.user_id
---                  LEFT JOIN mom_base_team_class t3 on t3.id = t2.team_class_id
+            --                  LEFT JOIN mom_base_team_class t3 on t3.id = t2.team_class_id
 --                  LEFT JOIN mom_base_team t4 on t4.id = t3.team_id
                  LEFT JOIN mom_eam_repair_order t5 on t5.id = t1.repair_order_id
                  LEFT JOIN mom_eam_equipment t6 on t6.id = t5.equipment_id
+
+                 left join (select * from v_sys_dict where dict_code = 'yn') t6
+                           on t1.principal_contractor = t6.item_value
         WHERE t1.repair_order_id = #{mainId}
           and t1.del_flag = 0
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
index dd580f2..aa3a807 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
@@ -62,6 +62,18 @@
         <if test="status != null and status != ''">
             and t1.status = #{status}
         </if>
+        <if test="equipmentCategoryId != null and equipmentCategoryId != ''">
+            and t2.equipment_category_id = #{equipmentCategoryId}
+        </if>
+        <if test="factoryModelId != null and factoryModelId != ''">
+            and t2.factory_model_id = #{factoryModelId}
+        </if>
+        <if test="specificEquipment != null and specificEquipment != ''">
+            and t2.specific_equipment = #{specificEquipment}
+        </if>
+        <if test="teamId != null and teamId != ''">
+            and t1.team_id = #{teamId}
+        </if>
         and t1.repair_order_type = #{repairOrderType}
         order by t1.create_time desc
     </select>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
index 5f62573..5d8e6a8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
@@ -7,6 +7,7 @@
 import org.jeecg.modules.eam.mapper.CalibrationOrderMapper;
 import org.jeecg.modules.eam.model.MaintenanceCycleVo;
 import org.jeecg.modules.eam.service.ICalibrationOrderService;
+import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +31,7 @@
     @Autowired
     private CalibrationOrderDetailMapper calibrationOrderDetailMapper;
 
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveMain(CalibrationOrder calibrationOrder, List<CalibrationOrderDetail> calibrationOrderDetailList) {
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java
index a72bb38..606c9bb 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.eam.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
@@ -13,6 +14,8 @@
 //import org.jeecg.modules.system.entity.SysUpload;
 //import org.jeecg.modules.system.entity.SysUploadRela;
 //import org.jeecg.modules.system.service.IUploadRelaService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.mapper.SysUserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -37,6 +40,8 @@
 //    private IUploadRelaService uploadRelaService;
     @Autowired
     private ISysBaseAPI sysBaseApi;
+    @Autowired
+    private SysUserMapper userMapper;
     /**
      * 鏁呴殰鎶ヤ慨娣诲姞
      *
@@ -61,7 +66,6 @@
         baseMapper.updateById(faultTimeVerify(equipmentReportRepair));
         // 楠岃瘉淇敼鍓嶄慨鏀瑰悗鏄惁涓�鑷�
         if (!equipmentReportRepair.getPhoto().equals(equipmentReportRepair1.getPhoto())) {
-//            uploadRelaService.delSysUploadRelaByBusIdAndBusType(id, "equipment_management_failure_photo");
             sysBaseApi.delSysUploadRelaByBusIdAndBusType(id, "equipment_management_failure_photo");
             establishRelations(equipmentReportRepair.getSysUploadList(), id);
         }
@@ -89,7 +93,6 @@
                     sysUploadRelaList.add(sysUploadRela);
                 });
                 // 涓婁紶鏂囦欢涓庝笟鍔℃暟鎹叧绯�
-//                uploadRelaService.saveBatch(sysUploadRelaList);
                 sysBaseApi.saveOrUpdateBatchUploadRela(sysUploadRelaList);
             }
         }
@@ -98,6 +101,10 @@
     @Override
     public IPage<Map<String, Object>> getReportRepairList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
         IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
+        if(StringUtils.isNotBlank((String)params.get("userId"))){
+            SysUser sysUser = userMapper.selectById((String)params.get("userId"));
+            params.put("teamId",sysUser.getTeamId());
+        }
         return super.getBaseMapper().getReportRepairList(pageData, params) ;
     }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
index 63623a6..e56b625 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.eam.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.eam.entity.RepairOrder;
@@ -8,6 +9,8 @@
 import org.jeecg.modules.eam.mapper.*;
 import org.jeecg.modules.eam.service.IRepairOrderDetailService;
 import org.jeecg.modules.eam.service.IRepairOrderService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.mapper.SysUserMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -42,6 +45,8 @@
 	private RepairOrderActualWorkHoursMapper repairOrderActualWorkHoursMapper;
 	@Autowired
 	private EquipmentDocumentMapper equipmentDocumentMapper;
+	@Autowired
+	private SysUserMapper sysUserMapper;
 
 
 
@@ -75,8 +80,14 @@
 
 	@Override
 	public Page<RepairOrder> getRepairOrderList(Page<RepairOrder> page, RepairOrder repairOrder) {
+		if(StringUtils.isNotBlank(repairOrder.getUserId())){
+			SysUser sysUser = sysUserMapper.selectById(repairOrder.getUserId());
+			repairOrder.setTeamId(sysUser.getTeamId());
+		}else{
+			repairOrder.setTeamId("");
+		}
 
-		return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType()));
+		return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId()));
 	}
 
 	@Override
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java
new file mode 100644
index 0000000..643baf0
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java
@@ -0,0 +1,51 @@
+package org.jeecg.modules.eam.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.math.BigDecimal;
+
+
+@Data
+@Accessors(chain = true)
+public class InspectionProjectImportVo {
+
+    @Excel(name= "鐐规椤圭洰鍒嗙被")
+    private String inspectionProjectCategoryId;
+
+    @Excel(name="鐐规椤圭洰缂栫爜")
+    private String num;
+
+    @Excel(name = "鐐规椤圭洰鍚嶇О")
+    private String name;
+
+    @Excel(name = "璁¢噺鍗曚綅",dictTable = "mom_base_unit", dicCode = "id", dicText = "name")
+    private String unitId;
+
+    @Excel(name = "妫�楠屽�肩被鍨�",dicCode = "test_value_type")
+    private String testValueType;
+
+    @Excel(name = "鐐规鏂规硶",dicCode = "inspection_method")
+    private String inspectionMethod;
+
+    @Excel(name = "妫�娴嬫爣鍑�")
+    private String detectionStandard;
+
+    @Excel(name = "鐐规宸ュ叿")
+    private String inspectionTool;
+
+    @Excel(name = "鍚嶄箟鍊�")
+    private BigDecimal surfaceValue;
+
+    @Excel(name = "涓婂亸宸�")
+    private BigDecimal upValue;
+
+    @Excel(name = "涓嬪亸宸�")
+    private BigDecimal downValue;
+
+    @Excel(name = "澶囨敞")
+    private String remark;
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java
index 53ce328..492791b 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java
@@ -52,6 +52,11 @@
     @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
 	@ApiModelProperty(value = "鐢宠浜�")
     private String applicant;
+	/**鍔炵悊浜�*/
+	@Excel(name = "鍔炵悊浜�", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
+	@ApiModelProperty(value = "鍔炵悊浜�")
+	private String handlePerson;
 	/**瀹℃牳鐘舵��*/
 	@Excel(name = "瀹℃牳鐘舵��", width = 15, dicCode = "certificate_apply_status")
     @Dict(dicCode = "certificate_apply_status")
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java
index 72462d1..5074614 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java
@@ -2,7 +2,10 @@
 
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.shiro.SecurityUtils;
@@ -14,9 +17,9 @@
 import org.jeecg.common.util.SqlInjectionUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.message.websocket.WebSocket;
-import org.jeecg.modules.system.entity.SysAnnouncementSend;
+import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.model.AnnouncementSendModel;
-import org.jeecg.modules.system.service.ISysAnnouncementSendService;
+import org.jeecg.modules.system.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -51,7 +54,16 @@
 	private ISysAnnouncementSendService sysAnnouncementSendService;
 	@Autowired
 	private WebSocket webSocket;
-
+	 @Autowired
+	 private ISysRoleService sysRoleService;
+	 @Autowired
+	 private ISysDictService sysDictService;
+	 @Autowired
+	 private ISysDictItemService sysDictItemService;
+	 @Autowired
+	 private ISysUserRoleService sysUserRoleService;
+	 @Autowired
+	 private ISysUserService sysUserService;
 	/**
 	  * 鍒嗛〉鍒楄〃鏌ヨ
 	 * @param sysAnnouncementSend
@@ -92,7 +104,7 @@
 		result.setResult(pageList);
 		return result;
 	}
-	
+
 	/**
 	  *   娣诲姞
 	 * @param sysAnnouncementSend
@@ -110,7 +122,7 @@
 		}
 		return result;
 	}
-	
+
 	/**
 	  *  缂栬緫
 	 * @param sysAnnouncementSend
@@ -129,10 +141,10 @@
 				result.success("鎿嶄綔鎴愬姛!");
 			}
 		}
-		
+
 		return result;
 	}
-	
+
 	/**
 	  *   閫氳繃id鍒犻櫎
 	 * @param id
@@ -150,10 +162,10 @@
 				result.success("鍒犻櫎鎴愬姛!");
 			}
 		}
-		
+
 		return result;
 	}
-	
+
 	/**
 	  *  鎵归噺鍒犻櫎
 	 * @param ids
@@ -170,7 +182,7 @@
 		}
 		return result;
 	}
-	
+
 	/**
 	  * 閫氳繃id鏌ヨ
 	 * @param id
@@ -188,7 +200,7 @@
 		}
 		return result;
 	}
-	
+
 	/**
 	 * @鍔熻兘锛氭洿鏂扮敤鎴风郴缁熸秷鎭槄璇荤姸鎬�
 	 * @param json
@@ -209,7 +221,7 @@
 		result.setSuccess(true);
 		return result;
 	}
-	
+
 	/**
 	 * @鍔熻兘锛氳幏鍙栨垜鐨勬秷鎭�
 	 * @return
@@ -265,4 +277,20 @@
 		 AnnouncementSendModel model = sysAnnouncementSendService.getOne(sendId);
 		 return Result.ok(model);
 	 }
+	 @GetMapping("getPrimaryInfo")
+	 public Result<?> getPrimaryInfo(@RequestParam(name="userId",required=true) String userId){
+		 SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+		 List<SysDictItem> sysDictItemList = sysDictItemService.list(new QueryWrapper<SysDictItem>().eq("dict_id",sysDict.getId()));
+//		 List<String> rollCodeList = sysDictItemList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
+//		 List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("user_id",userId));
+//		 List<String> roleIds = sysUserRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
+//		 List<SysRole> sysRoles = sysRoleService.list(new QueryWrapper<SysRole>().in("role_code",rollCodeList).in("id",roleIds));
+		 List<String> msgCategoryList = sysDictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
+	 	 List<SysAnnouncementSend> list = sysAnnouncementSendService.getPrimaryInfo(userId,msgCategoryList);
+	 	for(SysAnnouncementSend sysAnnouncementSend:list){
+	 		sysAnnouncementSend.setReadFlag("1");
+	 		sysAnnouncementSendService.updateById(sysAnnouncementSend);
+		}
+        return Result.OK(list);
+	 }
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java
index 1d2b955..3add804 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -19,7 +20,7 @@
 @TableName("sys_announcement_send")
 public class SysAnnouncementSend implements Serializable {
     private static final long serialVersionUID = 1L;
-    
+
 	/**id*/
 	@TableId(type = IdType.ASSIGN_ID)
 	private java.lang.String id;
@@ -50,4 +51,9 @@
 	 * 鏄惁鏍囨槦 褰撳�间负1鏄爣鏄熸秷鎭�
 	 */
 	private String starFlag;
+	@TableField(exist = false)
+	private String msgCategory;
+	@TableField(exist = false)
+	private String msgContent;
+
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
index bd2bb94..35eea80 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
@@ -195,4 +195,6 @@
      */
     @TableField(exist = false)
     private String homePath;
+    @Dict(dicCode = "id",dictTable = "mom_base_team",dicText = "name")
+    private String teamId;
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java
index 7871b62..4c2aad7 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java
@@ -44,4 +44,8 @@
 	 * 淇敼涓哄凡璇绘秷鎭�
 	 */
 	void updateReaded(@Param("userId") String userId, @Param("annoceIdList") List<String> annoceIdList);
+	/**
+	 * 鑾峰彇棣栭〉娑堟伅
+	 */
+	List<SysAnnouncementSend> getPrimaryInfo(@Param("userId") String userId,@Param("msgCategoryList")List<String> msgCategoryList);
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml
index 9925f50..532dd8f 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.system.mapper.SysAnnouncementSendMapper">
-	
+
 	<resultMap id="AnnouncementSendModel" type="org.jeecg.modules.system.model.AnnouncementSendModel" >
 		<result column="id" property="id" jdbcType="VARCHAR"/>
 		<result column="annt_id" property="anntId" jdbcType="VARCHAR"/>
@@ -17,12 +17,12 @@
 		<result column="open_type" property="openType" jdbcType="VARCHAR"/>
 		<result column="open_page" property="openPage" jdbcType="VARCHAR"/>
 	</resultMap>
-	
+
 	<select id="queryByUserId" parameterType="String"  resultType="String">
-	   select sas.annt_id from sys_announcement_send sas 
+	   select sas.annt_id from sys_announcement_send sas
 	   where sas.user_id = #{userId}
 	</select>
-	
+
 	<select id="getMyAnnouncementSendList" parameterType="Object"  resultMap="AnnouncementSendModel">
 	   select
 	   		sas.id,
@@ -96,12 +96,33 @@
 	<!-- 淇敼涓哄凡璇绘秷鎭� -->
 	<update id="updateReaded">
 		update sys_announcement_send set read_flag = '1'
-		 where user_id = #{userId} 
+		 where user_id = #{userId}
 			and annt_id in
 		<foreach collection="annoceIdList" index="index" item="id" open="(" separator="," close=")">
 			#{id}
 		</foreach>
 	</update>
-	
+	<select id="getPrimaryInfo" resultType="org.jeecg.modules.system.entity.SysAnnouncementSend">
+		select
+		t1.id id,
+        t1.annt_id anntId,
+		t1.user_id userId,
+		t1.read_flag readFlag,
+		t2.msg_content msgContent,
+		t2.msg_category msgCategory
+        from
+        sys_announcement_send t1
+        left join sys_announcement t2
+        on t1.annt_id = t2.id
+        where  t1.read_flag = '0'
+        and t1.user_id = #{userId}
+		    <if test="msgCategoryList.size != 0">
+				and t2.msg_category in (
+				<foreach item="msgCategory" collection="msgCategoryList" separator=",">
+					#{msgCategory}
+				</foreach>
+				    )
+			</if>
+	</select>
 
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java
index a846d23..1e4e10a 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.system.entity.SysAnnouncementSend;
 import org.jeecg.modules.system.model.AnnouncementSendModel;
 
@@ -22,7 +23,7 @@
      * @return
      */
 	public List<String> queryByUserId(String userId);
-	
+
 	/**
 	 * 鑾峰彇鎴戠殑娑堟伅
 	 * @param announcementSendModel
@@ -36,6 +37,8 @@
 	 * @return
 	 */
 	AnnouncementSendModel getOne(String sendId);
-	
+
+	List<SysAnnouncementSend> getPrimaryInfo(String userId,List<String> msgCategoryList);
+
 
 }
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java
index d07af81..941b114 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java
@@ -24,7 +24,7 @@
 
 	@Resource
 	private SysAnnouncementSendMapper sysAnnouncementSendMapper;
-	
+
 	@Override
 	public List<String> queryByUserId(String userId) {
 		return sysAnnouncementSendMapper.queryByUserId(userId);
@@ -41,4 +41,9 @@
 		return sysAnnouncementSendMapper.getOne(sendId);
 	}
 
+	@Override
+	public List<SysAnnouncementSend> getPrimaryInfo(String userId, List<String> msgCategoryList) {
+		return baseMapper.getPrimaryInfo(userId,msgCategoryList);
+	}
+
 }

--
Gitblit v1.9.3