From 8d85246f061e3da623c7b9eb4e323ee724b4de0b Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 13 一月 2025 13:20:01 +0800 Subject: [PATCH] 设备cnas代码搬迁 --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExternalApplyServiceImpl.java | 163 cnas-server/src/main/java/com/yuanchu/mom/mapper/ReservationMapper.java | 23 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java | 89 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAccidentReport.java | 120 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLease.java | 47 cnas-server/src/main/resources/static/word/device-scrapped.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/service/IncidentSparePartsService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExternalApplyDto.java | 12 cnas-server/src/main/resources/mapper/IncidentReportMapper.xml | 118 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlanDetails.java | 76 cnas-server/src/main/java/com/yuanchu/mom/service/impl/OperationInstructionServiceImpl.java | 27 cnas-server/src/main/java/com/yuanchu/mom/service/impl/QrShowServiceImpl.java | 218 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBreakdownMaintenanceMapper.java | 27 cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceMetricService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanDetailsMapper.java | 25 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLogServiceImpl.java | 11 cnas-server/src/main/resources/static/word/device-status.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordService.java | 69 cnas-server/src/main/resources/static/word/maintenance-plan.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastServiceImpl.java | 195 cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentSparePartsServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceMaintenanceExport.java | 45 cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentAcceptanceCheckServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLogController.java | 50 cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastDetailsMapper.xml | 22 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagement.java | 77 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultController.java | 50 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExport.java | 19 cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionFileDto.java | 44 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordDetailMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceFileService.java | 17 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordMapper.java | 28 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceStateMapper.java | 20 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLogMapper.java | 9 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordDetailsServiceImpl.java | 20 cnas-server/src/main/resources/static/word/device-document.docx | 0 framework/src/main/java/com/yuanchu/mom/enums/QrModelType.java | 39 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCalibrationPlanController.java | 163 cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentSpareParts.java | 44 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanDetailMapper.java | 27 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLeaseMapper.java | 9 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDto.java | 30 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DocumentServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDetailsDto.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java | 91 cnas-server/src/main/resources/mapper/OperationInstructionMapper.xml | 13 cnas-server/src/main/java/com/yuanchu/mom/service/QrShowService.java | 9 cnas-server/src/main/java/com/yuanchu/mom/vo/OperationInstructionVo.java | 17 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordExportWord.java | 28 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceRecordController.java | 70 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java | 142 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceStateServiceImpl.java | 159 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBreakdownMaintenanceService.java | 41 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java | 239 + cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordDetailsMapper.java | 16 cnas-server/src/main/resources/static/word/acceptance-certificate.docx | 0 cnas-server/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml | 28 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordMapper.java | 31 cnas-server/src/main/java/com/yuanchu/mom/dto/ReservationDto.java | 10 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLog.java | 29 cnas-server/src/main/resources/static/word/incident-report.docx | 0 cnas-server/src/main/resources/static/word/device-inspection-record.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastMapper.java | 31 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementDetailsServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDetailsDto.java | 32 cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementMapper.xml | 39 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAccidentReportController.java | 88 cnas-server/src/main/resources/mapper/DeviceMapper.xml | 7 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanServiceImpl.java | 252 + cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java | 89 cnas-server/src/main/resources/mapper/DeviceExamineRecordMapper.xml | 25 cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentInstallMapper.java | 16 cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml | 33 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBreakdownMaintenanceController.java | 89 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceStateDto.java | 32 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanMapper.java | 29 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceScrappedService.java | 43 cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentReportMapper.java | 37 cnas-server/src/main/java/com/yuanchu/mom/service/IncidentAcceptanceCheckService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultMapper.java | 9 cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentReportServiceImpl.java | 187 cnas-server/src/main/resources/mapper/DeviceExamineRecordDetailMapper.xml | 22 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenanceImpl.java | 97 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricController.java | 35 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricRecordService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/dto/DocumentExportWordDto.java | 45 cnas-server/src/main/resources/mapper/DeviceAccidentReportMapper.xml | 29 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordDetail.java | 70 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLeaseController.java | 44 cnas-server/src/main/resources/mapper/DeviceFaultOneMapper.xml | 50 cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentFileMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanDetailService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/controller/IncidentReportController.java | 84 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrast.java | 97 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricsCopyService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceScrapped.java | 105 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBorrowServiceImpl.java | 124 cnas-server/src/main/resources/mapper/DeviceCalibrationPlanDetailMapper.xml | 17 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanDetailsService.java | 17 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricRecordMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricsCopyMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceRecord.java | 70 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanDetailsServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordDto.java | 28 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetric.java | 29 cnas-server/src/main/java/com/yuanchu/mom/service/IncidentReportService.java | 42 cnas-server/src/main/resources/mapper/DeviceMetricsCopyMapper.xml | 20 cnas-server/src/main/java/com/yuanchu/mom/mapper/DocumentDao.java | 9 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceInspectionRecordDto.java | 25 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExcel.java | 33 cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentFileServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlanDetails.java | 62 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceStateService.java | 31 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordAndMaintenanceDto.java | 38 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceScrappedDto.java | 26 cnas-server/src/main/java/com/yuanchu/mom/excel/IncidentReportExport.java | 31 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanDetailsMapper.java | 27 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExternalApplyService.java | 42 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 4 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementDetailsService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlan.java | 75 cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportAddDto.java | 26 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordDto.java | 14 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceRecordMapper.java | 37 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCheckMapper.java | 7 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceService.java | 39 cnas-server/src/main/java/com/yuanchu/mom/mapper/InstructionMapper.java | 23 cnas-server/src/main/resources/mapper/DeviceExternalApplyMapper.xml | 23 cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionDto.java | 13 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecord.java | 93 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExport.java | 34 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordDetailService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/Instruction.java | 64 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceState.java | 107 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultServiceImpl.java | 97 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceRecordExport.java | 43 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricRecordController.java | 89 cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentReport.java | 142 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceScrappedServiceImpl.java | 181 cnas-server/src/main/resources/mapper/DeviceScrappedMapper.xml | 27 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlan.java | 67 cnas-server/src/main/resources/static/word/use-record.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementDetailsMapper.java | 26 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricsCopyServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlanDetail.java | 74 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCheckServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLogService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceRecordService.java | 31 cnas-server/src/main/resources/mapper/InstructionMapper.xml | 30 cnas-server/src/main/resources/mapper/DeviceInspectionRecordMapper.xml | 33 cnas-server/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml | 16 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAccidentReportService.java | 41 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultOneService.java | 20 cnas-server/src/main/resources/mapper/IncidentFileMapper.xml | 13 cnas-server/src/main/resources/mapper/IncidentInstallMapper.xml | 14 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAccidentReportMapper.java | 35 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDto.java | 27 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceScrappedMapper.java | 35 cnas-server/src/main/resources/static/word/maintenance-records.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/pojo/OperationInstruction.java | 89 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanService.java | 70 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricServiceImpl.java | 11 cnas-server/src/main/resources/mapper/IncidentSparePartsMapper.xml | 14 cnas-server/src/main/resources/mapper/DeviceCalibrationPlanMapper.xml | 20 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastDetailsMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceCalibrationPlanDetailUpload.java | 36 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanDetailsService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentInstall.java | 44 inspect-server/src/main/java/com/yuanchu/mom/utils/UserUtils.java | 90 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 4 cnas-server/src/main/resources/static/word/examine-plan-detail.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceScrappedController.java | 86 cnas-server/src/main/resources/mapper/DeviceAcceptanceMapper.xml | 17 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementMapper.java | 34 cnas-server/src/main/java/com/yuanchu/mom/mapper/OperationInstructionMapper.java | 20 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFault.java | 39 cnas-server/src/main/java/com/yuanchu/mom/service/impl/InstructionServiceImpl.java | 72 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExaminePlanController.java | 255 + cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenancePlanController.java | 104 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceTraceabilityManagementController.java | 104 cnas-server/src/main/resources/mapper/DeviceMaintenanceMapper.xml | 22 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultOneMapper.java | 20 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExternalApply.java | 123 cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentAcceptanceCheckMapper.java | 16 cnas-server/src/main/resources/static/word/quipment-details.docx | 0 cnas-server/src/main/resources/static/word/examine-record.docx | 0 cnas-server/src/main/resources/static/word/review-examine-record-contrast.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/service/OperationInstructionService.java | 20 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceStateExport.java | 36 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceMapper.java | 27 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceFileMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/service/InstructionService.java | 23 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceFaultOneDto.java | 17 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordServiceImpl.java | 196 cnas-server/src/main/resources/static/word/device-accident-report.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java | 76 cnas-server/src/main/resources/static/word/traceability-management-details.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordDetailsService.java | 16 cnas-server/src/main/resources/mapper/ReservationMapper.xml | 40 cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentInstallServiceImpl.java | 11 cnas-server/src/main/resources/static/word/device-external-apply.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDetailsDto.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptanceFile.java | 58 cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceBorrowExcel.java | 39 cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentSparePartsMapper.java | 16 cnas-server/src/main/java/com/yuanchu/mom/controller/ReservationController.java | 70 cnas-server/src/main/java/com/yuanchu/mom/pojo/Reservation.java | 84 cnas-server/src/main/resources/mapper/DeviceBorrowMapper.xml | 46 cnas-server/src/main/resources/mapper/DeviceStateMapper.xml | 44 cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastMapper.xml | 39 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAccidentReportServiceImpl.java | 191 cnas-server/src/main/resources/static/word/device-calibration-plan.docx | 0 cnas-server/src/main/resources/mapper/DeviceExaminePlanMapper.xml | 33 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanService.java | 70 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrastDetails.java | 70 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlan.java | 67 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecord.java | 139 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementServiceImpl.java | 244 + cnas-server/src/main/resources/mapper/DeviceInspectionRecordDetailsMapper.xml | 19 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastDetailsServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportExportWordDto.java | 49 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDto.java | 47 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBreakdownMaintenance.java | 90 cnas-server/src/main/java/com/yuanchu/mom/service/IncidentInstallService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/controller/InstructionController.java | 109 cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLeaseService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDto.java | 31 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementService.java | 61 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricMapper.java | 9 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceFileServiceImpl.java | 20 cnas-server/src/main/resources/mapper/DeviceAcceptanceFileMapper.xml | 18 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceInspectionRecordController.java | 104 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanMapper.java | 35 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBorrowMapper.java | 25 cnas-server/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml | 18 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagementDetails.java | 68 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordDetailServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentAcceptanceCheck.java | 50 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordService.java | 43 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLeaseServiceImpl.java | 11 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCheck.java | 24 cnas-server/src/main/java/com/yuanchu/mom/service/DocumentService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceServiceImpl.java | 159 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenanceController.java | 97 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExternalApplyMapper.java | 34 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanServiceImpl.java | 254 + cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentFile.java | 40 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanDetailServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBreakdownMaintenanceServiceImpl.java | 154 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenanceMapper.java | 18 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenanceService.java | 24 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDetailsDto.java | 25 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultService.java | 10 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultOneController.java | 82 cnas-server/src/main/java/com/yuanchu/mom/controller/DocumentController.java | 44 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCollectionDto.java | 28 cnas-server/src/main/java/com/yuanchu/mom/service/IncidentFileService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordDto.java | 13 cnas-server/src/main/java/com/yuanchu/mom/service/ReservationService.java | 26 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecordDetails.java | 63 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanDetailsServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceExaminePlanUpload.java | 37 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptance.java | 77 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastDetailsService.java | 16 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenance.java | 42 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricsCopy.java | 66 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDetailDto.java | 21 cnas-server/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml | 34 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFaultOne.java | 125 cnas-server/src/main/java/com/yuanchu/mom/controller/QrShowController.java | 34 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCheckController.java | 46 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java | 2 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastService.java | 46 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultOneServiceImpl.java | 27 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java | 2 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCheckService.java | 7 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanService.java | 69 cnas-server/src/main/resources/mapper/DeviceMetricRecordMapper.xml | 22 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricRecordServiceImpl.java | 20 cnas-server/src/main/java/com/yuanchu/mom/dto/OperationInstructionDto.java | 35 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordServiceImpl.java | 223 cnas-server/src/main/java/com/yuanchu/mom/service/impl/ReservationServiceImpl.java | 122 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceAccidentReportDto.java | 31 cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java | 159 cnas-server/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml | 50 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDto.java | 33 cnas-server/src/main/resources/static/word/device-breakdown-maintenance.docx | 0 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAcceptanceController.java | 142 cnas-server/src/main/resources/mapper/DeviceBreakdownMaintenanceMapper.xml | 17 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExternalApplyController.java | 88 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBorrowService.java | 27 cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanMapper.java | 34 292 files changed, 13,830 insertions(+), 6 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAcceptanceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAcceptanceController.java new file mode 100644 index 0000000..a7b3ab9 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAcceptanceController.java @@ -0,0 +1,142 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.pojo.DeviceAcceptance; +import com.yuanchu.mom.pojo.DeviceAcceptanceFile; +import com.yuanchu.mom.service.DeviceAcceptanceFileService; +import com.yuanchu.mom.service.DeviceAcceptanceService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 璁惧楠屾敹(瑁呭) 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:14 + */ +@Api(tags = "璁惧楠屾敹(瑁呭)") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceAcceptance") +public class DeviceAcceptanceController { + + private DeviceAcceptanceService deviceAcceptanceService; + private DeviceAcceptanceFileService deviceAcceptanceFileService; + + /** + * 璁惧楠屾敹鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧楠屾敹鍒楄〃") + @PostMapping("/pageDeviceAcceptance") + public Result<IPage<DeviceAcceptance>> pageDeviceAcceptance(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceAcceptance deviceAcceptance = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceAcceptance.class); + return Result.success(deviceAcceptanceService.pageDeviceAcceptance(page, deviceAcceptance)); + } + + /** + * 鏌ヨ璁惧楠屾敹 + * @return + */ + @ApiOperation(value = "鏌ヨ璁惧楠屾敹") + @GetMapping("/getDeviceAcceptance") + public Result getDeviceAcceptance(Integer acceptanceId){ + return Result.success(deviceAcceptanceService.getById(acceptanceId)); + } + + /** + * 鍒犻櫎璁惧楠屾敹 + * @return + */ + @ApiOperation(value = "鍒犻櫎璁惧楠屾敹") + @GetMapping("/delDeviceAcceptance") + public Result delDeviceAcceptance(Integer acceptanceId){ + return Result.success(deviceAcceptanceService.removeById(acceptanceId)); + } + + /** + * 鏂板璁惧楠屾敹 + * @return + */ + @ApiOperation(value = "鏂板璁惧楠屾敹") + @PostMapping("/addDeviceAcceptance") + public Result addDeviceAcceptance(@RequestBody DeviceAcceptance deviceAcceptance){ + return Result.success(deviceAcceptanceService.save(deviceAcceptance)); + } + + /** + * 鏂板璁惧楠屾敹 + * @return + */ + @ApiOperation(value = "缂栬緫璁惧楠屾敹") + @PostMapping("/updateDeviceAcceptance") + public Result updateDeviceAcceptance(@RequestBody DeviceAcceptance deviceAcceptance){ + return Result.success(deviceAcceptanceService.updateById(deviceAcceptance)); + } + + /** + * 璁惧楠屾敹瀵煎嚭 + * @param acceptanceId 璁惧楠屾敹id + * @param response 鍝嶅簲浣� + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧楠屾敹瀵煎嚭") + @GetMapping("/exportDeviceAcceptance") + public void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response){ + deviceAcceptanceService.exportDeviceAcceptance(acceptanceId, response); + } + + /** + * 璁惧楠屾敹闄勪欢鏂板 + * @param acceptanceId + * @param file + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧楠屾敹闄勪欢鏂板") + @PostMapping("/uploadDeviceAcceptanceFile") + public Result<?> uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file) { + return Result.success(deviceAcceptanceService.uploadDeviceAcceptanceFile(acceptanceId, file)); + } + + + /** + * 璁惧楠屾敹闄勪欢鍒楄〃 + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧楠屾敹闄勪欢鍒楄〃") + @GetMapping("/getDeviceAcceptanceFileList") + public Result<List<DeviceAcceptanceFile>> getVerifyMethodFileList(Integer acceptanceId){ + return Result.success(deviceAcceptanceFileService.list(Wrappers.<DeviceAcceptanceFile>lambdaQuery() + .eq(DeviceAcceptanceFile::getAcceptanceId, acceptanceId))); + } + + /** + * 璁惧楠屾敹闄勪欢鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧楠屾敹闄勪欢鍒犻櫎") + @GetMapping("/delDeviceAcceptanceFileList") + public Result delDeviceAcceptanceFileList(Integer acceptanceFileId){ + return Result.success(deviceAcceptanceFileService.removeById(acceptanceFileId)); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAccidentReportController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAccidentReportController.java new file mode 100644 index 0000000..7345adf --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceAccidentReportController.java @@ -0,0 +1,88 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceAccidentReport; +import com.yuanchu.mom.service.DeviceAccidentReportService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧浜嬫晠鎶ュ憡鍗� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 06:31:12 + */ +@Api(tags = "璁惧浜嬫晠鎶ュ憡鍗�") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceAccidentReport") +public class DeviceAccidentReportController { + + private DeviceAccidentReportService deviceAccidentReportService; + + + /** + * 璁惧浜嬫晠鎶ュ憡鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧浜嬫晠鎶ュ憡鍒楄〃") + @PostMapping("/pageDeviceAccidentReport") + public Result<IPage<DeviceAccidentReport>> pageDeviceAccidentReport(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceAccidentReport deviceAccidentReport = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceAccidentReport.class); + return Result.success(deviceAccidentReportService.pageDeviceAccidentReport(page, deviceAccidentReport)); + } + + /** + * 鏌ヨ璁惧浜嬫晠鎶ュ憡 + * @return + */ + @ApiOperation(value = "鏌ヨ璁惧浜嬫晠鎶ュ憡") + @GetMapping("/getDeviceAccidentReport") + public Result getDeviceAccidentReport(Integer accidentReportId){ + return Result.success(deviceAccidentReportService.getById(accidentReportId)); + } + + /** + * 鍒犻櫎璁惧浜嬫晠鎶ュ憡 + * @return + */ + @ApiOperation(value = "鍒犻櫎璁惧浜嬫晠鎶ュ憡") + @GetMapping("/delDeviceAccidentReport") + public Result delDeviceAccidentReport(Integer accidentReportId){ + return Result.success(deviceAccidentReportService.removeById(accidentReportId)); + } + + /** + * 鏂板璁惧浜嬫晠鎶ュ憡 + * @return + */ + @ApiOperation(value = "鏂板璁惧浜嬫晠鎶ュ憡") + @PostMapping("/addDeviceAccidentReport") + public Result addDeviceAccidentReport(@RequestBody DeviceAccidentReport deviceAccidentReport){ + return Result.success(deviceAccidentReportService.addDeviceAccidentReport(deviceAccidentReport)); + } + + /** + * 瀵煎嚭璁惧浜嬫晠鎶ュ憡 + * @param accidentReportId 璁惧浜嬫晠鎶ュ憡id + * @param response 鍝嶅簲 + */ + @ApiOperation(value = "瀵煎嚭璁惧浜嬫晠鎶ュ憡") + @GetMapping("/exportDeviceAccidentReport") + public Result exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response) { + deviceAccidentReportService.exportDeviceAccidentReport(accidentReportId, response); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java new file mode 100644 index 0000000..8e3bfa3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBorrowController.java @@ -0,0 +1,76 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceBorrow; +import com.yuanchu.mom.service.DeviceBorrowService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 10:53:51 + */ +@RestController +@RequestMapping("/deviceBorrow") +public class DeviceBorrowController { + + @Resource + private DeviceBorrowService deviceBorrowService; + + + //鍒嗛〉 + @PostMapping("/deviceBorrowPage") + public Result deviceBorrowPage(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceBorrow deviceBorrow = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceBorrow.class); + return Result.success(deviceBorrowService.deviceBorrowPage(page, deviceBorrow)); + } + + //鏌ヨ + @GetMapping("/getDeviceBorrow") + public Result getDeviceBorrow(Integer id) { + return Result.success(deviceBorrowService.getDeviceBorrow(id)); + } + + //鏂板 + @PostMapping("/saveDeviceBorrow") + public Result saveDeviceBorrow(@RequestBody DeviceBorrow deviceBorrow) { + return Result.success(deviceBorrowService.saveDeviceBorrow(deviceBorrow)); + } + + //鍒犻櫎 + @PostMapping("/deleteDeviceBorrow") + public Result deleteDeviceBorrow(Integer id) { + return Result.success(deviceBorrowService.removeById(id)); + } + + //瀵煎嚭 + @PostMapping("/deviceBorrowExport") + public Result deviceBorrowExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { + List<DeviceBorrow> deviceBorrows = deviceBorrowService.getDeviceBorrowBydeviceId(deviceId); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(DeviceBorrow.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet() + .doWrite(deviceBorrows); + return Result.success(); + } + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBreakdownMaintenanceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBreakdownMaintenanceController.java new file mode 100644 index 0000000..57bb78b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceBreakdownMaintenanceController.java @@ -0,0 +1,89 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceBreakdownMaintenance; +import com.yuanchu.mom.service.DeviceBreakdownMaintenanceService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧鏁呴殰缁翠慨琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 04:50:57 + */ +@Api(tags = "璁惧鏁呴殰缁翠慨琛�") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceBreakdownMaintenance") +public class DeviceBreakdownMaintenanceController { + + private DeviceBreakdownMaintenanceService deviceBreakdownMaintenanceService; + + + /** + * 璁惧鏁呴殰缁翠慨鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧鏁呴殰缁翠慨鍒楄〃") + @PostMapping("/pageDeviceBreakdownMaintenance") + public Result<IPage<DeviceBreakdownMaintenance>> pageDeviceBreakdownMaintenance(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceBreakdownMaintenance deviceBreakdownMaintenance = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceBreakdownMaintenance.class); + return Result.success(deviceBreakdownMaintenanceService.pageDeviceBreakdownMaintenance(page, deviceBreakdownMaintenance)); + } + + /** + * 鏌ヨ璁惧鏁呴殰缁翠慨 + * @return + */ + @ApiOperation(value = "鏌ヨ璁惧鏁呴殰缁翠慨") + @GetMapping("/getDeviceBreakdownMaintenance") + public Result getDeviceBreakdownMaintenance(Integer maintenanceId){ + return Result.success(deviceBreakdownMaintenanceService.getById(maintenanceId)); + } + + /** + * 鍒犻櫎璁惧鏁呴殰缁翠慨 + * @return + */ + @ApiOperation(value = "鍒犻櫎璁惧鏁呴殰缁翠慨") + @GetMapping("/delDeviceBreakdownMaintenance") + public Result delDeviceBreakdownMaintenance(Integer maintenanceId){ + return Result.success(deviceBreakdownMaintenanceService.removeById(maintenanceId)); + } + + /** + * 鏂板璁惧鏁呴殰缁翠慨 + * @return + */ + @ApiOperation(value = "鏂板璁惧鏁呴殰缁翠慨") + @PostMapping("/addDeviceBreakdownMaintenance") + public Result addDeviceBreakdownMaintenance(@RequestBody DeviceBreakdownMaintenance deviceBreakdownMaintenance){ + return Result.success(deviceBreakdownMaintenanceService.addDeviceBreakdownMaintenance(deviceBreakdownMaintenance)); + } + + /** + * 瀵煎嚭璁惧鏁呴殰缁翠慨 + * @param maintenanceId 璁惧鏁呴殰缁翠慨id + * @param response 鍝嶅簲 + * @return + */ + @ApiOperation(value = "瀵煎嚭璁惧鏁呴殰缁翠慨") + @GetMapping("/exportDeviceBreakdownMaintenance") + public Result exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response){ + deviceBreakdownMaintenanceService.exportDeviceBreakdownMaintenance(maintenanceId, response); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCalibrationPlanController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCalibrationPlanController.java new file mode 100644 index 0000000..8460bfa --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCalibrationPlanController.java @@ -0,0 +1,163 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.DeviceCalibrationPlanDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.pojo.DeviceCalibrationPlan; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import com.yuanchu.mom.service.DeviceCalibrationPlanDetailService; +import com.yuanchu.mom.service.DeviceCalibrationPlanService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧鏍″噯璁″垝涓昏〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:17 + */ +@Api(tags = "璁惧鏍″噯璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceCalibrationPlan") +public class DeviceCalibrationPlanController { + + private DeviceCalibrationPlanService deviceCalibrationPlanService; + + private DeviceCalibrationPlanDetailService deviceCalibrationPlanDetailService; + + /** + * 鏂板璁惧鏍″噯璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板璁惧鏍″噯璁″垝") + @PostMapping("/addDeviceCalibrationPlan") + public Result addDeviceCalibrationPlan(@RequestBody DeviceCalibrationPlanDto calibrationPlanDto){ + return Result.success(deviceCalibrationPlanService.addDeviceCalibrationPlan(calibrationPlanDto)); + } + + /** + * 瀵煎叆璁惧鏍″噯璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎叆璁惧鏍″噯璁″垝") + @PostMapping("/importDeviceCalibrationPlan") + public Result importDeviceCalibrationPlan(MultipartFile file, String planYear){ + return Result.success(deviceCalibrationPlanService.importDeviceCalibrationPlan(file, planYear)); + } + + + /** + * 璁惧鏍″噯璁″垝鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧鏍″噯璁″垝鍒犻櫎") + @GetMapping("/delQualitySupervise") + public Result delQualitySupervise(Integer planId){ + return Result.success(deviceCalibrationPlanService.removeById(planId)); + } + + /** + * 璁惧鏍″噯璁″垝鎵瑰噯 + * @return + */ + @ValueClassify("璐ㄩ噺璁惧鏍″噯璁″垝") + @ApiOperation(value = "璁惧鏍″噯璁″垝鎵瑰噯") + @PostMapping("/ratifyDeviceCalibrationPlan") + public Result ratifyDeviceCalibrationPlan(@RequestBody DeviceCalibrationPlan DeviceCalibrationPlan){ + return Result.success(deviceCalibrationPlanService.ratifyDeviceCalibrationPlan(DeviceCalibrationPlan)); + } + + + /** + * 璁惧鏍″噯璁″垝鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧鏍″噯璁″垝鍒楄〃") + @PostMapping("/pageDeviceCalibrationPlan") + public Result<IPage<DeviceCalibrationPlanDto>> pageDeviceCalibrationPlan(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceCalibrationPlan DeviceCalibrationPlan = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceCalibrationPlan.class); + return Result.success(deviceCalibrationPlanService.pageDeviceCalibrationPlan(page, DeviceCalibrationPlan)); + } + + /** + * 璁惧鏍″噯璁″垝璇︽儏鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "璁惧鏍″噯璁″垝璇︽儏鍒楄〃") + @PostMapping("/pageDeviceCalibrationPlanDetail") + public Result<IPage<DeviceCalibrationPlanDetail>> pageDeviceCalibrationPlanDetail(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceCalibrationPlanDetail deviceCalibrationPlanDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceCalibrationPlanDetail.class); + return Result.success(deviceCalibrationPlanService.pageDeviceCalibrationPlanDetail(page, deviceCalibrationPlanDetails)); + } + + /** + * 鏂板璁惧鏍″噯璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板璁惧鏍″噯璁″垝璇︽儏") + @PostMapping("/addDeviceCalibrationPlanDetail") + public Result addDeviceCalibrationPlanDetail(@RequestBody DeviceCalibrationPlanDetail deviceCalibrationPlanDetail){ + if (deviceCalibrationPlanDetail.getPlanId() == null) { + throw new ErrorException("缂哄皯璁惧鏍″噯璁″垝涓昏〃id"); + } + return Result.success(deviceCalibrationPlanDetailService.save(deviceCalibrationPlanDetail)); + } + + /** + * 淇敼璁惧鏍″噯璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "淇敼璁惧鏍″噯璁″垝璇︽儏") + @PostMapping("/updateDeviceCalibrationPlanDetail") + public Result updateDeviceCalibrationPlanDetail(@RequestBody DeviceCalibrationPlanDetail deviceCalibrationPlanDetail){ + return Result.success(deviceCalibrationPlanDetailService.updateById(deviceCalibrationPlanDetail)); + } + + /** + * 鍒犻櫎璁惧鏍″噯璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎璁惧鏍″噯璁″垝璇︽儏") + @GetMapping("/delDeviceCalibrationPlanDetail") + public Result delDeviceCalibrationPlanDetail(Integer planDetailsId){ + return Result.success(deviceCalibrationPlanDetailService.removeById(planDetailsId)); + } + + /** + * 瀵煎嚭璁惧鏍″噯璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭璁惧鏍″噯璁″垝") + @GetMapping("/exportDeviceCalibrationPlanDetail") + public void exportDeviceCalibrationPlanDetail(Integer planId, HttpServletResponse response){ + deviceCalibrationPlanService.exportDeviceCalibrationPlanDetail(planId, response); + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCheckController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCheckController.java new file mode 100644 index 0000000..cf14c10 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceCheckController.java @@ -0,0 +1,46 @@ +package com.yuanchu.mom.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yuanchu.mom.pojo.DeviceCheck; +import com.yuanchu.mom.service.DeviceCheckService; +import com.yuanchu.mom.vo.Result; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@RequestMapping("/device-check") +public class DeviceCheckController { + @Autowired + private DeviceCheckService deviceCheckService; + + @PostMapping(consumes= MediaType.APPLICATION_FORM_URLENCODED_VALUE) + public Result create(DeviceCheck deviceCheck) { + return Result.success(deviceCheckService.save(deviceCheck)); + } + + @GetMapping("/{id}") + public Result read(@PathVariable Integer id) { + LambdaQueryWrapper<DeviceCheck> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DeviceCheck::getDeviceId,id); + return Result.success(deviceCheckService.list(lambdaQueryWrapper)); + } + + @PutMapping("/{id}") + public Result update(@PathVariable Integer id, @RequestBody DeviceCheck deviceCheck) { + deviceCheck.setDeviceId(id); + deviceCheckService.updateById(deviceCheck); + return Result.success(); + } + + @DeleteMapping("/{id}") + public Result delete(@PathVariable Integer id) { + return Result.success(deviceCheckService.removeById(id)); + } + + @GetMapping + public Result list() { + return Result.success(deviceCheckService.list()); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java index 4754723..c1df04d 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java @@ -59,10 +59,10 @@ @ValueClassify("璁惧") @ApiOperation(value = "鏌ヨ璁惧璇︽儏鍒楄〃") @PostMapping("/selectDeviceParameter") - public Result selectDeviceParameter(@RequestBody Map<String, Object> data) throws Exception { + public Result selectDeviceParameter(@RequestBody Map<String, Object> data,@RequestParam(value = "laboratoryNameIsNull", required = false) Boolean laboratoryNameIsNull) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); DeviceDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class); - return Result.success(deviceService.selectDeviceParameter(page, itemParameter)); + return Result.success(deviceService.selectDeviceParameter(page, itemParameter,laboratoryNameIsNull)); } @ValueClassify("璁惧") diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExaminePlanController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExaminePlanController.java new file mode 100644 index 0000000..cea4d7e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExaminePlanController.java @@ -0,0 +1,255 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.DeviceExaminePlanDto; +import com.yuanchu.mom.dto.DeviceExamineRecordContrastDto; +import com.yuanchu.mom.dto.DeviceExamineRecordDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.pojo.DeviceExaminePlan; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import com.yuanchu.mom.service.DeviceExaminePlanDetailsService; +import com.yuanchu.mom.service.DeviceExaminePlanService; +import com.yuanchu.mom.service.DeviceExamineRecordContrastService; +import com.yuanchu.mom.service.DeviceExamineRecordService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧鏍告煡璁″垝涓昏〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:04 + */ +@Api(tags = "璁惧鏍告煡璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceExaminePlan") +public class DeviceExaminePlanController { + + private DeviceExaminePlanService deviceExaminePlanService; + + private DeviceExaminePlanDetailsService deviceExaminePlanDetailsService; + + private DeviceExamineRecordService deviceExamineRecordService; + + private DeviceExamineRecordContrastService deviceExamineRecordContrastService; + + + /** + * 鏂板璁惧鏍告煡璁″垝 + * @return + */ + @ApiOperation(value = "鏂板璁惧鏍告煡璁″垝") + @PostMapping("/addDeviceExaminePlan") + public Result addDeviceExaminePlan(@RequestBody DeviceExaminePlanDto examinePlanDto){ + return Result.success(deviceExaminePlanService.addDeviceExaminePlan(examinePlanDto)); + } + + /** + * 瀵煎叆璁惧鏍告煡璁″垝 + * @return + */ + @ApiOperation(value = "瀵煎叆璁惧鏍告煡璁″垝") + @PostMapping("/importDeviceExaminePlan") + public Result importDeviceExaminePlan(MultipartFile file){ + return Result.success(deviceExaminePlanService.importDeviceExaminePlan(file)); + } + + + /** + * 璁惧鏍告煡璁″垝鍒犻櫎 + * @return + */ + @ApiOperation(value = "璁惧鏍告煡璁″垝鍒犻櫎") + @GetMapping("/delQualitySupervise") + public Result delQualitySupervise(Integer planId){ + return Result.success(deviceExaminePlanService.removeById(planId)); + } + + /** + * 璁惧鏍告煡璁″垝鎵瑰噯 + * @return + */ + @ValueClassify("璐ㄩ噺璁惧鏍告煡璁″垝") + @ApiOperation(value = "璁惧鏍告煡璁″垝鎵瑰噯") + @PostMapping("/ratifyDeviceExaminePlan") + public Result ratifyDeviceExaminePlan(@RequestBody DeviceExaminePlan DeviceExaminePlan){ + return Result.success(deviceExaminePlanService.ratifyDeviceExaminePlan(DeviceExaminePlan)); + } + + + /** + * 璁惧鏍告煡璁″垝鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧鏍告煡璁″垝鍒楄〃") + @PostMapping("/pageDeviceExaminePlan") + public Result<IPage<DeviceExaminePlanDto>> pageDeviceExaminePlan(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceExaminePlan DeviceExaminePlan = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceExaminePlan.class); + return Result.success(deviceExaminePlanService.pageDeviceExaminePlan(page, DeviceExaminePlan)); + } + + /** + * 璁惧鏍告煡璁″垝璇︽儏鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧鏍告煡璁″垝璇︽儏鍒楄〃") + @PostMapping("/pageDeviceExaminePlanDetail") + public Result<IPage<DeviceExaminePlanDetails>> pageDeviceExaminePlanDetail(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceExaminePlanDetails deviceExaminePlanDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceExaminePlanDetails.class); + return Result.success(deviceExaminePlanService.pageDeviceExaminePlanDetail(page, deviceExaminePlanDetails)); + } + + /** + * 鏂板璁惧鏍告煡璁″垝璇︽儏 + * @return + */ + @ApiOperation(value = "鏂板璁惧鏍告煡璁″垝璇︽儏") + @PostMapping("/addDeviceExaminePlanDetail") + public Result addDeviceExaminePlanDetail(@RequestBody DeviceExaminePlanDetails deviceExaminePlanDetail){ + if (deviceExaminePlanDetail.getPlanId() == null) { + throw new ErrorException("缂哄皯璁惧鏍告煡璁″垝涓昏〃id"); + } + return Result.success(deviceExaminePlanDetailsService.save(deviceExaminePlanDetail)); + } + + /** + * 淇敼璁惧鏍告煡璁″垝璇︽儏 + * @return + */ + @ApiOperation(value = "淇敼璁惧鏍告煡璁″垝璇︽儏") + @PostMapping("/updateDeviceExaminePlanDetail") + public Result updateDeviceExaminePlanDetail(@RequestBody DeviceExaminePlanDetails deviceExaminePlanDetail){ + return Result.success(deviceExaminePlanDetailsService.updateById(deviceExaminePlanDetail)); + } + + /** + * 鍒犻櫎璁惧鏍告煡璁″垝璇︽儏 + * @return + */ + @ApiOperation(value = "鍒犻櫎璁惧鏍告煡璁″垝璇︽儏") + @GetMapping("/delDeviceExaminePlanDetail") + public Result delDeviceExaminePlanDetail(Integer planDetailsId){ + return Result.success(deviceExaminePlanDetailsService.removeById(planDetailsId)); + } + + /** + * 瀵煎嚭璁惧鏍告煡璁″垝 + * @param planId 璁惧鏍告煡璁″垝id + * @return + */ + @ApiOperation(value = "瀵煎嚭璁惧鏍告煡璁″垝") + @GetMapping("/exportDeviceExaminePlanDetail") + public void exportDeviceExaminePlanDetail(Integer planId, HttpServletResponse response){ + deviceExaminePlanService.exportDeviceExaminePlanDetail(planId, response); + } + + /*********************************************** 鎶ュ憡 **************************************************/ + + /** + * 鏌ヨ鏍告煡璁板綍 + * @return + */ + @ApiOperation(value = "鏌ヨ鏍告煡璁板綍") + @GetMapping("/getExamineRecord") + public Result<DeviceExamineRecordDto> getExamineRecord(Integer planDetailsId){ + return Result.success(deviceExamineRecordService.getExamineRecord(planDetailsId)); + } + + /** + * 鏂板鏍告煡璁板綍 + * @return + */ + @ApiOperation(value = "鏂板鏍告煡璁板綍") + @PostMapping("/addExamineRecord") + public Result addExamineRecord(@RequestBody DeviceExamineRecordDto deviceExamineRecordDto){ + return Result.success(deviceExamineRecordService.addExamineRecord(deviceExamineRecordDto)); + } + + + /** + * 澶嶆牳鏍告煡璁板綍 + * @return + */ + @ApiOperation(value = "澶嶆牳鏍告煡璁板綍") + @PostMapping("/reviewExamineRecord") + public Result reviewExamineRecord(@RequestBody DeviceExamineRecordDto deviceExamineRecordDto){ + return Result.success(deviceExamineRecordService.reviewExamineRecord(deviceExamineRecordDto)); + } + + /** + * 瀵煎嚭澶嶆牳鏍告煡璁板綍 + * @param planDetailsId + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭澶嶆牳鏍告煡璁板綍") + @GetMapping("/exportReviewExamineRecordDetail") + public void exportReviewExamineRecordDetail(Integer planDetailsId, HttpServletResponse response){ + deviceExamineRecordService.exportReviewExamineRecordDetail(planDetailsId, response); + } + + /*********************************************** 鎶ュ憡瀵规瘮 **************************************************/ + + + /** + * 鏌ヨ鏍告煡瀵规瘮璁板綍 + * @return + */ + @ApiOperation(value = "鏌ヨ鏍告煡瀵规瘮璁板綍") + @GetMapping("/getExamineRecordContrast") + public Result<DeviceExamineRecordContrastDto> getExamineRecordContrast(Integer planDetailsId){ + return Result.success(deviceExamineRecordContrastService.getExamineRecordContrast(planDetailsId)); + } + + /** + * 鏂板鏍告煡瀵规瘮璁板綍 + * @return + */ + @ApiOperation(value = "鏂板鏍告煡瀵规瘮璁板綍") + @PostMapping("/addExamineRecordContrast") + public Result addExamineRecordContrast(@RequestBody DeviceExamineRecordContrastDto deviceExamineRecordContrastDto){ + return Result.success(deviceExamineRecordContrastService.addExamineRecordContrast(deviceExamineRecordContrastDto)); + } + + + /** + * 瀹℃牳鏍告煡瀵规瘮璁板綍 + * @return + */ + @ApiOperation(value = "瀹℃牳鏍告煡瀵规瘮璁板綍") + @PostMapping("/reviewExamineRecordContrast") + public Result reviewExamineRecordContrast(@RequestBody DeviceExamineRecordContrastDto deviceExamineRecordContrastDto){ + return Result.success(deviceExamineRecordContrastService.reviewExamineRecordContrast(deviceExamineRecordContrastDto)); + } + + /** + * 瀵煎嚭瀹℃牳鏍告煡瀵规瘮璁板綍 + * @param planDetailsId + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭瀹℃牳鏍告煡瀵规瘮璁板綍") + @GetMapping("/exportReviewExamineRecordContrast") + public Result exportReviewExamineRecordContrast(Integer planDetailsId, HttpServletResponse response){ + deviceExamineRecordContrastService.exportReviewExamineRecordContrast(planDetailsId, response); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExternalApplyController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExternalApplyController.java new file mode 100644 index 0000000..edd9e06 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceExternalApplyController.java @@ -0,0 +1,88 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceExternalApply; +import com.yuanchu.mom.service.DeviceExternalApplyService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鍒╃敤澶栭儴璁惧鐢宠琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 10:28:43 + */ +@Api(tags = "鍒╃敤澶栭儴璁惧鐢宠琛�") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceExternalApply") +public class DeviceExternalApplyController { + + private DeviceExternalApplyService deviceExternalApplyService; + + + /** + * 鍒╃敤澶栭儴璁惧鐢宠鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "鍒╃敤澶栭儴璁惧鐢宠鍒楄〃") + @PostMapping("/pageDeviceExternalApply") + public Result<IPage<DeviceExternalApply>> pageDeviceExternalApply(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceExternalApply deviceExternalApply = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceExternalApply.class); + return Result.success(deviceExternalApplyService.pageDeviceExternalApply(page, deviceExternalApply)); + } + + /** + * 鏌ヨ鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鏌ヨ鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/getDeviceExternalApply") + public Result getDeviceExternalApply(Integer externalApplyId){ + return Result.success(deviceExternalApplyService.getById(externalApplyId)); + } + + /** + * 鍒犻櫎鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鍒犻櫎鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/delDeviceExternalApply") + public Result delDeviceExternalApply(Integer externalApplyId){ + return Result.success(deviceExternalApplyService.removeById(externalApplyId)); + } + + /** + * 鏂板鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鏂板鍒╃敤澶栭儴璁惧鐢宠") + @PostMapping("/addDeviceExternalApply") + public Result addDeviceExternalApply(@RequestBody DeviceExternalApply deviceExternalApply){ + return Result.success(deviceExternalApplyService.addDeviceExternalApply(deviceExternalApply)); + } + + /** + * 瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠 + * @param externalApplyId 澶栭儴璁惧鐢宠id + * @return + */ + @ApiOperation(value = "瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/exportDeviceExternalApply") + public Result exportDeviceExternalApply(Integer externalApplyId, HttpServletResponse response){ + deviceExternalApplyService.exportDeviceExternalApply(externalApplyId, response); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultController.java new file mode 100644 index 0000000..c9b664a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultController.java @@ -0,0 +1,50 @@ +package com.yuanchu.mom.controller; + +import com.yuanchu.mom.pojo.DeviceFault; +import com.yuanchu.mom.service.DeviceFaultService; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/device-faults") +public class DeviceFaultController { + + private final DeviceFaultService deviceFaultService; + + @Autowired + public DeviceFaultController(DeviceFaultService deviceFaultService) { + this.deviceFaultService = deviceFaultService; + } + + @GetMapping + public List<DeviceFault> getAllDeviceFaults() { + return deviceFaultService.list(); + } + + @PostMapping + public DeviceFault createDeviceFault(@RequestBody DeviceFault deviceFault) { + deviceFaultService.save(deviceFault); + return deviceFault; + } + + @PutMapping("/{id}") + public DeviceFault updateDeviceFault(@PathVariable Integer id, @RequestBody DeviceFault deviceFault) { + deviceFault.setId(id); + deviceFaultService.updateById(deviceFault); + return deviceFault; + } + + @DeleteMapping("/{id}") + public void deleteDeviceFault(@PathVariable Integer id) { + deviceFaultService.removeById(id); + } + + @GetMapping("/device/{deviceId}") + public Result<Map<String,Object>> getDeviceFaultsByDeviceId(@PathVariable Integer deviceId) { + return Result.success(deviceFaultService.findByDeviceId(deviceId)); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultOneController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultOneController.java new file mode 100644 index 0000000..e0521aa --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceFaultOneController.java @@ -0,0 +1,82 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceFaultOneDto; +import com.yuanchu.mom.excel.DeviceFaultOneExport; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceFaultOne; +import com.yuanchu.mom.service.DeviceFaultOneService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +/** + * <p> + * 璁惧鏁呴殰琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 02:03:29 + */ +@RestController +@RequestMapping("/deviceFaultOne") +public class DeviceFaultOneController { + + @Autowired + private DeviceFaultOneService deviceFaultOneService; + + @Autowired + private NumberGenerator<DeviceFaultOne> numberGenerator; + + @GetMapping("/deviceFaultOnePage") + public Result deviceFaultOnePage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber) { + return Result.success(deviceFaultOneService.deviceFaultOnePage(deviceId,page, processNumber)); + } + + @PostMapping("/addOrUpdateDeviceFaultOne") + public Result addOrUpdateDeviceFaultOne(@RequestBody DeviceFaultOne deviceFaultOne) { + if (ObjectUtils.isEmpty(deviceFaultOne.getProcessNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceFaultOne::getProcessNumber); + deviceFaultOne.setProcessNumber(processNumber); + } + return Result.success(deviceFaultOneService.saveOrUpdate(deviceFaultOne)); + } + + @DeleteMapping("/deleteDeviceFaultOne") + public Result deleteDeviceFaultOne(@RequestParam("id") Integer id) { + return Result.success(deviceFaultOneService.removeById(id)); + } + + @ApiOperation(value = "濂栨儵璁板綍瀵煎嚭") + @PostMapping("exportRewardAndPunishmentRecords") + public void exportRewardAndPunishmentRecords(@RequestParam("deviceId") Integer deviceId, String processNumber, + HttpServletResponse response) throws Exception { + IPage<DeviceFaultOneDto> data = deviceFaultOneService.deviceFaultOnePage(deviceId, new Page<>(1, -1), processNumber); + List<DeviceFaultOneExport> studentList = JSONObject.parseArray(JSON.toJSONString(data.getRecords()), DeviceFaultOneExport.class); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(DeviceFaultOneExport.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(studentList); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceInspectionRecordController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceInspectionRecordController.java new file mode 100644 index 0000000..8def047 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceInspectionRecordController.java @@ -0,0 +1,104 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceInspectionRecordDto; +import com.yuanchu.mom.pojo.DeviceInspectionRecord; +import com.yuanchu.mom.service.DeviceInspectionRecordService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧鐐规璁板綍琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:25:14 + */ +@Api(tags = "璁惧鐐规璁板綍") +@RestController +@RequestMapping("/deviceInspectionRecord") +public class DeviceInspectionRecordController { + @Resource + private DeviceInspectionRecordService deviceInspectionRecordService; + + /** + * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 + * @param data 鍒嗛〉鍙傛暟 + */ + @ApiOperation("鍒嗛〉鏌ヨ璁惧鐐规璁板綍") + @PostMapping("/getDeviceInspectionRecordByPage") + @SneakyThrows + public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(@RequestBody Map<String, Object> data) { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceInspectionRecordDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceInspectionRecordDto.class); + return deviceInspectionRecordService.getDeviceInspectionRecordByPage(page, itemParameter); + } + + /** + * 鏌ヨ鐐规璇︽儏 + */ + @ApiOperation("鏌ヨ鐐规璇︽儏") + @GetMapping("/getDeviceInspectionRecord") + public Result getDeviceInspectionRecord(Integer inspectionRecordId) { + return deviceInspectionRecordService.getDeviceInspectionRecord(inspectionRecordId); + } + + /** + * 鏂板璁惧鐐规璁板綍 + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + @ApiOperation("鏂板璁惧鐐规璁板綍") + @PostMapping("/addDeviceInspectionRecord") + public Result addDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceInspectionRecord) { + return deviceInspectionRecordService.addDeviceInspectionRecord(deviceInspectionRecord); + } + + /** + * 淇敼璁惧鐐规璁板綍 + */ + @ApiOperation("淇敼璁惧鐐规璁板綍") + @PostMapping("/updateDeviceInspectionRecord") + public Result updateDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceInspectionRecord) { + return deviceInspectionRecordService.updateInspectionRecordAndDetails(deviceInspectionRecord); + } + + /** + * 鍒犻櫎璁惧鐐规璁板綍 + */ + @ApiOperation("鍒犻櫎璁惧鐐规璁板綍") + @GetMapping("/deleteDeviceInspectionRecord") + public Result deleteDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord) { + return deviceInspectionRecordService.deleteDeviceInspectionRecordOrDetails(deviceInspectionRecord); + } + + + /** + * 澶嶆牳鐐规璁板綍 + * @return + */ + @ApiOperation(value = "澶嶆牳鏍告煡璁板綍") + @PostMapping("/reviewDeviceInspectionRecord") + public Result reviewDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceExamineRecordDto){ + return deviceInspectionRecordService.reviewDeviceInspectionRecord(deviceExamineRecordDto); + } + + + /** + * 瀵煎嚭璁惧鐐规璁板綍 + */ + @ApiOperation("瀵煎嚭璁惧鐐规璁板綍") + @GetMapping("/exportDeviceInspectionRecord") + public Result exportDeviceInspectionRecord(@RequestParam("inspectionRecordId") Integer inspectionRecordId, HttpServletResponse response) { + return deviceInspectionRecordService.exportDeviceInspectionRecord(inspectionRecordId, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLeaseController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLeaseController.java new file mode 100644 index 0000000..ccd1492 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLeaseController.java @@ -0,0 +1,44 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yuanchu.mom.pojo.DeviceLease; +import com.yuanchu.mom.service.IDeviceLeaseService; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/deviceleases") +public class DeviceLeaseController { + + @Autowired + private IDeviceLeaseService deviceLeaseService; + + @PostMapping("") + public Result create( DeviceLease deviceLease) { + deviceLeaseService.save(deviceLease); + return Result.success(); + } + +// @GetMapping("/{leaseId}") +// public DeviceLease get(@PathVariable Integer leaseId) { +// return deviceLeaseService.getById(leaseId); +// } + @GetMapping("/list/{id}") + public Result get(@PathVariable Integer id) { + LambdaQueryWrapper<DeviceLease> lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DeviceLease::getDeviceId,id); + return Result.success(deviceLeaseService.list(lambdaQueryWrapper)); + } + + @PutMapping("/{leaseId}") + public boolean update(@PathVariable Integer leaseId, @RequestBody DeviceLease deviceLease) { + deviceLease.setLeaseId(leaseId); + return deviceLeaseService.updateById(deviceLease); + } + + @DeleteMapping("/{leaseId}") + public boolean delete(@PathVariable Integer leaseId) { + return deviceLeaseService.removeById(leaseId); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLogController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLogController.java new file mode 100644 index 0000000..bdc0c15 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceLogController.java @@ -0,0 +1,50 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yuanchu.mom.pojo.DeviceLog; +import com.yuanchu.mom.service.IDeviceLogService; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/api/device-log") // 鏇存柊璺緞 +//杩欓噷鐨勬帴鍙e叏閮ㄦ槸鍦ㄨ澶囨牎鍑嗙殑鍦版柟鐢ㄥ埌,浣嗘槸鍏朵粬鍦版柟浼氬彟澶栧啓 +public class DeviceLogController { + + @Autowired + private IDeviceLogService deviceLogService; // 鏇存柊Service寮曠敤 + + @GetMapping + public List<DeviceLog> getAllDeviceLogs() { // 鏇存柊鏂规硶鍚� + return deviceLogService.list(); + } + @GetMapping("/{id}") + public Result getAllDeviceLogsBydId(@PathVariable int id) { // 鏇存柊鏂规硶鍚� + LambdaQueryWrapper<DeviceLog> lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DeviceLog::getDeviceId,id); + lambdaQueryWrapper.eq(DeviceLog::getRelevanceForm,"device_maintenance"); + return Result.success(deviceLogService.list(lambdaQueryWrapper)); + } + @PostMapping + public Result createDeviceLog(DeviceLog deviceLog) { // 鏇存柊鏂规硶鍚� + deviceLog.setRelevanceForm("device_maintenance");//鍏宠仈璁惧鏍″噯 + deviceLogService.save(deviceLog); + return Result.success(); + } + + @PutMapping("/{id}") + public DeviceLog updateDeviceLog(@PathVariable Integer id, @RequestBody DeviceLog deviceLog) { // 鏇存柊鏂规硶鍚� + deviceLog.setId(id); + deviceLogService.updateById(deviceLog); + return deviceLog; + } + + @DeleteMapping("/{id}") + public Result deleteDeviceLog(@PathVariable Integer id) { // 鏇存柊鏂规硶鍚� + deviceLogService.removeById(id); + return Result.success(); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenanceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenanceController.java new file mode 100644 index 0000000..4fe3184 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenanceController.java @@ -0,0 +1,97 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.excel.DeviceMaintenanceExport; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceMaintenance; +import com.yuanchu.mom.service.DeviceMaintenanceService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +@RestController +@RequestMapping("/device-maintain") +public class DeviceMaintenanceController { + + @Autowired + private DeviceMaintenanceService deviceMaintenanceService; + + @Autowired + private NumberGenerator<DeviceMaintenance> numberGenerator; + //澧� + @PostMapping() + public Result create(DeviceMaintenance deviceMaintenance){ + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceMaintenance::getDeviceNumber); + deviceMaintenance.setDeviceNumber(processNumber); + return Result.success(deviceMaintenanceService.save(deviceMaintenance)); + } + + //閫氳繃deviceId鏌ヨ缁存姢鏁版嵁 + @GetMapping("/getDeviceMaintenancePage") + public Result getDeviceMaintenancePage(@RequestParam("deviceId") Integer deviceId, Page page, String deviceNumber){ + return Result.success(deviceMaintenanceService.getDeviceMaintenancePage(page, deviceId, deviceNumber)); + } + + //鍒� + @DeleteMapping("/delete/{id}") + public void deleteDeviceFault(@PathVariable Integer id) { + deviceMaintenanceService.removeById(id); + } + + @GetMapping("/deviceMaintenanceExport") + public Result deviceMaintenanceExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws IOException { + List<DeviceMaintenanceExport> list = deviceMaintenanceService.deviceMaintenanceExport(deviceId); + response.setHeader("requestType","excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(DeviceMaintenanceExport.class) + .registerWriteHandler(getHorizontalCellStyleStrategy((short) 12)) + .sheet() + .doWrite(list); + return Result.success(); + } + + @ApiOperation(value = "璁惧缁存姢璁板綍瀵煎嚭") + @GetMapping("/exportMaintenanceRecord") + @ValueAuth + public void exportMaintenanceRecord(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { + deviceMaintenanceService.exportMaintenanceRecord(deviceId, response); + } + + /** + * 鍗曞厓鏍兼牱寮忕瓥鐣� + */ + public static HorizontalCellStyleStrategy getHorizontalCellStyleStrategy(Short fontHeightInPoints) { + // 鍐呭鐨勭瓥鐣� + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + + // 銆愭按骞冲眳涓渶瑕佷娇鐢ㄤ互涓嬩袱琛屻�� + // 璁剧疆鏂囧瓧宸﹀彸灞呬腑 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + // 璁剧疆鏂囧瓧涓婁笅灞呬腑 + contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + // 璁剧疆 鑷姩鎹㈣ + contentWriteCellStyle.setWrapped(true); + + // 鏍峰紡绛栫暐 + return new HorizontalCellStyleStrategy(null, contentWriteCellStyle); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenancePlanController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenancePlanController.java new file mode 100644 index 0000000..6122748 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMaintenancePlanController.java @@ -0,0 +1,104 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDto; +import com.yuanchu.mom.pojo.DeviceMaintenancePlan; +import com.yuanchu.mom.service.DeviceMaintenancePlanService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧淇濆吇璁″垝琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:10:52 + */ +@Api(tags = "璁惧淇濆吇璁″垝") +@RestController +@RequestMapping("/deviceMaintenancePlan") +public class DeviceMaintenancePlanController { + @Resource + private DeviceMaintenancePlanService deviceMaintenancePlanService; + + /** + * 鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝 + * @param data 鍒嗛〉鍙傛暟 + * @return + */ + @ApiOperation("鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝") + @PostMapping("selectDeviceMaintenancePlanByPage") + @SneakyThrows + public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(@RequestBody Map<String, Object> data){ + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceMaintenancePlanDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceMaintenancePlanDto.class); + return deviceMaintenancePlanService.selectDeviceMaintenancePlanByPage(page, itemParameter); + } + + /** + * 鏂板璁惧淇濆吇璁″垝 + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @ApiOperation("鏂板璁惧淇濆吇璁″垝") + @PostMapping("/addMaintenancePlan") + public Result addMaintenancePlan(@RequestBody DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + return deviceMaintenancePlanService.addMaintenancePlan(deviceMaintenancePlanDto); + } + + /** + * 淇敼璁惧淇濆吇璁″垝 + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @ApiOperation("淇敼璁惧淇濆吇璁″垝") + @PostMapping("/updateMaintenancePlan") + public Result updateMaintenancePlan(@RequestBody DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + return deviceMaintenancePlanService.updateMaintenancePlan(deviceMaintenancePlanDto); + } + + /** + * 鍒犻櫎璁惧淇濆吇璁″垝 + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @ApiOperation("鍒犻櫎璁惧淇濆吇璁″垝") + @GetMapping("/deleteMaintenancePlan") + public Result deleteMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + return deviceMaintenancePlanService.deleteMaintenancePlan(deviceMaintenancePlanDto); + } + + /** + * 鏌ヨ璁惧淇濆吇璁″垝璇︽儏 + */ + @ApiOperation("鏌ヨ璁惧淇濆吇璁″垝璇︽儏") + @GetMapping("/getMaintenancePlanDetail") + public Result<DeviceMaintenancePlanDto> getMaintenancePlanDetail(Integer maintenancePlanId) { + return deviceMaintenancePlanService.getMaintenancePlanDetail(maintenancePlanId); + } + + /** + * 鏌ヨ璁惧淇濆吇璁″垝璇︽儏 + */ + @ApiOperation("淇濆吇璁″垝瀹℃牳鐘舵�佷慨鏀�") + @PostMapping("/reviewMaintenancePlanStatus") + public Result reviewMaintenancePlanStatus(@RequestBody DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + return deviceMaintenancePlanService.reviewMaintenancePlanStatus(deviceMaintenancePlanDto); + } + + /** + * 瀵煎嚭璁惧淇濆吇璁″垝 + */ + @ApiOperation("瀵煎嚭璁惧淇濆吇璁″垝") + @GetMapping("/exportDeviceMaintenancePlan") + public Result exportDeviceMaintenancePlan(@RequestParam("maintenancePlanId") Integer maintenancePlanId, HttpServletResponse response) { + return deviceMaintenancePlanService.exportDeviceMaintenancePlanDto(maintenancePlanId, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricController.java new file mode 100644 index 0000000..c67c1d3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricController.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.yuanchu.mom.pojo.DeviceMetric; +import com.yuanchu.mom.service.IDeviceMetricService; +import com.yuanchu.mom.vo.Result; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@RequestMapping("/deviceMetrics") +public class DeviceMetricController { + + @Autowired + private IDeviceMetricService deviceMetricService; + + @PostMapping("/saveOrUpdateDeviceMetric") + public Result create(@RequestBody DeviceMetric deviceMetric) { + return Result.success(deviceMetricService.saveOrUpdate(deviceMetric)); + } + + @GetMapping("/selectDeviceMetric") + public Result read(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type) { + return Result.success(deviceMetricService.list(Wrappers.<DeviceMetric>lambdaQuery() + .eq(DeviceMetric::getDeviceId,deviceId) + .eq(DeviceMetric::getType,type))); + } + + @DeleteMapping("/deleteDeviceMetrics") + public Result delete(@RequestParam("id") Integer id) { + return Result.success(deviceMetricService.removeById(id)); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricRecordController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricRecordController.java new file mode 100644 index 0000000..9bfd1fd --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceMetricRecordController.java @@ -0,0 +1,89 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceMetricRecordDto; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceMetricRecord; +import com.yuanchu.mom.pojo.DeviceMetricsCopy; +import com.yuanchu.mom.service.DeviceMetricRecordService; +import com.yuanchu.mom.service.DeviceMetricsCopyService; +import com.yuanchu.mom.utils.FileSaveUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:01 + */ +@Api(tags = "璁惧 - 璁惧鏍″噯") +@RestController +@RequestMapping("/deviceMetricRecord") +public class DeviceMetricRecordController { + + @Autowired + private DeviceMetricRecordService deviceMetricRecordService; + + @Autowired + private DeviceMetricsCopyService deviceMetricsCopyService; + + @Autowired + private NumberGenerator<DeviceMetricRecord> numberGenerator; + + @ApiOperation("璁惧鏍″噯鍒嗛〉鏌ヨ") + @GetMapping("/deviceMetricRecordPage") + public Result deviceMetricRecordPage(@RequestParam("deviceId") Integer deviceId, Page page, @RequestParam("type") String type) { + return Result.success(deviceMetricRecordService.page(page, Wrappers.<DeviceMetricRecord>lambdaQuery() + .eq(DeviceMetricRecord::getDeviceId, deviceId) + .eq(DeviceMetricRecord::getType, type))); + } + + @ApiOperation("璁惧鏍″噯 鏂板 鏇存柊") + @PostMapping("/addOrUpdateDeviceMetricRecord") + public Result addOrUpdateDeviceMetricRecord(@RequestBody DeviceMetricRecordDto deviceMetricRecordDto) { + if (ObjectUtils.isEmpty(deviceMetricRecordDto.getProcessNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(5, "SBJZ" + year + month, DeviceMetricRecord::getProcessNumber); + deviceMetricRecordDto.setProcessNumber(processNumber); + } + deviceMetricRecordService.saveOrUpdate(deviceMetricRecordDto); + if (CollectionUtils.isNotEmpty(deviceMetricRecordDto.getDeviceMetricsCopyList())) { + deviceMetricRecordDto.getDeviceMetricsCopyList().forEach(i -> i.setDeviceMetricsId(deviceMetricRecordDto.getId())); + deviceMetricsCopyService.saveOrUpdateBatch(deviceMetricRecordDto.getDeviceMetricsCopyList()); + } + return Result.success(); + } + + @ApiOperation("璁惧鏍″噯 鍒犻櫎") + @DeleteMapping("/deleteDeviceMetricRecord") + public Result deleteDeviceMetricRecord(@RequestParam("id") Integer id) { + DeviceMetricRecord deviceMetricRecord = deviceMetricRecordService.getById(id); + deviceMetricsCopyService.remove(Wrappers.<DeviceMetricsCopy>lambdaQuery() + .eq(DeviceMetricsCopy::getDeviceMetricsId, id)); + // 鍒犻櫎鏂囦欢 + FileSaveUtil.DeleteFile(deviceMetricRecord.getSystemFileName()); + return Result.success(deviceMetricRecordService.removeById(id)); + } + + @ApiOperation("璁惧鏍″噯 鏍″噯鏉$洰鏌ヨ") + @GetMapping("/showDeviceMetricsCopy") + public Result showDeviceMetricsCopy(@RequestParam("id") Integer id, @RequestParam("type") String type) { + return Result.success(deviceMetricsCopyService.list(Wrappers.<DeviceMetricsCopy>lambdaQuery() + .eq(DeviceMetricsCopy::getDeviceMetricsId, id) + .eq(DeviceMetricsCopy::getType, type))); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceRecordController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceRecordController.java new file mode 100644 index 0000000..9e35023 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceRecordController.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceRecord; +import com.yuanchu.mom.service.DeviceRecordService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Api(tags = "璁惧浣跨敤璁板綍") +@RestController +@RequestMapping("/deviceRecord") +public class DeviceRecordController { + @Autowired + private DeviceRecordService deviceRecordService; + + @Autowired + private NumberGenerator<DeviceRecord> numberGenerator; + + @ValueClassify("璁惧浣跨敤璁板綍") + @ApiOperation(value = "澶囦娇鐢ㄨ褰曟煡璇�") + @GetMapping("/deviceRecordPage") + public Result deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber) { + return Result.success(deviceRecordService.deviceRecordPage(deviceId, page, sampleCode, managementNumber)); + } + + @ApiOperation(value = "鏂板") + @PostMapping("/saveDeviceRecord") + public Result saveDeviceRecords(@RequestBody DeviceRecord deviceRecord) { + return Result.success(deviceRecordService.save(deviceRecord)); + } + + /** + * 缂栬緫璁惧浣跨敤璁板綍 + * @param deviceRecord + * @return + */ + @ApiOperation(value = "淇敼") + @PostMapping("/updateDeviceRecord") + public Result updateDeviceRecord(@RequestBody DeviceRecord deviceRecord) { + return Result.success(deviceRecordService.updateById(deviceRecord)); + } + + @DeleteMapping("/deleteDeviceRecord") + public Result deleteDeviceRecords(@RequestParam("id") Integer id) { + return Result.success(deviceRecordService.removeById(id)); + } + + @ApiOperation(value = "璁惧浣跨敤璁板綍瀵煎嚭") + @GetMapping("/exportUseRecord") + @ValueAuth + public void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response) throws Exception { + deviceRecordService.exportUseRecord(deviceId, exportDate, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceScrappedController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceScrappedController.java new file mode 100644 index 0000000..033d586 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceScrappedController.java @@ -0,0 +1,86 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceScrapped; +import com.yuanchu.mom.service.DeviceScrappedService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧鎶ュ簾鐢宠琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 01:53:47 + */ +@Api(tags = "璁惧鎶ュ簾鐢宠琛�") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceScrapped") +public class DeviceScrappedController { + + private DeviceScrappedService deviceScrappedService; + + + /** + * 璁惧鎶ュ簾鐢宠鍒楄〃 + * @param data + * @return + */ + @ApiOperation(value = "璁惧鎶ュ簾鐢宠鍒楄〃") + @PostMapping("/pageDeviceScrapped") + public Result<IPage<DeviceScrapped>> pageDeviceScrapped(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceScrapped deviceScrapped = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceScrapped.class); + return Result.success(deviceScrappedService.pageDeviceScrapped(page, deviceScrapped)); + } + + /** + * 鏌ヨ璁惧鎶ュ簾鐢宠 + * @return + */ + @ApiOperation(value = "鏌ヨ璁惧鎶ュ簾鐢宠") + @GetMapping("/getDeviceScrapped") + public Result getDeviceScrapped(Integer scrappedId){ + return Result.success(deviceScrappedService.getById(scrappedId)); + } + + /** + * 鍒犻櫎璁惧鏍告煡璁″垝璇︽儏 + * @return + */ + @ApiOperation(value = "鍒犻櫎璁惧鎶ュ簾鐢宠") + @GetMapping("/delDeviceScrapped") + public Result delDeviceScrapped(Integer scrappedId){ + return Result.success(deviceScrappedService.removeById(scrappedId)); + } + + /** + * 鏂板璁惧鎶ュ簾鐢宠 + * @return + */ + @ApiOperation(value = "鏂板璁惧鎶ュ簾鐢宠") + @PostMapping("/addDeviceScrapped") + public Result addDeviceScrapped(@RequestBody DeviceScrapped deviceScrapped){ + return Result.success(deviceScrappedService.addDeviceScrapped(deviceScrapped)); + } + + /** + * 瀵煎嚭璁惧鎶ュ簾鐢宠 + */ + @ApiOperation("瀵煎嚭璁惧鎶ュ簾鐢宠") + @GetMapping("/exportDeviceScrapped") + public Result exportDeviceScrapped(Integer scrappedId, HttpServletResponse response) { + return deviceScrappedService.exportDeviceScrapped(scrappedId, response); + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java new file mode 100644 index 0000000..8f697b5 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceStateController.java @@ -0,0 +1,89 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.DeviceStateDto; +import com.yuanchu.mom.excel.DeviceStateExport; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceState; +import com.yuanchu.mom.service.DeviceStateService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 09:51:40 + */ +@RestController +@RequestMapping("/deviceState") +public class DeviceStateController { + + @Autowired + private DeviceStateService deviceStateService; + + @Autowired + private NumberGenerator<DeviceState> numberGenerator; + + @PostMapping("saveDeviceState") + public Result saveIncidentReportData(@RequestBody DeviceState deviceState) { + if (ObjectUtils.isEmpty(deviceState.getProcessNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceState::getProcessNumber); + deviceState.setProcessNumber(processNumber); + } + deviceStateService.saveOrUpdate(deviceState); + return Result.success(); + } + + @GetMapping("/getDeviceStatePage") + public Result getDeviceStatePage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber){ + return Result.success(deviceStateService.getDeviceStatePage(deviceId, page, processNumber)); + } + + @DeleteMapping("/deleteDeviceState") + public Result deleteDeviceState(@RequestParam("stateId") Integer stateId){ + return Result.success(deviceStateService.removeById(stateId)); + } + + @PostMapping("/deviceStateExport") + public Result deviceStateExport(@RequestParam("deviceId") Integer deviceId, String processNumber, HttpServletResponse response) throws Exception { + IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(1, -1), processNumber); + List<DeviceStateExport> studentList = JSONObject.parseArray(JSON.toJSONString(deviceBorrows.getRecords()), DeviceStateExport.class); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(DeviceStateExport.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(studentList); + return Result.success(); + } + + @ApiOperation(value = "璁惧鍚姩/鍋滄瀵煎嚭") + @GetMapping("/exportDeviceStatus") + @ValueAuth + public void exportDeviceStatus(@RequestParam("processNumber") String processNumber,@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { + deviceStateService.exportDeviceStatus(deviceId, processNumber, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceTraceabilityManagementController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceTraceabilityManagementController.java new file mode 100644 index 0000000..51e42c3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceTraceabilityManagementController.java @@ -0,0 +1,104 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDto; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagement; +import com.yuanchu.mom.service.DeviceTraceabilityManagementService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:44 + */ +@Api(tags = "璁惧閲忓�兼函婧愯鍒�") +@RestController +@RequestMapping("/deviceTraceabilityManagement") +public class DeviceTraceabilityManagementController { + @Resource + private DeviceTraceabilityManagementService deviceTraceabilityManagementService; + + /** + * 鍒嗛〉鏌ヨ閲忓�兼函婧愯鍒� + * @param data 鍒嗛〉鍙傛暟 + * @return + */ + @ApiOperation("鍒嗛〉鏌ヨ閲忓�兼函婧愯鍒�") + @PostMapping("selectDeviceTraceabilityManagementByPage") + @SneakyThrows + public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(@RequestBody Map<String, Object> data){ + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceTraceabilityManagementDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceTraceabilityManagementDto.class); + return deviceTraceabilityManagementService.selectDeviceTraceabilityManagementByPage(page, itemParameter); + } + + /** + * 鏂板閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + @ApiOperation("鏂板閲忓�兼函婧愯鍒�") + @PostMapping("/addTraceabilityManagement") + public Result addTraceabilityManagement(@RequestBody DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + return deviceTraceabilityManagementService.addTraceabilityManagement(deviceTraceabilityManagementDto); + } + + /** + * 淇敼閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + @ApiOperation("淇敼閲忓�兼函婧愯鍒�") + @PostMapping("/updateTraceabilityManagement") + public Result updateTraceabilityManagement(@RequestBody DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + return deviceTraceabilityManagementService.updateTraceabilityManagement(deviceTraceabilityManagementDto); + } + + /** + * 鍒犻櫎閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + @ApiOperation("鍒犻櫎閲忓�兼函婧愯鍒�") + @GetMapping("/deleteTraceabilityManagement") + public Result deleteTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + return deviceTraceabilityManagementService.deleteTraceabilityManagement(deviceTraceabilityManagementDto); + } + + /** + * 鏌ヨ閲忓�兼函婧愯鍒掕鎯� + */ + @ApiOperation("鏌ヨ閲忓�兼函婧愯鍒掕鎯�") + @GetMapping("/getTraceabilityManagementDetail") + public Result<DeviceTraceabilityManagementDto> getTraceabilityManagementDetail(Integer traceabilityManagementId) { + return deviceTraceabilityManagementService.getTraceabilityManagementDetail(traceabilityManagementId); + } + + /** + * 閲忓�兼函婧愯鍒掑鏍哥姸鎬佷慨鏀� + */ + @ApiOperation("閲忓�兼函婧愯鍒掑鏍哥姸鎬佷慨鏀�") + @PostMapping("/reviewTraceabilityManagementStatus") + public Result reviewTraceabilityManagementStatus(@RequestBody DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + return deviceTraceabilityManagementService.reviewTraceabilityManagementStatus(deviceTraceabilityManagementDto); + } + + /** + * 瀵煎嚭閲忓�兼函婧愯鍒� + */ + @ApiOperation("瀵煎嚭閲忓�兼函婧愯鍒�") + @GetMapping("/exportDeviceTraceabilityManagement") + public Result exportDeviceTraceabilityManagement(@RequestParam("traceabilityManagementId") Integer traceabilityManagementId, HttpServletResponse response) { + return deviceTraceabilityManagementService.exportDeviceTraceabilityManagementDto(traceabilityManagementId, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DocumentController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DocumentController.java new file mode 100644 index 0000000..fbf50f0 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DocumentController.java @@ -0,0 +1,44 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yuanchu.mom.pojo.Document; +import com.yuanchu.mom.service.DocumentService; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/documents") +public class DocumentController { + + @Autowired + private DocumentService documentService; + + @PostMapping + public Result createDocument( Document document) { + documentService.save(document); + return Result.success("ok"); + } + + @GetMapping("/{id}") + public Document getDocumentById(@PathVariable Integer id) { + return documentService.getById(id); + } + + @PutMapping("updateDocument") + public Result updateDocument(@RequestBody Document document) { + return Result.success(documentService.updateById(document)); + } + + @DeleteMapping("/{id}") + public Result deleteDocumentById(@PathVariable Integer id) { + return Result.success(documentService.removeById(id)); + } + + @GetMapping("/getListByDId/{id}") + public Result getAllDocuments(@PathVariable Integer id) { + LambdaQueryWrapper<Document> lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Document::getDeviceId,id); + return Result.success(documentService.list(lambdaQueryWrapper)); + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/IncidentReportController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/IncidentReportController.java new file mode 100644 index 0000000..9ce3f90 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/IncidentReportController.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.IncidentReportAddDto; +import com.yuanchu.mom.excel.IncidentReportExport; +import com.yuanchu.mom.service.IncidentReportService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * <p> + * 璁惧楠屾敹娣诲姞楠屾敹瀛楁琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 03:54:49 + */ +@RestController +@RequestMapping("/incident-report") +public class IncidentReportController { + @Autowired + private IncidentReportService incidentReportService; + + @PostMapping("saveIncidentReportData") + public Result saveIncidentReportData(@RequestBody IncidentReportAddDto incidentReportAddDto) { + incidentReportService.saveIncidentReportData(incidentReportAddDto); + return Result.success(); + } + + @GetMapping("/getShowIncidentReport") + public Result getShowIncidentReport(@RequestParam("id") Integer id) { + return Result.success(incidentReportService.getShowIncidentReport(id)); + } + + @DeleteMapping("/deleteIncidentReport") + public Result deleteIncidentReport(@RequestParam("id") Integer id) { + incidentReportService.deleteIncidentReport(id); + return Result.success(); + } + + @GetMapping("/incidentReportPage") + public Result incidentReportPage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber){ + return Result.success(incidentReportService.getByDeviceId(deviceId, page, processNumber)); + } + + @DeleteMapping("deleteIncidentReportAll") + public Result deleteIncidentReport(Integer sparePartsId, Integer fileId, Integer installId, Integer acceptanceCheckId) { + incidentReportService.deleteIncidentReportAll(sparePartsId, fileId, installId, acceptanceCheckId); + return Result.success(); + } + + @GetMapping("/incidentReportExport") + public Result incidentReportPage(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws IOException { + List<IncidentReportExport> list = incidentReportService.incidentReportExport(deviceId); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(IncidentReportExport.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet() + .doWrite(list); + return Result.success(); + } + + @ValueClassify("璁惧楠屾敹") + @ApiOperation(value = "璁惧楠屾敹瀵煎嚭") + @GetMapping("/acceptanceCertificateExport") + @ValueAuth + public void acceptanceCertificateExport(@RequestParam("deviceId") Integer deviceId, @RequestParam("processNumber") String processNumber, HttpServletResponse response) throws Exception { + incidentReportService.acceptanceCertificateExport(deviceId, processNumber, response); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/InstructionController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/InstructionController.java new file mode 100644 index 0000000..50f0966 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/InstructionController.java @@ -0,0 +1,109 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.InstructionDto; +import com.yuanchu.mom.dto.OperationInstructionDto; +import com.yuanchu.mom.pojo.Instruction; +import com.yuanchu.mom.pojo.OperationInstruction; +import com.yuanchu.mom.service.InstructionService; +import com.yuanchu.mom.service.OperationInstructionService; +import com.yuanchu.mom.vo.OperationInstructionVo; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:29:18 + */ +@RestController +@RequestMapping("/instruction") +public class InstructionController { + + @Autowired + private InstructionService instructionService; + + @Autowired + private OperationInstructionService operationInstructionService; + + @Autowired + private GetLook getLook; + + @ApiOperation(value = "浣滀笟鎸囧涔� 鍒嗛〉") + @GetMapping("/pageByPageQueryOfHomeworkInstructions") + public Result<IPage<Instruction>> pageByPageQueryOfHomeworkInstructions(Page page, OperationInstructionDto operationInstructionDto){ + return Result.success(instructionService.pageByPageQueryOfHomeworkInstructions(page, operationInstructionDto)); + } + + @ApiOperation(value = "浣滀笟鎸囧涔︽柊澧�") + @PostMapping("/newHomeworkGuidebookAdded") + public Result newHomeworkGuidebookAdded(@RequestBody InstructionDto instructionDto){ + instructionService.newHomeworkGuidebookAdded(instructionDto); + return Result.success(); + } + + @ValueAuth + @ApiOperation(value = "浣滀笟鎸囧涔︾紪杈�") + @GetMapping("/homeworkGuidebookEditor") + public Result<Map<String, Object>> homeworkGuidebookEditor(Integer instructionId){ + Instruction instruction = instructionService.getById(instructionId); + List<OperationInstructionVo> list = operationInstructionService.homeworkGuidebookEditor(instructionId); + HashMap<String, Object> map = new HashMap<>(); + map.put("list", list); + map.put("instruction", instruction); + return Result.success(map); + } + + @ApiOperation(value = "浣滀笟鎸囧涔﹀彈鎺ф枃浠跺垹闄�") + @GetMapping("/deleteHomeworkGuidebook") + public Result deleteHomeworkGuidebook(String ids){ + if (ObjectUtils.isNotEmpty(ids)) { + String[] idArray = ids.split(","); + operationInstructionService.removeBatchByIds(Arrays.asList(idArray)); + } + return Result.success(); + } + + @ApiOperation(value = "浣滀笟鎸囧涔﹀垹闄�") + @GetMapping("/homeworkGuidebook") + public Result homeworkGuidebook(String id, String instructionId){ + // 鍒犻櫎瀛愯〃鏁版嵁 + operationInstructionService.removeById(id); + // 濡傛灉瀛愯〃鏁版嵁涓虹┖ + long count = operationInstructionService.count(Wrappers.<OperationInstruction>lambdaQuery() + .eq(OperationInstruction::getInstructionId, instructionId)); + // 閭d箞灏卞垹闄ょ埗琛ㄦ暟鎹� + if (count < 1) { + instructionService.removeById(id); + } + return Result.success(); + } + + @ApiOperation(value = "浣滀笟鎸囧涔﹀鎵�") + @GetMapping("/approvalOfHomeworkInstructionManual") + public Result approvalOfHomeworkInstructionManual(String id, Boolean status){ + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); + operationInstructionService.update(Wrappers.<OperationInstruction>lambdaUpdate() + .eq(OperationInstruction::getId, id) + .set(OperationInstruction::getStatus, status) + .set(OperationInstruction::getApproverId, map1.get("userId")) + .set(OperationInstruction::getEntryIntoForceTime, LocalDateTime.now())); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/QrShowController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/QrShowController.java new file mode 100644 index 0000000..35b5f46 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/QrShowController.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.controller; + +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.enums.QrModelType; +import com.yuanchu.mom.service.QrShowService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@Controller +@RequestMapping("/qr") +public class QrShowController { + + @Autowired + private QrShowService qrShowService; + + /** + * 浜岀淮鐮佹壂鐮佽姹傛帴鍙� + * @param model + * @param code 缂栧彿 + * @param type 绫诲瀷(word/device) + * @return + */ + @ValueAuth + @GetMapping("/qrScan") + public String hello(Model model, @RequestParam("code") String code,@RequestParam("type") String type){ + qrShowService.transformModelByType(model,code,type); + return QrModelType.getValueByType(type); + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/ReservationController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/ReservationController.java new file mode 100644 index 0000000..cb3b77d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/ReservationController.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceDto; +import com.yuanchu.mom.pojo.Reservation; +import com.yuanchu.mom.service.DeviceService; +import com.yuanchu.mom.service.ReservationService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Map; + +/** + * <p> + * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author baomidou + * @since 2024-09-14 + */ +@RestController +@RequestMapping("/reservation") +public class ReservationController { + @Autowired + private ReservationService reservationService; + + @Resource + private DeviceService deviceService; + + @PostMapping("/selectDeviceParameter") + public Result selectDeviceParameter(@RequestBody Map<String, Object> data, @RequestParam(value = "laboratoryNameIsNull", required = false) Boolean laboratoryNameIsNull,@RequestParam(value = "starttime", required = false)String starttime,@RequestParam(value = "endtime", required = false) String endtime) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + DeviceDto itemParameter = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class); + Map<String, Object> map = reservationService.selectDeviceParameter(page, itemParameter, laboratoryNameIsNull,starttime,endtime); + return Result.success(map); + } + + @PostMapping("/selectReservationParameterPage") + public Result selectReservationParameterPage(@RequestParam String deviceId,@RequestParam String reservationTime,@RequestParam String specificTime){ + return Result.success(reservationService.selectReservationParameterPage(deviceId,reservationTime,specificTime)); + } + + @GetMapping("/{id}") + public Result getList(@PathVariable Integer id) { + LambdaQueryWrapper<Reservation> lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Reservation::getDeviceId,id); + return Result.success(reservationService.list(lambdaQueryWrapper)); + } + + @PostMapping("save") + public Result save(Reservation reservation){ + reservation.setCreateDate(LocalDateTime.now()); + reservationService.save(reservation); + return Result.success(); + } + + + @DeleteMapping("/delete/{ids}") + public Result deleteReservation(@PathVariable String ids) { + String[] idArray = ids.split(","); + reservationService.removeBatchByIds(Arrays.asList(idArray)); + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceAccidentReportDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceAccidentReportDto.java new file mode 100644 index 0000000..88030c6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceAccidentReportDto.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceAccidentReport; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-18 鏄熸湡涓� 10:00:48 + * Description: + */ +@Data +public class DeviceAccidentReportDto extends DeviceAccidentReport { + @ApiModelProperty("鏃堕棿") + private String accidentDateStr; + + @ApiModelProperty("鎶ュ憡浜哄~鍐欐椂闂�") + private String reportDateStr; + + @ApiModelProperty("璇勪及浜哄~鍐欐椂闂�") + private String assessorDateStr; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private String departmentHeadDateStr; + + @ApiModelProperty("鎶�鏈礋璐d汉濉啓鏃堕棿") + private String technicalDirectorDateStr; + + @ApiModelProperty("涓讳换濉啓鏃堕棿") + private String directorHeadDateStr; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDetailDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDetailDto.java new file mode 100644 index 0000000..66a7d27 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDetailDto.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 10:05:08 + * Description: + */ +@Data +public class DeviceCalibrationPlanDetailDto extends DeviceCalibrationPlanDetail { + + @ApiModelProperty("搴忓彿") + private Integer index; + @ApiModelProperty("鏈�杩戞瀹氭椂闂碨tr") + private String lastDateStr; + @ApiModelProperty("鏈勾璁″垝鏍″噯鏃堕棿Str") + private String planDateStr; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDto.java new file mode 100644 index 0000000..43e4522 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCalibrationPlanDto.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceCalibrationPlan; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/12/16 + */ +@Data +public class DeviceCalibrationPlanDto extends DeviceCalibrationPlan { + + @ApiModelProperty("缂栧埗浜�") + private String writeName; + + @ApiModelProperty("鎵瑰噯浜�") + private String ratifyName; + + @ApiModelProperty("缂栧埗鏃堕棿") + private String writeTimeStr; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + private String ratifyTimeStr; + + @ApiModelProperty("鏍″噯璁″垝璇︽儏") + private List<DeviceCalibrationPlanDetail> calibrationPlanDetailList; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCollectionDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCollectionDto.java new file mode 100644 index 0000000..df52d4d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceCollectionDto.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 璁惧閲囬泦瀵硅薄 + * + * @Author zhuo + * @Date 2024/12/3 + */ +@Data +public class DeviceCollectionDto { + + @ApiModelProperty(value = "鏍峰搧id") + private Integer id; + + @ApiModelProperty(value = "璁㈠崟缂栧彿") + private String entrustCode; + + @ApiModelProperty(value = "鏍峰搧缂栧彿") + private String sampleCode; + + @ApiModelProperty(value = "閲囬泦鐨勬楠岄」id") + private List<Integer> itemIds; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDetailsDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDetailsDto.java new file mode 100644 index 0000000..e655f04 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDetailsDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 15:34:44 + * Description: + */ +@Data +public class DeviceExaminePlanDetailsDto extends DeviceExaminePlanDetails { + @ApiModelProperty("搴忓彿") + private Integer index; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDto.java new file mode 100644 index 0000000..1ac4597 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExaminePlanDto.java @@ -0,0 +1,33 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExaminePlan; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/12/16 + */ +@Data +public class DeviceExaminePlanDto extends DeviceExaminePlan { + + @ApiModelProperty("缂栧埗浜�") + private String writeName; + + @ApiModelProperty("鎵瑰噯浜�") + private String ratifyName; + + @ApiModelProperty("缂栧埗鏃堕棿") + private String writeTimeStr; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + private String ratifyTimeStr; + + @ApiModelProperty("骞村害") + private String year; + + private List<DeviceExaminePlanDetails> examinePlanDetailsList; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDetailsDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDetailsDto.java new file mode 100644 index 0000000..00cdc0e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDetailsDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 13:59:37 + * Description: + */ +@Data +public class DeviceExamineRecordContrastDetailsDto extends DeviceExamineRecordContrastDetails { + @ApiModelProperty("搴忓彿") + private Integer index; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDto.java new file mode 100644 index 0000000..cd801eb --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordContrastDto.java @@ -0,0 +1,47 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExamineRecordContrast; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/12/16 + */ +@Data +public class DeviceExamineRecordContrastDto extends DeviceExamineRecordContrast { + + @ApiModelProperty("鏍告煡璁板綍瀵规瘮璇︽儏") + private List<DeviceExamineRecordContrastDetails> recordContrastDetailsList; + + + @ApiModelProperty("A璁惧鍚嶇О") + private String aDeviceName; + + @ApiModelProperty("A璁惧缂栧彿") + private String aDeviceNumber; + + @ApiModelProperty("b璁惧鍚嶇О") + private String bDeviceName; + + @ApiModelProperty("b璁惧缂栧彿") + private String bDeviceNumber; + + @ApiModelProperty("c璁惧鍚嶇О") + private String cDeviceName; + + @ApiModelProperty("c璁惧缂栧彿") + private String cDeviceNumber; + + @ApiModelProperty("鏍告煡鏃ユ湡") + private String checkerTimeStr; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private String reviewTimeStr; + + @ApiModelProperty("瀹為獙瀹�") + private String labName; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordDto.java new file mode 100644 index 0000000..5ddfb08 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExamineRecordDto.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExamineRecord; +import com.yuanchu.mom.pojo.DeviceExamineRecordDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/12/16 + */ +@Data +public class DeviceExamineRecordDto extends DeviceExamineRecord { + + @ApiModelProperty("鏍告煡璁板綍璇︽儏") + private List<DeviceExamineRecordDetail> recordDetailList; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String deviceNumber; + + @ApiModelProperty("鏈�鍚庝竴娆′慨鏀规棩鏈�") + private String updateTimeStr; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExport.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExport.java new file mode 100644 index 0000000..411130d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExport.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.Device; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-10 鏄熸湡浜� 15:55:29 + * Description: + */ +@Data +public class DeviceExport extends Device { + @ApiModelProperty("绠$悊浜�") + private String equipmentManagerName; + + @ApiModelProperty("搴忓彿") + private Integer index; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExternalApplyDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExternalApplyDto.java new file mode 100644 index 0000000..a59dd4e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceExternalApplyDto.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceExternalApply; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/12/19 + */ +@Data +public class DeviceExternalApplyDto extends DeviceExternalApply { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceFaultOneDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceFaultOneDto.java new file mode 100644 index 0000000..82fe11c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceFaultOneDto.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceFaultOne; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceFaultOneDto extends DeviceFaultOne { + @ApiModelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty(value = "瑙勬牸鍨嬪彿") + private String specificationModel; + + @ApiModelProperty(value = "绠$悊缂栧彿") + private String managementNumber; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceInspectionRecordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceInspectionRecordDto.java new file mode 100644 index 0000000..cd717f6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceInspectionRecordDto.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yuanchu.mom.pojo.DeviceInspectionRecord; +import com.yuanchu.mom.pojo.DeviceInspectionRecordDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Author: yuan + * Date: 2024-12-16 鏄熸湡涓� 17:23:22 + * Description: + */ +@Data +public class DeviceInspectionRecordDto extends DeviceInspectionRecord { + + @TableField(exist = false) + @ApiModelProperty("娴嬭瘯璇︽儏鍐呭") + private List<DeviceInspectionRecordDetails> details; + + @ApiModelProperty("娴嬭瘯鏃堕棿") + private String testDateString; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDetailsDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDetailsDto.java new file mode 100644 index 0000000..512f4c8 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDetailsDto.java @@ -0,0 +1,32 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 9:26:48 + * Description: 璁惧淇濆吇璁″垝璇︽儏 + */ +@Data +public class DeviceMaintenancePlanDetailsDto extends DeviceMaintenancePlanDetails { + + @ApiModelProperty("搴忓彿") + private Integer index; + + @ApiModelProperty("浠櫒璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("浠櫒璁惧缂栧彿") + private String deviceNumber; + + @ApiModelProperty("浠櫒璁惧鍨嬪彿") + private String specificationModel; + + @ApiModelProperty("浠櫒缂栧彿") + private String managementNumber; + + @ApiModelProperty("褰掑睘瀹為獙瀹�") + private String storagePoint; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDto.java new file mode 100644 index 0000000..22e922b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMaintenancePlanDto.java @@ -0,0 +1,30 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yuanchu.mom.pojo.DeviceMaintenancePlan; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Author: yuan + * Date: 2024-12-16 鏄熸湡涓� 18:26:59 + * Description: + */ +@Data +public class DeviceMaintenancePlanDto extends DeviceMaintenancePlan { + + @ApiModelProperty("璁惧淇濆吇璁″垝璇︽儏") + @TableField(exist = false) + private List<DeviceMaintenancePlanDetailsDto> deviceMaintenancePlanDetails; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private String datePreparationStr; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private String auditDateStr; + + @ApiModelProperty("璁惧Id") + private Integer deviceId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordAndMaintenanceDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordAndMaintenanceDto.java new file mode 100644 index 0000000..a2c1aea --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordAndMaintenanceDto.java @@ -0,0 +1,38 @@ +package com.yuanchu.mom.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-13 鏄熸湡浜� 10:43:06 + * Description: 浠櫒璁惧妗f鍗′腑鏄剧ず鐨勮澶囨牎鍑嗚褰曞拰缁存姢璁板綍鐨勫垪琛ㄥ璞� + */ +@Data +public class DeviceMetricRecordAndMaintenanceDto { + @ApiModelProperty("搴忓彿") + private Integer index; + + // 鏍″噯琛ㄤ腑鐨勬暟鎹� + @ApiModelProperty("鏍″噯鏃ユ湡") + private String calibrationDateString; + + @ApiModelProperty("璇佷功鏍囧彿") + private String certificateNumber; + + @ApiModelProperty("鏍″噯鏈夋晥鏃ユ湡") + private String validityDateString; + + @ApiModelProperty("鍒ゅ畾") + private String judgement; + + // 缁翠慨璁板綍琛ㄤ腑鐨勬暟鎹� + @ApiModelProperty("缁翠慨鏃ユ湡") + private String maintenanceDateString; + + @ApiModelProperty("澶勭悊鏂瑰紡") + private String handlingMethod; + + @ApiModelProperty("澶囨敞") + private String comments; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordDto.java new file mode 100644 index 0000000..20aa80b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceMetricRecordDto.java @@ -0,0 +1,13 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceMetricRecord; +import com.yuanchu.mom.pojo.DeviceMetricsCopy; +import lombok.Data; + +import java.util.List; + +@Data +public class DeviceMetricRecordDto extends DeviceMetricRecord { + + private List<DeviceMetricsCopy> deviceMetricsCopyList; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordDto.java new file mode 100644 index 0000000..af3eedf --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordDto.java @@ -0,0 +1,14 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceRecordDto extends DeviceRecord { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordExportWord.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordExportWord.java new file mode 100644 index 0000000..01bf749 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceRecordExportWord.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-10 鏄熸湡浜� 17:19:22 + * Description: + */ +@Data +public class DeviceRecordExportWord extends DeviceRecord { + @ApiModelProperty("浣跨敤鍓�0浠h〃涓嶆甯�1浠h〃姝e父") + private String useBeforeString; + + @ApiModelProperty("浣跨敤鍚�0浠h〃涓嶆甯�1浠h〃姝e父") + private String useAfterString; + + @ApiModelProperty("鎿嶄綔鏃堕棿 String yyyy-MM-dd") + private String operationDate; + + @ApiModelProperty("浣跨敤寮�濮嬫棩鏈� String yyyy-MM-dd \n HH:mm:ss") + private String useStartDateString; + + @ApiModelProperty("浣跨敤缁撴潫鏃ユ湡 String yyyy-MM-dd \n HH:mm:ss") + private String useEndDateString; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceScrappedDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceScrappedDto.java new file mode 100644 index 0000000..c74cb62 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceScrappedDto.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceScrapped; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 18:34:17 + * Description: + */ +@Data +public class DeviceScrappedDto extends DeviceScrapped { + + @ApiModelProperty("鐢宠鏃堕棿") + private String applicantDateStr; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private String departmentHeadDateStr; + + @ApiModelProperty("璁¢噺瀹や汉濉啓鏃堕棿") + private String meteringRoomDateStr; + + @ApiModelProperty("鎵瑰噯浜哄~鍐欐椂闂�") + private String approverDateStr; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceStateDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceStateDto.java new file mode 100644 index 0000000..80f317b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceStateDto.java @@ -0,0 +1,32 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceState; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStateDto extends DeviceState { + @ApiModelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty(value = "瑙勬牸鍨嬪彿") + private String specificationModel; + + @ApiModelProperty(value = "绠$悊缂栧彿") + private String managementNumber; + + @ApiModelProperty(value = "鎿嶄綔鏃ユ湡 yyyy-MM-dd") + private String submitDateString; + + @ApiModelProperty("璐熻矗浜哄鎵规棩鏈� yyyy-MM-dd") + private String departmentDateString; + + @ApiModelProperty("璁¢噺瀹ゅ鎵规棩鏈� yyyy-MM-dd") + private String measuringRoomDateString; + + @ApiModelProperty("鎵瑰噯鏃ユ湡 yyyy-MM-dd") + private String approvalDateString; + + @ApiModelProperty(value = "璁惧绫诲瀷") + private String largeCategory; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDetailsDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDetailsDto.java new file mode 100644 index 0000000..b0bcba4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDetailsDto.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-20 鏄熸湡浜� 15:05:02 + * Description: + */ +@Data +public class DeviceTraceabilityManagementDetailsDto extends DeviceTraceabilityManagementDetails { + @ApiModelProperty("搴忓彿") + private Integer index; + + @ApiModelProperty("浠櫒璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("浠櫒璁惧鍨嬪彿") + private String specificationModel; + + @ApiModelProperty("浠櫒缂栧彿") + private String managementNumber; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDto.java new file mode 100644 index 0000000..553d8f2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceTraceabilityManagementDto.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.DeviceTraceabilityManagement; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Author: yuan + * Date: 2024-12-20 鏄熸湡浜� 14:30:45 + * Description: + */ +@Data +public class DeviceTraceabilityManagementDto extends DeviceTraceabilityManagement { + @ApiModelProperty("璁惧閲忓�兼函婧愯鍒掕鎯�") + private List<DeviceTraceabilityManagementDetailsDto> deviceTraceabilityManagementDetails; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private String datePreparationStr; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private String auditDateStr; + + @ApiModelProperty("璁惧Id") + private Integer deviceId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DocumentExportWordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DocumentExportWordDto.java new file mode 100644 index 0000000..3ba6dc3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DocumentExportWordDto.java @@ -0,0 +1,45 @@ +package com.yuanchu.mom.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-13 鏄熸湡浜� 8:45:34 + * Description: 鐢ㄤ簬浠櫒璁惧妗f鍗$殑瀵煎嚭 + */ +@Data +public class DocumentExportWordDto { + + // 璁惧妗f宸﹀垪琛� + @ApiModelProperty("搴忓彿") + private Integer index1; + + @ApiModelProperty("妗f鍚嶇О") + private String name1; + + @ApiModelProperty("浠芥暟") + private Integer quantity1; + + @ApiModelProperty("椤电爜") + private Integer pageCount1; + + @ApiModelProperty("褰掓。鏃ユ湡") + private String archiveDateString1; + + // 璁惧妗f鍙冲垪琛� + @ApiModelProperty("搴忓彿") + private Integer index2; + + @ApiModelProperty("妗f鍚嶇О") + private String name2; + + @ApiModelProperty("浠芥暟") + private Integer quantity2; + + @ApiModelProperty("椤电爜") + private Integer pageCount2; + + @ApiModelProperty("褰掓。鏃ユ湡") + private String archiveDateString2; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportAddDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportAddDto.java new file mode 100644 index 0000000..9f57770 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportAddDto.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.*; +import lombok.Data; + +import java.util.List; + +@Data +public class IncidentReportAddDto extends IncidentReport { + private List<IncidentSpareParts> sparePartsConfirmationList; // 澶囦欢纭List + private List<IncidentFile> fileClassConfirmationList; // 鏂囦欢纭List + private List<IncidentInstall> installationAcceptanceRecordList; // 瀹夎楠屾敹璁板綍 + private List<IncidentAcceptanceCheck> acceptanceCheckRecordList; // 楠屾敹鏍告煡璁板綍 + + private String deviceName; + + private String managementNumber; + + private String submitUser; + + private String saveState; + + private String manufacturer; + + private String specificationModel; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportExportWordDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportExportWordDto.java new file mode 100644 index 0000000..4ef89ba --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/IncidentReportExportWordDto.java @@ -0,0 +1,49 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.IncidentReport; +import io.swagger.annotations.ApiModelProperty; + +/** + * Author: yuan + * Date: 2024-12-12 鏄熸湡鍥� 10:39:23 + * Description: 瀵煎嚭楠屾敹鎶ュ憡鍒皐ord鐨刣to + */ +public class IncidentReportExportWordDto extends IncidentReport { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧鍨嬪彿") + private String deviceModel; + + @ApiModelProperty("閲戦") + private String amount; + + @ApiModelProperty("鍑哄巶缂栧彿") + private String deviceNumber; + + @ApiModelProperty("鍒拌揣鏃ユ湡") + private String arrivalDateString; + + @ApiModelProperty("瀛樻斁鍦扮偣") + private String deviceLocation; + + @ApiModelProperty("鐢熶骇鍘傚") + private String manufacturer; + + @ApiModelProperty("渚涘簲鍟�") + private String supplier; + + @ApiModelProperty("缁翠慨鍗曚綅") + private String maintainUnit; + + @ApiModelProperty("鏀惰澶囦富鏈哄拰澶囦欢鎯呭喌") + private String equipmentHostAndSpareParts; + + @ApiModelProperty("楠屾敹鎯呭喌") + private String unpackingAcceptanceConclusionString; + + @ApiModelProperty("鎻愪氦鏃ユ湡 yyyy-MM-dd") + private String submitDateString; + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionDto.java new file mode 100644 index 0000000..be6cd9a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionDto.java @@ -0,0 +1,13 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.Instruction; +import com.yuanchu.mom.pojo.OperationInstruction; +import lombok.Data; + +import java.util.List; + +@Data +public class InstructionDto extends Instruction { + + private List<OperationInstruction> feTempHumRecordList; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionFileDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionFileDto.java new file mode 100644 index 0000000..5bdf40e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/InstructionFileDto.java @@ -0,0 +1,44 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.yuanchu.mom.pojo.Instruction; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class InstructionFileDto extends Instruction { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(" 璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty(" 鏂囨。缂栧彿") + private String documentNumber; + + @ApiModelProperty(" 璁惧缂栧彿") + private String deviceNumber; + + @ApiModelProperty(" 鏂囨。鐗堟湰") + private String documentVersion; + + @ApiModelProperty("闄勪欢") + private String attachmentInformation; + + @ApiModelProperty(" 浣滆��") + private Integer author; + + @ApiModelProperty("鎻愪氦鏃ユ湡") + private LocalDate submitDate; + + @ApiModelProperty("鏂囨。璇存槑") + private String documentNote; + + private String documentType; + + private String deviceModel; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/OperationInstructionDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/OperationInstructionDto.java new file mode 100644 index 0000000..34ce252 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/OperationInstructionDto.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.OperationInstruction; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OperationInstructionDto extends OperationInstruction { + @ApiModelProperty("鐢宠缂栧彿") + private String applicationNumber; + + @ApiModelProperty("鐢宠閮ㄩ棬") + private String applicationDepartment; + + @ApiModelProperty("璐d换浜�") + private String personLiable; + + @ApiModelProperty("鍙楁帶鐢宠璇存槑") + private String controlledApplicationDescription; + + @ApiModelProperty("绠$悊缂栧彿") + private String deviceNumber; + + @ApiModelProperty("鍨嬪彿") + private String deviceModel; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("涓婁紶浜�") + private String uploaderName; + + @ApiModelProperty("瀹℃壒浜�") + private String approverName; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/ReservationDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/ReservationDto.java new file mode 100644 index 0000000..b6341b5 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/ReservationDto.java @@ -0,0 +1,10 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.Reservation; +import lombok.Data; + +@Data +public class ReservationDto extends Reservation { + + private String name; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceBorrowExcel.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceBorrowExcel.java new file mode 100644 index 0000000..0b8e0de --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceBorrowExcel.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class DeviceBorrowExcel { + + @ApiModelProperty("娴佺▼缂栧彿") + private String processNumber; + + @ApiModelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty(value = "瑙勬牸鍨嬪彿") + private String specificationModel; + + @ApiModelProperty(value = "绠$悊缂栧彿") + private String managementNumber; + + @ApiModelProperty("0璁惧鐘舵��") + private String deviceStatus; + + @ApiModelProperty("0鍋滅敤鍚敤鐞嗙敱") + private String reason; + + @ExcelProperty(value = "鎻愪氦浜�") + private String createUser; + + @ApiModelProperty("鎻愪氦鏃ユ湡") + @ExcelProperty(value = "鎻愪氦鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExcel.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExcel.java new file mode 100644 index 0000000..0186de7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExcel.java @@ -0,0 +1,33 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + + +@Data +@EqualsAndHashCode +public class DeviceFaultOneExcel { + @ExcelProperty("搴忓彿") + private Long index; + @ExcelProperty("娴佺▼缂栧彿") + private String deviceNumber; + @ExcelProperty("璁惧鍚嶇О") + private String deviceName; + @ExcelProperty("缁熶竴缂栧彿") + private Double managementNumber; + @ExcelProperty("鏁呴殰鎯呭喌") + private String faultSituation; + @ExcelProperty("鎻愪氦浜�") + private String submitPerson; + @ExcelProperty("鎻愪氦鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate faultDate; + @ExcelProperty("褰撳墠鐘舵��") + private String currentStatus; + @ExcelProperty("褰撳墠璐d换浜�") + private String currentResponsiblePerson; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExport.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExport.java new file mode 100644 index 0000000..9d4fe3d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceFaultOneExport.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class DeviceFaultOneExport { + + @ExcelProperty("娴佺▼缂栧彿") + private String processNumber; + + @ExcelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ExcelProperty(value = "缁熶竴缂栧彿") + private String managementNumber; + + @ExcelProperty("鏁呴殰鎯呭喌") + private String faultSituation; + + @ExcelProperty("鎻愪氦浜�") + private String submitPerson; + + @ExcelProperty("鎻愪氦鏃ユ湡") + private LocalDateTime createTime; + + @ExcelProperty("褰撳墠鐘舵��") + private String currentState; + + @ExcelProperty("褰撳墠璐d换浜�") + private String currentResponsible; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceMaintenanceExport.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceMaintenanceExport.java new file mode 100644 index 0000000..97add3a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceMaintenanceExport.java @@ -0,0 +1,45 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +@Data +public class DeviceMaintenanceExport { + + @ColumnWidth(20) + @ExcelProperty("璁惧鍚嶇О") + private String deviceName; + + @ColumnWidth(20) + @ExcelProperty("娴佺▼缂栧彿") + private String deviceNumber; + + @ColumnWidth(20) + @ExcelProperty("绠$悊缂栧彿") + private String managementNumber; + + @ColumnWidth(50) + @ExcelProperty("缁存姢鍐呭") + private String content; + + @ColumnWidth(20) + @ExcelProperty("缁存姢鏃堕棿") + private String date; + + @ColumnWidth(20) + @ExcelProperty("涓嬫缁存姢鏃堕棿") + private String nextDate; + + @ColumnWidth(20) + @ExcelProperty("缁存姢绫诲瀷") + private String maintenanceType; + + @ColumnWidth(20) + @ExcelProperty("缁存姢浜�") + private String name; + + @ColumnWidth(50) + @ExcelProperty("澶囨敞") + private String comments; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceRecordExport.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceRecordExport.java new file mode 100644 index 0000000..7f04eb6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceRecordExport.java @@ -0,0 +1,43 @@ +package com.yuanchu.mom.excel; + + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class DeviceRecordExport { + @ExcelProperty("娴佺▼缂栧彿") + private String deviceNumber; + + @ExcelProperty("璁惧鍚嶇О") + private String deviceName; + + @ExcelProperty("绠$悊缂栧彿") + private String managementNumber; + + @ExcelProperty("娓╁害") + private String temperature; + + @ExcelProperty("婀垮害") + private String humidity; + + @ExcelProperty("浣跨敤鍓�") + private String useBefore; + + @ExcelProperty("浣跨敤鍚�") + private String useAfter; + + @ExcelProperty("寮傚父鎯呭喌") + private String abnormal; + + @ExcelProperty("浣跨敤鏃ユ湡") + private String useDate; + + @ExcelProperty("浣跨敤浜�") + private String usePerson; + + @ExcelProperty("澶囨敞") + private String remark; + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceStateExport.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceStateExport.java new file mode 100644 index 0000000..98a69bf --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/DeviceStateExport.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class DeviceStateExport { + @ExcelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ExcelProperty(value = "瑙勬牸鍨嬪彿") + private String specificationModel; + + @ExcelProperty(value = "绠$悊缂栧彿") + private String managementNumber; + + @ExcelProperty("璁惧鐘舵��") + private String deviceStatus; + + @ExcelProperty("鍋滅敤鍚敤鐞嗙敱") + private String reason; + + @ExcelProperty("鎻愪氦浜�") + private String createUser; + + @ExcelProperty("鎻愪氦鏃ユ湡") + private LocalDateTime createTime; + + @ExcelProperty("褰撳墠鐘舵��") + private String currentState; + + @ExcelProperty("褰撳墠璐熻矗浜�") + private String currentResponsible; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/IncidentReportExport.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/IncidentReportExport.java new file mode 100644 index 0000000..859525d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/IncidentReportExport.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class IncidentReportExport { + @ExcelProperty(value = "娴佺▼缂栧彿") + private String processNumber; + + @ExcelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + @ExcelProperty(value = "绠$悊缂栧彿") + private String managementNumber; + + @ExcelProperty(value = "搴忓垪鍙�") + private String serialNumber; + + @ExcelProperty(value = "鎻愪氦鑰�") + private String submitUser; + + @ExcelProperty(value = "鎻愪氦鏃ユ湡") + private String createTime; + + @ExcelProperty(value = "褰撳墠鐘舵��") + private String saveState; + + @ExcelProperty("褰撳墠璐熻矗浜�") + private String currentResponsible; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceCalibrationPlanDetailUpload.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceCalibrationPlanDetailUpload.java new file mode 100644 index 0000000..0508d3a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceCalibrationPlanDetailUpload.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.excel.upload; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/12/20 + */ +@Data +public class DeviceCalibrationPlanDetailUpload { + + @ApiModelProperty("璁惧鍚嶇О鍙婂瀷鍙�") + private String deviceName; + + @ApiModelProperty("璁惧鏁伴噺") + private String deviceAmount; + + @ApiModelProperty("浠櫒缂栧彿") + private String deviceNumber; + + @ApiModelProperty("妫�瀹氬崟浣�") + private String verificationUnit; + + @ApiModelProperty("妫�瀹氬懆鏈�") + private String verificationCycles; + + @ApiModelProperty("鏈�杩戞瀹氭椂闂�") + private String lastDate; + + @ApiModelProperty("鏈勾璁″垝鏍″噯鏃堕棿") + private String planDate; + + @ApiModelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceExaminePlanUpload.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceExaminePlanUpload.java new file mode 100644 index 0000000..d1f2948 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/upload/DeviceExaminePlanUpload.java @@ -0,0 +1,37 @@ +package com.yuanchu.mom.excel.upload; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/12/20 + */ +@Data +public class DeviceExaminePlanUpload { + + @ApiModelProperty("璁惧缂栧彿") + private String deviceNumber; + + @ApiModelProperty("璁″垝鍚嶇О") + private String deviceName; + + @ApiModelProperty("鏍告煡鏃堕棿") + private String checkTime; + + @ApiModelProperty("鏍告煡鎸囨爣") + private String checkIndex; + + @ApiModelProperty("鏍告煡鏂规硶") + private String checkMethod; + + @ApiModelProperty("缁撴灉濡備綍鍒ゅ畾") + private String howResults; + + @ApiModelProperty("鏍告煡璐d换浜�") + private String checkChargerUser; + + @ApiModelProperty("澶囨敞") + private String remark; + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceFileMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceFileMapper.java new file mode 100644 index 0000000..5a70331 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceFileMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceAcceptanceFile; + +/** + * <p> + * 璁惧楠屾敹(瑁呭)闄勪欢琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:26 + */ +public interface DeviceAcceptanceFileMapper extends BaseMapper<DeviceAcceptanceFile> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceMapper.java new file mode 100644 index 0000000..ba823da --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAcceptanceMapper.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceAcceptance; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧楠屾敹(瑁呭) Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:14 + */ +public interface DeviceAcceptanceMapper extends BaseMapper<DeviceAcceptance> { + + /** + * 璁惧楠屾敹鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, @Param("ew") QueryWrapper<DeviceAcceptance> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAccidentReportMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAccidentReportMapper.java new file mode 100644 index 0000000..eec03cb --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceAccidentReportMapper.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceAccidentReportDto; +import com.yuanchu.mom.pojo.DeviceAccidentReport; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧浜嬫晠鎶ュ憡鍗� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 06:31:12 + */ +public interface DeviceAccidentReportMapper extends BaseMapper<DeviceAccidentReport> { + + /** + * 璁惧浜嬫晠鎶ュ憡鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, @Param("ew") QueryWrapper<DeviceAccidentReport> ew); + + /** + * 鏌ヨ璁惧浜嬫晠鎶ュ憡璇︽儏 + * @param accidentReportId 璁惧浜嬫晠鎶ュ憡id + * @return + */ + DeviceAccidentReportDto selectDeviceAccidentReportById(Integer accidentReportId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBorrowMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBorrowMapper.java new file mode 100644 index 0000000..ea40b3d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBorrowMapper.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceBorrow; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 10:53:51 + */ +public interface DeviceBorrowMapper extends BaseMapper<DeviceBorrow> { + + IPage<DeviceBorrow> deviceBorrowPage(Page page, @Param("ew")QueryWrapper<DeviceBorrow> ew); + + List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBreakdownMaintenanceMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBreakdownMaintenanceMapper.java new file mode 100644 index 0000000..3842188 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceBreakdownMaintenanceMapper.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceBreakdownMaintenance; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏁呴殰缁翠慨琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 04:50:57 + */ +public interface DeviceBreakdownMaintenanceMapper extends BaseMapper<DeviceBreakdownMaintenance> { + + /** + * 璁惧鏁呴殰缁翠慨鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, @Param("ew") QueryWrapper<DeviceBreakdownMaintenance> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanDetailMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanDetailMapper.java new file mode 100644 index 0000000..fbf3f17 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanDetailMapper.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍″噯璁″垝璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:29 + */ +public interface DeviceCalibrationPlanDetailMapper extends BaseMapper<DeviceCalibrationPlanDetail> { + + /** + * 璁惧鏍″噯璁″垝璇︽儏鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceCalibrationPlanDetail> pageDeviceCalibrationPlanDetail(Page page, @Param("ew") QueryWrapper<DeviceCalibrationPlanDetail> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanMapper.java new file mode 100644 index 0000000..85120a7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCalibrationPlanMapper.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceCalibrationPlanDto; +import com.yuanchu.mom.pojo.DeviceCalibrationPlan; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍″噯璁″垝涓昏〃 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:17 + */ +public interface DeviceCalibrationPlanMapper extends BaseMapper<DeviceCalibrationPlan> { + + /** + * 璁惧鏍″噯璁″垝鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceCalibrationPlanDto> pageDeviceCalibrationPlan(Page page, @Param("ew") QueryWrapper<DeviceCalibrationPlan> ew); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCheckMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCheckMapper.java new file mode 100644 index 0000000..305c2eb --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceCheckMapper.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceCheck; + +public interface DeviceCheckMapper extends BaseMapper<DeviceCheck> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanDetailsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanDetailsMapper.java new file mode 100644 index 0000000..8a928af --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanDetailsMapper.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍告煡璁″垝璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:16 + */ +public interface DeviceExaminePlanDetailsMapper extends BaseMapper<DeviceExaminePlanDetails> { + + /** + * 璁惧鏍告煡璁″垝璇︽儏鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceExaminePlanDetails> pageDeviceExaminePlanDetail(Page page, @Param("ew") QueryWrapper<DeviceExaminePlanDetails> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanMapper.java new file mode 100644 index 0000000..9240f37 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExaminePlanMapper.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceExaminePlanDto; +import com.yuanchu.mom.pojo.DeviceExaminePlan; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍告煡璁″垝涓昏〃 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:04 + */ +public interface DeviceExaminePlanMapper extends BaseMapper<DeviceExaminePlan> { + + /** + * 璁惧鏍告煡璁″垝鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceExaminePlanDto> deviceExaminePlanDetailsMapper(Page page, @Param("ew") QueryWrapper<DeviceExaminePlan> ew); + + /** + * 鏌ヨ璁惧鏍告煡璁″垝璇︽儏 + * @param deviceExaminePlanId 璁惧鏍告煡璁″垝id + * @return + */ + DeviceExaminePlanDto selectExamineExaminePlanDto(@Param("deviceExaminePlanId") Integer deviceExaminePlanId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastDetailsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastDetailsMapper.java new file mode 100644 index 0000000..e2e96f2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastDetailsMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:57 + */ +public interface DeviceExamineRecordContrastDetailsMapper extends BaseMapper<DeviceExamineRecordContrastDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastMapper.java new file mode 100644 index 0000000..9e1b458 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordContrastMapper.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.DeviceExamineRecordContrastDto; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrast; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:43 + */ +public interface DeviceExamineRecordContrastMapper extends BaseMapper<DeviceExamineRecordContrast> { + + /** + * 鏌ヨ鏍告煡瀵规瘮璁板綍 + * @param planDetailsId + * @return + */ + DeviceExamineRecordContrastDto getExamineRecordContrast(Integer planDetailsId); + + /** + * 鏌ヨ瀵规瘮璁板綍鐢ㄤ簬瀵煎嚭 + * @param planDetailsId + * @return + */ + DeviceExamineRecordContrastDto selectExamineRecordContrastDto(@Param("planDetailsId") Integer planDetailsId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordDetailMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordDetailMapper.java new file mode 100644 index 0000000..295f513 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordDetailMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceExamineRecordDetail; + +/** + * <p> + * 璁惧鏍告煡璁板綍璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:15:11 + */ +public interface DeviceExamineRecordDetailMapper extends BaseMapper<DeviceExamineRecordDetail> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordMapper.java new file mode 100644 index 0000000..2d32652 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExamineRecordMapper.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.DeviceExamineRecordDto; +import com.yuanchu.mom.pojo.DeviceExamineRecord; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鏍告煡璁板綍琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:28 + */ +public interface DeviceExamineRecordMapper extends BaseMapper<DeviceExamineRecord> { + + /** + * 鏌ヨ璁惧鏍告煡璁板綍 + * @param planDetailsId + * @return + */ + DeviceExamineRecordDto getExamineRecord(Integer planDetailsId); + + /** + * 澶嶆牳鏍告煡璁板綍 + * @param planDetailsId 澶嶆牳鏍告煡璁板綍id + * @return + */ + DeviceExamineRecordDto selectReviewExamineRecordDto(@Param("planDetailsId") Integer planDetailsId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExternalApplyMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExternalApplyMapper.java new file mode 100644 index 0000000..4523f7f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceExternalApplyMapper.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.DeviceExternalApply; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鍒╃敤澶栭儴璁惧鐢宠琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 10:28:43 + */ +public interface DeviceExternalApplyMapper extends BaseMapper<DeviceExternalApply> { + + /** + * 鍒╃敤澶栭儴璁惧鐢宠鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceExternalApply> pageDeviceExternalApply(Page page, @Param("ew") QueryWrapper<DeviceExternalApply> ew); + + /** + * 瀵煎嚭鏌ヨ鍒╃敤澶栭儴璁惧鐢宠 + * @param externalApplyId 澶栭儴璁惧鐢宠琛╥d + * @return + */ + DeviceExternalApply selectDeviceExternalById(@Param("externalApplyId") Integer externalApplyId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultMapper.java new file mode 100644 index 0000000..03f8847 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultMapper.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceFault; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceFaultMapper extends BaseMapper<DeviceFault> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultOneMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultOneMapper.java new file mode 100644 index 0000000..5aecc64 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceFaultOneMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceFaultOneDto; +import com.yuanchu.mom.pojo.DeviceFaultOne; + +/** + * <p> + * 璁惧鏁呴殰琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 02:03:29 + */ +public interface DeviceFaultOneMapper extends BaseMapper<DeviceFaultOne> { + + IPage<DeviceFaultOneDto> deviceFaultOnePage(Integer deviceId, Page page, String processNumber); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordDetailsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordDetailsMapper.java new file mode 100644 index 0000000..1be1910 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordDetailsMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceInspectionRecordDetails; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:27:32 + */ +public interface DeviceInspectionRecordDetailsMapper extends BaseMapper<DeviceInspectionRecordDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordMapper.java new file mode 100644 index 0000000..6b2f8e6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceInspectionRecordMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yuanchu.mom.dto.DeviceInspectionRecordDto; +import com.yuanchu.mom.pojo.DeviceInspectionRecord; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:25:14 + */ +public interface DeviceInspectionRecordMapper extends BaseMapper<DeviceInspectionRecord> { + + /** + * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 + * @param page + * @param queryWrappers + * @return + */ + IPage<DeviceInspectionRecord> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceInspectionRecordDto> queryWrappers); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLeaseMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLeaseMapper.java new file mode 100644 index 0000000..f73004b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLeaseMapper.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceLease; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceLeaseMapper extends BaseMapper<DeviceLease> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLogMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLogMapper.java new file mode 100644 index 0000000..e0149d0 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceLogMapper.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceLog; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceLogMapper extends BaseMapper<DeviceLog> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenanceMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenanceMapper.java new file mode 100644 index 0000000..a8c06ff --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenanceMapper.java @@ -0,0 +1,18 @@ +package com.yuanchu.mom.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.excel.DeviceMaintenanceExport; +import com.yuanchu.mom.pojo.DeviceMaintenance; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface DeviceMaintenanceMapper extends BaseMapper<DeviceMaintenance> { + List<DeviceMaintenance> getDeviceMaintenanceParam(); + +// IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId); + + List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanDetailsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanDetailsMapper.java new file mode 100644 index 0000000..81da4b4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanDetailsMapper.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDetailsDto; +import com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 璁惧淇濆吇璁″垝璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:11:46 + */ +public interface DeviceMaintenancePlanDetailsMapper extends BaseMapper<DeviceMaintenancePlanDetails> { + + /** + * 鏌ヨ璁惧淇濆吇璇︽儏 + * @param maintenancePlanId 璁惧淇濆吇璁″垝id + */ + List<DeviceMaintenancePlanDetailsDto> deviceInspectionRecordDetailsList(@Param("maintenancePlanId") Integer maintenancePlanId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanMapper.java new file mode 100644 index 0000000..0e0f76b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMaintenancePlanMapper.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDto; +import com.yuanchu.mom.pojo.DeviceMaintenancePlan; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧淇濆吇璁″垝琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:10:52 + */ +public interface DeviceMaintenancePlanMapper extends BaseMapper<DeviceMaintenancePlan> { + + /** + * 鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝 + * @param page 褰撳墠椤� + * @param queryWrappers 鏌ヨ鏉′欢 + * @return + */ + IPage<DeviceMaintenancePlan> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceMaintenancePlanDto> queryWrappers); + + /** + * 鏍规嵁淇濆吇璁″垝id鏌ヨ璁惧淇濆吇璁″垝 + * @param maintenancePlanId 淇濆吇璁″垝id + * @return + */ + DeviceMaintenancePlanDto selectMaintenancePlanById(@Param("maintenancePlanId") Integer maintenancePlanId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java index 597c683..74c00ee 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java @@ -32,7 +32,7 @@ //鏌ヨ璁惧璐熻矗浜� List<Device> selectDevicePrincipal(); - IPage<DeviceDto> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceDto> queryWrappers); + IPage<DeviceDto> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceDto> queryWrappers,@Param("laboratoryNameIsNull") Boolean laboratoryNameIsNull); List<Map<String, Object>> getInspectionItemSubclass(@Param("id") Integer id); diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricMapper.java new file mode 100644 index 0000000..79795cd --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricMapper.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceMetric; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricRecordMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricRecordMapper.java new file mode 100644 index 0000000..fecc91c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricRecordMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceMetricRecord; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:01 + */ +public interface DeviceMetricRecordMapper extends BaseMapper<DeviceMetricRecord> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricsCopyMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricsCopyMapper.java new file mode 100644 index 0000000..de2144b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMetricsCopyMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.DeviceMetricsCopy; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:11 + */ +public interface DeviceMetricsCopyMapper extends BaseMapper<DeviceMetricsCopy> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceRecordMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceRecordMapper.java new file mode 100644 index 0000000..bfe4fe1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceRecordMapper.java @@ -0,0 +1,37 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceRecordDto; +import com.yuanchu.mom.pojo.DeviceRecord; + +import java.util.List; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +public interface DeviceRecordMapper extends BaseMapper<DeviceRecord> { + + IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber, Integer userId); + + + /** + * 鏌ヨ鏈~鍐欑殑璁惧 + * @return + */ + List<DeviceRecordDto> selectNotFilled(); + + /** + * 鏌ヨ瀵煎嚭璁惧浣跨敤璁板綍 + * @param deviceId + * @param exportDate + * @return + */ + List<DeviceRecord> selectExportList(Integer deviceId, String exportDate); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceScrappedMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceScrappedMapper.java new file mode 100644 index 0000000..81bec98 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceScrappedMapper.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceScrappedDto; +import com.yuanchu.mom.pojo.DeviceScrapped; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧鎶ュ簾鐢宠琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 01:53:47 + */ +public interface DeviceScrappedMapper extends BaseMapper<DeviceScrapped> { + + /** + * 璁惧鎶ュ簾鐢宠鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<DeviceScrapped> pageDeviceScrapped(Page page, @Param("ew") QueryWrapper<DeviceScrapped> ew); + + /** + * 鏍规嵁id鏌ヨ璁惧鎶ュ簾鐢宠 + * @param scrappedId + * @return + */ + DeviceScrappedDto selectDeviceScrappedById(@Param("scrappedId") Integer scrappedId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceStateMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceStateMapper.java new file mode 100644 index 0000000..78eec80 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceStateMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.DeviceStateDto; +import com.yuanchu.mom.pojo.DeviceState; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 09:51:40 + */ +public interface DeviceStateMapper extends BaseMapper<DeviceState> { + + IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementDetailsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementDetailsMapper.java new file mode 100644 index 0000000..7f86413 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementDetailsMapper.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDetailsDto; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕鎯呰〃 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:58 + */ +public interface DeviceTraceabilityManagementDetailsMapper extends BaseMapper<DeviceTraceabilityManagementDetails> { + + /** + * 鏍规嵁婧簮璁″垝id鏌ヨ婧簮璁″垝璇︽儏 + * @param traceabilityManagementId 婧簮璁″垝id + * @return 婧簮璁″垝璇︽儏 + */ + List<DeviceTraceabilityManagementDetailsDto> deviceTraceabilityManagementDetailsList(@Param("traceabilityManagementId") Integer traceabilityManagementId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementMapper.java new file mode 100644 index 0000000..1dbefae --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceTraceabilityManagementMapper.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDto; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagement; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕〃 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:44 + */ +public interface DeviceTraceabilityManagementMapper extends BaseMapper<DeviceTraceabilityManagement> { + + /** + * 鍒嗛〉鏌ヨ璁惧閲忓�兼函婧愯鍒� + * @param page + * @param queryWrappers + * @return + */ + IPage<DeviceTraceabilityManagement> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceTraceabilityManagementDto> queryWrappers); + + /** + * 鏍规嵁id鏌ヨ璁惧閲忓�兼函婧愯鍒� + * @param traceabilityManagementId + * @return + */ + DeviceTraceabilityManagementDto selectDeviceTraceabilityManagementById(@Param("traceabilityManagementId") Integer traceabilityManagementId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DocumentDao.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DocumentDao.java new file mode 100644 index 0000000..197544f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DocumentDao.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.Document; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DocumentDao extends BaseMapper<Document> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentAcceptanceCheckMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentAcceptanceCheckMapper.java new file mode 100644 index 0000000..79686a9 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentAcceptanceCheckMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.mybatis_config.MyBaseMapper; +import com.yuanchu.mom.pojo.IncidentAcceptanceCheck; + +/** + * <p> + * 璁惧楠屾敹-楠屾敹鏍告煡 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:19 + */ +public interface IncidentAcceptanceCheckMapper extends MyBaseMapper<IncidentAcceptanceCheck> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentFileMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentFileMapper.java new file mode 100644 index 0000000..bc8d0e5 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentFileMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.mybatis_config.MyBaseMapper; +import com.yuanchu.mom.pojo.IncidentFile; + +/** + * <p> + * 璁惧楠屾敹-鏂囦欢绫荤‘璁� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:36 + */ +public interface IncidentFileMapper extends MyBaseMapper<IncidentFile> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentInstallMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentInstallMapper.java new file mode 100644 index 0000000..bf6940d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentInstallMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.mybatis_config.MyBaseMapper; +import com.yuanchu.mom.pojo.IncidentInstall; + +/** + * <p> + * 璁惧楠屾敹-瀹夎楠屾敹妫�鏌� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:50 + */ +public interface IncidentInstallMapper extends MyBaseMapper<IncidentInstall> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentReportMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentReportMapper.java new file mode 100644 index 0000000..66f1a94 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentReportMapper.java @@ -0,0 +1,37 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.IncidentReportAddDto; +import com.yuanchu.mom.dto.IncidentReportExportWordDto; +import com.yuanchu.mom.excel.IncidentReportExport; +import com.yuanchu.mom.pojo.IncidentReport; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 璁惧楠屾敹娣诲姞楠屾敹瀛楁琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 03:54:49 + */ +public interface IncidentReportMapper extends BaseMapper<IncidentReport> { + + IPage<IncidentReportAddDto> getByDeviceId(Page page, @Param("deviceId") Integer deviceId, @Param("processNumber") String processNumber); + + IncidentReportAddDto getShowIncidentReport(Integer id); + + List<IncidentReportExport> incidentReportExport(Integer deviceId); + + /** + * 瀵煎嚭楠屾敹鎶ュ憡 + * @param deviceId 璁惧id + * @param processNumber 娴佺▼鍙� + * @return + */ + IncidentReportExportWordDto acceptanceCertificateExport(@Param("deviceId") Integer deviceId,@Param("processNumber") String processNumber); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentSparePartsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentSparePartsMapper.java new file mode 100644 index 0000000..01b1134 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/IncidentSparePartsMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.mybatis_config.MyBaseMapper; +import com.yuanchu.mom.pojo.IncidentSpareParts; + +/** + * <p> + * 璁惧楠屾敹-澶囦欢纭 Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:42:06 + */ +public interface IncidentSparePartsMapper extends MyBaseMapper<IncidentSpareParts> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/InstructionMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/InstructionMapper.java new file mode 100644 index 0000000..d235ba2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/InstructionMapper.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.OperationInstructionDto; +import com.yuanchu.mom.pojo.Instruction; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:29:18 + */ +public interface InstructionMapper extends BaseMapper<Instruction> { + + + IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page, @Param("ew") QueryWrapper<OperationInstructionDto> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/OperationInstructionMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/OperationInstructionMapper.java new file mode 100644 index 0000000..df732b8 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/OperationInstructionMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.OperationInstruction; +import com.yuanchu.mom.vo.OperationInstructionVo; + +import java.util.List; + +/** + * <p> + * 璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:43:32 + */ +public interface OperationInstructionMapper extends BaseMapper<OperationInstruction> { + + List<OperationInstructionVo> homeworkGuidebookEditor(Integer instructionId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/ReservationMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/ReservationMapper.java new file mode 100644 index 0000000..0038674 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/ReservationMapper.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.ReservationDto; +import com.yuanchu.mom.pojo.Reservation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 璧勬簮棰勫畾鏂板缓棰勫畾琛� Mapper 鎺ュ彛 + * </p> + * + * @author baomidou + * @since 2024-09-14 + */ +public interface ReservationMapper extends BaseMapper<Reservation> { + + + List<ReservationDto> selectReservationParameterPage(@Param("deviceId") Integer deviceId, @Param("reservationTime") String reservationTime, @Param("specificTime") String specificTime); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptance.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptance.java new file mode 100644 index 0000000..49fd79c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptance.java @@ -0,0 +1,77 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧楠屾敹(瑁呭) + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:14 + */ +@Getter +@Setter +@TableName("device_acceptance") +@ApiModel(value = "DeviceAcceptance瀵硅薄", description = "璁惧楠屾敹(瑁呭)") +public class DeviceAcceptance { + + @TableId(value = "acceptance_id", type = IdType.AUTO) + private Integer acceptanceId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("鍒拌揣鏃ユ湡") + private LocalDate arrivalDate; + + @ApiModelProperty("閲戦") + private String goldAmount; + + @ApiModelProperty("缁翠慨鍗曚綅") + private String maintenanceunit; + + @ApiModelProperty("鏀惰澶囦富鏈哄拰澶囦唤鎯呭喌") + private String spareParts; + + @ApiModelProperty("瀹夎鍜岃皟璇曟儏鍐�") + private String installationDebugging; + + @ApiModelProperty("楠屾敹鎯呭喌") + private String checkSituation; + + @ApiModelProperty("鎺ユ敹绛惧瓧") + private String receivingSignature; + + @ApiModelProperty("鍘傚浠h〃") + private String producer; + + @ApiModelProperty("鎺ユ敹浜�") + private String recipient; + + @ApiModelProperty("鎺ユ敹鏃堕棿") + private String recipientDate; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptanceFile.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptanceFile.java new file mode 100644 index 0000000..9ce26b2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAcceptanceFile.java @@ -0,0 +1,58 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧楠屾敹(瑁呭)闄勪欢琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:26 + */ +@Getter +@Setter +@TableName("device_acceptance_file") +@ApiModel(value = "DeviceAcceptanceFile瀵硅薄", description = "璁惧楠屾敹(瑁呭)闄勪欢琛�") +public class DeviceAcceptanceFile implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "acceptance_file_id", type = IdType.AUTO) + private Integer acceptanceFileId; + + @ApiModelProperty("璁惧楠屾敹id") + private Integer acceptanceId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAccidentReport.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAccidentReport.java new file mode 100644 index 0000000..54b1d40 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceAccidentReport.java @@ -0,0 +1,120 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧浜嬫晠鎶ュ憡鍗� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 06:31:12 + */ +@Getter +@Setter +@TableName("device_accident_report") +@ApiModel(value = "DeviceAccidentReport瀵硅薄", description = "璁惧浜嬫晠鎶ュ憡鍗�") +public class DeviceAccidentReport { + + @TableId(value = "accident_report_id", type = IdType.AUTO) + private Integer accidentReportId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("鍦板潃") + private String address; + + @ApiModelProperty("鏃堕棿") + private LocalDateTime accidentDate; + + @ApiModelProperty("浜嬫晠鎯呭喌鎻忚堪") + private String descriptionOfAccident; + + @ApiModelProperty("鎶ュ憡浜篿d") + private Integer reportUserId; + + @ApiModelProperty("鎶ュ憡浜�") + private String reportUser; + + @ApiModelProperty("鎶ュ憡浜哄~鍐欐椂闂�") + private LocalDate reportDate; + + @ApiModelProperty("璇勪及浜烘剰瑙�") + private String assessorOpinion; + + @ApiModelProperty("璇勪及浜篿d") + private Integer assessorUserId; + + @ApiModelProperty("璇勪及浜�") + private String assessorUser; + + @ApiModelProperty("璇勪及浜哄~鍐欐椂闂�") + private LocalDate assessorDate; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜烘剰瑙�") + private String departmentHeadOpinion; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜篿d") + private Integer departmentHeadUserId; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜�") + private String departmentHeadUser; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private LocalDate departmentHeadDate; + + @ApiModelProperty("鎶�鏈礋璐d汉鎰忚") + private String technicalDirectorOpinion; + + @ApiModelProperty("鎶�鏈礋璐d汉id") + private Integer technicalDirectorUserId; + + @ApiModelProperty("鎶�鏈礋璐d汉") + private String technicalDirectorUser; + + @ApiModelProperty("鎶�鏈礋璐d汉濉啓鏃堕棿") + private LocalDate technicalDirectorDate; + + @ApiModelProperty("涓讳换鎰忚") + private String directorHeadOpinion; + + @ApiModelProperty("涓讳换id") + private Integer directorHeadUserId; + + @ApiModelProperty("涓讳换") + private String directorHeadUser; + + @ApiModelProperty("涓讳换濉啓鏃堕棿") + private LocalDate directorHeadDate; + + @ApiModelProperty("鏄惁缁撴潫,0 鏈粨鏉�, 1缁撴潫") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:鎶ュ憡, 1璇勪及, 2:閮ㄩ棬璐熻矗浜烘剰瑙�, 3:鎶�鏈礋璐d汉鎰忚, 4:涓讳换鎰忚") + private Integer flowType; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java new file mode 100644 index 0000000..79a4384 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBorrow.java @@ -0,0 +1,159 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 10:53:51 + */ +@Getter +@Setter +@TableName("device_borrow") +@ApiModel(value = "DeviceBorrow瀵硅薄", description = "璁惧鍊熺敤") +public class DeviceBorrow extends OrderBy implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + @ExcelIgnore + private Integer id; + + @ValueTableShow(1) + @ApiModelProperty("娴佺▼缂栧彿") + @ExcelProperty(value = "娴佺▼缂栧彿") + private String processNumber; + + @ApiModelProperty("璁惧id") + @ExcelIgnore + private Integer deviceId; + + @ValueTableShow(3) + @ApiModelProperty("绠$悊缂栧彿") + @ExcelProperty(value = "绠$悊缂栧彿") + private String unifyNumber; + + @ApiModelProperty("鍊熺敤浜�") + @ValueTableShow(4) + @ExcelProperty(value = "鍊熺敤浜�") + private String recipientUser; + + @ValueTableShow(5) + @ExcelProperty(value = "鍊熺敤浜鸿仈绯绘柟寮�") + @ApiModelProperty("鍊熺敤浜鸿仈绯绘柟寮�") + private String borrowerContactInformation; + + @ValueTableShow(6) + @ApiModelProperty("鍊熺敤鏃剁姸鎬�") + @ExcelProperty(value = "鍊熺敤鏃剁姸鎬�") + //0鍚堟牸;1缁翠慨;2鍋滅敤;3鎶ュ簾 + private Integer recipientState; + + @ValueTableShow(5) + @ApiModelProperty("鍊熺敤鏃ユ湡") + @ExcelProperty(value = "鎻愪氦鏃ユ湡") + private Date recipientTime; + + @ApiModelProperty("鍊熷嚭浜�") + @ValueTableShow(7) + @ExcelProperty(value = "鍊熷嚭浜�") + private String submitUser; + + @ValueTableShow(8) + @ApiModelProperty("鍊熷嚭鏃ユ湡") + @ExcelProperty(value = "鍊熷嚭鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ValueTableShow(9) + @ApiModelProperty("褰撳墠鐘舵��") + @ExcelProperty(value = "褰撳墠鐘舵��") + private String nowState; + + @ApiModelProperty("褰撳墠璐d换浜�") + @ValueTableShow(10) + @ExcelProperty(value = "褰撳墠璐d换浜�") + private String nowUser; + + @ExcelIgnore + @ApiModelProperty("闄勪欢") + //璺緞 + private String url; + + @ValueTableShow(11) + @ApiModelProperty("闄勪欢") + @ExcelProperty(value = "闄勪欢") + //鏂囦欢鍚� + private String fileName; + + @ApiModelProperty("涓嬬幆鑺傝矗浠讳汉") + @ExcelIgnore + private String nextUser; + + @ApiModelProperty("鎻愪氦鎿嶄綔浜�") + @ExcelIgnore + private String submitOperationUser; + + @ApiModelProperty("鎻愪氦鎿嶄綔鏃堕棿") + @ExcelIgnore + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime submitOperationTime; + + @ApiModelProperty("褰掕繕浜�") + @ExcelIgnore + private String rebackUser; + + @ApiModelProperty("褰掕繕鏃ユ湡") + @ExcelIgnore + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime rebackTime; + + @ApiModelProperty("鎺ュ彈鐘舵��0鍚堟牸;1缁翠慨;2鍋滅敤;3鎶ュ簾") + @ExcelIgnore + private Integer receiveState; + + @ApiModelProperty("璁惧璐d换浜�") + @ExcelIgnore + private String deviceUser; + + @ApiModelProperty("澶囨敞") + @ExcelIgnore + private String note; + + @ApiModelProperty("鎺ユ敹鎿嶄綔浜�") + @ExcelIgnore + private String receiveOperationUser; + + @ApiModelProperty("鎺ユ敹鎿嶄綔鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ExcelIgnore + private LocalDateTime receiveOperationTime; + + @ValueTableShow(2) + @ApiModelProperty("璁惧鍚嶇О") + @TableField(select = false, exist = false) + @ExcelProperty(value = "璁惧鍚嶇О") + private String deviceName; + + + @ApiModelProperty("娴佺▼璺熻釜") + @TableField(select = false, exist = false) + @ExcelIgnore + private List<DeviceLog> deviceLogs; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBreakdownMaintenance.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBreakdownMaintenance.java new file mode 100644 index 0000000..fbf109a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceBreakdownMaintenance.java @@ -0,0 +1,90 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏁呴殰缁翠慨琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 04:50:57 + */ +@Getter +@Setter +@TableName("device_breakdown_maintenance") +@ApiModel(value = "DeviceBreakdownMaintenance瀵硅薄", description = "璁惧鏁呴殰缁翠慨琛�") +public class DeviceBreakdownMaintenance { + + @TableId(value = "maintenance_id", type = IdType.AUTO) + private Integer maintenanceId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("瀹夎鍦板潃") + private String location; + + @ApiModelProperty("鎹熷潖鎴栨晠闅滄儏鍐�") + private String damageOrMalfunction; + + @ApiModelProperty("鐢宠浜篿d") + private Integer applicantUserId; + + @ApiModelProperty("鐢宠浜�") + private String applicantUser; + + @ApiModelProperty("瑕佹眰淇鏃堕棿") + private LocalDate repairDate; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜烘剰瑙�") + private String departmentHeadOpinion; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜篿d") + private Integer departmentHeadUserId; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜�") + private String departmentHeadUser; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private LocalDate departmentHeadDate; + + @ApiModelProperty("缁翠慨璁颁簨") + private String maintenanceRecord; + + @ApiModelProperty("缁翠慨浜�") + private String maintenanceUser; + + @ApiModelProperty("缁翠慨鏃堕棿") + private LocalDate maintenanceDate; + + @ApiModelProperty("鏄惁缁撴潫,0 鏈粨鏉�, 1缁撴潫") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:鐢宠, 1鐢宠閮ㄩ棬璐熻矗浜烘剰瑙�, 2:缁翠慨璁颁簨") + private Integer flowType; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlan.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlan.java new file mode 100644 index 0000000..11a12d3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlan.java @@ -0,0 +1,67 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍″噯璁″垝涓昏〃 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:17 + */ +@Getter +@Setter +@TableName("device_calibration_plan") +@ApiModel(value = "DeviceCalibrationPlan瀵硅薄", description = "璁惧鏍″噯璁″垝涓昏〃") +public class DeviceCalibrationPlan { + + @TableId(value = "plan_id", type = IdType.AUTO) + private Integer planId; + + @ApiModelProperty("璁″垝鍚嶇О") + private String planName; + + @ApiModelProperty("璁″垝骞翠唤") + private String planYear; + + @ApiModelProperty("缂栧埗浜�") + private Integer writeUserId; + + @ApiModelProperty("缂栧埗鏃堕棿") + private LocalDateTime writeTime; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鎵瑰噯鐘舵��,0 涓嶉�氳繃, 1 閫氳繃") + private Integer ratifyStatus; + + @ApiModelProperty("鎵瑰噯淇℃伅") + private String ratifyRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlanDetail.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlanDetail.java new file mode 100644 index 0000000..e673ffe --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCalibrationPlanDetail.java @@ -0,0 +1,74 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍″噯璁″垝璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:29 + */ +@Getter +@Setter +@TableName("device_calibration_plan_detail") +@ApiModel(value = "DeviceCalibrationPlanDetail瀵硅薄", description = "璁惧鏍″噯璁″垝璇︽儏琛�") +public class DeviceCalibrationPlanDetail { + + @TableId(value = "plan_detail_id", type = IdType.AUTO) + private Integer planDetailId; + + @ApiModelProperty("璁″垝涓昏〃id") + private Integer planId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("璁惧鍚嶇О鍙婂瀷鍙�") + private String deviceName; + + @ApiModelProperty("璁惧鏁伴噺") + private String deviceAmount; + + @ApiModelProperty("浠櫒缂栧彿") + private String deviceNumber; + + @ApiModelProperty("妫�瀹氬崟浣�") + private String verificationUnit; + + @ApiModelProperty("妫�瀹氬懆鏈�") + private String verificationCycles; + + @ApiModelProperty("鏈�杩戞瀹氭椂闂�") + private LocalDate lastDate; + + @ApiModelProperty("鏈勾璁″垝鏍″噯鏃堕棿") + private LocalDate planDate; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCheck.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCheck.java new file mode 100644 index 0000000..dce68da --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceCheck.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@TableName("device_check") +public class DeviceCheck { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; //id + private Integer deviceId; // 璁惧ID + private String measurementParameter; // 璁¢噺鍙傛暟 + private String rangeOfMeasurement; // 閲忕▼鑼冨洿 + private String maxPermissibleError; // 鏈�澶у厑璁歌宸� + private String judgmentCriteria; // 鍒ゅ畾鏍囧噯 + private String createdBy; // 鍒涘缓浜� + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime creationTime; // 鍒涘缓鏃堕棿 +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlan.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlan.java new file mode 100644 index 0000000..95ea60a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlan.java @@ -0,0 +1,67 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁″垝涓昏〃 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:04 + */ +@Getter +@Setter +@TableName("device_examine_plan") +@ApiModel(value = "DeviceExaminePlan瀵硅薄", description = "璁惧鏍告煡璁″垝涓昏〃") +public class DeviceExaminePlan { + + @TableId(value = "plan_id", type = IdType.AUTO) + private Integer planId; + + @ApiModelProperty("璁″垝鍚嶇О") + private String planName; + + @ApiModelProperty("璁″垝鍚嶇О") + private String planYear; + + @ApiModelProperty("缂栧埗浜�") + private Integer writeUserId; + + @ApiModelProperty("缂栧埗鏃堕棿") + private LocalDateTime writeTime; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鎵瑰噯鐘舵��,0 涓嶉�氳繃, 1 閫氳繃") + private Integer ratifyStatus; + + @ApiModelProperty("鎵瑰噯淇℃伅") + private String ratifyRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlanDetails.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlanDetails.java new file mode 100644 index 0000000..315fba3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExaminePlanDetails.java @@ -0,0 +1,76 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁″垝璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:16 + */ +@Getter +@Setter +@TableName("device_examine_plan_details") +@ApiModel(value = "DeviceExaminePlanDetails瀵硅薄", description = "璁惧鏍告煡璁″垝璇︽儏琛�") +public class DeviceExaminePlanDetails { + + @TableId(value = "plan_details_id", type = IdType.AUTO) + private Integer planDetailsId; + + @ApiModelProperty("涓昏〃id") + private Integer planId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("璁惧缂栧彿") + private String deviceNumber; + + @ApiModelProperty("璁″垝鍚嶇О") + private String deviceName; + + @ApiModelProperty("鏍告煡鏃堕棿") + private String checkTime; + + @ApiModelProperty("鏍告煡鎸囨爣") + private String checkIndex; + + @ApiModelProperty("鏍告煡鏂规硶") + private String checkMethod; + + @ApiModelProperty("缁撴灉濡備綍鍒ゅ畾") + private String howResults; + + @ApiModelProperty("鏍告煡璐d换浜篿d") + private Integer checkChargerUserId; + + @ApiModelProperty("鏍告煡璐d换浜�") + private String checkChargerUser; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecord.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecord.java new file mode 100644 index 0000000..6288573 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecord.java @@ -0,0 +1,139 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁板綍琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:28 + */ +@Getter +@Setter +@TableName("device_examine_record") +@ApiModel(value = "DeviceExamineRecord瀵硅薄", description = "璁惧鏍告煡璁板綍琛�") +public class DeviceExamineRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_id", type = IdType.AUTO) + private Integer recordId; + + @ApiModelProperty("璁惧鏍告煡璇︽儏id") + private Integer planDetailsId; + + @ApiModelProperty("绮惧害绛夌骇") + private String accuracyGrade; + + @ApiModelProperty("浣跨敤鐗╄川鍚嶇О") + private String materialName; + + @ApiModelProperty("浣跨敤鐗╄川绠$悊缂栧彿") + private String materialNumber; + + @ApiModelProperty("浣跨敤鐗╄川绮惧害/涓嶇‘瀹氬害") + private String materialAccuracyUncertainty; + + @ApiModelProperty("浣跨敤鐗╄川瑙勬牸鍨嬪彿") + private String materialModel; + + @ApiModelProperty("浣跨敤鐗╄川鏍告煡鏂瑰紡") + private String materialCheckMethod; + + @ApiModelProperty("浣跨敤鐗╄川鏍告煡椤圭洰") + private String materialCheckItems; + + @ApiModelProperty("娓╁害") + private String temperature; + + @ApiModelProperty("婀垮害") + private String humidity; + + @ApiModelProperty("鍒ゅ畾") + private String determine; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鏍告煡浜篿d") + private Integer checkerUserId; + + @ApiModelProperty("鏍告煡浜�") + private String checkerUser; + + @ApiModelProperty("澶嶆牳浜篿d") + private Integer reviewUserId; + + @ApiModelProperty("澶嶆牳浜�") + private String reviewUser; + + @ApiModelProperty("瀹℃牳鐘舵��0,涓嶉�氳繃, 1閫氳繃") + private Integer reviewStatus; + + @ApiModelProperty("瀹℃牳澶囨敞") + private String reviewRemark; + + @ApiModelProperty("娴嬭瘯鐐�1") + private String dataValue1; + @ApiModelProperty("娴嬭瘯鐐�2") + private String dataValue2; + @ApiModelProperty("娴嬭瘯鐐�3") + private String dataValue3; + @ApiModelProperty("娴嬭瘯鐐�4") + private String dataValue4; + @ApiModelProperty("娴嬭瘯鐐�5") + private String dataValue5; + @ApiModelProperty("娴嬭瘯鐐�6") + private String dataValue6; + + @ApiModelProperty("鏈�澶у亸宸�1") + private String maximun1; + @ApiModelProperty("鏈�澶у亸宸�2") + private String maximun2; + @ApiModelProperty("鏈�澶у亸宸�3") + private String maximun3; + @ApiModelProperty("鏈�澶у亸宸�4") + private String maximun4; + @ApiModelProperty("鏈�澶у亸宸�5") + private String maximun5; + @ApiModelProperty("鏈�澶у亸宸�6") + private String maximun6; + + @ApiModelProperty("鐩稿鍋忓樊1") + private String relative1; + @ApiModelProperty("鐩稿鍋忓樊2") + private String relative2; + @ApiModelProperty("鐩稿鍋忓樊3") + private String relative3; + @ApiModelProperty("鐩稿鍋忓樊4") + private String relative4; + @ApiModelProperty("鐩稿鍋忓樊5") + private String relative5; + @ApiModelProperty("鐩稿鍋忓樊6") + private String relative6; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrast.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrast.java new file mode 100644 index 0000000..91f4099 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrast.java @@ -0,0 +1,97 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:43 + */ +@Getter +@Setter +@TableName("device_examine_record_contrast") +@ApiModel(value = "DeviceExamineRecordContrast瀵硅薄", description = "璁惧鏍告煡璁板綍瀵规瘮琛�") +public class DeviceExamineRecordContrast implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_contrast_id", type = IdType.AUTO) + private Integer recordContrastId; + + @ApiModelProperty("鏍告煡鏂瑰紡") + private String checkMethod; + + @ApiModelProperty("璁惧鏍告煡璇︽儏id") + private Integer planDetailsId; + + @ApiModelProperty("璁惧idA") + private Integer aDeviceId; + + @ApiModelProperty("璁惧idb") + private Integer bDeviceId; + + @ApiModelProperty("璁惧idc") + private Integer cDeviceId; + + @ApiModelProperty("鑼冨洿涓嶇‘瀹氬害A") + private String aRangeUncertainty; + + @ApiModelProperty("鑼冨洿涓嶇‘瀹氬害b") + private String bRangeUncertainty; + + @ApiModelProperty("鑼冨洿涓嶇‘瀹氬害c") + private String cRangeUncertainty; + + @ApiModelProperty("缁煎悎鍒ゅ畾") + private String judgment; + + @ApiModelProperty("鏍告煡浜篿d") + private Integer checkerUserId; + + @ApiModelProperty("鏍告煡浜�") + private String checkerUser; + + @ApiModelProperty("鏍告煡鏃ユ湡") + private LocalDateTime checkerTime; + + @ApiModelProperty("瀹℃牳浜篿d") + private Integer reviewUserId; + + @ApiModelProperty("瀹℃牳浜�") + private String reviewUser; + + @ApiModelProperty("瀹℃牳鐘舵��0,涓嶉�氳繃, 1閫氳繃") + private Integer reviewStatus; + + @ApiModelProperty("瀹℃牳澶囨敞") + private String reviewRemark; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private LocalDateTime reviewTime; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrastDetails.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrastDetails.java new file mode 100644 index 0000000..761d626 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordContrastDetails.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:57 + */ +@Getter +@Setter +@TableName("device_examine_record_contrast_details") +@ApiModel(value = "DeviceExamineRecordContrastDetails瀵硅薄", description = "璁惧鏍告煡璁板綍瀵规瘮璇︽儏琛�") +public class DeviceExamineRecordContrastDetails implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_contrast_details_id", type = IdType.AUTO) + private Integer recordContrastDetailsId; + + @ApiModelProperty("璁惧鏍告煡璇︽儏id") + private Integer recordContrastId; + + @ApiModelProperty("鏍告煡椤圭洰") + private String checkItems; + + @ApiModelProperty("a浠櫒绀哄��") + private String indicationA; + + @ApiModelProperty("b浠櫒绀哄��") + private String indicationB; + + @ApiModelProperty("c浠櫒绀哄��") + private String indicationC; + + @ApiModelProperty("宸��") + private String dValue; + + @ApiModelProperty("鍋忓樊") + private String deviation; + + @ApiModelProperty("鍒ゅ畾") + private String determine; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordDetail.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordDetail.java new file mode 100644 index 0000000..a871313 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExamineRecordDetail.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍告煡璁板綍璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:15:11 + */ +@Getter +@Setter +@TableName("device_examine_record_detail") +@ApiModel(value = "DeviceExamineRecordDetail瀵硅薄", description = "璁惧鏍告煡璁板綍璇︽儏琛�") +public class DeviceExamineRecordDetail implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_detail_id", type = IdType.AUTO) + private Integer recordDetailId; + + @ApiModelProperty("璁捐澶囨牳鏌ヨ褰昳d") + private Integer recordId; + + @ApiModelProperty("娴嬭瘯鐐�") + private String testPoint; + + @ApiModelProperty("鍐呭鍊�1") + private String dataValue1; + + @ApiModelProperty("鍐呭鍊�2") + private String dataValue2; + + @ApiModelProperty("鍐呭鍊�3") + private String dataValue3; + + @ApiModelProperty("鍐呭鍊�4") + private String dataValue4; + + @ApiModelProperty("鍐呭鍊�5") + private String dataValue5; + + @ApiModelProperty("鍐呭鍊�6") + private String dataValue6; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExternalApply.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExternalApply.java new file mode 100644 index 0000000..19efa1b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceExternalApply.java @@ -0,0 +1,123 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鍒╃敤澶栭儴璁惧鐢宠琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 10:28:43 + */ +@Getter +@Setter +@TableName("device_external_apply") +@ApiModel(value = "DeviceExternalApply瀵硅薄", description = "鍒╃敤澶栭儴璁惧鐢宠琛�") +public class DeviceExternalApply { + + @TableId(value = "external_apply_id", type = IdType.AUTO) + private Integer externalApplyId; + + @ApiModelProperty("鍗曚綅鍚嶇О") + private String unitName; + + @ApiModelProperty("鍦板潃") + private String address; + + @ApiModelProperty("浠櫒鍚嶇О") + private String deviceName; + + @ApiModelProperty("浠櫒鍨嬪彿") + private String deviceModel; + + @ApiModelProperty("閰嶄欢") + private String parts; + + @ApiModelProperty("瀵规柟浠櫒缂栧彿") + private String instrumentNumber; + + @ApiModelProperty("鎶�鏈寚鏍�") + private String technicalIndex; + + @ApiModelProperty("鎶�鏈姹�") + private String technicalRequirements; + + @ApiModelProperty("鍒╃敤鍘熷洜") + private String useReason; + + @ApiModelProperty("0鐢宠浜篿d") + private Integer applicantUserId; + + @ApiModelProperty("0鐢宠浜�") + private String applicantUser; + + @ApiModelProperty("0鐢宠鏃堕棿") + private LocalDate applicantDate; + + @ApiModelProperty("1閮ㄩ棬璐熻矗浜烘剰瑙�") + private String departmentHeadOpinion; + + @ApiModelProperty("1閮ㄩ棬璐熻矗浜篿d") + private Integer departmentHeadUserId; + + @ApiModelProperty("1閮ㄩ棬璐熻矗浜�") + private String departmentHeadUser; + + @ApiModelProperty("1閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private LocalDate departmentHeadDate; + + @ApiModelProperty("2璁¢噺瀹ゆ剰瑙�") + private String meteringRoomOpinion; + + @ApiModelProperty("2璁¢噺瀹や汉id") + private Integer meteringRoomUserId; + + @ApiModelProperty("2璁¢噺瀹や汉") + private String meteringRoomUser; + + @ApiModelProperty("2璁¢噺瀹や汉濉啓鏃堕棿") + private LocalDate meteringRoomDate; + + @ApiModelProperty("3鎵瑰噯浜烘剰瑙�") + private String approverOpinion; + + @ApiModelProperty("3鎵瑰噯浜篿d") + private Integer approverUserId; + + @ApiModelProperty("3鎵瑰噯浜�") + private String approverUser; + + @ApiModelProperty("3鎵瑰噯浜哄~鍐欐椂闂�") + private LocalDate approverDate; + + @ApiModelProperty("鏄惁缁撴潫,0: 鏈粨鏉�, 1:缁撴潫") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:鐢宠, 1鐢宠閮ㄩ棬璐熻矗浜烘剰瑙�, 2:璁¢噺瀹ゆ剰瑙�, 3:鎵瑰噯浜�") + private Integer flowType; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFault.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFault.java new file mode 100644 index 0000000..727f3d3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFault.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDate; + +@Data +@TableName("device_faults") +public class DeviceFault { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + //璁惧di + private Integer deviceId; + //鏁呴殰娆℃暟 + private Integer faultCount; + //鏈�杩戞晠闅滄棩鏈� + private LocalDate recentFaultDate; + //鏈�杩戞牎鍑嗘棩鏈� + private LocalDate recentCalibrationDate; + // 鏈�杩戞牎鍑嗙粨璁� + private String calibrationConclusion; + // 鏈�杩戞鏌ユ棩鏈� + private LocalDate recentCheckDate; + // 涓嬩竴娆℃鏌ユ棩鏈� + private LocalDate nextCheckDate; +//妫�鏌ョ粨璁� + private String checkConclusion; +//缁存姢绫诲瀷 + private String maintenanceType; +//缁存姢浜哄憳 + private String maintenancePerson; +//澶囨敞 + private String comments; + +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFaultOne.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFaultOne.java new file mode 100644 index 0000000..3e6cb6e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceFaultOne.java @@ -0,0 +1,125 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏁呴殰琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 02:03:29 + */ +@Getter +@Setter +@TableName("device_fault_one") +@ApiModel(value = "DeviceFaultOne瀵硅薄", description = "璁惧鏁呴殰琛�") +public class DeviceFaultOne implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("1娴佺▼缂栧彿") + private String processNumber; + + @ApiModelProperty("1鍑嗙‘搴﹂噺鍊�") + private String measureOfAccuracy; + + @ApiModelProperty("1鏁呴殰鎯呭喌") + private String faultSituation; + + @ApiModelProperty("1鏂囦欢鍘熷悕") + private String fileName; + + @ApiModelProperty("1绯荤粺鏂囦欢鍚�") + private String systemFileName; + + @ApiModelProperty("1涓嬬幆鑺傝礋璐d汉") + private String submitNextPesponsible; + + @ApiModelProperty("1鎿嶄綔浜�") + private String submitOperatingPersonnel; + + @ApiModelProperty("1鏃ユ湡") + private LocalDateTime submitDate; + + @ApiModelProperty("2缁翠慨鏂瑰紡鍙婅垂鐢�") + private String methodCost; + + @ApiModelProperty("2瀹℃牳鎰忚") + private String adminAuditOption; + + @ApiModelProperty("2璁惧绠$悊鍛�-涓嬬幆鑺傝礋璐d汉") + private String adminNextPesponsible; + + @ApiModelProperty("2绠$悊鍛�-鎿嶄綔浜�") + private String adminOperatingPersonnel; + + @ApiModelProperty("2绠$悊鍛�-鏃ユ湡") + private LocalDateTime adminDate; + + @ApiModelProperty("3 鎶�鏈礋璐d汉 瀹℃牳鎰忚") + private String technicalAuditOption; + + @ApiModelProperty("3鎶�鏈礋璐d汉 涓嬬幆鑺傝礋璐d汉") + private String technicalNextPesponsible; + + @ApiModelProperty("3 鎶�鏈礋璐d汉 鎿嶄綔浜�") + private String technicalOperatingPersonnel; + + @ApiModelProperty("3 鎶�鏈礋璐d汉 鏃ユ湡") + private LocalDateTime technicalDate; + + @ApiModelProperty("4缁翠慨鎯呭喌") + private String maintainSituation; + + @ApiModelProperty("4 缁翠慨 涓嬬幆鑺傝礋璐d汉") + private String maintainNextPesponsible; + + @ApiModelProperty("4 缁翠慨 鎿嶄綔浜�") + private String maintainOperatingPersonnel; + + @ApiModelProperty("4 缁翠慨 鏃ユ湡") + private LocalDateTime maintainDate; + + @ApiModelProperty("5楠屾敹纭鏍″噯鎯呭喌") + private String checkCalSituation; + + @ApiModelProperty("5 缁翠慨鍚� 鎿嶄綔浜�") + private String afterMaintenanceOperatingPersonnel; + + @ApiModelProperty("5 缁翠慨鍚� 鏃ユ湡") + private LocalDateTime afterMaintenanceDate; + + @ApiModelProperty("褰撳墠鐘舵��") + private String currentState; + + @ApiModelProperty("鎻愪氦浜�") + private String submitPerson; + + @ApiModelProperty("褰撳墠璐d换浜�") + private String currentResponsible; + + @ApiModelProperty("鍒涘缓鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏁呴殰鏃ユ湡") + private LocalDate faultDate; + + @ApiModelProperty("瑕佹眰淇鏃ユ湡") + private LocalDate requestRepairDate; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecord.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecord.java new file mode 100644 index 0000000..3780a7d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecord.java @@ -0,0 +1,93 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鐐规璁板綍 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:25:14 + */ +@Getter +@Setter +@TableName("device_inspection_record") +@ApiModel(value = "DeviceInspectionRecord瀵硅薄", description = "") +public class DeviceInspectionRecord implements Serializable { + + @ApiModelProperty("璁惧鐐规璁板綍id") + @TableId(value = "inspection_record_id", type = IdType.AUTO) + private Integer inspectionRecordId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("娴嬮噺鑼冨洿") + private String measurementScope; + + @ApiModelProperty("鐐规浣跨敤鐗╄川鍚嶇О") + private String materialName; + + @ApiModelProperty("鐐规浣跨敤鐗╄川瑙勬牸鍨嬪彿") + private String materialModel; + + @ApiModelProperty("鐐规浣跨敤鐗╄川绠$悊缂栧彿") + private String materialManagementNumber; + + @ApiModelProperty("鐐规浣跨敤鐗╄川绮惧害绛夌骇") + private String materialAccuracyGrade; + + @ApiModelProperty("娓╁害") + private String temperature; + + @ApiModelProperty("婀垮害") + private String humidity; + + @ApiModelProperty("娴嬭瘯缁撹") + private String testConclusion; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鐘舵�侊紙鏄惁澶嶆牳锛�0鏈鏍革紝1澶嶆牳") + private Integer status; + + @ApiModelProperty("娴嬭瘯浜�") + private String recorder; + + @ApiModelProperty("娴嬭瘯浜篿d") + private Integer recorderId; + + @ApiModelProperty("澶嶆牳浜�") + private String reviewer; + + @ApiModelProperty("澶嶆牳浜篿d") + private Integer reviewerId; + + @ApiModelProperty("澶嶆牳淇℃伅") + private String reviewerRemark; + + @ApiModelProperty("娴嬭瘯鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime testDate; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("淇敼浜篿d") + private Integer updateUserId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecordDetails.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecordDetails.java new file mode 100644 index 0000000..3bd7b90 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceInspectionRecordDetails.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:27:32 + */ +@Getter +@Setter +@TableName("device_inspection_record_details") +@ApiModel(value = "DeviceInspectionRecordDetails瀵硅薄", description = "") +public class DeviceInspectionRecordDetails implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("鐐规璇︽儏id") + @TableId(value = "inspection_record_detail_id", type = IdType.AUTO) + private Integer inspectionRecordDetailId; + + @ApiModelProperty("鐐规id") + private Integer inspectionRecordId; + + @ApiModelProperty("娴嬭瘯椤圭洰") + private String testItems; + + @ApiModelProperty("鏍囧噯鍊�") + private String standardValue; + + @ApiModelProperty("瀹炴祴鍊�") + private String measuredValue; + + @ApiModelProperty("绀哄�艰宸�") + private String indicationError; + + @ApiModelProperty("鍏佽璇樊") + private String allowableError; + + @ApiModelProperty("鍗曢」缁撹") + private String singleItemConclusion; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("淇敼浜篿d") + private Integer updateUserId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLease.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLease.java new file mode 100644 index 0000000..28da273 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLease.java @@ -0,0 +1,47 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("device_leases") +public class DeviceLease implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + private Integer leaseId; + + private String processNumber; + + private String deviceName; + + private String managementNumber; + + private String borrower; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDate borrowDate; + + private String borrowStatus; + + private String submitter; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime submissionDate; + + private String currentStatus; + + private String currentResponsible; + + private int deviceId; +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLog.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLog.java new file mode 100644 index 0000000..9481bad --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceLog.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@TableName("device_log") // 璁板綍 +public class DeviceLog implements Serializable { + + @TableId(type= IdType.AUTO) + private Integer id; + private String operator; +// @JsonFormat() + private LocalDateTime operationTime; + private String operationType; + private String operationContent; + private Integer deviceId; + + //鍏宠仈鐨勮〃鍚� + private String relevanceForm; + + //鍏宠仈鐨刬d + private Integer relevanceId; +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenance.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenance.java new file mode 100644 index 0000000..f2b81a1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenance.java @@ -0,0 +1,42 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +@Data +@EqualsAndHashCode(callSuper = false) +//@Accessors(chain = true) +@TableName("device_maintenance") +public class DeviceMaintenance { +// @TableId(value = "id", type = IdType.AUTO) + private static final long serialVersionUID = 1L; + //璁惧id + @TableId(type=IdType.AUTO) + private Integer id; + private Integer deviceId; + + private String deviceName; + //缂栧彿 + private String deviceNumber; + //缁熶竴缂栧彿 + private String managementNumber; + //缁存姢鍐呭 + private String content; + //缁存姢鏃ユ湡 + @TableField(fill = FieldFill.INSERT) + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate date; + //涓嬫缁存姢鏃ユ湡 + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate nextDate; + //缁存姢绫诲瀷 + private Integer maintenanceType; + //缁存姢浜哄憳 + private String name; + //澶囨敞 + private String comments; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlan.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlan.java new file mode 100644 index 0000000..1b9ec7d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlan.java @@ -0,0 +1,75 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧淇濆吇璁″垝琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:10:52 + */ +@Getter +@Setter +@TableName("device_maintenance_plan") +@ApiModel(value = "DeviceMaintenancePlan瀵硅薄", description = "璁惧淇濆吇璁″垝琛�") +public class DeviceMaintenancePlan implements Serializable { + + @ApiModelProperty("璁惧淇濆吇璁″垝id") + @TableId(value = "maintenance_plan_id", type = IdType.AUTO) + private Integer maintenancePlanId; + + @ApiModelProperty("缂栧埗浜�") + private String compiler; + + @ApiModelProperty("璁″垝鍚嶇О") + private String planName; + + @ApiModelProperty("璁″垝骞翠唤") + private String planYear; + + @ApiModelProperty("缂栧埗浜篿d") + private Integer compilerId; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private LocalDateTime datePreparation; + + @ApiModelProperty("瀹℃牳鐘舵�侊紝0鏈鏍革紝1瀹℃牳") + private Integer status; + + @ApiModelProperty("瀹℃牳浜篿d") + private Integer auditId; + + @ApiModelProperty("瀹℃牳浜�") + private String audit; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private LocalDateTime auditDate; + + @ApiModelProperty("瀹℃牳淇℃伅") + private String auditRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlanDetails.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlanDetails.java new file mode 100644 index 0000000..69b80d9 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMaintenancePlanDetails.java @@ -0,0 +1,62 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧淇濆吇璁″垝璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:11:46 + */ +@Getter +@Setter +@TableName("device_maintenance_plan_details") +@ApiModel(value = "DeviceMaintenancePlanDetails瀵硅薄", description = "璁惧淇濆吇璁″垝璇︽儏琛�") +public class DeviceMaintenancePlanDetails implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("淇濆吇璁″垝璇︽儏id") + @TableId(value = "maintenance_plan_detail_id", type = IdType.AUTO) + private Integer maintenancePlanDetailId; + + @ApiModelProperty("淇濆吇璁″垝id") + private Integer maintenancePlanId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("淇濆吇鍏抽敭閮ㄤ綅") + private String maintenanceSite; + + @ApiModelProperty("淇濆吇鍐呭") + private String maintenanceContent; + + @ApiModelProperty("淇濆吇鍛ㄦ湡") + private String maintenanceIntervals; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetric.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetric.java new file mode 100644 index 0000000..6fa0bf5 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetric.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@TableName("device_metrics") +public class DeviceMetric implements Serializable { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; //id + private Integer deviceId; // 璁惧ID + private String measurementParameter; // 璁¢噺鍙傛暟 + private String rangeOfMeasurement; // 閲忕▼鑼冨洿 + private String maxPermissibleError; // 鏈�澶у厑璁歌宸� + private String judgmentCriteria; // 鍒ゅ畾鏍囧噯 + private String createdBy; // 鍒涘缓浜� + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime creationTime; // 鍒涘缓鏃堕棿 + + @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�") + private String type; // 绫诲瀷 +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java new file mode 100644 index 0000000..5dffcf7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricRecord.java @@ -0,0 +1,89 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:01 + */ +@Getter +@Setter +@TableName("device_metric_record") +@ApiModel(value = "DeviceMetricRecord瀵硅薄", description = "璁惧鏍″噯 - 鏍″噯璁板綍") +public class DeviceMetricRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璁板綍缂栧彿") + private String processNumber; + + @ApiModelProperty("璁¢噺鍗曚綅") + private String unitOfMeasure; + + @ApiModelProperty("鏍″噯鏃ユ湡") + private Date calibrationDate; + + @ApiModelProperty("涓嬫鏍″噯鏃ユ湡") + private Date nextCalibrationDate; + + @ApiModelProperty("璁$畻鍣ㄥ叿") + private String calculatingApparatus; + + @ApiModelProperty("璁$畻鏍囧噯閲忕▼") + private String standardRange; + + @ApiModelProperty("璁¢噺鏍囧噯涓嶇‘瀹氬害") + private String calibrationStandardUncertainty; + + @ApiModelProperty("渚濇嵁鏂囦欢") + private String byDocument; + + @ApiModelProperty("璇佷功缂栧彿") + private String certificateSerialNumber; + + @ApiModelProperty("鐘舵��") + private String status; + + @ApiModelProperty("鍘熸枃浠跺悕绉�") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О") + private String systemFileName; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("鍒涘缓鏃堕棿 / 鐧昏鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鐧昏浜�") + private String createUser; + + @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�") + private String type; + + @ApiModelProperty("纭鏃堕棿") + private Date confirmDate; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricsCopy.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricsCopy.java new file mode 100644 index 0000000..290c530 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceMetricsCopy.java @@ -0,0 +1,66 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:11 + */ +@Getter +@Setter +@TableName("device_metrics_copy") +@ApiModel(value = "DeviceMetricsCopy瀵硅薄", description = "璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰") +public class DeviceMetricsCopy implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璁惧鏍″噯 - 鏍″噯璁板綍id") + private Integer deviceMetricsId; + + @ApiModelProperty("璁¢噺鍙傛暟") + private String measurementParameter; + + @ApiModelProperty("閲忕▼鑼冨洿") + private String rangeOfMeasurement; + + @ApiModelProperty("鏈�澶у厑璁歌宸�") + private String maxPermissibleError; + + @ApiModelProperty("鍒ゅ畾鏍囧噯") + private String judgmentCriteria; + + @ApiModelProperty("鍒涘缓浜�") + private String createdBy; + + @ApiModelProperty("鍒涘缓鏃堕棿") + private LocalDateTime creationTime; + + @ApiModelProperty("鏄惁鏍″噯") + private String isCalibration; + + @ApiModelProperty("鍒ゅ畾缁撴灉") + private String result; + + @ApiModelProperty("鍗曢」缁撴灉璇存槑") + private String singleResultStatement; + + @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�") + private String type; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceRecord.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceRecord.java new file mode 100644 index 0000000..5198d9f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceRecord.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Getter +@Setter +@TableName("device_record") +@ApiModel(value = "DeviceRecord瀵硅薄", description = "cnas璁惧浣跨敤璁板綍琛�") +public class DeviceRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private Integer deviceId; + + @ApiModelProperty("璁㈠崟id") + private Integer insOrderId; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + @ApiModelProperty("娓╁害") + private String temperature; + + @ApiModelProperty("婀垮害") + private String humidity; + + @ApiModelProperty("浣跨敤鍓�0寮傚父1鑹ソ") + private Integer useBefore; + + @ApiModelProperty("浣跨敤鍚�0寮傚父1鑹ソ") + private Integer useAfter; + + @ApiModelProperty("寮傚父鎯呭喌") + private String abnormal; + + @ApiModelProperty("浣跨敤浜篿d") + private Integer usePersonId; + + @ApiModelProperty("浣跨敤浜�") + private String usePerson; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("浣跨敤寮�濮嬫棩鏈�") + private LocalDateTime useStartDate; + + @ApiModelProperty("浣跨敤缁撴潫鏃ユ湡") + private LocalDateTime useEndDate; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceScrapped.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceScrapped.java new file mode 100644 index 0000000..b412c4a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceScrapped.java @@ -0,0 +1,105 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鎶ュ簾鐢宠琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 01:53:47 + */ +@Getter +@Setter +@TableName("device_scrapped") +@ApiModel(value = "DeviceScrapped瀵硅薄", description = "璁惧鎶ュ簾鐢宠琛�") +public class DeviceScrapped { + + @TableId(value = "scrapped_id", type = IdType.AUTO) + private Integer scrappedId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("閰嶄欢") + private String parts; + + @ApiModelProperty("鎶ュ簾鐞嗙敱") + private String reasonsForScrap; + + @ApiModelProperty("鐢宠浜篿d") + private Integer applicantUserId; + + @ApiModelProperty("鐢宠浜�") + private String applicantUser; + + @ApiModelProperty("鐢宠鏃堕棿") + private LocalDate applicantDate; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜烘剰瑙�") + private String departmentHeadOpinion; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜篿d") + private Integer departmentHeadUserId; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜�") + private String departmentHeadUser; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜哄~鍐欐椂闂�") + private LocalDate departmentHeadDate; + + @ApiModelProperty("璁¢噺瀹ゆ剰瑙�") + private String meteringRoomOpinion; + + @ApiModelProperty("璁¢噺瀹や汉id") + private Integer meteringRoomUserId; + + @ApiModelProperty("璁¢噺瀹や汉") + private String meteringRoomUser; + + @ApiModelProperty("璁¢噺瀹や汉濉啓鏃堕棿") + private LocalDate meteringRoomDate; + + @ApiModelProperty("鎵瑰噯浜烘剰瑙�") + private String approverOpinion; + + @ApiModelProperty("鎵瑰噯浜篿d") + private Integer approverUserId; + + @ApiModelProperty("鎵瑰噯浜�") + private String approverUser; + + @ApiModelProperty("鎵瑰噯浜哄~鍐欐椂闂�") + private LocalDate approverDate; + + @ApiModelProperty("鏄惁缁撴潫,0: 鏈粨鏉�, 1:缁撴潫") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:鎶ュ簾鐢宠, 1鐢宠閮ㄩ棬璐熻矗浜烘剰瑙�, 2:璁¢噺瀹ゆ剰瑙�, 3:鎵瑰噯浜�") + private Integer flowType; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceState.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceState.java new file mode 100644 index 0000000..4b829d4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceState.java @@ -0,0 +1,107 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 09:51:40 + */ +@Getter +@Setter +@TableName("device_state") +@ApiModel(value = "DeviceState瀵硅薄", description = "璁惧鍋滅敤/鍚敤") +public class DeviceState implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("璁惧鍋滅敤鍚敤id") + @TableId(value = "state_id", type = IdType.AUTO) + private Integer stateId; + + @ApiModelProperty("娴佺▼缂栧彿") + private String processNumber; + + @ApiModelProperty("0閰嶄欢") + private String accessoryPart; + + @ApiModelProperty("0璁惧鐘舵��") + private String deviceStatus; + + @ApiModelProperty("0鍋滅敤鍚敤鐞嗙敱") + private String reason; + + @ApiModelProperty("0涓嬬幆鑺傝矗浠讳汉") + private String submitNextPesponsible; + + @ApiModelProperty("0鎿嶄綔浜�") + private String submitOperatingPersonnel; + + @ApiModelProperty("0鏃ユ湡") + private LocalDateTime submitDate; + + @ApiModelProperty("1閮ㄩ棬璐熻矗浜烘剰瑙�") + private String departmentReviewOpinion; + + @ApiModelProperty("1涓嬬幆鑺傝矗浠讳汉") + private String departmentNextPesponsible; + + @ApiModelProperty("1鎿嶄綔浜�") + private String departmentOperatingPersonnel; + + @ApiModelProperty("1鏃ユ湡") + private LocalDateTime departmentDate; + + @ApiModelProperty("2璁¢噺瀹ゆ剰瑙�") + private String measuringRoomReviewOpinion; + + @ApiModelProperty("2涓嬬幆鑺傝矗浠讳汉") + private String measuringRoomNextPesponsible; + + @ApiModelProperty("2鎿嶄綔浜�") + private String measuringRoomOperatingPersonnel; + + @ApiModelProperty("2鏃ユ湡") + private LocalDateTime measuringRoomDate; + + @ApiModelProperty("3鎵瑰噯鎰忚") + private String approvalOpinion; + + @ApiModelProperty("3涓嬬幆鑺傝矗浠讳汉") + private String approvalNextPesponsible; + + @ApiModelProperty("3鎿嶄綔浜�") + private String approvalOperatingPersonnel; + + @ApiModelProperty("3鏃ユ湡") + private LocalDateTime approvalDate; + + @ApiModelProperty("褰撳墠鐘舵��") + private String currentState; + + @ApiModelProperty("璁惧Id") + private Integer deviceId; + + @ApiModelProperty("褰撳墠鐜妭璐熻矗浜�") + private String currentResponsible; + + @ApiModelProperty("鎻愪氦浜�") + @ExcelProperty(value = "鎻愪氦浜�") + private String createUser; + + @ApiModelProperty("鎻愪氦鏃ユ湡") + @ExcelProperty(value = "鎻愪氦鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagement.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagement.java new file mode 100644 index 0000000..0398118 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagement.java @@ -0,0 +1,77 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕〃 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:44 + */ +@Getter +@Setter +@TableName("device_traceability_management") +@ApiModel(value = "DeviceTraceabilityManagement瀵硅薄", description = "璁惧閲忓�兼函婧愯鍒掕〃") +public class DeviceTraceabilityManagement { + + @ApiModelProperty("璁惧閲忓�兼函婧愯鍒抜d") + @TableId(value = "traceability_management_id", type = IdType.AUTO) + private Integer traceabilityManagementId; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String fileName; + + @ApiModelProperty("璁″垝鍚嶇О") + private String planName; + + @ApiModelProperty("璁″垝骞翠唤") + private String planYear; + + @ApiModelProperty("缂栧埗浜篿d") + private Integer compilerId; + + @ApiModelProperty("缂栧埗浜�") + private String compiler; + + @ApiModelProperty("缂栧埗鏃堕棿") + private LocalDateTime datePreparation; + + @ApiModelProperty("瀹℃牳鐘舵�侊紝0鏈鏍革紝1瀹℃牳") + private Integer status; + + @ApiModelProperty("淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("瀹℃牳浜篿d") + private Integer auditId; + + @ApiModelProperty("瀹℃牳浜�") + private String audit; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private LocalDateTime auditDate; + + @ApiModelProperty("瀹℃牳淇℃伅") + private String auditRemark; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagementDetails.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagementDetails.java new file mode 100644 index 0000000..7d00d32 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DeviceTraceabilityManagementDetails.java @@ -0,0 +1,68 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕鎯呰〃 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:58 + */ +@Getter +@Setter +@TableName("device_traceability_management_details") +@ApiModel(value = "DeviceTraceabilityManagementDetails瀵硅薄", description = "璁惧閲忓�兼函婧愯鍒掕鎯呰〃") +public class DeviceTraceabilityManagementDetails implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("璁惧閲忓�兼函婧愯鍒掕鎯卛d") + @TableId(value = "traceability_management_detail_id", type = IdType.AUTO) + private Integer traceabilityManagementDetailId; + + @ApiModelProperty("璁惧閲忓�兼函婧愯鍒抜d") + private Integer traceabilityManagementId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("鎶�鏈寚鏍囧弬鏁�") + private String technicalIndexParameters; + + @ApiModelProperty("鎶�鏈寚鏍囪姹�") + private String technicalRequirements; + + @ApiModelProperty("妫�瀹氬懆鏈�") + private String verificationCycle; + + @ApiModelProperty("妫�瀹氬崟浣�") + private String verificationUnit; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java new file mode 100644 index 0000000..bf7fa04 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Document.java @@ -0,0 +1,91 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Data +@TableName(value = "device_documents") +public class Document implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 鏂囨。绫诲瀷锛堟灇涓撅級 + */ + private String documentType; + + /** + * 鍚嶇О + */ + private String name; + + /** + * 鐗堟湰鍙� + */ + private String version; + + /** + * 鏁伴噺 + */ + private Integer quantity; + + /** + * 椤垫暟 + */ + private Integer pageCount; + + /** + * 鎻愪緵鍟� + */ + private String provider; + + /** + * 鎻愪緵鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime provideDate; + + /** + * 澶囨敞 + */ + private String comments; + + /** + * 鍒涘缓鏃堕棿 + */ + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime createdAt; + + /** + * 鏇存柊鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updatedAt; + + private int deviceId; + + @ApiModelProperty("璧勪骇缂栧彿") + private String number; + + @ApiModelProperty("鍘熷鏂囦欢鍚嶇О") + private String systemFileName; + + @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О") + private String fileName; + + +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentAcceptanceCheck.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentAcceptanceCheck.java new file mode 100644 index 0000000..b45fd60 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentAcceptanceCheck.java @@ -0,0 +1,50 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * <p> + * 璁惧楠屾敹-楠屾敹鏍告煡 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:19 + */ +@Getter +@Setter +@TableName("device_incident_acceptance_check") +@ApiModel(value = "IncidentAcceptanceCheck瀵硅薄", description = "璁惧楠屾敹-楠屾敹鏍告煡") +public class IncidentAcceptanceCheck implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(type = IdType.AUTO) + private Integer acceptanceCheckId; + + @ApiModelProperty("浠櫒妯″潡") + private String instrumentModule; + + @ApiModelProperty("鏍告煡鍙傛暟") + private String verificationParameter; + + @ApiModelProperty("鍙帴鏀堕檺") + private String acceptableLimit; + + @ApiModelProperty("鏍告煡缁撴灉") + private String verificationResult; + + @ApiModelProperty("鏍告煡缁撹") + private String verificationConclusion; + + @ApiModelProperty("璁惧楠屾敹ID") + private Integer incidentId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentFile.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentFile.java new file mode 100644 index 0000000..363c580 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentFile.java @@ -0,0 +1,40 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * <p> + * 璁惧楠屾敹-鏂囦欢绫荤‘璁� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:36 + */ +@Getter +@Setter +@TableName("device_incident_file") +@ApiModel(value = "IncidentFile瀵硅薄", description = "璁惧楠屾敹-鏂囦欢绫荤‘璁�") +public class IncidentFile implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.AUTO) + private Integer fileId; + + @ApiModelProperty("搴旀湁鍐屾暟") + private Integer expectedCopies; + + @ApiModelProperty("瀹為檯鏀跺埌鍐屾暟") + private Integer actualCopies; + + @ApiModelProperty("璁惧楠屾敹id") + private Integer incidentId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentInstall.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentInstall.java new file mode 100644 index 0000000..672319f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentInstall.java @@ -0,0 +1,44 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * <p> + * 璁惧楠屾敹-瀹夎楠屾敹妫�鏌� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:41:50 + */ +@Getter +@Setter +@TableName("device_incident_install") +@ApiModel(value = "IncidentInstall瀵硅薄", description = "璁惧楠屾敹-瀹夎楠屾敹妫�鏌�") +public class IncidentInstall implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(type = IdType.AUTO) + private Integer installId; + + @ApiModelProperty("椤圭洰") + private String installationProject; + + @ApiModelProperty("瀹夎鎯呭喌") + private String installationSituation; + + @ApiModelProperty("瀹夎瀹屾垚") + private String installationCompleted; + + @ApiModelProperty("璁惧楠屾敹") + private Integer incidentId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentReport.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentReport.java new file mode 100644 index 0000000..179521c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentReport.java @@ -0,0 +1,142 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧楠屾敹娣诲姞楠屾敹瀛楁琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 03:54:49 + */ +@Getter +@Setter +@TableName("device_incident_report") +@ApiModel(value = "IncidentReport瀵硅薄", description = "璁惧楠屾敹娣诲姞楠屾敹瀛楁琛�") +public class IncidentReport implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ExcelProperty(value = "娴佺▼缂栧彿") + @ApiModelProperty("娴佺▼缂栧彿") + private String processNumber; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("搴忓垪鍙�") + private String serialNumber; + + @ApiModelProperty("璁惧绫诲埆") + private String deviceClass; + + @ApiModelProperty("寮�绠卞墠妫�鏌ュ鍖呰鏈夋棤鐮存崯") + private String checkOuterPackaging; + + @ApiModelProperty("鍘熸枃浠跺悕绉�") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О") + private String systemFileName; + + @ApiModelProperty("璁惧寮�绠遍獙鏀剁粨璁�") + private String unpackingAcceptanceConclusion; + + @ApiModelProperty("1鎻愪氦 涓嬬幆鑺傝礋璐d汉鍚嶇О") + private String submitNextPesponsible; + + @ApiModelProperty("1鎻愪氦 鎻愪氦澶囨敞") + private String submitRemarks; + + @ApiModelProperty("1鎻愪氦 鎻愪氦鎿嶄綔浜�") + private String submitOperatingPersonnel; + + @ApiModelProperty("1鎻愪氦 鎻愪氦鏃ユ湡") + private LocalDateTime submitDate; + + @ApiModelProperty("2寮�绠遍獙鏀跺鏍� 澶嶆牳鎰忚") + private String unpackingReviewOpinion; + + @ApiModelProperty("2寮�绠遍獙鏀跺鏍� 涓嬬幆鑺傝礋璐d汉") + private String unpackingNextPesponsible; + + @ApiModelProperty("2寮�绠遍獙鏀跺鏍� 鎿嶄綔浜�") + private String unpackingOperatingPersonnel; + + @ApiModelProperty("2寮�绠遍獙鏀跺鏍� 鏃ユ湡") + private LocalDateTime unpackingDate; + + @ApiModelProperty("3瀹夎浣嶇疆") + private String installLocation; + + @ApiModelProperty("3瀹夎澶囨敞") + private String installRemarks; + + @ApiModelProperty("3瀹夎涓嬬幆鑺傝礋璐d汉") + private String installNextPesponsible; + + @ApiModelProperty("3瀹夎鎿嶄綔浜�") + private String installOperatingPersonnel; + + @ApiModelProperty("3瀹夎鏃ユ湡") + private LocalDateTime installDate; + + @ApiModelProperty("4瀹夎楠屾敹澶嶆牳鎰忚") + private String installationAcceptanceCompoundOpinion; + + @ApiModelProperty("4瀹夎楠屾敹涓嬬幆鑺傝礋璐d汉") + private String installationAcceptanceNextPesponsible; + + @ApiModelProperty("4瀹夎楠屾敹鎿嶄綔浜�") + private String installationAcceptanceOperatingPersonnel; + + @ApiModelProperty("4瀹夎楠屾敹鏃ユ湡") + private LocalDateTime installationAcceptanceDate; + + @ApiModelProperty("5楠屾敹鏍告煡 璁惧寮�绠遍獙鏀剁粨璁�") + private String acceptanceCheckUnpackingConclusion; + + @ApiModelProperty("5楠屾敹鏍告煡 涓嬬幆鑺傝礋璐d汉") + private String acceptanceCheckNextPesponsible; + + @ApiModelProperty("5楠屾敹鏍告煡 鎿嶄綔浜�") + private String acceptanceCheckOperatingPersonnel; + + @ApiModelProperty("5楠屾敹鏍告煡 鏃ユ湡") + private LocalDateTime acceptanceCheckDate; + + @ApiModelProperty("6楠屾敹鏍告煡瀹℃牳 瀹℃牳鎰忚") + private String acceptanceAuditAuditOpinion; + + @ApiModelProperty("6楠屾敹鏍告煡瀹℃牳 鎿嶄綔浜�") + private String acceptanceAuditOperatingPersonnel; + + @ApiModelProperty("6楠屾敹鏍告煡瀹℃牳 鏃ユ湡") + private LocalDateTime acceptanceAuditDate; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("褰撳墠鐘舵��") + private String currentState; + + @ApiModelProperty(value = "鍒涘缓鏃ユ湡 / 鎻愪氦鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("褰撳墠璐熻矗浜�") + private String currentResponsible; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentSpareParts.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentSpareParts.java new file mode 100644 index 0000000..20f2ce7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/IncidentSpareParts.java @@ -0,0 +1,44 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * <p> + * 璁惧楠屾敹-澶囦欢纭 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 04:42:06 + */ +@Getter +@Setter +@TableName("device_incident_spare_parts") +@ApiModel(value = "IncidentSpareParts瀵硅薄", description = "璁惧楠屾敹-澶囦欢纭") +public class IncidentSpareParts implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(type = IdType.AUTO) + private Integer sparePartsId; + + @ApiModelProperty("鍚嶇О") + private String name; + + @ApiModelProperty("鏁伴噺") + private Integer number; + + @ApiModelProperty("澶囨敞") + private String note; + + @ApiModelProperty("璁惧楠屾敹ID") + private Integer incidentId; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Instruction.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Instruction.java new file mode 100644 index 0000000..3e16b62 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Instruction.java @@ -0,0 +1,64 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:29:18 + */ +@Getter +@Setter +@TableName("device_instruction") +@ApiModel(value = "Instruction瀵硅薄", description = "浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃") +public class Instruction implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐢宠缂栧彿") + private String applicationNumber; + + @ApiModelProperty("鐢宠閮ㄩ棬") + private String applicationDepartment; + + @ApiModelProperty("璐d换浜�") + private String personLiable; + + @ApiModelProperty("鍙楁帶鐢宠璇存槑") + private String controlledApplicationDescription; + + @ApiModelProperty("绯荤粺鐢熸垚鍚嶇О") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鍚嶇О") + private String fileSystemName; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鏇存柊浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/OperationInstruction.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/OperationInstruction.java new file mode 100644 index 0000000..ad91937 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/OperationInstruction.java @@ -0,0 +1,89 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:43:32 + */ +@Getter +@Setter +@TableName("device_operation_instruction") +@ApiModel(value = "OperationInstruction瀵硅薄", description = "璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛�") +public class OperationInstruction { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璁惧涓婚敭id") + private String deviceId; + + @ApiModelProperty("鏂囦欢绫诲瀷") + private String documentType; + + @ApiModelProperty("鏂囨。缂栧彿") + private String documentNumber; + + @ApiModelProperty("鏂囦欢鐗堟湰") + private String documentVersion; + + @ApiModelProperty("浣滆��") + private String author; + + @ApiModelProperty("鎻愪氦鏃ユ湡") + private LocalDate submitDate; + + @ApiModelProperty("鏂囨。璇存槑") + private String documentNote; + + @ApiModelProperty("绯荤粺鐢熸垚鍚嶇О") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鍚嶇О") + private String fileSystemName; + + @ApiModelProperty("浣滀笟鎸囧涔d") + private Integer instructionId; + + @ApiModelProperty("涓婁紶浜篿d") + private Integer uploader; + + @ApiModelProperty("瀹℃壒浜篿d") + private Integer approverId; + + @ApiModelProperty("瀹℃壒鐘舵��") + private Boolean status; + + @ApiModelProperty("鐢熸晥鏃堕棿") + private LocalDateTime entryIntoForceTime; + + @ApiModelProperty("涓婁紶鏃堕棿") + private LocalDateTime uploadTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Reservation.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Reservation.java new file mode 100644 index 0000000..f048e6f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Reservation.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 璧勬簮棰勫畾鏂板缓棰勫畾琛� + * </p> + * + * @author baomidou + * @since 2024-09-14 + */ +@Getter +@Setter +@TableName("device_reservation") +public class Reservation implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 璁惧id + */ + private Integer deviceId; + + /** + * 棰勫畾璁惧 + */ + private String deviceName; + + /** + * 瀹㈡埛鍚嶇О + */ + private String customerName; + + /** + * 棰勫畾鏃堕棿 + */ + + private String reservationTime; + + /** + * 鍏蜂綋鏃堕棿 + */ + private String specificTime; + + + + /** + * 鑱旂郴浜� + */ + private String linkPerson; + + /** + * 鑱旂郴鐢佃瘽 + */ + private String phone; + + /** + * 娴佺▼缂栧彿 + */ + private String deviceNumber; + + /** + * 棰勫畾璇存槑 + */ + private String reservationSpecification; + + /** + * 鍒涘缓浜� + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime createDate; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceFileService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceFileService.java new file mode 100644 index 0000000..8e25b77 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceFileService.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceAcceptanceFile; + +/** + * <p> + * 璁惧楠屾敹(瑁呭)闄勪欢琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:26 + */ +public interface DeviceAcceptanceFileService extends IService<DeviceAcceptanceFile> { + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceService.java new file mode 100644 index 0000000..0fcc541 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAcceptanceService.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceAcceptance; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧楠屾敹(瑁呭) 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:14 + */ +public interface DeviceAcceptanceService extends IService<DeviceAcceptance> { + + /** + * 璁惧楠屾敹鍒楄〃 + * @param page + * @param deviceAcceptance + * @return + */ + IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, DeviceAcceptance deviceAcceptance); + + + boolean uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file); + + /** + * 璁惧楠屾敹瀵煎嚭 + * @param acceptanceId 璁惧楠屾敹id + * @param response 鍝嶅簲浣� + * @return + */ + void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAccidentReportService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAccidentReportService.java new file mode 100644 index 0000000..c7ff366 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceAccidentReportService.java @@ -0,0 +1,41 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceAccidentReport; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧浜嬫晠鎶ュ憡鍗� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 06:31:12 + */ +public interface DeviceAccidentReportService extends IService<DeviceAccidentReport> { + + /** + * 璁惧浜嬫晠鎶ュ憡鍒楄〃 + * @param page + * @param deviceAccidentReport + * @return + */ + IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, DeviceAccidentReport deviceAccidentReport); + + /** + * 鏂板璁惧浜嬫晠鎶ュ憡 + * @param deviceAccidentReport + * @return + */ + boolean addDeviceAccidentReport(DeviceAccidentReport deviceAccidentReport); + + /** + * 瀵煎嚭璁惧浜嬫晠鎶ュ憡 + * @param accidentReportId 璁惧浜嬫晠鎶ュ憡id + * @param response 鍝嶅簲 + */ + void exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBorrowService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBorrowService.java new file mode 100644 index 0000000..b33cf6c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBorrowService.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceBorrow; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 10:53:51 + */ +public interface DeviceBorrowService extends IService<DeviceBorrow> { + + Map<String,Object> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow); + + int saveDeviceBorrow(DeviceBorrow deviceBorrow); + + DeviceBorrow getDeviceBorrow(Integer id); + + List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBreakdownMaintenanceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBreakdownMaintenanceService.java new file mode 100644 index 0000000..2245a26 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceBreakdownMaintenanceService.java @@ -0,0 +1,41 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceBreakdownMaintenance; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鏁呴殰缁翠慨琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 04:50:57 + */ +public interface DeviceBreakdownMaintenanceService extends IService<DeviceBreakdownMaintenance> { + + /** + * 璁惧鏁呴殰缁翠慨鍒楄〃 + * @param page + * @param deviceBreakdownMaintenance + * @return + */ + IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, DeviceBreakdownMaintenance deviceBreakdownMaintenance); + + /** + * 鏂板璁惧鏁呴殰缁翠慨 + * @param deviceBreakdownMaintenance + * @return + */ + boolean addDeviceBreakdownMaintenance(DeviceBreakdownMaintenance deviceBreakdownMaintenance); + + /** + * 瀵煎嚭璁惧鏁呴殰缁翠慨 + * @param maintenanceId 璁惧鏁呴殰缁翠慨id + * @param response 鍝嶅簲 + */ + void exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanDetailService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanDetailService.java new file mode 100644 index 0000000..dffd454 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanDetailService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; + +/** + * <p> + * 璁惧鏍″噯璁″垝璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:29 + */ +public interface DeviceCalibrationPlanDetailService extends IService<DeviceCalibrationPlanDetail> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanService.java new file mode 100644 index 0000000..c88037d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCalibrationPlanService.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceCalibrationPlanDto; +import com.yuanchu.mom.pojo.DeviceCalibrationPlan; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鏍″噯璁″垝涓昏〃 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:17 + */ +public interface DeviceCalibrationPlanService extends IService<DeviceCalibrationPlan> { + + /** + * 鏂板璁惧鏍″噯璁″垝 + * @param calibrationPlanDto + * @return + */ + boolean addDeviceCalibrationPlan(DeviceCalibrationPlanDto calibrationPlanDto); + + /** + * 瀵煎叆璁惧鏍″噯璁″垝 + * @param file + * @return + */ + boolean importDeviceCalibrationPlan(MultipartFile file, String planYear); + + + /** + * 璁惧鏍″噯璁″垝鎵瑰噯 + * @param DeviceCalibrationPlan + * @return + */ + boolean ratifyDeviceCalibrationPlan(DeviceCalibrationPlan DeviceCalibrationPlan); + + /** + * 璁惧鏍″噯璁″垝鍒楄〃 + * @param page + * @param DeviceCalibrationPlan + * @return + */ + IPage<DeviceCalibrationPlanDto> pageDeviceCalibrationPlan(Page page, DeviceCalibrationPlan DeviceCalibrationPlan); + + /** + * 璁惧鏍″噯璁″垝璇︽儏鍒楄〃 + * @param page + * @param DeviceCalibrationPlanDetails + * @return + */ + IPage<DeviceCalibrationPlanDetail> pageDeviceCalibrationPlanDetail(Page page, DeviceCalibrationPlanDetail DeviceCalibrationPlanDetails); + + + /** + * 瀵煎嚭璁惧鏍″噯璁″垝 + * + * @param DeviceCalibrationPlanId + * @param response + */ + void exportDeviceCalibrationPlanDetail(Integer DeviceCalibrationPlanId, HttpServletResponse response); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCheckService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCheckService.java new file mode 100644 index 0000000..5485dae --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceCheckService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceCheck; + +public interface DeviceCheckService extends IService<DeviceCheck> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanDetailsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanDetailsService.java new file mode 100644 index 0000000..0d2f2cc --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanDetailsService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; + +/** + * <p> + * 璁惧鏍告煡璁″垝璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:16 + */ +public interface DeviceExaminePlanDetailsService extends IService<DeviceExaminePlanDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanService.java new file mode 100644 index 0000000..b99728b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExaminePlanService.java @@ -0,0 +1,69 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceExaminePlanDto; +import com.yuanchu.mom.pojo.DeviceExaminePlan; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鏍告煡璁″垝涓昏〃 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:04 + */ +public interface DeviceExaminePlanService extends IService<DeviceExaminePlan> { + + /** + * 鏂板璁惧鏍告煡璁″垝 + * @param examinePlanDto + * @return + */ + boolean addDeviceExaminePlan(DeviceExaminePlanDto examinePlanDto); + + /** + * 瀵煎叆璁惧鏍告煡璁″垝 + * @param file + * @return + */ + boolean importDeviceExaminePlan(MultipartFile file); + + + /** + * 璁惧鏍告煡璁″垝鎵瑰噯 + * @param DeviceExaminePlan + * @return + */ + boolean ratifyDeviceExaminePlan(DeviceExaminePlan DeviceExaminePlan); + + /** + * 璁惧鏍告煡璁″垝鍒楄〃 + * @param page + * @param DeviceExaminePlan + * @return + */ + IPage<DeviceExaminePlanDto> pageDeviceExaminePlan(Page page, DeviceExaminePlan DeviceExaminePlan); + + /** + * 璁惧鏍告煡璁″垝璇︽儏鍒楄〃 + * @param page + * @param DeviceExaminePlanDetails + * @return + */ + IPage<DeviceExaminePlanDetails> pageDeviceExaminePlanDetail(Page page, DeviceExaminePlanDetails DeviceExaminePlanDetails); + + + /** + * 瀵煎嚭璁惧鏍告煡璁″垝 + * @param deviceExaminePlanId 璁惧鏍告煡璁″垝id + * @param response 鍝嶅簲 + */ + void exportDeviceExaminePlanDetail(Integer deviceExaminePlanId, HttpServletResponse response); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastDetailsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastDetailsService.java new file mode 100644 index 0000000..0611952 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastDetailsService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:57 + */ +public interface DeviceExamineRecordContrastDetailsService extends IService<DeviceExamineRecordContrastDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastService.java new file mode 100644 index 0000000..5e1fdb4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordContrastService.java @@ -0,0 +1,46 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceExamineRecordContrastDto; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrast; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:43 + */ +public interface DeviceExamineRecordContrastService extends IService<DeviceExamineRecordContrast> { + + /** + * 鏌ヨ鏍告煡瀵规瘮璁板綍 + * @return + */ + DeviceExamineRecordContrastDto getExamineRecordContrast(Integer planDetailsId); + + /** + * 鏂板鏍告煡瀵规瘮璁板綍 + * @return + * + */ + boolean addExamineRecordContrast(DeviceExamineRecordContrastDto deviceExamineRecordContrastDto); + + /** + * 瀹℃牳鏍告煡瀵规瘮璁板綍 + * @return + */ + boolean reviewExamineRecordContrast(DeviceExamineRecordContrastDto deviceExamineRecordContrastDto); + + /** + * 瀵煎嚭瀹℃牳鏍告煡瀵规瘮璁板綍 + * + * @param recordId 瀹℃牳鏍告煡瀵规瘮璁板綍id + * @param response + * @return + */ + void exportReviewExamineRecordContrast(Integer recordId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordDetailService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordDetailService.java new file mode 100644 index 0000000..5ea8d87 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordDetailService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceExamineRecordDetail; + +/** + * <p> + * 璁惧鏍告煡璁板綍璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:15:11 + */ +public interface DeviceExamineRecordDetailService extends IService<DeviceExamineRecordDetail> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordService.java new file mode 100644 index 0000000..cf52709 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExamineRecordService.java @@ -0,0 +1,43 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceExamineRecordDto; +import com.yuanchu.mom.pojo.DeviceExamineRecord; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鏍告煡璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:28 + */ +public interface DeviceExamineRecordService extends IService<DeviceExamineRecord> { + + /** + * 鏌ヨ鏍告煡璁板綍 + * @return + */ + DeviceExamineRecordDto getExamineRecord(Integer planDetailsId); + + /** + * 鏂板鏍告煡璁板綍 + * @return + */ + boolean addExamineRecord(DeviceExamineRecordDto deviceExamineRecordDto); + + /** + * 澶嶆牳鏍告煡璁板綍 + * @return + */ + boolean reviewExamineRecord(DeviceExamineRecordDto deviceExamineRecordDto); + + /** + * 瀵煎嚭澶嶆牳鏍告煡璁板綍 + * @param planDetailsId + * @param response 鍝嶅簲 + */ + void exportReviewExamineRecordDetail(Integer planDetailsId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExternalApplyService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExternalApplyService.java new file mode 100644 index 0000000..f5cf59d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceExternalApplyService.java @@ -0,0 +1,42 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceExternalApply; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鍒╃敤澶栭儴璁惧鐢宠琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 10:28:43 + */ +public interface DeviceExternalApplyService extends IService<DeviceExternalApply> { + + /** + * 鍒╃敤澶栭儴璁惧鐢宠鍒楄〃 + * @param page + * @param deviceExternalApply + * @return + */ + IPage<DeviceExternalApply> pageDeviceExternalApply(Page page, DeviceExternalApply deviceExternalApply); + + /** + * 鏂板鍒╃敤澶栭儴璁惧鐢宠 + * @param deviceExternalApply + * @return + */ + boolean addDeviceExternalApply(DeviceExternalApply deviceExternalApply); + + /** + * 瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠 + * + * @param externalApplyId 澶栭儴璁惧鐢宠id + * @param response + */ + void exportDeviceExternalApply(Integer externalApplyId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultOneService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultOneService.java new file mode 100644 index 0000000..84a545a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultOneService.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceFaultOneDto; +import com.yuanchu.mom.pojo.DeviceFaultOne; + +/** + * <p> + * 璁惧鏁呴殰琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 02:03:29 + */ +public interface DeviceFaultOneService extends IService<DeviceFaultOne> { + + IPage<DeviceFaultOneDto> deviceFaultOnePage(Integer deviceId, Page page, String processNumber); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultService.java new file mode 100644 index 0000000..e0cc5ab --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceFaultService.java @@ -0,0 +1,10 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceFault; + +import java.util.Map; + +public interface DeviceFaultService extends IService<DeviceFault> { + Map<String,Object> findByDeviceId(Integer deviceId); +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordDetailsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordDetailsService.java new file mode 100644 index 0000000..8c3bd6f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordDetailsService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceInspectionRecordDetails; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:27:32 + */ +public interface DeviceInspectionRecordDetailsService extends IService<DeviceInspectionRecordDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordService.java new file mode 100644 index 0000000..59dd4e2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceInspectionRecordService.java @@ -0,0 +1,69 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceInspectionRecordDto; +import com.yuanchu.mom.pojo.DeviceInspectionRecord; +import com.yuanchu.mom.vo.Result; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鐐规璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:25:14 + */ +public interface DeviceInspectionRecordService extends IService<DeviceInspectionRecord> { + + /** + * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 + * @param page + */ + Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecord); + + + /** + * 鏌ヨ鐐规璇︽儏 + * @param inspectionRecordId + * @return + */ + Result getDeviceInspectionRecord(Integer inspectionRecordId); + + /** + * 鏂板璁惧鐐规璁板綍 + * + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + Result addDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord); + + /** + * 淇敼璁惧鐐规璁板綍 + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + Result updateInspectionRecordAndDetails(DeviceInspectionRecordDto deviceInspectionRecord); + + /** + * 鍒犻櫎璁惧鐐规璁板綍 + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + Result deleteDeviceInspectionRecordOrDetails(DeviceInspectionRecordDto deviceInspectionRecord); + + /** + * 澶嶆牳鐐规璁板綍 + * @param deviceExamineRecordDto + * @return + */ + Result reviewDeviceInspectionRecord(DeviceInspectionRecordDto deviceExamineRecordDto); + + /** + * 瀵煎嚭璁惧鐐规璁板綍 + * + * @param deviceInspectionRecordId 璁惧鐐规璁板綍id + * @param response + */ + Result exportDeviceInspectionRecord(Integer deviceInspectionRecordId, HttpServletResponse response); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanDetailsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanDetailsService.java new file mode 100644 index 0000000..3ffd81c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanDetailsService.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails; + +/** + * <p> + * 璁惧淇濆吇璁″垝璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:11:46 + */ +public interface DeviceMaintenancePlanDetailsService extends IService<DeviceMaintenancePlanDetails> { + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanService.java new file mode 100644 index 0000000..bde6a68 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenancePlanService.java @@ -0,0 +1,70 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDto; +import com.yuanchu.mom.pojo.DeviceMaintenancePlan; +import com.yuanchu.mom.vo.Result; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧淇濆吇璁″垝琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:10:52 + */ +public interface DeviceMaintenancePlanService extends IService<DeviceMaintenancePlan> { + + /** + * 鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝 + * @param page 褰撳墠椤� + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + * @return + */ + Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(IPage page, DeviceMaintenancePlanDto deviceMaintenancePlanDto); + + /** + * 鏂板璁惧淇濆吇璁″垝 + * + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + Result addMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); + + /** + * 淇敼璁惧淇濆吇璁″垝 + * + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + Result updateMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); + + /** + * 鍒犻櫎璁惧淇濆吇璁″垝 + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + Result deleteMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto); + + /** + * 瀵煎嚭璁惧淇濆吇璁″垝 + * + * @param maintenancePlanId 璁惧淇濆吇璁″垝id + * @param response 鍝嶅簲 + */ + Result exportDeviceMaintenancePlanDto(Integer maintenancePlanId, HttpServletResponse response); + + /** + * 鏌ョ湅璁惧淇濆吇璁″垝璇︽儏 + * @param maintenancePlanId 璁惧淇濆吇璁″垝id + * @return + */ + Result<DeviceMaintenancePlanDto> getMaintenancePlanDetail(Integer maintenancePlanId); + + /** + * 瀹℃牳璁惧淇濆吇璁″垝鐘舵�� + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + * @return + */ + Result reviewMaintenancePlanStatus(DeviceMaintenancePlanDto deviceMaintenancePlanDto); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenanceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenanceService.java new file mode 100644 index 0000000..0b8e1d3 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMaintenanceService.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.excel.DeviceMaintenanceExport; +import com.yuanchu.mom.pojo.DeviceMaintenance; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface DeviceMaintenanceService extends IService<DeviceMaintenance> { + IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber); + + List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId); + + /** + * 瀵煎嚭Word璁惧缁存姢璁板綍 + * + * @param deviceId + * @param response + */ + void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricRecordService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricRecordService.java new file mode 100644 index 0000000..be629d1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricRecordService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceMetricRecord; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:01 + */ +public interface DeviceMetricRecordService extends IService<DeviceMetricRecord> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricsCopyService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricsCopyService.java new file mode 100644 index 0000000..881e1a1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceMetricsCopyService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceMetricsCopy; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:11 + */ +public interface DeviceMetricsCopyService extends IService<DeviceMetricsCopy> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceRecordService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceRecordService.java new file mode 100644 index 0000000..bf261f4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceRecordService.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceRecordDto; +import com.yuanchu.mom.pojo.DeviceRecord; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +public interface DeviceRecordService extends IService<DeviceRecord> { + + IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber); + + + /** + * 瀵煎嚭璁惧浣跨敤璁板綍 + * + * @param deviceId + * @param response + */ + void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceScrappedService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceScrappedService.java new file mode 100644 index 0000000..5d93aa7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceScrappedService.java @@ -0,0 +1,43 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceScrapped; +import com.yuanchu.mom.vo.Result; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鎶ュ簾鐢宠琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 01:53:47 + */ +public interface DeviceScrappedService extends IService<DeviceScrapped> { + + /** + * 璁惧鎶ュ簾鐢宠鍒楄〃 + * @param page + * @param deviceScrapped + * @return + */ + IPage<DeviceScrapped> pageDeviceScrapped(Page page, DeviceScrapped deviceScrapped); + + /** + * 鏂板璁惧鎶ュ簾鐢宠 + * @param deviceScrapped + * @return + */ + boolean addDeviceScrapped(DeviceScrapped deviceScrapped); + + /** + * 淇敼璁惧鎶ュ簾鐢宠 + * @param scrappedId 璁惧鎶ュ簾鐢宠id + * @return + */ + Result exportDeviceScrapped(Integer scrappedId, HttpServletResponse response); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java index e1e034d..4f08b8b 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java @@ -19,7 +19,7 @@ List<User> selectUserList(); - Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter); + Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter,Boolean laboratoryNameIsNull); int addDeviceParameter(Device itemParameter); diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceStateService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceStateService.java new file mode 100644 index 0000000..ff9fbbf --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceStateService.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceStateDto; +import com.yuanchu.mom.pojo.DeviceState; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 09:51:40 + */ +public interface DeviceStateService extends IService<DeviceState> { + + IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber); + + /** + * 瀵煎嚭璁惧鐘舵�� + * + * @param deviceId + * @param processNumber + * @param response + */ + void exportDeviceStatus(Integer deviceId, String processNumber, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementDetailsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementDetailsService.java new file mode 100644 index 0000000..297a544 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementDetailsService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕鎯呰〃 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:58 + */ +public interface DeviceTraceabilityManagementDetailsService extends IService<DeviceTraceabilityManagementDetails> { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementService.java new file mode 100644 index 0000000..7a406ee --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceTraceabilityManagementService.java @@ -0,0 +1,61 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDto; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagement; +import com.yuanchu.mom.vo.Result; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕〃 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:44 + */ +public interface DeviceTraceabilityManagementService extends IService<DeviceTraceabilityManagement> { + + /** + * 鍒嗛〉鏌ヨ閲忓�兼函婧愯鍒� + * @param page 鍒嗛〉鍙傛暟 + * @param itemParameter 閲忓�兼函婧愯鍒� + * @return + */ + Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(IPage page, DeviceTraceabilityManagementDto itemParameter); + + /** + * 鏂板閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + Result addTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto); + + /** + * 淇敼閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + Result updateTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto); + + /** + * 鍒犻櫎閲忓�兼函婧愯鍒� + * @param deviceTraceabilityManagementDto 閲忓�兼函婧愯鍒� + */ + Result deleteTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto); + + /** + * 鏌ヨ閲忓�兼函婧愯鍒掕鎯� + */ + Result<DeviceTraceabilityManagementDto> getTraceabilityManagementDetail(Integer traceabilityManagementId); + + /** + * 閲忓�兼函婧愯鍒掑鏍哥姸鎬佷慨鏀� + */ + Result reviewTraceabilityManagementStatus(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto); + + /** + * 閲忓�兼函婧愯鍒掑鍑� + */ + Result exportDeviceTraceabilityManagementDto(Integer traceabilityManagementId, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DocumentService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DocumentService.java new file mode 100644 index 0000000..4d64b65 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DocumentService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.Document; + +public interface DocumentService extends IService<Document> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLeaseService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLeaseService.java new file mode 100644 index 0000000..c1bc242 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLeaseService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceLease; + +public interface IDeviceLeaseService extends IService<DeviceLease> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLogService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLogService.java new file mode 100644 index 0000000..1442c8c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceLogService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceLog; + +public interface IDeviceLogService extends IService<DeviceLog> { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceMetricService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceMetricService.java new file mode 100644 index 0000000..6d1d311 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IDeviceMetricService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.DeviceMetric; + +public interface IDeviceMetricService extends IService<DeviceMetric> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentAcceptanceCheckService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentAcceptanceCheckService.java new file mode 100644 index 0000000..abb187b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentAcceptanceCheckService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.IncidentAcceptanceCheck; + +public interface IncidentAcceptanceCheckService extends IService<IncidentAcceptanceCheck> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentFileService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentFileService.java new file mode 100644 index 0000000..0f92eaa --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentFileService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.IncidentFile; + +public interface IncidentFileService extends IService<IncidentFile> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentInstallService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentInstallService.java new file mode 100644 index 0000000..aad567d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentInstallService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.IncidentInstall; + +public interface IncidentInstallService extends IService<IncidentInstall> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentReportService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentReportService.java new file mode 100644 index 0000000..9cb895a --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentReportService.java @@ -0,0 +1,42 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.IncidentReportAddDto; +import com.yuanchu.mom.excel.IncidentReportExport; +import com.yuanchu.mom.pojo.IncidentReport; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * <p> + * 璁惧楠屾敹娣诲姞楠屾敹瀛楁琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 03:54:49 + */ +public interface IncidentReportService extends IService<IncidentReport> { + + void saveIncidentReportData(IncidentReportAddDto incidentReportAddDto); + + IPage<IncidentReportAddDto> getByDeviceId(Integer deviceId, Page page, String processNumber); + + void deleteIncidentReport(Integer id); + + IncidentReportAddDto getShowIncidentReport(Integer id); + + void deleteIncidentReportAll(Integer sparePartsId, Integer fileId, Integer installId, Integer acceptanceCheckId); + + List<IncidentReportExport> incidentReportExport(Integer deviceId); + + /** + * 瀵煎嚭楠屾敹鎶ュ憡 + * @param deviceId 璁惧id + * @param processNumber 娴佺▼鍙� + * @param response 鍝嶅簲Word鏂囨。 + */ + void acceptanceCertificateExport(Integer deviceId, String processNumber, HttpServletResponse response); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentSparePartsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentSparePartsService.java new file mode 100644 index 0000000..5074fbf --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/IncidentSparePartsService.java @@ -0,0 +1,7 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.IncidentSpareParts; + +public interface IncidentSparePartsService extends IService<IncidentSpareParts> { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/InstructionService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/InstructionService.java new file mode 100644 index 0000000..e8a033c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/InstructionService.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.InstructionDto; +import com.yuanchu.mom.dto.OperationInstructionDto; +import com.yuanchu.mom.pojo.Instruction; + +/** + * <p> + * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:29:18 + */ +public interface InstructionService extends IService<Instruction> { + + IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page, OperationInstructionDto operationInstructionDto); + + void newHomeworkGuidebookAdded(InstructionDto instructionDto); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/OperationInstructionService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/OperationInstructionService.java new file mode 100644 index 0000000..297587b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/OperationInstructionService.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.OperationInstruction; +import com.yuanchu.mom.vo.OperationInstructionVo; + +import java.util.List; + +/** + * <p> + * 璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:43:32 + */ +public interface OperationInstructionService extends IService<OperationInstruction> { + + List<OperationInstructionVo> homeworkGuidebookEditor(Integer instructionId); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/QrShowService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/QrShowService.java new file mode 100644 index 0000000..2a04d21 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/QrShowService.java @@ -0,0 +1,9 @@ +package com.yuanchu.mom.service; + +import org.springframework.ui.Model; + +public interface QrShowService { + + void transformModelByType(Model model,String code,String type); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/ReservationService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/ReservationService.java new file mode 100644 index 0000000..3450451 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/ReservationService.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DeviceDto; +import com.yuanchu.mom.dto.ReservationDto; +import com.yuanchu.mom.pojo.Reservation; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鏈嶅姟绫� + * </p> + * + * @author baomidou + * @since 2024-09-14 + */ +public interface ReservationService extends IService<Reservation> { + + Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull, String starttime, String endtime); + + List<ReservationDto> selectReservationParameterPage( String deviceId, String reservationTime, String specificTime); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceFileServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceFileServiceImpl.java new file mode 100644 index 0000000..ef6a8e9 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceAcceptanceFileMapper; +import com.yuanchu.mom.pojo.DeviceAcceptanceFile; +import com.yuanchu.mom.service.DeviceAcceptanceFileService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧楠屾敹(瑁呭)闄勪欢琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:26 + */ +@Service +public class DeviceAcceptanceFileServiceImpl extends ServiceImpl<DeviceAcceptanceFileMapper, DeviceAcceptanceFile> implements DeviceAcceptanceFileService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceServiceImpl.java new file mode 100644 index 0000000..836daa0 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAcceptanceServiceImpl.java @@ -0,0 +1,159 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DeviceAcceptanceFileMapper; +import com.yuanchu.mom.mapper.DeviceAcceptanceMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceAcceptance; +import com.yuanchu.mom.pojo.DeviceAcceptanceFile; +import com.yuanchu.mom.service.DeviceAcceptanceService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; + +/** + * <p> + * 璁惧楠屾敹(瑁呭) 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 01:45:14 + */ +@Service +public class DeviceAcceptanceServiceImpl extends ServiceImpl<DeviceAcceptanceMapper, DeviceAcceptance> implements DeviceAcceptanceService { + + @Resource + private DeviceAcceptanceFileMapper deviceAcceptanceFileMapper; + + @Resource + private DeviceMapper deviceMapper; + + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + /** + * 璁惧楠屾敹鍒楄〃 + * @param page + * @param deviceAcceptance + * @return + */ + @Override + public IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, DeviceAcceptance deviceAcceptance) { + return baseMapper.pageDeviceAcceptance(page, QueryWrappers.queryWrappers(deviceAcceptance)); + } + + /** + * 璁惧楠屾敹闄勪欢 + * @param acceptanceId + * @param file + * @return + */ + @Override + public boolean uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file) { + if (acceptanceId == null) { + throw new ErrorException("缂哄皯楠屾敹id"); + } + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + DeviceAcceptanceFile acceptanceFile = new DeviceAcceptanceFile(); + acceptanceFile.setAcceptanceId(acceptanceId); + acceptanceFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + acceptanceFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + acceptanceFile.setType(2); + } + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + acceptanceFile.setFileUrl(pathName); + deviceAcceptanceFileMapper.insert(acceptanceFile); + return true; + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return false; + } + } + + /** + * 璁惧楠屾敹瀵煎嚭 + * @param acceptanceId 璁惧楠屾敹id + * @param response 鍝嶅簲浣� + * @return + */ + @Override + public void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response) { + DeviceAcceptance deviceAcceptance = baseMapper.selectById(acceptanceId); + if (deviceAcceptance == null) { + throw new ErrorException("璁惧楠屾敹涓嶅瓨鍦�"); + } + Device device = null; + if (deviceAcceptance.getDeviceId() != null) { + device = deviceMapper.selectById(deviceAcceptance.getDeviceId()); + } + + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/acceptance-certificate.docx"); + Configure configure = Configure.builder() + .bind("deviceInspectionRecordDetailsList", new HackLoopTableRenderPolicy()) + .build(); + Device finalDevice = device; + String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceAcceptance", deviceAcceptance); + put("device", finalDevice); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + deviceName+ "楠屾敹鍗�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAccidentReportServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAccidentReportServiceImpl.java new file mode 100644 index 0000000..516bc94 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceAccidentReportServiceImpl.java @@ -0,0 +1,191 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceAccidentReportDto; +import com.yuanchu.mom.mapper.DeviceAccidentReportMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceAccidentReport; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceAccidentReportService; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; + +/** + * <p> + * 璁惧浜嬫晠鎶ュ憡鍗� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 06:31:12 + */ +@Service +public class DeviceAccidentReportServiceImpl extends ServiceImpl<DeviceAccidentReportMapper, DeviceAccidentReport> implements DeviceAccidentReportService { + + @Resource + private UserMapper userMapper; + + @Resource + private GetLook getLook; + + @Resource + private DeviceMapper deivceMapper; + + /** + * 璁惧浜嬫晠鎶ュ憡鍒楄〃 + * @param page + * @param deviceAccidentReport + * @return + */ + @Override + public IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, DeviceAccidentReport deviceAccidentReport) { + return baseMapper.pageDeviceAccidentReport(page, QueryWrappers.queryWrappers(deviceAccidentReport)); + } + + /** + * 鏂板璁惧浜嬫晠鎶ュ憡 + * @param deviceAccidentReport + * @return + */ + @Override + public boolean addDeviceAccidentReport(DeviceAccidentReport deviceAccidentReport) { + DeviceAccidentReport accidentReport = new DeviceAccidentReport(); + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + switch (deviceAccidentReport.getFlowType()) { + case 0: + // 鎶ュ憡 + BeanUtils.copyProperties(deviceAccidentReport, accidentReport); + accidentReport.setDescriptionOfAccident(deviceAccidentReport.getDescriptionOfAccident()); + accidentReport.setReportUserId(user.getId()); + accidentReport.setReportUser(user.getName()); + accidentReport.setReportDate(LocalDate.now()); + + // 璇勪及浜轰俊鎭� + User assessorUser = userMapper.selectById(deviceAccidentReport.getAssessorUserId()); + accidentReport.setAssessorUserId(assessorUser.getId()); + accidentReport.setAssessorUser(assessorUser.getName()); + + baseMapper.insert(accidentReport); + break; + case 1: + accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); + // 璇勪及 + accidentReport.setAssessorOpinion(deviceAccidentReport.getAssessorOpinion()); + accidentReport.setAssessorDate(LocalDate.now()); + + // 閮ㄩ棬璐熻矗浜� + User departmentHeadUser = userMapper.selectById(deviceAccidentReport.getDepartmentHeadUserId()); + accidentReport.setDepartmentHeadUserId(departmentHeadUser.getId()); + accidentReport.setDepartmentHeadUser(departmentHeadUser.getName()); + + baseMapper.updateById(accidentReport); + + break; + case 2: + accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); + // 閮ㄩ棬璐熻矗浜烘剰瑙� + accidentReport.setDepartmentHeadOpinion(deviceAccidentReport.getDepartmentHeadOpinion()); + accidentReport.setDepartmentHeadDate(LocalDate.now()); + + // 鎶�鏈礋璐d汉淇℃伅 + User technicalDirectorUser = userMapper.selectById(deviceAccidentReport.getTechnicalDirectorUserId()); + accidentReport.setTechnicalDirectorUserId(technicalDirectorUser.getId()); + accidentReport.setTechnicalDirectorUser(technicalDirectorUser.getName()); + + baseMapper.updateById(accidentReport); + + break; + case 3: + accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); + // 鎶�鏈礋璐d汉鎰忚 + accidentReport.setTechnicalDirectorOpinion(deviceAccidentReport.getTechnicalDirectorOpinion()); + accidentReport.setTechnicalDirectorDate(LocalDate.now()); + + // 涓讳换淇℃伅 + User directorHeadUser = userMapper.selectById(deviceAccidentReport.getDirectorHeadUserId()); + accidentReport.setDirectorHeadUserId(directorHeadUser.getId()); + accidentReport.setDirectorHeadUser(directorHeadUser.getName()); + + baseMapper.updateById(accidentReport); + + break; + case 4: + accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); + // 涓讳换鎰忚 + accidentReport.setDirectorHeadOpinion(deviceAccidentReport.getDirectorHeadOpinion()); + accidentReport.setDirectorHeadDate(LocalDate.now()); + + accidentReport.setIsFinish(1); + baseMapper.updateById(accidentReport); + break; + } + return true; + } + + /** + * 瀵煎嚭璁惧浜嬫晠鎶ュ憡 + * @param accidentReportId 璁惧浜嬫晠鎶ュ憡id + * @param response 鍝嶅簲 + */ + @Override + public void exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response) { + // 鏌ヨ浜嬫晠鎶ュ憡 + DeviceAccidentReportDto deviceAccidentReport = baseMapper.selectDeviceAccidentReportById(accidentReportId); + + Device device = deivceMapper.selectById(deviceAccidentReport.getDeviceId()); + device = device == null ? new Device() : device; + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-accident-report.docx"); + Configure configure = Configure.builder() + .build(); + Device finalDevice = device; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceAccidentReport", deviceAccidentReport); + put("device", finalDevice); + // 鎶ュ憡浜虹鍚� + put("reportUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getReportUserId())); + // 璇勪及浜虹鍚� + put("assessorUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getAssessorUserId())); + // 閮ㄩ棬璐熻矗浜虹鍚� + put("departmentHeadUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getDepartmentHeadUserId())); + // 鎶�鏈礋璐d汉绛惧悕 + put("technicalDirectorUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getTechnicalDirectorUserId())); + // 涓讳换绛惧悕 + put("directorHeadUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getDepartmentHeadUserId())); + }}); + + try { + response.setContentType("application/msword"); + String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); + String fileName = URLEncoder.encode( + deviceName + "璁惧浜嬫晠鎶ュ憡鍗�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBorrowServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBorrowServiceImpl.java new file mode 100644 index 0000000..ce5b3f5 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBorrowServiceImpl.java @@ -0,0 +1,124 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.mapper.DeviceBorrowMapper; +import com.yuanchu.mom.mapper.DeviceLogMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.DeviceBorrow; +import com.yuanchu.mom.pojo.DeviceLog; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceBorrowService; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.*; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 10:53:51 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceBorrowServiceImpl extends ServiceImpl<DeviceBorrowMapper, DeviceBorrow> implements DeviceBorrowService { + + @Resource + DeviceBorrowMapper deviceBorrowMapper; + + @Resource + DeviceLogMapper deviceLogMapper; + + @Resource + GetLook getLook; + + @Resource + UserMapper userMapper; + + @Autowired + private NumberGenerator<DeviceBorrow> numberGenerator; + + @Override + public Map<String, Object> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(DeviceBorrow.class)); + IPage<DeviceBorrow> iPage = deviceBorrowMapper.deviceBorrowPage(page, QueryWrappers.queryWrappers(deviceBorrow)); + map.put("body", iPage); + return map; + } + + @Override + public int saveDeviceBorrow(DeviceBorrow deviceBorrow) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + //鏂板鐨勬椂鍊欐坊鍔犳柊寤烘祦绋� + if (ObjectUtils.isEmpty(deviceBorrow.getId())) { + deviceBorrow.setSubmitUser(user.getName()); + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceBorrow::getProcessNumber); + deviceBorrow.setProcessNumber(processNumber); + deviceBorrowMapper.insert(deviceBorrow); + DeviceLog deviceLog = new DeviceLog(); + deviceLog.setOperator(user.getName()); + deviceLog.setOperationTime(LocalDateTime.now()); + deviceLog.setOperationType("鏂板缓"); + deviceLog.setOperationContent("鏂板缓娴佺▼"); + deviceLog.setRelevanceForm("device_borrow"); + deviceLog.setRelevanceId(deviceBorrow.getId()); + deviceLogMapper.insert(deviceLog); + } else { + DeviceBorrow borrow = deviceBorrowMapper.selectById(deviceBorrow.getId()); + deviceBorrowMapper.updateById(deviceBorrow); + //閫氳繃鎴栬�呴┏鍥炲鍔犳祦绋嬭窡韪� + if (deviceBorrow.getNowState().equals("鍏抽棴")) { + DeviceLog deviceLog = new DeviceLog(); + deviceLog.setOperator(user.getName()); + deviceLog.setOperationTime(LocalDateTime.now()); + deviceLog.setOperationType("鎺ユ敹閫氳繃"); + deviceLog.setRelevanceForm("device_borrow"); + deviceLog.setRelevanceId(deviceBorrow.getId()); + deviceLogMapper.insert(deviceLog); + } + else if (deviceBorrow.getNowState().equals("鎻愪氦") && borrow.getNowState().equals("鎺ユ敹")) { + DeviceLog deviceLog = new DeviceLog(); + deviceLog.setOperator(user.getName()); + deviceLog.setOperationTime(LocalDateTime.now()); + deviceLog.setOperationType("鎺ユ敹椹冲洖"); + deviceLog.setRelevanceForm("device_borrow"); + deviceLog.setRelevanceId(deviceBorrow.getId()); + deviceLogMapper.insert(deviceLog); + } + } + return 0; + } + + @Override + public DeviceBorrow getDeviceBorrow(Integer id) { + List<DeviceLog> deviceLogs = deviceLogMapper.selectList(Wrappers.<DeviceLog>lambdaQuery() + .eq(DeviceLog::getRelevanceForm, "device_borrow") + .eq(DeviceLog::getRelevanceId, id)); + DeviceBorrow deviceBorrow = deviceBorrowMapper.selectById(id); + deviceBorrow.setDeviceLogs(deviceLogs); + return deviceBorrow; + } + + @Override + public List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId) { + return deviceBorrowMapper.getDeviceBorrowBydeviceId(deviceId); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBreakdownMaintenanceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBreakdownMaintenanceServiceImpl.java new file mode 100644 index 0000000..1475979 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceBreakdownMaintenanceServiceImpl.java @@ -0,0 +1,154 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.mapper.DeviceBreakdownMaintenanceMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceBreakdownMaintenance; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceBreakdownMaintenanceService; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; + +/** + * <p> + * 璁惧鏁呴殰缁翠慨琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 04:50:57 + */ +@Service +public class DeviceBreakdownMaintenanceServiceImpl extends ServiceImpl<DeviceBreakdownMaintenanceMapper, DeviceBreakdownMaintenance> implements DeviceBreakdownMaintenanceService { + + @Resource + private UserMapper userMapper; + @Resource + private GetLook getLook; + @Resource + private DeviceMapper deivceMapper; + + /** + * 璁惧鏁呴殰缁翠慨鍒楄〃 + * @param page + * @param deviceBreakdownMaintenance + * @return + */ + @Override + public IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, DeviceBreakdownMaintenance deviceBreakdownMaintenance) { + return baseMapper.pageDeviceBreakdownMaintenance(page, QueryWrappers.queryWrappers(deviceBreakdownMaintenance)); + } + + /** + * 鏂板璁惧鏁呴殰缁翠慨 + * @param deviceBreakdownMaintenance + * @return + */ + @Override + public boolean addDeviceBreakdownMaintenance(DeviceBreakdownMaintenance deviceBreakdownMaintenance) { + DeviceBreakdownMaintenance breakdownMaintenance = new DeviceBreakdownMaintenance(); + //褰撳墠鐧诲綍鐢ㄦ埛 + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + + switch (deviceBreakdownMaintenance.getFlowType()) { + case 0: + BeanUtils.copyProperties(deviceBreakdownMaintenance, breakdownMaintenance); + // 鐢宠 + breakdownMaintenance.setDamageOrMalfunction(deviceBreakdownMaintenance.getDamageOrMalfunction()); + breakdownMaintenance.setApplicantUserId(user.getId()); + breakdownMaintenance.setApplicantUser(user.getName()); + breakdownMaintenance.setRepairDate(deviceBreakdownMaintenance.getRepairDate()); + + // 澶勭悊浜轰俊鎭� + User departmentHeadUser = userMapper.selectById(deviceBreakdownMaintenance.getDepartmentHeadUserId()); + breakdownMaintenance.setApplicantUserId(departmentHeadUser.getId()); + breakdownMaintenance.setApplicantUser(departmentHeadUser.getName()); + + baseMapper.insert(breakdownMaintenance); + break; + case 1: + breakdownMaintenance.setMaintenanceId(deviceBreakdownMaintenance.getMaintenanceId()); + // 鐢宠閮ㄩ棬璐熻矗浜烘剰瑙� + breakdownMaintenance.setDepartmentHeadOpinion(deviceBreakdownMaintenance.getDepartmentHeadOpinion()); + breakdownMaintenance.setDepartmentHeadDate(LocalDate.now()); + + baseMapper.updateById(breakdownMaintenance); + break; + case 2: + breakdownMaintenance.setMaintenanceId(deviceBreakdownMaintenance.getMaintenanceId()); + // 璁¢噺瀹ゆ剰瑙� + breakdownMaintenance.setMaintenanceRecord(deviceBreakdownMaintenance.getMaintenanceRecord()); + breakdownMaintenance.setMaintenanceUser(deviceBreakdownMaintenance.getMaintenanceUser()); + breakdownMaintenance.setMaintenanceDate(deviceBreakdownMaintenance.getMaintenanceDate()); + + breakdownMaintenance.setIsFinish(1); + + baseMapper.updateById(breakdownMaintenance); + break; + } + return true; + } + + /** + * 瀵煎嚭璁惧鏁呴殰缁翠慨 + * @param maintenanceId 璁惧鏁呴殰缁翠慨id + * @param response 鍝嶅簲 + */ + @Override + public void exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response) { + // 鏌ヨ澶栭儴璁惧鐢宠 + DeviceBreakdownMaintenance deviceBreakdownMaintenance = baseMapper.selectById(maintenanceId); + + Device device = null; + if (deviceBreakdownMaintenance.getDeviceId() != null) { + device = deivceMapper.selectById(deviceBreakdownMaintenance.getDeviceId()); + device = device == null ? new Device() : device; + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-breakdown-maintenance.docx"); + Configure configure = Configure.builder() + .build(); + Device finalDevice = device; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceBreakdownMaintenance", deviceBreakdownMaintenance); + put("device", finalDevice); + // 鐢宠浜虹鍚� + put("applicantUrl", UserUtils.getFinalUserSignatureUrl(deviceBreakdownMaintenance.getApplicantUserId())); + // 閮ㄩ棬璐熻矗浜虹鍚� + put("headUrl", UserUtils.getFinalUserSignatureUrl(deviceBreakdownMaintenance.getDepartmentHeadUserId())); + }}); + + try { + response.setContentType("application/msword"); + String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); + String fileName = URLEncoder.encode( + deviceName + "璁惧鏁呴殰缁翠慨鐢宠琛�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanDetailServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanDetailServiceImpl.java new file mode 100644 index 0000000..5c9ea18 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceCalibrationPlanDetailMapper; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import com.yuanchu.mom.service.DeviceCalibrationPlanDetailService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍″噯璁″垝璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:29 + */ +@Service +public class DeviceCalibrationPlanDetailServiceImpl extends ServiceImpl<DeviceCalibrationPlanDetailMapper, DeviceCalibrationPlanDetail> implements DeviceCalibrationPlanDetailService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanServiceImpl.java new file mode 100644 index 0000000..de965da --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCalibrationPlanServiceImpl.java @@ -0,0 +1,252 @@ +package com.yuanchu.mom.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceCalibrationPlanDetailDto; +import com.yuanchu.mom.dto.DeviceCalibrationPlanDto; +import com.yuanchu.mom.excel.upload.DeviceCalibrationPlanDetailUpload; +import com.yuanchu.mom.mapper.DeviceCalibrationPlanDetailMapper; +import com.yuanchu.mom.mapper.DeviceCalibrationPlanMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceCalibrationPlan; +import com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail; +import com.yuanchu.mom.service.DeviceCalibrationPlanDetailService; +import com.yuanchu.mom.service.DeviceCalibrationPlanService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 璁惧鏍″噯璁″垝涓昏〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 03:58:17 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceCalibrationPlanServiceImpl extends ServiceImpl<DeviceCalibrationPlanMapper, DeviceCalibrationPlan> implements DeviceCalibrationPlanService { + + @Resource + private DeviceCalibrationPlanDetailMapper deviceCalibrationPlanDetailMapper; + @Resource + private DeviceCalibrationPlanDetailService deviceCalibrationPlanDetailService; + + @Resource + private UserMapper userMapper; + + @Resource + private GetLook getLook; + + /** + * 鏂板璁惧鏍″噯璁″垝 + * @param calibrationPlanDto + * @return + */ + @Override + public boolean addDeviceCalibrationPlan(DeviceCalibrationPlanDto calibrationPlanDto) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + // 缂栧埗鏃ユ湡 + calibrationPlanDto.setWriteUserId(userId); + calibrationPlanDto.setWriteTime(LocalDateTime.now()); + baseMapper.insert(calibrationPlanDto); + + // 娣诲姞璇︽儏 + if (CollectionUtils.isNotEmpty(calibrationPlanDto.getCalibrationPlanDetailList())) { + for (DeviceCalibrationPlanDetail calibrationPlanDetail : calibrationPlanDto.getCalibrationPlanDetailList()) { + calibrationPlanDetail.setPlanId(calibrationPlanDto.getPlanId()); + } + deviceCalibrationPlanDetailService.saveBatch(calibrationPlanDto.getCalibrationPlanDetailList()); + } + + return true; + } + + /** + * 瀵煎叆璁惧鏍″噯璁″垝 + * @param file + * @return + */ + @Override + public boolean importDeviceCalibrationPlan(MultipartFile file, String planYear) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + // 鏂囦欢鍚嶇О + String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); + DeviceCalibrationPlan calibrationPlan = new DeviceCalibrationPlan(); + calibrationPlan.setPlanName(fileName); + calibrationPlan.setPlanYear(planYear); + calibrationPlan.setWriteUserId(userId); + calibrationPlan.setWriteTime(LocalDateTime.now()); + baseMapper.insert(calibrationPlan); + + List<DeviceCalibrationPlanDetail> detailsUploadList = new ArrayList<>(); + // 瀵煎叆闄勪欢鍐呭 + try { + // excel瑙f瀽 + EasyExcel.read(file.getInputStream(), DeviceCalibrationPlanDetailUpload.class, new AnalysisEventListener<DeviceCalibrationPlanDetailUpload>() { + @Override + public void invoke(DeviceCalibrationPlanDetailUpload detailsUpload, AnalysisContext analysisContext) { + // 鍒ゆ柇鏄惁涓虹┖ + if (StringUtils.isNotBlank(detailsUpload.getDeviceName()) && + StringUtils.isNotBlank(detailsUpload.getDeviceNumber())) { + // 瀵硅薄澶嶅埗 + DeviceCalibrationPlanDetail calibrationPlanDetail = new DeviceCalibrationPlanDetail(); + BeanUtils.copyProperties(detailsUpload, calibrationPlanDetail); + // 鏍煎紡璇濇渶杩戞瀹氭椂闂村拰鏈勾璁″垝鏍″噯鏃堕棿 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + calibrationPlanDetail.setLastDate(LocalDate.parse(detailsUpload.getLastDate(), formatter)); + calibrationPlanDetail.setPlanDate(LocalDate.parse(detailsUpload.getLastDate(), formatter)); + + calibrationPlanDetail.setPlanId(calibrationPlan.getPlanId()); + detailsUploadList.add(calibrationPlanDetail); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); + deviceCalibrationPlanDetailService.saveBatch(detailsUploadList); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } + + /** + * 璁惧鏍″噯璁″垝鎵瑰噯 + * @param deviceCalibrationPlan + * @return + */ + @Override + public boolean ratifyDeviceCalibrationPlan(DeviceCalibrationPlan deviceCalibrationPlan) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + baseMapper.update(null, Wrappers.<DeviceCalibrationPlan>lambdaUpdate() + .eq(DeviceCalibrationPlan::getPlanId, deviceCalibrationPlan.getPlanId()) + .set(DeviceCalibrationPlan::getRatifyUserId, userId) + .set(DeviceCalibrationPlan::getRatifyRemark, deviceCalibrationPlan.getRatifyRemark()) + .set(DeviceCalibrationPlan::getRatifyStatus, deviceCalibrationPlan.getRatifyStatus()) + .set(DeviceCalibrationPlan::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 璁惧鏍″噯璁″垝鍒楄〃 + * @param page + * @param deviceCalibrationPlan + * @return + */ + @Override + public IPage<DeviceCalibrationPlanDto> pageDeviceCalibrationPlan(Page page, DeviceCalibrationPlan deviceCalibrationPlan) { + return baseMapper.pageDeviceCalibrationPlan(page, QueryWrappers.queryWrappers(deviceCalibrationPlan)); + } + + /** + * 璁惧鏍″噯璁″垝璇︽儏鍒楄〃 + * @param page + * @param deviceCalibrationPlanDetails + * @return + */ + @Override + public IPage<DeviceCalibrationPlanDetail> pageDeviceCalibrationPlanDetail(Page page, DeviceCalibrationPlanDetail deviceCalibrationPlanDetails) { + if (deviceCalibrationPlanDetails.getPlanId() == null) { + return new Page(); + } + return deviceCalibrationPlanDetailMapper.pageDeviceCalibrationPlanDetail(page, QueryWrappers.queryWrappers(deviceCalibrationPlanDetails)); + } + + /** + * 瀵煎嚭璁惧鏍″噯璁″垝 + * @param deviceCalibrationPlanId + * @param response + */ + @Override + public void exportDeviceCalibrationPlanDetail(Integer deviceCalibrationPlanId, HttpServletResponse response) { + // 鏌ヨ璁惧鏍″噯璁″垝 + DeviceCalibrationPlan deviceCalibrationPlan = baseMapper.selectById(deviceCalibrationPlanId); + DeviceCalibrationPlanDto deviceCalibrationPlanDto = new DeviceCalibrationPlanDto(); + BeanUtils.copyProperties(deviceCalibrationPlan, deviceCalibrationPlanDto); + // 璁剧疆缂栧埗鍜屾壒鍑嗘椂闂存牸寮� + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + deviceCalibrationPlanDto.setWriteTimeStr(deviceCalibrationPlan.getWriteTime() == null ? null : deviceCalibrationPlan.getWriteTime().format(formatter)); + deviceCalibrationPlanDto.setRatifyTimeStr(deviceCalibrationPlan.getRatifyTime() == null ? null : deviceCalibrationPlan.getRatifyTime().format(formatter)); + + // 鏌ヨ璁惧鏍″噯璁″垝璇︽儏 + List<DeviceCalibrationPlanDetail> deviceCalibrationPlanDetailList = deviceCalibrationPlanDetailMapper.selectList(Wrappers.<DeviceCalibrationPlanDetail>lambdaQuery().eq(DeviceCalibrationPlanDetail::getPlanId, deviceCalibrationPlanId)); + // 璁剧疆搴忓彿 鍜� 鏃堕棿 + ArrayList<DeviceCalibrationPlanDetailDto> deviceCalibrationPlanDetailDtoList = new ArrayList<>(); + deviceCalibrationPlanDetailList.forEach(deviceCalibrationPlanDetail -> { + DeviceCalibrationPlanDetailDto deviceCalibrationPlanDetailDto = new DeviceCalibrationPlanDetailDto(); + BeanUtils.copyProperties(deviceCalibrationPlanDetail, deviceCalibrationPlanDetailDto); + deviceCalibrationPlanDetailDto.setIndex(deviceCalibrationPlanDetailList.indexOf(deviceCalibrationPlanDetail) + 1); + deviceCalibrationPlanDetailDto.setLastDateStr((deviceCalibrationPlanDetail.getLastDate().format(formatter))); + deviceCalibrationPlanDetailDto.setPlanDateStr((deviceCalibrationPlanDetail.getPlanDate().format(formatter))); + deviceCalibrationPlanDetailDtoList.add(deviceCalibrationPlanDetailDto); + }); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-calibration-plan.docx"); + Configure configure = Configure.builder() + .bind("deviceCalibrationPlanDetailDtoList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceCalibrationPlan", deviceCalibrationPlanDto); + put("deviceCalibrationPlanDetailDtoList", deviceCalibrationPlanDetailDtoList); + //鑾峰彇缂栧埗浜虹殑绛惧悕鍦板潃 + put("organizationUrl", UserUtils.getFinalUserSignatureUrl(deviceCalibrationPlan.getRatifyUserId())); + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + put("approvedUrl", UserUtils.getFinalUserSignatureUrl(deviceCalibrationPlan.getWriteUserId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧鏍″噯璁″垝琛�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCheckServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCheckServiceImpl.java new file mode 100644 index 0000000..a9dbfb2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceCheckServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceCheckMapper; +import com.yuanchu.mom.pojo.DeviceCheck; +import com.yuanchu.mom.service.DeviceCheckService; +import org.springframework.stereotype.Service; + +@Service +public class DeviceCheckServiceImpl extends ServiceImpl<DeviceCheckMapper, DeviceCheck> implements DeviceCheckService { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanDetailsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanDetailsServiceImpl.java new file mode 100644 index 0000000..c6302d1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanDetailsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceExaminePlanDetailsMapper; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import com.yuanchu.mom.service.DeviceExaminePlanDetailsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍告煡璁″垝璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:16 + */ +@Service +public class DeviceExaminePlanDetailsServiceImpl extends ServiceImpl<DeviceExaminePlanDetailsMapper, DeviceExaminePlanDetails> implements DeviceExaminePlanDetailsService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanServiceImpl.java new file mode 100644 index 0000000..0abd5e4 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExaminePlanServiceImpl.java @@ -0,0 +1,254 @@ +package com.yuanchu.mom.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceExaminePlanDetailsDto; +import com.yuanchu.mom.dto.DeviceExaminePlanDto; +import com.yuanchu.mom.excel.upload.DeviceExaminePlanUpload; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DeviceExaminePlanDetailsMapper; +import com.yuanchu.mom.mapper.DeviceExaminePlanMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceExaminePlan; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceExaminePlanDetailsService; +import com.yuanchu.mom.service.DeviceExaminePlanService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 璁惧鏍告煡璁″垝涓昏〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:04 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceExaminePlanServiceImpl extends ServiceImpl<DeviceExaminePlanMapper, DeviceExaminePlan> implements DeviceExaminePlanService { + + @Resource + private DeviceExaminePlanDetailsMapper deviceExaminePlanDetailsMapper; + @Resource + private DeviceExaminePlanDetailsService deviceExaminePlanDetailsService; + @Resource + private DeviceMapper deviceMapper; + @Resource + private GetLook getLook; + @Resource + private UserMapper userMapper; + + /** + * 鏂板璁惧鏍告煡璁″垝 + * @param examinePlanDto + * @return + */ + @Override + public boolean addDeviceExaminePlan(DeviceExaminePlanDto examinePlanDto) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + // 鏂囦欢鍚嶇О + examinePlanDto.setWriteUserId(userId); + examinePlanDto.setWriteTime(LocalDateTime.now()); + baseMapper.insert(examinePlanDto); + + // 娣诲姞璇︽儏 + if (CollectionUtils.isNotEmpty(examinePlanDto.getExaminePlanDetailsList())) { + for (DeviceExaminePlanDetails deviceExaminePlanDetails : examinePlanDto.getExaminePlanDetailsList()) { + deviceExaminePlanDetails.setPlanId(examinePlanDto.getPlanId()); + } + deviceExaminePlanDetailsService.saveBatch(examinePlanDto.getExaminePlanDetailsList()); + } + return true; + } + + /** + * 瀵煎叆璁惧鏍告煡璁″垝 + * @param file + * @return + */ + @Override + public boolean importDeviceExaminePlan(MultipartFile file) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + // 鏂囦欢鍚嶇О + String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); + DeviceExaminePlan examinePlan = new DeviceExaminePlan(); + examinePlan.setPlanName(fileName); + examinePlan.setWriteUserId(userId); + examinePlan.setWriteTime(LocalDateTime.now()); + baseMapper.insert(examinePlan); + + List<DeviceExaminePlanDetails> examinePlanDetails = new ArrayList<>(); + // 瀵煎叆闄勪欢鍐呭 + try { + // excel瑙f瀽 + EasyExcel.read(file.getInputStream(), DeviceExaminePlanUpload.class, new AnalysisEventListener<DeviceExaminePlanUpload>() { + @Override + public void invoke(DeviceExaminePlanUpload detailsUpload, AnalysisContext analysisContext) { + // 鍒ゆ柇鏄惁涓虹┖ + if (StringUtils.isNotBlank(detailsUpload.getDeviceName()) && + StringUtils.isNotBlank(detailsUpload.getDeviceNumber())) { + // 瀵硅薄澶嶅埗 + DeviceExaminePlanDetails planDetails = new DeviceExaminePlanDetails(); + BeanUtils.copyProperties(detailsUpload, planDetails); + + planDetails.setPlanId(examinePlan.getPlanId()); + examinePlanDetails.add(planDetails); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); + for (DeviceExaminePlanDetails examinePlanDetail : examinePlanDetails) { + Device device = deviceMapper.selectOne(Wrappers.<Device>lambdaQuery() + .eq(Device::getManagementNumber, examinePlanDetail.getDeviceNumber().trim())); + if (device == null) { + throw new ErrorException("璁惧缂栧彿" + examinePlanDetail.getDeviceNumber() + "鏈煡璇㈠埌璁惧, 璇烽噸鏂板鍏�"); + } + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, examinePlanDetail.getCheckChargerUser())); + if (user == null) { + throw new ErrorException("璁惧缂栧彿" + examinePlanDetail.getDeviceNumber() + "鏈煡璇㈠埌鏍告煡浜�"); + } + examinePlanDetail.setDeviceId(device.getId()); + examinePlanDetail.setCheckChargerUserId(user.getId()); + } + + deviceExaminePlanDetailsService.saveBatch(examinePlanDetails); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } + + /** + * 璁惧鏍告煡璁″垝鎵瑰噯 + * @param deviceExaminePlan + * @return + */ + @Override + public boolean ratifyDeviceExaminePlan(DeviceExaminePlan deviceExaminePlan) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + baseMapper.update(null, Wrappers.<DeviceExaminePlan>lambdaUpdate() + .eq(DeviceExaminePlan::getPlanId, deviceExaminePlan.getPlanId()) + .set(DeviceExaminePlan::getRatifyUserId, userId) + .set(DeviceExaminePlan::getRatifyRemark, deviceExaminePlan.getRatifyRemark()) + .set(DeviceExaminePlan::getRatifyStatus, deviceExaminePlan.getRatifyStatus()) + .set(DeviceExaminePlan::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 璁惧鏍告煡璁″垝鍒楄〃 + * @param page + * @param deviceExaminePlan + * @return + */ + @Override + public IPage<DeviceExaminePlanDto> pageDeviceExaminePlan(Page page, DeviceExaminePlan deviceExaminePlan) { + return baseMapper.deviceExaminePlanDetailsMapper(page, QueryWrappers.queryWrappers(deviceExaminePlan)); + } + + /** + * 璁惧鏍告煡璁″垝璇︽儏鍒楄〃 + * @param page + * @param deviceExaminePlanDetails + * @return + */ + @Override + public IPage<DeviceExaminePlanDetails> pageDeviceExaminePlanDetail(Page page, DeviceExaminePlanDetails deviceExaminePlanDetails) { + if (deviceExaminePlanDetails.getPlanId() == null) { + return new Page(); + } + return deviceExaminePlanDetailsMapper.pageDeviceExaminePlanDetail(page, QueryWrappers.queryWrappers(deviceExaminePlanDetails)); + } + + /** + * 瀵煎嚭璁惧鏍告煡璁″垝 + * @param deviceExaminePlanId 璁惧鏍告煡璁″垝id + * @param response 鍝嶅簲浣� + */ + @Override + public void exportDeviceExaminePlanDetail(Integer deviceExaminePlanId, HttpServletResponse response) { + // 鏌ヨ璁惧鏍告煡璁″垝 + DeviceExaminePlanDto deviceExaminePlanDto = baseMapper.selectExamineExaminePlanDto(deviceExaminePlanId); + + // 鏌ヨ璁惧鏍告煡璁″垝璇︽儏 + List<DeviceExaminePlanDetails> deviceExaminePlanDetailsList = deviceExaminePlanDetailsMapper.selectList(Wrappers.<DeviceExaminePlanDetails>lambdaQuery().eq(DeviceExaminePlanDetails::getPlanId, deviceExaminePlanId)); + // 璁剧疆搴忓彿 + ArrayList<DeviceExaminePlanDetailsDto> deviceExaminePlanDetailsDtoList = new ArrayList<>(); + deviceExaminePlanDetailsList.forEach(deviceExamineRecordContrastDetail -> { + DeviceExaminePlanDetailsDto deviceExaminePlanDetailsDto = new DeviceExaminePlanDetailsDto(); + BeanUtils.copyProperties(deviceExamineRecordContrastDetail, deviceExaminePlanDetailsDto); + deviceExaminePlanDetailsDto.setIndex(deviceExaminePlanDetailsList.indexOf(deviceExamineRecordContrastDetail) + 1); + deviceExaminePlanDetailsDtoList.add(deviceExaminePlanDetailsDto); + }); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/examine-plan-detail.docx"); + Configure configure = Configure.builder() + .bind("deviceExaminePlanDetailsDtoList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceExaminePlan", deviceExaminePlanDto); + put("deviceExaminePlanDetailsDtoList", deviceExaminePlanDetailsDtoList); + //鑾峰彇鏍告煡浜虹殑绛惧悕鍦板潃 + put("writeUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExaminePlanDto.getWriteUserId())); + //鑾峰彇瀹℃煡浜虹殑绛惧悕鍦板潃 + put("reviewUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExaminePlanDto.getRatifyUserId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧鏍告煡璁″垝", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastDetailsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastDetailsServiceImpl.java new file mode 100644 index 0000000..2be725c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastDetailsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceExamineRecordContrastDetailsMapper; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; +import com.yuanchu.mom.service.DeviceExamineRecordContrastDetailsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:57 + */ +@Service +public class DeviceExamineRecordContrastDetailsServiceImpl extends ServiceImpl<DeviceExamineRecordContrastDetailsMapper, DeviceExamineRecordContrastDetails> implements DeviceExamineRecordContrastDetailsService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastServiceImpl.java new file mode 100644 index 0000000..8fcb01b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordContrastServiceImpl.java @@ -0,0 +1,195 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceExamineRecordContrastDetailsDto; +import com.yuanchu.mom.dto.DeviceExamineRecordContrastDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DeviceExaminePlanDetailsMapper; +import com.yuanchu.mom.mapper.DeviceExamineRecordContrastMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceExaminePlanDetails; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrast; +import com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceExamineRecordContrastDetailsService; +import com.yuanchu.mom.service.DeviceExamineRecordContrastService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 璁惧鏍告煡璁板綍瀵规瘮琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:43 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceExamineRecordContrastServiceImpl extends ServiceImpl<DeviceExamineRecordContrastMapper, DeviceExamineRecordContrast> implements DeviceExamineRecordContrastService { + + @Resource + private DeviceExamineRecordContrastDetailsService deviceExamineRecordContrastDetailsService; + @Resource + private DeviceExaminePlanDetailsMapper deviceExaminePlanDetailsMapper; + @Resource + private GetLook getLook; + @Resource + private UserMapper userMapper; + /** + * 鏌ヨ鏍告煡瀵规瘮璁板綍 + * @return + */ + @Override + public DeviceExamineRecordContrastDto getExamineRecordContrast(Integer planDetailsId) { + DeviceExamineRecordContrastDto contrastDto = baseMapper.getExamineRecordContrast(planDetailsId); + // 鍒ゆ柇鏄惁涓虹┖ + if (contrastDto == null) { + contrastDto = new DeviceExamineRecordContrastDto(); + // 鏌ヨ璁惧璇︽儏 + DeviceExaminePlanDetails deviceExaminePlanDetails = deviceExaminePlanDetailsMapper.selectById(planDetailsId); + contrastDto.setPlanDetailsId(deviceExaminePlanDetails.getPlanDetailsId()); + + } else { + // 鏌ヨ璇︽儏 + List<DeviceExamineRecordContrastDetails> list = deviceExamineRecordContrastDetailsService.list(Wrappers.<DeviceExamineRecordContrastDetails>lambdaQuery() + .eq(DeviceExamineRecordContrastDetails::getRecordContrastId, contrastDto.getRecordContrastId())); + contrastDto.setRecordContrastDetailsList(list); + } + + return contrastDto; + } + + /** + * 鏂板鏍告煡瀵规瘮璁板綍 + * @return + */ + @Override + public boolean addExamineRecordContrast(DeviceExamineRecordContrastDto dto) { + if (dto.getPlanDetailsId() == null) { + throw new ErrorException("缂哄皯璁″垝璇︾粏淇℃伅id"); + } + if (dto.getRecordContrastId() == null) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + dto.setCheckerUserId(userId); + dto.setCheckerUser(user.getName()); + + // 鏌ヨ瀹℃煡浜篿d + if (dto.getReviewUserId() != null) { + User reviewUser = userMapper.selectById(dto.getReviewUserId()); + dto.setReviewUser(reviewUser.getName()); + } + } + this.saveOrUpdate(dto); + + // 鍒犻櫎鍏ㄩ儴璇︽儏 + deviceExamineRecordContrastDetailsService.remove(Wrappers.<DeviceExamineRecordContrastDetails>lambdaQuery() + .eq(DeviceExamineRecordContrastDetails::getRecordContrastId, dto.getRecordContrastId())); + //娣诲姞璇︽儏 + if (CollectionUtils.isNotEmpty(dto.getRecordContrastDetailsList())) { + for (DeviceExamineRecordContrastDetails details : dto.getRecordContrastDetailsList()) { + details.setRecordContrastId(dto.getRecordContrastId()); + } + deviceExamineRecordContrastDetailsService.saveBatch(dto.getRecordContrastDetailsList()); + } + return false; + } + + + /** + * 瀹℃牳鏍告煡瀵规瘮璁板綍 + * @return + */ + @Override + public boolean reviewExamineRecordContrast(DeviceExamineRecordContrastDto dto) { + if (dto.getPlanDetailsId() == null) { + throw new ErrorException("缂哄皯璁″垝璇︾粏淇℃伅id"); + } + LambdaUpdateWrapper<DeviceExamineRecordContrast> wrapper = Wrappers.<DeviceExamineRecordContrast>lambdaUpdate() + .eq(DeviceExamineRecordContrast::getPlanDetailsId, dto.getPlanDetailsId()) + .set(DeviceExamineRecordContrast::getReviewStatus, dto.getReviewStatus()) + .set(DeviceExamineRecordContrast::getReviewRemark, dto.getReviewRemark()) + .set(DeviceExamineRecordContrast::getReviewTime, LocalDateTime.now()); + // 涓�0娓呴櫎瀹℃牳浜� + if (dto.getReviewStatus().equals(0)) { + wrapper.set(DeviceExamineRecordContrast::getReviewUserId, null) + .set(DeviceExamineRecordContrast::getReviewUser, null); + } + + this.update(wrapper); + return true; + } + + /** + * 瀵煎嚭瀹℃牳鏍告煡瀵规瘮璁板綍 + * + * @param planDetailsId 璇︽儏id + * @param response + */ + @Override + public void exportReviewExamineRecordContrast(Integer planDetailsId, HttpServletResponse response) { + // 鏌ヨ瀵规瘮璁板綍 + DeviceExamineRecordContrastDto deviceExamineRecordContrast = baseMapper.selectExamineRecordContrastDto(planDetailsId); + + // 鏌ヨ瀵规瘮璁板綍璇︽儏 + List<DeviceExamineRecordContrastDetails> deviceExamineRecordContrastDetailList = deviceExamineRecordContrastDetailsService.list(Wrappers.<DeviceExamineRecordContrastDetails>lambdaQuery().eq(DeviceExamineRecordContrastDetails::getRecordContrastId, deviceExamineRecordContrast.getRecordContrastId())); + // 璁剧疆搴忓彿 + ArrayList<DeviceExamineRecordContrastDetailsDto> deviceExamineRecordContrastDetailsDtoList = new ArrayList<>(); + deviceExamineRecordContrastDetailList.forEach(deviceExamineRecordContrastDetail -> { + DeviceExamineRecordContrastDetailsDto deviceExamineRecordContrastDetailsDto = new DeviceExamineRecordContrastDetailsDto(); + BeanUtils.copyProperties(deviceExamineRecordContrastDetail, deviceExamineRecordContrastDetailsDto); + deviceExamineRecordContrastDetailsDto.setIndex(deviceExamineRecordContrastDetailList.indexOf(deviceExamineRecordContrastDetail) + 1); + deviceExamineRecordContrastDetailsDtoList.add(deviceExamineRecordContrastDetailsDto); + }); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/review-examine-record-contrast.docx"); + Configure configure = Configure.builder() + .bind("deviceExamineRecordContrastDetailsDtoList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceExamineRecordContrast", deviceExamineRecordContrast); + put("deviceExamineRecordContrastDetailsDtoList", deviceExamineRecordContrastDetailsDtoList); + //鑾峰彇鏍告煡浜虹殑绛惧悕鍦板潃 + put("checkerUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExamineRecordContrast.getCheckerUserId())); + //鑾峰彇瀹℃煡浜虹殑绛惧悕鍦板潃 + put("reviewUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExamineRecordContrast.getReviewUserId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "瀹℃牳鏍告煡瀵规瘮璁板綍", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordDetailServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordDetailServiceImpl.java new file mode 100644 index 0000000..642f032 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceExamineRecordDetailMapper; +import com.yuanchu.mom.pojo.DeviceExamineRecordDetail; +import com.yuanchu.mom.service.DeviceExamineRecordDetailService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍告煡璁板綍璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:15:11 + */ +@Service +public class DeviceExamineRecordDetailServiceImpl extends ServiceImpl<DeviceExamineRecordDetailMapper, DeviceExamineRecordDetail> implements DeviceExamineRecordDetailService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordServiceImpl.java new file mode 100644 index 0000000..51a1cd7 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExamineRecordServiceImpl.java @@ -0,0 +1,196 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceExamineRecordDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DeviceExaminePlanDetailsMapper; +import com.yuanchu.mom.mapper.DeviceExamineRecordMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.DeviceExamineRecordDetailService; +import com.yuanchu.mom.service.DeviceExamineRecordService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 璁惧鏍告煡璁板綍琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 07:14:28 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceExamineRecordServiceImpl extends ServiceImpl<DeviceExamineRecordMapper, DeviceExamineRecord> implements DeviceExamineRecordService { + + @Resource + private DeviceExamineRecordDetailService deviceExamineRecordDetailService; + @Resource + private DeviceExaminePlanDetailsMapper deviceExaminePlanDetailsMapper; + @Resource + private DeviceMapper deviceMapper; + @Resource + private GetLook getLook; + @Resource + private UserMapper userMapper; + + /** + * 鏌ヨ鏍告煡璁板綍 + * + * @return + */ + @Override + public DeviceExamineRecordDto getExamineRecord(Integer planDetailsId) { + DeviceExamineRecordDto deviceExamineRecord = baseMapper.getExamineRecord(planDetailsId); + + // 鍒ゆ柇鏄惁涓虹┖ + if (deviceExamineRecord == null) { + deviceExamineRecord = new DeviceExamineRecordDto(); + // 鏌ヨ璁惧璇︽儏 + DeviceExaminePlanDetails deviceExaminePlanDetails = deviceExaminePlanDetailsMapper.selectById(planDetailsId); + Device device = deviceMapper.selectById(deviceExaminePlanDetails.getDeviceId()); + if (device != null) { + deviceExamineRecord.setDeviceName(device.getDeviceName()); + deviceExamineRecord.setDeviceNumber(device.getManagementNumber()); + deviceExamineRecord.setPlanDetailsId(deviceExaminePlanDetails.getPlanDetailsId()); + } + } else { + // 鏌ヨ璇︽儏 + List<DeviceExamineRecordDetail> list = deviceExamineRecordDetailService.list(Wrappers.<DeviceExamineRecordDetail>lambdaQuery() + .eq(DeviceExamineRecordDetail::getRecordId, deviceExamineRecord.getRecordId())); + deviceExamineRecord.setRecordDetailList(list); + } + + return deviceExamineRecord; + } + + /** + * 鏂板鏍告煡璁板綍 + * + * @return + */ + @Override + public boolean addExamineRecord(DeviceExamineRecordDto deviceExamineRecordDto) { + if (deviceExamineRecordDto.getPlanDetailsId() == null) { + throw new ErrorException("缂哄皯璁″垝璇︾粏淇℃伅id"); + } + if (deviceExamineRecordDto.getRecordId() == null) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + deviceExamineRecordDto.setCheckerUserId(userId); + deviceExamineRecordDto.setCheckerUser(user.getName()); + + // 鏌ヨ瀹℃煡浜篿d + if (deviceExamineRecordDto.getReviewUserId() != null) { + User reviewUser = userMapper.selectById(deviceExamineRecordDto.getReviewUserId()); + deviceExamineRecordDto.setReviewUser(reviewUser.getName()); + } + + } + this.saveOrUpdate(deviceExamineRecordDto); + + // 鍒犻櫎鍏ㄩ儴璇︽儏 + deviceExamineRecordDetailService.remove(Wrappers.<DeviceExamineRecordDetail>lambdaQuery() + .eq(DeviceExamineRecordDetail::getRecordId, deviceExamineRecordDto.getRecordId())); + //娣诲姞璇︽儏 + if (CollectionUtils.isNotEmpty(deviceExamineRecordDto.getRecordDetailList())) { + for (DeviceExamineRecordDetail deviceExamineRecordDetail : deviceExamineRecordDto.getRecordDetailList()) { + deviceExamineRecordDetail.setRecordId(deviceExamineRecordDto.getRecordId()); + } + deviceExamineRecordDetailService.saveBatch(deviceExamineRecordDto.getRecordDetailList()); + } + + return true; + } + + + /** + * 澶嶆牳鏍告煡璁板綍 + * + * @return + */ + @Override + public boolean reviewExamineRecord(DeviceExamineRecordDto dto) { + if (dto.getPlanDetailsId() == null) { + throw new ErrorException("缂哄皯璁″垝璇︾粏淇℃伅id"); + } + LambdaUpdateWrapper<DeviceExamineRecord> wrapper = Wrappers.<DeviceExamineRecord>lambdaUpdate() + .eq(DeviceExamineRecord::getPlanDetailsId, dto.getPlanDetailsId()) + .set(DeviceExamineRecord::getReviewStatus, dto.getReviewStatus()) + .set(DeviceExamineRecord::getReviewRemark, dto.getReviewRemark()); + + // 涓�0娓呴櫎瀹℃牳浜� + if (dto.getReviewStatus().equals(0)) { + wrapper.set(DeviceExamineRecord::getReviewUserId, null) + .set(DeviceExamineRecord::getReviewUser, null); + } + + this.update(wrapper); + return true; + } + + /** + * 瀵煎嚭澶嶆牳鏍告煡璁板綍 + * + * @param planDetailsId 澶嶆牳鏍告煡璁板綍id + * @return + */ + @Override + public void exportReviewExamineRecordDetail(Integer planDetailsId, HttpServletResponse response) { + // 鏌ヨ澶嶆牳鏍告煡璁板綍 + DeviceExamineRecordDto deviceExamineRecordDto = baseMapper.selectReviewExamineRecordDto(planDetailsId); + + // 鏌ヨ澶嶆牳鏍告煡璁板綍璇︽儏 + List<DeviceExamineRecordDetail> deviceExamineRecordDetailList = deviceExamineRecordDetailService.list(Wrappers.<DeviceExamineRecordDetail>lambdaQuery().eq(DeviceExamineRecordDetail::getRecordId, deviceExamineRecordDto.getRecordId())); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/examine-record.docx"); + Configure configure = Configure.builder() + .bind("deviceExamineRecordDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceExamineRecordDto", deviceExamineRecordDto); + put("deviceExamineRecordDetailList", deviceExamineRecordDetailList); + //鑾峰彇鏍告煡浜虹殑绛惧悕鍦板潃 + put("checkerUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExamineRecordDto.getCheckerUserId())); + //鑾峰彇瀹℃煡浜虹殑绛惧悕鍦板潃 + put("reviewUserUrl", UserUtils.getFinalUserSignatureUrl(deviceExamineRecordDto.getReviewUserId())); + }}); + + try { + response.setContentType("application/msword"); + String deviceName = StringUtils.isNotEmpty(deviceExamineRecordDto.getDeviceName()) ? deviceExamineRecordDto.getDeviceName() : ""; + String fileName = URLEncoder.encode( + deviceName+ "鏍告煡璁板綍", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExternalApplyServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExternalApplyServiceImpl.java new file mode 100644 index 0000000..3797992 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceExternalApplyServiceImpl.java @@ -0,0 +1,163 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.mapper.DeviceExternalApplyMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceExternalApply; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceExternalApplyService; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; + +/** + * <p> + * 鍒╃敤澶栭儴璁惧鐢宠琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 10:28:43 + */ +@Service +public class DeviceExternalApplyServiceImpl extends ServiceImpl<DeviceExternalApplyMapper, DeviceExternalApply> implements DeviceExternalApplyService { + + @Resource + private UserMapper userMapper; + @Resource + private GetLook getLook; + + /** + * 鍒╃敤澶栭儴璁惧鐢宠鍒楄〃 + * @param page + * @param deviceExternalApply + * @return + */ + @Override + public IPage<DeviceExternalApply> pageDeviceExternalApply(Page page, DeviceExternalApply deviceExternalApply) { + return baseMapper.pageDeviceExternalApply(page, QueryWrappers.queryWrappers(deviceExternalApply)); + } + + /** + * 鏂板鍒╃敤澶栭儴璁惧鐢宠 + * @param deviceExternalApply + * @return + */ + @Override + public boolean addDeviceExternalApply(DeviceExternalApply deviceExternalApply) { + DeviceExternalApply apply = new DeviceExternalApply(); + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + switch (deviceExternalApply.getFlowType()) { + case 0: + BeanUtils.copyProperties(deviceExternalApply, apply); + // 鐢宠 + apply.setUseReason(deviceExternalApply.getUseReason()); + apply.setApplicantUserId(user.getId()); + apply.setApplicantUser(user.getName()); + apply.setApplicantDate(LocalDate.now()); + + // 澶勭悊浜轰俊鎭� + User departmentHeadUser = userMapper.selectById(deviceExternalApply.getDepartmentHeadUserId()); + apply.setApplicantUserId(departmentHeadUser.getId()); + apply.setApplicantUser(departmentHeadUser.getName()); + + baseMapper.insert(apply); + break; + case 1: + apply.setExternalApplyId(deviceExternalApply.getExternalApplyId()); + // 鐢宠閮ㄩ棬璐熻矗浜烘剰瑙� + apply.setDepartmentHeadOpinion(deviceExternalApply.getDepartmentHeadOpinion()); + apply.setDepartmentHeadDate(LocalDate.now()); + + // 璁¢噺瀹や俊鎭� + User meteringRoomUser = userMapper.selectById(deviceExternalApply.getMeteringRoomUserId()); + apply.setMeteringRoomUserId(meteringRoomUser.getId()); + apply.setMeteringRoomUser(meteringRoomUser.getName()); + + baseMapper.updateById(apply); + break; + case 2: + apply.setExternalApplyId(deviceExternalApply.getExternalApplyId()); + // 璁¢噺瀹ゆ剰瑙� + apply.setMeteringRoomOpinion(deviceExternalApply.getMeteringRoomOpinion()); + apply.setMeteringRoomDate(LocalDate.now()); + + // 鎵瑰噯浜轰俊鎭� + User approverUser = userMapper.selectById(deviceExternalApply.getApproverUserId()); + apply.setApproverUserId(approverUser.getId()); + apply.setApproverUser(approverUser.getName()); + + baseMapper.updateById(apply); + break; + case 3: + apply.setExternalApplyId(deviceExternalApply.getExternalApplyId()); + //鎵瑰噯浜� + apply.setApproverOpinion(deviceExternalApply.getApproverOpinion()); + apply.setApproverDate(LocalDate.now()); + + apply.setIsFinish(1); + baseMapper.updateById(apply); + break; + } + + return true; + } + + /** + * 瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠 + * + * @param externalApplyId 澶栭儴璁惧鐢宠id + * @param response + */ + @Override + public void exportDeviceExternalApply(Integer externalApplyId, HttpServletResponse response) { + // 鏌ヨ澶栭儴璁惧鐢宠 + DeviceExternalApply deviceAccidentReport = baseMapper.selectDeviceExternalById(externalApplyId); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-external-apply.docx"); + Configure configure = Configure.builder() + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceAccidentReport", deviceAccidentReport); + // 鐢宠浜虹鍚� + put("applicantUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getApplicantUserId())); + // 閮ㄩ棬璐熻矗浜虹鍚� + put("departmentHeadUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getDepartmentHeadUserId())); + // 璁¢噺瀹や汉绛惧悕 + put("meteringRoomUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getMeteringRoomUserId())); + // 鎵瑰噯浜虹鍚� + put("approverUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getApproverUserId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鍒╃敤澶栭儴璁惧鐢宠", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultOneServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultOneServiceImpl.java new file mode 100644 index 0000000..6a75732 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultOneServiceImpl.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.dto.DeviceFaultOneDto; +import com.yuanchu.mom.mapper.DeviceFaultOneMapper; +import com.yuanchu.mom.pojo.DeviceFaultOne; +import com.yuanchu.mom.service.DeviceFaultOneService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏁呴殰琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 02:03:29 + */ +@Service +public class DeviceFaultOneServiceImpl extends ServiceImpl<DeviceFaultOneMapper, DeviceFaultOne> implements DeviceFaultOneService { + + @Override + public IPage<DeviceFaultOneDto> deviceFaultOnePage(Integer deviceId, Page page, String processNumber) { + return baseMapper.deviceFaultOnePage(deviceId, page, processNumber); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultServiceImpl.java new file mode 100644 index 0000000..d725167 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceFaultServiceImpl.java @@ -0,0 +1,97 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.DeviceFaultService; +import com.yuanchu.mom.service.EnumService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class DeviceFaultServiceImpl extends ServiceImpl<DeviceFaultMapper, DeviceFault> implements DeviceFaultService { + + @Autowired + private DeviceMapper deviceMapper; + + @Autowired + private QrShowServiceImpl qrShowService; + + @Autowired + private DeviceMaintenanceMapper deviceMaintenanceMapper; + + @Autowired + private StructureItemParameterMapper structureItemParameterMapper; + + @Autowired + private DeviceFaultOneMapper deviceFaultOneMapper; + + @Autowired + private EnumService enumService; + + @Override + public Map<String,Object> findByDeviceId(Integer deviceId) { + Map<String,Object> map = new HashMap<>(); + if(Objects.isNull(deviceId)){ + return map; + } + //鏌ヨ璁惧涓昏〃淇℃伅 + Device device = deviceMapper.selectById(deviceId); + if(!Objects.isNull(device)){ + //鏌ヨ璁惧鏍″噯淇℃伅 + DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(device.getId(), "calibrate"); + //鏌ヨ璁惧鏍告煡淇℃伅 + DeviceMetricRecord examine = qrShowService.getDeviceMetricRecord(device.getId(), "examine"); + //鏌ヨ璁惧缁存姢璁板綍 + DeviceMaintenance deviceMaintenance = Optional.ofNullable(deviceMaintenanceMapper.selectOne(Wrappers.<DeviceMaintenance>lambdaQuery() + .eq(DeviceMaintenance::getDeviceId, device.getId()) + .orderByDesc(DeviceMaintenance::getId) + .last("limit 1"))).orElse(new DeviceMaintenance()); + //鏌ヨ璁惧鏁呴殰淇℃伅 + List<DeviceFaultOne> deviceFaultOneList = Optional.ofNullable(deviceFaultOneMapper.selectList(Wrappers.<DeviceFaultOne>lambdaQuery() + .eq(DeviceFaultOne::getDeviceId, device.getId()) + .orderByDesc(DeviceFaultOne::getId))).orElse(new ArrayList<>()); + //鏌ヨ璁惧鐘舵�佸瓧鍏� + List<Enums> deviceStatus = enumService.selectEnumByCategory("璁惧鐘舵��"); + Enums findEnum = deviceStatus.stream().filter(e-> Integer.parseInt(e.getValue()) ==device.getDeviceStatus()).findFirst().orElse(new Enums()); + map.put("progress",qrShowService.calcDeviceNextCheckRatio(calibrate.getCalibrationDate(),calibrate.getNextCalibrationDate()));//璺濈涓嬫鏍″噯鏃ユ湡鐨勫ぉ鏁扮櫨鍒嗘瘮 + map.put("deviceName",device.getDeviceName());//璁惧鍚嶇О + map.put("deviceCode",device.getManagementNumber());//璁惧缂栧彿 + map.put("usedYears",qrShowService.calcUsedYears(device.getActivationDate()));//鍚敤鏃堕暱(骞�) + map.put("deviceStatus",findEnum.getLabel());//璁惧杩愯鐘舵�� + map.put("faultCount",deviceFaultOneList.size());//鏁呴殰娆℃暟 + String faultDate = !deviceFaultOneList.isEmpty() ?qrShowService.formatDate(deviceFaultOneList.get(0).getFaultDate(),"yyyy-MM-dd"):""; + map.put("faultDate",faultDate);//鏈�杩戞晠闅滄棩鏈� + map.put("lastCalibrationDate",qrShowService.formatDate(calibrate.getCalibrationDate(),"yyyy-MM-dd"));//鏈�杩戞牎鍑嗘棩鏈� + map.put("nextCalibrationDate",qrShowService.formatDate(calibrate.getNextCalibrationDate(),"yyyy-MM-dd"));//涓嬫鏍″噯鏃ユ湡 + String calibrateStatus = "0yes".equals(calibrate.getStatus())?"鍚堟牸":"1no".equals(calibrate.getStatus())?"涓嶅悎鏍�":"鍏朵粬"; + map.put("calibrateStatus",Objects.isNull(calibrate.getCalibrationDate())?"":calibrateStatus);//鏍″噯鎬荤粨璁� + map.put("lastExamineDate",examine.getCalibrationDate());//鏈�杩戞牳鏌ユ棩鏈� + map.put("nextExamineDate",examine.getNextCalibrationDate());//涓嬫鏍告煡鏃ユ湡 + String examineStatus = "0yes".equals(examine.getStatus())?"鍚堟牸":"1no".equals(examine.getStatus())?"涓嶅悎鏍�":"鍏朵粬"; + map.put("examineStatus",Objects.isNull(examine.getCalibrationDate())?"":examineStatus);//鏍告煡鎬荤粨璁� + map.put("maintenanceDate",deviceMaintenance.getDate());//鏈�杩戠淮鎶ゆ棩鏈� + map.put("nextMaintenanceDate",deviceMaintenance.getNextDate());//涓嬫缁存姢鏃ユ湡 + String maintenanceType = ""; + if(!Objects.isNull(deviceMaintenance.getMaintenanceType())){ + maintenanceType = 0==deviceMaintenance.getMaintenanceType()?"浣跨敤鍓嶇淮鎶�":"浣跨敤鍚庣淮鎶�"; + } + map.put("maintenanceType",maintenanceType);//缁存姢鎬荤粨璁� + //娴嬮噺椤圭洰 + String insProduct = ""; + if(StringUtils.isNotBlank(device.getInsProductIds())){ + String[] ids = device.getInsProductIds().split(","); + List<StructureItemParameter> parameters = structureItemParameterMapper.selectBatchIds(Arrays.asList(ids)); + List<String> itemList = parameters.stream().map(StructureItemParameter::getInspectionItem).distinct().collect(Collectors.toList()); + insProduct = String.join(",",itemList); + } + map.put("insProduct",insProduct);//娴嬮噺椤圭洰 + } + return map; + } +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordDetailsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordDetailsServiceImpl.java new file mode 100644 index 0000000..36b279f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordDetailsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceInspectionRecordDetailsMapper; +import com.yuanchu.mom.pojo.DeviceInspectionRecordDetails; +import com.yuanchu.mom.service.DeviceInspectionRecordDetailsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:27:32 + */ +@Service +public class DeviceInspectionRecordDetailsServiceImpl extends ServiceImpl<DeviceInspectionRecordDetailsMapper, DeviceInspectionRecordDetails> implements DeviceInspectionRecordDetailsService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordServiceImpl.java new file mode 100644 index 0000000..801c07f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceInspectionRecordServiceImpl.java @@ -0,0 +1,223 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceInspectionRecordDto; +import com.yuanchu.mom.mapper.DeviceInspectionRecordMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceInspectionRecord; +import com.yuanchu.mom.pojo.DeviceInspectionRecordDetails; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceInspectionRecordDetailsService; +import com.yuanchu.mom.service.DeviceInspectionRecordService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 璁惧鐐规璁板綍琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 04:25:14 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceInspectionRecordServiceImpl extends ServiceImpl<DeviceInspectionRecordMapper, DeviceInspectionRecord> implements DeviceInspectionRecordService { + @Resource + private UserMapper userMapper; + @Resource + private GetLook getLook; + @Resource + private DeviceMapper deviceMapper; + @Resource + private DeviceInspectionRecordDetailsService deviceInspectionRecordDetailsService; + + /** + * 鍒嗛〉鏌ヨ璁惧鐐规璁板綍 + * + * @param page 褰撳墠椤电爜 + */ + @Override + public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecordDto) { + IPage<DeviceInspectionRecord> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceInspectionRecordDto)); + return Result.success(iPage); + } + + + /** + * 鏌ヨ鐐规璇︽儏 + * @param inspectionRecordId + * @return + */ + @Override + public Result getDeviceInspectionRecord(Integer inspectionRecordId) { + DeviceInspectionRecord deviceInspectionRecord = baseMapper.selectById(inspectionRecordId); + DeviceInspectionRecordDto dto = new DeviceInspectionRecordDto(); + BeanUtils.copyProperties(deviceInspectionRecord, dto); + List<DeviceInspectionRecordDetails> list = deviceInspectionRecordDetailsService.list(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, inspectionRecordId)); + dto.setDetails(list); + return Result.success(dto); + } + + /** + * 鏂板璁惧鐐规璁板綍 + * + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Result addDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord) { + + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + deviceInspectionRecord.setRecorderId(userId); + deviceInspectionRecord.setRecorder(user.getName()); + + // 鏌ヨ澶嶆牳浜篿d + if (deviceInspectionRecord.getReviewerId() != null) { + User reviewUser = userMapper.selectById(deviceInspectionRecord.getReviewerId()); + deviceInspectionRecord.setReviewer(reviewUser.getName()); + } + this.saveOrUpdate(deviceInspectionRecord); + if (CollectionUtils.isNotEmpty(deviceInspectionRecord.getDetails())) { + for (DeviceInspectionRecordDetails detail : deviceInspectionRecord.getDetails()) { + detail.setInspectionRecordId(deviceInspectionRecord.getInspectionRecordId()); + } + deviceInspectionRecordDetailsService.saveBatch( deviceInspectionRecord.getDetails()); + } + + return Result.success(); + } + + + /** + * 淇敼璁惧鐐规璁板綍 + * + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + @Override + public Result updateInspectionRecordAndDetails(DeviceInspectionRecordDto deviceInspectionRecord) { + // 鏌ヨ澶嶆牳浜篿d + if (deviceInspectionRecord.getReviewerId() != null) { + User reviewUser = userMapper.selectById(deviceInspectionRecord.getReviewerId()); + deviceInspectionRecord.setReviewer(reviewUser.getName()); + } + this.saveOrUpdate(deviceInspectionRecord); + deviceInspectionRecordDetailsService.remove(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecord.getInspectionRecordId())); + if (CollectionUtils.isNotEmpty(deviceInspectionRecord.getDetails())) { + for (DeviceInspectionRecordDetails detail : deviceInspectionRecord.getDetails()) { + detail.setInspectionRecordId(deviceInspectionRecord.getInspectionRecordId()); + } + deviceInspectionRecordDetailsService.saveBatch( deviceInspectionRecord.getDetails()); + } + return Result.success(); + } + + /** + * 鍒犻櫎璁惧鐐规璁板綍 + * + * @param deviceInspectionRecord 璁惧鐐规璁板綍 + */ + @Override + public Result deleteDeviceInspectionRecordOrDetails(DeviceInspectionRecordDto deviceInspectionRecord) { + this.removeById(deviceInspectionRecord); + deviceInspectionRecordDetailsService.remove(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecord.getInspectionRecordId())); + return Result.success(); + } + + /** + * 澶嶆牳鐐规璁板綍 + * @param dto + * @return + */ + @Override + public Result reviewDeviceInspectionRecord(DeviceInspectionRecordDto dto) { + LambdaUpdateWrapper<DeviceInspectionRecord> wrapper = Wrappers.<DeviceInspectionRecord>lambdaUpdate() + .eq(DeviceInspectionRecord::getInspectionRecordId, dto.getInspectionRecordId()) + .set(DeviceInspectionRecord::getStatus, dto.getStatus()) + .set(DeviceInspectionRecord::getReviewerRemark, dto.getReviewerRemark()); + + // 涓�0娓呴櫎瀹℃牳浜� + if (dto.getStatus().equals(0)) { + wrapper.set(DeviceInspectionRecord::getReviewerId, null) + .set(DeviceInspectionRecord::getReviewer, null); + } + this.update(wrapper); + + return Result.success(); + } + + /** + * 瀵煎嚭璁惧鐐规璁板綍 + * + * @param deviceInspectionRecordId 璁惧鐐规璁板綍id + * @param response 鍝嶅簲 + */ + @Override + public Result exportDeviceInspectionRecord(Integer deviceInspectionRecordId, HttpServletResponse response) { + DeviceInspectionRecord deviceInspectionRecord = baseMapper.selectById(deviceInspectionRecordId); + DeviceInspectionRecordDto deviceInspectionRecordDto = new DeviceInspectionRecordDto(); + BeanUtils.copyProperties(deviceInspectionRecord, deviceInspectionRecordDto); + DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + deviceInspectionRecordDto.setTestDateString(deviceInspectionRecord.getTestDate() == null ? null : deviceInspectionRecord.getTestDate().format(dateFormatter)); + + List<DeviceInspectionRecordDetails> deviceInspectionRecordDetailsList = deviceInspectionRecordDetailsService.list(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecordId)); + + Integer deviceId = deviceInspectionRecord.getDeviceId(); + + Device device = deviceMapper.selectById(deviceId); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-inspection-record.docx"); + Configure configure = Configure.builder() + .bind("deviceInspectionRecordDetailsList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceInspectionRecord", deviceInspectionRecordDto); + put("deviceInspectionRecordDetailsList", deviceInspectionRecordDetailsList); + put("device", device); + put("recorderUrl", UserUtils.getFinalUserSignatureUrl(deviceInspectionRecordDto.getRecorderId())); + put("reviewerUrl", UserUtils.getFinalUserSignatureUrl(deviceInspectionRecordDto.getReviewerId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + device.getDeviceName() + "鐐规璁板綍", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLeaseServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLeaseServiceImpl.java new file mode 100644 index 0000000..1fac358 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLeaseServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceLeaseMapper; +import com.yuanchu.mom.pojo.DeviceLease; +import com.yuanchu.mom.service.IDeviceLeaseService; +import org.springframework.stereotype.Service; + +@Service +public class DeviceLeaseServiceImpl extends ServiceImpl<DeviceLeaseMapper, DeviceLease> implements IDeviceLeaseService { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLogServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLogServiceImpl.java new file mode 100644 index 0000000..91e1365 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceLogServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceLogMapper; +import com.yuanchu.mom.pojo.DeviceLog; +import com.yuanchu.mom.service.IDeviceLogService; +import org.springframework.stereotype.Service; + +@Service +public class DeviceLogServiceImpl extends ServiceImpl<DeviceLogMapper, DeviceLog> implements IDeviceLogService { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenanceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenanceImpl.java new file mode 100644 index 0000000..a40ab69 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenanceImpl.java @@ -0,0 +1,97 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.excel.DeviceMaintenanceExport; +import com.yuanchu.mom.mapper.DeviceMaintenanceMapper; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.pojo.DeviceMaintenance; +import com.yuanchu.mom.service.DeviceMaintenanceService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; + +@Service +public class DeviceMaintenanceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements DeviceMaintenanceService { + @Resource + DeviceMaintenanceMapper deviceMaintenanceMapper; + @Resource + private DeviceMapper deviceMapper; + + @Override + public IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber) { + return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() + .eq(DeviceMaintenance::getDeviceId, deviceId) + .like(DeviceMaintenance::getDeviceNumber, deviceNumber)); + } + + @Override + public List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId) { + return baseMapper.deviceMaintenanceExport(deviceId); + } + + @Override + public void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response) { + // 鏌ヨcnas璁惧缁翠慨璁板綍 + List<DeviceMaintenance> deviceMaintenanceList = baseMapper.selectList(Wrappers.<DeviceMaintenance>lambdaQuery() + .eq(DeviceMaintenance::getDeviceId, deviceId) + .select(DeviceMaintenance::getDate, + DeviceMaintenance::getDeviceNumber, + DeviceMaintenance::getDeviceName, + DeviceMaintenance::getManagementNumber, + DeviceMaintenance::getContent, + DeviceMaintenance::getName, + DeviceMaintenance::getComments)); + + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/maintenance-records.docx"); + Configure configure = Configure.builder() + .bind("deviceMaintenanceList", new HackLoopTableRenderPolicy()) + .build(); + // 鑾峰彇璁惧 鍚嶇О 鍜� 缂栧彿 + DeviceMaintenance deviceMaintenance = deviceMaintenanceList.get(0); + String deviceName = deviceMaintenance.getDeviceName(); + String managementNumber = deviceMaintenance.getManagementNumber(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceMaintenanceList", deviceMaintenanceList); + put("deviceName", deviceName); + put("managementNumber", managementNumber); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧缁存姢淇濆吇璁板綍", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +// @Override +// public List<DeviceMaintenance> getDeviceMaintenanceParam() { +// Map<String, Object> map = new HashMap<>(); +// map.put("head",PrintChina.printChina(DeviceMaintenance.class)); +// IPage<DeviceMaintenance> iPage = deviceMaintenanceMapper.getDeviceMaintenanceParam(page, QueryWrappers.queryWrappers(itemParameter)); +// map.put("body",page); +// return deviceMaintenanceMapper.getDeviceMaintenanceParam(); +// } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanDetailsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanDetailsServiceImpl.java new file mode 100644 index 0000000..ee45b41 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanDetailsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceMaintenancePlanDetailsMapper; +import com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails; +import com.yuanchu.mom.service.DeviceMaintenancePlanDetailsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧淇濆吇璁″垝璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:11:46 + */ +@Service +public class DeviceMaintenancePlanDetailsServiceImpl extends ServiceImpl<DeviceMaintenancePlanDetailsMapper, DeviceMaintenancePlanDetails> implements DeviceMaintenancePlanDetailsService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java new file mode 100644 index 0000000..81ca79f --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMaintenancePlanServiceImpl.java @@ -0,0 +1,239 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDetailsDto; +import com.yuanchu.mom.dto.DeviceMaintenancePlanDto; +import com.yuanchu.mom.mapper.DeviceMaintenancePlanDetailsMapper; +import com.yuanchu.mom.mapper.DeviceMaintenancePlanMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceMaintenancePlan; +import com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceMaintenancePlanDetailsService; +import com.yuanchu.mom.service.DeviceMaintenancePlanService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.vo.Result; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 璁惧淇濆吇璁″垝琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-16 06:10:52 + */ +@Service +public class DeviceMaintenancePlanServiceImpl extends ServiceImpl<DeviceMaintenancePlanMapper, DeviceMaintenancePlan> implements DeviceMaintenancePlanService { + + @Resource + private DeviceMaintenancePlanDetailsService deviceMaintenancePlanDetailsService; + + @Resource + private DeviceMaintenancePlanDetailsMapper deviceMaintenancePlanDetailsMapper; + + @Resource + private GetLook getLook; + + @Resource + private UserMapper userMapper; + + /** + * 鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝 + * + * @param page + * @return + */ + @Override + public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(IPage page, DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + IPage<DeviceMaintenancePlan> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceMaintenancePlanDto)); + return Result.success(iPage); + } + + /** + * 鏂板璁惧淇濆吇璁″垝 + * + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @Override + public Result addMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + deviceMaintenancePlanDto.setCompilerId(userId); + deviceMaintenancePlanDto.setCompiler(user.getName()); + deviceMaintenancePlanDto.setDatePreparation(LocalDateTime.now()); + + // 鏌ヨ瀹℃牳浜篿d + if (deviceMaintenancePlanDto.getAuditId() != null) { + User auditUser = userMapper.selectById(deviceMaintenancePlanDto.getAuditId()); + deviceMaintenancePlanDto.setAudit(auditUser.getName()); + } + this.saveOrUpdate(deviceMaintenancePlanDto); + + // 璇︽儏璧嬪�煎苟淇濆瓨 + List<DeviceMaintenancePlanDetailsDto> deviceMaintenancePlanDetails = deviceMaintenancePlanDto.getDeviceMaintenancePlanDetails(); + if (CollectionUtils.isNotEmpty(deviceMaintenancePlanDetails)) { // 璇︽儏涓嶄负绌� + List<DeviceMaintenancePlanDetails> collect = deviceMaintenancePlanDetails.stream().map(deviceMaintenancePlanDetail -> { // 閬嶅巻璇︽儏 + deviceMaintenancePlanDetail.setDeviceId(deviceMaintenancePlanDto.getDeviceId()); // 璁惧ID + deviceMaintenancePlanDetail.setMaintenancePlanId(deviceMaintenancePlanDto.getMaintenancePlanId()); // 淇濆吇璁″垝ID + DeviceMaintenancePlanDetails planDetails = new DeviceMaintenancePlanDetails(); + BeanUtils.copyProperties(deviceMaintenancePlanDetail, planDetails); + return planDetails; + }).collect(Collectors.toList()); + deviceMaintenancePlanDetailsService.saveBatch(collect); + } + + return Result.success(); + } + + /** + * 淇敼璁惧淇濆吇璁″垝 + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @Override + public Result updateMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + // 鏌ヨ瀹℃牳浜篿d + if (deviceMaintenancePlanDto.getAuditId() != null) { + User auditUser = userMapper.selectById(deviceMaintenancePlanDto.getAuditId()); + deviceMaintenancePlanDto.setAudit(auditUser.getName()); + } + this.saveOrUpdate(deviceMaintenancePlanDto); + + // 鍒犻櫎鍘熸湰鐨勮鎯� + deviceMaintenancePlanDetailsService.remove(Wrappers.<DeviceMaintenancePlanDetails>lambdaQuery().eq(DeviceMaintenancePlanDetails::getMaintenancePlanId, deviceMaintenancePlanDto.getMaintenancePlanId())); + // 璇︽儏璧嬪�煎苟淇濆瓨 + List<DeviceMaintenancePlanDetailsDto> deviceMaintenancePlanDetails = deviceMaintenancePlanDto.getDeviceMaintenancePlanDetails(); + if (CollectionUtils.isNotEmpty(deviceMaintenancePlanDetails)) { // 璇︽儏涓嶄负绌� + List<DeviceMaintenancePlanDetails> collect = deviceMaintenancePlanDetails.stream().map(deviceMaintenancePlanDetail -> { // 閬嶅巻璇︽儏 + deviceMaintenancePlanDetail.setDeviceId(deviceMaintenancePlanDto.getDeviceId()); // 璁惧ID + deviceMaintenancePlanDetail.setMaintenancePlanId(deviceMaintenancePlanDto.getMaintenancePlanId()); // 淇濆吇璁″垝ID + DeviceMaintenancePlanDetails planDetails = new DeviceMaintenancePlanDetails(); + BeanUtils.copyProperties(deviceMaintenancePlanDetail, planDetails); + return planDetails; + }).collect(Collectors.toList()); + deviceMaintenancePlanDetailsService.saveBatch(collect); + } + return Result.success(); + } + + /** + * 鍒犻櫎璁惧淇濆吇璁″垝 + * + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @Override + public Result deleteMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + this.removeById(deviceMaintenancePlanDto); + deviceMaintenancePlanDetailsService.remove(Wrappers.<DeviceMaintenancePlanDetails>lambdaQuery().eq(DeviceMaintenancePlanDetails::getMaintenancePlanId, deviceMaintenancePlanDto.getMaintenancePlanId())); + return Result.success(); + } + + /** + * 瀵煎嚭璁惧淇濆吇璁″垝 + * + * @param maintenancePlanId 璁惧淇濆吇璁″垝id + * @param response 鍝嶅簲 + */ + @Override + public Result exportDeviceMaintenancePlanDto(Integer maintenancePlanId, HttpServletResponse response) { + // 鏌ヨ璁惧淇濆吇璁″垝 + DeviceMaintenancePlanDto deviceMaintenancePlan = baseMapper.selectMaintenancePlanById(maintenancePlanId); + + // 鏌ヨ璁惧淇濆吇璁″垝璇︽儏 + List<DeviceMaintenancePlanDetailsDto> deviceMaintenancePlanDetailsDtoList = deviceMaintenancePlanDetailsMapper.deviceInspectionRecordDetailsList(maintenancePlanId); + // 璁剧疆搴忓彿 + deviceMaintenancePlanDetailsDtoList.forEach(deviceInspectionRecordDetails -> { + deviceInspectionRecordDetails.setIndex(deviceMaintenancePlanDetailsDtoList.indexOf(deviceInspectionRecordDetails) + 1); + }); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/maintenance-plan.docx"); + Configure configure = Configure.builder() + .bind("deviceMaintenancePlanDetailsDtoList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceMaintenancePlan", deviceMaintenancePlan); + put("deviceMaintenancePlanDetailsDtoList", deviceMaintenancePlanDetailsDtoList); + // 缂栧埗浜虹鍚嶅湴鍧� + put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceMaintenancePlan.getCompilerId())); + // 瀹℃牳浜虹鍚嶅湴鍧� + put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceMaintenancePlan.getAuditId())); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧淇濆吇璁″垝琛�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + return Result.success(); + } + + /** + * 鏌ヨ璁惧淇濆吇璁″垝璇︽儏 + * + * @param maintenancePlanId 璁惧淇濆吇璁″垝id + */ + @Override + public Result<DeviceMaintenancePlanDto> getMaintenancePlanDetail(Integer maintenancePlanId) { + // 鏌ヨ璁惧淇濆吇璁″垝 + DeviceMaintenancePlan deviceMaintenancePlan = baseMapper.selectById(maintenancePlanId); + // 鏌ヨ璇︽儏 + DeviceMaintenancePlanDto deviceMaintenancePlanDto = new DeviceMaintenancePlanDto(); + BeanUtils.copyProperties(deviceMaintenancePlan, deviceMaintenancePlanDto); + deviceMaintenancePlanDto.setDeviceMaintenancePlanDetails(deviceMaintenancePlanDetailsMapper.deviceInspectionRecordDetailsList(maintenancePlanId)); + return Result.success(deviceMaintenancePlanDto); + } + + /** + * 瀹℃牳璁惧淇濆吇璁″垝 + * + * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 + */ + @Override + public Result reviewMaintenancePlanStatus(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + LambdaUpdateWrapper<DeviceMaintenancePlan> wrapper = Wrappers.<DeviceMaintenancePlan>lambdaUpdate() + .eq(DeviceMaintenancePlan::getMaintenancePlanId, deviceMaintenancePlanDto.getMaintenancePlanId()) + .set(DeviceMaintenancePlan::getStatus, deviceMaintenancePlanDto.getStatus()) // 瀹℃牳鐘舵�� + .set(DeviceMaintenancePlan::getAuditRemark, deviceMaintenancePlanDto.getAuditRemark());// 瀹℃牳澶囨敞 + + // 涓�0娓呴櫎瀹℃牳浜� + if (deviceMaintenancePlanDto.getStatus().equals(0)) { + wrapper.set(DeviceMaintenancePlan::getAuditId, null) + .set(DeviceMaintenancePlan::getAudit, null); + } + this.update(wrapper); // 鏇存柊 + return Result.success(); + } + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricRecordServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricRecordServiceImpl.java new file mode 100644 index 0000000..51cc359 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceMetricRecordMapper; +import com.yuanchu.mom.pojo.DeviceMetricRecord; +import com.yuanchu.mom.service.DeviceMetricRecordService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:01 + */ +@Service +public class DeviceMetricRecordServiceImpl extends ServiceImpl<DeviceMetricRecordMapper, DeviceMetricRecord> implements DeviceMetricRecordService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricServiceImpl.java new file mode 100644 index 0000000..0de34e0 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceMetricMapper; +import com.yuanchu.mom.pojo.DeviceMetric; +import com.yuanchu.mom.service.IDeviceMetricService; +import org.springframework.stereotype.Service; + +@Service +public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricsCopyServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricsCopyServiceImpl.java new file mode 100644 index 0000000..3aba303 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceMetricsCopyServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceMetricsCopyMapper; +import com.yuanchu.mom.pojo.DeviceMetricsCopy; +import com.yuanchu.mom.service.DeviceMetricsCopyService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-27 10:20:11 + */ +@Service +public class DeviceMetricsCopyServiceImpl extends ServiceImpl<DeviceMetricsCopyMapper, DeviceMetricsCopy> implements DeviceMetricsCopyService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java new file mode 100644 index 0000000..f043077 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceRecordServiceImpl.java @@ -0,0 +1,142 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceRecordDto; +import com.yuanchu.mom.dto.DeviceRecordExportWord; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.DeviceRecordMapper; +import com.yuanchu.mom.mapper.LaboratoryMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceRecord; +import com.yuanchu.mom.service.DeviceRecordService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Service +public class DeviceRecordServiceImpl extends ServiceImpl<DeviceRecordMapper, DeviceRecord> implements DeviceRecordService { + @Resource + private LaboratoryMapper laboratoryMapper; + @Resource + private DeviceMapper deviceMapper; + @Resource + private GetLook getLook; + + @Override + public IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber) { + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("deviceRecordPage"); + Integer userId = null; + if (map1.get("look") == 1) { + //涓汉 + userId = map1.get("userId"); + } + + return baseMapper.deviceRecordPage(deviceId, page, sampleCode, managementNumber, userId); + } + + + @Override + public void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response) { + // 鏌ヨcnas璁惧浣跨敤璁板綍 + List<DeviceRecord> deviceList = baseMapper.selectExportList(deviceId, exportDate); + // 璁惧淇℃伅 + Device device = deviceMapper.selectById(deviceId); + + + // 鏌ヨ璁惧灞炰簬鍝釜瀹為獙瀹� + String laboratoryName = "瑁呭绾跨紗瀹為獙瀹�"; + + // 瑕佹槧灏勫埌word鏁版嵁 + List<DeviceRecordExportWord> deviceExportList = new ArrayList<>(); + // deviceExportList 璧嬪�� + for (DeviceRecord deviceRecord : deviceList) { + // 澶勭悊璁惧 寮�濮嬩娇鐢ㄦ椂闂� 鍜� 缁撴潫鏃堕棿 + String startTime = ""; + String endTime = ""; + String operationDate = ""; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + if (deviceRecord.getUseStartDate() != null) { + startTime = deviceRecord.getUseStartDate().format(formatter); + endTime = deviceRecord.getUseEndDate().format(formatter); + String[] startTimeSplit = startTime.split(" "); + String[] endTimeSplit = endTime.split(" "); + startTime = startTimeSplit[1]; + if (startTimeSplit[0].equals(endTimeSplit[0])) { + endTime = endTimeSplit[1]; + } else { + endTime = endTimeSplit[0] + '\n' + endTimeSplit[1]; + } + DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy.M.d"); + operationDate = deviceRecord.getUseStartDate().format(formatter2); + } + // 澶勭悊浣跨敤鍓嶅拰浣跨敤鍚� + String useBeforeString = deviceRecord.getUseBefore() == 0? "寮傚父" : "鑹ソ"; + String useAfterString = deviceRecord.getUseAfter() == 0 ? "寮傚父" : "鑹ソ"; + + DeviceRecordExportWord deviceRecordExportWord = new DeviceRecordExportWord(); + // 杩涜璧嬪�� + BeanUtils.copyProperties(deviceRecord, deviceRecordExportWord); + deviceRecordExportWord.setUseBeforeString(useBeforeString); // 浣跨敤鍓� + deviceRecordExportWord.setUseAfterString(useAfterString); // 浣跨敤鍚� + deviceRecordExportWord.setOperationDate(operationDate); // 璁惧鎿嶄綔鏃ユ湡 + deviceRecordExportWord.setUseStartDateString(startTime); // 寮�濮嬫椂闂� + deviceRecordExportWord.setUseEndDateString(endTime); // 缁撴潫鏃堕棿 + deviceExportList.add(deviceRecordExportWord); + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/use-record.docx"); + Configure configure = Configure.builder() + .bind("useRecord", new HackLoopTableRenderPolicy()) + .build(); + String deviceName = device.getDeviceName(); + String managementNumber = device.getManagementNumber(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("useRecord", deviceExportList); + put("deviceName", deviceName); + put("managementNumber", managementNumber); + put("laboratory", laboratoryName); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "浠櫒浣跨敤璁板綍琛�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceScrappedServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceScrappedServiceImpl.java new file mode 100644 index 0000000..ffccb7d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceScrappedServiceImpl.java @@ -0,0 +1,181 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceScrappedDto; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.DeviceScrappedMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.pojo.DeviceScrapped; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceScrappedService; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.vo.Result; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; + +/** + * <p> + * 璁惧鎶ュ簾鐢宠琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-17 01:53:47 + */ +@Service +public class DeviceScrappedServiceImpl extends ServiceImpl<DeviceScrappedMapper, DeviceScrapped> implements DeviceScrappedService { + + @Resource + private DeviceMapper deivceMapper; + @Resource + private UserMapper userMapper; + @Resource + private GetLook getLook; + + + /** + * 璁惧鎶ュ簾鐢宠鍒楄〃 + * + * @param deviceScrapped + * @return + */ + @Override + public IPage<DeviceScrapped> pageDeviceScrapped(Page page, DeviceScrapped deviceScrapped) { + return baseMapper.pageDeviceScrapped(page, QueryWrappers.queryWrappers(deviceScrapped)); + } + + /** + * 鏂板璁惧鎶ュ簾鐢宠 + * + * @return + */ + @Override + public boolean addDeviceScrapped(DeviceScrapped deviceScrapped) { + DeviceScrapped scrapped = new DeviceScrapped(); + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + switch (deviceScrapped.getFlowType()) { + case 0: + BeanUtils.copyProperties(deviceScrapped, scrapped); + // 鐢宠 + scrapped.setReasonsForScrap(deviceScrapped.getReasonsForScrap()); + scrapped.setApplicantUserId(user.getId()); + scrapped.setApplicantUser(user.getName()); + scrapped.setApplicantDate(LocalDate.now()); + + // 澶勭悊浜轰俊鎭� + User departmentHeadUser = userMapper.selectById(deviceScrapped.getDepartmentHeadUserId()); + scrapped.setApplicantUserId(departmentHeadUser.getId()); + scrapped.setApplicantUser(departmentHeadUser.getName()); + + baseMapper.insert(scrapped); + break; + case 1: + scrapped.setScrappedId(deviceScrapped.getScrappedId()); + // 鐢宠閮ㄩ棬璐熻矗浜烘剰瑙� + scrapped.setDepartmentHeadOpinion(deviceScrapped.getDepartmentHeadOpinion()); + scrapped.setDepartmentHeadDate(LocalDate.now()); + + // 璁¢噺瀹や俊鎭� + User meteringRoomUser = userMapper.selectById(deviceScrapped.getMeteringRoomUserId()); + scrapped.setMeteringRoomUserId(meteringRoomUser.getId()); + scrapped.setMeteringRoomUser(meteringRoomUser.getName()); + + baseMapper.updateById(scrapped); + break; + case 2: + scrapped.setScrappedId(deviceScrapped.getScrappedId()); + // 璁¢噺瀹ゆ剰瑙� + scrapped.setMeteringRoomOpinion(deviceScrapped.getMeteringRoomOpinion()); + scrapped.setMeteringRoomDate(LocalDate.now()); + + // 鎵瑰噯浜轰俊鎭� + User approverUser = userMapper.selectById(deviceScrapped.getApproverUserId()); + scrapped.setApproverUserId(approverUser.getId()); + scrapped.setApproverUser(approverUser.getName()); + + baseMapper.updateById(scrapped); + break; + case 3: + scrapped.setScrappedId(deviceScrapped.getScrappedId()); + //鎵瑰噯浜� + scrapped.setApproverOpinion(deviceScrapped.getApproverOpinion()); + scrapped.setApproverDate(LocalDate.now()); + scrapped.setIsFinish(1); + baseMapper.updateById(scrapped); + break; + } + + return true; + } + + /** + * 瀵煎嚭璁惧鎶ュ簾鐢宠 + * + * @param scrappedId 璁惧鎶ュ簾鐢宠id + * @param response 鍝嶅簲 + * @return 缁撴灉 + */ + @Override + public Result<?> exportDeviceScrapped(Integer scrappedId, HttpServletResponse response) { + // 鏌ヨ鎶ュ簾鏁版嵁 + DeviceScrappedDto deviceScrapped = baseMapper.selectDeviceScrappedById(scrappedId); + if (deviceScrapped == null) { + return Result.fail("璁惧鎶ュ簾鐢宠涓嶅瓨鍦�"); + } + Device device = null; + if (deviceScrapped.getDeviceId() != null) { + device = deivceMapper.selectById(deviceScrapped.getDeviceId()); + device = device == null ? new Device() : device; + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-scrapped.docx"); + Configure configure = Configure.builder() + .build(); + Device finalDevice = device; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceScrapped", deviceScrapped); + put("device", finalDevice); + // 鐢宠浜虹鍚� + put("applicantUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getApplicantUserId())); + // 閮ㄩ棬璐熻矗浜虹鍚� + put("headUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getDepartmentHeadUserId())); + // 璁¢噺瀹ょ鍚� + put("metrologyRoomUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getMeteringRoomUserId())); + // 鎵瑰噯浜虹鍚� + put("approverUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getApproverUserId())); + }}); + + try { + response.setContentType("application/msword"); + String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); + String fileName = URLEncoder.encode( + deviceName + "璁惧鎶ュ簾鐢宠", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + return Result.success(); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java index 616b615..d6abe8c 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java @@ -62,12 +62,12 @@ } @Override - public Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter) { + public Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter,Boolean laboratoryNameIsNull) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(DeviceDto.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDeviceParameter"); if (map1.get("look") == 1) itemParameter.setCreateUser(map1.get("userId")); - IPage<DeviceDto> iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter)); + IPage<DeviceDto> iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter),laboratoryNameIsNull); map.put("body", iPage); return map; } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceStateServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceStateServiceImpl.java new file mode 100644 index 0000000..fad8214 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceStateServiceImpl.java @@ -0,0 +1,159 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.DeviceStateDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DeviceStateMapper; +import com.yuanchu.mom.mapper.LaboratoryMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceState; +import com.yuanchu.mom.pojo.Laboratory; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceStateService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; + +/** + * <p> + * 璁惧鍋滅敤/鍚敤 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-09-26 09:51:40 + */ +@Service +public class DeviceStateServiceImpl extends ServiceImpl<DeviceStateMapper, DeviceState> implements DeviceStateService { + + @Resource + private LaboratoryMapper laboratoryMapper; + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber) { + return baseMapper.getDeviceStatePage(deviceId, page, processNumber); + } + + @Override + public void exportDeviceStatus(Integer deviceId, String processNumber, HttpServletResponse response) { + // 鏍规嵁娴佺▼缂栧彿 鏌ヨcnas璁惧鐘舵�� + DeviceStateDto deviceStateDto = baseMapper.getDeviceStatePage(deviceId,new Page<DeviceStateDto>(1,1), processNumber).getRecords().get(0); + + // 瀵规椂闂磋繘琛屼慨鏀� + DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + deviceStateDto.setSubmitDateString(deviceStateDto.getSubmitDate() != null ? deviceStateDto.getSubmitDate().format(format) : " 骞� 鏈� 鏃�"); + deviceStateDto.setDepartmentDateString(deviceStateDto.getDepartmentDate() != null? deviceStateDto.getDepartmentDate().format(format) : " 骞� 鏈� 鏃�"); + deviceStateDto.setMeasuringRoomDateString(deviceStateDto.getMeasuringRoomDate() != null? deviceStateDto.getMeasuringRoomDate().format(format) : " 骞� 鏈� 鏃�"); + deviceStateDto.setApprovalDateString(deviceStateDto.getApprovalDate() != null? deviceStateDto.getApprovalDate().format(format) : " 骞� 鏈� 鏃�"); + + // 鏌ヨ璁惧灞炰簬鍝釜瀹為獙瀹� + String laboratoryName; + String largeCategory = deviceStateDto.getLargeCategory(); + if (StringUtils.isNotBlank(largeCategory)) { + largeCategory = largeCategory.substring(0, 1); + Laboratory laboratory = laboratoryMapper.selectOne(Wrappers.<Laboratory>lambdaQuery() + .eq(Laboratory::getLaboratoryNumber, largeCategory) + .select(Laboratory::getLaboratoryName)); + laboratoryName = laboratory.getLaboratoryName(); + } else { + laboratoryName = ""; + } + + //todo: 璁惧鐘舵�佹煡璇㈢鍚嶅湴鍧� 鏆傛椂浜哄悕鏌ヨ + //鑾峰彇鐢宠浜虹殑绛惧悕鍦板潃 + String applicantUrl = null; + if (deviceStateDto.getSubmitOperatingPersonnel() != null) { + applicantUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, deviceStateDto.getSubmitOperatingPersonnel())) + .getSignatureUrl(); + if (StringUtils.isBlank(applicantUrl)) { + throw new ErrorException("鎵句笉鍒扮敵璇蜂汉鐨勭鍚�"); + } + } + + //鑾峰彇閮ㄩ棬璐熻矗浜虹殑绛惧悕鍦板潃 + String headOfDepartmentUrl = null; + if (deviceStateDto.getDepartmentNextPesponsible() != null) { + headOfDepartmentUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, deviceStateDto.getDepartmentNextPesponsible())) + .getSignatureUrl(); + if (StringUtils.isBlank(headOfDepartmentUrl)) { + throw new ErrorException("鎵句笉鍒伴儴闂ㄨ礋璐d汉鐨勭鍚�"); + } + } + + //鑾峰彇璁¢噺瀹ゅ娴嬩汉鐨勭鍚嶅湴鍧� + String measurementRoomUrl = null; + if (deviceStateDto.getMeasuringRoomNextPesponsible() != null) { + measurementRoomUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, deviceStateDto.getMeasuringRoomNextPesponsible())) + .getSignatureUrl(); + if (StringUtils.isBlank(measurementRoomUrl)) { + throw new ErrorException("鎵句笉鍒拌閲忓澶嶆祴浜虹殑绛惧悕"); + } + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String approvedUrl = null; + if (deviceStateDto.getApprovalNextPesponsible() != null) { + approvedUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, deviceStateDto.getApprovalNextPesponsible())) + .getSignatureUrl(); + if (StringUtils.isBlank(approvedUrl)) { + throw new ErrorException("鎵句笉鍒版壒鍑嗕汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-status.docx"); + Configure configure = Configure.builder() + .build(); + String finalApplicantUrl = applicantUrl; // 鐢宠浜虹殑绛惧悕鍦板潃 + String finalHeadOfDepartmentUrl = headOfDepartmentUrl; // 閮ㄩ棬璐熻矗浜虹殑绛惧悕鍦板潃 + String finalMeasurementRoomUrl = measurementRoomUrl; // 璁¢噺瀹ゅ娴嬩汉鐨勭鍚嶅湴鍧� + String finalApprovedUrl = approvedUrl; // 鎵瑰噯浜虹殑绛惧悕鍦板潃 + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceStateDto", deviceStateDto); + put("submitOperatingPersonnelUrl", StringUtils.isNotBlank(finalApplicantUrl) ? Pictures.ofLocal(imgUrl + "/" + finalApplicantUrl).create() : null); + put("departmentNextPesponsibleUrl", StringUtils.isNotBlank(finalHeadOfDepartmentUrl) ? Pictures.ofLocal(imgUrl + "/" + finalHeadOfDepartmentUrl).create() : null); + put("measuringRoomNextPesponsibleUrl", StringUtils.isNotBlank(finalMeasurementRoomUrl) ? Pictures.ofLocal(imgUrl + "/" + finalMeasurementRoomUrl).create() : null); + put("approvalNextPesponsibleUrl", StringUtils.isNotBlank(finalApprovedUrl) ? Pictures.ofLocal(imgUrl + "/" + finalApprovedUrl).create() : null); + put("laboratory", laboratoryName); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧缁存姢淇濆吇璁板綍", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementDetailsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementDetailsServiceImpl.java new file mode 100644 index 0000000..a4a3903 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementDetailsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DeviceTraceabilityManagementDetailsMapper; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails; +import com.yuanchu.mom.service.DeviceTraceabilityManagementDetailsService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕鎯呰〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:58 + */ +@Service +public class DeviceTraceabilityManagementDetailsServiceImpl extends ServiceImpl<DeviceTraceabilityManagementDetailsMapper, DeviceTraceabilityManagementDetails> implements DeviceTraceabilityManagementDetailsService { + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementServiceImpl.java new file mode 100644 index 0000000..86ef8b6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceTraceabilityManagementServiceImpl.java @@ -0,0 +1,244 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDetailsDto; +import com.yuanchu.mom.dto.DeviceTraceabilityManagementDto; +import com.yuanchu.mom.mapper.DeviceTraceabilityManagementDetailsMapper; +import com.yuanchu.mom.mapper.DeviceTraceabilityManagementMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagement; +import com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.DeviceTraceabilityManagementDetailsService; +import com.yuanchu.mom.service.DeviceTraceabilityManagementService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.UserUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.vo.Result; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 璁惧閲忓�兼函婧愯鍒掕〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-20 02:27:44 + */ +@Service +public class DeviceTraceabilityManagementServiceImpl extends ServiceImpl<DeviceTraceabilityManagementMapper, DeviceTraceabilityManagement> implements DeviceTraceabilityManagementService { + + @Resource + private DeviceTraceabilityManagementDetailsService deviceTraceabilityManagementDetailsService; + + @Resource + private DeviceTraceabilityManagementDetailsMapper deviceTraceabilityManagementDetailsMapper; + + @Resource + private GetLook getLook; + + @Resource + private UserMapper userMapper; + + /** + * 鍒嗛〉鏌ヨ璁惧閲忓�兼函婧愯鍒� + * + * @param page + * @return + */ + @Override + public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(IPage page, DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + IPage<DeviceTraceabilityManagement> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceTraceabilityManagementDto)); + return Result.success(iPage); + } + + + /** + * 鏂板璁惧閲忓�兼函婧愯鍒� + * + * @param deviceTraceabilityManagementDto 璁惧閲忓�兼函婧愯鍒� + */ + @Override + public Result addTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + deviceTraceabilityManagementDto.setCompilerId(userId); + deviceTraceabilityManagementDto.setCompiler(user.getName()); + deviceTraceabilityManagementDto.setDatePreparation(LocalDateTime.now()); + + // 鏌ヨ瀹℃牳浜篿d + if (deviceTraceabilityManagementDto.getAuditId() != null) { + User auditUser = userMapper.selectById(deviceTraceabilityManagementDto.getAuditId()); + deviceTraceabilityManagementDto.setAudit(auditUser.getName()); + } + this.saveOrUpdate(deviceTraceabilityManagementDto); + + // 璇︽儏璧嬪�煎苟淇濆瓨 + List<DeviceTraceabilityManagementDetailsDto> deviceTraceabilityManagementDetails = deviceTraceabilityManagementDto.getDeviceTraceabilityManagementDetails(); + if (CollectionUtils.isNotEmpty(deviceTraceabilityManagementDetails)) { // 璇︽儏涓嶄负绌� + List<DeviceTraceabilityManagementDetails> collect = deviceTraceabilityManagementDetails.stream().map(detailsDto -> { + detailsDto.setTraceabilityManagementId(deviceTraceabilityManagementDto.getTraceabilityManagementId()); // 閲忓�兼函婧愯鍒扞D + DeviceTraceabilityManagementDetails details = new DeviceTraceabilityManagementDetails(); + BeanUtils.copyProperties(detailsDto, details); + return details; + }).collect(Collectors.toList()); + deviceTraceabilityManagementDetailsService.saveBatch(collect); + } + + return Result.success(); + } + + /** + * 淇敼璁惧閲忓�兼函婧愯鍒� + * + * @param deviceTraceabilityManagementDto 璁惧閲忓�兼函婧愯鍒� + */ + @Override + public Result updateTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + // 鏌ヨ瀹℃牳浜篿d + if (deviceTraceabilityManagementDto.getAuditId() != null) { + User auditUser = userMapper.selectById(deviceTraceabilityManagementDto.getAuditId()); + deviceTraceabilityManagementDto.setAudit(auditUser.getName()); + } + this.saveOrUpdate(deviceTraceabilityManagementDto); + + // 鍒犻櫎鍘熸湰鐨勮鎯� + deviceTraceabilityManagementDetailsService.remove(Wrappers.<DeviceTraceabilityManagementDetails>lambdaQuery().eq(DeviceTraceabilityManagementDetails::getTraceabilityManagementId, deviceTraceabilityManagementDto.getTraceabilityManagementId())); + // 璇︽儏璧嬪�煎苟淇濆瓨 + List<DeviceTraceabilityManagementDetailsDto> deviceTraceabilityManagementDetails = deviceTraceabilityManagementDto.getDeviceTraceabilityManagementDetails(); + if (CollectionUtils.isNotEmpty(deviceTraceabilityManagementDetails)) { // 璇︽儏涓嶄负绌� + List<DeviceTraceabilityManagementDetails> collect = deviceTraceabilityManagementDetails.stream().map(detailsDto -> { + detailsDto.setTraceabilityManagementId(deviceTraceabilityManagementDto.getTraceabilityManagementId()); // 閲忓�兼函婧愯鍒扞D + DeviceTraceabilityManagementDetails details = new DeviceTraceabilityManagementDetails(); + BeanUtils.copyProperties(detailsDto, details); + return details; + }).collect(Collectors.toList()); + deviceTraceabilityManagementDetailsService.saveBatch(collect); + } + return Result.success(); + } + + /** + * 鍒犻櫎璁惧閲忓�兼函婧愯鍒� + * + * @param deviceTraceabilityManagementDto 璁惧閲忓�兼函婧愯鍒� + */ + @Override + public Result deleteTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + this.removeById(deviceTraceabilityManagementDto); + deviceTraceabilityManagementDetailsService.remove(Wrappers.<DeviceTraceabilityManagementDetails>lambdaQuery().eq(DeviceTraceabilityManagementDetails::getTraceabilityManagementId, deviceTraceabilityManagementDto.getTraceabilityManagementId())); + return Result.success(); + } + + /** + * 鏌ヨ璁惧閲忓�兼函婧愯鍒掕鎯� + * + * @param traceabilityManagementId 璁惧閲忓�兼函婧愯鍒抜d + */ + @Override + public Result<DeviceTraceabilityManagementDto> getTraceabilityManagementDetail(Integer traceabilityManagementId) { + // 鏌ヨ璁惧閲忓�兼函婧愯鍒� + DeviceTraceabilityManagement deviceTraceabilityManagement = baseMapper.selectById(traceabilityManagementId); + // 鏌ヨ璇︽儏 + DeviceTraceabilityManagementDto deviceTraceabilityManagementDto = new DeviceTraceabilityManagementDto(); + BeanUtils.copyProperties(deviceTraceabilityManagement, deviceTraceabilityManagementDto); + deviceTraceabilityManagementDto.setDeviceTraceabilityManagementDetails(deviceTraceabilityManagementDetailsMapper.deviceTraceabilityManagementDetailsList(traceabilityManagementId)); + return Result.success(deviceTraceabilityManagementDto); + } + + /** + * 瀹℃牳璁惧閲忓�兼函婧愯鍒� + * + * @param deviceTraceabilityManagementDto 璁惧閲忓�兼函婧愯鍒� + */ + @Override + public Result reviewTraceabilityManagementStatus(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + + LambdaUpdateWrapper<DeviceTraceabilityManagement> wrapper = Wrappers.<DeviceTraceabilityManagement>lambdaUpdate() + .eq(DeviceTraceabilityManagement::getTraceabilityManagementId, deviceTraceabilityManagementDto.getTraceabilityManagementId()) + .set(DeviceTraceabilityManagement::getAuditDate, LocalDateTime.now()) + .set(DeviceTraceabilityManagement::getAuditId, user.getId()) + .set(DeviceTraceabilityManagement::getAudit, user.getName()) + .set(DeviceTraceabilityManagement::getStatus, deviceTraceabilityManagementDto.getStatus()) // 瀹℃牳鐘舵�� + .set(DeviceTraceabilityManagement::getAuditRemark, deviceTraceabilityManagementDto.getAuditRemark());// 瀹℃牳澶囨敞 + + // 涓�0娓呴櫎瀹℃牳浜� + if (deviceTraceabilityManagementDto.getStatus().equals(0)) { + wrapper.set(DeviceTraceabilityManagement::getAuditId, null) + .set(DeviceTraceabilityManagement::getAudit, null); + } + this.update(wrapper); // 鏇存柊 + return Result.success(); + } + + /** + * 瀵煎嚭璁惧閲忓�兼函婧愯鍒� + * + * @param traceabilityManagementId 璁惧閲忓�兼函婧愯鍒抜d + */ + @Override + public Result exportDeviceTraceabilityManagementDto(Integer traceabilityManagementId, HttpServletResponse response) { + // 鏌ヨ璁惧淇濆吇璁″垝 + DeviceTraceabilityManagementDto deviceTraceabilityManagement = baseMapper.selectDeviceTraceabilityManagementById(traceabilityManagementId); + + // 鏌ヨ璁惧淇濆吇璁″垝璇︽儏 + List<DeviceTraceabilityManagementDetailsDto> deviceTraceabilityManagementDetailsDtoList = deviceTraceabilityManagementDetailsMapper.deviceTraceabilityManagementDetailsList(traceabilityManagementId); + // 璁剧疆搴忓彿 + deviceTraceabilityManagementDetailsDtoList.forEach(deviceTraceabilityManagementDetails -> { + deviceTraceabilityManagementDetails.setIndex(deviceTraceabilityManagementDetailsDtoList.indexOf(deviceTraceabilityManagementDetails) + 1); + }); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/traceability-management-details.docx"); + Configure configure = Configure.builder() + .bind("deviceTraceabilityManagementDetailsDtoList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("deviceTraceabilityManagement", deviceTraceabilityManagement); + put("deviceTraceabilityManagementDetailsDtoList", deviceTraceabilityManagementDetailsDtoList); + // 缂栧埗浜虹鍚嶅湴鍧� + put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceTraceabilityManagement.getCompilerId())); + // 瀹℃牳浜虹鍚嶅湴鍧� + put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceTraceabilityManagement.getAuditId())); + }}); + + try { + response.setContentType("application/msword"); + String finalFileName = deviceTraceabilityManagement.getFileName() == null ? "" : deviceTraceabilityManagement.getFileName() + "_"; + String fileName = URLEncoder.encode( + finalFileName+ "璁惧閲忓�兼函婧愯鍒�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + return Result.success(); + } + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DocumentServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DocumentServiceImpl.java new file mode 100644 index 0000000..ae2481d --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DocumentServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.DocumentDao; +import com.yuanchu.mom.pojo.Document; +import com.yuanchu.mom.service.DocumentService; +import org.springframework.stereotype.Service; + +@Service +public class DocumentServiceImpl extends ServiceImpl<DocumentDao, Document> implements DocumentService { +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentAcceptanceCheckServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentAcceptanceCheckServiceImpl.java new file mode 100644 index 0000000..b2174e2 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentAcceptanceCheckServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.IncidentAcceptanceCheckMapper; +import com.yuanchu.mom.pojo.IncidentAcceptanceCheck; +import com.yuanchu.mom.service.IncidentAcceptanceCheckService; +import org.springframework.stereotype.Service; + +@Service +public class IncidentAcceptanceCheckServiceImpl extends ServiceImpl<IncidentAcceptanceCheckMapper, IncidentAcceptanceCheck> implements IncidentAcceptanceCheckService { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentFileServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentFileServiceImpl.java new file mode 100644 index 0000000..f7d37ab --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentFileServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.IncidentFileMapper; +import com.yuanchu.mom.pojo.IncidentFile; +import com.yuanchu.mom.service.IncidentFileService; +import org.springframework.stereotype.Service; + +@Service +public class IncidentFileServiceImpl extends ServiceImpl<IncidentFileMapper, IncidentFile> implements IncidentFileService { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentInstallServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentInstallServiceImpl.java new file mode 100644 index 0000000..1933426 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentInstallServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.IncidentInstallMapper; +import com.yuanchu.mom.pojo.IncidentInstall; +import com.yuanchu.mom.service.IncidentInstallService; +import org.springframework.stereotype.Service; + +@Service +public class IncidentInstallServiceImpl extends ServiceImpl<IncidentInstallMapper, IncidentInstall> implements IncidentInstallService { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentReportServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentReportServiceImpl.java new file mode 100644 index 0000000..8edf35b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentReportServiceImpl.java @@ -0,0 +1,187 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.IncidentReportAddDto; +import com.yuanchu.mom.dto.IncidentReportExportWordDto; +import com.yuanchu.mom.excel.IncidentReportExport; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.IncidentReportMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; + +/** + * <p> + * 璁惧楠屾敹娣诲姞楠屾敹瀛楁琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-19 03:54:49 + */ +@Service +//@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class IncidentReportServiceImpl extends ServiceImpl<IncidentReportMapper, IncidentReport> implements IncidentReportService { + + private UserMapper userMapper; + private IncidentSparePartsService incidentSparePartsService; + private IncidentFileService incidentFileService; + private IncidentInstallService incidentInstallService; + private IncidentAcceptanceCheckService incidentAcceptanceCheckService; + + private final NumberGenerator<IncidentReport> numberGenerator; + + @Value("${file.path}") + private String imgUrl; + + public IncidentReportServiceImpl(UserMapper userMapper, IncidentSparePartsService incidentSparePartsService, IncidentFileService incidentFileService, IncidentInstallService incidentInstallService, IncidentAcceptanceCheckService incidentAcceptanceCheckService, NumberGenerator<IncidentReport> numberGenerator) { + this.userMapper = userMapper; + this.incidentSparePartsService = incidentSparePartsService; + this.incidentFileService = incidentFileService; + this.incidentInstallService = incidentInstallService; + this.incidentAcceptanceCheckService = incidentAcceptanceCheckService; + this.numberGenerator = numberGenerator; + } + + @Override + public void saveIncidentReportData(IncidentReportAddDto incidentReportAddDto) { + if (ObjectUtils.isEmpty(incidentReportAddDto.getProcessNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-07FM " + month + "-" + year + month, IncidentReport::getProcessNumber); + incidentReportAddDto.setProcessNumber(processNumber); + } + this.saveOrUpdate(incidentReportAddDto); + // 澶囦欢纭List + if (ObjectUtils.isNotEmpty(incidentReportAddDto.getSparePartsConfirmationList())) { + incidentReportAddDto.getSparePartsConfirmationList().forEach(i -> i.setIncidentId(incidentReportAddDto.getId())); + incidentSparePartsService.saveOrUpdateBatch(incidentReportAddDto.getSparePartsConfirmationList()); + } + // 鏂囦欢纭List + if (ObjectUtils.isNotEmpty(incidentReportAddDto.getFileClassConfirmationList())) { + incidentReportAddDto.getFileClassConfirmationList().forEach(i -> i.setIncidentId(incidentReportAddDto.getId())); + incidentFileService.saveOrUpdateBatch(incidentReportAddDto.getFileClassConfirmationList()); + } + // 瀹夎楠屾敹璁板綍 + if (ObjectUtils.isNotEmpty(incidentReportAddDto.getInstallationAcceptanceRecordList())) { + incidentReportAddDto.getInstallationAcceptanceRecordList().forEach(i -> i.setIncidentId(incidentReportAddDto.getId())); + incidentInstallService.saveOrUpdateBatch(incidentReportAddDto.getInstallationAcceptanceRecordList()); + } + // 楠屾敹鏍告煡璁板綍 + if (ObjectUtils.isNotEmpty(incidentReportAddDto.getAcceptanceCheckRecordList())) { + incidentReportAddDto.getAcceptanceCheckRecordList().forEach(i -> i.setIncidentId(incidentReportAddDto.getId())); + incidentAcceptanceCheckService.saveOrUpdateBatch(incidentReportAddDto.getAcceptanceCheckRecordList()); + } + } + + @Override + public IPage<IncidentReportAddDto> getByDeviceId(Integer deviceId, Page page, String processNumber) { + return baseMapper.getByDeviceId(page, deviceId, processNumber); + } + + @Override + public void deleteIncidentReport(Integer id) { + baseMapper.deleteById(id); + incidentSparePartsService.remove(Wrappers.<IncidentSpareParts>lambdaQuery().eq(IncidentSpareParts::getIncidentId, id)); + incidentFileService.remove(Wrappers.<IncidentFile>lambdaQuery().eq(IncidentFile::getIncidentId, id)); + incidentInstallService.remove(Wrappers.<IncidentInstall>lambdaQuery().eq(IncidentInstall::getIncidentId, id)); + incidentAcceptanceCheckService.remove(Wrappers.<IncidentAcceptanceCheck>lambdaQuery().eq(IncidentAcceptanceCheck::getIncidentId, id)); + } + + @Override + public IncidentReportAddDto getShowIncidentReport(Integer id) { + return baseMapper.getShowIncidentReport(id); + } + + @Override + public void deleteIncidentReportAll(Integer sparePartsId, Integer fileId, Integer installId, Integer acceptanceCheckId) { + if (ObjectUtils.isNotEmpty(sparePartsId)) { + incidentSparePartsService.removeById(sparePartsId); + } + if (ObjectUtils.isNotEmpty(fileId)) { + incidentFileService.removeById(fileId); + } + if (ObjectUtils.isNotEmpty(installId)) { + incidentInstallService.removeById(installId); + } + if (ObjectUtils.isNotEmpty(acceptanceCheckId)) { + incidentAcceptanceCheckService.removeById(acceptanceCheckId); + } + } + + @Override + public List<IncidentReportExport> incidentReportExport(Integer deviceId) { + return baseMapper.incidentReportExport(deviceId); + } + + /** + * 瀵煎嚭楠屾敹鎶ュ憡 + * @param deviceId 璁惧id + * @param processNumber 娴佺▼鍙� + * @param response 鍝嶅簲Word鏂囨。 + */ + @Override + public void acceptanceCertificateExport(Integer deviceId, String processNumber, HttpServletResponse response) { + IncidentReportExportWordDto incidentReport = baseMapper.acceptanceCertificateExport(deviceId, processNumber); + + String submitOperatingPersonnel = incidentReport.getSubmitOperatingPersonnel(); + + String operatingPersonnelNameUrl = null; + if (submitOperatingPersonnel != null) { + operatingPersonnelNameUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, submitOperatingPersonnel)) + .getSignatureUrl(); + if (StringUtils.isBlank(operatingPersonnelNameUrl)) { + throw new ErrorException("鎵句笉鍒扮敵璇蜂汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/incident-report.docx"); + Configure configure = Configure.builder() + .build(); + String fileOperatingPersonnelNameUrl = operatingPersonnelNameUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("incidentReport", incidentReport); + put("submitOperatingPersonnelUrl", StringUtils.isNotBlank(fileOperatingPersonnelNameUrl) ? Pictures.ofLocal( imgUrl + "/" + fileOperatingPersonnelNameUrl).create() : null); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "璁惧楠屾敹鎶ュ憡", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentSparePartsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentSparePartsServiceImpl.java new file mode 100644 index 0000000..45f0176 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/IncidentSparePartsServiceImpl.java @@ -0,0 +1,11 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.IncidentSparePartsMapper; +import com.yuanchu.mom.pojo.IncidentSpareParts; +import com.yuanchu.mom.service.IncidentSparePartsService; +import org.springframework.stereotype.Service; + +@Service +public class IncidentSparePartsServiceImpl extends ServiceImpl<IncidentSparePartsMapper, IncidentSpareParts> implements IncidentSparePartsService { +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/InstructionServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/InstructionServiceImpl.java new file mode 100644 index 0000000..6b90e5e --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/InstructionServiceImpl.java @@ -0,0 +1,72 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.InstructionDto; +import com.yuanchu.mom.dto.OperationInstructionDto; +import com.yuanchu.mom.mapper.InstructionMapper; +import com.yuanchu.mom.numgen.NumberGenerator; +import com.yuanchu.mom.pojo.Instruction; +import com.yuanchu.mom.service.InstructionService; +import com.yuanchu.mom.service.OperationInstructionService; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.Locale; +import java.util.Map; + +/** + * <p> + * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:29:18 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InstructionServiceImpl extends ServiceImpl<InstructionMapper, Instruction> implements InstructionService { + + @Autowired + private OperationInstructionService operationInstructionService; + + @Autowired + private NumberGenerator<Instruction> numberGenerator; + + @Autowired + private GetLook getLook; + + @Override + public IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page, OperationInstructionDto operationInstructionDto) { + return baseMapper.pageByPageQueryOfHomeworkInstructions(page, QueryWrappers.queryWrappers(operationInstructionDto)); + } + + @Override + public void newHomeworkGuidebookAdded(InstructionDto instructionDto) { + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); + if (ObjectUtils.isEmpty(instructionDto.getApplicationNumber())) { + String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); + String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); + String day = new SimpleDateFormat("dd", Locale.CHINESE).format(new Date()); + String processNumber = numberGenerator.generateNumberWithPrefix(3, "WJSK" + year + month + day, Instruction::getApplicationNumber); + instructionDto.setApplicationNumber(processNumber); + } + saveOrUpdate(instructionDto); + if (ObjectUtils.isNotEmpty(instructionDto.getFeTempHumRecordList())) { + instructionDto.getFeTempHumRecordList().forEach(i -> { + i.setInstructionId(instructionDto.getId()); + i.setUploader(map1.get("userId")); + i.setUpdateTime(LocalDateTime.now()); + }); + operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList()); + } + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/OperationInstructionServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/OperationInstructionServiceImpl.java new file mode 100644 index 0000000..4602127 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/OperationInstructionServiceImpl.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.OperationInstructionMapper; +import com.yuanchu.mom.pojo.OperationInstruction; +import com.yuanchu.mom.service.OperationInstructionService; +import com.yuanchu.mom.vo.OperationInstructionVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-04 10:43:32 + */ +@Service +public class OperationInstructionServiceImpl extends ServiceImpl<OperationInstructionMapper, OperationInstruction> implements OperationInstructionService { + + @Override + public List<OperationInstructionVo> homeworkGuidebookEditor(Integer instructionId) { + return baseMapper.homeworkGuidebookEditor(instructionId); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/QrShowServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/QrShowServiceImpl.java new file mode 100644 index 0000000..be76ca6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/QrShowServiceImpl.java @@ -0,0 +1,218 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.DeviceMetricRecord; +import com.yuanchu.mom.service.CustomService; +import com.yuanchu.mom.service.InsOrderService; +import com.yuanchu.mom.service.ProductService; +import com.yuanchu.mom.service.QrShowService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.ui.Model; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Objects; +import java.util.Optional; + +@Service +public class QrShowServiceImpl implements QrShowService { + + @Autowired + private InsOrderService insOrderService; + + @Autowired + private ProductService productService; + + @Autowired + private CustomService customService; + + @Autowired + private InsOrderMapper insOrderMapper; + + @Autowired + private DeviceMapper deviceMapper; + + @Autowired + private DeviceMetricRecordMapper deviceMetricRecordMapper; + + @Autowired + private DeviceMaintenanceMapper deviceMaintenanceMapper; + + @Autowired + private StructureItemParameterMapper structureItemParameterMapper; + + @Value("${spring.profiles.active}") + private String active; + + private String getIp(){ + if(StringUtils.isNotBlank(active)){ + return "prod".equals(active)?"https://zttx-lims.ztt.cn:8021/lims/":"http://114.132.189.42:8001/"; + } + return "http://192.168.1.124:8001/lims/"; + } + + @Override + public void transformModelByType(Model model, String code, String type) { +// if(StringUtils.isNotBlank(type)){ +// switch (type){ +// case "word": +// InsOrder insOrder = insOrderService.getOne(Wrappers.<InsOrder>lambdaQuery() +// .eq(InsOrder::getEntrustCode, code)); +// Product product = productService.getOne(Wrappers.<Product>lambdaQuery() +// .eq(Product::getName, insOrder.getSample())); +// String insOrderModel = productService.getWordQrModel(insOrder.getId()); +// Custom company = customService.getOne(Wrappers.<Custom>lambdaQuery() +// .eq(Custom::getCompany, insOrder.getCompany())); +// String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType()); +// String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; +// model.addAttribute("entrustCode", code); +// model.addAttribute("productName",product.getName()); +// model.addAttribute("productNameEn",product.getNameEn()); +// model.addAttribute("insOrderModel", insOrderModel); +// model.addAttribute("company", company.getCompany()); +// model.addAttribute("companyEn", company.getCompanyEn()); +// model.addAttribute("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); +// String getTimeEn = monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear(); +// model.addAttribute("getTimeEn", getTimeEn); +// model.addAttribute("issuingDate", insOrder.getIssuingDate().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); +// String issuingDateEn = monthNames[insOrder.getIssuingDate().getMonthValue() - 1] + " " + insOrder.getIssuingDate().getDayOfMonth() + ", " + insOrder.getIssuingDate().getYear(); +// model.addAttribute("issuingDateEn", issuingDateEn); +// model.addAttribute("orderType", orderType); +// model.addAttribute("orderTypeEn", insOrder.getOrderType()); +// break; +// case "device": +// //鏌ヨ璁惧涓昏〃淇℃伅 +// Device device = deviceMapper.selectOne(Wrappers.<Device>lambdaQuery().eq(Device::getManagementNumber, code)); +// if(!Objects.isNull(device)){ +// //鏌ヨ璁惧鏍″噯淇℃伅 +// DeviceMetricRecord calibrate = getDeviceMetricRecord(device.getId(), "calibrate"); +// //鏌ヨ璁惧鏍告煡淇℃伅 +// DeviceMetricRecord examine = getDeviceMetricRecord(device.getId(), "examine"); +// //鏌ヨ璁惧缁存姢璁板綍 +// DeviceMaintenance deviceMaintenance = Optional.ofNullable(deviceMaintenanceMapper.selectOne(Wrappers.<DeviceMaintenance>lambdaQuery() +// .eq(DeviceMaintenance::getDeviceId, device.getId()) +// .orderByDesc(DeviceMaintenance::getId) +// .last("limit 1"))).orElse(new DeviceMaintenance()); +// model.addAttribute("progress",calcDeviceNextCheckRatio(calibrate.getCalibrationDate(),calibrate.getNextCalibrationDate()));//璺濈涓嬫鏍″噯鏃ユ湡鐨勫ぉ鏁扮櫨鍒嗘瘮 +// model.addAttribute("deviceName",device.getDeviceName());//璁惧鍚嶇О +// model.addAttribute("deviceCode",device.getManagementNumber());//璁惧缂栧彿 +// model.addAttribute("usedYears",calcUsedYears(device.getActivationDate()));//鍚敤鏃堕暱(骞�) +// model.addAttribute("runStatus",device.getDeviceStatus());//璁惧杩愯鐘舵�� +// model.addAttribute("lastCalibrationDate",formatDate(calibrate.getCalibrationDate(),"yyyy-MM-dd"));//鏈�杩戞牎鍑嗘棩鏈� +// model.addAttribute("nextCalibrationDate",formatDate(calibrate.getNextCalibrationDate(),"yyyy-MM-dd"));//涓嬫鏍″噯鏃ユ湡 +// String calibrateStatus = "0yes".equals(calibrate.getStatus())?"鍚堟牸":"1no".equals(calibrate.getStatus())?"涓嶅悎鏍�":"鍏朵粬"; +// model.addAttribute("calibrateStatus",Objects.isNull(calibrate.getCalibrationDate())?"":calibrateStatus);//鏍″噯鎬荤粨璁� +// model.addAttribute("lastExamineDate",formatDate(examine.getCalibrationDate(),"yyyy-MM-dd"));//鏈�杩戞牳鏌ユ棩鏈� +// model.addAttribute("nextExamineDate",formatDate(examine.getNextCalibrationDate(),"yyyy-MM-dd"));//涓嬫鏍告煡鏃ユ湡 +// String examineStatus = "0yes".equals(examine.getStatus())?"鍚堟牸":"1no".equals(examine.getStatus())?"涓嶅悎鏍�":"鍏朵粬"; +// model.addAttribute("examineStatus",Objects.isNull(examine.getCalibrationDate())?"":examineStatus);//鏍告煡鎬荤粨璁� +// model.addAttribute("maintenanceDate",formatDate(deviceMaintenance.getDate(),"yyyy-MM-dd"));//鏈�杩戠淮鎶ゆ棩鏈� +// model.addAttribute("nextMaintenanceDate",formatDate(deviceMaintenance.getNextDate(),"yyyy-MM-dd"));//涓嬫缁存姢鏃ユ湡 +// String maintenanceType = ""; +// if(!Objects.isNull(deviceMaintenance.getMaintenanceType())){ +// maintenanceType = 0==deviceMaintenance.getMaintenanceType()?"浣跨敤鍓嶇淮鎶�":"浣跨敤鍚庣淮鎶�"; +// } +// model.addAttribute("maintenanceType",maintenanceType);//缁存姢鎬荤粨璁� +// //娴嬮噺椤圭洰 +// String insProduct = ""; +// if(StringUtils.isNotBlank(device.getInsProductIds())){ +// String[] ids = device.getInsProductIds().split(","); +// List<StructureItemParameter> parameters = structureItemParameterMapper.selectBatchIds(Arrays.asList(ids)); +// List<String> itemList = parameters.stream().map(StructureItemParameter::getInspectionItem).distinct().collect(Collectors.toList()); +// insProduct = String.join(",",itemList); +// } +// model.addAttribute("insProduct",insProduct);//娴嬮噺椤圭洰 +// model.addAttribute("fileName",calibrate.getSystemFileName()); +// model.addAttribute("downloadUrl",getIp()+"img/"+calibrate.getSystemFileName()); +// } +// break; +// } +// } + } + + /** + * 璁$畻鍚敤鏃堕暱 + * @param activationDate + * @return + */ + public double calcUsedYears(LocalDateTime activationDate) { + if(Objects.isNull(activationDate)){ + return 0; + } + BigDecimal defDays = BigDecimal.valueOf(365); + BigDecimal usedDays = BigDecimal.valueOf(Duration.between(activationDate,LocalDateTime.now()).toDays()); + return usedDays.divide(defDays,2,RoundingMode.HALF_UP).setScale(2,RoundingMode.HALF_UP).doubleValue(); + } + + /** + * 璁$畻璺濈涓嬫鏍″噯鏃ユ湡鐨勫ぉ鏁扮櫨鍒嗘瘮 + * @param startDate + * @param endDate + * @return + */ + public double calcDeviceNextCheckRatio(Date startDate, Date endDate){ + if(Objects.isNull(startDate) || Objects.isNull(endDate)){ + return 0; + } + LocalDateTime startLocalDate = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime endLocalDate = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + long totalDays = Duration.between(startLocalDate, endLocalDate).toDays(); + long usedDays = Duration.between(startLocalDate, LocalDateTime.now()).toDays(); + BigDecimal calcVal = BigDecimal.valueOf(usedDays).divide(BigDecimal.valueOf(totalDays),2,RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP); + if(calcVal.compareTo(BigDecimal.ZERO)<0){ + calcVal = BigDecimal.ZERO; + }else if(calcVal.compareTo(BigDecimal.valueOf(100))>0){ + calcVal = BigDecimal.valueOf(100); + } + return calcVal.doubleValue(); + } + + /** + * 鏌ヨ璁惧鏍″噯/鏍告煡璁板綍 + * @param deviceId + * @param type + * @return + */ + public DeviceMetricRecord getDeviceMetricRecord(int deviceId,String type){ + return Optional.ofNullable( + deviceMetricRecordMapper.selectOne(Wrappers.<DeviceMetricRecord>lambdaQuery() + .eq(DeviceMetricRecord::getDeviceId, deviceId) + .eq(DeviceMetricRecord::getType, type) + .orderByDesc(DeviceMetricRecord::getCreateTime) + .last("limit 1"))).orElse(new DeviceMetricRecord()); + } + + /** + * 鏍煎紡鍖栨棩鏈� + * @return + */ + public String formatDate(Date date,String formatter){ + if(Objects.isNull(date)){ + return ""; + } + LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + return localDateTime.format(DateTimeFormatter.ofPattern(formatter)); + } + /** + * 鏍煎紡鍖栨棩鏈� + * @return + */ + public String formatDate(LocalDate date,String formatter){ + if(Objects.isNull(date)){ + return ""; + } + return date.format(DateTimeFormatter.ofPattern(formatter)); + } + + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ReservationServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ReservationServiceImpl.java new file mode 100644 index 0000000..b3746a6 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ReservationServiceImpl.java @@ -0,0 +1,122 @@ +package com.yuanchu.mom.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.dto.DeviceDto; +import com.yuanchu.mom.dto.ReservationDto; +import com.yuanchu.mom.mapper.DeviceMapper; +import com.yuanchu.mom.mapper.ReservationMapper; +import com.yuanchu.mom.pojo.Reservation; +import com.yuanchu.mom.service.DataConfigService; +import com.yuanchu.mom.service.ReservationService; +import com.yuanchu.mom.utils.QueryWrappers; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * <p> + * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author baomidou + * @since 2024-09-14 + */ +@Service +public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reservation> implements ReservationService { + + @Autowired + private GetLook getLook; + + @Autowired + private DeviceMapper deviceMapper; + + @Autowired + private ReservationMapper reservationMapper; + + @Autowired + private DataConfigService dataConfigService; + + @Override + public Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull, String starttime, String endtime) { + ArrayList<String> dateTextList = new ArrayList<>(); + if (StringUtils.isNoneEmpty(starttime)&&StringUtils.isNoneEmpty(endtime)){ + LocalDate startDate = LocalDate.parse(starttime, DateTimeFormatter.ISO_LOCAL_DATE); + LocalDate endDate = LocalDate.parse(endtime, DateTimeFormatter.ISO_LOCAL_DATE); + while (!startDate.isAfter(endDate)) { + dateTextList.add(startDate.toString()); + startDate = startDate.plusDays(1); + } + } + LambdaQueryWrapper<Reservation> lambdaQueryWrapper=new LambdaQueryWrapper<>(); + lambdaQueryWrapper.between(Reservation::getReservationTime,starttime,endtime); + List<Reservation> reservations = reservationMapper.selectList(lambdaQueryWrapper); + HashMap dates = new HashMap<String, Integer>(); + + Map<Integer, List<Reservation>> deviceIdcollect = reservations.stream().collect(Collectors.groupingBy(Reservation::getDeviceId)); + for (Integer deviceId : deviceIdcollect.keySet()) { + List<Reservation> deviceIdList = deviceIdcollect.get(deviceId); + Map<String, List<Reservation>> collect = deviceIdList.stream().collect(Collectors.groupingBy(Reservation::getReservationTime)); + for (String date : collect.keySet()) { + List<Reservation> reservations1 = collect.get(date); + Map<String, List<Reservation>> collect1 = reservations1.stream().collect(Collectors.groupingBy(Reservation::getSpecificTime)); + for (String s : collect1.keySet()) { + if (!(dates.containsKey(deviceId + date + s))) { + dates.put(deviceId + date + s, collect1.get(s).size()); + } + } + } + } + + + + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(DeviceDto.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDeviceParameter"); + if (map1.get("look") == 1) itemParameter.setCreateUser(map1.get("userId")); + IPage<DeviceDto> iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter), laboratoryNameIsNull); + List<DeviceDto> records = iPage.getRecords(); + ArrayList<JSONObject> datas = new ArrayList<>(); + + String [] dateArrays={"09:00-12:00","13:00-18:00", "18:00-22:00"}; + for (DeviceDto record : records) { + for (int i = 0; i < dateArrays.length; i++) { + String dateArray = dateArrays[i]; + JSONObject temp = JSON.parseObject(JSON.toJSONString(record)); + temp.put("time", dateArray); + JSONArray dataArray = new JSONArray(); + for (String date : dateTextList) { + JSONObject dateObject = new JSONObject(); + dateObject.put("date", date); + dateObject.put("value", dates.containsKey(record.getId()+date + dateArray) ? dates.get(record.getId()+date + dateArray) : 0); + dataArray.add(dateObject); + } + temp.put("dateList", dataArray); + datas.add(temp); + } + } + map.put("body", datas); + return map; + } + + + @Override + public List<ReservationDto> selectReservationParameterPage(String deviceId, String reservationTime, String specificTime) { + return reservationMapper.selectReservationParameterPage(Integer.parseInt(deviceId), reservationTime, specificTime); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/vo/OperationInstructionVo.java b/cnas-server/src/main/java/com/yuanchu/mom/vo/OperationInstructionVo.java new file mode 100644 index 0000000..fa12c42 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/vo/OperationInstructionVo.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.vo; + +import com.yuanchu.mom.pojo.OperationInstruction; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OperationInstructionVo extends OperationInstruction { + @ApiModelProperty("绠$悊缂栧彿") + private String deviceNumber; + + @ApiModelProperty("鍨嬪彿") + private String deviceModel; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; +} diff --git a/cnas-server/src/main/resources/mapper/DeviceAcceptanceFileMapper.xml b/cnas-server/src/main/resources/mapper/DeviceAcceptanceFileMapper.xml new file mode 100644 index 0000000..796ec3e --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceAcceptanceFileMapper.xml @@ -0,0 +1,18 @@ +<?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="com.yuanchu.mom.mapper.DeviceAcceptanceFileMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceAcceptanceFile"> + <id column="acceptance_file_id" property="acceptanceFileId" /> + <result column="acceptance_id" property="acceptanceId" /> + <result column="type" property="type" /> + <result column="file_url" property="fileUrl" /> + <result column="file_name" property="fileName" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceAcceptanceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceAcceptanceMapper.xml new file mode 100644 index 0000000..a2668ab --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceAcceptanceMapper.xml @@ -0,0 +1,17 @@ +<?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="com.yuanchu.mom.mapper.DeviceAcceptanceMapper"> + + <!-- 璁惧楠屾敹鍒楄〃 --> + <select id="pageDeviceAcceptance" resultType="com.yuanchu.mom.pojo.DeviceAcceptance"> + select * from ( + select * + from device_acceptance + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceAccidentReportMapper.xml b/cnas-server/src/main/resources/mapper/DeviceAccidentReportMapper.xml new file mode 100644 index 0000000..80f7fb3 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceAccidentReportMapper.xml @@ -0,0 +1,29 @@ +<?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="com.yuanchu.mom.mapper.DeviceAccidentReportMapper"> + + <!-- 璁惧浜嬫晠鎶ュ憡鍒楄〃 --> + <select id="pageDeviceAccidentReport" resultType="com.yuanchu.mom.pojo.DeviceAccidentReport"> + select * from ( + select * + from device_accident_report + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectDeviceAccidentReportById" resultType="com.yuanchu.mom.dto.DeviceAccidentReportDto"> + select + d.*, + date_format(d.accident_date,'%Y-%m-%d') accidentDateStr, -- 鏃堕棿 + date_format(d.report_date,'%Y-%m-%d') reportDateStr, -- 鎶ュ憡浜哄~鍐欐椂闂� + date_format(d.assessor_date,'%Y-%m-%d') assessorDateStr, -- 璇勪及浜哄~鍐欐椂闂� + date_format(d.department_head_date,'%Y-%m-%d') departmentHeadDateStr, -- 閮ㄩ棬璐熻矗浜哄~鍐欐椂闂� + date_format(d.technical_director_date,'%Y-%m-%d') technicalDirectorDateStr, -- 鎶�鏈礋璐d汉濉啓鏃堕棿 + date_format(d.director_head_date,'%Y-%m-%d') directorHeadDateStr -- 涓讳换濉啓鏃堕棿 + from device_accident_report d + where d.accident_report_id = #{accidentReportId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceBorrowMapper.xml b/cnas-server/src/main/resources/mapper/DeviceBorrowMapper.xml new file mode 100644 index 0000000..684da3c --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceBorrowMapper.xml @@ -0,0 +1,46 @@ +<?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="com.yuanchu.mom.mapper.DeviceBorrowMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceBorrow"> + <id column="id" property="id"/> + <result column="process_number" property="processNumber"/> + <result column="device_id" property="deviceId"/> + <result column="unify_number" property="unifyNumber"/> + <result column="recipient_user" property="recipientUser"/> + <result column="recipient_state" property="recipientState"/> + <result column="recipient_time" property="recipientTime"/> + <result column="submit_user" property="submitUser"/> + <result column="create_time" property="createTime"/> + <result column="now_state" property="nowState"/> + <result column="now_user" property="nowUser"/> + <result column="url" property="url"/> + <result column="file_name" property="fileName"/> + <result column="next_user" property="nextUser"/> + <result column="submit_operation_user" property="submitOperationUser"/> + <result column="submit_operation_time" property="submitOperationTime"/> + <result column="reback_user" property="rebackUser"/> + <result column="reback_time" property="rebackTime"/> + <result column="receive_state" property="receiveState"/> + <result column="device_user" property="deviceUser"/> + <result column="note" property="note"/> + <result column="receive_operation_user" property="receiveOperationUser"/> + <result column="receive_operation_time" property="receiveOperationTime"/> + </resultMap> + <select id="deviceBorrowPage" resultType="com.yuanchu.mom.pojo.DeviceBorrow"> + select * from ( + select db.*,device_name + from device_borrow db + left join `center-lims`.device on db.device_id=device.id + )a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="getDeviceBorrowBydeviceId" resultType="com.yuanchu.mom.pojo.DeviceBorrow"> + select db.*,device_name + from device_borrow db + left join `center-lims`.device on db.device_id=device.id + where device_id=#{deviceId} + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceBreakdownMaintenanceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceBreakdownMaintenanceMapper.xml new file mode 100644 index 0000000..996a7ae --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceBreakdownMaintenanceMapper.xml @@ -0,0 +1,17 @@ +<?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="com.yuanchu.mom.mapper.DeviceBreakdownMaintenanceMapper"> + + <!--璁惧鏁呴殰缁翠慨鍒楄〃--> + <select id="pageDeviceBreakdownMaintenance" resultType="com.yuanchu.mom.pojo.DeviceBreakdownMaintenance"> + select * from ( + select * + from device_breakdown_maintenance + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanDetailMapper.xml b/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanDetailMapper.xml new file mode 100644 index 0000000..14d1b99 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanDetailMapper.xml @@ -0,0 +1,17 @@ +<?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="com.yuanchu.mom.mapper.DeviceCalibrationPlanDetailMapper"> + + <!-- 璁惧鏍″噯璁″垝璇︽儏鍒楄〃 --> + <select id="pageDeviceCalibrationPlanDetail" resultType="com.yuanchu.mom.pojo.DeviceCalibrationPlanDetail"> + select * from ( + select * + from device_calibration_plan_detail + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanMapper.xml b/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanMapper.xml new file mode 100644 index 0000000..af97d5a --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceCalibrationPlanMapper.xml @@ -0,0 +1,20 @@ +<?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="com.yuanchu.mom.mapper.DeviceCalibrationPlanMapper"> + + <!-- 璁惧鏍″噯璁″垝鍒楄〃 --> + <select id="pageDeviceCalibrationPlan" resultType="com.yuanchu.mom.dto.DeviceCalibrationPlanDto"> + select * + from (select cqm.*, + u1.name write_name, + u3.name ratify_name + from device_calibration_plan cqm + left join user u1 on u1.id = cqm.write_user_id + left join user u3 on u3.id = cqm.ratify_user_id + order by cqm.create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml new file mode 100644 index 0000000..6518609 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml @@ -0,0 +1,18 @@ +<?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="com.yuanchu.mom.mapper.DeviceExaminePlanDetailsMapper"> + + + <!--璁惧鏍告煡璁″垝璇︽儏鍒楄〃--> + <select id="pageDeviceExaminePlanDetail" resultType="com.yuanchu.mom.pojo.DeviceExaminePlanDetails"> + select * from ( + select * + from device_examine_plan_details + order by check_time asc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExaminePlanMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExaminePlanMapper.xml new file mode 100644 index 0000000..dd974fd --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExaminePlanMapper.xml @@ -0,0 +1,33 @@ +<?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="com.yuanchu.mom.mapper.DeviceExaminePlanMapper"> + + <!-- 璁惧鏍告煡璁″垝鍒楄〃 --> + <select id="deviceExaminePlanDetailsMapper" resultType="com.yuanchu.mom.dto.DeviceExaminePlanDto"> + select * + from (select cqm.*, + u1.name write_name, + u3.name ratify_name + from device_examine_plan cqm + left join user u1 on u1.id = cqm.write_user_id + left join user u3 on u3.id = cqm.ratify_user_id + order by cqm.create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectExamineExaminePlanDto" resultType="com.yuanchu.mom.dto.DeviceExaminePlanDto"> + select + cqm.*, + date_format(cqm.write_time, '%Y-%m-%d') writeTimeStr, + date_format(cqm.ratify_time, '%Y-%m-%d') ratifyTimeStr, + date_format(cqm.create_time, '%Y') year, + u1.name write_name, + u3.name ratify_name + from device_examine_plan cqm + left join user u1 on u1.id = cqm.write_user_id + left join user u3 on u3.id = cqm.ratify_user_id + where cqm.plan_id = #{deviceExaminePlanId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastDetailsMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastDetailsMapper.xml new file mode 100644 index 0000000..056d18a --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastDetailsMapper.xml @@ -0,0 +1,22 @@ +<?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="com.yuanchu.mom.mapper.DeviceExamineRecordContrastDetailsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceExamineRecordContrastDetails"> + <id column="record_contrast_details_id" property="recordContrastDetailsId" /> + <result column="record_contrast_id" property="recordContrastId" /> + <result column="check_items" property="checkItems" /> + <result column="indication_a" property="indicationA" /> + <result column="indication_b" property="indicationB" /> + <result column="indication_c" property="indicationC" /> + <result column="d_value" property="dValue" /> + <result column="deviation" property="deviation" /> + <result column="determine" property="determine" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastMapper.xml new file mode 100644 index 0000000..4f4d7d6 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExamineRecordContrastMapper.xml @@ -0,0 +1,39 @@ +<?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="com.yuanchu.mom.mapper.DeviceExamineRecordContrastMapper"> + + <!-- 鏌ヨ鏍告煡瀵规瘮璁板綍 --> + <select id="getExamineRecordContrast" resultType="com.yuanchu.mom.dto.DeviceExamineRecordContrastDto"> + select derc.*, + d1.device_name aDeviceName, + d1.management_number aDeviceNumber, + d2.device_name bDeviceName, + d2.management_number bDeviceNumber, + d3.device_name cDeviceName, + d3.management_number cDeviceNumber + from device_examine_record_contrast derc + left join device d1 on d1.id = derc.a_device_id + left join device d2 on d2.id = derc.a_device_id + left join device d3 on d3.id = derc.a_device_id + where derc.plan_details_id = #{planDetailsId} + </select> + <select id="selectExamineRecordContrastDto" + resultType="com.yuanchu.mom.dto.DeviceExamineRecordContrastDto"> + select derc.*, + d1.device_name aDeviceName, + d1.management_number aDeviceNumber, + d2.device_name bDeviceName, + d2.management_number bDeviceNumber, + d3.device_name cDeviceName, + d3.management_number cDeviceNumber, + DATE_FORMAT(derc.create_time, '%Y-%m-%d') checkerTimeStr, + DATE_FORMAT(derc.review_time, '%Y-%m-%d') reviewTimeStr, + d1.storage_point labName + from device_examine_record_contrast derc + left join device d1 on d1.id = derc.a_device_id + left join device d2 on d2.id = derc.a_device_id + left join device d3 on d3.id = derc.a_device_id + where derc.plan_details_id = #{planDetailsId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExamineRecordDetailMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExamineRecordDetailMapper.xml new file mode 100644 index 0000000..8d8167e --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExamineRecordDetailMapper.xml @@ -0,0 +1,22 @@ +<?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="com.yuanchu.mom.mapper.DeviceExamineRecordDetailMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceExamineRecordDetail"> + <id column="record_detail_id" property="recordDetailId" /> + <result column="record_id" property="recordId" /> + <result column="data_value1" property="dataValue1" /> + <result column="data_value2" property="dataValue2" /> + <result column="data_value3" property="dataValue3" /> + <result column="data_value4" property="dataValue4" /> + <result column="data_value5" property="dataValue5" /> + <result column="data_value6" property="dataValue6" /> + <result column="data_value7" property="dataValue7" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExamineRecordMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExamineRecordMapper.xml new file mode 100644 index 0000000..25e587c --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExamineRecordMapper.xml @@ -0,0 +1,25 @@ +<?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="com.yuanchu.mom.mapper.DeviceExamineRecordMapper"> + + <select id="getExamineRecord" resultType="com.yuanchu.mom.dto.DeviceExamineRecordDto"> + select der.*, + d.device_name, + d.management_number deviceNumber + from device_examine_record der + left join device_examine_plan_details depd on depd.plan_details_id = der.plan_details_id + left join device d on d.id = depd.device_id + where der.plan_details_id = #{planDetailsId} + </select> + <select id="selectReviewExamineRecordDto" resultType="com.yuanchu.mom.dto.DeviceExamineRecordDto"> + select der.*, + Date_Format(der.update_time, '%Y-%m-%d') updateTimeStr, + d.device_name, + d.management_number deviceNumber + from device_examine_record der + left join device_examine_plan_details depd on depd.plan_details_id = der.plan_details_id + left join device d on d.id = depd.device_id + where der.plan_details_id = #{planDetailsId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceExternalApplyMapper.xml b/cnas-server/src/main/resources/mapper/DeviceExternalApplyMapper.xml new file mode 100644 index 0000000..c7c04f4 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceExternalApplyMapper.xml @@ -0,0 +1,23 @@ +<?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="com.yuanchu.mom.mapper.DeviceExternalApplyMapper"> + + <!--鍒╃敤澶栭儴璁惧鐢宠鍒楄〃--> + <select id="pageDeviceExternalApply" resultType="com.yuanchu.mom.pojo.DeviceExternalApply"> + select * from ( + select * + from device_external_apply + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectDeviceExternalById" resultType="com.yuanchu.mom.pojo.DeviceExternalApply"> + select + dea.* + from device_external_apply dea + where dea.external_apply_id = #{externalApplyId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceFaultOneMapper.xml b/cnas-server/src/main/resources/mapper/DeviceFaultOneMapper.xml new file mode 100644 index 0000000..aa8e4ad --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceFaultOneMapper.xml @@ -0,0 +1,50 @@ +<?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="com.yuanchu.mom.mapper.DeviceFaultOneMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceFaultOne"> + <id column="id" property="id" /> + <result column="device_id" property="deviceId" /> + <result column="process_number" property="processNumber" /> + <result column="measure_of_accuracy" property="measureOfAccuracy" /> + <result column="fault_situation" property="faultSituation" /> + <result column="file_name" property="fileName" /> + <result column="system_file_name" property="systemFileName" /> + <result column="submit_next_pesponsible" property="submitNextPesponsible" /> + <result column="submit_operating_personnel" property="submitOperatingPersonnel" /> + <result column="submit_date" property="submitDate" /> + <result column="method_cost" property="methodCost" /> + <result column="admin_audit_option" property="adminAuditOption" /> + <result column="admin_next_pesponsible" property="adminNextPesponsible" /> + <result column="admin_operating_personnel" property="adminOperatingPersonnel" /> + <result column="technical_audit_option" property="technicalAuditOption" /> + <result column="technical_next_pesponsible" property="technicalNextPesponsible" /> + <result column="technical_operating_personnel" property="technicalOperatingPersonnel" /> + <result column="technical_date" property="technicalDate" /> + <result column="maintain_situation" property="maintainSituation" /> + <result column="maintain_next_pesponsible" property="maintainNextPesponsible" /> + <result column="maintain_operating_personnel" property="maintainOperatingPersonnel" /> + <result column="maintain_date" property="maintainDate" /> + <result column="check_cal_situation" property="checkCalSituation" /> + <result column="after_maintenance_operating_personnel" property="afterMaintenanceOperatingPersonnel" /> + <result column="after_maintenance_date" property="afterMaintenanceDate" /> + <result column="current_status" property="currentState" /> + <result column="submit_person" property="submitPerson" /> + <result column="current_responsible" property="currentResponsible" /> + <result column="create_time" property="createTime" /> + </resultMap> + + <select id="deviceFaultOnePage" resultType="com.yuanchu.mom.dto.DeviceFaultOneDto"> + select dfo.*, + d.device_name, + d.management_number, + d.specification_model + from device_fault_one dfo + left join device d on d.id = dfo.device_id + where dfo.device_id = #{deviceId} + <if test="processNumber != '' and processNumber != null"> + and dfo.process_number like concat('%', #{processNumber}, '%') + </if> + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceInspectionRecordDetailsMapper.xml b/cnas-server/src/main/resources/mapper/DeviceInspectionRecordDetailsMapper.xml new file mode 100644 index 0000000..989d1f9 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceInspectionRecordDetailsMapper.xml @@ -0,0 +1,19 @@ +<?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="com.yuanchu.mom.mapper.DeviceInspectionRecordDetailsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceInspectionRecordDetails"> + <id column="inspection_record_detail_id" property="inspectionRecordDetailId" /> + <result column="test_items" property="testItems" /> + <result column="standard_value" property="standardValue" /> + <result column="measured_value" property="measuredValue" /> + <result column="indication_error" property="indicationError" /> + <result column="allowable_error" property="allowableError" /> + <result column="single_item_conclusion" property="singleItemConclusion" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="update_user_id" property="updateUserId" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceInspectionRecordMapper.xml b/cnas-server/src/main/resources/mapper/DeviceInspectionRecordMapper.xml new file mode 100644 index 0000000..ae3146a --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceInspectionRecordMapper.xml @@ -0,0 +1,33 @@ +<?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="com.yuanchu.mom.mapper.DeviceInspectionRecordMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceInspectionRecord"> + <id column="inspection_record" property="inspectionRecord" /> + <result column="material_name" property="materialName" /> + <result column="material_model" property="materialModel" /> + <result column="material_management_number" property="materialManagementNumber" /> + <result column="material_accuracy_grade" property="materialAccuracyGrade" /> + <result column="temperature" property="temperature" /> + <result column="humidity" property="humidity" /> + <result column="test_conclusion" property="testConclusion" /> + <result column="remark" property="remark" /> + <result column="recorder" property="recorder" /> + <result column="recorder_id" property="recorderId" /> + <result column="reviewer" property="reviewer" /> + <result column="reviewer_id" property="reviewerId" /> + <result column="test_date" property="testDate" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="update_user_id" property="updateUserId" /> + </resultMap> + <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.pojo.DeviceInspectionRecord"> + SELECT + * + from device_inspection_record + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceMaintenanceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMaintenanceMapper.xml new file mode 100644 index 0000000..f41688b --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceMaintenanceMapper.xml @@ -0,0 +1,22 @@ +<?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="com.yuanchu.mom.mapper.DeviceMaintenanceMapper"> + + <select id="getDeviceMaintenanceParam" resultType="com.yuanchu.mom.pojo.DeviceMaintenance"> + select id,device_id,device_name, device_number,management_number,content,name + ,date from device_maintenance + </select> + +<!-- <select id="getDeviceMaintenancePage" resultType="com.yuanchu.mom.pojo.DeviceMaintenance">--> +<!-- select *--> +<!-- from device_maintenance dm--> +<!-- where dm.device_id = #{deviceId}--> +<!-- </select>--> + + <select id="deviceMaintenanceExport" resultType="com.yuanchu.mom.excel.DeviceMaintenanceExport"> + select id, device_id, device_name, device_number, management_number, content, date, if(maintenance_type = 1, '璁″垝涓淮鎶�', '浣跨敤鍓嶅悗缁存姢'), next_date, name, comments + from device_maintenance dm + where dm.device_id = #{deviceId} + </select> +</mapper> \ No newline at end of file diff --git a/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml new file mode 100644 index 0000000..fbcbd2b --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml @@ -0,0 +1,28 @@ +<?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="com.yuanchu.mom.mapper.DeviceMaintenancePlanDetailsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceMaintenancePlanDetails"> + <id column="maintenance_plan_detail_id" property="maintenancePlanDetailId" /> + <result column="maintenance_plan_id" property="maintenancePlanId" /> + <result column="device_id" property="deviceId" /> + <result column="maintenance_site" property="maintenanceSite" /> + <result column="maintenance_content" property="maintenanceContent" /> + <result column="maintenance_intervals" property="maintenanceIntervals" /> + </resultMap> + <select id="deviceInspectionRecordDetailsList" + resultType="com.yuanchu.mom.dto.DeviceMaintenancePlanDetailsDto"> + select + dmpd.*, + d.device_name, + d.management_number device_number, + d.specification_model, + d.management_number, + d.storage_point + from device_maintenance_plan_details dmpd + left join device d on dmpd.device_id = d.id + where dmpd.maintenance_plan_id = #{maintenancePlanId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml new file mode 100644 index 0000000..3c4d75b --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml @@ -0,0 +1,34 @@ +<?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="com.yuanchu.mom.mapper.DeviceMaintenancePlanMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceMaintenancePlan"> + <id column="maintenance_plan_id" property="maintenancePlanId" /> + <result column="create_user" property="createUser" /> + <result column="create_id" property="createId" /> + <result column="create_date" property="createDate" /> + <result column="audit_id" property="auditId" /> + <result column="audit" property="audit" /> + <result column="audit_date" property="auditDate" /> + </resultMap> + + <!-- 鏍规嵁璁惧id鏌ヨ璁惧鐨勪繚鍏昏鍒� --> + <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.pojo.DeviceMaintenancePlan"> + select + * + from device_maintenance_plan + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectMaintenancePlanById" resultType="com.yuanchu.mom.dto.DeviceMaintenancePlanDto"> + select + dmp.*, + date_format(dmp.date_preparation, '%Y-%m-%d') as datePreparationStr, + date_format(dmp.audit_date, '%Y-%m-%d') as auditDateStr + from device_maintenance_plan dmp + where dmp.maintenance_plan_id = #{maintenancePlanId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml index 1bb8478..f4c9e77 100644 --- a/cnas-server/src/main/resources/mapper/DeviceMapper.xml +++ b/cnas-server/src/main/resources/mapper/DeviceMapper.xml @@ -107,7 +107,14 @@ device d LEFT JOIN `user` u ON u.id = d.equipment_manager LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id + LEFT JOIN device_metric_record cmr ON d.id = cmr.device_id LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids) + <where> + <if test="laboratoryNameIsNull != null and laboratoryNameIsNull == true"> + l.laboratory_name is null + </if> + AND cmr.type = 'calibrate' or cmr.type is null or cmr.type = '' + </where> GROUP BY d.id, u.name, l.laboratory_name diff --git a/cnas-server/src/main/resources/mapper/DeviceMetricRecordMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMetricRecordMapper.xml new file mode 100644 index 0000000..2b59410 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceMetricRecordMapper.xml @@ -0,0 +1,22 @@ +<?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="com.yuanchu.mom.mapper.DeviceMetricRecordMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceMetricRecord"> + <id column="id" property="id" /> + <result column="unit_of_measure" property="unitOfMeasure" /> + <result column="calibration_date" property="calibrationDate" /> + <result column="next_calibration_date" property="nextCalibrationDate" /> + <result column="calculating_apparatus" property="calculatingApparatus" /> + <result column="standard_range" property="standardRange" /> + <result column="calibration_standard_uncertainty" property="calibrationStandardUncertainty" /> + <result column="by_document" property="byDocument" /> + <result column="certificate_serial_number" property="certificateSerialNumber" /> + <result column="status" property="status" /> + <result column="file_name" property="fileName" /> + <result column="system_file_name" property="systemFileName" /> + <result column="remark" property="remark" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceMetricsCopyMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMetricsCopyMapper.xml new file mode 100644 index 0000000..87f5db0 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceMetricsCopyMapper.xml @@ -0,0 +1,20 @@ +<?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="com.yuanchu.mom.mapper.DeviceMetricsCopyMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceMetricsCopy"> + <id column="id" property="id" /> + <result column="device_id" property="deviceId" /> + <result column="measurement_parameter" property="measurementParameter" /> + <result column="range_of_measurement" property="rangeOfMeasurement" /> + <result column="max_permissible_error" property="maxPermissibleError" /> + <result column="judgment_criteria" property="judgmentCriteria" /> + <result column="created_by" property="createdBy" /> + <result column="creation_time" property="creationTime" /> + <result column="is_calibration" property="isCalibration" /> + <result column="result" property="result" /> + <result column="single_result_statement" property="singleResultStatement" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceScrappedMapper.xml b/cnas-server/src/main/resources/mapper/DeviceScrappedMapper.xml new file mode 100644 index 0000000..936c810 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceScrappedMapper.xml @@ -0,0 +1,27 @@ +<?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="com.yuanchu.mom.mapper.DeviceScrappedMapper"> + + <!-- 璁惧鎶ュ簾鐢宠鍒楄〃 --> + <select id="pageDeviceScrapped" resultType="com.yuanchu.mom.pojo.DeviceScrapped"> + select * from ( + select * + from device_scrapped + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectDeviceScrappedById" resultType="com.yuanchu.mom.dto.DeviceScrappedDto"> + select + *, + date_format(applicant_date,'%Y骞�%m鏈�%d鏃�') as applicantDateStr, + date_format(department_head_date,'%Y骞�%m鏈�%d鏃�') as departmentHeadDateStr, + date_format(metering_room_date,'%Y骞�%m鏈�%d鏃�') as meteringRoomDateStr, + date_format(approver_date,'%Y骞�%m鏈�%d鏃�') as approverDateStr + from device_scrapped + where scrapped_id = #{scrappedId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceStateMapper.xml b/cnas-server/src/main/resources/mapper/DeviceStateMapper.xml new file mode 100644 index 0000000..99a655a --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceStateMapper.xml @@ -0,0 +1,44 @@ +<?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="com.yuanchu.mom.mapper.DeviceStateMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceState"> + <id column="state_id" property="stateId" /> + <result column="accessory_part" property="accessoryPart" /> + <result column="device_status" property="deviceStatus" /> + <result column="reason" property="reason" /> + <result column="submit_next_pesponsible" property="submitNextPesponsible" /> + <result column="submit_operating_personnel" property="submitOperatingPersonnel" /> + <result column="submit_date" property="submitDate" /> + <result column="department_review_opinion" property="departmentReviewOpinion" /> + <result column="department_next_pesponsible" property="departmentNextPesponsible" /> + <result column="department_operating_personnel" property="departmentOperatingPersonnel" /> + <result column="department_date" property="departmentDate" /> + <result column="measuring_room_review_opinion" property="measuringRoomReviewOpinion" /> + <result column="measuring_room_next_pesponsible" property="measuringRoomNextPesponsible" /> + <result column="measuring_room_operating_personnel" property="measuringRoomOperatingPersonnel" /> + <result column="measuring_room_date" property="measuringRoomDate" /> + <result column="approval_opinion" property="approvalOpinion" /> + <result column="approval_next_pesponsible" property="approvalNextPesponsible" /> + <result column="approval_operating_personnel" property="approvalOperatingPersonnel" /> + <result column="approval_date" property="approvalDate" /> + <result column="current_state" property="currentState" /> + <result column="device_id" property="deviceId" /> + <result column="current_responsible" property="currentResponsible" /> + </resultMap> + + <select id="getDeviceStatePage" resultType="com.yuanchu.mom.dto.DeviceStateDto"> + select ds.*, + d.device_name, + d.management_number, + d.specification_model, + d.large_category + from device_state ds + left join device d on d.id = ds.device_id + where ds.device_id = #{deviceId} + <if test="processNumber != '' and processNumber != null"> + and ds.process_number like concat('%', #{processNumber}, '%') + </if> + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml b/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml new file mode 100644 index 0000000..a6d4fd3 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml @@ -0,0 +1,33 @@ +<?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="com.yuanchu.mom.mapper.DeviceTraceabilityManagementDetailsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceTraceabilityManagementDetails"> + <id column="traceability_management_detail_id" property="traceabilityManagementDetailId" /> + <result column="traceability_management_id" property="traceabilityManagementId" /> + <result column="device_id" property="deviceId" /> + <result column="technical_index_parameters" property="technicalIndexParameters" /> + <result column="technical_requirements" property="technicalRequirements" /> + <result column="verification_cycle" property="verificationCycle" /> + <result column="verification_unit" property="verificationUnit" /> + <result column="remark" property="remark" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + </resultMap> + <select id="deviceTraceabilityManagementDetailsList" + resultType="com.yuanchu.mom.dto.DeviceTraceabilityManagementDetailsDto"> + select + dtmd.*, + d.device_name, + d.device_name, + d.specification_model, + d.management_number + from device_traceability_management_details dtmd + left join device d on dtmd.device_id = d.id + where dtmd.traceability_management_id = #{traceabilityManagementId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementMapper.xml b/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementMapper.xml new file mode 100644 index 0000000..c3e5ae1 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DeviceTraceabilityManagementMapper.xml @@ -0,0 +1,39 @@ +<?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="com.yuanchu.mom.mapper.DeviceTraceabilityManagementMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DeviceTraceabilityManagement"> + <id column="traceability_management_id" property="traceabilityManagementId" /> + <result column="compiler_id" property="compilerId" /> + <result column="compiler" property="compiler" /> + <result column="date_preparation" property="datePreparation" /> + <result column="status" property="status" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + <result column="audit_id" property="auditId" /> + <result column="audit" property="audit" /> + <result column="audit_date" property="auditDate" /> + <result column="audit_remark" property="auditRemark" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + </resultMap> + <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.pojo.DeviceTraceabilityManagement"> + select + * + from device_traceability_management + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="selectDeviceTraceabilityManagementById" + resultType="com.yuanchu.mom.dto.DeviceTraceabilityManagementDto"> + select + dtm.*, + date_format(dtm.date_preparation, '%Y-%m-%d') as datePreparationStr, + date_format(dtm.audit_date, '%Y-%m-%d') as auditDateStr + from device_traceability_management dtm + where dtm.traceability_management_id = #{traceabilityManagementId} + </select> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml b/cnas-server/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml new file mode 100644 index 0000000..9991e89 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml @@ -0,0 +1,16 @@ +<?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="com.yuanchu.mom.mapper.IncidentAcceptanceCheckMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.IncidentAcceptanceCheck"> + <id column="acceptance_checkId" property="acceptanceCheckId" /> + <result column="instrument_module" property="instrumentModule" /> + <result column="verification_parameter" property="verificationParameter" /> + <result column="acceptable_limit" property="acceptableLimit" /> + <result column="verification_result" property="verificationResult" /> + <result column="verification_conclusion" property="verificationConclusion" /> + <result column="incident_id" property="incidentId" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/IncidentFileMapper.xml b/cnas-server/src/main/resources/mapper/IncidentFileMapper.xml new file mode 100644 index 0000000..f521ced --- /dev/null +++ b/cnas-server/src/main/resources/mapper/IncidentFileMapper.xml @@ -0,0 +1,13 @@ +<?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="com.yuanchu.mom.mapper.IncidentFileMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.IncidentFile"> + <id column="file_id" property="fileId" /> + <result column="expected_copies" property="expectedCopies" /> + <result column="actual_copies" property="actualCopies" /> + <result column="incident_id" property="incidentId" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/IncidentInstallMapper.xml b/cnas-server/src/main/resources/mapper/IncidentInstallMapper.xml new file mode 100644 index 0000000..0bfa771 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/IncidentInstallMapper.xml @@ -0,0 +1,14 @@ +<?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="com.yuanchu.mom.mapper.IncidentInstallMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.IncidentInstall"> + <id column="install_id" property="installId" /> + <result column="installation_project" property="installationProject" /> + <result column="installation_situation" property="installationSituation" /> + <result column="installation_completed" property="installationCompleted" /> + <result column="incident_id" property="incidentId" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/IncidentReportMapper.xml b/cnas-server/src/main/resources/mapper/IncidentReportMapper.xml new file mode 100644 index 0000000..cb035bf --- /dev/null +++ b/cnas-server/src/main/resources/mapper/IncidentReportMapper.xml @@ -0,0 +1,118 @@ +<?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="com.yuanchu.mom.mapper.IncidentReportMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.IncidentReport"> + <id column="id" property="id" /> + <result column="process_number" property="processNumber" /> + <result column="device_id" property="deviceId" /> + <result column="serial_number" property="serialNumber" /> + <result column="device_class" property="deviceClass" /> + <result column="check_outer_packaging" property="checkOuterPackaging" /> + <result column="file_name" property="fileName" /> + <result column="system_file_name" property="systemFileName" /> + <result column="unpacking_acceptance_conclusion" property="unpackingAcceptanceConclusion" /> + <result column="submit_next_pesponsible" property="submitNextPesponsible" /> + <result column="submit_remarks" property="submitRemarks" /> + <result column="submit_operating_personnel" property="submitOperatingPersonnel" /> + <result column="submit_date" property="submitDate" /> + <result column="unpacking_review_opinion" property="unpackingReviewOpinion" /> + <result column="unpacking_next_pesponsible" property="unpackingNextPesponsible" /> + <result column="unpacking_operating_personnel" property="unpackingOperatingPersonnel" /> + <result column="unpacking_date" property="unpackingDate" /> + <result column="install_location" property="installLocation" /> + <result column="install_remarks" property="installRemarks" /> + <result column="install_next_pesponsible" property="installNextPesponsible" /> + <result column="install_operating_personnel" property="installOperatingPersonnel" /> + <result column="install_date" property="installDate" /> + <result column="installation_acceptance_compound_opinion" property="installationAcceptanceCompoundOpinion" /> + <result column="installation_acceptance_next_pesponsible" property="installationAcceptanceNextPesponsible" /> + <result column="installation_acceptance_operating_personnel" property="installationAcceptanceOperatingPersonnel" /> + <result column="installation_acceptance_date" property="installationAcceptanceDate" /> + <result column="acceptance_check_unpacking_conclusion" property="acceptanceCheckUnpackingConclusion" /> + <result column="acceptance_check_next_pesponsible" property="acceptanceCheckNextPesponsible" /> + <result column="acceptance_check_operating_personnel" property="acceptanceCheckOperatingPersonnel" /> + <result column="acceptance_check_date" property="acceptanceCheckDate" /> + <result column="acceptance_audit_operating_personnel" property="acceptanceAuditOperatingPersonnel" /> + <result column="acceptance_audit_date" property="acceptanceAuditDate" /> + <result column="create_user" property="createUser" /> + <result column="current_state" property="currentState" /> + <result column="create_time" property="createTime" /> + <result column="current_responsible" property="currentResponsible" /> + <result column="acceptance_audit_audit_opinion" property="acceptanceAuditAuditOpinion" /> + </resultMap> + + <resultMap id="IncidentReportAddDtoMap" type="com.yuanchu.mom.dto.IncidentReportAddDto" extends="BaseResultMap"> + <result column="device_name" property="deviceName" /> + <result column="management_number" property="managementNumber" /> + <result column="manufacturer" property="manufacturer" /> + <result column="specification_model" property="specificationModel" /> + <collection property="sparePartsConfirmationList" ofType="com.yuanchu.mom.pojo.IncidentSpareParts"> + <id column="spare_parts_id" property="sparePartsId" /> + <result column="name" property="name" /> + <result column="number" property="number" /> + <result column="note" property="note" /> + <result column="incident_id" property="incidentId" /> + </collection> + <collection property="fileClassConfirmationList" ofType="com.yuanchu.mom.pojo.IncidentFile"> + <id column="file_id" property="fileId" /> + <result column="expected_copies" property="expectedCopies" /> + <result column="actual_copies" property="actualCopies" /> + <result column="incident_id" property="incidentId" /> + </collection> + <collection property="installationAcceptanceRecordList" ofType="com.yuanchu.mom.pojo.IncidentInstall"> + <id column="install_id" property="installId" /> + <result column="installation_project" property="installationProject" /> + <result column="installation_situation" property="installationSituation" /> + <result column="installation_completed" property="installationCompleted" /> + <result column="incident_id" property="incidentId" /> + </collection> + <collection property="acceptanceCheckRecordList" ofType="com.yuanchu.mom.pojo.IncidentAcceptanceCheck"> + <id column="acceptance_check_id" property="acceptanceCheckId" /> + <result column="instrument_module" property="instrumentModule" /> + <result column="verification_parameter" property="verificationParameter" /> + <result column="acceptable_limit" property="acceptableLimit" /> + <result column="verification_result" property="verificationResult" /> + <result column="verification_conclusion" property="verificationConclusion" /> + <result column="incident_id" property="incidentId" /> + </collection> + </resultMap> + + <select id="getByDeviceId" resultType="com.yuanchu.mom.dto.IncidentReportAddDto"> + select dir.*, d.device_name, d.management_number, u.name submitUser + from device_incident_report dir + left join device d on d.id = dir.device_id + left join user u on u.id = dir.create_user + where dir.device_id = #{deviceId} + <if test="processNumber != '' and processNumber != null"> + and dir.process_number like concat('%', #{processNumber}, '%') + </if> + </select> + + <select id="getShowIncidentReport" resultMap="IncidentReportAddDtoMap"> + select dir.*, d.device_name, d.management_number, d.manufacturer, d.specification_model, + diac.acceptance_check_id, diac.instrument_module,diac.verification_parameter, diac.acceptable_limit, diac.verification_result, diac.verification_conclusion, + disp.spare_parts_id, disp.name, disp.number, disp.note, + dif.file_id, dif.expected_copies, dif.actual_copies, + dii.install_id, dii.installation_completed, dii.installation_project, dii.installation_situation + from device_incident_report dir + left join device d on d.id = dir.device_id + left join device_incident_acceptance_check diac on diac.incident_id = dir.id + left join device_incident_file dif on dif.incident_id = dir.id + left join device_incident_install dii on dii.incident_id = dir.id + left join device_incident_spare_parts disp on disp.incident_id = dir.id + where dir.id = #{id} + </select> + + <select id="incidentReportExport" resultType="com.yuanchu.mom.excel.IncidentReportExport"> + select dir.*, d.device_name, d.management_number, d.manufacturer, d.specification_model + from device_incident_report dir + left join device d on d.id = dir.device_id + where dir.device_id = #{deviceId} + </select> + + <select id="acceptanceCertificateExport" resultType="com.yuanchu.mom.dto.IncidentReportExportWordDto"> + select + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/IncidentSparePartsMapper.xml b/cnas-server/src/main/resources/mapper/IncidentSparePartsMapper.xml new file mode 100644 index 0000000..3456cc5 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/IncidentSparePartsMapper.xml @@ -0,0 +1,14 @@ +<?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="com.yuanchu.mom.mapper.IncidentSparePartsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.IncidentSpareParts"> + <id column="spare_parts_id" property="sparePartsId" /> + <result column="name" property="name" /> + <result column="number" property="number" /> + <result column="note" property="note" /> + <result column="incident_id" property="incidentId" /> + </resultMap> + +</mapper> diff --git a/cnas-server/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml b/cnas-server/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml new file mode 100644 index 0000000..38dcf28 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml @@ -0,0 +1,50 @@ +<?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="com.yuanchu.mom.mapper.DeviceRecordMapper"> + + <select id="deviceRecordPage" resultType="com.yuanchu.mom.dto.DeviceRecordDto"> + select dr.*, + d.device_name, + d.management_number + from device_record dr + left join device d on d.id = dr.device_id + where 1=1 + <if test="deviceId != null"> + and dr.device_id = #{deviceId} + </if> + <if test="sampleCode != '' and sampleCode != null"> + and dr.sample_code like concat('%', #{sampleCode}, '%') + </if> + <if test="managementNumber != '' and managementNumber != null"> + and d.management_number like concat('%', #{managementNumber}, '%') + </if> + <if test="userId != null"> + and dr.use_person_id = #{userId} + and dr.use_start_date is null + </if> + ORDER BY (dr.use_start_date IS NULL) desc , dr.use_start_date DESC + </select> + + + <select id="selectNotFilled" resultType="com.yuanchu.mom.dto.DeviceRecordDto"> + select dr.*, + d.device_name, + d.management_number + from device_record dr + left join device d on d.id = dr.device_id + where dr.use_start_date is null + </select> + + <!-- 鏌ヨ瀵煎嚭璁惧浣跨敤璁板綍 --> + <select id="selectExportList" resultType="com.yuanchu.mom.pojo.DeviceRecord"> + select dr.* + from device_record dr + where dr.use_start_date is not null + <if test="deviceId != null"> + and dr.device_id = #{deviceId} + </if> + <if test="exportDate != '' and exportDate != null"> + and DATE_FORMAT(dr.use_start_date, '%Y-%m') = #{exportDate}; + </if> + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/InstructionMapper.xml b/cnas-server/src/main/resources/mapper/InstructionMapper.xml new file mode 100644 index 0000000..36edc87 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/InstructionMapper.xml @@ -0,0 +1,30 @@ +<?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="com.yuanchu.mom.mapper.InstructionMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Instruction"> + <id column="id" property="id" /> + <result column="application_number" property="applicationNumber" /> + <result column="person_liable" property="personLiable" /> + <result column="controlled_application_description" property="controlledApplicationDescription" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="create_user" property="createUser" /> + <result column="update_user" property="updateUser" /> + </resultMap> + + <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.yuanchu.mom.dto.OperationInstructionDto"> + SELECT + doi.*,di.*,d.device_name, d.management_number device_number, d.specification_model device_model, u.name uploader_name, u1.name approver_name + FROM + device_operation_instruction doi + LEFT JOIN device_instruction di ON di.id = doi.instruction_id + left join device d on d.id = doi.device_id + left join user u on u.id = doi.uploader + left join user u1 on u1.id = doi.approver_id + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/OperationInstructionMapper.xml b/cnas-server/src/main/resources/mapper/OperationInstructionMapper.xml new file mode 100644 index 0000000..77dd4d0 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/OperationInstructionMapper.xml @@ -0,0 +1,13 @@ +<?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="com.yuanchu.mom.mapper.OperationInstructionMapper"> + + <select id="homeworkGuidebookEditor" resultType="com.yuanchu.mom.vo.OperationInstructionVo"> + SELECT + doi.*,d.device_name, d.management_number device_number, d.specification_model device_model + FROM + device_operation_instruction doi + left join device d on d.id = doi.device_id + where doi.instruction_id = #{instructionId} + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/ReservationMapper.xml b/cnas-server/src/main/resources/mapper/ReservationMapper.xml new file mode 100644 index 0000000..5721573 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/ReservationMapper.xml @@ -0,0 +1,40 @@ +<?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="com.yuanchu.mom.mapper.ReservationMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Reservation"> + <id column="id" property="id" /> + <result column="device_id" property="deviceId" /> + <result column="device_name" property="deviceName" /> + <result column="customer_name" property="customerName" /> + <result column="reservation_time" property="reservationTime" /> + <result column="specific_time" property="specificTime" /> + <result column="link_person" property="linkPerson" /> + <result column="phone" property="phone" /> + <result column="device_number" property="deviceNumber" /> + <result column="reservation_specification" property="reservationSpecification" /> + <result column="create_user" property="createUser" /> + <result column="create_date" property="createDate" /> + </resultMap> + + + <select id="selectReservationParameterPage" resultType="com.yuanchu.mom.dto.ReservationDto"> + SELECT + a.id, + a.create_date, + a.create_user, + a.customer_name, + a.device_id, + a.device_name, + a.device_number, + a.link_person, + a.phone , + a.reservation_specification, + b.name + FROM + device_reservation a + INNER JOIN USER b ON a.create_user = b.id + where a.device_id = #{deviceId} and a.reservation_time = #{reservationTime} and a.specific_time=#{specificTime} + </select> +</mapper> diff --git a/cnas-server/src/main/resources/static/word/acceptance-certificate.docx b/cnas-server/src/main/resources/static/word/acceptance-certificate.docx new file mode 100644 index 0000000..c4412dd --- /dev/null +++ b/cnas-server/src/main/resources/static/word/acceptance-certificate.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-accident-report.docx b/cnas-server/src/main/resources/static/word/device-accident-report.docx new file mode 100644 index 0000000..6263ba9 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-accident-report.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-breakdown-maintenance.docx b/cnas-server/src/main/resources/static/word/device-breakdown-maintenance.docx new file mode 100644 index 0000000..595edc5 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-breakdown-maintenance.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-calibration-plan.docx b/cnas-server/src/main/resources/static/word/device-calibration-plan.docx new file mode 100644 index 0000000..4f4e6ff --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-calibration-plan.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-document.docx b/cnas-server/src/main/resources/static/word/device-document.docx new file mode 100644 index 0000000..d9e1d51 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-document.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-external-apply.docx b/cnas-server/src/main/resources/static/word/device-external-apply.docx new file mode 100644 index 0000000..8df765b --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-external-apply.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-inspection-record.docx b/cnas-server/src/main/resources/static/word/device-inspection-record.docx new file mode 100644 index 0000000..2c7a4f4 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-inspection-record.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-scrapped.docx b/cnas-server/src/main/resources/static/word/device-scrapped.docx new file mode 100644 index 0000000..96dfdd8 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-scrapped.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/device-status.docx b/cnas-server/src/main/resources/static/word/device-status.docx new file mode 100644 index 0000000..5753f22 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/device-status.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/examine-plan-detail.docx b/cnas-server/src/main/resources/static/word/examine-plan-detail.docx new file mode 100644 index 0000000..118c324 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/examine-plan-detail.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/examine-record.docx b/cnas-server/src/main/resources/static/word/examine-record.docx new file mode 100644 index 0000000..2462971 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/examine-record.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/incident-report.docx b/cnas-server/src/main/resources/static/word/incident-report.docx new file mode 100644 index 0000000..c190287 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/incident-report.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/maintenance-plan.docx b/cnas-server/src/main/resources/static/word/maintenance-plan.docx new file mode 100644 index 0000000..d4e69a0 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/maintenance-plan.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/maintenance-records.docx b/cnas-server/src/main/resources/static/word/maintenance-records.docx new file mode 100644 index 0000000..ba8c9f8 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/maintenance-records.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/quipment-details.docx b/cnas-server/src/main/resources/static/word/quipment-details.docx new file mode 100644 index 0000000..d244180 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/quipment-details.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/review-examine-record-contrast.docx b/cnas-server/src/main/resources/static/word/review-examine-record-contrast.docx new file mode 100644 index 0000000..dd48c97 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/review-examine-record-contrast.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/traceability-management-details.docx b/cnas-server/src/main/resources/static/word/traceability-management-details.docx new file mode 100644 index 0000000..cb6d3b9 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/traceability-management-details.docx Binary files differ diff --git a/cnas-server/src/main/resources/static/word/use-record.docx b/cnas-server/src/main/resources/static/word/use-record.docx new file mode 100644 index 0000000..236e645 --- /dev/null +++ b/cnas-server/src/main/resources/static/word/use-record.docx Binary files differ diff --git a/framework/src/main/java/com/yuanchu/mom/enums/QrModelType.java b/framework/src/main/java/com/yuanchu/mom/enums/QrModelType.java new file mode 100644 index 0000000..10884d5 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/mom/enums/QrModelType.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.enums; + +import org.apache.commons.lang3.StringUtils; + +public enum QrModelType { + + WORD_TYPE("word","word_qr_show"), + DEVICE_TYPE("device","device_qr_show"); + + String type,value; + + QrModelType(String desc, String value) { + this.type = desc; + this.value = value; + } + + public String getType() { + return type; + } + + public String getValue() { + return value; + } + + /** + * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇鍊� + * @param type + * @return + */ + public static String getValueByType(String type){ + for (QrModelType qrModelType : QrModelType.values()) { + if(StringUtils.isNotBlank(type) && type.equals(qrModelType.getType())){ + return qrModelType.getValue(); + } + } + throw new IllegalArgumentException(); + } + +} diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/UserUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/UserUtils.java new file mode 100644 index 0000000..3f82104 --- /dev/null +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/UserUtils.java @@ -0,0 +1,90 @@ +package com.yuanchu.mom.utils; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.deepoove.poi.data.PictureRenderData; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 10:35:50 + * Description: User宸ュ叿绫� + */ +@Component +public class UserUtils { + private static UserMapper userMapper; + + private static String imgUrl; + + @Autowired + public void setUserMapper(UserMapper userMapper) { + UserUtils.userMapper = userMapper; + } + + @Autowired + public void setImgUrl(@Value("${file.path}") String imgUrl) { + UserUtils.imgUrl = imgUrl; + } + + /** + * 閫氳繃浜哄憳id鑾峰彇鐢ㄦ埛绛惧悕鍦板潃 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕鍦板潃 + */ + public static String getUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getId, userId)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + return imgUrl + "\\" + userSignatureUrl; + } else { + return null; + } + } + + /** + * 閫氳繃浜哄憳id鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectById(userId) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } + + + /** + * 閫氳繃鍚嶅瓧鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userName 浜哄憳鍚嶅瓧 + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(String userName) { + String userSignatureUrl = null; + if (userName != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, userName)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } +} -- Gitblit v1.9.3