已添加2个文件
已修改29个文件
1229 ■■■■ 文件已修改
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/EamEquipmentController.java 56 ●●●● 补丁 | 查看 | 原始文档 | 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 12 ●●●●● 补丁 | 查看 | 原始文档 | 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/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/EquipmentReportRepair.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java 8 ●●●● 补丁 | 查看 | 原始文档 | 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/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/DailyMaintenanceOrderMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | 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/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/entity/SysUser.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/EamEquipmentController.java
@@ -468,34 +468,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);
     }
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
@@ -96,12 +96,22 @@
        String userId = sysUser.getId();
        String maintenanceOrderId = maintenanceThreeAcceptance.getMaintenanceOrderId();
        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);
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/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/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/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,10 @@
    @TableField(exist = false)
    private List<MaintenanceThreeAcceptance> maintenanceThreeAcceptances;
    @TableField(exist = false)
    private String maintenanceOrderId;
    @TableField(exist = false)
    private String notPassReason;
}
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/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/DailyMaintenanceOrderMapper.xml
@@ -81,7 +81,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 +96,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},'%')
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/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/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;
}