Lius
2023-10-30 ff9dc3f8220dfeb9acddd2f86c28718001e70314
Merge remote-tracking branch 'origin/master'
已添加3个文件
已修改44个文件
1759 ■■■■ 文件已修改
lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderController.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java 441 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 255 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/CalibrationOrder.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionOrderDetail.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrderActualWorkHours.java 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/CalibrationOrderReportMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderDetailMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentReportRepairMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionOrderMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceThreeAcceptanceMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderActualWorkHoursMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentReportRepairServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) {
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("正常");
                    }
                }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("正常");
                    }
                }
            }
//            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("正常");
//                    }
//                }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("正常");
//                    }
//                }
//            }
        }
        return Result.OK(pageList);
    }
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、持久upload
                 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、持久upload
                 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、持久upload
                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、持久upload
                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);
    }
}
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());
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","正常常");
                     }
                 }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","正常常");
                     }
                 }
             }
         }
//         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","正常常");
//                     }
//                 }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","正常常");
//                     }
//                 }
//             }
//         }
         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){
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("添加成功!");
    }
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);
    }
}
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("添加成功!");
    }
    /**
     *  ç¼–辑
     *
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);
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("审批成功!");
    }
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("领取成功");
     }
}
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;
    /**
     * æ£€å®šç»“果描述
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;
}
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")
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;
}
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;
}
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)
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java
@@ -36,7 +36,7 @@
    /**3保工单id*/
    @Excel(name = "3保工单id", width = 15)
    @ApiModelProperty(value = "3保工单id")
    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;
}
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")
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 = "扣除分数")
    @TableField(exist = false)
    private Integer deductionScore;
    @ApiModelProperty(value = "扣分项内容")
    @TableField(exist = false)
    private String deductionScoreName;
    @ApiModelProperty(value = "扣分设备")
    @TableField(exist = false)
    private String equipmentName;
}
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;
}
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;
    /**修后汇报单id*/
    /**
     * ä¿®åŽæ±‡æŠ¥å•id
     */
    @ApiModelProperty(value = "修后汇报单id")
    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-正常,1-已删除)*/
    @Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    /**
     * åˆ é™¤çŠ¶æ€(0-正常,1-已删除)
     */
    @Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    @ApiModelProperty(value = "删除状态(0-正常,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;
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);
                    }
                }
            }
        }
    }
}
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);
            }
        }
    }
}
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);
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}
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
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
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
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>
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,
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>
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>
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
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>
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) {
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) ;
    }
}
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
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;
}
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")
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);
     }
}
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;
}
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;
}
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);
}
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>
</mapper>
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);
}
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);
    }
}