From 8246ec51e9cf0fdb37a76bc62cac4ac2b3ffc893 Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期五, 14 三月 2025 14:49:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceRecordMapper.java | 22
cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java | 24
cnas-require/src/main/resources/mapper/FePowerStableMapper.xml | 8
cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java | 34
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricRecordMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceInspectionService.java | 16
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultMapper.java | 9
cnas-require/src/main/java/com/ruoyi/require/service/impl/InformationNotificationServiceImpl.java | 95
cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java | 72
cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesStoreController.java | 80
cnas-require/src/main/java/com/ruoyi/require/service/InformationNotificationService.java | 32
cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricRecordServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/excel/FeStandardSubstanceExcel.java | 54
cnas-require/src/main/java/com/ruoyi/require/mapper/PkSlaveMapper.java | 20
cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/dto/DataConfigDto.java | 39
cnas-require/src/main/java/com/ruoyi/require/dto/AcceptanceDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java | 86
cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java | 17
cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java | 16
cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultOneController.java | 82
cnas-require/src/main/java/com/ruoyi/require/excel/FeCalibrationScheduleExport.java | 36
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMetricRecordDto.java | 13
cnas-require/src/main/resources/mapper/ReservationMapper.xml | 6
cnas-require/src/main/resources/mapper/IncidentFileMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/dto/StoreDto.java | 28
cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java | 101
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFault.java | 39
cnas-require/src/main/resources/mapper/IncidentSparePartsMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java | 31
cnas-require/src/main/java/com/ruoyi/require/util/DataAcquisition.java | 792 ++
cnas-require/src/main/java/com/ruoyi/require/controller/ReservationController.java | 71
cnas-require/src/main/resources/mapper/IncidentReportMapper.xml | 18
cnas-require/src/main/java/com/ruoyi/require/controller/FeCalibrationScheduleController.java | 88
cnas-require/src/main/java/com/ruoyi/require/vo/OperationInstructionVo.java | 17
cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/dto/BDto.java | 14
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceStateDto.java | 17
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesConsumablesMapper.java | 9
cnas-require/src/main/resources/mapper/DeviceMapper.xml | 18
cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricRecordService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java | 120
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java | 25
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceRecordController.java | 71
cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/DataConfigService.java | 23
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceStateController.java | 80
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMapper.java | 43
cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceRecordController.java | 60
cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceBorrow.java | 145
cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java | 21
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java | 101
cnas-require/src/main/resources/mapper/DeviceBorrowMapper.xml | 46
cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml | 12
cnas-require/src/main/java/com/ruoyi/require/service/IncidentInstallService.java | 7
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceRecordDto.java | 11
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceState.java | 107
cnas-require/src/main/java/com/ruoyi/require/service/PkMasterService.java | 21
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesStore.java | 52
cnas-require/src/main/java/com/ruoyi/require/service/IncidentSparePartsService.java | 7
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFaultOne.java | 125
cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java | 54
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesStoreServiceImpl.java | 141
cnas-require/src/main/java/com/ruoyi/require/excel/DeviceFaultOneExport.java | 34
cnas-require/src/main/java/com/ruoyi/require/pojo/Document.java | 89
cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceRecordService.java | 30
cnas-require/src/main/java/com/ruoyi/require/mapper/PkMasterMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/InsOrderPlanService.java | 78
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesExpendsMapper.java | 22
cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentAcceptanceCheck.java | 50
cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java | 21
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java | 29
cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java | 59
cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml | 2
cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml | 6
cnas-require/src/main/resources/mapper/InternalWastesMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/handler/PiperConfigReportHandler.java | 388 +
cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java | 111
cnas-personnel/src/main/resources/mapper/PersonPersonnelCapacityMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java | 135
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java | 28
cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java | 29
cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml | 8
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultOneServiceImpl.java | 27
cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultOneMapper.java | 21
cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java | 32
cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/ReservationServiceImpl.java | 110
cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java | 19
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceFaultOneDto.java | 17
cnas-require/src/main/java/com/ruoyi/require/handler/BasicReportHandler.java | 556 +
cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultOneService.java | 20
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMaintenanceExport.java | 45
cnas-require/src/main/java/com/ruoyi/require/service/impl/InsOrderPlanServiceImpl.java | 2785 +++++++
cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java | 96
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceController.java | 260
cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentAcceptanceCheckMapper.java | 17
cnas-require/src/main/java/com/ruoyi/require/controller/SuppliersDirectoryContentsController.java | 77
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java | 2
cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java | 87
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java | 9
cnas-require/src/main/java/com/ruoyi/require/service/FeCalibrationScheduleService.java | 20
cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceInspectionController.java | 40
cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java | 39
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMaintenanceMapper.java | 18
cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java | 91
cnas-require/src/main/java/com/ruoyi/require/dto/InstructionDto.java | 13
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesExpends.java | 62
cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesExpendDto.java | 27
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java | 42
cnas-require/src/main/java/com/ruoyi/require/mapper/InstructionMapper.java | 19
cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentReport.java | 142
cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java | 111
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesExpendsServiceImpl.java | 74
cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java | 76
cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java | 170
cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptanceInspection.java | 47
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceBorrowMapper.java | 25
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricsCopy.java | 73
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricsCopyServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/mapper/DocumentDao.java | 9
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java | 91
cnas-require/src/main/java/com/ruoyi/require/mapper/DataConfigMapper.java | 22
cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentAcceptanceCheckServiceImpl.java | 11
cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/service/DeviceStateService.java | 20
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMaintenanceController.java | 88
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesStoreService.java | 21
cnas-require/src/main/java/com/ruoyi/require/service/impl/InstructionServiceImpl.java | 65
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricMapper.java | 9
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMaintenance.java | 42
cnas-require/src/main/java/com/ruoyi/require/mapper/ReservationMapper.java | 23
cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java | 31
cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceDetailsVo.java | 22
cnas-require/src/main/java/com/ruoyi/require/handler/ThermalCycleReportHandler.java | 599 +
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java | 20
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java | 4
cnas-require/src/main/java/com/ruoyi/require/pojo/Reservation.java | 84
cnas-require/src/main/java/com/ruoyi/require/pojo/FeCalibrationSchedule.java | 81
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesConsumablesService.java | 7
cnas-require/src/main/java/com/ruoyi/require/excel/DeviceRecordExport.java | 49
cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricsCopyService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java | 123
cnas-require/src/main/java/com/ruoyi/require/pojo/PkMaster.java | 61
cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java | 33
cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentInstall.java | 44
cnas-require/src/main/java/com/ruoyi/require/excel/StoreExcel.java | 37
cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java | 58
cnas-require/src/main/java/com/ruoyi/require/service/IncidentFileService.java | 7
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptance.java | 87
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceLog.java | 29
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceServiceImpl.java | 1112 +++
cnas-require/src/main/java/com/ruoyi/require/controller/IncidentReportController.java | 73
cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentReportMapper.java | 28
cnas-require/src/main/java/com/ruoyi/require/dto/IncidentReportAddDto.java | 26
cnas-require/src/main/java/com/ruoyi/require/service/IDeviceMetricService.java | 7
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceStateServiceImpl.java | 26
cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentInstallServiceImpl.java | 11
cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java | 66
cnas-require/src/main/java/com/ruoyi/require/dto/ADto.java | 16
cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/mapper/OperationInstructionMapper.java | 20
cnas-require/src/main/resources/mapper/IncidentInstallMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/service/impl/DocumentServiceImpl.java | 11
cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentFile.java | 40
cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultService.java | 10
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceDto.java | 43
cnas-require/src/main/java/com/ruoyi/require/service/impl/QrShowServiceImpl.java | 269
cnas-require/src/main/java/com/ruoyi/require/vo/SubstanceRecordVo.java | 46
cnas-require/src/main/java/com/ruoyi/require/service/DocumentService.java | 7
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceStateMapper.java | 21
cnas-require/src/main/java/com/ruoyi/require/pojo/PkSlave.java | 75
cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java | 67
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml | 6
cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml | 6
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml | 4
cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java | 93
cnas-require/src/main/java/com/ruoyi/require/controller/DocumentController.java | 45
cnas-require/src/main/java/com/ruoyi/require/dto/DeviceConfigDtoPage.java | 70
cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java | 44
cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesExpendsController.java | 50
cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticRibbonReportHandler.java | 734 ++
cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java | 34
cnas-require/src/main/resources/mapper/DeviceStateMapper.xml | 43
cnas-require/src/main/java/com/ruoyi/require/pojo/OperationInstruction.java | 92
cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java | 29
cnas-require/src/main/resources/mapper/PkSlaveMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java | 80
cnas-require/src/main/java/com/ruoyi/require/service/OperationInstructionService.java | 20
cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java | 54
cnas-require/src/main/java/com/ruoyi/require/service/DeviceService.java | 65
cnas-require/src/main/java/com/ruoyi/require/service/QrShowService.java | 9
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMaintenanceImpl.java | 45
cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetric.java | 29
cnas-require/src/main/java/com/ruoyi/require/pojo/SuppliersDirectoryContents.java | 52
cnas-require/src/main/java/com/ruoyi/require/excel/DeviceStateExport.java | 36
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/require/pojo/InformationNotification.java | 69
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceRecord.java | 64
cnas-require/src/main/java/com/ruoyi/require/service/IncidentReportService.java | 33
cnas-require/src/main/java/com/ruoyi/require/excel/IncidentReportExport.java | 31
cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesContentsController.java | 75
cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java | 58
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultController.java | 50
cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentSparePartsServiceImpl.java | 11
cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java | 24
cnas-require/src/main/resources/mapper/OperationInstructionMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/pojo/Instruction.java | 64
cnas-require/src/main/resources/mapper/InformationNotificationMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java | 63
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceBorrowController.java | 74
cnas-require/src/main/java/com/ruoyi/require/dto/ReservationDto.java | 10
cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListEDto.java | 104
cnas-require/src/main/java/com/ruoyi/require/excel/FeLightningProtectionExcel.java | 22
cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentSparePartsMapper.java | 17
cnas-require/src/main/resources/mapper/DeviceMaintenanceMapper.xml | 8
cnas-require/src/main/java/com/ruoyi/require/pojo/Device.java | 140
cnas-require/src/main/resources/mapper/DataConfigMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricRecordController.java | 134
cnas-require/src/main/java/com/ruoyi/require/service/impl/OperationInstructionServiceImpl.java | 27
cnas-require/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesConsumables.java | 50
cnas-require/src/main/java/com/ruoyi/require/mapper/FeCalibrationScheduleMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java | 32
cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceRecord.java | 78
cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java | 63
cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureCyclingReportHandler1.java | 582 +
cnas-require/src/main/java/com/ruoyi/require/service/DeviceMaintenanceService.java | 15
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceRecordServiceImpl.java | 79
cnas-require/src/main/java/com/ruoyi/require/service/DeviceRecordService.java | 25
cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java | 55
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultServiceImpl.java | 105
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java | 12
cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java | 94
cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticConnectorLossReportHandler.java | 210
cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java | 91
cnas-require/src/main/java/com/ruoyi/require/service/IncidentAcceptanceCheckService.java | 7
cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml | 4
cnas-require/src/main/resources/mapper/PkMasterMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/service/SuppliersDirectoryContentsService.java | 22
cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricController.java | 35
cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceController.java | 88
cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceService.java | 33
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceServiceImpl.java | 26
cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java | 16
cnas-require/src/main/java/com/ruoyi/require/controller/InstructionController.java | 102
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceRecordServiceImpl.java | 35
cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceVo.java | 46
cnas-require/src/main/java/com/ruoyi/require/mapper/InformationNotificationMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/impl/DataConfigServiceImpl.java | 66
cnas-require/src/main/java/com/ruoyi/require/handler/FiberConfigReportHandler.java | 617 +
cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureTestReportHandler.java | 367 +
cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricRecord.java | 115
cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentInstallMapper.java | 17
cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentFileMapper.java | 17
cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentSpareParts.java | 44
cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentFileServiceImpl.java | 11
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricsCopyMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java | 30
cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceService.java | 19
cnas-require/src/main/java/com/ruoyi/require/service/ReservationService.java | 27
cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java | 90
cnas-require/src/main/java/com/ruoyi/require/pojo/DataConfig.java | 69
cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml | 4
cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java | 12
cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceMapper.java | 22
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceBorrowServiceImpl.java | 116
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeCalibrationScheduleServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentReportServiceImpl.java | 116
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceRecordMapper.java | 27
cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java | 93
cnas-require/src/main/java/com/ruoyi/require/mapper/SuppliersDirectoryContentsMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/dto/OperationInstructionDto.java | 35
cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceController.java | 82
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java | 28
cnas-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java | 814 ++
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java | 20
/dev/null | 46
cnas-require/src/main/java/com/ruoyi/require/service/InstructionService.java | 22
cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java | 2
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesStoreMapper.java | 27
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesConsumablesServiceImpl.java | 14
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java | 16
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/dto/InformationNotificationDto.java | 11
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesExpendsService.java | 23
cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstance.java | 81
cnas-require/src/main/java/com/ruoyi/require/service/DeviceBorrowService.java | 27
cnas-require/src/main/resources/mapper/InstructionMapper.xml | 6
cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java | 28
cnas-require/src/main/resources/mapper/DeviceFaultOneMapper.xml | 6
cnas-require/src/main/resources/mapper/DeviceRecordMapper.xml | 49
cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceLogMapper.java | 9
cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricServiceImpl.java | 11
312 files changed, 21,716 insertions(+), 170 deletions(-)
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java
index 6fa8de7..b917ba1 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonCommunicationAbilityController.java
@@ -38,7 +38,7 @@
@ApiOperation(value = "鍒犻櫎 娌熼�氳褰�")
@DeleteMapping("deletePersonCommunicationAbility")
- public Result<?> deletePersonCommunicationAbility(@RequestParam("id") Integer id) {
+ public Result<?> deletePersonCommunicationAbility(Integer id) {
personCommunicationAbilityService.removeById(id);
return Result.success();
}
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
index 9192ced..17288f8 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java
@@ -16,6 +16,7 @@
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
+import java.util.Map;
/**
* <p>
@@ -59,7 +60,8 @@
@ApiOperation(value = "纭 浜哄憳鑳藉姏")
@PostMapping("confirmPersonnelCapability")
- public Result<?> confirmPersonnelCapability(@RequestParam("id") Integer id) {
+ public Result<?> confirmPersonnelCapability(@RequestBody Map<String,Object> map) {
+ Integer id =(Integer) map.get("id");
Integer userId = SecurityUtils.getUserId().intValue();
personPersonnelCapacityService.update(Wrappers.<PersonPersonnelCapacity>lambdaUpdate()
.eq(PersonPersonnelCapacity::getId, id)
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java
index b3c5614..4af5e0f 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java
@@ -39,7 +39,7 @@
@ApiOperation(value = "鍒犻櫎 浠昏亴鎺堟潈璁板綍")
@DeleteMapping("deletePersonPostAuthorizationRecord")
- public Result<?> deletePersonPostAuthorizationRecord(@RequestParam("id") Integer id) {
+ public Result<?> deletePersonPostAuthorizationRecord( Integer id) {
// 鍒犻櫎鏂囦欢
PersonPostAuthorizationRecord postAuthorizationRecord = personPostAuthorizationRecordService.getById(id);
FileSaveUtil.DeleteFile(postAuthorizationRecord.getSystemFileName());
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java
index 1905fb1..f42f5bd 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonSupervisionRecordController.java
@@ -1,5 +1,6 @@
package com.ruoyi.personnel.controller;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -17,6 +18,7 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import springfox.documentation.spring.web.json.Json;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
@@ -52,10 +54,10 @@
}
@ApiOperation(value = "鎵归噺鍒犻櫎 鐩戠潱璁板綍")
- @ApiImplicitParam(name = "ids", dataType = "array", allowMultiple = true, paramType = "query")
@DeleteMapping("deletePersonSupervisionRecord")
- public Result<?> deletePersonSupervisionRecord(@RequestParam("ids") List<Integer> ids) {
- personSupervisionRecordService.deletePersonSupervisionRecord(ids);
+ public Result<?> deletePersonSupervisionRecord(@RequestParam("ids") String ids) {
+ List<Integer> id = JSON.parseArray(ids, Integer.class);
+ personSupervisionRecordService.deletePersonSupervisionRecord(id);
return Result.success();
}
@@ -83,7 +85,7 @@
PersonSupervisionControlSheet byId = personSupervisionControlSheetService.getOne(Wrappers.<PersonSupervisionControlSheet>lambdaQuery()
.eq(PersonSupervisionControlSheet::getSupervisionRecordId, id));
if (ObjectUtils.isEmpty(byId)) {
- return Result.fail(202);
+ return Result.success();
} else {
return Result.success(byId);
}
@@ -95,7 +97,7 @@
PersonSupervisionProcessingSheet byId = personSupervisionProcessingSheetService.getOne(Wrappers.<PersonSupervisionProcessingSheet>lambdaQuery()
.eq(PersonSupervisionProcessingSheet::getSupervisionRecordId, id));
if (ObjectUtils.isEmpty(byId)) {
- return Result.fail(202);
+ return Result.success();
} else {
return Result.success(byId);
}
diff --git a/cnas-personnel/src/main/resources/mapper/PersonPersonnelCapacityMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonPersonnelCapacityMapper.xml
index 343b1b5..8aceaa8 100644
--- a/cnas-personnel/src/main/resources/mapper/PersonPersonnelCapacityMapper.xml
+++ b/cnas-personnel/src/main/resources/mapper/PersonPersonnelCapacityMapper.xml
@@ -65,10 +65,10 @@
where cptr.place_work like concat('%' ,'涓ぉ', '%')
GROUP BY cptr.user_id) p on u3.id = p.user_id
-- 鍙栦汉鍛樿兘鍔涚殑宀椾綅鑱岃矗
- left join (SELECT GROUP_CONCAT(e.label) responsibilities, cppc.id
+ left join (SELECT GROUP_CONCAT(e.dict_label) responsibilities, cppc.id
from cnas_person_personnel_capacity cppc
- left join enums e on FIND_IN_SET(e.value, cppc.job_responsibilities)
- where e.category = '宀椾綅鑱岃矗'
+ left join sys_dict_data e on FIND_IN_SET(e.dict_value, cppc.job_responsibilities)
+ where e.dict_type = 'responsibilities_list'
GROUP BY cppc.id) ecp on ecp.id = cppc.id
<where>
<if test="userId != null and userId != ''">
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceController.java
deleted file mode 100644
index 4839fa0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceController.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package com.ruoyi.requier.controller;
-
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.JackSonUtil;
-import com.ruoyi.requier.dto.DataConfigDto;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.pojo.Device;
-import com.ruoyi.requier.pojo.PkMaster;
-import com.ruoyi.requier.service.DataConfigService;
-import com.ruoyi.requier.service.DeviceService;
-import com.ruoyi.requier.service.PkMasterService;
-import com.ruoyi.system.mapper.UserMapper;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * 璁惧(DeviceController)琛ㄦ帶鍒跺眰
- */
-@Api(tags = "璁惧")
-@RestController
-@RequestMapping("/deviceScope")
-public class DeviceController {
-
- @Resource
- private UserMapper userMapper;
- @Resource
- private DeviceService deviceService;
-
- @Value("${file.path}")
- private String filePath;
-
- @Autowired
- private DataConfigService dataConfigService;
-
- @Autowired
- private PkMasterService pkMasterService;
-
- /**
- * 鑾峰彇浜哄憳淇℃伅
- * @return
- * @throws Exception
- */
- @GetMapping("/selectUserList")
- public Result selectUserList() {
- return Result.success(deviceService.selectUserList());
- }
-
- /**
- * 鏍规嵁departLimsId 鑾峰彇浜哄憳 (selectUserList鍓嶇璋冪敤鎺ュ彛澶 瀹规槗鎶ラ敊)
- */
- @GetMapping("/selectUserListByDepartLimsId")
- public Result selectUserListByDepartLimsId(String departLimsId) {
- return Result.success(deviceService.selectUserListByDepartLimsId(departLimsId));
- }
-
-
- @ApiOperation(value = "鏌ョ湅璁惧浜岀淮鐮佹寜閽�")
- @GetMapping("/showDeviceQrCodeButton")
- public void showDeviceQrCodeButton() { }
-
- //璁惧宸ュ叿鏄庣粏
- @ApiOperation(value = "鏌ヨ璁惧璇︽儏鍒楄〃")
- @GetMapping("/selectDeviceParameter")
- public Result selectDeviceParameter(Page page,DeviceDto deviceDto,Boolean laboratoryNameIsNull) {
- return Result.success(deviceService.selectDeviceParameter(page, deviceDto, laboratoryNameIsNull));
- }
-
- @ApiOperation(value = "娣诲姞璁惧璇︽儏鍙傛暟")
- @PostMapping("/addDeviceParameter")
- public Result addDeviceParameter(@RequestBody Device itemParameter) {
- return Result.success(deviceService.addDeviceParameter(itemParameter));
- }
-
- @ApiOperation(value = "鍒犻櫎璁惧璇︽儏鍙傛暟")
- @DeleteMapping("/delDeviceParameter")
- public Result<?> delDeviceParameter(Integer id) {
- return Result.success(deviceService.delDeviceParameter(id));
- }
-
- @ApiOperation(value = "淇敼璁惧璇︽儏鍙傛暟")
- @PostMapping("/upDeviceParameter")
- public Result<?> upDeviceParameter(@RequestBody Device itemParameter) {
- return Result.success(deviceService.upDeviceParameter(itemParameter));
- }
-
- @ApiOperation(value = "鏄惁鍏佽淇敼閲囬泦鍊�")
- @DeleteMapping("/isItAllowedToModifyTheCollectedValues")
- public Result<?> isItAllowedToModifyTheCollectedValues() {
- return Result.success();
- }
-
- @ApiOperation(value = "鑾峰彇璁惧鎬昏")
- @GetMapping("/selectEquipmentOverview")
- public Result selectEquipmentOverview() {
- return Result.success(deviceService.selectEquipmentOverview());
- }
-
- @ApiOperation(value = "鑾峰彇琚巿鏉冧汉")
- @GetMapping("/authorizedPerson")
- public Result authorizedPerson() {
- return Result.success(deviceService.authorizedPerson());
- }
-
- @ApiOperation(value = "鎼滅储")
- @GetMapping("/search")
- public Result search(Integer status, String deviceName, String specificationModel, String largeCategory) {
- return Result.success(deviceService.search(status, deviceName, specificationModel, largeCategory));
- }
-
- //鍥剧墖涓婁紶
- @ApiOperation(value = "璁惧鍥剧墖涓婁紶")
- @PostMapping("/uploadFile")
- public Result uploadFile(MultipartFile file) {
-
- System.out.println(file);
- String urlString;
- String pathName;
- String filename = file.getOriginalFilename();
- try {
- String path = filePath;
- File realpath = new File(path);
- if (!realpath.exists()) {
- realpath.mkdirs();
- }
- pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMdd")) + "-" + file.getOriginalFilename();
- urlString = realpath + "/" + pathName;
- file.transferTo(new File(urlString));
- HashMap<String, String> map = new HashMap<>();
- map.put("name", filename);
- map.put("url", pathName);
- return Result.success(map);
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("鍥剧墖涓婁紶閿欒");
- return null;
- }
- }
-
- @ApiOperation(value = "鑾峰彇璁惧璐熻矗浜�")
- @GetMapping("/selectDevicePrincipal")
- public Result selectDevicePrincipal() {
- return Result.success(deviceService.selectDevicePrincipal());
- }
-
- @ApiOperation(value = "閫氳繃椤圭洰鑾峰彇璁惧鍒楄〃")
- @PostMapping("/selectDeviceByCategory")
- public Result selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory) {
- return Result.success(deviceService.selectDeviceByCategory(inspectionItem, inspectionItemSubclass,sonLaboratory));
- }
-
- @ApiOperation(value = "閫氳繃璁惧缂栧彿鑾峰彇璁惧鍒楄〃")
- @GetMapping("/selectDeviceByCode")
- public Result<DeviceDto> selectDeviceByCode(Integer id) {
- return Result.success(deviceService.selectDeviceByCode(id));
- }
-
- /**
- *
- * @param request 鍙栬姹備腑鐨刬p
- * @param id 妫�楠屾牱鍝� 涓婚敭id
- * @param entrustCode 濮旀墭缂栧彿
- * @param sampleCode 鏍峰搧缂栧彿
- * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
- * @return
- */
- @ApiOperation("/鏁伴噰-鏁版嵁閲囬泦")
- @GetMapping("/dataCollection")
- public Result<?> dataAcquisition(HttpServletRequest request,
- @RequestParam("id") Integer id,
- @RequestParam("entrustCode") String entrustCode,
- @RequestParam("sampleCode") String sampleCode,
- @RequestParam(value = "fiberOpticRibbon", required = false) String fiberOpticRibbon) {
- return deviceService.dataAcquisition(request, id, entrustCode, sampleCode, fiberOpticRibbon);
- }
-
- @ApiOperation(value = "鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ暟閲�")
- @GetMapping("/determineWhetherToCollectData")
- public Result<?> determineWhetherToCollectData(@RequestParam("managementNumber") String managementNumber, HttpServletRequest request) {
- return deviceService.determineWhetherToCollectData(managementNumber, request);
- }
-
- @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆")
- @PostMapping("/saveDataAcquisitionConfiguration")
- public Result<?> saveDataAcquisitionConfiguration(@RequestParam(value = "deviceId") Integer deviceId, @RequestBody DataConfigDto dataConfigList) {
- dataConfigService.saveDataAcquisitionConfiguration(deviceId, dataConfigList);
- return Result.success();
- }
-
- @ApiOperation(value = "鏌ヨ鏁伴噰閰嶇疆")
- @GetMapping("/queryDataAcquisitionConfiguration")
- public Result<?> queryDataAcquisitionConfiguration(@RequestParam("deviceId") Integer deviceId,
- @RequestParam("isDevice") Boolean isDevice,
- @RequestParam(value = "inspectionItem", required = false) String inspectionItem,
- @RequestParam(value = "inspectionItemSubclass", required = false) String inspectionItemSubclass) {
- return dataConfigService.queryDataAcquisitionConfiguration(deviceId, isDevice, inspectionItem, inspectionItemSubclass);
- }
-
- @ApiOperation(value = "鍒犻櫎鏁伴噰閰嶇疆")
- @DeleteMapping("/deleteDataAcquisitionConfiguration")
- public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("ids") String ids) {
- List<String> split = Arrays.asList(ids.split(","));
- List<String> collect = split.stream().distinct().collect(Collectors.toList());
- dataConfigService.removeBatchByIds(collect);
- return Result.success();
- }
-
- @ApiOperation(value = "鑿滃崟")
- @PostMapping("/menu")
- public Result menu() {
- return Result.success(deviceService.menu());
- }
-
-
- @ApiOperation(value = "娓╁害寰幆鏁伴噰")
- @PostMapping("/temDataAcquisition")
- public Result<?> temDataAcquisition(@RequestBody PkMaster pkMaster) {
- return Result.success(pkMasterService.temDataAcquisition(pkMaster));
- }
-
- @ApiOperation(value = "宸︿晶璁惧鏍戝舰鏍�")
- @GetMapping("/treeDevice")
- public Result treeDevice(String deviceName) {
- return Result.success(deviceService.treeDevice(deviceName));
- }
-
-
- @ApiOperation(value = "娓╁害寰幆鏁伴噰鎬讳綋")
- @PostMapping("/temDataAcquisition2")
- public Result<?> temDataAcquisition2(@RequestBody PkMaster pkMaster) {
- return Result.success(pkMasterService.temDataAcquisition2(pkMaster));
- }
-
- @ApiOperation(value = "鍒楄〃缁熻瀵煎嚭")
- @PostMapping("/export")
- public void exportData(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
-// DeviceDto deviceDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class);
-// deviceService.export(deviceDto,response);
- }
-
-
-
-
-}
\ No newline at end of file
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceFaultController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceFaultController.java
deleted file mode 100644
index e9360ac..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceFaultController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.pojo.DeviceFault;
-import com.ruoyi.requier.service.DeviceFaultService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.Map;
-
-@RestController
-@RequestMapping("/deviceFaults")
-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")
- public Result<Map<String,Object>> getDeviceFaultsByDeviceId(Integer deviceId) {
- return Result.success(deviceFaultService.findByDeviceId(deviceId));
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java
deleted file mode 100644
index 32fc8df..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.pojo.DeviceMetric;
-import com.ruoyi.requier.service.IDeviceMetricService;
-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));
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java
deleted file mode 100644
index aac5dae..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-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.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.numgen.NumberGenerator;
-import com.ruoyi.common.utils.FileSaveUtil;
-import com.ruoyi.requier.dto.DeviceMetricRecordDto;
-import com.ruoyi.requier.pojo.Device;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-import com.ruoyi.requier.pojo.DeviceMetricsCopy;
-import com.ruoyi.requier.service.DeviceMetricRecordService;
-import com.ruoyi.requier.service.DeviceMetricsCopyService;
-import com.ruoyi.requier.service.DeviceService;
-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;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-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;
-
- @Autowired
- private DeviceService deviceService;
-
- @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 (deviceMetricRecordDto.getType().equals("calibrate")) {
- deviceService.update(Wrappers.<Device>lambdaUpdate()
- .set(Device::getCalibrationServices,deviceMetricRecordDto.getUnitOfMeasure())
- .eq(Device::getId,deviceMetricRecordDto.getDeviceId()));
- }
- 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());
- boolean b = deviceMetricRecordService.removeById(id);
- // 淇敼璁惧鐨勬牎鍑嗘満鏋�
- if (deviceMetricRecord.getType().equals("calibrate")) {
- List<DeviceMetricRecord> list = deviceMetricRecordService.list(Wrappers.<DeviceMetricRecord>lambdaQuery()
- .eq(DeviceMetricRecord::getType,"calibrate")
- .eq(DeviceMetricRecord::getDeviceId, deviceMetricRecord.getDeviceId()));
- int size = list.size();
- // 璁剧疆璁惧涓殑鏍″噯鏈烘瀯涓轰笂娆$殑鏈烘瀯
- deviceService.update(Wrappers.<Device>lambdaUpdate()
- .set(Device::getCalibrationServices,size == 0 ? null : list.get(size - 1).getUnitOfMeasure())
- .eq(Device::getId,deviceMetricRecord.getDeviceId()));
- }
- return Result.success(b);
- }
-
- @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)));
- }
-
- @GetMapping("/deviceMetricRecordExport")
- public Result deviceMetricRecordExport(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type, HttpServletResponse response) throws IOException {
- List<DeviceMetricRecord> list = deviceMetricRecordService.page(new Page<>(-1,-1), Wrappers.<DeviceMetricRecord>lambdaQuery()
- .eq(DeviceMetricRecord::getDeviceId, deviceId)
- .eq(DeviceMetricRecord::getType, type)).getRecords();
- list.forEach(i -> i.setStatus(i.getStatus().equals("0yes") ? "鍚堟牸" : "涓嶅悎鏍�"));
- response.setHeader("requestType", "excel");
- response.setHeader("Access-Control-Expose-Headers", "requestType");
- // 璁剧疆鍗曞厓鏍兼牱寮�
- // 淇濆瓨鍒扮涓�涓猻heet涓�
- EasyExcel.write(response.getOutputStream())
- .head(DeviceMetricRecord.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .sheet()
- .doWrite(list);
- return Result.success();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DocumentController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DocumentController.java
deleted file mode 100644
index 739496c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/DocumentController.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.pojo.Document;
-import com.ruoyi.requier.service.DocumentService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-
-@RestController
-@RequestMapping("/documents")
-public class DocumentController {
-
- @Resource
- private DocumentService documentService;
-
- @PostMapping("add")
- public Result createDocument(@RequestBody Document document) {
- documentService.save(document);
- return Result.success("ok");
- }
-
- @GetMapping("/id")
- public Document getDocumentById(Integer id) {
- return documentService.getById(id);
- }
-
- @PostMapping("updateDocument")
- public Result updateDocument(@RequestBody Document document) {
- return Result.success(documentService.updateById(document));
- }
-
- @DeleteMapping("/deleteDocumentById")
- public Result deleteDocumentById( Integer id) {
- return Result.success(documentService.removeById(id));
- }
-
- @GetMapping("/getListByDId")
- public Result getAllDocuments(Integer id) {
- LambdaQueryWrapper<Document> lambdaQueryWrapper=new LambdaQueryWrapper<>();
- lambdaQueryWrapper.eq(Document::getDeviceId,id);
- return Result.success(documentService.list(lambdaQueryWrapper));
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java
deleted file mode 100644
index d2a9654..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.read.listener.PageReadListener;
-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.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.excel.FeCalibrationScheduleExport;
-import com.ruoyi.requier.pojo.FeCalibrationSchedule;
-import com.ruoyi.requier.service.FeCalibrationScheduleService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.List;
-
-/**
- * <p>
- * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 02:53:05
- */
-@Api(tags = "閲忓�兼函婧愯鍒�")
-@RestController
-@RequestMapping("/feCalibrationSchedule")
-public class FeCalibrationScheduleController {
-
- @Resource
- private FeCalibrationScheduleService feCalibrationScheduleService;
-
- @ApiOperation(value = "閲忓�兼函婧愯鍒掓煡璇�")
- @GetMapping("/getPageCalibrationSchedule")
- public Result<IPage<FeCalibrationSchedule>> getPageCalibrationSchedule(Page page, String instrumentName, String managementNumber) {
- IPage<FeCalibrationSchedule> ipage = feCalibrationScheduleService.page(page,instrumentName, managementNumber);
- return Result.success(ipage);
- }
-
- @ApiOperation(value = "閲忓�兼函婧愯鍒掓柊澧炵紪杈�")
- @PostMapping("/addCalibrationSchedule")
- public Result addCalibrationSchedule(@RequestBody FeCalibrationSchedule feCalibrationSchedule) {
- return Result.success(feCalibrationScheduleService.saveOrUpdate(feCalibrationSchedule));
- }
-
- @ApiOperation(value = "閲忓�兼函婧愯鍒掑垹闄�")
- @DeleteMapping("/removeCalibrationSchedule")
- public Result removeCalibrationSchedule(Integer id) {
- return Result.success(feCalibrationScheduleService.removeById(id));
- }
-
- @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍑�")
- @GetMapping("exportOfValueTraceabilityPlan")
- public void exportOfValueTraceabilityPlan(String instrumentName, String managementNumber,
- HttpServletResponse response) throws Exception {
- IPage<FeCalibrationSchedule> data = feCalibrationScheduleService.page(new Page<>(-1, -1),instrumentName, managementNumber);
- List<FeCalibrationScheduleExport> studentList = JSONObject.parseArray(JSON.toJSONString(data.getRecords()), FeCalibrationScheduleExport.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(FeCalibrationScheduleExport.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .sheet("sheet")
- .doWrite(studentList);
- }
-
- @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍏�")
- @PostMapping("/importOfValueTraceabilityPlan")
- public void importOfValueTraceabilityPlan(MultipartFile file) throws IOException {
- if (file.isEmpty()) {
- return;
- }
- EasyExcel.read(file.getInputStream(), FeCalibrationScheduleExport.class, new PageReadListener<FeCalibrationScheduleExport>(dataList -> {
- List<FeCalibrationSchedule> studentList = JSONObject.parseArray(JSON.toJSONString(dataList), FeCalibrationSchedule.class);
- feCalibrationScheduleService.saveOrUpdateBatch(studentList);
- })).sheet().doRead();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java
deleted file mode 100644
index 98bbd0c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.FeIlluminationAddDto;
-import com.ruoyi.requier.dto.FeIlluminationDto;
-import com.ruoyi.requier.pojo.FeIllumination;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-import com.ruoyi.requier.service.FeIlluminationDetectionAreaService;
-import com.ruoyi.requier.service.FeIlluminationService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:15:57
- */
-@RestController
-@RequestMapping("/feIllumination")
-@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
-public class FeIlluminationController {
-
- @Autowired
- private FeIlluminationService feIlluminationService;
-
- @Autowired
- private FeIlluminationDetectionAreaService feIlluminationDetectionAreaService;
-
- @PostMapping("addFeLightningProtection")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏂板/淇敼")
- public Result<?> addFeLightningProtection(@RequestBody FeIlluminationAddDto feIlluminationAddDto) {
- FeIllumination feIllumination = new FeIllumination();
- BeanUtils.copyProperties(feIlluminationAddDto, feIllumination);
- feIlluminationService.saveOrUpdate(feIllumination);
- feIlluminationAddDto.getIlluminationDetectionAreaList().forEach(i -> i.setIntensityIlluminationId(feIllumination.getIntensityIlluminationId()));
- feIlluminationDetectionAreaService.saveOrUpdateBatch(feIlluminationAddDto.getIlluminationDetectionAreaList());
- return Result.success();
- }
-
- @DeleteMapping("deleteFeLightningProtection")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
- public Result<?> deleteFeLightningProtection(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
- feIlluminationService.removeById(intensityIlluminationId);
- return Result.success();
- }
-
- @GetMapping("getFeLightningProtection")
- @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏌ヨ")
- public Result<IPage<FeIlluminationDto>> getFeLightningProtection(Page page) {
- IPage<FeIlluminationDto> page1 = feIlluminationService.getFeLightningProtection(page);
- return Result.success(page1);
- }
-
- @DeleteMapping("deleteFeIlluminationDetectionArea")
- @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
- public Result<?> deleteFeIlluminationDetectionArea(@RequestParam("detectionAreaId") Integer detectionAreaId) {
- return Result.success(feIlluminationDetectionAreaService.removeById(detectionAreaId));
- }
-
- @GetMapping("getFeIlluminationDetectionArea")
- @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏍规嵁鐓у害璁板綍鏌ヨ")
- public Result<?> getFeIlluminationDetectionArea(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
- return Result.success(feIlluminationDetectionAreaService.list(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
- .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId)));
- }
-
- /**
- * 瀵煎嚭鐓у害璁板綍
- * @return
- */
- @ApiOperation(value = "瀵煎嚭鐓у害璁板綍")
- @GetMapping("/exportFeIllumination")
- public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response){
- feIlluminationService.exportFeIllumination(intensityIlluminationId, response);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java
deleted file mode 100644
index 9b72a8a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.FileSaveUtil;
-import com.ruoyi.requier.excel.FeLightningProtectionExcel;
-import com.ruoyi.requier.pojo.FeLightningProtection;
-import com.ruoyi.requier.service.FeLightningProtectionService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:36
- */
-@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
-@RestController
-@RequestMapping("/feLightningProtection")
-public class FeLightningProtectionController {
-
- @Autowired
- private FeLightningProtectionService feLightningProtectionService;
-
- @PostMapping("addLightningProtectionDetection")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫柊澧�/淇敼")
- public Result<?> addLightningProtectionDetection(FeLightningProtection feLightningProtection,
- @RequestPart(value = "file", required = false) MultipartFile file) {
- if (ObjectUtils.isNotEmpty(file)) {
- String s = FileSaveUtil.StoreFile(file);
- feLightningProtection.setSystemFileName(s);
- feLightningProtection.setFileName(file.getOriginalFilename());
- }
- feLightningProtectionService.saveOrUpdate(feLightningProtection);
- return Result.success();
- }
-
- @DeleteMapping("deleteLightningProtectionDetection")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪垹闄�")
- public Result<?> deleteFeLightningProtection(@RequestParam("lightningProtectionId") Integer lightningProtectionId) {
- feLightningProtectionService.removeById(lightningProtectionId);
- return Result.success();
- }
-
- @GetMapping("getLightningProtectionDetection")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫煡璇�")
- public Result<IPage<FeLightningProtection>> getFeLightningProtection(Page page) {
- IPage<FeLightningProtection> page1 = feLightningProtectionService.page(page);
- return Result.success(page1);
- }
-
- @ApiOperation(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪鍑�")
- @GetMapping("exportOfLightningProtectionDetection")
- public void exportOfLightningProtectionDetection(HttpServletResponse response) throws Exception {
- List<FeLightningProtectionExcel> ipage = feLightningProtectionService.exportOfLightningProtectionDetection();
- 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(FeLightningProtectionExcel.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .sheet("sheet")
- .doWrite(ipage);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java
deleted file mode 100644
index dd7d91d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.FePowerStableAddDto;
-import com.ruoyi.requier.dto.FePowerStableDto;
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-import com.ruoyi.requier.pojo.FePowerStable;
-import com.ruoyi.requier.service.FeMeasuredQuantityService;
-import com.ruoyi.requier.service.FePowerStableService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:52
- */
-@Api(tags = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
-@RestController
-@RequestMapping("/fePowerStable")
-public class FePowerStableController {
-
- @Autowired
- private FeMeasuredQuantityService feMeasuredQuantityService;
-
- @Autowired
- private FePowerStableService fePowerStableService;
-
- @PostMapping("addLaboratoryFacilityPowerStable")
- @ApiOperation("鐢垫簮绋冲畾鎬ф柊澧�/淇敼")
- public Result<?> addLaboratoryFacilityPowerStable(@RequestBody FePowerStableAddDto fePowerStableAddDto) {
- FePowerStable fePowerStable = new FePowerStable();
- BeanUtils.copyProperties(fePowerStableAddDto, fePowerStable);
- fePowerStableService.saveOrUpdate(fePowerStable);
- fePowerStableAddDto.getFeMeasuredQuantityList().forEach(i -> i.setPowerStableId(fePowerStable.getPowerStableId()));
- feMeasuredQuantityService.saveOrUpdateBatch(fePowerStableAddDto.getFeMeasuredQuantityList());
- return Result.success();
- }
-
- @DeleteMapping("deleteLaboratoryFacilityPowerStable")
- @ApiOperation("鐢垫簮绋冲畾鎬у垹闄�")
- public Result<FePowerStable> deleteLaboratoryFacilityPowerStable(@RequestParam("powerStableId") Integer powerStableId) {
- fePowerStableService.removeById(powerStableId);
- feMeasuredQuantityService.remove(Wrappers.<FeMeasuredQuantity>lambdaQuery()
- .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
- return Result.success();
- }
-
- @GetMapping("getLaboratoryFacilityPowerStablePage")
- @ApiOperation("鐢垫簮绋冲畾鎬ф煡璇�")
- public Result<IPage<FePowerStableDto>> getLaboratoryFacilityPowerStablePage(
- Page page) {
- IPage<FePowerStableDto> page1 = fePowerStableService.getLaboratoryFacilityPowerStablePage(page);
- return Result.success(page1);
- }
-
- @ApiOperation("閫夋嫨璁惧鍚庢煡璇㈡渶鏂拌澶囩紪鍙凤紝鏍″噯鏃ユ湡")
- @GetMapping("getCalibrationDate")
- public Result<?> getCalibrationDate(@RequestParam("deviceId") Integer deviceId) {
- return Result.success(fePowerStableService.getCalibrationDate(deviceId));
- }
-
- @DeleteMapping("deleteFeMeasuredQuantity")
- @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鍒犻櫎")
- public Result<?> deleteFeMeasuredQuantity(@RequestParam("measuredQuantityId") Integer measuredQuantityId) {
- return Result.success(feMeasuredQuantityService.removeById(measuredQuantityId));
- }
-
- @GetMapping("getFeMeasuredQuantityService")
- @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏍规嵁鐢垫簮绋冲畾鎬ф煡璇�")
- public Result<?> getFeMeasuredQuantityService(@RequestParam("powerStableId") Integer powerStableId) {
- return Result.success(feMeasuredQuantityService.list(Wrappers.<FeMeasuredQuantity>lambdaQuery()
- .eq(FeMeasuredQuantity::getPowerStableId, powerStableId)));
- }
-
- /**
- * 瀵煎嚭鐢垫簮绋冲畾鎬�
- * @return
- */
- @ApiOperation(value = "瀵煎嚭鐢垫簮绋冲畾鎬�")
- @GetMapping("/exportFePowerStable")
- public void exportFePowerStable(Integer powerStableId, HttpServletResponse response){
- fePowerStableService.exportFePowerStable(powerStableId, response);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java
deleted file mode 100644
index a55b1aa..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.AcceptanceDto;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
-import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceService;
-import com.ruoyi.requier.vo.AcceptanceVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川楠屾敹 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:29:41
- */
-@Api(tags = "鏍囧噯鐗╄川楠屾敹")
-@RestController
-@RequestMapping("/feStandardSubstanceAcceptance")
-public class FeStandardSubstanceAcceptanceController {
-
- @Autowired
- private FeStandardSubstanceAcceptanceInspectionService inspectionService;
- @Resource
- private FeStandardSubstanceAcceptanceService feStandardSubstanceAcceptanceService;
-
- @ApiOperation(value = "鏂板")
- @PostMapping("/addAcceptance")
- @Transactional
- public Result addAcceptance(@RequestBody AcceptanceDto dto) {
- feStandardSubstanceAcceptanceService.addAcceptance(dto);
- return Result.success();
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
- @GetMapping("/getPageAcceptance")
- public Result<IPage<AcceptanceVo>> getPageAcceptance(Page page, String name) {
- IPage<AcceptanceVo> ipage = feStandardSubstanceAcceptanceService.getPageAcceptance(page, name);
- return Result.success(ipage);
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鍒犻櫎")
- @DeleteMapping("/deleteAcceptance/{id}")
- public Result deleteAcceptance(@PathVariable("id") Integer id) {
- return Result.success(feStandardSubstanceAcceptanceService.deleteAcceptance(id));
- }
-
- @ApiOperation(value = "缂栬緫")
- @PostMapping("/updateAcceptance")
- public Result updateAcceptance(@RequestBody AcceptanceDto acceptanceDto) {
- feStandardSubstanceAcceptanceService.updateById(acceptanceDto.getAcceptance());
- for (FeStandardSubstanceAcceptanceInspection v : acceptanceDto.getList()) {
- if (v.getId()== null) {
- inspectionService.save(v);
- }else {
- inspectionService.updateById(v);
- }
- }
- return Result.success();
- }
-
-
- @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
- @GetMapping("/getAcceptanceDetails")
- public Result getAcceptanceDetails(Integer id) {
- return Result.success(feStandardSubstanceAcceptanceService.getAcceptanceDetails(id));
- }
-
- @ApiOperation("瀵煎嚭鏍囧噯鐗╄川楠屾敹")
- @GetMapping("/exportFeStandardSubstanceAcceptance")
- public Result exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
- feStandardSubstanceAcceptanceService.exportFeStandardSubstanceAcceptance(response);
- return Result.success();
- }
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java
deleted file mode 100644
index 5253a8a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-/**
- * <p>
- * 楠屾敹寮�绠辫褰� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:30:09
- */
-@Api(tags = "楠屾敹寮�绠辫褰�")
-@RestController
-@RequestMapping("/feStandardSubstanceAcceptanceInspection")
-public class FeStandardSubstanceAcceptanceInspectionController {
-
-
- @Resource
- private FeStandardSubstanceAcceptanceInspectionService feStandardSubstanceAcceptanceInspectionService;
-
-
- @ApiOperation(value = "鏂板鎴栫紪杈�")
- @PostMapping("/addInspection")
- public Result addInspection(@RequestBody FeStandardSubstanceAcceptanceInspection inspection) {
- feStandardSubstanceAcceptanceInspectionService.saveOrUpdate(inspection);
- return Result.success();
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java
deleted file mode 100644
index 6fb3da4..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.ruoyi.requier.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.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.excel.FeStandardSubstanceExcel;
-import com.ruoyi.requier.pojo.FeStandardSubstance;
-import com.ruoyi.requier.service.FeStandardSubstanceService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 03:58:59
- */
-@Api(tags = "鏍囧噯鐗╄川娓呭崟")
-@RestController
-@RequestMapping("/feStandardSubstance")
-public class FeStandardSubstanceController {
-
-
- @Resource
- private FeStandardSubstanceService feStandardSubstanceService;
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ")
- @GetMapping("/getPageStandardSubstance")
- public Result<IPage<FeStandardSubstance>> getPageStandardSubstance(Page page, FeStandardSubstance feStandardSubstance) {
- IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(page, feStandardSubstance);
- return Result.success(ipage);
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏂板缂栬緫")
- @PostMapping("/addStandardSubstance")
- public Result addStandardSubstance(@RequestBody FeStandardSubstance feStandardSubstance) {
- return Result.success(feStandardSubstanceService.saveOrUpdate(feStandardSubstance));
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍒犻櫎")
- @DeleteMapping("/removeStandardSubstance")
- public Result removeStandardSubstance(Integer id) {
- return Result.success(feStandardSubstanceService.removeById(id));
- }
-
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ鎵�鏈�")
- @GetMapping("/getStandardSubstanceAll")
- public Result<List<FeStandardSubstance>> getStandardSubstanceAll( ) {
- return Result.success(feStandardSubstanceService.list());
- }
-
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟瀵煎嚭")
- @GetMapping("exportOfStandardSubstanceList")
- public void exportOfStandardSubstanceList(FeStandardSubstance feStandardSubstance,
- HttpServletResponse response) throws Exception {
- IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(new Page<>(1, -1), feStandardSubstance);
- List<FeStandardSubstanceExcel> studentList = JSONObject.parseArray(JSON.toJSONString(ipage.getRecords()), FeStandardSubstanceExcel.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(FeStandardSubstanceExcel.class)
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
- .sheet("sheet")
- .doWrite(studentList);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java
deleted file mode 100644
index 1b2c449..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.pojo.FeStandardSubstanceRecord;
-import com.ruoyi.requier.service.FeStandardSubstanceRecordService;
-import com.ruoyi.requier.vo.SubstanceRecordVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 01:49:11
- */
-@Api(tags = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍")
-@RestController
-@RequestMapping("/feStandardSubstanceRecord")
-public class FeStandardSubstanceRecordController {
-
- @Resource
- private FeStandardSubstanceRecordService feStandardSubstanceRecordService;
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤")
- @PostMapping("/borrowSubstance")
- @Transactional
- public Result borrowSubstance(@RequestBody FeStandardSubstanceRecord record) {
- feStandardSubstanceRecordService.borrowSubstance(record);
- return Result.success();
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟褰掕繕")
- @PostMapping("/returnSubstance")
- @Transactional
- public Result returnSubstance(@RequestBody FeStandardSubstanceRecord record) {
- feStandardSubstanceRecordService.returnSubstance(record);
- return Result.success();
- }
-
- @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟棰嗙敤鏌ヨ")
- @GetMapping("/getSubstanceRecord")
- public Result getSubstanceRecord(Integer id) {
- return Result.success(feStandardSubstanceRecordService.getSubstanceRecord(id));
- }
-
- @ApiOperation(value = "鍒嗛〉鏌ヨ")
- @GetMapping("/getPageSubstanceRecord")
- public Result<IPage<SubstanceRecordVo>> getPageSubstanceRecord(Page page, SubstanceRecordVo vo) {
- IPage<SubstanceRecordVo> ipage = feStandardSubstanceRecordService.getPage(page,vo);
- return Result.success(ipage);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java
deleted file mode 100644
index af391c9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.FeTempHumDateDto;
-import com.ruoyi.requier.dto.FeTempHumRecordDto;
-import com.ruoyi.requier.pojo.FeTempHumDate;
-import com.ruoyi.requier.pojo.FeTempHumRecord;
-import com.ruoyi.requier.service.FeTempHumDateService;
-import com.ruoyi.requier.service.FeTempHumRecordService;
-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>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-09 11:02:18
- */
-@RestController
-@RequestMapping("/feTempHumDate")
-@Api(tags = "璇曢獙鍖哄煙")
-public class FeTempHumDateController {
-
- @Autowired
- private FeTempHumDateService feTempHumDateService;
-
- @Autowired
- private FeTempHumRecordService feTempHumRecordService;
-
- @PostMapping("addFeTempHumDate")
- @ApiOperation("璇曢獙鍖哄煙-鏂板/淇敼")
- public Result<?> addFeTempHumDate(@RequestBody FeTempHumDate feTempHumDate) {
- feTempHumDateService.saveOrUpdate(feTempHumDate);
- return Result.success();
- }
-
- @DeleteMapping("deleteFeTempHumDate")
- @ApiOperation("璇曢獙鍖哄煙-鍒犻櫎")
- public Result<?> deleteFeTempHumDate(
- @RequestParam("dateId") Integer dateId) {
- feTempHumDateService.removeById(dateId);
- return Result.success();
- }
-
- @GetMapping("getFeTempHumDate")
- @ApiOperation("璇曢獙鍖哄煙-鏌ヨ")
- public Result<IPage<FeTempHumDateDto>> getFeTempHumDate(Page page) {
- IPage<FeTempHumDateDto> page1 = feTempHumDateService.getFeTempHumDate(page);
- return Result.success(page1);
- }
-
- @PostMapping("addFeTempHumRecord")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟柊澧�/淇敼")
- public Result<FeTempHumRecord> addFeTempHumRecord(@RequestBody FeTempHumRecord feTempHumRecord) {
- feTempHumRecordService.saveOrUpdate(feTempHumRecord);
- return Result.success();
- }
-
- @DeleteMapping("deleteFeTempHumRecord")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曞垹闄�")
- public Result<?> deleteFeTempHumRecord(
- @RequestParam("tempHumId") Integer tempHumId) {
- feTempHumRecordService.removeById(tempHumId);
- return Result.success();
- }
-
- @GetMapping("getFeTempHumRecordPage")
- @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟煡璇�")
- public Result<IPage<FeTempHumRecordDto>> getFeTempHumRecordPage(Page page, Integer dateId) {
- IPage<FeTempHumRecordDto> page1 = feTempHumRecordService.getFeTempHumRecordPage(page, dateId);
- return Result.success(page1);
- }
-
- /**
- * 娓╂箍搴﹁褰曞鍑�
- * @return
- */
- @ApiOperation(value = "娓╂箍搴﹁褰曞鍑�")
- @GetMapping("/exportTemperatureAndHumidityRecords")
- public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response){
- feTempHumDateService.exportTemperatureAndHumidityRecords(dateId, response);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java
deleted file mode 100644
index f3af0fb..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.ForeignRegisterDto;
-import com.ruoyi.requier.pojo.ForeignRegister;
-import com.ruoyi.requier.service.ForeignRegisterService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 澶栨潵浜哄憳鐧昏 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 07:17:35
- */
-@Api(tags = "澶栨潵浜哄憳鐧昏")
-@AllArgsConstructor
-@RestController
-@RequestMapping("/foreignRegister")
-public class ForeignRegisterController {
-
- private ForeignRegisterService foreignRegisterService;
-
- /**
- * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
- * @param
- * @return
- */
- @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ")
- @GetMapping("/pageForeignRegister")
- public Result<IPage<ForeignRegisterDto>> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) throws Exception {
- return Result.success(foreignRegisterService.pageForeignRegister(page, foreignRegister));
- }
-
- /**
- * 澶栨潵浜哄憳鐧昏鏂板
- * @return
- */
- @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏂板")
- @PostMapping("/addForeignRegister")
- public Result addForeignRegister(@RequestBody ForeignRegister foreignRegister){
- return Result.success(foreignRegisterService.save(foreignRegister));
- }
-
- /**
- * 澶栨潵浜哄憳鐧昏淇敼
- * @return
- */
- @ApiOperation(value = "澶栨潵浜哄憳鐧昏淇敼")
- @PostMapping("/updateForeignRegister")
- public Result updateForeignRegister(@RequestBody ForeignRegister foreignRegister){
- return Result.success(foreignRegisterService.updateById(foreignRegister));
- }
-
- /**
- * 澶栨潵浜哄憳鐧昏鍒犻櫎
- * @return
- */
- @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒犻櫎")
- @DeleteMapping("/delForeignRegister")
- public Result delForeignRegister(Integer registerId){
- return Result.success(foreignRegisterService.removeById(registerId));
- }
-
- /**
- * 澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏
- * @return
- */
- @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏")
- @GetMapping("/getForeignRegisterOne")
- public Result<ForeignRegister> getForeignRegisterOne(Integer registerId){
- return Result.success(foreignRegisterService.getById(registerId));
- }
-
- /**
- * 瀵煎嚭澶栨潵浜哄憳鐧昏
- * @return
- */
- @ApiOperation(value = "瀵煎嚭澶栨潵浜哄憳鐧昏")
- @GetMapping("/exportForeignRegister")
- public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response){
- foreignRegisterService.exportForeignRegister(foreignRegister, response);
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/IncidentReportController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/IncidentReportController.java
deleted file mode 100644
index b9de791..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/IncidentReportController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.IncidentReportAddDto;
-import com.ruoyi.requier.excel.IncidentReportExport;
-import com.ruoyi.requier.service.IncidentReportService;
-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("/incidentReport")
-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();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/InstructionController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/InstructionController.java
deleted file mode 100644
index d67ec17..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/InstructionController.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.dto.InstructionDto;
-import com.ruoyi.requier.pojo.Instruction;
-import com.ruoyi.requier.pojo.OperationInstruction;
-import com.ruoyi.requier.service.InstructionService;
-import com.ruoyi.requier.service.OperationInstructionService;
-import com.ruoyi.requier.vo.OperationInstructionVo;
-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;
-
- @ApiOperation(value = "浣滀笟鎸囧涔� 鍒嗛〉")
- @GetMapping("/pageByPageQueryOfHomeworkInstructions")
- public Result<IPage<Instruction>> pageByPageQueryOfHomeworkInstructions(Page page){
- return Result.success(instructionService.pageByPageQueryOfHomeworkInstructions(page));
- }
-
- @ApiOperation(value = "浣滀笟鎸囧涔︽柊澧�")
- @PostMapping("/newHomeworkGuidebookAdded")
- public Result newHomeworkGuidebookAdded(@RequestBody InstructionDto instructionDto){
- instructionService.newHomeworkGuidebookAdded(instructionDto);
- return Result.success();
- }
-
- @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 = "浣滀笟鎸囧涔﹀垹闄�")
- @DeleteMapping("/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 = "浣滀笟鎸囧涔﹀鎵�")
- @PostMapping("/approvalOfHomeworkInstructionManual")
- public Result approvalOfHomeworkInstructionManual(String id, Boolean status){
- operationInstructionService.update(Wrappers.<OperationInstruction>lambdaUpdate()
- .eq(OperationInstruction::getId, id)
- .set(OperationInstruction::getStatus, status)
- .set(OperationInstruction::getApproverId, SecurityUtils.getUserId())
- .set(OperationInstruction::getEntryIntoForceTime, LocalDateTime.now()));
- return Result.success();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java
deleted file mode 100644
index f124356..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.InternalWastesDto;
-import com.ruoyi.requier.pojo.InternalWastes;
-import com.ruoyi.requier.service.InternalWastesService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:27
- */
-@Api(tags = "瀹夊叏鍐呭姟涓夊簾鐧昏")
-@AllArgsConstructor
-@RestController
-@RequestMapping("/internalWastes")
-public class InternalWastesController {
-
- private InternalWastesService internalWastesService;
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
- * @param
- * @return
- */
- @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ")
- @GetMapping("/pageInternalWastes")
- public Result<IPage<InternalWastesDto>> pageInternalWastes(Page page,InternalWastes internalWastes) throws Exception {
- return Result.success(internalWastesService.pageInternalWastes(page, internalWastes));
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
- * @return
- */
- @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板")
- @PostMapping("/addInternalWastes")
- public Result addInternalWastes(@RequestBody InternalWastesDto internalWastes){
- return Result.success(internalWastesService.addInternalWastes(internalWastes));
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
- * @return
- */
- @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼")
- @PostMapping("/updateInternalWastes")
- public Result updateInternalWastes(@RequestBody InternalWastesDto internalWastes){
- return Result.success(internalWastesService.updateInternalWastes(internalWastes));
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
- * @return
- */
- @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎")
- @DeleteMapping("/delInternalWastes")
- public Result delInternalWastes(Integer wastesId){
- return Result.success(internalWastesService.delInternalWastes(wastesId));
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
- * @return
- */
- @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏")
- @GetMapping("/getInternalWastesOne")
- public Result<InternalWastesDto> getInternalWastesOne(Integer wastesId){
- return Result.success(internalWastesService.getInternalWastesOne(wastesId));
- }
-
- /**
- * 瀵煎嚭涓夊簾澶勭悊
- * @return
- */
- @ApiOperation(value = "瀵煎嚭涓夊簾澶勭悊")
- @GetMapping("/exportInternalWastes")
- public void exportInternalWastes(Integer wastesId, HttpServletResponse response){
- internalWastesService.exportInternalWastes(wastesId, response);
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java
deleted file mode 100644
index 97d98ba..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
-import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鍏徃鍒楄〃")
-@RestController
-@RequestMapping("/procurementSuppliesContents")
-@AllArgsConstructor
-public class ProcurementSuppliesContentsController {
-
- private ProcurementSuppliesContentsService procurementSuppliesService;
-
- @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
- @GetMapping("/directoryListing")
- public Result directoryListing() {
- return Result.success(procurementSuppliesService.directoryListing());
- }
-
- @ApiOperation(value = "鏍规嵁id鏌ヨ")
- @GetMapping("/selectProcurementSuppliesContentById")
- public Result selectProcurementSuppliesContentById(Integer id) {
- return Result.success(procurementSuppliesService.getById(id));
- }
-
- @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
- @PostMapping("/addProcurementSuppliesContents")
- public Result addProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
- procurementSupplies.setUpdateTime(LocalDateTime.now());
- procurementSuppliesService.save(procurementSupplies);
- return Result.success(procurementSupplies.getId());
- }
-
- @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
- @PostMapping("/updateProcurementSuppliesContents")
- public Result updateProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
- return Result.success(procurementSuppliesService.updateById(procurementSupplies));
- }
-
- @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
- @DeleteMapping("/deleteProcurementSuppliesContentById")
- public Result deleteProcurementSuppliesContentById(Integer id) {
- List<ProcurementSuppliesContents> list = procurementSuppliesService.list(new LambdaQueryWrapper<ProcurementSuppliesContents>()
- .eq(ProcurementSuppliesContents::getParentId, id));
- if(list.size() > 0) {
- throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
- }
- procurementSuppliesService.removeById(id);
- return Result.success();
- }
-
- @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
- @GetMapping("/getNodeNames")
- public Result getNodeNames() {
- return Result.success(procurementSuppliesService.getNodeNames());
- }
-
- @ApiOperation(value = "鑾峰彇鎵�鏈変汉鍛�")
- @GetMapping("/getUserList")
- public Result getUserList() {
- return Result.success(procurementSuppliesService.getUserList());
- }
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java
deleted file mode 100644
index 7fcc1ed..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
-import com.ruoyi.requier.service.ProcurementSuppliesExpendsService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 03:47:19
- */
-@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗娑堣��")
-@RestController
-@RequestMapping("/procurementSuppliesExpends")
-public class ProcurementSuppliesExpendsController {
- @Autowired
- private ProcurementSuppliesExpendsService procurementSuppliesExpendsService;
-
- @ApiOperation(value = "鏌ヨ鎵�鏈夎褰�")
- @GetMapping("/procurementSuppliesExpendlist")
- public Result procurementSuppliesExpendlist(Page page,Long procurementSuppliesListId) {
- return Result.success(procurementSuppliesExpendsService.selectAll(page,procurementSuppliesListId));
- }
-
- @ApiOperation(value = "鏂板娑堣�楄褰�")
- @PostMapping("/addProcurementSuppliesExpends")
- public Result addProcurementSuppliesExpends(@RequestBody ProcurementSuppliesExpendDto dto) {
- Integer added = procurementSuppliesExpendsService.addExpends(dto);
-
- if ( added == 0) {
- return Result.fail("褰撳墠搴撳瓨涓嶈冻");
- }
- return Result.success(added);
- }
-
- @ApiOperation(value = "鍒犻櫎娑堣�楄褰�")
- @DeleteMapping("/deleteProcurementSuppliesExpends")
- public Result deleteProcurementSuppliesExpends(Long expendId) throws ServiceException {
- return Result.success(procurementSuppliesExpendsService.deleteExpends(expendId));
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java
deleted file mode 100644
index 3af071e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.requier.dto.ProcurementSuppliesListDto;
-import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
-import com.ruoyi.requier.mapper.SupplierManagementMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import com.ruoyi.requier.pojo.SupplierManagement;
-import com.ruoyi.requier.service.ProcurementSuppliesListService;
-import com.ruoyi.system.mapper.UserMapper;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 04:04:32
- */
-@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗")
-@RestController
-@RequestMapping("/procurementSuppliesList")
-public class ProcurementSuppliesListController {
- @Autowired
- private ProcurementSuppliesListService procurementSuppliesListService;
-
- @Resource
- private ProcurementSuppliesListMapper listMapper;
-
- @Autowired
- private UserMapper userMapper;
-
- @Autowired
- private SupplierManagementMapper supplierManagementMapper;
-
- @ApiOperation(value = "鍒嗛〉鏌ヨ")
- @GetMapping("/procurementSuppliesList")
- public Result<IPage<ProcurementSuppliesListDto>> procurementSuppliesList(Page page, ProcurementSuppliesListDto list) {
- return Result.success(procurementSuppliesListService.selectList(page, list));
- }
-
- @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗")
- @GetMapping("/selectProcurementSuppliesListById")
- public Result selectProcurementSuppliesListById(Integer id) {
- ProcurementSuppliesList procurementSuppliesStore = listMapper.selectById(id);
- ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
- BeanUtils.copyProperties(procurementSuppliesStore, dto);
-
- User user = userMapper.selectById(procurementSuppliesStore.getPersonInCharge());
- User updateUser = userMapper.selectById(procurementSuppliesStore.getUpdateUser());
- SupplierManagement supplierManagement = supplierManagementMapper.selectById(procurementSuppliesStore.getSupplier());
-
- dto.setPersonInChargeName(user.getName());
- dto.setUpdateUserName(updateUser.getName());
- dto.setSupplierName(supplierManagement.getSupplierName());
- return Result.success(dto);
- }
-
- @ApiOperation(value = "鏂板鑰楁潗")
- @PostMapping("/addProcurementSuppliesList")
- public Result addProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
- return Result.success(procurementSuppliesListService.addProcurementSuppliesList(dto));
- }
-
- @ApiOperation(value = "缂栬緫鑰楁潗")
- @PostMapping("/updateProcurementSuppliesList")
- public Result updateProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
- return Result.success(procurementSuppliesListService.updateProcurementSuppliesList(dto));
- }
-
- @ApiOperation(value = "鍒犻櫎鑰楁潗")
- @DeleteMapping("/deleteProcurementSuppliesList")
- public Result deleteProcurementSuppliesList(Long id) {
- return Result.success(listMapper.deleteById(id));
- }
-
- @ApiOperation(value = "瀵煎嚭鑰楁潗鍒楄〃")
- @GetMapping("/exportProcurementSuppliesList/{parentId}")
- public void exportProcurementSuppliesList( @PathVariable Integer parentId ,HttpServletResponse response) throws Exception {
- procurementSuppliesListService.exportProcurementSuppliesList(parentId,response);
-
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java
deleted file mode 100644
index 7880499..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.ruoyi.requier.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.JackSonUtil;
-import com.ruoyi.requier.dto.StoreDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
-import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
-import com.ruoyi.requier.service.ProcurementSuppliesConsumablesService;
-import com.ruoyi.requier.service.ProcurementSuppliesStoreService;
-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.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗鍏ュ簱")
-@RestController
-@RequestMapping("/procurementSuppliesStore")
-@AllArgsConstructor
-public class ProcurementSuppliesStoreController {
-
- private ProcurementSuppliesStoreService storeService;
-
- private ProcurementSuppliesConsumablesService consumablesService;
-
-
- @ApiOperation(value = "鑰楁潗鍏ュ簱鍒嗛〉鏌ヨ")
- @GetMapping("/storeList")
- public Result storeList(Page page,StoreDto storeDto) throws Exception {
- return Result.success(storeService.selectStoreList(page, storeDto));
- }
-
- @ApiOperation(value = "娣诲姞鑰楁潗鍏ュ簱鍒楄〃")
- @PostMapping("/addStore")
- public Result addStore(@RequestBody Map<String,Object> map) {
- storeService.addStore(map);
- return Result.success();
- }
-
- @ApiOperation(value = "鍒犻櫎鑰楁潗鍏ュ簱")
- @DeleteMapping("/deleteStore")
- public Result deleteStore(@RequestParam("id") Integer id,@RequestParam("consumablesId") Integer consumablesId) {
- storeService.deleteStore(id,consumablesId);
- return Result.success();
- }
-
- @ApiOperation(value = "鏇存柊鑰楁潗鍏ュ簱")
- @PostMapping("/updateStore")
- public Result updateStore(@RequestBody Map<String,Object> map) {
- storeService.updateStore(map);
- return Result.success();
- }
-
-
- @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗鍏ュ簱")
- @GetMapping("/selectStoreById")
- public Result selectStore(Integer id) {
- HashMap<String, Object> map = new HashMap<>();
- ProcurementSuppliesStore procurementSuppliesStore = storeService.getById(id);
- List<ProcurementSuppliesConsumables> list = consumablesService.list(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
- .eq(ProcurementSuppliesConsumables::getStoreId, id));
- map.put("store", procurementSuppliesStore);
- map.put("consumables", list);
- return Result.success(map);
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @GetMapping("/exportExcel/{parentId}")
- public void exportExcel(@PathVariable Integer parentId, HttpServletResponse response) throws IOException {
- storeService.exportExcel(parentId, response);
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/ReservationController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/ReservationController.java
deleted file mode 100644
index 85e691f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/ReservationController.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.ruoyi.requier.controller;
-
-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.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.JackSonUtil;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.pojo.Reservation;
-import com.ruoyi.requier.service.DeviceService;
-import com.ruoyi.requier.service.ReservationService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-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;
-
- @GetMapping("/selectDeviceParameter")
- public Result selectDeviceParameter(Page page,DeviceDto itemParameter,
- @RequestParam(value = "laboratoryNameIsNull", required = false) Boolean laboratoryNameIsNull,
- @RequestParam(value = "starttime", required = false)String starttime,
- @RequestParam(value = "endtime", required = false) String endtime) {
- ArrayList<JSONObject> jsonObjects = reservationService.selectDeviceParameter(page, itemParameter, laboratoryNameIsNull, starttime, endtime);
- return Result.success(jsonObjects);
- }
-
- @GetMapping("/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(@RequestBody Reservation reservation){
- reservation.setCreateDate(LocalDateTime.now());
- reservationService.save(reservation);
- return Result.success();
- }
-
-
- @DeleteMapping("/delete")
- public Result deleteReservation(String ids) {
- String[] idArray = ids.split(",");
- reservationService.removeBatchByIds(Arrays.asList(idArray));
- return Result.success();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java
deleted file mode 100644
index 3c67874..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.pojo.SupplierManagement;
-import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
-import com.ruoyi.requier.service.SupplierManagementService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-import java.util.Map;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 02:46:45
- */
-@Api(tags = "渚涘簲鍟嗙鐞�")
-@RestController
-@RequestMapping("/supplierManagement")
-@AllArgsConstructor
-public class SupplierManagementController {
-
- @Autowired
- private SupplierManagementService supplierManagementService;
-
- @Autowired
- private ProcurementSuppliesContentsService procurementSuppliesContentsService;
-
- @ApiOperation("鏌ヨ渚涙柟鍚嶅綍")
- @GetMapping("/selectSupplierManagementByParentId/{parentId}")
- public Result<List<SupplierManagement>> selectSupplierManagementByParentId(@PathVariable Integer parentId) throws Exception {
- return Result.success(supplierManagementService.selectSupplierManagementByParentId(parentId));
- }
-
-
- @ApiOperation("鍒嗛〉鏌ヨ鍚堟牸渚涙柟鍚嶅綍")
- @GetMapping("/selectQualifiedSupplierManagementPage")
- public Result<IPage<SupplierManagement>> selectQualifiedSupplierManagement(SupplierManagement supplierManagement, Page page) throws Exception {
- return Result.success(supplierManagementService.selectQualifiedSupplierManagement(page, supplierManagement));
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ渚涘簲鍟�")
- @GetMapping("/selectQualifiedSupplierManagementById/{supplierManagementId}")
- public Result<List<SupplierManagement>> selectQualifiedSupplierManagementById(@PathVariable Integer supplierManagementId) throws Exception {
- return Result.success(supplierManagementService.selectQualifiedSupplierManagementById(supplierManagementId));
- }
-
- @ApiOperation("鏂板渚涘簲鍟�")
- @PostMapping("/addSupplierManagement")
- public Result addSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
- supplierManagement.setCreateUser(SecurityUtils.getUserId().intValue());
- return Result.success(supplierManagementService.save(supplierManagement));
- }
-
- @ApiOperation("淇敼渚涘簲鍟�")
- @PostMapping("/updateSupplierManagement")
- public Result updateSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
- supplierManagement.setUpdateUser(SecurityUtils.getUserId().intValue());
- return Result.success(supplierManagementService.updateById(supplierManagement));
- }
-
- @ApiOperation("鍒犻櫎渚涘簲鍟�")
- @DeleteMapping("/delSupplierManagement/{id}")
- public Result delSupplierManagement(@PathVariable Integer id) {
- return Result.success(supplierManagementService.removeById(id));
- }
-
- @ApiOperation("瀵煎嚭渚涘簲鍟�")
- @GetMapping("/exportSupplierManagement/{parentId}")
- public void exportSupplierManagement(@PathVariable Integer parentId, HttpServletResponse response) throws Exception {
- supplierManagementService.exportSupplierManagement(parentId, response);
- }
-
- @ApiOperation("鏌ヨ鍏ㄩ儴渚涙柟鍚嶅綍")
- @GetMapping("/selectSupplierManagementAll")
- public Result<List<SupplierManagement>> selectSupplierManagementAll() throws Exception {
- return Result.success(supplierManagementService.selectSupplierManagementAll());
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java
deleted file mode 100644
index c114f66..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.ruoyi.requier.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
-import com.ruoyi.requier.service.SuppliersDirectoryContentsService;
-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.time.LocalDateTime;
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-17 06:14:51
- */
-@Api(tags = "渚涘簲鍟嗙鐞嗘爲")
-@RestController
-@RequestMapping("/suppliersDirectoryContents")
-public class SuppliersDirectoryContentsController {
-
- @Autowired
- private SuppliersDirectoryContentsService suppliersDirectoryContentsService;
-
- @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
- @GetMapping("/suppliersDirectoryContentsListing")
- public Result suppliersDirectoryContentsListing() {
- return Result.success(suppliersDirectoryContentsService.directoryListing());
-
- }
-
- @ApiOperation(value = "鏍规嵁id鏌ヨ")
- @GetMapping("/selectSuppliersDirectoryContentsById")
- public Result selectSuppliersDirectoryContentsById(Integer id) {
- return Result.success(suppliersDirectoryContentsService.getById(id));
- }
-
- @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
- @PostMapping("/addSuppliersDirectoryContents")
- public Result addSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents ) {
- suppliersDirectoryContents.setUpdateTime(LocalDateTime.now());
- suppliersDirectoryContentsService.save(suppliersDirectoryContents);
- return Result.success(suppliersDirectoryContents.getId());
- }
-
- @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
- @PostMapping("/updateSuppliersDirectoryContents")
- public Result updateSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents) {
- return Result.success(suppliersDirectoryContentsService.updateById(suppliersDirectoryContents));
- }
-
- @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
- @DeleteMapping("/deleteSuppliersDirectoryContentsById")
- public Result deleteSuppliersDirectoryContentsById(Integer id) {
- List<SuppliersDirectoryContents> list = suppliersDirectoryContentsService.list(new LambdaQueryWrapper<SuppliersDirectoryContents>()
- .eq(SuppliersDirectoryContents::getParentId, id));
- if(list.size() > 0) {
- throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
- }
- suppliersDirectoryContentsService.removeById(id);
- return Result.success();
- }
-
- @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
- @GetMapping("/getSuppliersDirectoryContentsNodeNames")
- public Result getSuppliersDirectoryContentsNodeNames() {
- return Result.success(suppliersDirectoryContentsService.getSuppliersDirectoryContentsNodeNames());
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ADto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ADto.java
deleted file mode 100644
index 74d174b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ADto.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class ADto {
-
- private int k;
- private String v;
- private String i;
- private String p;
- private boolean self;
- private List<BDto> c;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java
deleted file mode 100644
index 287ca9a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class AcceptanceDto {
-
- private FeStandardSubstanceAcceptance acceptance;
-
- private List<FeStandardSubstanceAcceptanceInspection> list;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/BDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/BDto.java
deleted file mode 100644
index dbadaba..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/BDto.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import lombok.Data;
-
-@Data
-public class BDto {
-
- private int k;
- private String v;
- private String i;
- private String u;
- private String p;
- private String g;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/DataConfigDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DataConfigDto.java
deleted file mode 100644
index abd37e0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DataConfigDto.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.DataConfig;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class DataConfigDto {
-
- private List<DataConfig> dataConfigList;
-
- private Boolean isDevice;
-
- @ApiModelProperty("鏂囦欢鍚庣紑")
- private String fileType;
-
- @ApiModelProperty("閲囬泦鍦板潃")
- private String collectUrl;
-
- @ApiModelProperty("瀛樺偍鍦板潃")
- private String storageUrl;
-
- @ApiModelProperty("璁惧IP")
- private String ip;
-
- @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
- private String entrustCode;
-
- @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
- private String sampleCode;
-
- @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
- private String dbFileName;
-
- @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
- private String fiberOpticRibbon;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceConfigDtoPage.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceConfigDtoPage.java
deleted file mode 100644
index f09a3f4..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceConfigDtoPage.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class DeviceConfigDtoPage {
-
- @ApiModelProperty(value = "璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
- @TableField(fill = FieldFill.INSERT)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏂囦欢鍚庣紑")
- private String fileType;
-
- @ApiModelProperty(value = "閲囬泦鍦板潃")
- private String collectUrl;
-
- @ApiModelProperty(value = "瀛樺偍鍦板潃")
- private String storageUrl;
-
- @ApiModelProperty(value = "IP鍦板潃")
- private String ip;
-
- @ApiModelProperty(value = "妫�楠岄」")
- private String inspectionItem;
-
- @ApiModelProperty(value = "妫�楠岄」瀛愰」")
- private String inspectionItemSubclass;
-
- @ApiModelProperty(value = "鍏紡")
- private String formula;
-
- @ApiModelProperty(value = "鍙傜収X")
- private String referx;
-
- @ApiModelProperty(value = "X")
- private String x;
-
- @ApiModelProperty(value = "鍙傜収Y")
- private String refery;
-
- @ApiModelProperty(value = "Y")
- private String y;
-
- private Integer id;
-
- @ApiModelProperty(value = "妫�楠屽璞�")
- private String sample;
-
- @ApiModelProperty(value = "妫�楠岄」鐩甶d")
- private Integer structureItemParameterId;
-
- @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
- private String entrustCode;
-
- @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
- private String sampleCode;
-
- @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
- private String dbFileName;
-
- @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
- private String fiberOpticRibbon;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceDto.java
deleted file mode 100644
index 5e850c6..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceDto.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.ruoyi.requier.pojo.Device;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.time.LocalDateTime;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class DeviceDto extends Device {
-
- @ApiModelProperty(value = "绠$悊浜�")
- private String equipmentManagerUser;
-
- @ApiModelProperty(value = "鎵�灞為儴闂�")
- @JsonInclude(JsonInclude.Include.NON_NULL)
- private String laboratoryName;
-
- @ApiModelProperty(value = "妫�楠岄」鐩�")
- private String insProductItem;
-
- @ApiModelProperty(value = "绠$悊浜哄鍚�")
- private String equipmentManagerName;
-
- @ApiModelProperty(value = "琚巿鏉冧汉濮撳悕")
- private String authorizedPersonName;
-
- @ApiModelProperty(value = "鏍稿噯璇佷功缂栧彿")
- private String calibrateNo;
-
- @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
- private LocalDateTime lastCalibrationDateTwo;
-
- @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
- private LocalDateTime nextCalibrationDateTwo;
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceFaultOneDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceFaultOneDto.java
deleted file mode 100644
index 442893f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceFaultOneDto.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/dto/DeviceMaintenanceExport.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMaintenanceExport.java
deleted file mode 100644
index d3421a0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMaintenanceExport.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.ruoyi.requier.dto;
-
-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-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java
deleted file mode 100644
index 1f8493d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-import com.ruoyi.requier.pojo.DeviceMetricsCopy;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class DeviceMetricRecordDto extends DeviceMetricRecord {
-
- private List<DeviceMetricsCopy> deviceMetricsCopyList;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java
deleted file mode 100644
index 804e9d9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeIllumination;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class FeIlluminationAddDto extends FeIllumination {
-
- @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
- private List<FeIlluminationDetectionArea> illuminationDetectionAreaList;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java
deleted file mode 100644
index 554ec20..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeIllumination;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@Data
-public class FeIlluminationDto extends FeIllumination {
- @ApiModelProperty("妫�娴嬭��")
- private String checkerUser;
-
- @ApiModelProperty("鏍告煡浜�")
- private String testerUser;
-
- @ApiModelProperty("璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty("璁惧缂栧彿")
- private String managementNumber;
-
- @ApiModelProperty("鏍″噯鏃ユ湡")
- private Date calibrationDate;
-
- @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
- private Date nextCalibrationDate;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java
deleted file mode 100644
index 3749a13..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeIllumination;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @Author zhuo
- * @Date 2024/11/28
- */
-@Data
-public class FeIlluminationExportDto extends FeIllumination {
-
- @ApiModelProperty("璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty("璁惧缂栧彿")
- private String managementNumber;
-
- @ApiModelProperty("鏍″噯鏃ユ湡")
- private String calibrationDateString;
-
- @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
- private String nextCalibrationDateString;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java
deleted file mode 100644
index 7adfb9c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-import com.ruoyi.requier.pojo.FePowerStable;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class FePowerStableAddDto extends FePowerStable {
-
- @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
- private List<FeMeasuredQuantity> feMeasuredQuantityList;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java
deleted file mode 100644
index 5eb16b6..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FePowerStable;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@Data
-public class FePowerStableDto extends FePowerStable {
-
- @ApiModelProperty("妫�娴嬭��")
- private String checkerUser;
-
- @ApiModelProperty("鏍告煡浜�")
- private String testerUser;
-
- @ApiModelProperty("璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty("璁惧缂栧彿")
- private String managementNumber;
-
- @ApiModelProperty("鏍″噯鏃ユ湡")
- private Date calibrationDate;
-
- @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
- private Date nextCalibrationDate;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java
deleted file mode 100644
index 8c52cfc..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FePowerStable;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @Author zhuo
- * @Date 2024/11/28
- */
-@Data
-public class FePowerStableExportDto extends FePowerStable {
-
- @ApiModelProperty("娴嬭瘯鏃ユ湡")
- private String testDateString;
-
- @ApiModelProperty("璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty("璁惧缂栧彿")
- private String managementNumber;
-
- @ApiModelProperty("鏍″噯鏃ユ湡")
- private String calibrationDateString;
-
- @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
- private String nextCalibrationDateString;
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java
deleted file mode 100644
index 3179d2e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeTempHumDate;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class FeTempHumDateDto extends FeTempHumDate {
-
- @ApiModelProperty("鍒涘缓浜�")
- private String createName;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java
deleted file mode 100644
index 29a4308..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.FeTempHumRecord;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class FeTempHumRecordDto extends FeTempHumRecord {
-
- @ApiModelProperty("涓嬪崍璁板綍鍛樺悕绉�")
- private String afternoonRecorderUser;
-
- @ApiModelProperty("涓婂崍璁板綍鍛樺悕绉�")
- private String morningRecorderUser;
-
- @ApiModelProperty("妫�娴嬪ぉ")
- private Integer month;
-
- @ApiModelProperty("涓嬪崍鏃堕棿")
- private String afternoonTimeStr;
-
- @ApiModelProperty("涓婂崍-鏃堕棿")
- private String morningTestTimeStr;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java
deleted file mode 100644
index 532fee7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.deepoove.poi.data.PictureRenderData;
-import com.ruoyi.requier.pojo.ForeignRegister;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @Author zhuo
- * @Date 2024/11/19
- */
-@Data
-public class ForeignRegisterDto extends ForeignRegister {
-
- @ApiModelProperty("寮�濮嬫椂闂�")
- private String beginDate;
-
- @ApiModelProperty("缁撴潫鏃堕棿")
- private String endDate;
-
- @ApiModelProperty("闄悓浜哄憳绛惧悕")
- private PictureRenderData accompanyingRender;
-
- @ApiModelProperty("鎵瑰噯浜哄憳绛惧悕")
- private PictureRenderData approveRender;
-
- @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
- private String accompanyingUrl;
-
- @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
- private String approveUrl;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/IncidentReportAddDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/IncidentReportAddDto.java
deleted file mode 100644
index b0616cb..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/IncidentReportAddDto.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/dto/InformationNotificationDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/InformationNotificationDto.java
deleted file mode 100644
index 11ced67..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/InformationNotificationDto.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.InformationNotification;
-import lombok.Data;
-
-@Data
-public class InformationNotificationDto extends InformationNotification {
- private String senderUser;
-
- private String consigneeUser;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/InstructionDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/InstructionDto.java
deleted file mode 100644
index 66c9c93..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/InstructionDto.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.Instruction;
-import com.ruoyi.requier.pojo.OperationInstruction;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class InstructionDto extends Instruction {
-
- private List<OperationInstruction> feTempHumRecordList;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java
deleted file mode 100644
index 4072707..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.InternalWastes;
-import com.ruoyi.requier.pojo.InternalWastesDetail;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @Author zhuo
- * @Date 2024/11/19
- */
-@Data
-public class InternalWastesDto extends InternalWastes {
-
- @ApiModelProperty("涓夊簾鐧昏璇︽儏")
- private List<InternalWastesDetail> wastesDetailList;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/OperationInstructionDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/OperationInstructionDto.java
deleted file mode 100644
index 18c2e72..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/OperationInstructionDto.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java
deleted file mode 100644
index 14b6450..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class ProcurementSuppliesExpendDto extends ProcurementSuppliesExpends {
-
- /**
- * 椤圭洰鑰楁潗鍚嶇О
- */
- @ApiModelProperty("椤圭洰鑰楁潗鍚嶇О")
- private String listName;
-
- /**
- * 褰曞叆浜哄悕绉�
- */
- @ApiModelProperty("褰曞叆浜哄悕绉�")
- private String enterUserName; //
-
- /**
- * 鏇存柊浜哄悕绉�
- */
- @ApiModelProperty("鏇存柊浜哄悕绉�")
- private String updateUserName; //
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java
deleted file mode 100644
index 5b00229..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import lombok.Data;
-
-@Data
-@ExcelIgnoreUnannotated
-public class ProcurementSuppliesListDto extends ProcurementSuppliesList {
- @ExcelProperty("鍙傝�冧緵搴斿晢")
- private String supplierName; // 渚涘簲鍟嗗悕绉�
- @ExcelProperty("鏇存柊浜�")
- private String updateUserName; // 鏇存柊浜哄悕绉�
- @ExcelProperty("璐熻矗浜�")
- private String personInChargeName; // 璐熻矗浜哄悕绉�
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java
deleted file mode 100644
index f75318a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@Data
-@ExcelIgnoreUnannotated
-public class ProcurementSuppliesListEDto {
- @TableId(value = "id", type = IdType.AUTO)
- @ApiModelProperty("缂栧彿")
- @ExcelProperty("缂栧彿")
- private Long id;
-
- @ApiModelProperty("鐩綍id")
- @ExcelProperty("鐩綍")
- private Long contentsId;
-
- @ApiModelProperty("鑰楁潗绫诲瀷")
- @ExcelProperty("绫诲埆")
- private String consumablesType;
-
- @ApiModelProperty("璐у彿")
- @ExcelProperty("璐у彿")
- private String itemNumber;
-
- @ApiModelProperty("鑰楁潗鍚嶇О")
- @ExcelProperty("鍚嶇О")
- private String consumablesName;
-
- @ApiModelProperty("瑙勬牸")
- @ExcelProperty("瑙勬牸")
- private String specifications;
-
- @ApiModelProperty("璁¢噺鍗曚綅")
- @ExcelProperty("璁¢噺鍗曚綅")
- private String unit;
-
- @ApiModelProperty("鍙傝�冧环鏍�")
- @ExcelProperty("鍙傝�冧环鏍�")
- private BigDecimal referencePrice;
-
- @ApiModelProperty("瀛樻斁浣嶇疆")
- @ExcelProperty("瀛樻斁浣嶇疆")
- private Integer contentId;
-
- @ApiModelProperty("璐熻矗浜�")
- @ExcelProperty("璐熻矗浜�")
- private Integer personInCharge;
-
- @ApiModelProperty("搴撳瓨涓婇檺")
- @ExcelProperty("搴撳瓨涓婇檺")
- private Integer upperLimit;
-
- @ApiModelProperty("搴撳瓨涓嬮檺")
- @ExcelProperty("搴撳瓨涓嬮檺")
- private Integer lowerLimit;
-
- @ApiModelProperty("渚涘簲鍟�")
- @ExcelProperty("渚涘簲鍟�")
- private Integer supplier;
-
- @ApiModelProperty("鑰楁潗鍥炬爣")
- @ExcelProperty("鑰楁潗鍥炬爣")
- private String consumablesIcon;
-
- @ApiModelProperty("鑰楁潗闄勪欢")
- @ExcelProperty("鑰楁潗闄勪欢")
- private String attachment;
-
- @ApiModelProperty("澶囨敞")
- @ExcelProperty("澶囨敞")
- private String remark;
-
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @ExcelProperty("鍒涘缓鏃堕棿")
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty("鏇存柊鏃堕棿")
- @ExcelProperty("鏇存柊鏃堕棿")
- private LocalDateTime updateTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @ApiModelProperty("鏇存柊浜�")
- @ExcelProperty("鏇存柊浜�")
- private Integer updateUser;
-
- @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
- @ExcelProperty("褰撳墠搴撳瓨")
- private Integer currentAmount;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/ReservationDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/ReservationDto.java
deleted file mode 100644
index d9e9712..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/ReservationDto.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.Reservation;
-import lombok.Data;
-
-@Data
-public class ReservationDto extends Reservation {
-
- private String name;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java
deleted file mode 100644
index 81ab776..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class StoreDto extends ProcurementSuppliesStore {
-
-
- @ApiModelProperty("鑰楁潗鍚嶇О")
- private String consumablesName;
-
- @ApiModelProperty("鍏ュ簱鏁伴噺")
- private Integer storeNumber;
-
- @ApiModelProperty("鍏ュ簱鎬讳环")
- private Double totalPrice;
-
- @ApiModelProperty("鐧昏浜�")
- private String registrantName;
-
- @ApiModelProperty("鍏ュ簱浜�")
- private String storageUserName;
-
- private Integer consumablesId;
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java
deleted file mode 100644
index 3fb2358..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.ruoyi.requier.dto;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ExcelIgnoreUnannotated
-public class SupplierManagementDto {
-
- @ApiModelProperty("渚涘簲鍟�")
- @ExcelProperty("渚涘簲鍟�")
- private String supplierName;
-
- @ApiModelProperty("缂栧彿")
- @ExcelProperty("缂栧彿")
- private String supplierRef;
-
- @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
- @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
- private String supplierItemServiceName;
-
- @ApiModelProperty("閭紪")
- @ExcelProperty("閭紪")
- private String postalCode;
-
- @ApiModelProperty("鍦板潃")
- @ExcelProperty("鍦板潃")
- private String adress;
-
- @ApiModelProperty("鑱旂郴浜�")
- @ExcelProperty("鑱旂郴浜�")
- private String contacts;
-
- @ApiModelProperty("鑱旂郴鐢佃瘽")
- @ExcelProperty("鑱旂郴鐢佃瘽")
- private String phone;
-
- @ApiModelProperty("鎴峰悕")
- @ExcelProperty("鎴峰悕")
- private String householdName;
-
- @ApiModelProperty("浼犵湡")
- @ExcelProperty("浼犵湡")
- private String fax;
-
- @ApiModelProperty("寮�鎴疯")
- @ExcelProperty("寮�鎴疯")
- private String openingName;
-
- @ApiModelProperty("缃戝潃")
- @ExcelProperty("缃戝潃")
- private String website;
-
- @ApiModelProperty("璐﹀彿")
- @ExcelProperty("璐﹀彿")
- private String accountName;
-
- @ApiModelProperty("email")
- @ExcelProperty("email")
- private String email;
-
- @ApiModelProperty("澶囨敞")
- @ExcelProperty("澶囨敞")
- private String remarks;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java
deleted file mode 100644
index 5981c56..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.ruoyi.requier.excel;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-public class FeCalibrationScheduleExport {
- @ExcelProperty("浠櫒鍚嶇О")
- private String instrumentName;
-
- @ExcelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ExcelProperty("绠$悊缂栧彿")
- private Integer managementNumber;
-
- @ExcelProperty("鎶�鏈寚鏍�")
- private String technicalIndicators;
-
- @ExcelProperty("妫�瀹氬懆鏈�")
- private String verificationCyde;
-
- @ExcelProperty("妫�瀹氬崟浣�")
- private String verificationUnit;
-
- @ExcelProperty("鏈�杩戞瀹氭椂闂�")
- private LocalDateTime recentlyTime;
-
- @ExcelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
- private LocalDateTime nextTime;
-
- @ExcelProperty("澶囨敞")
- private String remark;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java
deleted file mode 100644
index 589d217..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.excel;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-
-@Data
-public class FeLightningProtectionExcel {
- @ExcelProperty("鍘熸枃浠跺悕")
- private String fileName;
-
- @ExcelProperty("妫�娴嬫棩鏈�")
- private String detectionDate;
-
- @ExcelProperty("鏈夋晥鏈�")
- private String termValidity;
-
- @ExcelProperty("妫�娴嬪崟浣�")
- private String detectionUnit;
-
- @ExcelProperty("鍒涘缓鏃堕棿")
- private String createTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java
deleted file mode 100644
index 2820ccd..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.ruoyi.requier.excel;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-public class FeStandardSubstanceExcel {
- @ExcelProperty("鏍囧噯鐗╄川鍚嶇О")
- private String name;
-
- @ExcelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ExcelProperty("鐢熶骇鍘傚")
- private String factoryManufacturer;
-
- @ExcelProperty("鍑哄満缂栧彿")
- private String factoryNum;
-
- @ExcelProperty("绠$悊缂栧彿")
- private String manageNum;
-
- @ExcelProperty("涓嶇‘瀹氬害")
- private String uncertainty;
-
- @ExcelProperty("鏁伴噺")
- private Long quantity;
-
- @ExcelProperty("璐疆鏃ユ湡")
- private LocalDateTime acquisitionDate;
-
- @ExcelProperty("鏈夋晥鏈�")
- private LocalDateTime effectiveDate;
-
- @ExcelProperty("鏂囨。缂栧彿")
- private String fileNum;
-
- @ExcelProperty("瀛樻斁浣嶇疆")
- private String position;
-
- @ExcelProperty("鍊熻皟鐘舵��")
- private Integer state;
-
- @ExcelProperty("澶囨敞")
- private String remark;
-
- @ExcelProperty("鍒涘缓浜�")
- private String createUser;
-
- @ExcelProperty("鍒涘缓鏃ユ湡")
- private LocalDateTime createTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/excel/IncidentReportExport.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/IncidentReportExport.java
deleted file mode 100644
index 4935314..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/excel/IncidentReportExport.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java b/cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java
deleted file mode 100644
index 26bb425..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.ruoyi.requier.excel;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import lombok.Data;
-
-import java.time.LocalDate;
-
-@Data
-public class StoreExcel {
- @ExcelProperty("鍏ュ簱鍗曞彿")
- private String oddNumbers;
-
- @ExcelProperty("鑰楁潗鍚嶇О")
- private String consumablesName;
-
- @ExcelProperty("鍏ュ簱鏁伴噺")
- private Integer storeNumber;
-
- @ExcelProperty("鍏ュ簱鎬讳环")
- private Double totalPrice;
-
- @ExcelProperty("鍏ュ簱浜�")
- private String storageUserName;
-
- @ExcelProperty("鍏ュ簱鏃ユ湡")
- private LocalDate storageTime;
-
- @ExcelProperty("璇存槑")
- private String remark;
-
- @ExcelProperty("鐧昏浜�")
- private String registrantName;
-
- @ExcelProperty("鐧昏鏃ユ湡")
- private LocalDate registrantTime;
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/BasicReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/BasicReportHandler.java
deleted file mode 100644
index 7d07526..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/BasicReportHandler.java
+++ /dev/null
@@ -1,556 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.util.MyUtil;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsOrderMapper;
-import com.ruoyi.inspect.mapper.InsSampleMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsReport;
-import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.text.Collator;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-/**
- * 鍩虹鎶ュ憡澶勭悊绫�
- */
-public class BasicReportHandler {
-
- /**
- * 榛樿琛ㄦ牸瀹藉害
- */
- private final static int[] DEFAULT_COL_WIDTHS = {650, 1600, 2000, 750, 2800, 1100, 1100};
-
- /**
- * 鍏夌氦琛ㄦ牸瀹藉害
- */
- private final static int[] FIBER_COL_WIDTHS = {650, 1700, 2000, 750, 2000, 1800, 1100};
-
- private final InsOrderMapper baseMapper;
-
- private final InsOrderPlanServiceImpl insOrderPlanServiceImpl;
-
- private final InsSampleMapper insSampleMapper;
-
- public BasicReportHandler(InsOrderMapper insOrderMapper, InsOrderPlanServiceImpl insOrderPlanServiceImpl, InsSampleMapper insSampleMapper){
- this.baseMapper = insOrderMapper;
- this.insOrderPlanServiceImpl = insOrderPlanServiceImpl;
- this.insSampleMapper = insSampleMapper;
- }
-
- /**
- * 鍐欏叆鏂规硶
- * @param samples 鎵�鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables 妫�楠岄」琛ㄦ牸鏁版嵁
- * @param standardMethod 鏍囧噯鏂规硶
- * @param models 鎵�鏈夋牱鍝佺殑鍨嬪彿
- * @param unEqualSet 鍘婚噸鐨勬墍鏈夋楠岄」鐩暟閲�
- * @param modelDl 鐢靛姏鐗规畩鍨嬪彿澶勭悊
- * @param deviceSet 鍘婚噸鐨勬墍鏈夋楠岄」浣跨敤璁惧鍒楄〃
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables,
- Set<String> standardMethod, Set<String> models, Set<String> unEqualSet,
- List<String> modelDl, Set<String> deviceSet){
- //澶勭悊鍏夌氦椤圭洰鍜屾澗濂楃,鎺掗櫎娓╁害寰幆
- List<InsProduct> fiberList = new ArrayList<>();
- samples.forEach(s->{
- fiberList.addAll(s.getInsProduct().stream().filter(p->(p.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")&&Objects.isNull(p.getSpecialItemParentId())
- ||(p.getSonLaboratory().equals("鏉愭枡璇曢獙瀹�")&&Objects.nonNull(p.getInsFiberId()))
- ||(p.getInspectionItem().contains("鏉惧绠�")||p.getInspectionItemSubclass().contains("鏉惧绠�")))
- &&!p.getInspectionItem().equals("娓╁害寰幆")).collect(Collectors.toList()));
- });
- if(!fiberList.isEmpty()){
- //鏍规嵁妫�楠岄」鍒嗙粍
- Map<String, List<InsProduct>> groupMap = fiberList.stream().collect(Collectors.groupingBy(g -> MyUtil.joinChars("",g.getInspectionItem(),g.getInspectionItemSubclass())));
- SampleProductDto sampleProductDto = new SampleProductDto();
- List<InsProduct> handleProductList = new ArrayList<>();
- for (String s : groupMap.keySet()) {
- if(!groupMap.get(s).isEmpty()){
- List<String> lastValueList = groupMap.get(s).stream().map(InsProduct::getLastValue).map(String::trim).collect(Collectors.toList());
- String lastValue = "";
- boolean a = lastValueList.contains("绗﹀悎");
- if(lastValueList.contains("绗﹀悎") || lastValueList.contains("涓嶇鍚�") || lastValueList.contains("涓嶅垽瀹�")){
- long count1 = lastValueList.stream().filter(f->f.equals("绗﹀悎")).count();
- long count2 = lastValueList.stream().filter(f->f.equals("涓嶇鍚�")).count();
- if(count1>0&&count2==0){
- lastValue = "绗﹀悎";
- }else if(count2>0){
- lastValue = "涓嶇鍚�";
- }else{
- lastValue="涓嶅垽瀹�";
- }
- }else {
- double maxLastValue = lastValueList.stream().mapToDouble(Double::parseDouble).max().orElse(0);
- double minLastValue = lastValueList.stream().mapToDouble(Double::parseDouble).min().orElse(0);
- lastValue = minLastValue+"-"+maxLastValue;
-
- }
- InsProduct insProduct = groupMap.get(s).get(0);
- sampleProductDto.setModel(insProduct.getModel());
- insProduct.setLastValue(lastValue);
- handleProductList.add(insProduct);
- }
- }
- handleProductList.sort((o1,o2)->{
- //鏍规嵁妫�楠岄」鎺掑簭
- if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
- List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
- if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
- return Integer.MAX_VALUE;
- }
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
- }
- //妫�楠屽瓙椤规帓搴�
- if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
- if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
- }
- }
- return 0;
- });
- sampleProductDto.setInsProduct(handleProductList);
- //鍐欏叆琛ㄦ牸
- writeTableRow(sampleProductDto,insReport,tables,FIBER_COL_WIDTHS);
- }
- samples.forEach(a -> {
- Set<Integer> set = new HashSet<>();
- Map<Integer, String> map2 = new HashMap<>();
- //娣诲姞鎵�鏈夋楠岄」
- unEqualSet.addAll(a.getInsProduct().stream().map(m->m.getInspectionItem()+m.getInspectionItemSubclass()).collect(Collectors.toList()));
- models.add(a.getModel());
- standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId()));
- insOrderPlanServiceImpl.getTemplateThing(set, map2, a.getInsProduct());
- for (InsProduct b : a.getInsProduct()) {
- if("鐢靛姏璇曢獙瀹�".equals(b.getSonLaboratory()) && Arrays.asList("閽㈡潗","閾濇潗").contains(b.getSample())){
- modelDl.add(b.getModel());
- }
- if (b.getInsProductResult() != null) {
- if (ObjectUtils.isNotEmpty(b.getInsProductResult().getEquipValue())) {
- List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
- for (JSONObject jsonObject : jsonObjects) {
- if (!(jsonObject.get("v") + "").isEmpty()) {
- deviceSet.add(jsonObject.get("v") + "");
- }
- }
- }
- }
- }
- //鍐欏叆琛ㄦ牸
- //鎺掗櫎鍏夌氦璇曢獙瀹ょ殑椤圭洰鍜屾澗濂楃锛岄櫎浜嗘俯搴﹀惊鐜�
- a.setInsProduct(a.getInsProduct().stream()
- .filter(p->(!p.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")&&Objects.isNull(p.getInsFiberId()))||p.getInspectionItem().equals("娓╁害寰幆"))
- .filter(p->!p.getInspectionItem().contains("鏉惧绠�")&&!p.getInspectionItemSubclass().contains("鏉惧绠�"))
- .collect(Collectors.toList()));
- writeTableRow(a,insReport,tables,DEFAULT_COL_WIDTHS);
- });
- }
-
- /**
- * 鍐欏叆琛ㄦ牸琛�
- * @param a 鏍峰搧淇℃伅
- * @param insReport report瀵硅薄
- * @param tables 妫�楠岄」琛ㄦ牸瀵硅薄
- * @param colWidths 琛ㄦ牸鍒楀璁剧疆
- */
- private static void writeTableRow(SampleProductDto a,InsReport insReport,List<Map<String,Object>> tables,int[] colWidths){
- List<RowRenderData> rows = new ArrayList<>();
- AtomicInteger index = new AtomicInteger();
- Set<String> itemSet = new HashSet<>();
- for (int i = 0; i < 3 + a.getInsProduct().size(); i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- if (i >= 2 && i < 2 + a.getInsProduct().size()) {
- if (itemSet.add(a.getInsProduct().get(i - 2).getInspectionItem())) {
- index.getAndIncrement();
- }
- }
- //鍒楁暟
- for (int j = 0; j < 7; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setFontSize(10);
- style.setColor("000000");
- textRenderData.setStyle(style);
- if (i == 0) {
- //绗竴琛�
- if (j == 0 || j == 1) {
- //绗竴鍒楀拰绗簩鍒�
- if(StringUtils.isNotBlank(a.getSampleCode())){
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1");
- }else{
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2 || j == 3) {
- //绗笁鍒楀拰绗洓鍒�
- if(StringUtils.isNotBlank(a.getSampleCode())){
- textRenderData.setText(a.getSampleCode() + "鈭�2");
- }else{
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4) {
- //绗簲鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗叚鍒楀拰绗竷鍒�
- textRenderData.setText(a.getModel() + "鈭�3");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("搴忓彿@No.");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1 || j == 2) {
- //绗簩鍒楀拰绗笁鍒�
- textRenderData.setText("妫�娴嬮」鐩瓳Testing item鈭�4");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 3) {
- //绗洓鍒�
- textRenderData.setText("鍗曚綅@Unit");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4) {
- //绗簲鍒�
- textRenderData.setText("鏍囧噯瑕佹眰@Requirement");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 5) {
- //绗叚鍒�
- textRenderData.setText("妫�楠岀粨鏋淍Test result");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗竷鍒�
- textRenderData.setText("缁撹@Conclusion");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (i == 2 + a.getInsProduct().size()) {
- //鏈�鍚庝竴琛�
- if (j == 0 || j == 1) {
- //绗竴鍒楀拰绗簩鍒�
- textRenderData.setText("澶囨敞鈭�5");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑鍒�
- textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆侤鈥溾垰鈥� indicates test item is qualified,鈥溍椻�� indicates test item is not qualified 鈭�6");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- //鍏朵綑琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(index + "鈭�2" + index);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- InsProduct insProduct = a.getInsProduct().get(i - 2);
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclass())) {
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
- String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- textRenderData.setText(str + "鈭�3" + str);
- } else {
- textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
- }
- } else {
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
- String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- textRenderData.setText(str + "鈭�3" + str);
- } else {
- textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁鍒�
- InsProduct insProduct = a.getInsProduct().get(i - 2);
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclass())) {
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclassEn())) {
- String str = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- textRenderData.setText(str);
- } else {
- textRenderData.setText(insProduct.getInspectionItemSubclass());
- }
- } else {
- if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
- String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- textRenderData.setText(str + "鈭�3" + str);
- } else {
- textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 3) {
- //绗洓鍒�
- textRenderData.setText(ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getUnit()) ? a.getInsProduct().get(i - 2).getUnit() : "");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4) {
- //绗簲鍒�
- textRenderData.setText(a.getInsProduct().get(i - 2).getTell());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 5) {
- //绗叚鍒�
- textRenderData.setText(a.getInsProduct().get(i - 2).getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗竷鍒�
- InsProduct p = a.getInsProduct().get(i - 2);
- if (p.getInsResult() == 0) {
- textRenderData.setText("脳");
- } else if (a.getInsProduct().get(i - 2).getInsResult() == 1) {
- textRenderData.setText("鈭�");
- } else {
- textRenderData.setText("-");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- //鍐欏叆琛ㄦ牸鐨勮
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
-
- List<TableRenderData> tables1 = new ArrayList<>();
- tableRenderData.setRows(new ArrayList<>());
- double totalHeight = 0;
- double heightThreshold = 700.0; // 鍗曢〉楂樺害闃堝��
- List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
- List<RowRenderData> endRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
- // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
- firstTwoRows.add(rows.get(0));
- firstTwoRows.add(rows.get(1));
- endRows.add(rows.get(rows.size() - 1));
- for (RowRenderData row : rows) {
- double rowHeight = row.getRowStyle().getHeight(); // 鑾峰彇褰撳墠琛岀殑琛岄珮
- // 鍒ゆ柇瀛椾綋鍐呭鏄惁鏈夊鐨�, 澶氱殑琛岄珮涔樺�嶆暟
- RowRenderData lastRaw = rows.get(rows.size() - 1);
- // 鎺掗櫎鏈�鍚庝竴琛�
- if (rows.get(0) != row && rows.get(1) != row && lastRaw != row) {
- // 璋冩暣楂樺害
- rowHeight = adjustRowHeight(row, rowHeight);
- }
- totalHeight += rowHeight; // 鏇存柊鎬昏楂�
- if (totalHeight> heightThreshold) {
- tableRenderData.getRows().addAll(endRows);
- // 鍒涘缓鏂拌〃鏍煎苟澶嶅埗鍓嶄袱琛�
- TableRenderData newTableRenderData = new TableRenderData();
- newTableRenderData.setRows(new ArrayList<>(firstTwoRows));
- //璁剧疆鏍峰紡
- TableStyle tableStyle = new TableStyle();
- tableStyle.setColWidths(colWidths);
- tableStyle.setWidth("10000");
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- newTableRenderData.setTableStyle(tableStyle);
- // 娣诲姞鏈�鍚庝竴琛�
- tableRenderData.addRow(rows.get(rows.size() - 1));
- tables1.add(tableRenderData);
- tableRenderData = newTableRenderData;
- totalHeight = 180 + rowHeight;//180涓烘柊椤甸潰琛ㄥご鍜屾渶鍚庝竴琛岀殑楂樺害
- }
- tableRenderData.getRows().add(row);
- }
- if (!tableRenderData.getRows().isEmpty() && tableRenderData.getRows().size() != 3) {
- //璁剧疆鏍峰紡
- TableStyle tableStyle = new TableStyle();
- tableStyle.setColWidths(colWidths);
- tableStyle.setWidth("10000");
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- tables1.add(tableRenderData);
- }
- tables1.forEach(table -> {
- Map<String, Object> tableMap = new HashMap<>();
- tableMap.put("table", table);
- tableMap.put("report", insReport);
- tables.add(tableMap);
- });
- }
-
-
-
- /**
- * 璋冩暣楂樺害
- * @param row
- * @param rowHeight
- * @return
- */
- private static double adjustRowHeight(RowRenderData row, double rowHeight) {
- // 鏍规嵁妫�楠岄」鐩悕绉拌繘琛岄珮搴﹁皟鏁�
- //鏍规嵁妫�楠岄」(i:1)銆佹楠屽瓙椤�(i:2)銆佹爣鍑嗚姹�(i:4)涓瓧绗︽渶闀跨殑鏉ヨ绠�
- TextRenderData insItemData = (TextRenderData) row.getCells().get(1).getParagraphs().get(0).getContents().get(0);
- if(insItemData.getText().contains("鎴愬垎鍒嗘瀽")){
- return rowHeight;
- }
- TextRenderData insSubItemData = (TextRenderData) row.getCells().get(2).getParagraphs().get(0).getContents().get(0);
- TextRenderData requiredData = (TextRenderData) row.getCells().get(4).getParagraphs().get(0).getContents().get(0);
- String dataText = insItemData.getText();
- if(insSubItemData.getText().length()>dataText.length()){
- dataText = insSubItemData.getText();
- }
- if(Objects.nonNull(requiredData) && requiredData.getText().length()>dataText.length()){
- dataText = requiredData.getText();
- }
- TextRenderData valueData = (TextRenderData) row.getCells().get(5).getParagraphs().get(0).getContents().get(0);
- String valueText = valueData.getText();
- // 鑾峰彇妫�娴嬪唴瀹瑰垽鏂槸鍚﹁秴鍑�
- if (StringUtils.isNotBlank(dataText)) {
- double number = 1;
- double chinaLength = 10;
- double englishLength = 20;
- double valueLength = 2;
- // 鏍规嵁@绗﹀彿鎴彇涓嫳鏂�
- String[] splits = dataText.split("鈭�");
- String[] split;
- if(splits.length>0){
- split = splits[0].split("@");
- }else{
- split = dataText.split("@");
- }
- // 鏂囧瓧鍊嶆暟
- double chinaMultiple = (Math.ceil(split[0].length() / chinaLength)) - 1;
- // 鑻辨枃鍊嶆暟
- double englishMultiple = 0;
- if(split.length>1){
- englishMultiple = (Math.ceil(split[1].length() / englishLength)) - 1;
- }
- double multiple = number + chinaMultiple * 0.5 + englishMultiple * 0.5;
- if (StringUtils.isNotBlank(valueText)) {
- double valueMultiple = (Math.ceil(valueText.length() / valueLength)) - 1;
- if (multiple < number + valueMultiple * 0.4) {
- multiple = number + valueMultiple * 0.4;
- }
- }
- rowHeight = rowHeight * multiple;
- }
- return rowHeight;
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberConfigReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberConfigReportHandler.java
deleted file mode 100644
index 0977bdb..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberConfigReportHandler.java
+++ /dev/null
@@ -1,617 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.MyUtil;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsSampleMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsReport;
-import com.ruoyi.inspect.pojo.InsSample;
-import com.ruoyi.inspect.vo.InsProductFiberVO;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.text.Collator;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-/**
- * 鍏夌氦閰嶇疆鎶ュ憡澶勭悊绫�
- */
-public class FiberConfigReportHandler {
-
- /**
- * 榛樿琛ㄦ牸瀹藉害
- */
- private final static int[] DEFAULT_COL_WIDTHS = {1600,0, 1200, 1200, 1200, 1200, 1200, 1200,1200};
-
- private final InsProductMapper insProductMapper;
- private final InsSampleMapper insSampleMapper;
-
- public FiberConfigReportHandler(InsProductMapper insProductMapper, InsSampleMapper insSampleMapper){
- this.insProductMapper = insProductMapper;
- this.insSampleMapper = insSampleMapper;
- }
-
- private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
-
- private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
-
- /**
- *
- * @param samples 鎵�鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables2 鍏夌氦閰嶇疆闄勪欢琛ㄦ牸琛屽垪琛�
- * @param colorDict 鑹叉爣瀛楀吀
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables2,
- List<String> colorDict){
- AtomicInteger index2 = new AtomicInteger(1);//椤电爜
- samples.forEach(sample -> {
- //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜岃壊鏍�
- List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsFiberList(sample.getId());
- //鏍规嵁鑹叉爣鍒嗙粍
- Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
- .filter(p->!p.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��"))
- .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getColor()));
- if(groupProducts.isEmpty()){
- return;
- }
- List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
- if (o1.length > 1 && o2.length > 1) {
- if (!Objects.equals(o1[0], o2[0])) {
- Integer o1Index = colorDict.indexOf(o1[0]);
- Integer o2Index = colorDict.indexOf(o2[0]);
- return o1Index.compareTo(o2Index);
- }
- if (!Objects.equals(o1[1], o2[1])) {
- Integer o1Index = colorDict.indexOf(o1[1]);
- Integer o2Index = colorDict.indexOf(o2[1]);
- return o1Index.compareTo(o2Index);
- }
- }
- return 0;
- }).collect(Collectors.toList());
- List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
- //妫�楠岄」鍒楄〃(琛ㄥご)
- List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
- //鏍规嵁妫�楠岄」鎺掑簭
- if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
- List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
- if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
- return Integer.MAX_VALUE;
- }
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
- }
- //妫�楠屽瓙椤规帓搴�
- if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
- if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
- }
- }
- return 0;
- }).map(insProduct -> {
- String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
- }).distinct().collect(Collectors.toList());
- long size = itemMap.size();
- long size2 = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().count();
- long number = 7;
- long k = 0;
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
- for (long c = 0; c < size; c++) {
- if (c % number == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�
- for (long i = 0; i < size2 + a + 1; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (long j = 0; j < 9; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- if(i==0){
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode()+"鈭�4566");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 3) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode()+"鈭�4566");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 4) {
- //绗簩鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 5) {
- //绗簩鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 6) {
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 7) {
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- if(itemMap.size()>(int) (j - 2 + k)){
- String inspectionItem = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText("鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else if (a == 2 && i == 2) {
- //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if(itemMap.size()>(int)(j - 2 + k)){
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText("鈭�" + splits[0]);
- } else {
- textRenderData.setText("鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else{
- //寰幆鑹叉爣
- String key = sortKeys.get((int)i-3);
- if(itemMap.size()>(int) (j - 2 + k)) {
- int index = Math.max((int) (j - 2 + k), 0);
- String item = itemMap.get(index);
- InsProductFiberVO insProduct = groupProducts.get(key).stream()
- .filter(p->{
- String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
- String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
- return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
- }).findFirst().orElse(new InsProductFiberVO());
- //濉��
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(insProduct.getBushColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(insProduct.getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((index+1)==groupProducts.get(key).size()){
- textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
- }else{
- textRenderData.setText(insProduct.getLastValue());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
-
- textRenderData.setText("鈭憀ast"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑4");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table2", tableRenderData);
- table.put("report", insReport);
- table.put("sample_number", sample.getSampleCode());
- table.put("type", sample.getModel());
- table.put("index2", index2.get());
- tables2.add(table);
- k += 7;
- index2.getAndIncrement();
- }
- }
- });
- }
-
-
- /**
- * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
- * @param fiberList 鍏夌氦椤圭洰淇℃伅
- * @param tables2 鍏夌氦闄勪欢琛ㄦ牸
- */
- public void writeFiberEnclosureTableRow(List<InsProduct> fiberList, List<Map<String, Object>> tables2,InsReport insReport) {
- AtomicInteger index2 = new AtomicInteger(1);//椤电爜
- int colCount = 9;//琛ㄦ牸鎬诲垪鏁�
- int itemCount = 7;//琛ㄦ牸椤圭洰鍒楁暟
- int k = 0;//宸查亶鍘嗘楠岄」鏁伴噺
- //妫�楠岄」鍒楄〃(琛ㄥご)
- List<String> itemMap = fiberList.stream().map(insProduct -> {
- String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
- }).sorted(Comparator.naturalOrder()).distinct().collect(Collectors.toList());
- //鏍规嵁鏍峰搧id鍒嗙粍
- Map<Integer,List<InsProduct>> groupProducts = fiberList.stream()
- .collect(Collectors.groupingBy(InsProduct::getInsSampleId));
- //sampleId椤哄簭鎺掑簭
- List<Integer> sortKeys = groupProducts.keySet().stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
- for (int c = 0; c < itemMap.size(); c++) {
- if (c % itemCount == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�(鏍峰搧鏁伴噺+琛ㄥご)
- int tableRow = sortKeys.size() + a;
- for (int i = 0; i < tableRow; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (int j = 0; j < colCount; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- //绗竴琛�
- if(i==0){
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else{
- //鐢熸垚琛ㄥご
- if(itemMap.size()> (j - 2 + k)){
- String inspectionItem = itemMap.get(j - 2 + k).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText("鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else if (a == 2 && i == 1) {
- //鏈夌埗瀛愰」鐩叧绯荤殑绗簩琛�
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if(itemMap.size()> (j - 2 + k)){
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get(j - 2 + k).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText("鈭�" + splits[0]);
- } else {
- textRenderData.setText("鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else{
- //寰幆鏍峰搧
- Integer key = sortKeys.get(i-2);
- if(itemMap.size()>j - 2 + k) {
- //鏌ヨ褰撳墠鏍峰搧淇℃伅
- InsSample insSample = insSampleMapper.selectById(key);
- int index = Math.max(j - 2 + k, 0);
- String item = itemMap.get(index);
- InsProduct insProduct = groupProducts.get(key).stream()
- .filter(p->{
- String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
- String insItemSubClass = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
- return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insItemSubClass));
- })
- .findFirst().orElse(new InsProduct());
- //濉��
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText(insSample.getSampleCode()+"鈭�"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((index+1)==groupProducts.get(key).size()){
- textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
- }else{
- textRenderData.setText(insProduct.getLastValue());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- textRenderData.setText("鈭憀ast"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("鍏夌氦鎶ュ憡闄勪欢琛ㄦ牸鍒楁暟涓嶅尮閰�");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
-// tableStyle.setColWidths(DEFAULT_COL_WIDTHS);
-// tableStyle.setWidth("10000");
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table2", tableRenderData);
- table.put("report", insReport);
- table.put("index2", index2.get());
- tables2.add(table);
- k += 7;
- index2.getAndIncrement();
- }
- }
-
-
- }
-
- /**
- * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
- * @param ribbonList 鍏夌氦椤圭洰淇℃伅
- * @param tables6 鍏夌氦甯﹀昂瀵稿弬鏁伴檮浠惰〃鏍�
- */
- public void writeFiberOpticRibbonEnclosureTableRow(List<InsProduct> ribbonList, List<Map<String, Object>> tables6,InsReport insReport){
-
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticConnectorLossReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticConnectorLossReportHandler.java
deleted file mode 100644
index ae64968..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticConnectorLossReportHandler.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.MyUtil;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsReport;
-import com.ruoyi.inspect.pojo.InsSample;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * 鍏夌氦鎺ュご鎹熻�楁姤鍛婂鐞嗙被
- */
-public class FiberOpticConnectorLossReportHandler {
-
- private final InsProductMapper insProductMapper;
-
- public FiberOpticConnectorLossReportHandler(InsProductMapper insProductMapper){
- this.insProductMapper = insProductMapper;
- }
-
- /**
- *
- * @param insProducts0 褰撳墠璁㈠崟涓嬬殑鎵�鏈夋楠岄」
- * @param insSamples 褰撳墠璁㈠崟鎵�鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables4 鍏夌氦鎺ュご鎹熻�楅檮浠惰〃鏍艰鏁版嵁
- */
- public void doWrite(List<InsProduct> insProducts0,
- List<InsSample> insSamples,
- InsReport insReport,
- List<Map<String,Object>> tables4){
-// //鍘婚噸鐨勬楠岄」鐩�
- List<String> filteredProducts = insProducts0.stream()
- .map(insProduct -> (MyUtil.joinChars(",",insProduct.getInspectionItem(),insProduct.getInspectionItemEn(),insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn(),insProduct.getTell())))
- .distinct().collect(Collectors.toList());
- long index4 = 0;
- //鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡杩樻槸tables4
- //鏌ヨ鏍峰搧(鍙煡璇㈠甫"/")鐨勬暟閲�
- List<InsSample> sampleList = insSamples.stream().filter(insSample -> insSample.getSampleCode().contains("/")).collect(Collectors.toList());
- //杩囨护鍑哄厜绾ゆ帴澶存崯鑰楃殑妫�楠岄」鐩�
- List<String> strings = filteredProducts.stream().filter(s -> s.contains("鍏夌氦鎺ュご鎹熻��")).distinct().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
- long index41 = 1;
- for (int i = 0; i < sampleList.size(); i++) {
- if (i % 16 == 0) {
- //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍�
- List<RowRenderData> rows = new ArrayList<>();
- int count2 = sampleList.size() - (index41 - 1) * 16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17;
- //琛ㄦ牸鐨勮鏁�
- for (int j = 0; j < count2; j++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (int k = 0; k < 6; k++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- textRenderData.setStyle(style);
- if (j == 0) {
- //绗竴琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦绫诲瀷@Fiber type");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k == 1 || k == 2) {
- //绗簩 涓夊垪
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�3333");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- String[] split = strings.get(k - 3).split(",");
- if (ObjectUtils.isEmpty(split[3]) || split[3].isEmpty()) {
- textRenderData.setText(split[2]);
- } else {
- textRenderData.setText(split[2] + "@" + split[3]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText(sampleList.get(0).getModel() + "鈭�44");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k == 1) {
- //绗簩鍒�
- textRenderData.setText(sampleList.get(j - 1).getSampleCode().split("/")[0]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k == 2) {
- //绗笁鍒�
- textRenderData.setText(sampleList.get(j - 1).getSampleCode().split("/")[1]);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鏍规嵁瀵瑰簲鐨勬牱鍝佺紪鍙峰拰妫�楠岄」鐩煡璇㈠搴旀暟鎹�(鏈�缁堝��)
- String[] split = strings.get(k - 3).split(",");
- // 濡傛灉鏄楠岄」涓哄厜绾ゆ帴澶存崯鑰楋紝鍒欏彇绗竴鏉�
- InsProduct insProduct = null;
- if(split[0].equals("鍏夌氦鎺ュご鎹熻��")) {
- insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId())
- .eq(InsProduct::getInspectionItem, split[0])
- .eq(InsProduct::getInspectionItemSubclass, split[2])).get(0);
- }else {
- insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId())
- .eq(InsProduct::getInspectionItem, split[0])
- .eq(InsProduct::getInspectionItemSubclass, split[2]));
- }
- textRenderData.setText(insProduct.getLastValue());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- /*for (CellRenderData cell : row.getCells()) {
- System.out.print(cell.getParagraphs().get(0).getContents());
- }
- System.out.println("");*/
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑3");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table4", tableRenderData);
- table.put("report", insReport);
- table.put("index4", index4 + 1);
- tables4.add(table);
- index4++;
- index41++;
- }
- }
- tables4.forEach(table4 -> {
- table4.put("tableSize4", tables4.size());
- });
-
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticRibbonReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticRibbonReportHandler.java
deleted file mode 100644
index aa98b07..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/FiberOpticRibbonReportHandler.java
+++ /dev/null
@@ -1,734 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import cn.hutool.json.JSONUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.MyUtil;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsSampleMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsReport;
-import com.ruoyi.inspect.pojo.InsSample;
-import com.ruoyi.inspect.vo.InsProductFiberVO;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.text.Collator;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-/**
- * 鍏夌氦甯﹀昂瀵稿弬鏁版姤鍛婂鐞嗙被
- */
-public class FiberOpticRibbonReportHandler {
-
- /**
- * 榛樿琛ㄦ牸瀹藉害
- */
- private final static int[] DEFAULT_COL_WIDTHS = {1600,0, 1200, 1200, 1200, 1200, 1200, 1200,1200};
-
- private final InsProductMapper insProductMapper;
- private final InsSampleMapper insSampleMapper;
-
- public FiberOpticRibbonReportHandler(InsProductMapper insProductMapper, InsSampleMapper insSampleMapper){
- this.insProductMapper = insProductMapper;
- this.insSampleMapper = insSampleMapper;
- }
-
- private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
-
- private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
-
- /**
- *
- * @param samples 鎵�鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables6 灏哄鍙傛暟闄勪欢琛ㄦ牸琛屽垪琛�
- * @param colorDict 鑹叉爣瀛楀吀
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables6,
- List<String> colorDict){
- AtomicInteger index6 = new AtomicInteger(1);//椤电爜
- samples.forEach(sample -> {
- //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜屽厜绾ゅ甫缂栧彿
- List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsFibersList(sample.getId());
- //鏍规嵁鍏夌氦甯︾紪鍙�
- Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
- .filter(p->p.getInspectionItem().equals("灏哄鍙傛暟"))
- .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getCode()));
- if(groupProducts.isEmpty()){
- return;
- }
- List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
- if (o1.length > 1 && o2.length > 1) {
- if (!Objects.equals(o1[0], o2[0])) {
- Integer o1Index = colorDict.indexOf(o1[0]);
- Integer o2Index = colorDict.indexOf(o2[0]);
- return o1Index.compareTo(o2Index);
- }
- if (!Objects.equals(o1[1], o2[1])) {
- Integer o1Index = colorDict.indexOf(o1[1]);
- Integer o2Index = colorDict.indexOf(o2[1]);
- return o1Index.compareTo(o2Index);
- }
- }
- return 0;
- }).collect(Collectors.toList());
- List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
- //妫�楠岄」鍒楄〃(琛ㄥご)
- List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
- //鏍规嵁妫�楠岄」鎺掑簭
- if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
- List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
- if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
- return Integer.MAX_VALUE;
- }
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
- }
- //妫�楠屽瓙椤规帓搴�
- if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
- if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
- }
- }
- return 0;
- }).map(insProduct -> {
- String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
- }).distinct().collect(Collectors.toList());
- long size = itemMap.size();//琛ㄥご闀垮害
- long size2 = insProducts1.stream().map(InsProduct::getInsFibersId).distinct().count();
- long number = 10;
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
- for (long c = 0; c < size; c++) {
- if (c % number == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�
- for (long i = 0; i < size2 + a + 2; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (long j = 0; j < 12; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- if(i==0){
- //绗竴琛�
- if (j<=2) {
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j >2&&j<=5) {
- textRenderData.setText(sample.getSampleCode()+"鈭�4566");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j >5&&j<=8) {
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText("鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (a == 2 && i == 2) {
- //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j >1&& j<=3) {
- String[] splits = itemMap.get(0).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j>3&&j<=5) {
- String[] splits = itemMap.get(1).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j >5&&j<=7) {
- String[] splits = itemMap.get(2).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j >7&&j<=9) {
- String[] splits = itemMap.get(3).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else{
- String[] splits = itemMap.get(4).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if ( i == 3) {
- //绗洓琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((int)(j - 2)%2==0){
- textRenderData.setText("A绔�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- textRenderData.setText("B绔�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else{
- //寰幆鍏夌氦甯︾紪鍙�
- String key = sortKeys.get((int)i-4);
- String item;
- if (j<=3) {
- item = itemMap.get(0);
- }
- else if (j>3&&j<=5) {
- item = itemMap.get(1);
- }
- else if (j >5&&j<=7) {
- item = itemMap.get(2);
- }
- else if (j >7&&j<=9) {
- item = itemMap.get(3);
- } else{
- item = itemMap.get(4);
- }
- InsProductFiberVO insProduct = groupProducts.get(key).stream()
- .filter(p->{
- String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
- String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
- return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
- }).findFirst().orElse(new InsProductFiberVO());
- //濉��
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(insProduct.getBushColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(insProduct.getCode());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((int)(j - 2)%2==0){
- textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(0));
- }else{
- textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(1));
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑6");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table6", tableRenderData);
- table.put("report", insReport);
- table.put("sample_number", sample.getSampleCode());
- table.put("type", sample.getModel());
- table.put("index6", index6.get());
- tables6.add(table);
- index6.getAndIncrement();
- }
- }
- });
- }
-
- /**
- * 鏍煎紡鍖栨楠岃繃绋嬪�糺son瀛楃涓�
- * @param insValue 妫�楠岃繃绋嬪�糺son瀛楃涓�
- * @return
- */
- private static List<String> transformInsValue(String insValue){
- List<String> list = new ArrayList<>();
- if(!insValue.isEmpty() && !"[]".equals(insValue)){
- for (Object o : JSONUtil.parseArray(insValue)) {
- JSONObject obj = JSON.parseObject(JSON.toJSONString(o));
- if(Objects.nonNull(obj.get("v"))){
- list.add(obj.get("v").toString());
- }
- }
- }
- return list;
- }
-
- /**
- * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
- * @param ribbonList 鍏夌氦椤圭洰淇℃伅
- * @param tables6 鍏夌氦甯﹀昂瀵稿弬鏁伴檮浠惰〃鏍�
- */
- public void writeFiberOpticRibbonEnclosureTableRow(List<InsProductFiberVO> ribbonList, List<Map<String, Object>> tables6,InsReport insReport){
- AtomicInteger index6 = new AtomicInteger(1);//椤电爜
- int colCount = 12;//琛ㄦ牸鎬诲垪鏁�
- int itemCount = 10;//琛ㄦ牸椤圭洰鍒楁暟
- //妫�楠岄」鍒楄〃(琛ㄥご)
- List<String> itemMap = ribbonList.stream().sorted((o1,o2)->{
- //鏍规嵁妫�楠岄」鎺掑簭
- if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
- List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
- if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
- return Integer.MAX_VALUE;
- }
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
- }
- //妫�楠屽瓙椤规帓搴�
- if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
- if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
- }
- }
- return 0;
- }).map(insProduct -> {
- String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
- }).distinct().collect(Collectors.toList());
- //鏍规嵁鏍峰搧id鍒嗙粍
- Map<Integer,List<InsProductFiberVO>> groupProducts = ribbonList.stream()
- .collect(Collectors.groupingBy(InsProductFiberVO::getInsSampleId));
- //sampleId椤哄簭鎺掑簭
- List<Integer> sortKeys = groupProducts.keySet().stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
- for (int c = 0; c < itemMap.size(); c++) {
- if (c % itemCount == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�(鏍峰搧鏁伴噺+琛ㄥご)
- int tableRow = sortKeys.size() + a + 1;
- for (int i = 0; i < tableRow; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (int j = 0; j < colCount; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- //绗竴琛�
- if(i==0){
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else{
- //鐢熸垚琛ㄥご
- if(itemMap.size()> (j - 2)){
- String inspectionItem = itemMap.get(j - 2).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText("鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else if (a == 2 && i == 1) {
- //鏈夌埗瀛愰」鐩叧绯荤殑绗簩琛�
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j >1&& j<=3) {
- String[] splits = itemMap.get(0).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j>3&&j<=5) {
- String[] splits = itemMap.get(1).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j >5&&j<=7) {
- String[] splits = itemMap.get(2).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j >7&&j<=9) {
- String[] splits = itemMap.get(3).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else{
- String[] splits = itemMap.get(4).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 2) {
- //绗笁琛�
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((j - 2) %2==0){
- textRenderData.setText("A绔�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- textRenderData.setText("B绔�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else{
- //寰幆鏍峰搧
- Integer key = sortKeys.get(i-3);
- //鏌ヨ褰撳墠鏍峰搧淇℃伅
- InsSample insSample = insSampleMapper.selectById(key);
- int index = Math.max(j - 2, 0);
- String item;
- if (j<=3) {
- item = itemMap.get(0);
- }
- else if (j>3&&j<=5) {
- item = itemMap.get(1);
- }
- else if (j >5&&j<=7) {
- item = itemMap.get(2);
- }
- else if (j >7&&j<=9) {
- item = itemMap.get(3);
- } else{
- item = itemMap.get(4);
- }
- InsProductFiberVO insProduct = groupProducts.get(key).stream()
- .filter(p->{
- String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
- String insItemSubClass = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
- return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insItemSubClass));
- })
- .findFirst().orElse(new InsProductFiberVO());
- //濉��
- if (j < 2) {
- //绗竴鍒�
- textRenderData.setText(insSample.getSampleCode()+"鈭�"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if(index%2==0){
- textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(0));
- }else{
- textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(1));
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
-// if(itemMap.size()>j - 2) {
-// }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("鍏夌氦甯︽姤鍛婇檮浠惰〃鏍煎垪鏁颁笉鍖归厤");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
-// tableStyle.setColWidths(DEFAULT_COL_WIDTHS);
-// tableStyle.setWidth("10000");
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table6", tableRenderData);
- table.put("report", insReport);
- table.put("index6", index6.get());
- tables6.add(table);
- index6.getAndIncrement();
- }
- }
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/PiperConfigReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/PiperConfigReportHandler.java
deleted file mode 100644
index 3c0ab02..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/PiperConfigReportHandler.java
+++ /dev/null
@@ -1,388 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.MyUtil;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsReport;
-import com.ruoyi.inspect.vo.InsProductFiberVO;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.text.Collator;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-/**
- * 鏉惧绠℃姤鍛婂鐞嗙被
- */
-public class PiperConfigReportHandler {
-
-
- private final InsProductMapper insProductMapper;
-
- public PiperConfigReportHandler(InsProductMapper insProductMapper){
- this.insProductMapper = insProductMapper;
- }
-
- private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
-
- private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
-
- /**
- *
- * @param samples 鎵�鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables5 鏉惧绠¢檮浠惰〃鏍艰鍒楄〃
- * @param colorDict 鑹叉爣瀛楀吀
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables5, List<String> colorDict){
- AtomicInteger index5 = new AtomicInteger(1);//椤电爜
- samples.forEach(sample -> {
- //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜岃壊鏍�
- List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsBushList(sample.getId());//鏌ヨ濂楃鐩稿叧鏁版嵁
- //鏍规嵁鑹叉爣鍒嗙粍
- Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
- .filter(p->!p.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��"))
- .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getColor()));
- if(groupProducts.isEmpty()){
- return;
- }
- List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
- if (o1.length > 1 && o2.length > 1) {
- if (!Objects.equals(o1[0], o2[0])) {
- Integer o1Index = colorDict.indexOf(o1[0]);
- Integer o2Index = colorDict.indexOf(o2[0]);
- return o1Index.compareTo(o2Index);
- }
- if (!Objects.equals(o1[1], o2[1])) {
- Integer o1Index = colorDict.indexOf(o1[1]);
- Integer o2Index = colorDict.indexOf(o2[1]);
- return o1Index.compareTo(o2Index);
- }
- }
- return 0;
- }).collect(Collectors.toList());
- List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
- //妫�楠岄」鍒楄〃(琛ㄥご)
- List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
- //鏍规嵁妫�楠岄」鎺掑簭
- if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
- List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
- if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
- return Integer.MAX_VALUE;
- }
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
- }
- //妫�楠屽瓙椤规帓搴�
- if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
- if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
- Collator instance = Collator.getInstance(Locale.CHINA);
- return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
- }
- }
- return 0;
- }).map(insProduct -> {
- String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
- String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
- return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
- }).distinct().collect(Collectors.toList());
- long size = itemMap.size();
- long size2 = insProducts1.stream().map(InsProduct::getInsBushId).distinct().count();
- long number = 7;
- long k = 0;
- //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
- int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
- for (long c = 0; c < size; c++) {
- if (c % number == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�
- for (long i = 0; i < size2 + a + 1; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�
- for (long j = 0; j < 9; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- if(i==0){
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode()+"鈭�4566");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 3) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode()+"鈭�4566");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 4) {
- //绗簩鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 5) {
- //绗簩鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 6) {
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else if (j == 7) {
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- //绗簩鍒�
- textRenderData.setText(sample.getModel()+"鈭�4577");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- if(itemMap.size()>(int) (j - 2 + k)){
- String inspectionItem = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
- textRenderData.setText("鈭�" + inspectionItem);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else if (a == 2 && i == 2) {
- //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if(itemMap.size()>(int)(j - 2 + k)){
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText(splits[0] + "鈭�" + splits[0]);
- } else {
- textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }else{
- //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
- String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
- if (splits.length<2 || "@".equals(splits[1])) {
- textRenderData.setText("鈭�" + splits[0]);
- } else {
- textRenderData.setText("鈭�"+splits[0]+splits[1]);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- else{
- //寰幆鑹叉爣
- String key = sortKeys.get((int)i-3);
- if(itemMap.size()>(int) (j - 2 + k)) {
- int index = Math.max((int) (j - 2 + k), 0);
- String item = itemMap.get(index);
- InsProductFiberVO insProduct = groupProducts.get(key).stream()
- .filter(p->{
- String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
- String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
- return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
- }).findFirst().orElse(new InsProductFiberVO());
- //濉��
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(insProduct.getBushColor()+"鈭�"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(insProduct.getBushColor()+"鈭�"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //椤圭洰淇℃伅
- if((index+1)==groupProducts.get(key).size()){
- textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
- }else{
- textRenderData.setText(insProduct.getLastValue());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
-
- textRenderData.setText("鈭憀ast"+key);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑4");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table5", tableRenderData);
- table.put("report", insReport);
- table.put("sample_number", sample.getSampleCode());
- table.put("type", sample.getModel());
- table.put("index5", index5.get());
- tables5.add(table);
- k += 7;
- index5.getAndIncrement();
- }
- }
- });
- }
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureCyclingReportHandler1.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureCyclingReportHandler1.java
deleted file mode 100644
index ff2cac8..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureCyclingReportHandler1.java
+++ /dev/null
@@ -1,582 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsFiberMapper;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsProductResultMapper;
-import com.ruoyi.inspect.pojo.InsFiber;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsProductResult;
-import com.ruoyi.inspect.pojo.InsReport;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * 娓╁害寰幆鎶ュ憡鐢熸垚澶勭悊鏂规硶
- */
-public class TemperatureCyclingReportHandler1 {
-
- private final InsProductMapper insProductMapper;
-
- private final InsFiberMapper insFiberMapper;
-
- private final InsProductResultMapper insProductResultMapper;
-
- public TemperatureCyclingReportHandler1(InsProductMapper insProductMapper, InsFiberMapper insFiberMapper, InsProductResultMapper insProductResultMapper) {
- this.insProductMapper = insProductMapper;
- this.insFiberMapper = insFiberMapper;
- this.insProductResultMapper = insProductResultMapper;
- }
-
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String, Object>> tables3) {
- AtomicInteger index3 = new AtomicInteger(1);
- // 鑷畾涔夋瘮杈冨櫒
- Comparator<InsProduct> customComparator = Comparator.comparing(
- InsProduct::getInspectionItemSubclass,
- Comparator.naturalOrder()
- );
- samples.forEach(sample -> {
- // 鏌ヨ娓╁害寰幆涓嬬殑妫�楠岄」鐩�
- List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getSpecialItemParentId)
- .isNotNull(InsProduct::getInsFiberId)
- .isNotNull(InsProduct::getInspectionItemClass));
- //鑾峰彇鎵�鏈夊厜绾よ壊鏍�
- List<InsFiber> insFibers = insFiberMapper.selectBatchIds(insPros.stream().map(InsProduct::getInsFiberId).collect(Collectors.toList()));
- //鑾峰彇鍏夌氦鑹叉爣鐨勬暟閲�(琛屾暟)
- long size2 = insPros.stream().map(InsProduct::getInsFiberId).distinct().count();
- //鑾峰彇鎵�鏈夌殑鍏夌氦椤圭洰(1310nm)
- List<String> nm = insPros.stream().map(InsProduct::getInspectionItemClass).distinct().collect(Collectors.toList());
- /*鍏堟牴鎹惊鐜鏁拌繘琛岄亶鍘�*/
- Map<String, List<InsProduct>> xunhuans = insPros.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
- for (int i = 0; i < xunhuans.entrySet().size(); i++) {
- //鑾峰彇璇ュ惊鐜殑鎵�鏈夋俯搴�
- String s1 = String.valueOf((i + 1));
- //杩囨护鍑�20鈩�(甯告俯)鍜�20鈩�
- List<InsProduct> filterList = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20鈩�(甯告俯)")).collect(Collectors.toList());
- List<InsProduct> filterList2 = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20鈩�")).collect(Collectors.toList());
- //鎺掑簭鍏朵粬娓╁害
- List<InsProduct> sortList = xunhuans.get(s1).stream()
- .filter(f->!Arrays.asList("20鈩�(甯告俯)","20鈩�").contains(f.getInspectionItemSubclass()))
- .sorted(customComparator).collect(Collectors.toList());
- //鍚堝苟
- Map<String, List<InsProduct>> wendus = Stream.of(filterList,sortList,filterList2).flatMap(List::stream).collect(Collectors.groupingBy(
- InsProduct::getInspectionItemSubclass,
- LinkedHashMap::new, // 淇濊瘉 Map 涓敭鐨勯『搴忔槸鎻掑叆椤哄簭
- Collectors.toCollection(ArrayList::new) // 淇濊瘉姣忎釜缁勫唴鍏冪礌椤哄簭
- ));
- List<String> wendu = new ArrayList<>(wendus.keySet());
- for (int m = 0; m < wendu.size(); m += 3) {
- //涓変釜娓╁害涓�寮犺〃,褰撻亶鍘嗗埌绗洓涓俯搴︾殑鏃跺�欓渶瑕侀噸鏂板缓琛�
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�(鍏夌氦鑹叉爣鐨勬暟閲�+8)
- for (int j = 0; j < size2 + 8; j++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //琛ㄦ牸鐨勫垪鏁�(2*鍏夌氦椤圭洰*3+1)
- for (int k = 0; k < 6 * nm.size() + 1; k++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- style.setFontSize(10);
- textRenderData.setStyle(style);
- if (j == 0) {
- //绗竴琛�
- if (k <= (6L * nm.size() + 1) / 4) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
- } else if (k > (6L * nm.size() + 1) / 4 && k <= (6L * nm.size() + 1) / 2) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode() + "鈭�998");
- } else if (k > (6L * nm.size() + 1) / 2 && k < 6L * nm.size()) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type 鈭�999");
- } else {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 1) {
- //绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- } else {
- textRenderData.setText("妫�娴嬬粨鏋滐紙dB/km锛�(寰幆" + (i + 1) + ")鈭�1005");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 2) {
- //绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k <= 6L * nm.size() / 3) {
- textRenderData.setText(wendu.get(m) + "鈭�52"+j + m);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- int i1 = m + 1;
- String s = "";
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- textRenderData.setText(s + "鈭�52"+j + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- int i1 = m + 2;
- String s = "";
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- textRenderData.setText(s + "鈭�52" +j+ i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (j == 3) {
- //绗洓琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- for (int j1 = 0; j1 < 3; j1++) {//涓�寮犺〃3涓俯搴�
- for (int i1 = 0; i1 < nm.size(); i1++) {//寰幆鍏夌氦椤圭洰:1310nm
- if (k > 2 * j1 * nm.size() + 2 * i1 && k <= 2 * j1 * nm.size() + 2 * (i1 + 1)) {
- textRenderData.setText(nm.get(i1) + "鈭�88888" + ((k + 1) / nm.size()) + i1);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- }
- }
- else if (j == 4) {
- //绗簲琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 1) {
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
- textRenderData.setText("琛板噺" + "鈭�42" +j+ k);
- } else {
- textRenderData.setText(" 琛板噺 ");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
- textRenderData.setText("琛板噺" + "鈭�42"+j + (k - 1));
- } else {
- textRenderData.setText("|鈭� 伪|");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (j == size2 + 5) {
- //鍊掓暟绗笁琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (k % 2 == 0) {
- String s = "";
- if (k <= 6L * nm.size() / 3) {
- s = wendu.get(m);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- } else {
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- }
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- if (s.equals("")) {
- textRenderData.setText("");
- } else {
- try {
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")){
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
- .stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- {
- String[] splitStr = insProductResult.getComValue().split(":");
- return splitStr[splitStr.length - 1].split("\"")[1];
- }
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- textRenderData.setText(max.get() + "鈭�"+j+ (k-1));
- }else {
- Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
- .stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- }
- } catch (Exception e) {
- textRenderData.setText("");
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else {
- String s = "";
- if (k <= 6L * nm.size() / 3) {
- s = wendu.get(m);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- } else {
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- }
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
- if (s.equals("")) {
- textRenderData.setText("");
- } else {
- List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size()))).stream().map(InsProduct::getId).collect(Collectors.toList());
- List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
- Optional<String> max = insProductResults.stream().map(insProductResult -> {
- {
- String[] splitStr = insProductResult.getComValue().split(":");
- return splitStr[splitStr.length - 1].split("\"")[1];
- }
- }).filter(value -> !value.isEmpty()).max(String::compareTo);
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")){
- textRenderData.setText(max.get() + "鈭�"+j+ k);
- }else {
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (j == size2 + 6) {
- //鍊掓暟绗簩琛�
- if (k == 0) {
- //绗竴鍒�
- textRenderData.setText("|鈭� 伪 max|");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- String s = "";
- if (k <= 6L * nm.size() / 3) {
- s = wendu.get(m);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- } else {
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- }
- //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
- if (s.equals("")) {
- textRenderData.setText("");
- } else {
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
- textRenderData.setText("-" + "鈭�" + j + (k-1));
- } else {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
- try {
- Optional<String> max = insProducts.stream().map(InsProduct::getLastValue)
- .filter(value -> !value.isEmpty())
- .max(String::compareTo);
- if (max.isPresent()) {
- textRenderData.setText(max.get());
- } else {
- textRenderData.setText("");
- }
- } catch (Exception e) {
- textRenderData.setText("");
- }
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
- textRenderData.setText("-" + "鈭�" + j + k);
- } else {
- textRenderData.setText("-");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (j == size2 + 7) {
- //鍊掓暟绗竴琛�
- textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else {
- //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
- if (k == 0) {
- //绗竴鍒楀~鍐欒壊鏍�
- InsFiber insFiber = insFibers.get((j - 5));
- textRenderData.setText(insFiber.getBushColor() + "-" + insFiber.getColor());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (k % 2 == 0) {
- //濉啓琛板噺宸氨鏄痩ast_value
- String s = "";
- if (k <= 6L * nm.size() / 3) {
- s = wendu.get(m);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- } else {
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- }
- if (s.isEmpty()) {
- textRenderData.setText("");
- } else {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
- if (k <= 6L * nm.size() / 3 && s.equals("20鈩�(甯告俯)")) {
- String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
- .getComValue();
- String[] splitStr = comValue.split(":");
- textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "鈭�" + j + (k - 1));
- } else {
- textRenderData.setText(insProducts.get(0).getLastValue());
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
- String s = "";
- if (k <= 6L * nm.size() / 3) {
- s = wendu.get(m);
- } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
- try {
- s = wendu.get(m + 1);
- } catch (Exception e) {
- }
- } else {
- try {
- s = wendu.get(m + 2);
- } catch (Exception e) {
- }
- }
- if (s.equals("")) {
- textRenderData.setText("");
- } else {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
- .eq(InsProduct::getInspectionItem, i + 1)
- .eq(InsProduct::getInspectionItemSubclass, s)
- .eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size())));
- String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
- .getComValue();
- String[] splitStr = comValue.split(":");
- if (k <= 6L * nm.size() / 3 && s.equals("20鈩�(甯告俯)")) {
- textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "鈭�" + j + k);
- } else {
- textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1]);
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (!rowRenderData.getCells().isEmpty()) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table3", tableRenderData);
- table.put("report", insReport);
- table.put("index3", index3.get());
- tables3.add(table);
- index3.getAndIncrement();
- }
- }
- });
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureTestReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureTestReportHandler.java
deleted file mode 100644
index 58aa547..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/TemperatureTestReportHandler.java
+++ /dev/null
@@ -1,367 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsProductResultMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsProductResult;
-import com.ruoyi.inspect.pojo.InsReport;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 娓╁崌璇曢獙鎶ュ憡澶勭悊绫�
- */
-public class TemperatureTestReportHandler {
-
- private final InsProductMapper insProductMapper;
-
- private final InsProductResultMapper insProductResultMapper;
-
- public TemperatureTestReportHandler(InsProductMapper insProductMapper, InsProductResultMapper insProductResultMapper){
- this.insProductMapper = insProductMapper;
- this.insProductResultMapper = insProductResultMapper;
- }
-
- /**
- *
- * @param samples 褰撳墠璁㈠崟鐨勬墍鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables3 娓╁崌璇曢獙闄勪欢琛ㄦ牸鏁版嵁
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables3){
- samples.forEach(sample -> {
- //鏌ヨ娓╁崌璇曢獙涓嬬殑妫�楠岄」鐩�
- List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- //鏌ヨ濉啓鐨勬楠屽�兼湁澶氬皯绉�
- InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0);
- int vCount = StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\"");
- long index3 = 1;
- for (int c = 0; c < vCount; c++) {
- if (c % 16 == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�
- for (int i = 0; i < 3 + vCount; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- String a = null;//瀵肩嚎娓╁害
- String b = null;//鑰愬紶娓╁害
- String d = null;//鎺ョ画娓╁害
- //鍒楁暟
- for (int j = 0; j < 6; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- textRenderData.setStyle(style);
- if (i == 0) {
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type and size");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 3) {
- //绗洓鍒�
- textRenderData.setText(sample.getModel());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4) {
- //绗簲鍒�
- textRenderData.setText("妫�娴嬮」@Testing items");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗叚鍒�
- textRenderData.setText("娓╁崌璇曢獙@Temperature rise test");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("瀵肩嚎娓╁害@Wire temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁鍒�
- textRenderData.setText("鑰愬紶娓╁害@Tensile temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 3) {
- //绗洓鍒�
- textRenderData.setText("鎺ョ画娓╁害@Connection temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗簲鍒楃鍏垪
- textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 2 + vCount) {
- //鏈�鍚庝竴琛�
- if (j == 0 || j == 1) {
- //绗竴鍒楀拰绗簩鍒�
- textRenderData.setText("澶囨敞鈭�101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑鍒�
- textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜102");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else {
- //鍏朵綑琛�
- if (j == 0) {
- //绗竴鍒�(鐜娓╁害)
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
- String vValue = jsonObject.getString("v");
- System.out.println("鐜娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 1) {
- //绗簩鍒�(瀵肩嚎娓╁害)
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
- String vValue = jsonObject.getString("v");
- a = vValue;
- System.out.println("瀵肩嚎娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 2) {
- //绗笁鍒�(鑰愬紶娓╁害)
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
- String vValue = jsonObject.getString("v");
- b = vValue;
- System.out.println("鑰愬紶娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 3) {
- //绗洓鍒�(鎺ョ画娓╁害)
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
- String vValue = jsonObject.getString("v");
- d = vValue;
- System.out.println("鎺ョ画娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- } else {
- textRenderData.setText("");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else {
- //绗簲鍒� 绗叚鍒�(缁撹)
- //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸
- BigDecimal decimal1 = new BigDecimal(a);
- BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b);
- BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d);
- if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) {
- textRenderData.setText("鈭氣垜20"+i);
- } else {
- textRenderData.setText("脳鈭�20"+i);
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (rowRenderData.getCells().size() != 0) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- /*for (CellRenderData cell : row.getCells()) {
- System.out.print(cell.getParagraphs().get(0).getContents());
- }
- System.out.println("");*/
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table3", tableRenderData);
- table.put("report", insReport);
- table.put("index3", index3);
- tables3.add(table);
- index3++;
- }
- }
- });
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/handler/ThermalCycleReportHandler.java b/cnas-require/src/main/java/com/ruoyi/requier/handler/ThermalCycleReportHandler.java
deleted file mode 100644
index 47534c9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/handler/ThermalCycleReportHandler.java
+++ /dev/null
@@ -1,599 +0,0 @@
-package com.ruoyi.requier.handler;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.*;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.inspect.dto.SampleProductDto;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsProductResultMapper;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsProductResult;
-import com.ruoyi.inspect.pojo.InsReport;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
-import org.apache.poi.xwpf.usermodel.TableRowAlign;
-import org.apache.poi.xwpf.usermodel.XWPFTable;
-import org.apache.poi.xwpf.usermodel.XWPFTableCell;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 鐑惊鐜姤鍛婂鐞嗙被
- */
-public class ThermalCycleReportHandler {
-
-
- private final InsProductMapper insProductMapper;
-
- private final InsProductResultMapper insProductResultMapper;
-
- public ThermalCycleReportHandler(InsProductMapper insProductMapper, InsProductResultMapper insProductResultMapper){
- this.insProductMapper = insProductMapper;
- this.insProductResultMapper = insProductResultMapper;
- }
-
- /**
- *
- * @param samples 褰撳墠璁㈠崟鐨勬墍鏈夋牱鍝�
- * @param insReport report瀵硅薄
- * @param tables3 鐑惊鐜檮浠惰〃鏍兼暟鎹�
- */
- public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables3){
- samples.forEach(sample -> {
- //璁$畻鏁版嵁鐨勮鏁�,鍏堟煡鍑烘湁澶氬皯娆″惊鐜�,鍐嶆煡姣忎釜寰幆鐨勫~鍐欐暟閲�
- InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItem, "鐑惊鐜�"));
- String[] split = insProduct.getAsk().split(";");
- Integer cycle = Integer.parseInt(split[split.length - 1]);//寰幆娆℃暟
- int vCount = 0;
- List<Integer> list = new ArrayList<>();
- for (Integer i = 1; i <= cycle; i++) {
- //鏌ユ瘡涓惊鐜噷闈㈢殑濉啓鏁伴噺
- List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .eq(InsProduct::getInspectionItemClass, "鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, i + ""));
- InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0);
- vCount += StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\"");
- list.add(StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\""));
- }
- long index3 = 1;
- for (int c = 0; c < vCount; c++) {
- if (c % 18 == 0) {
- List<RowRenderData> rows = new ArrayList<>();
- //琛ㄦ牸鐨勮鏁�
- for (int i = 0; i < 4 + vCount; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- String a = null;//瀵肩嚎娓╁害
- String b = null;//鑰愬紶娓╁害
- String d = null;//鎺ョ画娓╁害
- //鍒楁暟
- for (int j = 0; j < 9; j++) {
- CellRenderData cellRenderData = new CellRenderData();
- CellStyle cellStyle = new CellStyle();
- cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
- cellRenderData.setCellStyle(cellStyle);
- List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
- ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
- ParagraphStyle paragraphStyle = new ParagraphStyle();
- paragraphStyle.setAlign(ParagraphAlignment.CENTER);
- paragraphRenderData.setParagraphStyle(paragraphStyle);
- List<RenderData> renderData = new ArrayList<>();
- TextRenderData textRenderData = new TextRenderData();
- Style style = new Style();
- style.setFontFamily("瀹嬩綋");
- style.setColor("000000");
- textRenderData.setStyle(style);
- if (i == 0) {
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("鏍峰搧缂栧彿@Sample number");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(sample.getSampleCode());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2 || j == 3) {
- //绗笁鍒楀拰绗洓鍒�
- textRenderData.setText("瑙勬牸鍨嬪彿@Type and size鈭�301");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4 || j == 5) {
- //绗簲鍒楀拰绗叚鍒�
- textRenderData.setText(sample.getModel()+"鈭�302");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 6) {
- //绗竷鍒�
- textRenderData.setText("妫�娴嬮」@Testing items");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗叓鍒楀拰绗節鍒�
- textRenderData.setText("鐑惊鐜疈Thermal cycle鈭�303");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 1) {
- //绗簩琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2 || j == 3) {
- //绗笁鍒楀拰绗洓鍒�
- textRenderData.setText("瀵肩嚎@Conductor鈭�102");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4 || j == 5) {
- //绗簲鍒楀拰绗叚鍒�
- textRenderData.setText("鑰愬紶绾垮す@Tension clamp鈭�103");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 6 || j == 7) {
- //绗竷鍒楃鍏垪
- textRenderData.setText("鎺ョ画閲戝叿@Splicing fittings鈭�104");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗節鍒�
- textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 2) {
- //绗笁琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 2) {
- //绗笁鍒�
- textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 3) {
- //绗洓鍒�
- textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 4) {
- //绗簲鍒�
- textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 5) {
- //绗叚鍒�
- textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 6) {
- //绗竷鍒�
- textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 7) {
- //绗叓鍒�
- textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗節鍒�
- textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else if (i == 3 + vCount) {
- //鏈�鍚庝竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("澶囨敞");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //鍏朵綑鍒�
- textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜108");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- else {
- //鍏朵綑琛�
- if (j == 0) {
- //绗竴鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- textRenderData.setText((m+1)+"");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 1) {
- //绗簩鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3-(aa-list.get(m)));
- String vValue = jsonObject.getString("v");
- System.out.println("鐜娓╁害绗� " + (i - 2-(aa-list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 2) {
- //绗笁鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("v");
- a=vValue;
- System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 3) {
- //绗洓鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("w");
- System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 4) {
- //绗簲鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("v");
- b=vValue;
- System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 5) {
- //绗叚鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("w");
- System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 6) {
- //绗竷鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("v");
- d=vValue;
- System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else if (j == 7) {
- //绗叓鍒�
- int aa= 0;
- for (int m = 0; m < cycle; m++) {
- aa += list.get(m);
- if (i-3<aa){
- InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
- .isNotNull(InsProduct::getSpecialItemParentId)
- .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
- .isNull(InsProduct::getInsFiberId)
- .eq(InsProduct::getInspectionItem, (m+1)+""));
- if (ObjectUtils.isNotEmpty(insPro)) {
- String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
- JSONArray jsonArray = JSONArray.parseArray(insValue);
- JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
- String vValue = jsonObject.getString("w");
- System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
- textRenderData.setText(vValue);
- }else textRenderData.setText("");
- break;
- }
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- else {
- //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸
- BigDecimal decimal1 = new BigDecimal(a);
- BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b);
- BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d);
- if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) {
- textRenderData.setText("鈭�");
- } else {
- textRenderData.setText("脳");
- }
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (rowRenderData.getCells().size() != 0) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- /*for (CellRenderData cell : row.getCells()) {
- System.out.print(cell.getParagraphs().get(0).getContents());
- }
- System.out.println("");*/
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(14);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table = new HashMap<>();
- table.put("table3", tableRenderData);
- table.put("report", insReport);
- table.put("index3", index3);
- tables3.add(table);
- index3++;
- }
- }
-
- });
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DataConfigMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DataConfigMapper.java
deleted file mode 100644
index c8b75e3..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DataConfigMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.dto.DeviceConfigDtoPage;
-import com.ruoyi.requier.pojo.DataConfig;
-
-import java.util.List;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-13 12:23:00
- */
-public interface DataConfigMapper extends BaseMapper<DataConfig> {
-
- List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
-
- List<Integer> deleteDataConfig();
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultMapper.java
deleted file mode 100644
index 117c5d8..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultMapper.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultOneMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultOneMapper.java
deleted file mode 100644
index 4da3db7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceFaultOneMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.DeviceFaultOneDto;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/mapper/DeviceMaintenanceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMaintenanceMapper.java
deleted file mode 100644
index 48dab57..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMaintenanceMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.dto.DeviceMaintenanceExport;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/mapper/DeviceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMapper.java
deleted file mode 100644
index 86646e9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMapper.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.pojo.Device;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 璁惧(Device)琛ㄦ暟鎹簱璁块棶灞�
- */
-public interface DeviceMapper extends BaseMapper<Device> {
-
- IPage<Device> selectDeviceParameter(Page page, QueryWrapper<Device> ew);
- List<Device> selectEquipmentOverview(Page page, QueryWrapper<Device> ew);
-
- //鑾峰彇琚巿鏉冧汉
- List<Device> authorizedPerson();
-
- //鏌ヨ
- List<Device> search(@Param(value = "status") Integer status, @Param(value = "deviceName") String deviceName,
- @Param(value = "specificationModel") String specificationModel, @Param(value = "largeCategory") String largeCategory);
-
- //鑾峰彇鍥剧墖鏁版嵁
- void selectDeviceImage(@Param(value = "name") String name ,@Param(value = "id") Integer id);
-
- //鏌ヨ璁惧璐熻矗浜�
- List<Device> selectDevicePrincipal();
-
- IPage<DeviceDto> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceDto> queryWrappers, @Param("laboratoryNameIsNull") Boolean laboratoryNameIsNull);
-
- List<Map<String, Object>> getInspectionItemSubclass(@Param("id") Integer id);
-
- List<Map<String, Object>> treeDevice(@Param("deviceName") String deviceName);
-
- DeviceDto selectDeviceByCode(Integer id);
-}
-
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java
deleted file mode 100644
index a3d97e7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.DeviceMetric;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricRecordMapper.java
deleted file mode 100644
index 33bc57f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricRecordMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-
-/**
- * <p>
- * 璁惧鏍″噯 - 鏍″噯璁板綍 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-09-27 10:20:01
- */
-public interface DeviceMetricRecordMapper extends BaseMapper<DeviceMetricRecord> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java
deleted file mode 100644
index df794ca..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.DeviceMetricsCopy;
-
-/**
- * <p>
- * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-09-27 10:20:11
- */
-public interface DeviceMetricsCopyMapper extends BaseMapper<DeviceMetricsCopy> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DocumentDao.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DocumentDao.java
deleted file mode 100644
index 7b320ea..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DocumentDao.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.Document;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface DocumentDao extends BaseMapper<Document> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java
deleted file mode 100644
index 81dd7b1..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeCalibrationSchedule;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 02:53:05
- */
-public interface FeCalibrationScheduleMapper extends BaseMapper<FeCalibrationSchedule> {
-
- IPage<FeCalibrationSchedule> ipage(Page page, @Param("instrumentName") String instrumentName, @Param("managementNumber") String managementNumber);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java
deleted file mode 100644
index 1af8871..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:28
- */
-public interface FeIlluminationDetectionAreaMapper extends BaseMapper<FeIlluminationDetectionArea> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java
deleted file mode 100644
index 928edae..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeIlluminationDto;
-import com.ruoyi.requier.dto.FeIlluminationExportDto;
-import com.ruoyi.requier.pojo.FeIllumination;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:15:57
- */
-public interface FeIlluminationMapper extends BaseMapper<FeIllumination> {
-
- IPage<FeIlluminationDto> getFeLightningProtection(Page page);
-
- /**
- * 鏌ヨ鐓ф槑璁板綍
- * @param intensityIlluminationId
- * @return
- */
- FeIlluminationExportDto selectFeIllumination(Integer intensityIlluminationId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java
deleted file mode 100644
index 2a84194..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.excel.FeLightningProtectionExcel;
-import com.ruoyi.requier.pojo.FeLightningProtection;
-
-import java.util.List;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:36
- */
-public interface FeLightningProtectionMapper extends BaseMapper<FeLightningProtection> {
-
- List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java
deleted file mode 100644
index 1222f71..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:44
- */
-public interface FeMeasuredQuantityMapper extends BaseMapper<FeMeasuredQuantity> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java
deleted file mode 100644
index 1ce2f83..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FePowerStableDto;
-import com.ruoyi.requier.dto.FePowerStableExportDto;
-import com.ruoyi.requier.pojo.FePowerStable;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:52
- */
-public interface FePowerStableMapper extends BaseMapper<FePowerStable> {
-
- IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
-
- Map<String, Objects> getCalibrationDate(Integer deviceId);
-
- /**
- * 鏌ヨ鐢垫簮绋冲畾鎬�
- * @param powerStableId
- * @return
- */
- FePowerStableExportDto selectPowerStable(@Param("powerStableId") Integer powerStableId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
deleted file mode 100644
index deb7158..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-
-/**
- * <p>
- * 楠屾敹寮�绠辫褰� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:30:09
- */
-public interface FeStandardSubstanceAcceptanceInspectionMapper extends BaseMapper<FeStandardSubstanceAcceptanceInspection> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java
deleted file mode 100644
index 65ff664..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
-import com.ruoyi.requier.vo.AcceptanceVo;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川楠屾敹 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:29:41
- */
-public interface FeStandardSubstanceAcceptanceMapper extends BaseMapper<FeStandardSubstanceAcceptance> {
-
-
- IPage<AcceptanceVo> getPageAcceptance(Page page, @Param("name")String name);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java
deleted file mode 100644
index 6bc4786..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeStandardSubstance;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 03:58:59
- */
-public interface FeStandardSubstanceMapper extends BaseMapper<FeStandardSubstance> {
-
- IPage<FeStandardSubstance> getPage(Page page,@Param("ew")FeStandardSubstance feStandardSubstance);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java
deleted file mode 100644
index def2916..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeStandardSubstanceRecord;
-import com.ruoyi.requier.vo.SubstanceRecordVo;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 01:49:11
- */
-public interface FeStandardSubstanceRecordMapper extends BaseMapper<FeStandardSubstanceRecord> {
-
-
- IPage<SubstanceRecordVo> getPage(Page page,@Param("ew") SubstanceRecordVo vo);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java
deleted file mode 100644
index 66616dd..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeTempHumDateDto;
-import com.ruoyi.requier.pojo.FeTempHumDate;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-09 11:02:18
- */
-public interface FeTempHumDateMapper extends BaseMapper<FeTempHumDate> {
-
- IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java
deleted file mode 100644
index 3cef462..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeTempHumRecordDto;
-import com.ruoyi.requier.pojo.FeTempHumRecord;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:28:52
- */
-public interface FeTempHumRecordMapper extends BaseMapper<FeTempHumRecord> {
-
- IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java
deleted file mode 100644
index 60cab30..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.ForeignRegisterDto;
-import com.ruoyi.requier.pojo.ForeignRegister;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * 澶栨潵浜哄憳鐧昏 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 07:17:35
- */
-public interface ForeignRegisterMapper extends BaseMapper<ForeignRegister> {
-
- /**
- * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
- * @return
- */
- IPage<ForeignRegisterDto> pageForeignRegister(Page page, @Param("ew") QueryWrapper<ForeignRegisterDto> ew,
- @Param("beginDate") String beginDate,
- @Param("endDate") String endDate);
-
- /**
- * 鏌ヨ澶栨潵浜哄憳鐧昏鍒楄〃
- * @param
- * @return
- */
- List<ForeignRegisterDto> getForeignRegisterList(@Param("ew") QueryWrapper<ForeignRegisterDto> ew,
- @Param("beginDate") String beginDate,
- @Param("endDate") String endDate);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentAcceptanceCheckMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentAcceptanceCheckMapper.java
deleted file mode 100644
index c545b94..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentAcceptanceCheckMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-
-import com.ruoyi.framework.mybatis_config.MyBaseMapper;
-import com.ruoyi.requier.pojo.IncidentAcceptanceCheck;
-
-/**
- * <p>
- * 璁惧楠屾敹-楠屾敹鏍告煡 Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-09-19 04:41:19
- */
-public interface IncidentAcceptanceCheckMapper extends MyBaseMapper<IncidentAcceptanceCheck> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentFileMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentFileMapper.java
deleted file mode 100644
index d607a53..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentFileMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-
-import com.ruoyi.framework.mybatis_config.MyBaseMapper;
-import com.ruoyi.requier.pojo.IncidentFile;
-
-/**
- * <p>
- * 璁惧楠屾敹-鏂囦欢绫荤‘璁� Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-09-19 04:41:36
- */
-public interface IncidentFileMapper extends MyBaseMapper<IncidentFile> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentInstallMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentInstallMapper.java
deleted file mode 100644
index 81b724b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentInstallMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-
-import com.ruoyi.framework.mybatis_config.MyBaseMapper;
-import com.ruoyi.requier.pojo.IncidentInstall;
-
-/**
- * <p>
- * 璁惧楠屾敹-瀹夎楠屾敹妫�鏌� Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-09-19 04:41:50
- */
-public interface IncidentInstallMapper extends MyBaseMapper<IncidentInstall> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentReportMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentReportMapper.java
deleted file mode 100644
index 0c859e0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentReportMapper.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.IncidentReportAddDto;
-import com.ruoyi.requier.excel.IncidentReportExport;
-import com.ruoyi.requier.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);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentSparePartsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentSparePartsMapper.java
deleted file mode 100644
index 0bb84fe..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/IncidentSparePartsMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-
-import com.ruoyi.framework.mybatis_config.MyBaseMapper;
-import com.ruoyi.requier.pojo.IncidentSpareParts;
-
-/**
- * <p>
- * 璁惧楠屾敹-澶囦欢纭 Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-09-19 04:42:06
- */
-public interface IncidentSparePartsMapper extends MyBaseMapper<IncidentSpareParts> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InformationNotificationMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InformationNotificationMapper.java
deleted file mode 100644
index 426406e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InformationNotificationMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.InformationNotificationDto;
-import com.ruoyi.requier.pojo.InformationNotification;
-
-/**
- * <p>
- * 娑堟伅閫氱煡 Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-04-23 02:14:30
- */
-public interface InformationNotificationMapper extends BaseMapper<InformationNotification> {
-
- IPage<InformationNotificationDto> getPage(Page page, String messageType, Integer userId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InstructionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InstructionMapper.java
deleted file mode 100644
index 8fe8276..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InstructionMapper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.Instruction;
-
-/**
- * <p>
- * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-04 10:29:18
- */
-public interface InstructionMapper extends BaseMapper<Instruction> {
-
- IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java
deleted file mode 100644
index 5bb0060..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.InternalWastesDetail;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:54
- */
-public interface InternalWastesDetailMapper extends BaseMapper<InternalWastesDetail> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java
deleted file mode 100644
index 0e364a4..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.InternalWastesDto;
-import com.ruoyi.requier.pojo.InternalWastes;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:27
- */
-@Mapper
-public interface InternalWastesMapper extends BaseMapper<InternalWastes> {
-
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
- * @param page
- * @param ew
- * @return
- */
- IPage<InternalWastesDto> pageInternalWastes(Page page, @Param("ew") QueryWrapper<InternalWastes> ew);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/OperationInstructionMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/OperationInstructionMapper.java
deleted file mode 100644
index a39c08f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/OperationInstructionMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.OperationInstruction;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/mapper/PkMasterMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/PkMasterMapper.java
deleted file mode 100644
index 0872620..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/PkMasterMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.PkMaster;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-29 01:16:26
- */
-public interface PkMasterMapper extends BaseMapper<PkMaster> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/PkSlaveMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/PkSlaveMapper.java
deleted file mode 100644
index 8c4e29e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/PkSlaveMapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.PkSlave;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-29 01:16:39
- */
-public interface PkSlaveMapper extends BaseMapper<PkSlave> {
-
- List<PkSlave> selectList1(@Param("isid") String isid);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java
deleted file mode 100644
index 1f540a1..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface ProcurementSuppliesConsumablesMapper extends BaseMapper<ProcurementSuppliesConsumables> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java
deleted file mode 100644
index 9c6a96a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface ProcurementSuppliesContentsMapper extends BaseMapper<ProcurementSuppliesContents> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java
deleted file mode 100644
index 2fc09fa..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 03:47:19
- */
-public interface ProcurementSuppliesExpendsMapper extends BaseMapper<ProcurementSuppliesExpends> {
-
- IPage<ProcurementSuppliesExpendDto> pageList(Page page, @Param("ew") LambdaQueryWrapper<ProcurementSuppliesExpendDto> eq);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java
deleted file mode 100644
index c16c7b5..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.ProcurementSuppliesListDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 04:04:32
- */
-public interface ProcurementSuppliesListMapper extends BaseMapper<ProcurementSuppliesList> {
- IPage<ProcurementSuppliesList> selectProcurementSuppliesList(Page page,@Param("contentsId") Long contentsId, @Param("ew") QueryWrapper<ProcurementSuppliesListDto> ew);
-
- ProcurementSuppliesList selectProcurementSuppliesListForUpdate(@Param("id") Long id);
-
- List<ProcurementSuppliesList> selectProcurementSuppliesListAll(@Param("ew") ProcurementSuppliesListDto ew);
-
- List<ProcurementSuppliesList> selectProcurementSuppliesListByContentsId(@Param("id") Integer contentsId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java
deleted file mode 100644
index 8325693..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.StoreDto;
-import com.ruoyi.requier.excel.StoreExcel;
-import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProcurementSuppliesStoreMapper extends BaseMapper<ProcurementSuppliesStore> {
-
- IPage<StoreDto> selectStoreList(Page page, @Param("ew") QueryWrapper<StoreDto> ew);
-
- /**
- * 鍜屾爲鍏宠仈鐨勬潯浠讹紝锛岋紝鐩墠娌℃湁鍏宠仈鍏崇郴 WHERE s.contents_id = #{contentsId}
- * @param contentsId
- * @return
- */
- List<StoreExcel> exportExcel(Integer contentsId);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ReservationMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/ReservationMapper.java
deleted file mode 100644
index 07bb465..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/ReservationMapper.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.dto.ReservationDto;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java
deleted file mode 100644
index b2ff085..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.SupplierManagement;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 02:46:45
- */
-@Mapper
-public interface SupplierManagementMapper extends BaseMapper<SupplierManagement> {
-
- IPage<SupplierManagement> pageSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
-
- IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
-
- List<SupplierManagement> selectSupplierManagementAll(@Param("parentId") Integer parentId);
-
- List<SupplierManagement> selectSupplierManagement(@Param("parentId")Integer parentId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java
deleted file mode 100644
index 1fae1c7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
-
-/**
- * <p>
- * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-17 06:14:51
- */
-public interface SuppliersDirectoryContentsMapper extends BaseMapper<SuppliersDirectoryContents> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DataConfig.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DataConfig.java
deleted file mode 100644
index 29f45e2..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DataConfig.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-13 12:23:00
- */
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@TableName("device_data_config")
-@ApiModel(value = "DataConfig瀵硅薄", description = "")
-public class DataConfig implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鍏紡")
- private String formula;
-
- @ApiModelProperty("鍙傜収X")
- private String referx;
-
- @ApiModelProperty("鍙傜収Y")
- private String refery;
-
- @ApiModelProperty("x")
- private String x;
-
- @ApiModelProperty("y")
- private String y;
-
- @ApiModelProperty("璁惧id")
- private Integer deviceId;
-
- @ApiModelProperty("妫�楠岄」鐩�")
- private String inspectionItem;
-
- @ApiModelProperty("妫�楠岄」瀛愰」")
- private String inspectionItemSubclass;
-
- @TableField(exist = false)
- @ApiModelProperty("妫�楠岄」瀛愰」")
- private String insProductItem;
-
- @ApiModelProperty("妫�楠岄」id")
- private Integer structureItemParameterId;
-
- @ApiModelProperty("搴忓彿")
- private String serialNumber;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Device.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/Device.java
deleted file mode 100644
index eec50b2..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Device.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package com.ruoyi.requier.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.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * 璁惧(Device)琛ㄥ璞�
- */
-@TableName(value = "device")
-@Data
-public class Device implements Serializable {
- @ApiModelProperty(value = "涓婚敭")
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty(value = "璁惧鍚嶇О")
- private String deviceName;
-
- @ApiModelProperty(value = "en璁惧鍚嶇О")
- private String enDeviceName;
-
- @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
- private String specificationModel;
-
- @ApiModelProperty(value = "鐢熶骇鍘傚")
- private String manufacturer;
-
- @ApiModelProperty(value = "鍑哄巶缂栧彿")
- private String factoryNo;
-
- @ApiModelProperty(value = "绠$悊缂栧彿")
- private String managementNumber;
-
- @ApiModelProperty(value = "鎶�鏈寚鏍�")
- private String technicalIndicators;
-
- @ApiModelProperty(value = "璐疆鏃ユ湡")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime acquisitionDate;
-
- @ApiModelProperty(value = "鍚敤鏃ユ湡")
- private LocalDateTime activationDate;
-
- @ApiModelProperty(value = "绠$悊浜篒d")
- private Integer equipmentManager;
-
- @ApiModelProperty(value = "瀛樻斁鐐�")
- private String storagePoint;
-
- @ApiModelProperty(value = "鎵�灞為儴闂↖d")
- private Integer subordinateDepartmentsId;
-
- @ApiModelProperty(value = "妫�楠岄」鐩甀d")
- private String insProductIds;
-
- @ApiModelProperty(value = "鏍″噯鏈嶅姟鏈烘瀯")
- private String calibrationServices;
-
- @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
- private LocalDateTime lastCalibrationDate;
-
- @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
- private LocalDateTime nextCalibrationDate;
-
- @ApiModelProperty(value = "璁惧绫诲瀷")
- private String largeCategory;
-
- @ApiModelProperty(value = "鍗曚环")
- private BigDecimal unitPrice;
-
- @ApiModelProperty(value = "璁惧鐘舵��")
- private Integer deviceStatus;
-
- @ApiModelProperty(value = "鏍″噯鍛ㄦ湡(鏈�)")
- private String calibrationDate;
-
- @ApiModelProperty(value = "鍥剧墖涓婁紶")
- private String imageUpload;
-
- @ApiModelProperty(value = "鍥剧墖澶囨敞")
- private String imageName;
-
- @ApiModelProperty(value = "鍒涘缓浜篿d")
- @TableField(fill = FieldFill.INSERT)
- private Integer createUser;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏁伴噰-鏂囦欢鍚庣紑")
- private String fileType;
-
- @ApiModelProperty("鏁伴噰-閲囬泦鍦板潃")
- private String collectUrl;
-
- @ApiModelProperty("鏁伴噰-瀛樺偍鍦板潃")
- private String storageUrl;
-
- @ApiModelProperty("鏁伴噰-璁惧IP")
- private String ip;
-
- @ApiModelProperty("鏁伴噰-鏄惁涓烘暟閲囪澶�")
- @TableField(exist = false)
- private Boolean isItADataAcquisitionDevice;
-
- @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
- private String entrustCode;
-
- @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
- private String sampleCode;
-
- @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
- private String dbFileName;
-
- @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
- private String fiberOpticRibbon;
-
- @ApiModelProperty("琚巿鏉冧汉")
- private String authorizedPerson;
-
- @ApiModelProperty("璧勪骇缂栫爜")
- private String assetCode;
-
- @ApiModelProperty("浜у湴")
- private String origin;
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceFault.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceFault.java
deleted file mode 100644
index 2b79202..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceFault.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/DeviceFaultOne.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceFaultOne.java
deleted file mode 100644
index 8da38f5..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceFaultOne.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/DeviceMaintenance.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMaintenance.java
deleted file mode 100644
index 49db473..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMaintenance.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java
deleted file mode 100644
index d3cfcde..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java
deleted file mode 100644
index c655959..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.alibaba.excel.annotation.write.style.ColumnWidth;
-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 org.springframework.format.annotation.DateTimeFormat;
-
-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 = "璁惧鏍″噯 - 鏍″噯璁板綍")
-@ExcelIgnoreUnannotated
-public class DeviceMetricRecord implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("璁板綍缂栧彿")
- @ExcelProperty(value = "璁板綍缂栧彿",index = 0)
- private String processNumber;
-
- @ApiModelProperty("璁¢噺鍗曚綅")
- @ExcelProperty(value = "鏈烘瀯",index = 1)
- private String unitOfMeasure;
-
- @ApiModelProperty("鏍″噯鏃ユ湡")
- @ExcelProperty(value = "鏍″噯/鏍告煡鏃ユ湡",index = 5)
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @ColumnWidth(20)
- private Date calibrationDate;
-
- @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
- @ExcelProperty(value = "涓嬫鏍″噯/鏍告煡鏃ユ湡",index = 6)
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @ColumnWidth(20)
- private Date nextCalibrationDate;
-
- @ApiModelProperty("璁$畻鍣ㄥ叿")
- private String calculatingApparatus;
-
- @ApiModelProperty("璁$畻鏍囧噯閲忕▼")
- private String standardRange;
-
- @ApiModelProperty("璁¢噺鏍囧噯涓嶇‘瀹氬害")
- private String calibrationStandardUncertainty;
-
- @ApiModelProperty("渚濇嵁鏂囦欢")
- private String byDocument;
-
- @ApiModelProperty("璇佷功缂栧彿")
- @ExcelProperty(value = "鏍″噯/鏍告煡璇佷功缂栧彿",index = 3)
- private String certificateSerialNumber;
-
- @ApiModelProperty("鐘舵��")
- @ExcelProperty(value = "鏍″噯/鏍告煡缁撹",index = 2)
- private String status;
-
- @ApiModelProperty("鍘熸枃浠跺悕绉�")
- private String fileName;
-
- @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О")
- private String systemFileName;
-
- @ApiModelProperty("澶囨敞")
- @ExcelProperty(value = "璇存槑",index = 4)
- private String remark;
-
- @ApiModelProperty("璁惧id")
- private Integer deviceId;
-
- @ApiModelProperty("鍒涘缓鏃堕棿 / 鐧昏鏃ユ湡")
- @TableField(fill = FieldFill.INSERT)
- @ExcelProperty(value = "鐧昏鏃ユ湡",index = 9)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ColumnWidth(20)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鐧昏浜�")
- @ExcelProperty(value = "鐧昏浜�",index = 8)
- private String createUser;
-
- @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�")
- private String type;
-
- @ApiModelProperty("纭鏃堕棿")
- @ExcelProperty(value = "纭鏃ユ湡",index = 7)
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- @ColumnWidth(20)
- private Date confirmDate;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java
deleted file mode 100644
index a1e813c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-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.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.format.annotation.DateTimeFormat;
-
-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 = "璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰")
-@ExcelIgnoreUnannotated
-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("鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- 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-require/src/main/java/com/ruoyi/requier/pojo/Document.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/Document.java
deleted file mode 100644
index afb283d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Document.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.ruoyi.requier.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;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java
deleted file mode 100644
index 8ce8a04..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.ruoyi.requier.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-11-13 02:53:05
- */
-@Getter
-@Setter
-@TableName("cnas_fe_calibration_schedule")
-@ApiModel(value = "FeCalibrationSchedule瀵硅薄", description = "浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛�")
-public class FeCalibrationSchedule implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("浠櫒鍚嶇О")
- private String instrumentName;
-
- @ApiModelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ApiModelProperty("绠$悊缂栧彿")
- private Integer managementNumber;
-
- @ApiModelProperty("鎶�鏈寚鏍�")
- private String technicalIndicators;
-
- @ApiModelProperty("妫�瀹氬懆鏈�")
- private String verificationCyde;
-
- @ApiModelProperty("妫�瀹氬崟浣�")
- private String verificationUnit;
-
- @ApiModelProperty("鏈�杩戞瀹氭椂闂�")
- private LocalDateTime recentlyTime;
-
- @ApiModelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
- private LocalDateTime nextTime;
-
- @ApiModelProperty("澶囨敞")
- private String remark;
-
- @ApiModelProperty("缂栧埗")
- private String organization;
-
- @ApiModelProperty("缂栧埗鏃ユ湡")
- private LocalDateTime organizationDate;
-
- @ApiModelProperty("鎵瑰噯")
- private String approve;
-
- @ApiModelProperty("鎵瑰噯鏃ユ湡")
- private LocalDateTime approveDate;
-
- @TableField(fill = FieldFill.INSERT)
- private String createUser;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private String updateUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java
deleted file mode 100644
index 2754e00..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.ruoyi.requier.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;
-import java.util.Date;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:15:57
- */
-@Getter
-@Setter
-@TableName("cnas_fe_illumination")
-@ApiModel(value = "FeIllumination瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
-public class FeIllumination implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("鐓у害璁板綍琛╥d")
- @TableId(value = "intensity_illumination_id", type = IdType.AUTO)
- private Integer intensityIlluminationId;
-
- @ApiModelProperty("璁惧id")
- private Integer deviceId;
-
- @ApiModelProperty("缁撹")
- private String conclusion;
-
- @ApiModelProperty("妫�娴嬩汉")
- private Integer testerId;
-
- @ApiModelProperty("鏍告煡浜�")
- private Integer checkerId;
-
- @ApiModelProperty("妫�娴嬫棩鏈�")
- private Date testDate;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java
deleted file mode 100644
index bd8bc4c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:28
- */
-@Getter
-@Setter
-@TableName("cnas_fe_illumination_detection_area")
-@ApiModel(value = "FeIlluminationDetectionArea瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
-public class FeIlluminationDetectionArea implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("妫�娴嬪尯鍩焛d")
- @TableId(value = "detection_area_id", type = IdType.AUTO)
- private Integer detectionAreaId;
-
- @ApiModelProperty("妫�娴嬪尯鍩熷悕绉�")
- private String detectionAreaLabel;
-
- @ApiModelProperty("妫�娴嬪��-绗竴娆�")
- private Integer valueOne;
-
- @ApiModelProperty("妫�娴嬪��-绗簩娆�")
- private Integer valueTwo;
-
- @ApiModelProperty("妫�娴嬪��-绗笁娆�")
- private Integer valueThree;
-
- @ApiModelProperty("骞冲潎鍊�")
- private Integer average;
-
- @ApiModelProperty("澶囨敞")
- private String remark;
-
- @ApiModelProperty("鐓у害璁板綍琛╥d")
- private Integer intensityIlluminationId;
-
- // 瀵煎嚭浣跨敤
- @TableField(select = false, exist = false)
- @ApiModelProperty("搴忓彿(瀵煎嚭浣跨敤)")
- private Integer index;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java
deleted file mode 100644
index ab678f1..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:36
- */
-@Getter
-@Setter
-@TableName("cnas_fe_lightning_protection")
-@ApiModel(value = "FeLightningProtection瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
-public class FeLightningProtection implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "lightning_protection_id", type = IdType.AUTO)
- private Integer lightningProtectionId;
-
- @ApiModelProperty("鍘熸枃浠跺悕")
- private String fileName;
-
- @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚�")
- private String systemFileName;
-
- @ApiModelProperty("妫�娴嬫棩鏈�")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate detectionDate;
-
- @ApiModelProperty("鏈夋晥鏈�")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate termValidity;
-
- @ApiModelProperty("妫�娴嬪崟浣�")
- private String detectionUnit;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java
deleted file mode 100644
index 8033706..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.ruoyi.requier.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-11-07 04:16:44
- */
-@Getter
-@Setter
-@TableName("cnas_fe_measured_quantity")
-@ApiModel(value = "FeMeasuredQuantity瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
-public class FeMeasuredQuantity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "measured_quantity_id", type = IdType.AUTO)
- private Integer measuredQuantityId;
-
- @ApiModelProperty("娴嬪畾閲忓悕绉�")
- private String measuredQuantityLabel;
-
- @ApiModelProperty("鍊糀")
- private String valueA;
-
- @ApiModelProperty("鍊糂")
- private String valueB;
-
- @ApiModelProperty("鍊糃")
- private String valueC;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鐢垫簮绋冲畾鎬d")
- private Integer powerStableId;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java
deleted file mode 100644
index c0d0f80..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.ruoyi.requier.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;
-import java.util.Date;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:52
- */
-@Getter
-@Setter
-@TableName("cnas_fe_power_stable")
-@ApiModel(value = "FePowerStable瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
-public class FePowerStable implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("鐢垫簮绋冲畾鎬d")
- @TableId(value = "power_stable_id", type = IdType.AUTO)
- private Integer powerStableId;
-
- @ApiModelProperty("娴嬭瘯鍦扮偣")
- private String testLocation;
-
- @ApiModelProperty("娴嬭瘯鏃ユ湡")
- private Date testDate;
-
- @ApiModelProperty("璁惧id")
- private Integer deviceId;
-
- @ApiModelProperty("缁撹")
- private String conclusion;
-
- @ApiModelProperty("妫�娴嬭�卛d")
- private Integer testerId;
-
- @ApiModelProperty("鏍告煡浜篿d")
- private Integer checkerId;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java
deleted file mode 100644
index 713fafb..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.ruoyi.requier.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-11-13 03:58:59
- */
-@Getter
-@Setter
-@TableName("cnas_fe_standard_substance")
-@ApiModel(value = "FeStandardSubstance瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟")
-public class FeStandardSubstance implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
- private String name;
-
- @ApiModelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ApiModelProperty("鐢熶骇鍘傚")
- private String factoryManufacturer;
-
- @ApiModelProperty("鍑哄満缂栧彿")
- private String factoryNum;
-
- @ApiModelProperty("绠$悊缂栧彿")
- private String manageNum;
-
- @ApiModelProperty("涓嶇‘瀹氬害")
- private String uncertainty;
-
- @ApiModelProperty("鏁伴噺")
- private Long quantity;
-
- @ApiModelProperty("璐疆鏃ユ湡")
- private LocalDateTime acquisitionDate;
-
- @ApiModelProperty("鏈夋晥鏈�")
- private LocalDateTime effectiveDate;
-
- @ApiModelProperty("鏂囨。缂栧彿")
- private String fileNum;
-
- @ApiModelProperty("瀛樻斁浣嶇疆")
- private String position;
-
- @ApiModelProperty("鍊熻皟鐘舵�侊紙0:鏈�熻皟 1:宸插�熻皟锛�")
- private Integer state;
-
- @ApiModelProperty("澶囨敞")
- private String remark;
-
- @TableField(fill = FieldFill.INSERT)
- private String createUser;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private String updateUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java
deleted file mode 100644
index be9a52d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-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 org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川楠屾敹
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:29:41
- */
-@Getter
-@Setter
-@TableName("cnas_fe_standard_substance_acceptance")
-@ApiModel(value = "FeStandardSubstanceAcceptance瀵硅薄", description = "鏍囧噯鐗╄川楠屾敹")
-@ExcelIgnoreUnannotated
-public class FeStandardSubstanceAcceptance implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("娓呭崟id")
- private Integer substanceId;
-
- @ApiModelProperty("鍒拌揣鏃ユ湡")
- @ExcelProperty("鍒拌揣鏃ユ湡")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate arriveDate;
-
- @ApiModelProperty("缁翠慨鍗曚綅")
- @ExcelProperty("缁翠慨鍗曚綅")
- private String maintenanceUnit;
-
- @ApiModelProperty("鍙傛暟")
- @ExcelProperty("鍙傛暟")
- private String perameters;
-
- @ApiModelProperty("瀹夎璋冭瘯鎯呭喌")
- @ExcelProperty("瀹夎璋冭瘯鎯呭喌")
- private String installation;
-
- @ApiModelProperty("楠屾敹鎯呭喌")
- @ExcelProperty("楠屾敹鎯呭喌")
- private String situation;
-
- @ApiModelProperty("鎺ュ彈绛惧瓧")
- @ExcelProperty("鎺ュ彈绛惧瓧")
- private String signature;
-
- @ApiModelProperty("鍘傚浠h〃")
- @ExcelProperty("鍘傚浠h〃")
- private String producer;
-
- @ApiModelProperty("鎺ユ敹浜�")
- @ExcelProperty("鎺ユ敹浜�")
- private String recipient;
-
- @ApiModelProperty("闄勪欢")
- @ExcelProperty("闄勪欢")
- private String file;
-
- @TableField(fill = FieldFill.INSERT)
- private String createUser;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private String updateUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java
deleted file mode 100644
index 10ab373..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 楠屾敹寮�绠辫褰�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:30:09
- */
-@Getter
-@Setter
-@TableName("cnas_fe_standard_substance_acceptance_inspection")
-@ApiModel(value = "FeStandardSubstanceAcceptanceInspection瀵硅薄", description = "楠屾敹寮�绠辫褰�")
-public class FeStandardSubstanceAcceptanceInspection implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- private Integer acceptanceId;
-
- private String name;
-
- private Integer number;
-
- @TableField(fill = FieldFill.INSERT)
- private String createUser;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private String updateUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java
deleted file mode 100644
index 6c11eff..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.ruoyi.requier.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-11-14 01:49:11
- */
-@Getter
-@Setter
-@TableName("cnas_fe_standard_substance_record")
-@ApiModel(value = "FeStandardSubstanceRecord瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛�")
-public class FeStandardSubstanceRecord implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鐗╄川id")
- private Integer substanceId;
-
- @ApiModelProperty("鍊熺敤-瀹屽ソ鎬�")
- private String integrity;
-
- @ApiModelProperty("鍊熺敤-鍊熺敤浜�")
- private String borrowUser;
-
- @ApiModelProperty("鍊熺敤-鑱旂郴鏂瑰紡")
- private String phone;
-
- @ApiModelProperty("鍊熺敤-鍊熷嚭鏃ユ湡")
- private LocalDateTime borrowDate;
-
- @ApiModelProperty("褰掕繕鏃ユ湡")
- private LocalDateTime borrowReturnDate;
-
- @ApiModelProperty("鍊熷嚭浜�")
- private String lender;
-
- @ApiModelProperty("褰掕繕-妫�鏌ヤ汉")
- private String rummager;
-
- @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
- private String status;
-
- @ApiModelProperty("褰掕繕浜�")
- private String returnedPerson;
-
- @ApiModelProperty("褰掕繕-鏃ユ湡")
- private LocalDateTime returnDate;
-
- @ApiModelProperty("褰掕繕-瀹屽ソ鎬�")
- private String returnIntegrity;
-
- @TableField(fill = FieldFill.INSERT)
- private String createUser;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private String updateUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java
deleted file mode 100644
index b6b1a75..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.ruoyi.requier.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-11-09 11:02:18
- */
-@Getter
-@Setter
-@TableName("cnas_fe_temp_hum_date")
-@ApiModel(value = "FeTempHumDate瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖�")
-public class FeTempHumDate implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭ID")
- @TableId(value = "date_id", type = IdType.AUTO)
- private Integer dateId;
-
- @ApiModelProperty("鏈堝害鏃堕棿")
- private LocalDate monthDate;
-
- @ApiModelProperty("璇曢獙鍖哄煙鍚嶇О")
- private String testAreaName;
-
- @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-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java
deleted file mode 100644
index dff462a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.ruoyi.requier.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-11-07 04:28:52
- */
-@Getter
-@Setter
-@TableName("cnas_fe_temp_hum_record")
-@ApiModel(value = "FeTempHumRecord瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰�")
-public class FeTempHumRecord implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("娓╂箍搴﹁褰�")
- @TableId(value = "temp_hum_id", type = IdType.AUTO)
- private Integer tempHumId;
-
- @ApiModelProperty("涓婂崍-鏃堕棿")
- private LocalDateTime morningTestTime;
-
- @ApiModelProperty("涓婂崍娓╁害")
- private String morningTemp;
-
- @ApiModelProperty("涓婂崍婀垮害")
- private String morningHum;
-
- @ApiModelProperty("涓婂崍璁板綍鍛�")
- private Integer morningRecorderId;
-
- @ApiModelProperty("涓嬪崍鏃堕棿")
- private LocalDateTime afternoonTime;
-
- @ApiModelProperty("涓嬪崍娓╁害")
- private String afternoonTemp;
-
- @ApiModelProperty("涓嬪崍婀垮害")
- private String afternoonHum;
-
- @ApiModelProperty("涓嬪崍璁板綍鍛�")
- private Integer afternoonRecorderId;
-
- @ApiModelProperty("澶囨敞")
- private String note;
-
- @ApiModelProperty("娓╁害寰幆涓昏〃id")
- private Integer dateId;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java
deleted file mode 100644
index 70fe906..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 澶栨潵浜哄憳鐧昏
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 07:17:35
- */
-@Data
-@TableName("cnas_foreign_register")
-@ApiModel(value = "ForeignRegister瀵硅薄", description = "澶栨潵浜哄憳鐧昏")
-public class ForeignRegister {
-
- @TableId(value = "register_id", type = IdType.AUTO)
- private Integer registerId;
-
- @ApiModelProperty("鐧昏濡傛湡")
- private LocalDate registerDate;
-
- @ApiModelProperty("杩涘叆鍖哄煙")
- private String area;
-
- @ApiModelProperty("杩涘叆浜哄憳")
- private String personnel;
-
- @ApiModelProperty("杩涘叆鍘熷洜")
- private String reason;
-
- @ApiModelProperty("闄悓浜哄憳id")
- private Integer accompanyingId;
-
- @ApiModelProperty("闄悓浜哄憳")
- private String accompanyingName;
-
- @ApiModelProperty("鎵瑰噯浜篿d")
- private Integer approveId;
-
- @ApiModelProperty("鎵瑰噯浜�")
- private String approveName;
-
- @ApiModelProperty("淇濆瘑鍙婂叾浠栨儏鍐�")
- private String confidentiality;
-
- @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-require/src/main/java/com/ruoyi/requier/pojo/IncidentAcceptanceCheck.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentAcceptanceCheck.java
deleted file mode 100644
index f71687b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentAcceptanceCheck.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/IncidentFile.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentFile.java
deleted file mode 100644
index ca8788a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentFile.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/IncidentInstall.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentInstall.java
deleted file mode 100644
index 4e9caab..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentInstall.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/IncidentReport.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentReport.java
deleted file mode 100644
index adb6a96..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentReport.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/IncidentSpareParts.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentSpareParts.java
deleted file mode 100644
index 7d998e2..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/IncidentSpareParts.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/InformationNotification.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InformationNotification.java
deleted file mode 100644
index c647e53..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/InformationNotification.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.ruoyi.requier.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-04-23 02:14:30
- */
-@Getter
-@Setter
-@TableName("information_notification")
-@ApiModel(value = "InformationNotification瀵硅薄", description = "娑堟伅閫氱煡")
-public class InformationNotification implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @ApiModelProperty("涓婚敭ID")
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鍒涘缓浜�")
- private String createUser;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鍒涘缓鏃堕棿/鍙戦�佹椂闂�")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("寰呭姙銆佹帴鏀躲�佸鏍搞�佹壒鍑嗐�侀璀︽彁閱掋�侀�氱煡鍏憡")
- private String messageType;
-
- @ApiModelProperty("涓婚")
- private String theme;
-
- @ApiModelProperty("鍐呭")
- private String content;
-
- @ApiModelProperty("鍙戦�佷汉Id")
- private Integer senderId;
-
- @ApiModelProperty("鏀朵欢浜�")
- private Integer consigneeId;
-
- @ApiModelProperty("鏌ョ湅鐘舵�侊細宸茶锛屾湭璇�")
- private Boolean viewStatus;
-
- @ApiModelProperty("娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級锛堟牴鎹秷鎭被鍨嬪睍绀猴級")
- private Boolean messageStatus;
-
- @ApiModelProperty("璺宠浆璺緞")
- private String jumpPath;
-
- @ApiModelProperty("璺宠浆Id")
- private String jumpId;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Instruction.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/Instruction.java
deleted file mode 100644
index ddb199f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Instruction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java
deleted file mode 100644
index 0348a78..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:27
- */
-@Data
-@TableName("cnas_internal_wastes")
-@ApiModel(value = "InternalWastes瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏")
-public class InternalWastes {
-
- @TableId(value = "wastes_id", type = IdType.AUTO)
- private Integer wastesId;
-
- @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-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java
deleted file mode 100644
index f65c3f3..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:54
- */
-@Data
-@TableName("cnas_internal_wastes_detail")
-@ApiModel(value = "InternalWastesDetail瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏")
-public class InternalWastesDetail {
-
- @TableId(value = "wastes_detail_id", type = IdType.AUTO)
- private Integer wastesDetailId;
-
- @ApiModelProperty("涓昏〃id")
- private Integer wastesId;
-
- @ApiModelProperty("鍚嶇О")
- private String designation;
-
- @ApiModelProperty("浣撶Н")
- private String volume;
-
- @ApiModelProperty("閫佸鐞嗘棩鏈�")
- private String deliveryDate;
-
- @ApiModelProperty("绉讳氦浜�")
- private String transferPeople;
-
- @ApiModelProperty("鎺ユ敹浜�")
- private String acceptor;
-
- @ApiModelProperty("鎺ユ敹鍗曚綅")
- private String receivingUnit;
-
- @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(select = false, exist = false)
- private Integer index;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/OperationInstruction.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/OperationInstruction.java
deleted file mode 100644
index 2993ccf..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/OperationInstruction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.ruoyi.requier.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-12-04 10:43:32
- */
-@Getter
-@Setter
-@TableName("device_operation_instruction")
-@ApiModel(value = "OperationInstruction瀵硅薄", description = "璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛�")
-public class OperationInstruction implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @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-require/src/main/java/com/ruoyi/requier/pojo/PkMaster.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/PkMaster.java
deleted file mode 100644
index 9debb9b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/PkMaster.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.ruoyi.requier.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-07-29 01:16:26
- */
-@Getter
-@Setter
-@TableName("device_pk_master")
-@ApiModel(value = "PkMaster瀵硅薄", description = "娓╁害寰幆鏁伴噰瀛愯〃")
-public class PkMaster implements Serializable {
-
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("濮旀墭鍗曠紪鍙�")
- private String entrustCode;
-
- @ApiModelProperty("鏍峰搧缂栧彿")
- private String sampleCode;
-
- @ApiModelProperty("鍨嬪彿")
- private String model;
-
- @ApiModelProperty("寰幆娆℃暟")
- private String cycles;
-
- @ApiModelProperty("娓╁害寰幆")
- private String temperature;
-
- @ApiModelProperty("鍏夌氦鏍规暟")
- private Integer numberOpticalFibers;
-
- @ApiModelProperty("device_pk_slave鍏宠仈瀛楁")
- private String isid;
-
- @ApiModelProperty("妫�楠屾椂闂�")
- private LocalDateTime detectionDate;
-
- @ApiModelProperty("妫�楠屼汉")
- private String detectionPeople;
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/PkSlave.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/PkSlave.java
deleted file mode 100644
index 4467d5f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/PkSlave.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.ruoyi.requier.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-07-29 01:16:39
- */
-@Getter
-@Setter
-@TableName("device_pk_slave")
-@ApiModel(value = "PkSlave瀵硅薄", description = "娓╁害寰幆鏁伴噰瀛愯〃")
-public class PkSlave implements Serializable {
-
- @ApiModelProperty("涓婚敭id")
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("琛板噺绯荤粺1310(dB/km)-A绔�")
- private Double weaken1310A;
-
- @ApiModelProperty("琛板噺绯荤粺1310(dB/km)-B绔�")
- private Double weaken1310B;
-
- @ApiModelProperty("琛板噺绯荤粺1550(dB/km)-A绔�")
- private Double weaken1550A;
-
- @ApiModelProperty("琛板噺绯荤粺1550(dB/km)-B绔�")
- private Double weaken1550B;
-
- @ApiModelProperty("琛板噺绯荤粺1625(dB/km)-A绔�")
- private Double weaken1625A;
-
- @ApiModelProperty("琛板噺绯荤粺1625(dB/km)-B绔�")
- private Double weaken1625B;
-
- @ApiModelProperty("琛板噺绯荤粺1383(dB/km)-A绔�")
- private Double weaken1383A;
-
- @ApiModelProperty("琛板噺绯荤粺1383(dB/km)-B绔�")
- private Double weaken1383B;
-
- @ApiModelProperty("琛板噺绯荤粺1490(dB/km)-A绔�")
- private Double weaken1490A;
-
- @ApiModelProperty("琛板噺绯荤粺1490(dB/km)-B绔�")
- private Double weaken1490B;
-
- @ApiModelProperty("绠¤壊鏍噄d")
- private String insBushingId;
-
- @ApiModelProperty("鍏夌氦甯d")
- private String insFibersId;
-
- @ApiModelProperty("鍏夌氦缂栧彿id")
- private String insFiberId;
-
- @ApiModelProperty("device_pk_master鍏宠仈瀛楁")
- private String shiftId;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java
deleted file mode 100644
index 304969f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@TableName("procurement_supplies_consumables")
-@ApiModel("鑰楁潗閲囪喘鏄庣粏琛�")
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ProcurementSuppliesConsumables {
-
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鑰楁潗涓昏〃id")
- private Integer storeId;
-
- @ApiModelProperty("鑰楁潗鍚嶇О")
- private String consumablesName;
-
- @ApiModelProperty("鍗曚环")
- private Double unitPrice;
-
- @ApiModelProperty("鍏ュ簱鏁伴噺")
- private Integer storeNumber;
-
- @ApiModelProperty("鎬讳环")
- private Double totalPrice;
-
- @ApiModelProperty("璐у彿")
- private String itemNumber;
-
- @ApiModelProperty("绫诲埆")
- private String type;
-
- @ApiModelProperty("瑙勬牸")
- private String specifications;
-
- @ApiModelProperty("鍙傝�冧緵搴斿晢")
- private String supplier;
-
- @ApiModelProperty("璁¢噺鍗曚綅")
- private String unit;
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java
deleted file mode 100644
index ae9dd69..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Data
-@TableName("procurement_supplies_contents")
-@ApiModel("鏈嶅姟鍜屼緵搴斿搧閲囪喘琛�")
-public class ProcurementSuppliesContents {
-
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鑺傜偣鍚嶇О")
- private String nodeName;
-
- @ApiModelProperty("浠e彿")
- private String code;
-
-
- @ApiModelProperty("鏇存柊浜�")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private Integer updateUser;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鐖惰妭鐐�")
- private Integer parentId;
-
- @TableField(exist = false)
- private List<ProcurementSuppliesContents> children;
-
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java
deleted file mode 100644
index 8a5b5a9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.ruoyi.requier.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-11-15 03:47:19
- */
-@Getter
-@Setter
-@TableName("procurement_supplies_expends")
-@ApiModel(value = "ProcurementSuppliesExpends瀵硅薄", description = "")
-public class ProcurementSuppliesExpends implements Serializable {
-
-
- @ApiModelProperty("涓昏〃Id")
- @TableId(value = "expend_id", type = IdType.AUTO)
- private Long expendId;
-
- @ApiModelProperty("鑰楁潗Id")
- private Long listId;
-
- @ApiModelProperty("娑堣�楁暟閲�")
- private Integer amount;
-
- @ApiModelProperty("妫�楠屽璞″悕绉�")
- private String specimenName;
-
- @ApiModelProperty("妫�楠岄」")
- private String inspectionItem;
-
- @ApiModelProperty("妫�楠屽瓙椤�")
- private String inspectionItemSubclass;
-
- @ApiModelProperty("褰曞叆浜篿d")
- private Integer enterUserId;
-
- @ApiModelProperty("鏇存柊浜篿d")
- private Integer updateUserId;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java
deleted file mode 100644
index 3011b84..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.ruoyi.requier.pojo;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-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.math.BigDecimal;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 04:04:32
- */
-@Getter
-@Setter
-@TableName("procurement_supplies_list")
-@ApiModel(value = "ProcurementSuppliesList瀵硅薄", description = "鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃")
-public class ProcurementSuppliesList implements Serializable {
-
-
- @TableId(value = "id", type = IdType.AUTO)
- @ApiModelProperty("缂栧彿")
- @ExcelProperty("缂栧彿")
- private Long id;
-
- @ApiModelProperty("鐩綍id")
- private Long contentsId;
-
- @ApiModelProperty("鑰楁潗绫诲瀷")
- @ExcelProperty("绫诲埆")
- private String consumablesType;
-
- @ApiModelProperty("璐у彿")
- @ExcelProperty("璐у彿")
- private String itemNumber;
-
- @ApiModelProperty("鑰楁潗鍚嶇О")
- @ExcelProperty("鍚嶇О")
- private String consumablesName;
-
- @ApiModelProperty("瑙勬牸")
- @ExcelProperty("瑙勬牸")
- private String specifications;
-
- @ApiModelProperty("璁¢噺鍗曚綅")
- @ExcelProperty("璁¢噺鍗曚綅")
- private String unit;
-
- @ApiModelProperty("鍙傝�冧环鏍�")
- private BigDecimal referencePrice;
-
- @ApiModelProperty("瀛樻斁浣嶇疆")
- private Integer contentId;
-
- @ApiModelProperty("璐熻矗浜�")
- private Integer personInCharge;
-
- @ApiModelProperty("搴撳瓨涓婇檺")
- private Integer upperLimit;
-
- @ApiModelProperty("搴撳瓨涓嬮檺")
- @ExcelProperty("搴撳瓨涓嬮檺")
- private Integer lowerLimit;
-
- @ApiModelProperty("渚涘簲鍟�")
- private Integer supplier;
-
- @ApiModelProperty("鑰楁潗鍥炬爣")
- private String consumablesIcon;
-
- @ApiModelProperty("鑰楁潗闄勪欢")
- private String attachment;
-
- @ApiModelProperty("澶囨敞")
- @ExcelProperty("澶囨敞")
- private String remark;
-
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private Integer updateUser;
-
- @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
- @ExcelProperty("褰撳墠搴撳瓨")
- private Integer currentAmount;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java
deleted file mode 100644
index b3b4271..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.ruoyi.requier.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 com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDate;
-
-@Data
-@TableName("procurement_supplies_store")
-@ApiModel("鑰楁潗鍏ュ簱琛�")
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ProcurementSuppliesStore implements Serializable {
-
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鐩綍id")
- private Integer contentsId;
-
- @ApiModelProperty("鍏ュ簱鍗曞彿")
- private String oddNumbers;
-
- @ApiModelProperty("鍏ュ簱搴撳瓨")
- private String inventory;
-
- @ApiModelProperty("鍏ュ簱鎬婚噾棰�")
- private Double totalAmount;
-
- @ApiModelProperty("鍏ュ簱浜�")
- private Integer storageUser;
-
- @ApiModelProperty("鍏ュ簱鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
- private LocalDate storageTime;
-
- @ApiModelProperty("鍏ュ簱璇存槑")
- private String remark;
-
- @ApiModelProperty("鐧昏浜�")
- private Integer registrant;
-
- @ApiModelProperty("鐧昏鏃堕棿")
- private LocalDate registrantTime;
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Reservation.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/Reservation.java
deleted file mode 100644
index 8eb9865..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/Reservation.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java
deleted file mode 100644
index 592ba76..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.ruoyi.requier.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-11-15 02:46:45
- */
-@Getter
-@Setter
-@TableName("cnas_supplier_management")
-@ApiModel(value = "SupplierManagement瀵硅薄", description = "")
-public class SupplierManagement implements Serializable {
-
-
- @ApiModelProperty("涓昏〃Id")
- @TableId(value = "supplier_management_id", type = IdType.AUTO)
- private Integer supplierManagementId;
-
- @ApiModelProperty("渚涘簲鍟�")
- @ExcelProperty("渚涘簲鍟�")
- private String supplierName;
-
- @ApiModelProperty("缂栧彿")
- @ExcelProperty("缂栧彿")
- private String supplierRef;
-
- @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
- @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
- private String supplierItemServiceName;
-
- @ApiModelProperty("閭紪")
- @ExcelProperty("閭紪")
- private String postalCode;
-
- @ApiModelProperty("鍦板潃")
- @ExcelProperty("鍦板潃")
- private String adress;
-
- @ApiModelProperty("logo")
- private String logo;
-
- @ApiModelProperty("鑱旂郴浜�")
- @ExcelProperty("鑱旂郴浜�")
- private String contacts;
-
- @ApiModelProperty("鑱旂郴鐢佃瘽")
- @ExcelProperty("鑱旂郴鐢佃瘽")
- private String phone;
-
- @ApiModelProperty("鎴峰悕")
- @ExcelProperty("鎴峰悕")
- private String householdName;
-
- @ApiModelProperty("浼犵湡")
- @ExcelProperty("浼犵湡")
- private String fax;
-
- @ApiModelProperty("寮�鎴疯")
- @ExcelProperty("寮�鎴疯")
- private String openingName;
-
- @ApiModelProperty("缃戝潃")
- @ExcelProperty("缃戝潃")
- private String website;
-
- @ApiModelProperty("璐﹀彿")
- @ExcelProperty("璐﹀彿")
- private String accountName;
-
- @ApiModelProperty("email")
- @ExcelProperty("email")
- private String email;
-
- @ApiModelProperty("澶囨敞")
- @ExcelProperty("澶囨敞")
- private String remarks;
-
- @ApiModelProperty("闄勪欢")
- private String enclosure;
-
- @ApiModelProperty("鐘舵��")
- private String status;
-
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT)
- private Integer createUser;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private Integer updateUser;
-
- @ApiModelProperty("鐖秈d")
- private Integer parentId;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java
deleted file mode 100644
index 4963620..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.ruoyi.requier.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;
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-17 06:14:51
- */
-@Getter
-@Setter
-@TableName("suppliers_directory_contents")
-@ApiModel(value = "SuppliersDirectoryContents瀵硅薄", description = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍")
-public class SuppliersDirectoryContents implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Integer id;
-
- @ApiModelProperty("鑺傜偣鍚嶇О")
- private String nodeName;
-
- @ApiModelProperty("浠e彿")
- private String code;
-
- @ApiModelProperty("鏇存柊浜�")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private Integer updateUser;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鐖惰妭鐐�")
- private Integer parentId;
-
-
- @TableField(exist = false)
- private List<SuppliersDirectoryContents> children;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DataConfigService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DataConfigService.java
deleted file mode 100644
index 26b58fd..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DataConfigService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.DataConfigDto;
-import com.ruoyi.requier.pojo.DataConfig;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-13 12:23:00
- */
-public interface DataConfigService extends IService<DataConfig> {
-
- void deleteDataConfig();
-
- void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList);
-
- Result<?> queryDataAcquisitionConfiguration(Integer deviceId, Boolean isDevice, String inspectionItem, String inspectionItemSubclass);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceFaultService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceFaultService.java
deleted file mode 100644
index 0071f2f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceFaultService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java
deleted file mode 100644
index 39d4060..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-
-/**
- * <p>
- * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-09-27 10:20:01
- */
-public interface DeviceMetricRecordService extends IService<DeviceMetricRecord> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java
deleted file mode 100644
index 88d2215..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.DeviceMetricsCopy;
-
-/**
- * <p>
- * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-09-27 10:20:11
- */
-public interface DeviceMetricsCopyService extends IService<DeviceMetricsCopy> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceService.java
deleted file mode 100644
index 868cc96..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceService.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.requier.dto.ADto;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.pojo.Device;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 璁惧(Device)琛ㄦ湇鍔℃帴鍙�
- */
-public interface DeviceService extends IService<Device> {
-
- List<User> selectUserList();
-
- List<User> selectUserListByDepartLimsId(String departLimsId);
-
- IPage<DeviceDto> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull);
-
- int addDeviceParameter(Device itemParameter);
-
- int delDeviceParameter(Integer id);
-
- int upDeviceParameter(Device itemParameter);
-
- List<Device> selectEquipmentOverview();
-
- List<Device> authorizedPerson();
-
- List<Device> search(Integer status, String deviceName, String specificationModel, String largeCategory);
-
- List<Device> selectDevicePrincipal();
-
- List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory);
-
- DeviceDto selectDeviceByCode(Integer id);
-
- /**
- *
- * @param request 鍙栬姹備腑鐨刬p
- * @param id 妫�楠屾牱鍝� 涓婚敭id
- * @param entrustCode 濮旀墭缂栧彿
- * @param sampleCode 鏍峰搧缂栧彿
- * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
- * @return
- */
- Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode, String fiberOpticRibbon);
-
- List<ADto> menu();
-
- List<Map<String, Object>> treeDevice(String deviceName);
-
- Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request);
-
- void exportData(DeviceDto deviceDto, HttpServletResponse response);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DocumentService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DocumentService.java
deleted file mode 100644
index 87b7595..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/DocumentService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.Document;
-
-public interface DocumentService extends IService<Document> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java
deleted file mode 100644
index 5edbcad..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeCalibrationSchedule;
-
-/**
- * <p>
- * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 02:53:05
- */
-public interface FeCalibrationScheduleService extends IService<FeCalibrationSchedule> {
-
-
- IPage<FeCalibrationSchedule> page(Page page,String instrumentName, String managementNumber);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java
deleted file mode 100644
index de21f15..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:28
- */
-public interface FeIlluminationDetectionAreaService extends IService<FeIlluminationDetectionArea> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java
deleted file mode 100644
index a674d45..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeIlluminationDto;
-import com.ruoyi.requier.pojo.FeIllumination;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:15:57
- */
-public interface FeIlluminationService extends IService<FeIllumination> {
-
- IPage<FeIlluminationDto> getFeLightningProtection(Page page);
-
- /**
- * 瀵煎嚭鐓у害璁板綍
- * @param intensityIlluminationId
- * @param response
- */
- void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java
deleted file mode 100644
index f53900c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.excel.FeLightningProtectionExcel;
-import com.ruoyi.requier.pojo.FeLightningProtection;
-
-import java.util.List;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:36
- */
-public interface FeLightningProtectionService extends IService<FeLightningProtection> {
-
- List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java
deleted file mode 100644
index 122917d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:44
- */
-public interface FeMeasuredQuantityService extends IService<FeMeasuredQuantity> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java
deleted file mode 100644
index fe15469..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FePowerStableDto;
-import com.ruoyi.requier.pojo.FePowerStable;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:52
- */
-public interface FePowerStableService extends IService<FePowerStable> {
-
- IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
-
- Map<String, Objects> getCalibrationDate(Integer deviceId);
-
- /**
- * 瀵煎嚭鐢垫簮绋冲畾鎬�
- * @param powerStableId
- * @param response
- */
- void exportFePowerStable(Integer powerStableId, HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java
deleted file mode 100644
index 8f25219..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-
-/**
- * <p>
- * 楠屾敹寮�绠辫褰� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:30:09
- */
-public interface FeStandardSubstanceAcceptanceInspectionService extends IService<FeStandardSubstanceAcceptanceInspection> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java
deleted file mode 100644
index 9aa8de9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.AcceptanceDto;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
-import com.ruoyi.requier.vo.AcceptanceDetailsVo;
-import com.ruoyi.requier.vo.AcceptanceVo;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:29:41
- */
-public interface FeStandardSubstanceAcceptanceService extends IService<FeStandardSubstanceAcceptance> {
-
-
- void addAcceptance(AcceptanceDto dto);
-
- IPage<AcceptanceVo> getPageAcceptance(Page page, String name);
-
- AcceptanceDetailsVo getAcceptanceDetails(Integer id);
-
- Integer deleteAcceptance(Integer id);
-
- void exportFeStandardSubstanceAcceptance(HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java
deleted file mode 100644
index 1c3568f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeStandardSubstanceRecord;
-import com.ruoyi.requier.vo.SubstanceRecordVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 01:49:11
- */
-public interface FeStandardSubstanceRecordService extends IService<FeStandardSubstanceRecord> {
-
-
- void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
-
- void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
-
- List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id);
-
- IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java
deleted file mode 100644
index cd7ea90..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.FeStandardSubstance;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 03:58:59
- */
-public interface FeStandardSubstanceService extends IService<FeStandardSubstance> {
-
- IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java
deleted file mode 100644
index bf1df8b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeTempHumDateDto;
-import com.ruoyi.requier.pojo.FeTempHumDate;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-09 11:02:18
- */
-public interface FeTempHumDateService extends IService<FeTempHumDate> {
-
- IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
-
- void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java
deleted file mode 100644
index 8c8724e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeTempHumRecordDto;
-import com.ruoyi.requier.pojo.FeTempHumRecord;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:28:52
- */
-public interface FeTempHumRecordService extends IService<FeTempHumRecord> {
-
- IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java
deleted file mode 100644
index 5897e3c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.ForeignRegisterDto;
-import com.ruoyi.requier.pojo.ForeignRegister;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 澶栨潵浜哄憳鐧昏 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 07:17:35
- */
-public interface ForeignRegisterService extends IService<ForeignRegister> {
-
- /**
- * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
- * @param page
- * @param foreignRegister
- * @return
- */
- IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister);
-
- /**
- * 瀵煎嚭澶栨潵浜哄憳鐧昏
- * @param foreignRegister
- */
- void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java
deleted file mode 100644
index c8bb349..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.DeviceMetric;
-
-public interface IDeviceMetricService extends IService<DeviceMetric> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentAcceptanceCheckService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentAcceptanceCheckService.java
deleted file mode 100644
index d9c354f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentAcceptanceCheckService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.IncidentAcceptanceCheck;
-
-public interface IncidentAcceptanceCheckService extends IService<IncidentAcceptanceCheck> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentFileService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentFileService.java
deleted file mode 100644
index df458e4..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentFileService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.IncidentFile;
-
-public interface IncidentFileService extends IService<IncidentFile> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentInstallService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentInstallService.java
deleted file mode 100644
index 3fadab4..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentInstallService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.IncidentInstall;
-
-public interface IncidentInstallService extends IService<IncidentInstall> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentReportService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentReportService.java
deleted file mode 100644
index 32371ba..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentReportService.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.IncidentReportAddDto;
-import com.ruoyi.requier.excel.IncidentReportExport;
-import com.ruoyi.requier.pojo.IncidentReport;
-
-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);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentSparePartsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentSparePartsService.java
deleted file mode 100644
index 9b45b63..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/IncidentSparePartsService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.IncidentSpareParts;
-
-public interface IncidentSparePartsService extends IService<IncidentSpareParts> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InformationNotificationService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InformationNotificationService.java
deleted file mode 100644
index c03a5c2..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/InformationNotificationService.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.InformationNotificationDto;
-import com.ruoyi.requier.pojo.InformationNotification;
-
-import java.util.Map;
-
-/**
- * <p>
- * 娑堟伅閫氱煡 鏈嶅姟绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-04-23 02:14:30
- */
-public interface InformationNotificationService extends IService<InformationNotification> {
-
- IPage<InformationNotificationDto> getPage(Page page, String messageType);
-
- void markAllInformationReadOrDeleteAllReadMessages(Boolean isMarkAllInformationRead);
-
- Boolean checkForUnreadData();
-
- void triggerModificationStatusToRead(Integer id);
-
- int addInformationNotification(InformationNotification informationNotification);
-
- Map<String, Object> getNumberFourTypesMessagesHomePage();
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InsOrderPlanService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InsOrderPlanService.java
deleted file mode 100644
index ffbdfdc..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/InsOrderPlanService.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.inspect.dto.InsOrderPlanDTO;
-import com.ruoyi.inspect.dto.InsProductResultDTO;
-import com.ruoyi.inspect.dto.TasksShowDto;
-import com.ruoyi.inspect.dto.UnInsProductsDTO;
-import com.ruoyi.inspect.pojo.InsOrderFile;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo;
-import com.ruoyi.inspect.vo.InsOrderPlanVO;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 妫�楠屼换鍔�-涓氬姟灞�
- */
-public interface InsOrderPlanService {
-
- void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response);
-
- List<Map<String,Object>> getInsOrderPlanList(Map<String,Object> data);
-
- void exportCommissionFees(Map<String, Object> data,HttpServletResponse response);
-
- Map<String, Object> getTabHeader(String sonLaboratory,String samples);
-
- IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO);
-
- IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, InsOrderPlanDTO insOrderPlanDTO);
-
- boolean claimInsOrderPlan(InsOrderPlanDTO entity);
-
- void saveInsContext(Map<String, Object> insContext,Integer currentTable,Integer sampleId,Integer orderId,String sonLaboratory,Boolean isDelete);
-
- Map<String, Object> doInsOrder(Integer id, String laboratory);
-
- int upPlanUser(Integer userId, Integer orderId,String sonLaboratory);
-
- int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
-
- int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode);
-
- List<String> getEquipName(Integer orderId,String sonLaboratory);
-
-
- List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
-
- List<String> checkSubmitPlan(Integer orderId, String laboratory,String temperature,String humidity);
-
- IPage<InsOrderFile> getFileList(Page page, InsOrderFile insOrderFile);
-
- int uploadFile(Integer orderId, MultipartFile file);
-
- Map<String,Object> getReportModel(Integer sampleId, String sonLaboratory);
-
- Map<String,Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass);
-
- List<String> upPlanUser2(Integer orderId);
-
- Map<String,Object> getSagTemperatureProducts(Integer sampleId);
-
- Map<String,Object> getSampleInfoByOrderId(Integer id,String laboratory);
-
- void exportUnInsProducts(UnInsProductsDTO unInsProductsDTO, HttpServletResponse response);
-
- int saveInsContext2(InsProductResultDTO insProductResult);
-
- IPage<TasksShowDto> tasksShow(Page page, String sonLaboratory);
-
- int getCurrentMonthPlanTotalBySonLaboratory(String sonLaboratory, LocalDateTime startTime, LocalDateTime endTime);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InstructionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InstructionService.java
deleted file mode 100644
index 10e200f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/InstructionService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.InstructionDto;
-import com.ruoyi.requier.pojo.Instruction;
-
-/**
- * <p>
- * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-04 10:29:18
- */
-public interface InstructionService extends IService<Instruction> {
-
- IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page);
-
- void newHomeworkGuidebookAdded(InstructionDto instructionDto);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java
deleted file mode 100644
index 596342f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.InternalWastesDetail;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:54
- */
-public interface InternalWastesDetailService extends IService<InternalWastesDetail> {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java
deleted file mode 100644
index 37b8d61..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.InternalWastesDto;
-import com.ruoyi.requier.pojo.InternalWastes;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:27
- */
-public interface InternalWastesService extends IService<InternalWastes> {
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
- * @param page
- * @param internalWastes
- * @return
- */
- IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes);
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
- * @param internalWastes
- * @return
- */
- boolean addInternalWastes(InternalWastesDto internalWastes);
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
- * @param internalWastes
- * @return
- */
- boolean updateInternalWastes(InternalWastesDto internalWastes);
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
- * @param wastesId
- * @return
- */
- boolean delInternalWastes(Integer wastesId);
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
- * @param wastesId
- * @return
- */
- InternalWastesDto getInternalWastesOne(Integer wastesId);
-
- /**
- * 瀵煎嚭涓夊簾澶勭悊
- * @param wastesId
- * @param response
- */
- void exportInternalWastes(Integer wastesId, HttpServletResponse response);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/OperationInstructionService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/OperationInstructionService.java
deleted file mode 100644
index 9d1bf23..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/OperationInstructionService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.OperationInstruction;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/service/PkMasterService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/PkMasterService.java
deleted file mode 100644
index cbad787..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/PkMasterService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.PkMaster;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-29 01:16:26
- */
-public interface PkMasterService extends IService<PkMaster> {
-
- //娓╁害寰幆鏁伴噰
- int temDataAcquisition(PkMaster pkMaster);
-
- //娓╁害寰幆鏁伴噰鎬讳綋
- int temDataAcquisition2(PkMaster pkMaster);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java
deleted file mode 100644
index 0d5eeea..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
-
-public interface ProcurementSuppliesConsumablesService extends IService<ProcurementSuppliesConsumables> {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java
deleted file mode 100644
index b6f55be..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
-
-import java.util.List;
-import java.util.Map;
-
-public interface ProcurementSuppliesContentsService extends IService<ProcurementSuppliesContents> {
-
- List<ProcurementSuppliesContents> directoryListing();
-
- List<Map<String,Object>> getNodeNames();
-
- List<Map<String,Object>> getUserList();
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java
deleted file mode 100644
index e6eb91d..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 03:47:19
- */
-public interface ProcurementSuppliesExpendsService extends IService<ProcurementSuppliesExpends> {
- IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId);
-
- Integer addExpends(ProcurementSuppliesExpendDto expendDto);
-
- Integer deleteExpends(Long id);
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java
deleted file mode 100644
index 2b4c3cd..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.ProcurementSuppliesListDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * <p>
- * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 04:04:32
- */
-public interface ProcurementSuppliesListService extends IService<ProcurementSuppliesList> {
- IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list);
-
- public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto);
-
- public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto);
-
- void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java
deleted file mode 100644
index 94e4009..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.StoreDto;
-import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Map;
-
-public interface ProcurementSuppliesStoreService extends IService<ProcurementSuppliesStore> {
- void addStore(Map<String,Object> map);
- void updateStore(Map<String,Object> map);
-
- void deleteStore(Integer id, Integer consumablesId);
- IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto);
-
- void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/QrShowService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/QrShowService.java
deleted file mode 100644
index 57874d8..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/QrShowService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.ruoyi.requier.service;
-
-import org.springframework.ui.Model;
-
-public interface QrShowService {
-
- void transformModelByType(Model model,String code,String type);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/ReservationService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/ReservationService.java
deleted file mode 100644
index 0bd2cb3..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/ReservationService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.dto.ReservationDto;
-import com.ruoyi.requier.pojo.Reservation;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * <p>
- * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鏈嶅姟绫�
- * </p>
- *
- * @author baomidou
- * @since 2024-09-14
- */
-public interface ReservationService extends IService<Reservation> {
-
- ArrayList<JSONObject> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull, String starttime, String endtime);
-
- List<ReservationDto> selectReservationParameterPage(String deviceId, String reservationTime, String specificTime);
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java
deleted file mode 100644
index 994b695..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.pojo.SupplierManagement;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 02:46:45
- */
-public interface SupplierManagementService extends IService<SupplierManagement> {
-
- List<SupplierManagement> selectSupplierManagement(SupplierManagement supplierManagement);
-
- void exportSupplierManagement(Integer parentId, HttpServletResponse response);
-
- IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement);
-
- List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId);
-
- List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId);
-
- List<SupplierManagement> selectSupplierManagementAll();
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java
deleted file mode 100644
index e8e35f9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * <p>
- * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-17 06:14:51
- */
-public interface SuppliersDirectoryContentsService extends IService<SuppliersDirectoryContents> {
-
- ArrayList<SuppliersDirectoryContents> directoryListing();
- List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames();
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DataConfigServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DataConfigServiceImpl.java
deleted file mode 100644
index fb6753e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DataConfigServiceImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.requier.dto.DataConfigDto;
-import com.ruoyi.requier.mapper.DataConfigMapper;
-import com.ruoyi.requier.mapper.DeviceMapper;
-import com.ruoyi.requier.pojo.DataConfig;
-import com.ruoyi.requier.pojo.Device;
-import com.ruoyi.requier.service.DataConfigService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-13 12:23:00
- */
-@Service
-@AllArgsConstructor
-public class DataConfigServiceImpl extends ServiceImpl<DataConfigMapper, DataConfig> implements DataConfigService {
-
- private DeviceMapper deviceMapper;
-
- private DataConfigMapper dataConfigMapper;
-
- @Override
- public void deleteDataConfig() {
- List<Integer> integers = dataConfigMapper.deleteDataConfig();
- if (!integers.isEmpty()) {
- dataConfigMapper.deleteBatchIds(integers);
- }
- }
-
- @Override
- public void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList) {
- if (dataConfigList.getIsDevice()) {
- Device device = new Device();
- BeanUtils.copyProperties(dataConfigList, device);
- device.setId(deviceId);
- deviceMapper.updateById(device);
- } else {
- this.saveOrUpdateBatch(dataConfigList.getDataConfigList());
- }
- }
-
- @Override
- public Result<?> queryDataAcquisitionConfiguration(Integer deviceId, Boolean isDevice, String inspectionItem, String inspectionItemSubclass) {
- if (isDevice) {
- List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery()
- .eq(DataConfig::getDeviceId, deviceId)
- .eq(DataConfig::getInspectionItem, inspectionItem)
- .eq(DataConfig::getInspectionItemSubclass, inspectionItemSubclass));
- return Result.success(list);
- } else {
- return Result.success(dataConfigMapper.selectDataConfigList(deviceId));
- }
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceFaultServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceFaultServiceImpl.java
deleted file mode 100644
index 3d780b1..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceFaultServiceImpl.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.basic.mapper.StructureItemParameterMapper;
-import com.ruoyi.basic.pojo.StructureItemParameter;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.utils.DictUtils;
-import com.ruoyi.requier.mapper.DeviceFaultMapper;
-import com.ruoyi.requier.mapper.DeviceFaultOneMapper;
-import com.ruoyi.requier.mapper.DeviceMaintenanceMapper;
-import com.ruoyi.requier.mapper.DeviceMapper;
-import com.ruoyi.requier.pojo.*;
-import com.ruoyi.requier.service.DeviceFaultService;
-import com.ruoyi.system.mapper.SysDictDataMapper;
-import com.ruoyi.system.mapper.SysDictTypeMapper;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-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;
-
- @Resource
- private SysDictDataMapper sysDictDataMapper;
-
- @Autowired
- private DeviceMaintenanceMapper deviceMaintenanceMapper;
-
- @Autowired
- private StructureItemParameterMapper structureItemParameterMapper;
-
- @Autowired
- private DeviceFaultOneMapper deviceFaultOneMapper;
-
- @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<SysDictData> sysDictDataList = sysDictDataMapper.selectDictDataByType("device_status");
-// List<SysDictData> sysDictDataList = DictUtils.getDictCache("璁惧鐘舵��");
- SysDictData findEnum = sysDictDataList.stream().filter(e-> Integer.parseInt(e.getDictValue()) ==device.getDeviceStatus()).findFirst().orElse(new SysDictData());
- 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.getDictLabel());//璁惧杩愯鐘舵��
- 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;
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java
deleted file mode 100644
index 3e211aa..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.DeviceMetricRecordMapper;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java
deleted file mode 100644
index 907e618..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.DeviceMetricMapper;
-import com.ruoyi.requier.pojo.DeviceMetric;
-import com.ruoyi.requier.service.IDeviceMetricService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java
deleted file mode 100644
index 1c7f225..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.DeviceMetricsCopyMapper;
-import com.ruoyi.requier.pojo.DeviceMetricsCopy;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/service/impl/DeviceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceServiceImpl.java
deleted file mode 100644
index 33550cf..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceServiceImpl.java
+++ /dev/null
@@ -1,1115 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson2.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.ruoyi.basic.mapper.StructureItemParameterMapper;
-import com.ruoyi.basic.pojo.StructureItemParameter;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.utils.DictUtils;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.requier.dto.ADto;
-import com.ruoyi.requier.dto.BDto;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.mapper.DeviceMapper;
-import com.ruoyi.requier.pojo.DataConfig;
-import com.ruoyi.requier.pojo.Device;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-import com.ruoyi.requier.service.DataConfigService;
-import com.ruoyi.requier.service.DeviceService;
-import com.ruoyi.requier.util.DataAcquisition;
-import com.ruoyi.system.mapper.UserMapper;
-import lombok.AllArgsConstructor;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.util.Strings;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * 璁惧(Device)琛ㄦ湇鍔″疄鐜扮被
- */
-@Service
-@AllArgsConstructor
-public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
-
- private DeviceMapper deviceMapper;
-
- private UserMapper userMapper;
-
- private StructureItemParameterMapper structureItemParameterMapper;
-
- @Autowired
- private DataConfigService dataConfigService;
-
- @Autowired
- private QrShowServiceImpl qrShowService;
-
- @Override
- public List<User> selectUserList() {
- List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getDepartLimsId, "1"));
- return users;
- }
-
- @Override
- public List<User> selectUserListByDepartLimsId(String departLimsId) {
- List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getDepartLimsId, departLimsId));
- return users;
- }
-
- @Override
- public IPage<DeviceDto> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull) {
- IPage<DeviceDto> iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter), laboratoryNameIsNull);
- return iPage;
- }
-
- @Override
- public int addDeviceParameter(Device itemParameter) {
- return deviceMapper.insert(itemParameter);
- }
-
- @Override
- public int delDeviceParameter(Integer id) {
- return deviceMapper.deleteById(id);
- }
-
- @Transactional(rollbackFor = Exception.class)
- @Override
- public int upDeviceParameter(Device itemParameter) {
- // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹�
- dataConfigService.deleteDataConfig();
- // 闇�瑕佸悓鏃舵洿鏀� device琛�
-
-
-
-
- return deviceMapper.updateById(itemParameter);
- }
-
- @Override
- public List<Device> selectEquipmentOverview() {
- return deviceMapper.selectEquipmentOverview(new Page(1, 10), QueryWrappers.queryWrappers(new Device()));
- }
-
- @Override
- public List<Device> authorizedPerson() {
- return deviceMapper.authorizedPerson();
- }
-
- @Override
- public List<Device> search(Integer status, String deviceName, String specificationModel, String largeCategory) {
- return deviceMapper.search(status, deviceName, specificationModel, largeCategory);
- }
-
- @Override
- public List<Device> selectDevicePrincipal() {
- return deviceMapper.selectDevicePrincipal();
- }
-
- @Override
- public List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory) {
-// Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
-// User user = Optional.ofNullable(userMapper.selectById(userId)).orElse(new User());
-// String departLimsId = user.getDepartLimsId();
-// if(departLimsId.isEmpty()){
-//
-// }
- List<Integer> id;
-
- try {
- id = structureItemParameterMapper.selectList(Wrappers.<StructureItemParameter>lambdaQuery()
- .eq(StructureItemParameter::getInspectionItem, inspectionItem)
- .eq(ObjectUtils.isNotEmpty(inspectionItemSubclass),StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass)
- .eq(ObjectUtils.isNotEmpty(sonLaboratory),StructureItemParameter::getSonLaboratory,sonLaboratory)
- .select(StructureItemParameter::getId)).stream().map(StructureItemParameter::getId).collect(Collectors.toList());
-// if () {
-//// id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery()
-//// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
-//// .last("limit 1").select(StructureItemParameter::getId)).getId();
-//
-//
-// }else {
-//// id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery()
-//// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
-//// .eq(StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass)
-//// .last("limit 1").select(StructureItemParameter::getId)).getId();
-// id = structureItemParameterMapper.selectList(Wrappers.<StructureItemParameter>lambdaQuery()
-// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
-//
-// .select(StructureItemParameter::getId)).stream().map(StructureItemParameter::getId).collect(Collectors.toList());
-// }
- } catch (Exception e) {
- return null;
- }
- List<Device> devices = deviceMapper.selectList(Wrappers.<Device>lambdaQuery()
- .eq(Device::getDeviceStatus, 0)
- .isNotNull(Device::getInsProductIds));
- List<Device> devices2 = new ArrayList<>();
- for (Device device : devices) {
- String[] ids = device.getInsProductIds().split(",");
- for (String i : ids) {
- if (ObjectUtils.isNotEmpty(i)) {
- if (id.contains(Integer.parseInt(i))) {
- devices2.add(device);
- break;
- }
- }
- }
- }
- return devices2;
- }
-
- @Override
- public DeviceDto selectDeviceByCode(Integer id) {
- DeviceDto deviceDto = deviceMapper.selectDeviceByCode(id);
- List<Integer> ids = new ArrayList<>();
- if(Strings.isNotEmpty(deviceDto.getAuthorizedPerson())) {
- if(deviceDto.getAuthorizedPerson().equals("null")) {
- deviceDto.setAuthorizedPerson("[]");
- }
- ids = JSON.parseArray(deviceDto.getAuthorizedPerson(), Integer.class);
- }
- String name = "";
- if(!ids.isEmpty()) {
- name = userMapper.selectBatchIds(ids).stream().map(User::getName).collect(Collectors.joining(","));
- }
- deviceDto.setAuthorizedPersonName(name);
- //鏌ヨ璁惧鏍″噯淇℃伅
- DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(id, "calibrate");
- //deviceDto.setCalibrationDate(qrShowService.formatDate(calibrate.getCalibrationDate(),"yyyy-MM-dd"));
- deviceDto.setCalibrateNo(calibrate.getCertificateSerialNumber());
- if(Objects.nonNull(calibrate.getNextCalibrationDate())){
- deviceDto.setCalibrationServices(calibrate.getUnitOfMeasure());
- deviceDto.setNextCalibrationDate(calibrate.getNextCalibrationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
- deviceDto.setLastCalibrationDate(calibrate.getCalibrationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
- }
-
- // 鍒颁簡鍋滅敤鏃ユ湡锛岃嚜鍔ㄥ皢鐘舵�佹敼涓哄仠鐢�
- if(Objects.nonNull(deviceDto.getNextCalibrationDate()) && LocalDateTime.now().isAfter(deviceDto.getNextCalibrationDate())) {
- List<SysDictData> enums = DictUtils.getDictCache("璁惧鐘舵��");
- List<SysDictData> status = enums.stream().filter(item -> item.getDictValue().equals("鍋滅敤")).collect(Collectors.toList());
- deviceDto.setDeviceStatus(Integer.parseInt(status.get(0).getDictValue()));
- deviceMapper.updateById(deviceDto);
- }
- return deviceDto;
- }
-
- /**
- *
- * @param request 鍙栬姹備腑鐨刬p
- * @param id 妫�楠屾牱鍝� 涓婚敭id
- * @param entrustCode 濮旀墭缂栧彿
- * @param sampleCode 鏍峰搧缂栧彿
- * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
- * @return
- */
- @Override
- public Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode, String fiberOpticRibbon) {
- // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
- String ip = DataAcquisition.getIp(request);
- List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
- .eq(Device::getIp, ip));
- // 1銆佹楠�
- if(device.size() > 1) {
- String str = "";
- for (Device device1 : device) {
- str += device1.getDeviceName() + "锛�";
- }
- throw new ErrorException("IP锛�" + ip + "閰嶇疆浜嗚澶囧涓澶囷細" + str + "锛屾棤娉曡繘琛屾暟閲囷紒");
- }
- if (ObjectUtils.isEmpty(device)) {
- throw new ErrorException("鏈粰璇P锛�" + ip + "閰嶇疆璁惧锛屾棤娉曡繘琛屾暟閲囷紒");
- }
- List<Map<String, Object>> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id);
- if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) {
- throw new ErrorException("鏈粰璇ワ細" + device.get(0).getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�");
- }
- // 2銆佸彇璁惧鍏宠仈鐨勬楠岄」锛屾楠屽瓙椤�
- List<DataConfig> list1 = new ArrayList<>();
- inspectionItemSubclass.forEach(i -> {
- List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
- .eq(DataConfig::getDeviceId, device.get(0).getId())
- .eq(DataConfig::getInspectionItem, i.get("inspection_item"))
- .eq(DataConfig::getInspectionItemSubclass, i.get("inspection_item_subclass"))
- .orderBy(false, false, DataConfig::getId));
- list1.addAll(list);
- });
- List<DataConfig> collect = list1.stream().distinct().collect(Collectors.toList());
- // 3銆侀噰闆嗭紝鍙栨暟鎹�
- Map<String, Object> map = DataAcquisition.dataAcquisitionEntrance(collect, device.get(0), entrustCode, sampleCode, ip, fiberOpticRibbon);
- // 4銆侀�犲惊鐜鏁帮紝鍙備笌鍏紡璁$畻
- if (ObjectUtils.isNotEmpty(map)) {
- Map<String, Object> frequency = DataAcquisition.createFrequency(entrustCode, sampleCode,fiberOpticRibbon, map);
- return Result.success(frequency);
- } else {
- return Result.success(null);
- }
- }
-
- @Override
- public List<ADto> menu() {
- //鏌ヨ鎵�鏈夎澶囦俊鎭�
- List<Device> devices = baseMapper.selectList(null);
- List<String> name = devices.stream().map(Device::getDeviceName).collect(Collectors.toList());
-
- //鏌ヨ鎵�鏈夌敤鎴蜂俊鎭�
- List<User> users = userMapper.selectList(null);
- List<String> collect = users.stream().map(User::getName).collect(Collectors.toList());
- String menu="[\n" +
- "\t{\n" +
- "\t\tk: 0,\n" +
- "\t\tv: \"涓汉棣栭〉\",\n" +
- "\t\ti: \"font icon-shouyefill\",\n" +
- "\t\tself: true,\n" +
- "\t\tc: [{\n" +
- "\t\t\tk: 0,\n" +
- "\t\t\tv: \"涓汉棣栭〉\",\n" +
- "\t\t\ti: \"font icon-shouyefill\",\n" +
- "\t\t\tu: \"index-index\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"涓氬姟绠$悊\",\n" +
- "\t\ti: \"font icon-kexueyanjiuheshiyankaifa\",\n" +
- "\t\tp: \"selectInsOrderParameter selectInsOrderPlanList pageInsReport costStatistics selectWarehouse\",\n" +
- "\t\tc: [\n" +
- " {\n" +
- " v: \"鍘熸潗鏂欐楠屼笅鍗昞",\n" +
- " i: \"font icon-erjidaohang\",\n" +
- " u: \"b1-material-inspection-order\",\n" +
- " p: \"selectInsOrderParameter\"\n" +
- " },\n" +
- " {\n" +
- "\t\t\tv: \"妫�楠屼笅鍗昞",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-inspection-order\",\n" +
- "\t\t\tp: \"selectInsOrderParameter\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"妫�楠屼换鍔",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-inspect-order-plan\",\n" +
- "\t\t\tp: \"selectInsOrderPlanList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶ュ憡缂栧埗\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-report-preparation\",\n" +
- "\t\t\tp: \"pageInsReport\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璐圭敤缁熻\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-expenses\",\n" +
- "\t\t\tp: \"costStatistics\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍峰搧绠$悊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-sample\",\n" +
- "\t\t\tp: \"selectWarehouse\"\n" +
- "\t\t},{\n" +
- "\t\t\tv: \"涓嶅悎鏍肩鐞哱",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b1-unpass\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}\n" +
- "\t]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"鏍囧噯闆哱",\n" +
- "\t\ti: \"font icon-biaozhunji\",\n" +
- "\t\tp: \"selectStandardTreeList selectStandardTemplatePageList\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"鏍囧噯搴揬",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b2-standard\",\n" +
- "\t\t\tp: \"selectStandardTreeList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍘熷璁板綍妯℃澘\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b2-standard-template\",\n" +
- "\t\t\tp: \"selectStandardTemplatePageList\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"缁╂晥绠$悊\",\n" +
- "\t\ti: \"font icon-jixiaoguanli\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"宸ユ椂绠$悊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b3-work-time-management\",\n" +
- "\t\t\tp: \"selectAuxiliaryWorkingHours\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鑰冨嫟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鑰冭瘎\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b3-personnel-evaluation\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鑰冩牳\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶�鑳界瓑绾",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"宸ヨ祫缁撶畻\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鐝\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b3-classes\",\n" +
- "\t\t\tp: \"performanceShiftPage performanceShiftPageYear\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"缁熻鍥捐〃\",\n" +
- "\t\ti: \"font icon-tongjitubiao\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"瀹為獙瀹よ绱燶",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"姣忔棩涓氬姟缁熻\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b4-daily-business-statistics\",\n" +
- "\t\t\tp: \"businessStatisticsByDay\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"妫�娴嬮」鐩粺璁",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b4-inspection-item-statistics\",\n" +
- "\t\t\tp: \"testProductByDay\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍峰搧缂洪櫡鎸囨暟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"b4-sample-defects\",\n" +
- "\t\t\tp: \"selectSampleDefects\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鑰楁潗缁熻\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳宸ヤ綔鎶ヨ〃\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"鐢靛瓙鐪嬫澘\",\n" +
- "\t\ti: \"font icon-dianzikanban-fan\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"瀹㈡埛鎺ュ緟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浠诲姟灞曠ず\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鐘舵�佸強楗卞拰搴",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"绯荤粺鍔熻兘\",\n" +
- "\t\ti: \"el-icon-s-tools\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"鏁版嵁瀛楀吀\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"enums\",\n" +
- "\t\t\tp: \"selectEnumList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瑙掕壊绠$悊\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"role-manage\",\n" +
- "\t\t\tp: \"selectRoleLists\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鐢ㄦ埛绠$悊\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"person-manage\",\n" +
- "\t\t\tp: \"selectUserList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹㈡埛绠$悊\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"custom_manage\",\n" +
- "\t\t\tp: \"selectCustomPageList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"绯荤粺鏃ュ織\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"system-log\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"娑堟伅璇︽儏\",\n" +
- "\t\t\ti: \"el-icon-s-tools\",\n" +
- "\t\t\tu: \"notice-detail\",\n" +
- "\t\t\tp: \"abcd\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"4 閫氱敤瑕佹眰\",\n" +
- "\t\ti: \"font icon-tongyongyaoqiu\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\t\tv: \"閫氱敤瑕佹眰\",\n" +
- "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\t\tu: \"\",\n" +
- "\t\t\t\tg: \"4 閫氱敤瑕佹眰\",\n" +
- "\t\t\t\tp: \"\"\n" +
- "\t\t\t},\n" +
- "\t\t\t{\n" +
- "\t\t\t\tv: \"鍏鎬",\n" +
- "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\t\tu: \"\",\n" +
- "\t\t\t\tg: \"4.1 鍏鎬",\n" +
- "\t\t\t\tp: \"\"\n" +
- "\t\t\t},\n" +
- "\t\t\t{\n" +
- "\t\t\t\tv: \"淇濆瘑鎬",\n" +
- "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\t\tu: \"\",\n" +
- "\t\t\t\tg: \"4.2 淇濆瘑鎬",\n" +
- "\t\t\t\tp: \"\"\n" +
- "\t\t\t}\n" +
- "\t\t]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"5 缁撴瀯瑕佹眰\",\n" +
- "\t\ti: \"font icon-jiegouyaoqiu\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"瀹為獙瀹ょ殑娉曞緥鍦颁綅\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"A瀹為獙瀹ょ殑娉曞緥鍦颁綅\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍏ㄦ潈璐熻矗鐨勭鐞嗗眰\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"B鍏ㄦ潈璐熻矗鐨勭鐞嗗眰\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹為獙瀹よ祫璐╘",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a5-laboratory-qualifications\",\n" +
- "\t\t\tg: \"C鑳藉姏鑼冨洿鍜岃祫璐╘",\n" +
- "\t\t\tp: \"getCertificationDetail\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鑳藉姏鑼冨洿\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a5-capacity-scope\",\n" +
- "\t\t\tg: \"C鑳藉姏鑼冨洿鍜岃祫璐╘",\n" +
- "\t\t\tp: \"selectItemParameterList selectTestObjectList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍦烘墍鎴栬鏂絓",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a5-laboratory-management\",\n" +
- "\t\t\tg: \"D鍦烘墍鎴栬鏂絓",\n" +
- "\t\t\tp: \"selectItemParameter\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"缁勭粐鐩稿叧鏂囦欢\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"E缁勭粐鐩稿叧鏂囦欢\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳宀椾綅浠昏亴\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"F浜哄憳宀椾綅浠昏亴\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"娌熼�氬拰瀹h疮\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"G娌熼�氬拰瀹h疮\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t}, {\n" +
- "\t\tv: \"6 璧勬簮瑕佹眰\",\n" +
- "\t\ti: \"font icon-ziyuanyaoqiu\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"鎬诲垯\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.1 鎬诲垯\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鎬昏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-personnel-overview\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"selectPersonnelOverview\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鏄庣粏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-personnel-detail\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"selectDepartmentLim\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鍩硅\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鐩戠潱\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"宀椾綅鑱岃矗\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鍩烘湰淇℃伅\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"宸ヤ綔灞ュ巻\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"濂栨儵璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍩硅璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鐩戠潱璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浠昏亴鎺堟潈璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浜哄憳鑳藉姏鐩戞帶璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"娌熼�氳褰昞",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.2 浜哄憳\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"澶栨潵浜哄憳绠$悊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-external-personnel-management\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹為獙瀹よ鏂藉満鎵�淇℃伅\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁炬柦鍜岀幆澧冩潯浠惰姹俓",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鐜鏉′欢寮曠敤\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹夊叏鍖轰唬琛ㄦ鏌",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹夊叏鍐呭姟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"搴熺墿澶勭悊浜ゆ帴璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-waste-handover\",\n" +
- "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鎬昏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-device-overview\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"selectDeviceParameter\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧宸ュ叿鏄庣粏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-device-management\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"selectDeviceParameter\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璧勬簮棰勫畾\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浣滀笟鎸囧涔",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧杩愯鎬昏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧妗f\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧楠屾敹\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鏍″噯\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鏍告煡\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧缁存姢\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鍊熺敤\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鏁呴殰\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"浣跨敤璁板綍\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁惧鍋滅敤/鍚敤\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.4 璁惧\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"閲忓�兼函婧愯鍒抃",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍囧噯鐗╄川娓呭崟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-standard-material-list\",\n" +
- "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍囧噯鐗╄川楠屾敹\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍囧噯鐗╄川棰嗙敤\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a6-standard-material-requisition\",\n" +
- "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"杩囨湡鏍囨牱澶勭疆\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏈嶅姟鍜屼緵搴斿搧閲囪喘\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t},{\n" +
- "\t\t\tv: \"渚涘簲鍟嗙鐞哱",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"7 杩囩▼瑕佹眰\",\n" +
- "\t\ti: \"font icon-guochengyaoqiu\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"妫�楠屽鎵樺崟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍚堝悓璇勫\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹為獙瀹ょ殑妫�娴嬭兘鍔涙。妗圽",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"a7-standard-method\",\n" +
- "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
- "\t\t\tp: \"selectStandardMethodList\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍囧噯鏌ユ柊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏍囧噯鏂规硶鐨勫彉鏇碶",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂规硶楠岃瘉\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶芥牱\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.3 鎶芥牱\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃甛",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.4 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃甛",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶�鏈褰昞",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.5 鎶�鏈褰昞",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹歕",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.6 娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹歕",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"纭繚缁撴灉鏈夋晥鎬",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.7 纭繚缁撴灉鏈夋晥鎬",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶ュ憡缁撴灉\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.8 鎶ュ憡缁撴灉\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶曡瘔璇︽儏\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.9 鎶曡瘔\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鎶曡瘔鎯呭喌姹囨�昏〃\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.9 鎶曡瘔\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"涓嶇鍚堥」\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.10 涓嶇鍚堝伐浣淺",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"涓嶇鍚堥」鐨勫垎甯僜",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.10 涓嶇鍚堝伐浣淺",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏁版嵁鎺у埗鍜屼俊鎭鐞哱",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"7.11 鏁版嵁鎺у埗鍜屼俊鎭鐞哱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t},\n" +
- "\t{\n" +
- "\t\tv: \"8 浣撶郴绠$悊瑕佹眰\",\n" +
- "\t\ti: \"font icon-guanlitixiyaoqiu\",\n" +
- "\t\tp: \"\",\n" +
- "\t\tc: [{\n" +
- "\t\t\tv: \"鏂瑰紡\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.1 鏂瑰紡\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"绠$悊浣撶郴鏂囦欢\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.2 绠$悊浣撶郴鏂囦欢\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂囦欢娓呭崟\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂囦欢鍙楁帶\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂囦欢鍙戞斁鍥炴敹\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂囦欢鍙樻洿\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鏂囦欢浣滃簾\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"璁板綍鐨勬帶鍒禱",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.4 璁板綍鐨勬帶鍒禱",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"搴斿椋庨櫓鍜屾満閬囩殑鎺柦\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.5 搴斿椋庨櫓鍜屾満閬囩殑鎺柦\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹㈡埛鍩烘湰淇℃伅绠$悊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.6 鏀硅繘\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"瀹㈡埛婊℃剰搴",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.6 鏀硅繘\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"绾犳鎺柦\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.7 绾犳鎺柦\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"鍐呭绠$悊\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.8 鍐呭绠$悊\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}, {\n" +
- "\t\t\tv: \"绠$悊璇勫\",\n" +
- "\t\t\ti: \"font icon-erjidaohang\",\n" +
- "\t\t\tu: \"\",\n" +
- "\t\t\tg: \"8.9 绠$悊璇勫\",\n" +
- "\t\t\tp: \"\"\n" +
- "\t\t}]\n" +
- "\t}\n" +
- "]";
- List<ADto> aDtos = JSONArray.parseArray(menu, ADto.class);
- List<BDto> bDtos = aDtos.get(9).getC();
- for (String s : name) {
- BDto bDto = new BDto();
- bDto.setV(s);
- bDto.setI("font icon-erjidaohang");
- bDto.setU("a6-device-overview");
- bDto.setG("6.4 璁惧");
- bDto.setP("selectDeviceParameter");
- bDtos.add(bDto);
- }
- for (String s : collect) {
- BDto bDto = new BDto();
- bDto.setV(s);
- bDto.setI("font icon-erjidaohang");
- bDto.setU("a6-personnel-overview");
- bDto.setG("6.2 浜哄憳");
- bDto.setP("selectPersonnelOverview");
- bDtos.add(bDto);
- }
-
- return aDtos;
- }
-
- @Override
- public List<Map<String, Object>> treeDevice(String deviceName) {
- List<Map<String, Object>> listMap = deviceMapper.treeDevice(deviceName);
- return listMap;
- }
-
- @Override
- public Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request) {
- String ip = DataAcquisition.getIp(request);
- List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
- .eq(Device::getIp, ip));
- if (ObjectUtils.isEmpty(device)) {
- return Result.success(false);
- }
- if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) {
- return Result.success(false);
- } else {
- return Result.success(true);
- }
- }
- @Override
- public void exportData(DeviceDto deviceDto, HttpServletResponse response){
- //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
-// String dates = deviceDto.getDates();
-// String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-// deviceDto.setDates(null);
-// List<CostStatisticsDto> deviceDtos = deviceMapper.selectList(QueryWrappers.queryWrappers(deviceDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
-// deviceDtos = deviceDtos.stream().map(dto -> {
-// Set<String> uniqueTags = new HashSet<>();
-// if (dto.getInspectionItem().contains(",")) {
-// for (String s : dto.getInspectionItem().split(",")) {
-// uniqueTags.add(s.split("@")[0]);
-// }
-// } else {
-// uniqueTags.add(dto.getInspectionItem().split("@")[0]);
-// }
-// dto.setInspectionItem(uniqueTags.toString());
-// return dto;
-// }).collect(Collectors.toList());
-//
-// response.setContentType("application/vnd.ms-excel");
-// response.setCharacterEncoding("UTF-8");
-// // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-// String fileName = URLEncoder.encode("鏍峰搧璐圭敤缁熻瀵煎嚭", "UTF-8");
-// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-// Map<String, List<CostStatisticsDto>> groupByCompany =
-// deviceDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany()))
-// .collect(Collectors.groupingBy(CostStatisticsDto::getCompany));
-// try {
-// // 鏂板缓ExcelWriter
-// // 鏂板缓ExcelWriter
-// ExcelWriter excelWriter =
-// EasyExcel.write(response.getOutputStream())
-// .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
-// .build();
-// for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) {
-// String sheetName = companyDataEntry.getKey();
-// List<CostStatisticsDto> dataList = companyDataEntry.getValue();
-// WriteSheet mainSheet = EasyExcel.writerSheet(sheetName)
-// .head(CostStatisticsDto.class)
-// .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
-// .build();
-// excelWriter.write(dataList, mainSheet);
-// }
-// // 鍏抽棴娴�
-// excelWriter.finish();
-// } catch (IOException e) {
-// throw new RuntimeException("瀵煎嚭澶辫触");
-// }
- }
-
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DocumentServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DocumentServiceImpl.java
deleted file mode 100644
index 7136df7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DocumentServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.DocumentDao;
-import com.ruoyi.requier.pojo.Document;
-import com.ruoyi.requier.service.DocumentService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DocumentServiceImpl extends ServiceImpl<DocumentDao, Document> implements DocumentService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java
deleted file mode 100644
index 98621dd..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.mapper.FeCalibrationScheduleMapper;
-import com.ruoyi.requier.pojo.FeCalibrationSchedule;
-import com.ruoyi.requier.service.FeCalibrationScheduleService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 02:53:05
- */
-@Service
-public class FeCalibrationScheduleServiceImpl extends ServiceImpl<FeCalibrationScheduleMapper, FeCalibrationSchedule> implements FeCalibrationScheduleService {
-
- @Override
- public IPage<FeCalibrationSchedule> page(Page page, String instrumentName, String managementNumber) {
- IPage<FeCalibrationSchedule> ipage = this.baseMapper.ipage(page,instrumentName, managementNumber);
- return ipage;
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java
deleted file mode 100644
index 74f74e6..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-import com.ruoyi.requier.service.FeIlluminationDetectionAreaService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:28
- */
-@Service
-public class FeIlluminationDetectionAreaServiceImpl extends ServiceImpl<FeIlluminationDetectionAreaMapper, FeIlluminationDetectionArea> implements FeIlluminationDetectionAreaService {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java
deleted file mode 100644
index 0b9abb0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.utils.DateImageUtil;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
-import com.ruoyi.system.mapper.UserMapper;
-import com.ruoyi.requier.dto.FeIlluminationDto;
-import com.ruoyi.requier.dto.FeIlluminationExportDto;
-import com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper;
-import com.ruoyi.requier.mapper.FeIlluminationMapper;
-import com.ruoyi.requier.pojo.FeIllumination;
-import com.ruoyi.requier.pojo.FeIlluminationDetectionArea;
-import com.ruoyi.requier.service.FeIlluminationService;
-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.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:15:57
- */
-@Service
-public class FeIlluminationServiceImpl extends ServiceImpl<FeIlluminationMapper, FeIllumination> implements FeIlluminationService {
-
- @Resource
- private FeIlluminationDetectionAreaMapper feIlluminationDetectionAreaMapper;
- @Resource
- private UserMapper userMapper;
-
- @Value("${file.path}")
- private String imgUrl;
-
-
- @Override
- public IPage<FeIlluminationDto> getFeLightningProtection(Page page) {
- return baseMapper.getFeLightningProtection(page);
- }
-
- /**
- * 瀵煎嚭鐓у害璁板綍
- * @param intensityIlluminationId
- * @param response
- */
- @Override
- public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response) {
- FeIlluminationExportDto illuminationExportDto = baseMapper.selectFeIllumination(intensityIlluminationId);
- // 妫�娴嬩汉
- String testerUrl = null;
- if (illuminationExportDto.getTesterId() != null) {
- testerUrl = userMapper.selectById(illuminationExportDto.getTesterId()).getSignatureUrl();
- if (StringUtils.isBlank(testerUrl)) {
- throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
- }
- }
-
- // 鏍告煡浜�
- String checkerUrl = null;
- if (illuminationExportDto.getCheckerId() != null) {
- checkerUrl = userMapper.selectById(illuminationExportDto.getCheckerId()).getSignatureUrl();
- if (StringUtils.isBlank(checkerUrl)) {
- throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
- }
- }
-
- // 鏌ヨ璇︽儏
- List<FeIlluminationDetectionArea> feIlluminationDetectionAreas = feIlluminationDetectionAreaMapper.selectList(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
- .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId));
-
- for (int i = 0; i < feIlluminationDetectionAreas.size(); i++) {
- feIlluminationDetectionAreas.get(i).setIndex(i + 1);
- }
-
- // 鑾峰彇璺緞
- InputStream inputStream = this.getClass().getResourceAsStream("/static/illumination.docx");
- Configure configure = Configure.builder()
- .bind("detectionAreaList", new HackLoopTableRenderPolicy())
- .build();
- String finalTesterUrl = testerUrl;
- String finalCheckerUrl = checkerUrl;
-
- // 鍒ゆ柇妫�娴嬫棩鏈熸槸鍚︿负绌�
- LocalDateTime localDateTime = null;
- if (illuminationExportDto.getTestDate() != null) {
- Instant instant = illuminationExportDto.getTestDate().toInstant();
- ZoneId zoneId = ZoneId.systemDefault();
- localDateTime = instant.atZone(zoneId).toLocalDateTime();
- }
- LocalDateTime finalLocalDateTime = localDateTime;
- XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
- new HashMap<String, Object>() {{
- put("illumination", illuminationExportDto);
- put("detectionAreaList", feIlluminationDetectionAreas);
- put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
- put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null);
- put("testDateUrl", finalLocalDateTime != null ?
- Pictures.ofStream(DateImageUtil.createDateImage(finalLocalDateTime)).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-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java
deleted file mode 100644
index 665952b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.excel.FeLightningProtectionExcel;
-import com.ruoyi.requier.mapper.FeLightningProtectionMapper;
-import com.ruoyi.requier.pojo.FeLightningProtection;
-import com.ruoyi.requier.service.FeLightningProtectionService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:36
- */
-@Service
-public class FeLightningProtectionServiceImpl extends ServiceImpl<FeLightningProtectionMapper, FeLightningProtection> implements FeLightningProtectionService {
-
- @Override
- public List<FeLightningProtectionExcel> exportOfLightningProtectionDetection() {
- return baseMapper.exportOfLightningProtectionDetection();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java
deleted file mode 100644
index c471ed7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.FeMeasuredQuantityMapper;
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-import com.ruoyi.requier.service.FeMeasuredQuantityService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:44
- */
-@Service
-public class FeMeasuredQuantityServiceImpl extends ServiceImpl<FeMeasuredQuantityMapper, FeMeasuredQuantity> implements FeMeasuredQuantityService {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java
deleted file mode 100644
index 08f9afb..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
-import com.ruoyi.system.mapper.UserMapper;
-import com.ruoyi.requier.dto.FePowerStableDto;
-import com.ruoyi.requier.dto.FePowerStableExportDto;
-import com.ruoyi.requier.mapper.FeMeasuredQuantityMapper;
-import com.ruoyi.requier.mapper.FePowerStableMapper;
-import com.ruoyi.requier.pojo.FeMeasuredQuantity;
-import com.ruoyi.requier.pojo.FePowerStable;
-import com.ruoyi.requier.service.FePowerStableService;
-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.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:16:52
- */
-@Service
-public class FePowerStableServiceImpl extends ServiceImpl<FePowerStableMapper, FePowerStable> implements FePowerStableService {
-
- @Resource
- private FeMeasuredQuantityMapper feMeasuredQuantityMapper;
- @Resource
- private UserMapper userMapper;
-
- @Value("${file.path}")
- private String imgUrl;
-
- @Override
- public IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page) {
- return baseMapper.getLaboratoryFacilityPowerStablePage(page);
- }
-
- @Override
- public Map<String, Objects> getCalibrationDate(Integer deviceId) {
- return baseMapper.getCalibrationDate(deviceId);
- }
-
- /**
- * 瀵煎嚭鐢垫簮绋冲畾鎬�
- * @param powerStableId
- * @param response
- */
- @Override
- public void exportFePowerStable(Integer powerStableId, HttpServletResponse response) {
- FePowerStableExportDto powerStable = baseMapper.selectPowerStable(powerStableId);
-
- // 妫�娴嬩汉
- String testerUrl = null;
- if (powerStable.getTesterId() != null) {
- testerUrl = userMapper.selectById(powerStable.getTesterId()).getSignatureUrl();
- if (StringUtils.isBlank(testerUrl)) {
- throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
- }
- }
-
- // 鏍告煡浜�
- String checkerUrl = null;
- if (powerStable.getCheckerId() != null) {
- checkerUrl = userMapper.selectById(powerStable.getCheckerId()).getSignatureUrl();
- if (StringUtils.isBlank(checkerUrl)) {
- throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
- }
- }
-
- // 鏌ヨ璇︽儏
- List<FeMeasuredQuantity> feMeasuredQuantities = feMeasuredQuantityMapper.selectList(Wrappers.<FeMeasuredQuantity>lambdaQuery()
- .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
-
- // 鑾峰彇璺緞
- InputStream inputStream = this.getClass().getResourceAsStream("/static/power-stable.docx");
- Configure configure = Configure.builder()
- .bind("measuredQuantityList", new HackLoopTableRenderPolicy())
- .build();
- String finalTesterUrl = testerUrl;
- String finalCheckerUrl = checkerUrl;
- XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
- new HashMap<String, Object>() {{
- put("stable", powerStable);
- put("measuredQuantityList", feMeasuredQuantities);
- put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
- put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).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-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
deleted file mode 100644
index 99c906c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceInspectionService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 楠屾敹寮�绠辫褰� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:30:09
- */
-@Service
-public class FeStandardSubstanceAcceptanceInspectionServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceInspectionMapper, FeStandardSubstanceAcceptanceInspection> implements FeStandardSubstanceAcceptanceInspectionService {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
deleted file mode 100644
index d24567b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.ruoyi.requier.dto.AcceptanceDto;
-import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
-import com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceMapper;
-import com.ruoyi.requier.mapper.FeStandardSubstanceMapper;
-import com.ruoyi.requier.pojo.FeStandardSubstance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import com.ruoyi.requier.service.FeStandardSubstanceAcceptanceService;
-import com.ruoyi.requier.vo.AcceptanceDetailsVo;
-import com.ruoyi.requier.vo.AcceptanceVo;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.List;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 03:29:41
- */
-@Service
-public class FeStandardSubstanceAcceptanceServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceMapper, FeStandardSubstanceAcceptance> implements FeStandardSubstanceAcceptanceService {
-
- @Resource
- private FeStandardSubstanceAcceptanceInspectionMapper feStandardSubstanceAcceptanceInspectionMapper;
-
- @Resource
- private FeStandardSubstanceMapper feStandardSubstanceMapper;
-
-
-
- @Override
- public void addAcceptance(AcceptanceDto dto) {
- FeStandardSubstanceAcceptance acceptance = dto.getAcceptance();
- List<FeStandardSubstanceAcceptanceInspection> list = dto.getList();
- this.baseMapper.insert(acceptance);
- list.forEach(v->{
- v.setAcceptanceId(acceptance.getId());
- feStandardSubstanceAcceptanceInspectionMapper.insert(v);
- });
- }
-
- @Override
- public IPage<AcceptanceVo> getPageAcceptance(Page page, String name) {
- return this.baseMapper.getPageAcceptance(page,name);
- }
-
- @Override
- public AcceptanceDetailsVo getAcceptanceDetails(Integer id) {
- FeStandardSubstanceAcceptance acceptance = this.baseMapper.selectById(id);
- FeStandardSubstance substance = feStandardSubstanceMapper.selectById(acceptance.getSubstanceId());
- QueryWrapper<FeStandardSubstanceAcceptanceInspection> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("acceptance_id",id);
- List<FeStandardSubstanceAcceptanceInspection> list = feStandardSubstanceAcceptanceInspectionMapper.selectList(queryWrapper);
- AcceptanceDetailsVo vo = new AcceptanceDetailsVo();
- vo.setSubstance(substance);
- vo.setAcceptance(acceptance);
- vo.setList(list);
- return vo;
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Integer deleteAcceptance(Integer id) {
- feStandardSubstanceAcceptanceInspectionMapper.delete(new QueryWrapper<FeStandardSubstanceAcceptanceInspection>()
- .lambda().eq(FeStandardSubstanceAcceptanceInspection::getAcceptanceId,id));
- return this.baseMapper.deleteById(id);
- }
-
- @Override
- public void exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
- List<FeStandardSubstanceAcceptance> list = this.list();
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- try {
- String fileName = URLEncoder.encode("鏍囧噯鐗╄川楠屾敹", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- // 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- WriteSheet writeSheet = EasyExcel.writerSheet(0, "鏍囧噯鐗╄川楠屾敹").head(FeStandardSubstanceAcceptance.class).build();
- excelWriter.write(list, writeSheet);
- // 鍏抽棴娴�
- excelWriter.finish();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- throw new RuntimeException("瀵煎嚭澶辫触");
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("瀵煎嚭澶辫触");
- }
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java
deleted file mode 100644
index 74b7510..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.requier.mapper.FeStandardSubstanceMapper;
-import com.ruoyi.requier.mapper.FeStandardSubstanceRecordMapper;
-import com.ruoyi.requier.pojo.FeStandardSubstance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceRecord;
-import com.ruoyi.requier.service.FeStandardSubstanceRecordService;
-import com.ruoyi.requier.vo.SubstanceRecordVo;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-14 01:49:11
- */
-@Transactional(rollbackFor = Exception.class)
-@Service
-public class FeStandardSubstanceRecordServiceImpl extends ServiceImpl<FeStandardSubstanceRecordMapper, FeStandardSubstanceRecord> implements FeStandardSubstanceRecordService {
-
- @Resource
- private FeStandardSubstanceMapper feStandardSubstanceMapper;
-
- @Override
- public void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
- FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
- .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
- .eq(FeStandardSubstance::getState, 0)
- .last("limit 1"));
- if (ObjectUtils.isEmpty(standardSubstance)){
- throw new ErrorException("璇ョ墿璐ㄥ凡琚�熷嚭锛�");
- }
- this.baseMapper.insert(feStandardSubstanceRecord);
- standardSubstance.setState(1);
- feStandardSubstanceMapper.updateById(standardSubstance);
- }
-
- @Override
- public void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
- FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
- .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
- .eq(FeStandardSubstance::getState, 1));
- if (ObjectUtils.isEmpty(standardSubstance)){
- throw new ErrorException("璇ョ墿璐ㄦ湭琚鐢紝鏃犻渶褰掕繕锛�");
- }
- standardSubstance.setState(0);
- feStandardSubstanceMapper.updateById(standardSubstance);
- System.out.println(feStandardSubstanceRecord);
- baseMapper.update(feStandardSubstanceRecord, Wrappers.<FeStandardSubstanceRecord>lambdaUpdate()
- .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId())
- .eq(FeStandardSubstanceRecord::getStatus, 0));
- }
-
- @Override
- public List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id) {
- QueryWrapper<FeStandardSubstanceRecord> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("substance_id",id);
- List<FeStandardSubstanceRecord> list = this.baseMapper.selectList(queryWrapper);
- return list;
- }
-
- @Override
- public IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo) {
- return this.baseMapper.getPage(page,vo);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java
deleted file mode 100644
index 21e50ee..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.mapper.FeStandardSubstanceMapper;
-import com.ruoyi.requier.pojo.FeStandardSubstance;
-import com.ruoyi.requier.service.FeStandardSubstanceService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-13 03:58:59
- */
-@Service
-public class FeStandardSubstanceServiceImpl extends ServiceImpl<FeStandardSubstanceMapper, FeStandardSubstance> implements FeStandardSubstanceService {
-
- @Override
- public IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance) {
- return this.baseMapper.getPage(page,feStandardSubstance);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java
deleted file mode 100644
index 2344687..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.framework.util.HackLoopTableRenderPolicy;
-import com.ruoyi.requier.dto.FeTempHumDateDto;
-import com.ruoyi.requier.dto.FeTempHumRecordDto;
-import com.ruoyi.requier.mapper.FeTempHumDateMapper;
-import com.ruoyi.requier.pojo.FeTempHumDate;
-import com.ruoyi.requier.service.FeTempHumDateService;
-import com.ruoyi.requier.service.FeTempHumRecordService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-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-11-09 11:02:18
- */
-@Service
-public class FeTempHumDateServiceImpl extends ServiceImpl<FeTempHumDateMapper, FeTempHumDate> implements FeTempHumDateService {
-
- @Autowired
- private FeTempHumRecordService feTempHumRecordService;
-
- @Override
- public IPage<FeTempHumDateDto> getFeTempHumDate(Page page) {
- return baseMapper.getFeTempHumDate(page);
- }
-
- @Override
- public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response) {
- FeTempHumDate feTempHumDate = baseMapper.selectById(dateId);
- IPage<FeTempHumRecordDto> list = feTempHumRecordService.getFeTempHumRecordPage(new Page<>(1, -1), dateId);
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- list.getRecords().forEach(i -> {
- i.setMonth(i.getMorningTestTime().getMonth().getValue());
- i.setMorningTestTimeStr(i.getMorningTestTime().format(formatter));
- i.setAfternoonTimeStr(i.getAfternoonTime().format(formatter));
- });
- // 鑾峰彇璺緞
- InputStream inputStream = this.getClass().getResourceAsStream("/static/temp_hum_date.docx");
- Configure configure = Configure.builder()
- .bind("recordList", new HackLoopTableRenderPolicy())
- .build();
-
- HashMap<String, Object> map = new HashMap<>();
- map.put("testAreaName", feTempHumDate.getTestAreaName());
- map.put("experimentalYear", feTempHumDate.getMonthDate().getYear());
- map.put("experimentalMonth", feTempHumDate.getMonthDate().getMonth().getValue());
-
- XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
- new HashMap<String, Object>() {{
- put("feTempHum", map);
- put("recordList", list.getRecords());
- }});
-
- 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-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java
deleted file mode 100644
index 0b54a27..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.requier.dto.FeTempHumRecordDto;
-import com.ruoyi.requier.mapper.FeTempHumRecordMapper;
-import com.ruoyi.requier.pojo.FeTempHumRecord;
-import com.ruoyi.requier.service.FeTempHumRecordService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-07 04:28:52
- */
-@Service
-public class FeTempHumRecordServiceImpl extends ServiceImpl<FeTempHumRecordMapper, FeTempHumRecord> implements FeTempHumRecordService {
-
- @Override
- public IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId) {
- return baseMapper.getFeTempHumRecordPage(page, dateId);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java
deleted file mode 100644
index 360ef94..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.config.Configure;
-import com.deepoove.poi.data.Pictures;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
-import com.ruoyi.system.mapper.UserMapper;
-import com.ruoyi.requier.dto.ForeignRegisterDto;
-import com.ruoyi.requier.mapper.ForeignRegisterMapper;
-import com.ruoyi.requier.pojo.ForeignRegister;
-import com.ruoyi.requier.service.ForeignRegisterService;
-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.util.HashMap;
-import java.util.List;
-
-/**
- * <p>
- * 澶栨潵浜哄憳鐧昏 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 07:17:35
- */
-@Service
-public class ForeignRegisterServiceImpl extends ServiceImpl<ForeignRegisterMapper, ForeignRegister> implements ForeignRegisterService {
- @Resource
- private UserMapper userMapper;
- @Value("${file.path}")
- private String imgUrl;
-
- /**
- * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
- * @param page
- * @param foreignRegister
- * @return
- */
- @Override
- public IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) {
- String beginDate = foreignRegister.getBeginDate();
- String endDate = foreignRegister.getEndDate();
- foreignRegister.setBeginDate(null);
- foreignRegister.setEndDate(null);
- return baseMapper.pageForeignRegister(page, QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
- }
-
- /**
- * 瀵煎嚭澶栨潵浜哄憳鐧昏
- * @param foreignRegister
- */
- @Override
- public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response) {
- String beginDate = foreignRegister.getBeginDate();
- String endDate = foreignRegister.getEndDate();
- foreignRegister.setBeginDate(null);
- foreignRegister.setEndDate(null);
- List<ForeignRegisterDto> register = baseMapper.getForeignRegisterList(QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
-
- for (ForeignRegisterDto foreignRegisterDto : register) {
- // 娣诲姞鍗忓悓浜哄拰鎵瑰噯浜虹鍚�
- foreignRegisterDto.setAccompanyingRender(StringUtils.isNotBlank(foreignRegisterDto.getAccompanyingUrl())
- ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getAccompanyingUrl()).create() : null);
- foreignRegisterDto.setApproveRender(StringUtils.isNotBlank(foreignRegisterDto.getApproveUrl())
- ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getApproveUrl()).create() : null);
- }
- // 鑾峰彇璺緞
- InputStream inputStream = this.getClass().getResourceAsStream("/static/foreign-register.docx");
- Configure configure = Configure.builder()
- .bind("register", new HackLoopTableRenderPolicy())
- .build();
- XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
- new HashMap<String, Object>() {{
- put("register", register);
- }});
- 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-require/src/main/java/com/ruoyi/requier/service/impl/IncidentAcceptanceCheckServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentAcceptanceCheckServiceImpl.java
deleted file mode 100644
index d01ccd9..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentAcceptanceCheckServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.IncidentAcceptanceCheckMapper;
-import com.ruoyi.requier.pojo.IncidentAcceptanceCheck;
-import com.ruoyi.requier.service.IncidentAcceptanceCheckService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class IncidentAcceptanceCheckServiceImpl extends ServiceImpl<IncidentAcceptanceCheckMapper, IncidentAcceptanceCheck> implements IncidentAcceptanceCheckService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentFileServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentFileServiceImpl.java
deleted file mode 100644
index fbbe829..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentFileServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.IncidentFileMapper;
-import com.ruoyi.requier.pojo.IncidentFile;
-import com.ruoyi.requier.service.IncidentFileService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class IncidentFileServiceImpl extends ServiceImpl<IncidentFileMapper, IncidentFile> implements IncidentFileService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentInstallServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentInstallServiceImpl.java
deleted file mode 100644
index 0e6ac67..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentInstallServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.IncidentInstallMapper;
-import com.ruoyi.requier.pojo.IncidentInstall;
-import com.ruoyi.requier.service.IncidentInstallService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class IncidentInstallServiceImpl extends ServiceImpl<IncidentInstallMapper, IncidentInstall> implements IncidentInstallService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentReportServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentReportServiceImpl.java
deleted file mode 100644
index 48eda69..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentReportServiceImpl.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.numgen.NumberGenerator;
-import com.ruoyi.requier.dto.IncidentReportAddDto;
-import com.ruoyi.requier.excel.IncidentReportExport;
-import com.ruoyi.requier.mapper.IncidentReportMapper;
-import com.ruoyi.requier.pojo.*;
-import com.ruoyi.requier.service.*;
-import com.ruoyi.system.mapper.UserMapper;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-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 {
- @Autowired
- private UserMapper userMapper;
- private IncidentSparePartsService incidentSparePartsService;
- private IncidentFileService incidentFileService;
- private IncidentInstallService incidentInstallService;
- private IncidentAcceptanceCheckService incidentAcceptanceCheckService;
-
- private final NumberGenerator<IncidentReport> 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);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentSparePartsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentSparePartsServiceImpl.java
deleted file mode 100644
index 81ef727..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/IncidentSparePartsServiceImpl.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.IncidentSparePartsMapper;
-import com.ruoyi.requier.pojo.IncidentSpareParts;
-import com.ruoyi.requier.service.IncidentSparePartsService;
-import org.springframework.stereotype.Service;
-
-@Service
-public class IncidentSparePartsServiceImpl extends ServiceImpl<IncidentSparePartsMapper, IncidentSpareParts> implements IncidentSparePartsService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InformationNotificationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InformationNotificationServiceImpl.java
deleted file mode 100644
index e239dbc..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InformationNotificationServiceImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.dto.InformationNotificationDto;
-import com.ruoyi.requier.mapper.InformationNotificationMapper;
-import com.ruoyi.requier.pojo.InformationNotification;
-import com.ruoyi.requier.service.InformationNotificationService;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDate;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * <p>
- * 娑堟伅閫氱煡 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-04-23 02:14:30
- */
-@Service
-public class InformationNotificationServiceImpl extends ServiceImpl<InformationNotificationMapper, InformationNotification> implements InformationNotificationService {
-
- @Override
- public IPage<InformationNotificationDto> getPage(Page page, String messageType) {
- return baseMapper.getPage(page, messageType, SecurityUtils.getUserId().intValue());
- }
-
- @Override
- public void markAllInformationReadOrDeleteAllReadMessages(Boolean isMarkAllInformationRead) {
- if (isMarkAllInformationRead) {
- baseMapper.update(new InformationNotification(), Wrappers.<InformationNotification>lambdaUpdate()
- .set(InformationNotification::getViewStatus, true)
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId()));
- } else {
- baseMapper.delete(Wrappers.<InformationNotification>lambdaUpdate()
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
- .eq(InformationNotification::getViewStatus, true));
- }
- }
-
- @Override
- public Boolean checkForUnreadData() {
- Map<String, Integer> map1 = null;
- try {
- List<InformationNotification> informationNotifications = baseMapper.selectList(
- Wrappers.<InformationNotification>lambdaQuery()
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
- .eq(InformationNotification::getViewStatus, false)
- .last("limit 1"));
- return !informationNotifications.isEmpty();
- } catch (Exception e) {
- }
- return false;
- }
-
- @Override
- public void triggerModificationStatusToRead(Integer id) {
- baseMapper.update(new InformationNotification(), Wrappers.<InformationNotification>lambdaUpdate()
- .eq(InformationNotification::getId, id)
- .set(InformationNotification::getViewStatus, true));
- }
-
- @Override
- public int addInformationNotification(InformationNotification informationNotification) {
- return baseMapper.insert(informationNotification);
- }
-
- @Override
- public Map<String, Object> getNumberFourTypesMessagesHomePage() {
- Map<String, Object> map = new HashMap<>();
- Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId()));
- Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
- .eq(InformationNotification::getViewStatus, true));
- LocalDate today = LocalDate.now();
- LocalDate sevenDaysAgo = today.minusDays(7);
- Long totalNumberOfMessagesInThePastSevenDays = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
- .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
- .between(InformationNotification::getCreateTime, today, sevenDaysAgo));
- long remainingToDo = totalNumberOfMessages - totalNumberOfReadMessages;
- map.put("totalNumberOfMessages", totalNumberOfMessages);
- map.put("remainingToDo", remainingToDo);
- map.put("totalNumberOfReadMessages", totalNumberOfReadMessages);
- map.put("totalNumberOfMessagesInThePastSevenDays", totalNumberOfMessagesInThePastSevenDays);
- return map;
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InsOrderPlanServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InsOrderPlanServiceImpl.java
deleted file mode 100644
index 693b928..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InsOrderPlanServiceImpl.java
+++ /dev/null
@@ -1,2785 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.lang.UUID;
-import cn.hutool.core.util.NumberUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.metadata.style.WriteCellStyle;
-import com.alibaba.excel.write.metadata.style.WriteFont;
-import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-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.conditions.query.QueryWrapper;
-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.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.deepoove.poi.XWPFTemplate;
-import com.deepoove.poi.config.Configure;
-import com.deepoove.poi.config.ConfigureBuilder;
-import com.deepoove.poi.data.*;
-import com.deepoove.poi.data.style.Style;
-import com.deepoove.poi.util.TableTools;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ruoyi.basic.mapper.StandardProductListMapper;
-import com.ruoyi.basic.service.StandardTemplateService;
-import com.ruoyi.basic.vo.StandardProductVO;
-import com.ruoyi.common.constant.ExchangeConstants;
-import com.ruoyi.common.constant.RouterKeyConstants;
-import com.ruoyi.common.core.domain.entity.Custom;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.utils.DictUtils;
-import com.ruoyi.common.utils.JackSonUtil;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.MatrixToImageWriter;
-import com.ruoyi.framework.util.RedisUtil;
-import com.ruoyi.inspect.dto.*;
-import com.ruoyi.inspect.mapper.*;
-import com.ruoyi.inspect.pojo.*;
-import com.ruoyi.inspect.service.InsBushingService;
-import com.ruoyi.inspect.service.InsOrderService;
-import com.ruoyi.inspect.service.InsUnPassService;
-import com.ruoyi.inspect.service.impl.InsOrderServiceImpl;
-import com.ruoyi.framework.util.SheetWriteHandlerUtil;
-import com.ruoyi.inspect.service.impl.InsReportServiceImpl;
-import com.ruoyi.inspect.vo.*;
-import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
-import com.ruoyi.performance.mapper.PerformanceShiftMapper;
-import com.ruoyi.performance.mapper.ShiftTimeMapper;
-import com.ruoyi.requier.handler.*;
-import com.ruoyi.requier.pojo.InformationNotification;
-import com.ruoyi.requier.service.InformationNotificationService;
-import com.ruoyi.requier.service.InsOrderPlanService;
-import com.ruoyi.system.mapper.CustomMapper;
-import com.ruoyi.system.mapper.UserMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.util.Strings;
-import org.apache.poi.openxml4j.util.ZipSecureFile;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.xwpf.usermodel.*;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Isolation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.net.URLEncoder;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.TemporalAdjusters;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-
-/**
- * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
- */
-@Service
-@Slf4j
-public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
-
- // 鎶ュ憡鎵爜璺緞
- @Value("${phoneQrCode}")
- private String phoneQrCode;
-
- @Resource
- private InsReportServiceImpl insReportService;
- @Resource
- private InsSampleMapper insSampleMapper;
- @Resource
- private InsSampleUserMapper insSampleUserMapper;
- @Resource
- private InsOrderMapper insOrderMapper;
- @Resource
- private InsOrderService insOrderService;
-
- @Resource
- private InsOrderServiceImpl insOrderServiceImpl;
-
- @Resource
- private StandardTemplateService standardTemplateService;
- @Resource
- private InsOrderStateMapper insOrderStateMapper;
- @Resource
- private InsProductMapper insProductMapper;
- @Resource
- private ShiftTimeMapper shiftTimeMapper;
- @Resource
- private PerformanceShiftMapper performanceShiftMapper;
-
- @Resource
- private StandardProductListMapper standardProductListMapper;
-
- @Value("${wordUrl}")
- private String wordUrl;
-
- @Value("${twoCode}")
- private String twoCode;
-
- @Resource
- private InsReportMapper insReportMapper;
-
- @Resource
- private InsProductResultMapper insProductResultMapper;
-
- @Resource
- private InsProductUserMapper insProductUserMapper;
-
- @Resource
- private InsUnPassService insUnPassService;
-
- @Resource
- AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
-
- @Resource
- private InformationNotificationService informationNotificationService;
-
- @Resource
- private UserMapper userMapper;
-
- @Resource
- private CustomMapper customMapper;
-
- @Value("${file.path}")
- private String imgUrl;
-
- @Resource
- private InsBushingService insBushingService;
-
- @Resource
- private InsBushingMapper insBushingMapper;
-
- @Resource
- private InsFiberMapper insFiberMapper;
-
- @Resource
- private InsFibersMapper insFibersMapper;
-
- @Resource
- private InsOrderFileMapper insOrderFileMapper;
-
- @Resource
- private InsReportApproveConfigMapper insReportApproveConfigMapper;
-
- @Autowired
- private RabbitTemplate rabbitTemplate;
-
-
-
- private ReentrantLock lock = new ReentrantLock();
-
- @Resource
- private ThreadPoolTaskExecutor threadPoolTaskExecutor;
-
- @Override
- public void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response) {
- List<Map<String,Object>> dataList = new ArrayList<>();
- ObjectMapper objectMapper = new ObjectMapper();
- try {
- Object o = getTabHeader(data.get("sonLaboratory").toString(), data.get("samples").toString()).get("tableHeader");// 鑾峰彇鍔ㄦ�佽〃澶�
- List<Map<String, Object>> tableHeader = objectMapper.readValue(JSONUtil.toJsonStr(o), new TypeReference<List<Map<String, Object>>>() {
- });// 琛ㄥご鏁版嵁
- Map<String, Object> table = objectMapper.readValue(JSONUtil.toJsonStr(data.get("trendsTable")), new TypeReference<Map<String, Object>>() {
- });
- List<Map<String, Object>> trendsTable = getInsOrderPlanList(table); // 琛ㄦ牸鏁版嵁
- for (Map<String, Object> trend : trendsTable) {
- Map<String, Object> addMap = new HashMap<>();
- addMap.put("濮旀墭鍗曞彿", trend.get("entrustCode"));
- addMap.put("鏍峰搧缂栧彿", trend.get("sampleCode"));
- addMap.put("绠¤壊鏍�", trend.get("bushing"));
- addMap.put("鍏夌氦甯﹁壊鏍�", trend.get("fibers"));
- addMap.put("鍏夌氦鑹叉爣", trend.get("fiber"));
- addMap.put("妫�楠岄」鐩垎绫�", trend.get("inspectionItem"));
- addMap.put("鍒涘缓浜�", trend.get("userName"));
- addMap.put("妫�娴嬫椂闂�", trend.get("insTime"));
- addMap.put("涓嬪彂鏃堕棿", trend.get("sendTime"));
- for (Map<String, Object> map : tableHeader) {
- if(Objects.isNull(trend.get(map.get("prop").toString())) || Objects.equals(trend.get(map.get("prop").toString()),"null")) {
- addMap.put(map.get("label").toString(), "");
- }else {
- addMap.put(map.get("label").toString(), trend.get(map.get("prop").toString()));
- }
- }
- dataList.add(addMap);
- }
- List<List<String>> head = head(tableHeader);
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- String fileName = URLEncoder.encode("妫�楠岀粨鏋�", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- HorizontalCellStyleStrategy horizontalCellStyleStrategy =
- new HorizontalCellStyleStrategy(getHeadStyle((short) 12),new WriteCellStyle());
-
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
- .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
- .registerWriteHandler(new SheetWriteHandlerUtil(data.get("samples").toString(),head.size()))
- .useDefaultStyle(true).relativeHeadRowIndex(1)
- .registerWriteHandler(horizontalCellStyleStrategy)
- .build();
- WriteSheet mainSheet = EasyExcel.writerSheet("Sheet0").head(head).build();
- excelWriter.write(dataList(head,dataList), mainSheet);
- // 鍏抽棴娴�
- excelWriter.finish();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * 鍔ㄦ�佽〃澶�
- * @param tableHeader
- * @return
- */
- private List<List<String>> head(List<Map<String, Object>> tableHeader) {
- List<List<String>> list = new ArrayList<>();
- List<String> head0 = new ArrayList<>();
- head0.add("濮旀墭鍗曞彿");
- List<String> head1 = new ArrayList<>();
- head1.add("鏍峰搧缂栧彿");
- List<String> head2 = new ArrayList<>();
- head2.add("妫�楠岄」鐩垎绫�");
- List<String> head3 = new ArrayList<>();
- head3.add("鍒涘缓浜�");
- List<String> head4 = new ArrayList<>();
- head4.add("妫�娴嬫椂闂�");
- List<String> head5 = new ArrayList<>();
- head5.add("涓嬪彂鏃堕棿");
- List<String> head6 = new ArrayList<>();
- head6.add("绠¤壊鏍�");
- List<String> head7 = new ArrayList<>();
- head7.add("鍏夌氦甯﹁壊鏍�");
- List<String> head8 = new ArrayList<>();
- head8.add("鍏夌氦鑹叉爣");
-
- list.add(head0);
- list.add(head1);
- list.add(head6);
- list.add(head7);
- list.add(head8);
- list.add(head2);
- list.add(head3);
- list.add(head4);
- list.add(head5);
- for (Map<String, Object> map : tableHeader) {
- List<String> head = new ArrayList<>();
- head.add(map.get("label").toString());
- list.add(head);
- }
- return list.stream().distinct().collect(Collectors.toList());
- }
-
- /**
- * excel瀵煎嚭鏁版嵁
- * @param head
- * @param dataList
- * @return
- */
- private List<List<Object>> dataList(List<List<String>> head,List<Map<String,Object>> dataList) {
- List<List<Object>> list = new ArrayList<>();
- for(Map<String, Object> map : dataList) {
- List<Object> addList = new ArrayList<>();
- for(List<String> k : head) {
- if(map.containsKey(k.get(0))) {
- addList.add(map.get(k.get(0)));
- }
- }
- list.add(addList);
- }
- return list;
- }
-
- /**
- * 澶寸殑绛栫暐
- * @return
- */
- public WriteCellStyle getHeadStyle(Short size){
- // 澶寸殑绛栫暐
- WriteCellStyle headWriteCellStyle = new WriteCellStyle();
- // 鑳屾櫙棰滆壊
- headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
- headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
- // 瀛椾綋
- WriteFont headWriteFont = new WriteFont();
- headWriteFont.setFontName("榛戜綋");//璁剧疆瀛椾綋鍚嶅瓧
- headWriteFont.setFontHeightInPoints(size);//璁剧疆瀛椾綋澶у皬
- headWriteFont.setBold(true);//瀛椾綋鍔犵矖
- headWriteCellStyle.setWriteFont(headWriteFont); //鍦ㄦ牱寮忕敤搴旂敤璁剧疆鐨勫瓧浣�;
-
- return headWriteCellStyle;
- }
- @Override
- public List<Map<String, Object>> getInsOrderPlanList(Map<String,Object> data) {
- String sampleType = data.get("sampleType").toString();
- String sonLaboratory = data.get("sonLaboratory").toString();
- String entrustCode = data.get("entrustCode").toString();
- Integer createUser = null;
- String name = "";
- if(StringUtils.isNotBlank(data.get("createUser").toString())) {
- createUser = Integer.parseInt(data.get("createUser").toString());
- name = userMapper.selectById(createUser).getName();
- }
- String sampleCode = data.get("sampleCode").toString();
- String startTime = "";
- String endTime = "";
- List<Map<String, Object>> maps = new ArrayList<>();
- ObjectMapper objectMapper = new ObjectMapper();
- try {
- if(StringUtils.isNotBlank(data.get("insTime").toString()) && !Objects.isNull(data.get("insTime"))) {
- List insTime = objectMapper.readValue(JSONUtil.toJsonStr(data.get("insTime")), List.class);
- startTime = insTime.get(0).toString();
- endTime = insTime.get(1).toString();
- }
- // 琛ㄥご淇℃伅
- List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.get("headerS")), new TypeReference<List<Map<String, Object>>>() {
- });
- // 鍒ゆ柇鏄惁鏄俯搴﹀惊鐜�
- if(sampleType.equals("娓╁害寰幆")) {
- List<ExportInsProductVO> insOrderTemList = insOrderMapper.getInsOrderTemList(entrustCode, sampleCode, startTime, endTime,name);
- List<TemperatureCycling> temList = insOrderServiceImpl.getTemList(insOrderTemList);
- for (TemperatureCycling map : temList) {
- Map<String, Object> resultMap = new HashMap<>();
- resultMap.put("entrustCode", map.getEntrustCode()); //濮旀墭鍗曞彿
- resultMap.put("sampleCode", map.getSampleCode()); //鏍峰搧缂栧彿
- resultMap.put("bushing", map.getBushColor()); //濂楃
- resultMap.put("fiber", map.getColor()); //鍏夌氦
- resultMap.put("fibers", map.getCode()); //鍏夌氦甯�
- resultMap.put("userName", map.getCheckName()); //妫�楠屼汉
- resultMap.put("insTime", map.getInsTime()); //妫�娴嬫椂闂�
- resultMap.put("sendTime", map.getSendTime()); //涓嬪彂鏃堕棿
- resultMap.put("inspectionItem", map.getSample()); //妫�楠岄」鐩�
- //娓╁害寰幆瀛愰」
- resultMap.put("inspectionItems", map.getInspectionItem());
- resultMap.put("inspectionItemSubclass", map.getInspectionItemSubclass());
- resultMap.put("attenuationCoefficient1310", map.getAttenuationCoefficient1310());
- resultMap.put("attenuationDifference1", map.getAttenuationDifference1());
- resultMap.put("attenuationDifference2", map.getAttenuationDifference2());
- resultMap.put("attenuationCoefficient1625", map.getAttenuationCoefficient1625());
- resultMap.put("attenuationDifference3", map.getAttenuationDifference3());
- resultMap.put("attenuationCoefficient1383", map.getAttenuationCoefficient1383());
- resultMap.put("attenuationDifference4", map.getAttenuationDifference4());
- resultMap.put("attenuationCoefficient1490", map.getAttenuationCoefficient1490());
- resultMap.put("attenuationDifference5", map.getAttenuationDifference5());
- resultMap.put("attenuationDifferenceMax", map.getAttenuationDifferenceMax());
- resultMap.put("insResult", map.getInsResult());
- maps.add(resultMap);
- }
- }
- else {
- List<Map<String, Object>> insOrderPlanList = baseMapper.getInsOrderPlanList(sonLaboratory, entrustCode, sampleCode, createUser, startTime, endTime,sampleType);
- for (Map<String, Object> map : insOrderPlanList) {
- Map<String, Object> resultMap = new HashMap<>();
- resultMap.put("entrustCode", map.get("entrustCode")); //濮旀墭鍗曞彿
- resultMap.put("sampleCode", map.get("sampleCode")); //鏍峰搧缂栧彿
- resultMap.put("bushing", map.get("bushing")); //濂楃
- resultMap.put("fiber", map.get("fiber")); //鍏夌氦
- resultMap.put("fibers", map.get("fibers")); //鍏夌氦甯�
- resultMap.put("userName", map.get("userName")); //鍒涘缓浜�
- resultMap.put("insTime", map.get("insTime")); //妫�娴嬫椂闂�
- resultMap.put("sendTime", map.get("sendTime")); //涓嬪彂鏃堕棿
- resultMap.put("inspectionItem", map.get("inspectionItem")); //妫�楠岄」鐩�
- // 鏌ョ湅琛ㄥご鏄惁瀛樺湪瀛愰」
- List<Map<String, Object>> collect = headerS.stream().filter(item ->
- item.get("label").toString().equals(map.get("inspectionItemSubclass").toString()))
- .collect(Collectors.toList());
- // 鏈夊氨鍙栧瓙椤� 娌℃湁灏卞彇鐖堕」
- if(!collect.isEmpty() && !Objects.isNull(collect)) {
- resultMap.put(collect.get(0).get("prop").toString(), map.get("lastValue"));//妫�楠屽瓙椤圭洰 妫�楠岀粨鏋�
- }else {
- List<Map<String, Object>> collect1 = headerS.stream().filter(item ->
- item.get("label").toString().equals(map.get("inspectionItem").toString()))
- .collect(Collectors.toList());
- if(!collect1.isEmpty() && !Objects.isNull(collect1)) {
- resultMap.put(collect1.get(0).get("prop").toString(), map.get("lastValue"));//妫�楠岄」鐩� 妫�楠岀粨鏋�
- }
- }
- maps.add(resultMap);
- }
-
- }
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
- }
- return maps.stream().distinct().collect(Collectors.toList());
- }
-
- /**
- * 鑾峰彇褰撳墠鐢ㄦ埛鐨勫疄楠屽
- * @return
- */
- private String getCurrentUserLaboratory(){
- // 鑾峰彇褰撳墠浜烘墍鍦ㄥ疄楠屽
- Integer userId = SecurityUtils.getUserId().intValue();
- String departLimsId = userMapper.selectById(userId).getDepartLimsId();
- String laboratory = "";
- if(StringUtils.isNotBlank(departLimsId)) {
- String[] split = departLimsId.split(",");
- for (String s : split) {
- if (StringUtils.isNotBlank(s) && (!Arrays.asList("1","22").contains(s))) {
- laboratory = insOrderMapper.getDepartment(Integer.parseInt(s));
- }
- }
- }
- return laboratory;
- }
-
- /**
- * 瀵煎嚭濮旀墭璐圭敤
- * @param data 鏁版嵁
- */
- @Override
- public void exportCommissionFees(Map<String, Object> data,HttpServletResponse response) {
- String laboratory = getCurrentUserLaboratory();
- // 鏃ユ湡鏍煎紡鍖�
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- String start = LocalDateTime.of(
- LocalDate.parse(data.get("startTime").toString(),
- dateTimeFormatter),LocalTime.of(00, 00, 00)
- ).toString();
- String end = LocalDateTime.of(
- LocalDate.parse(data.get("endTime").toString(),
- dateTimeFormatter),LocalTime.of(23, 59, 59)
- ).toString();
- // 鑾峰彇鏁版嵁
- String company = data.get("company").toString();
- List<CommissionFeesDto> list = insOrderMapper.selectCommissionFees(laboratory,company, start, end);
- list = list.stream().map(dto -> {
- Set<String> uniqueTags = new HashSet<>();
- if (dto.getInsItem().contains(",")) {
- for (String s : dto.getInsItem().split(",")) {
- uniqueTags.add(s.split("@")[0]);
- }
- } else {
- uniqueTags.add(dto.getInsItem().split("@")[0]);
- }
- dto.setInsItem(uniqueTags.toString());
- return dto;
- }).collect(Collectors.toList());
- try {
- String fileName = URLEncoder.encode(laboratory+"濮旀墭璐圭敤缁熻", "UTF-8");
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
- // 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(),CommissionFeesDto.class).build();
- // 鏍规嵁濮旀墭鍗曚綅杩涜sheet鍒嗙被
- Map<String, List<CommissionFeesDto>> collect = list.stream().collect(Collectors.groupingBy(CommissionFeesDto::getCompany));
- Iterator<Map.Entry<String, List<CommissionFeesDto>>> iterator = collect.entrySet().iterator();
- int i = 0;
- while(iterator.hasNext()) {
- Map.Entry<String, List<CommissionFeesDto>> entry = iterator.next();
- WriteSheet writeSheet = EasyExcel.writerSheet(i, entry.getKey()).build();
- excelWriter.write(entry.getValue(), writeSheet);
- i++;
- }
-// WriteSheet writeSheet = EasyExcel.writerSheet().head(CommissionFeesDto.class).build();
-// excelWriter.write(list, writeSheet);
-
- // 灏嗘暟鎹啓鍏�
- excelWriter.finish();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
-
- }
-
- @Override
- public void exportUnInsProducts(UnInsProductsDTO unInsProductsDTO, HttpServletResponse response) {
- String laboratory = getCurrentUserLaboratory();
- //鏃ユ湡鏍煎紡鍖�
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- LocalDateTime startDateTime = LocalDateTime.of(LocalDate.parse(unInsProductsDTO.getStartDate(),dateTimeFormatter),LocalTime.MIN);
- LocalDateTime endDateTime = LocalDateTime.of(LocalDate.parse(unInsProductsDTO.getEndDate(),dateTimeFormatter),LocalTime.MAX);
-
- // 鑾峰彇鏁版嵁
- List<UnInsProductsVO> list = baseMapper.selectUnInsProducts(laboratory, startDateTime, endDateTime,unInsProductsDTO);
- try {
- String fileName = URLEncoder.encode(laboratory+"寰呮浠诲姟缁熻", "UTF-8");
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
- // 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
- WriteSheet writeSheet = EasyExcel.writerSheet().head(UnInsProductsVO.class).build();
- excelWriter.write(list, writeSheet);
- // 鍏抽棴娴�
- excelWriter.finish();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public IPage<TasksShowDto> tasksShow(Page page, String sonLaboratory) {
- IPage tasksShow = insOrderMapper.getTasksShow(page, sonLaboratory);
- return tasksShow;
- }
-
- @Override
- public int getCurrentMonthPlanTotalBySonLaboratory(String sonLaboratory,LocalDateTime startTime, LocalDateTime endTime) {
- if(StringUtils.isNotBlank(sonLaboratory)){
- if(Objects.isNull(startTime) || Objects.isNull(endTime)) {
- //鑾峰彇褰撴湀鐨勫紑濮嬪拰缁撴潫鏃堕棿
- // 褰撴湀鐨勫紑濮嬫椂闂达紙绗竴澶� 00:00:00锛�
- startTime = LocalDate.now()
- .withDayOfMonth(1)
- .atStartOfDay();
-
- // 褰撴湀鐨勭粨鏉熸椂闂达紙鏈�鍚庝竴澶� 23:59:59.999999999锛�
- endTime = LocalDate.now()
- .with(TemporalAdjusters.lastDayOfMonth())
- .atTime(LocalTime.MAX);
- }
- //鏌ヨ褰撴湀璇ュ瓙璇曢獙瀹ょ殑鎬讳换鍔℃潯鏁�
- return baseMapper.selectPlanCountBySonLaboratory(sonLaboratory,startTime,endTime);
- }
- return 0;
- }
-
- @Override
- public Map<String, Object> getTabHeader(String sonLaboratory,String samples) {
- Map<String, Object> resultMap = new HashMap<>();
- List<String> list = new ArrayList<>();
- List<Map<String, Object>> maps = new ArrayList<>();
- if(StringUtils.isNotBlank(samples)) {
- samples = "[" + "\"" + samples + "\"";
- }
- List<Map<String, Object>> tabHeader = baseMapper.getTabHeader(sonLaboratory,samples);
- ObjectMapper objectMapper = new ObjectMapper();
- Long count = 1l;
- for (Map<String, Object> map : tabHeader) {
- try {
- List<List<String>> sample = objectMapper.readValue(JSONUtil.toJsonStr(map.get("sample").toString()), new TypeReference<List<List<String>>>() {
- });
- // 鑾峰彇tab椤佃〃澶�
- for (List<String> strings : sample) {
- list.add(strings.get(0));
- }
- // 鑾峰彇琛ㄦ牸琛ㄥご
- if(StringUtils.isNotBlank(samples)) {
- if(map.containsKey("inspectionItemSubclass")) {
- if(StringUtils.isNotBlank(map.get("inspectionItemSubclass").toString())) {
- HashMap<String, Object> map1 = new HashMap<>();
- map1.put("label", map.get("inspectionItemSubclass").toString()); // label
- map1.put("prop","lastValue"+count); // prop
- maps.add(map1);
- }else {
- HashMap<String, Object> map1 = new HashMap<>();
- map1.put("label", map.get("inspectionItem").toString()); // label
- map1.put("prop","lastValue"+count); // prop
- maps.add(map1);
- }
- }else {
- HashMap<String, Object> map1 = new HashMap<>();
- map1.put("label", map.get("inspectionItem").toString()); // label
- map1.put("prop","lastValue"+count); // prop
- maps.add(map1);
- }
- count++;
- }
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
- }
- }
-
- if (samples.contains("娓╁害寰幆")){
- addElementToMaps(maps, "寰幆娆℃暟", "inspectionItems");
- addElementToMaps(maps, "娓╁害鐐�", "inspectionItemSubclass");
- addElementToMaps(maps, "琛板噺绯绘暟1310", "attenuationCoefficient1310");
- addElementToMaps(maps, "琛板噺宸�1", "attenuationDifference1");
- addElementToMaps(maps, "琛板噺绯绘暟1550", "attenuationCoefficient1550");
- addElementToMaps(maps, "琛板噺宸�2", "attenuationDifference2");
- addElementToMaps(maps, "琛板噺绯绘暟1625", "attenuationCoefficient1625");
- addElementToMaps(maps, "琛板噺宸�3", "attenuationDifference3");
- addElementToMaps(maps, "琛板噺1383", "attenuationCoefficient1383");
- addElementToMaps(maps, "琛板噺宸�4", "attenuationDifference4");
- addElementToMaps(maps, "琛板噺1490", "attenuationCoefficient1490");
- addElementToMaps(maps, "琛板噺宸�5", "attenuationDifference5");
- addElementToMaps(maps, "琛板噺宸甅ax", "attenuationDifferenceMax");
- addElementToMaps(maps, "鏄惁鍚堟牸", "insResult");
- }
-
- Map<String, Map<String, Object>> uniqueByLabel = maps.stream()
- .collect(Collectors.toMap(
- map -> (String) map.get("label"),
- map -> map,
- (existing, replacement) -> existing, // 淇濈暀绗竴涓亣鍒扮殑Map
- LinkedHashMap::new
- ));
- // 灏嗙粨鏋滆浆鎹㈠洖List<Map<String, Object>>
- List<Map<String, Object>> collect1 = new ArrayList<>(uniqueByLabel.values());
-// List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
- List<String> collect = list.stream().distinct().collect(Collectors.toList());
- collect.add("娓╁害寰幆");
- resultMap.put("tabHeader", collect);
- resultMap.put("tableHeader", collect1);
- return resultMap;
- }
-
- private static void addElementToMaps(List<Map<String, Object>> maps, String label, String prop) {
- Map<String, Object> map = new HashMap<>();
- map.put("label", label);
- map.put("prop", prop);
- maps.add(map);
- }
-
- @Override
- public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
- User user = userMapper.selectById(SecurityUtils.getUserId());//褰撳墠鐧诲綍鐨勪汉
- //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
- String departLimsId = user.getDepartLimsId();
- String laboratory = null;
- if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.isEmpty()) {
- String[] split = departLimsId.split(",");
- //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
- String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
- if (departLims.contains("瀹為獙瀹�")) {
- laboratory = departLims;
- }
- }
-
- String checkName = null;
- String userName = null;
- if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
- userName = userMapper.selectById(SecurityUtils.getUserId()).getName();
- if(Objects.equals(insOrderPlanDTO.getInsState(),"3")) {
- userName = "";
- checkName = userMapper.selectById(SecurityUtils.getUserId()).getName();
- }
- insOrderPlanDTO.setUserId(null);
- }
- InsOrderPlanDTO planDTO = new InsOrderPlanDTO();
- QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(planDTO);
- IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(
- page,
- userName,
- checkName,
- insOrderPlanDTO.getSonLaboratory(),
- insOrderPlanDTO.getSample(),
- insOrderPlanDTO.getSampleCode(),
- laboratory,
- insOrderPlanDTO.getEntrustCode(),
- insOrderPlanDTO.getInsState(),
- wrappers,
- insOrderPlanDTO.getSendTimeRange()
- );
- return insOrderPage;
- }
-
- @Override
- public IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, InsOrderPlanDTO insOrderPlanDTO) {
- Integer userId = SecurityUtils.getUserId().intValue();
- User user = userMapper.selectById(userId);//褰撳墠鐧诲綍鐨勪汉
-
- //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
- String departLimsId = user.getDepartLimsId();
- String laboratory = null;
- if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
- String[] split = departLimsId.split(",");
- //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
- String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
- if (departLims.contains("瀹為獙瀹�")) {
- laboratory = departLims;
- }
- }
- if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
- insOrderPlanDTO.setUserId(userId.longValue());
- }
- String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
- IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId, sonLaboratory, laboratory);
- return insOrderPage;
- }
-
- //璁ら浠诲姟
- @Override
- public boolean claimInsOrderPlan(InsOrderPlanDTO entity) {
- if (Objects.isNull(entity)) {
- return false;
- }
- Integer userId = SecurityUtils.getUserId().intValue();
- InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 0, entity.getSonLaboratory());
- return insSampleUserMapper.insert(insSampleUser) > 0;
- }
-
- @Override
- public Map<String, Object> doInsOrder(Integer id, String laboratory) {
-// InsOrder insOrder = new InsOrder();
-// insOrder.setId(id);
-
- InsOrder order = insOrderMapper.selectById(id);
- InsOrderState insOrderState = insOrderStateMapper.selectOne(new LambdaQueryWrapper<InsOrderState>()
- .eq(InsOrderState::getInsOrderId, id)
- .eq(InsOrderState::getLaboratory, laboratory));
-
- if (BeanUtil.isEmpty(insOrderState.getInsTime())) {
- order.setInsTime(LocalDateTime.now());
- insOrderMapper.updateById(order);
- insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
- }
- Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
- List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
- for (SampleProductDto samples : list) {
- if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
- samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
- }
- map.put("sampleProduct", list.stream().sorted(Comparator.comparing(SampleProductDto::getId)).collect(Collectors.toList()));
- return map;
- }
-
- @Override
- public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
- List<InsProduct> insProducts = new ArrayList<>();
- switch (type) {
- case 0:
- //鏍峰搧
- insProducts = insSampleMapper.getInsProduct1(id, laboratory);
- if(!insProducts.isEmpty()) {
- boolean flag = false;
- for(InsProduct insProduct : insProducts) {
- if("娓╁害寰幆".equals(insProduct.getInspectionItem())) {
- flag = true;
- break;
- }
- }
- if(flag) {
- insProducts = insSampleMapper.getInsProduct5(id, laboratory);
- }
- }
- break;
- case 1:
- //鍏夌氦甯�
- insProducts = insSampleMapper.getInsProduct2(id, laboratory);
- break;
- case 2:
- //鍏夌氦
- insProducts = insSampleMapper.getInsProduct3(id, laboratory);
- break;
- case 3:
- //濂楃
- insProducts = insSampleMapper.getInsProduct4(id, laboratory);
- break;
- }
-
- //濡傛灉鏄ぇ鏍峰搧涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ょ殑椤圭洰
- if (ObjectUtils.isEmpty(insProducts) && type == 0) {
- //鏌ヨ绗竴涓厜绾ょ殑id
- List<InsFiber> insFibers = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery()
- .eq(InsFiber::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery()
- .eq(InsBushing::getInsSampleId, id)
- .isNotNull(InsBushing::getStandNum)
- .isNotNull(InsBushing::getTestNum)).get(0).getId()));
- if(CollectionUtils.isNotEmpty(insFibers)) {
- insProducts = insSampleMapper.getInsProduct3(insFibers.get(0).getId(),laboratory);
- }
- // 濡傛灉鍏夌氦涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ゅ甫鐨勯」鐩�
- else {
- List<InsFibers> insFibersS = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery()
- .eq(InsFibers::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery()
- .eq(InsBushing::getInsSampleId, id)
- .isNotNull(InsBushing::getTestNum)
- ).get(0).getId()));
- //濡傛灉鍏夌氦甯︿笉涓虹┖锛屾煡璇㈠厜绾ゅ甫涓嬫槸鍚﹂厤鏈夊厜绾�
- if(!insFibersS.isEmpty()){
- List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFibersS.get(0).getId()));
- if(!insFiberList.isEmpty()){
- insProducts = insSampleMapper.getInsProduct3(insFiberList.get(0).getId(),laboratory);
- }else{
- insProducts = insSampleMapper.getInsProduct6(insFibersS.get(0).getId(),laboratory);
- }
- }
- }
- }
- Set<Integer> set = new HashSet<>();
- Map<Integer, String> map2 = new HashMap<>();
- if (BeanUtil.isEmpty(insProducts)) return null;
- getTemplateThing(set, map2, insProducts);
- return insProducts;
- }
-
- @Override
- public List<String> checkSubmitPlan(Integer orderId, String laboratory,String temperature,String humidity) {
- List<String> collect = new ArrayList<>();
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
- List<Integer> ids = insSamples.stream().map(InsSample::getId).collect(Collectors.toList());
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .in(InsProduct::getInsSampleId, ids)
- .eq(InsProduct::getSonLaboratory, laboratory)
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsResult, 0));
- if (insProducts.size() > 0) {
- collect = insProducts.stream().map(insProduct -> {
- return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass();
- }).collect(Collectors.toList());
- insProductMapper.update(null,new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getTemperature,temperature)
- .set(InsProduct::getHumidity,humidity)
- .in(InsProduct::getInsSampleId,ids));
- }
- return collect;
- }
-
- @Override
- public IPage<InsOrderFile> getFileList(Page page, InsOrderFile insOrderFile) {
- Integer insOrderId = insOrderFile.getInsOrderId();
- insOrderFile.setInsOrderId(null);
- IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile),insOrderId);
- return insOrderFileIPage;
- }
-
- @Override
- public int uploadFile(Integer orderId, MultipartFile file) {
- String urlString;
- String pathName;
- String path;
- String filename = file.getOriginalFilename();
- String contentType = file.getContentType();
- InsOrderFile insOrderFile = new InsOrderFile();
- insOrderFile.setInsOrderId(orderId);
- insOrderFile.setFileName(filename);
- if (contentType != null && contentType.startsWith("image/")) {
- // 鏄浘鐗�
- path = imgUrl;
- insOrderFile.setType(1);
- } else {
- // 鏄枃浠�
- path = wordUrl;
- insOrderFile.setType(2);
- }
- try {
- File realpath = new File(path);
- if (!realpath.exists()) {
- realpath.mkdirs();
- }
- pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
- urlString = realpath + "/" + pathName;
- file.transferTo(new File(urlString));
- insOrderFile.setFileUrl(pathName);
- return insOrderFileMapper.insert(insOrderFile);
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("闄勪欢涓婁紶閿欒");
- return 0;
- }
- }
-
- //鍒囨崲璁板綍妯$増鏌ヨ妫�楠屽唴瀹�
- @Override
- public Map<String, Object> getReportModel(Integer sampleId, String sonLaboratory) {
- Map<String, Object> map = new HashMap<>();
- //鍏堟煡鍑哄绠�
- List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
- List<InsFibersVO> fibers = new ArrayList<>();
- List<InsFiber> fiber = new ArrayList<>();
- List<InsBushing> bush = new ArrayList<>();
- for (InsBushing insBushing : insBushings) {
- //淇濆瓨濂楃(鏉惧绠�)
- List<InsProduct> insProductsByBush = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsBushId, insBushing.getId())
- .eq(InsProduct::getSonLaboratory,sonLaboratory)
- .eq(InsProduct::getState,1)
- .and(i->i.like(InsProduct::getInspectionItem,"鏉惧绠�")
- .or()
- .like(InsProduct::getInspectionItemSubclass,"鏉惧绠�"))
- );
- List<Integer> collectByBush = insProductsByBush.stream()
- .map(InsProduct::getInsResult)
- .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
- //1锛氬凡妫�楠岋紝0锛氭湭妫�楠�,2:鍦ㄦ
- int bushState = 0;
- if(insProductsByBush.size() == collectByBush.size()){
- bushState = 1;
- }else if(!collectByBush.isEmpty() && collectByBush.size()<insProductsByBush.size()){
- bushState = 2;
- }
- insBushing.setState(bushState);
- if(!insProductsByBush.isEmpty()){
- bush.add(insBushing);
- }
- //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
- List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
-
- List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
- if (CollectionUtils.isNotEmpty(insFibers)) {
- for (InsFibers insFiberS : insFibers) {
- //鏌ヨ鍏夌氦甯︿笅鐨勫厜绾ら厤缃�
- List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiberS.getId()));
- if(fiberList.isEmpty()){
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState,1)
- .eq(InsProduct::getSonLaboratory,sonLaboratory)
- .eq(InsProduct::getInsFibersId, insFiberS.getId()));
- // 杩囨护鍏夌氦鎺ュご鎹熻��
- if(CollectionUtils.isNotEmpty(insProducts)) {
- insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
- }
- //璁剧疆濂楃鐨勬楠岀姸鎬�
- insFiberS.setState(getInsState(insProducts));
- InsFibersVO insFibersVO = new InsFibersVO();
- BeanUtil.copyProperties(insFiberS,insFibersVO);
- insFibersVO.setIsExistProduct(!insProducts.isEmpty());//鏄惁瀛樺湪妫�楠岄」
- insFibersVO.setBushingColor(insBushing.getColor());
- //濡傛灉鍏夌氦甯︿笅鐨勯」鐩病鏈夊厜绾ゆ帴澶存崯鑰楅」鐩紝鎵嶆坊鍔犲厜绾ゅ甫淇℃伅
- if(CollectionUtils.isNotEmpty(insProducts)) {
- fibers.add(insFibersVO);
- }
- }else{
- InsFibersVO insFibersVO = new InsFibersVO();
- BeanUtil.copyProperties(insFiberS,insFibersVO);
- insFibersVO.setBushingColor(insBushing.getColor());
- //鏌ヨ鍏夌氦甯︿笅鐨勬楠岄」
- List<InsProduct> fibersProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState,1)
- .eq(InsProduct::getSonLaboratory,sonLaboratory)
- .eq(InsProduct::getInsFibersId, insFiberS.getId()));
- insFibersVO.setIsExistProduct(!fibersProducts.isEmpty());//鏄惁瀛樺湪妫�楠岄」
- if(!fibersProducts.isEmpty()){
- //璁剧疆鍏夌氦甯﹁壊鏍囩殑妫�楠岀姸鎬�
- insFibersVO.setState(getInsState(fibersProducts));
- }
- //娣诲姞鍏夌氦甯︿俊鎭�
- fibers.add(insFibersVO);
- for (InsFiber insFiber : fiberList) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState,1)
- .eq(InsProduct::getSonLaboratory,sonLaboratory)
- .eq(InsProduct::getInsFiberId, insFiber.getId()));
- // 杩囨护鍏夌氦鎺ュご鎹熻��
- if(CollectionUtils.isNotEmpty(insProducts)) {
- insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
- }
- //璁剧疆鍏夌氦鑹叉爣鐨勬楠岀姸鎬�
- insFiber.setState(getInsState(insProducts));
- //濡傛灉鍏夌氦涓嬬殑椤圭洰娌℃湁鍏夌氦鎺ュご鎹熻�楅」鐩紝鎵嶆坊鍔犲厜绾や俊鎭�
- if(CollectionUtils.isNotEmpty(insProducts)) {
- fiber.add(insFiber);
- }
- }
- }
- }
- }
- //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
- else if (CollectionUtils.isNotEmpty(insFiberList)) {
- for (InsFiber insFiber : insFiberList) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState,1)
- .eq(InsProduct::getSonLaboratory,sonLaboratory)
- .eq(InsProduct::getInsFiberId, insFiber.getId()));
- // 杩囨护鍏夌氦鎺ュご鎹熻��
- if(CollectionUtils.isNotEmpty(insProducts)) {
- insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
- }
- //璁剧疆鍏夌氦鑹叉爣鐨勬楠岀姸鎬�
- insFiber.setState(getInsState(insProducts));
- if(CollectionUtils.isNotEmpty(insProducts)){
- fiber.add(insFiber);
- }
- }
- }
- }
- map.put("鍏夌氦甯�", fibers);
- map.put("鍏夌氦", fiber);
- map.put("濂楃", bush);
- return map;
- }
-
- /**
- * 鍒ゆ柇妫�楠岄」鏄惁妫�娴嬪畬锛岃繑鍥炴娴嬬姸鎬�
- * @param insProducts
- * @return
- */
- private Integer getInsState(List<InsProduct> insProducts){
- List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
- .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
- if (insProducts.size() == collect.size()) {
- return 1;//宸叉楠�
- } else if(!collect.isEmpty() && collect.size()<insProducts.size()){
- return 2;//鍦ㄦ楠�
- }
- return 0;//鏈楠�
- }
-
- //娓╁害寰幆鏌ョ湅鍒楄〃鏁版嵁(鍖呮嫭閫氳繃鏍峰搧id,寰幆娆℃暟,娓╁害,寰幆娆℃暟杩涜绛涢��)
- @Override
- public Map<String, Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
- Map<String, Object> map = new HashMap<>();
- //鏍峰搧淇℃伅
- SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
- map.put("sampleVo", sampleVo);
- List<ProductVo> productVos = new ArrayList<>();
- //鍏堟煡鍑鸿繖涓牱鍝佷笅鏈夊摢浜涚鑹叉爣,鍏夌氦甯�,鍏夌氦鑹叉爣
- //鍏堟煡鍑哄绠�
- List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
- if (insBushings.size() > 0) {
- //閫氫俊--娓╁害寰幆
- for (InsBushing insBushing : insBushings) {
- //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
- List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
- if (CollectionUtils.isNotEmpty(insFibers)) {
- for (InsFibers insFiber : insFibers) {
- //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦
- List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiber.getId()));
- for (InsFiber fiber : fiberList) {
- //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem)
- .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
- .eq(InsProduct::getInsFiberId, fiber.getId()));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- productVo.setCode(insFiber.getCode());
- productVo.setColor(fiber.getColor());
- productVo.setBushColor(insBushing.getColor());
- if (ObjectUtils.isNotEmpty(insProductResult)) {
- insProduct.setInsProductResult(insProductResult);
- }
- //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
- .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
- if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
- String[] splitStr = insProductResult1.getComValue().split(":");
- insProduct.setComplue(splitStr[splitStr.length-1].split("\"")[1]);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- }
- }
- } else {
- //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
- List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
- for (InsFiber fiber : insFiberList) {
- //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem)
- .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
- .eq(InsProduct::getInsFiberId, fiber.getId()));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- productVo.setCode("-");
- productVo.setColor(fiber.getColor());
- productVo.setBushColor(fiber.getBushColor());
- insProduct.setInsProductResult(insProductResult);
- //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
- .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
- if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
- String[] splitStr = insProductResult1.getComValue().split(":");
- insProduct.setComplue(splitStr[splitStr.length-1].split("\"")[1]);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- }
- }
- }
- productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
- } else {
- //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, sampleId)
- .eq(InsProduct::getInspectionItem, inspectionItem));
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- if (ObjectUtils.isNotEmpty(insProductResult)) {
- insProduct.setInsProductResult(insProductResult);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- }
- map.put("productVos", productVos);
- return map;
- }
-
- @Override
- public List<String> upPlanUser2(Integer orderId) {
- List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
- List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, sampleId)).stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
- return sonLaboratory;
- }
-
- @Override
- public Map<String, Object> getSagTemperatureProducts(Integer sampleId) {
- Map<String, Object> map = new HashMap<>();
- //鏍峰搧淇℃伅
- SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
- map.put("sampleVo", sampleVo);
- //鐢靛姏:寮у瀭-娓╁害鐗规畩椤�
- List<ProductVo> productVos = new ArrayList<>();
- List<InsProduct> insProducts = insProductMapper.findSagTemperatureProducts(sampleId,"寮у瀭-娓╁害");
- for (InsProduct insProduct : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- ProductVo productVo = new ProductVo();
- if (ObjectUtils.isNotEmpty(insProductResult)) {
- insProduct.setInsProductResult(insProductResult);
- }
- productVo.setInsProduct(insProduct);
- productVos.add(productVo);
- }
- map.put("productVos", productVos);
- return map;
- }
-
- @Override
- public Map<String, Object> getSampleInfoByOrderId(Integer orderId,String sonLaboratory) {
- Map<String, Object> map = new HashMap<>();
- if(!Objects.isNull(orderId)){
- //妫�楠屽唴瀹瑰璞�
- List<InsProductVO> insProductVOS = insProductMapper.selectProductByOrderId(orderId,sonLaboratory);
- //鏍规嵁鏍峰搧id鍒嗙粍
- Map<Integer, List<InsProductVO>> groupMap = insProductVOS.stream().collect(Collectors.groupingBy(InsProductVO::getSampleId));
- List<InsProductVO> sampleList = new ArrayList<>();
- for (Integer key : groupMap.keySet()) {
- AtomicInteger insSum = new AtomicInteger(0);
- List<String> inspectNameList = new ArrayList<>();
- InsProductVO insProductVO = new InsProductVO();
- groupMap.get(key).forEach(k->{
- if(StringUtils.isNotBlank(k.getInspectName())){
- insSum.getAndIncrement();
- inspectNameList.add(k.getInspectName());
- }
- insProductVO.setId(k.getSampleId());
- insProductVO.setSampleCode(k.getSampleCode());
- });
- if(CollectionUtils.isEmpty(inspectNameList)){
- insProductVO.setState(0);
- }else if(inspectNameList.size() < groupMap.get(key).size()){
- insProductVO.setState(1);
- }else if(inspectNameList.size() == groupMap.get(key).size()){
- insProductVO.setState(2);
- }
- insProductVO.setInspectName(inspectNameList.stream().distinct().collect(Collectors.joining(",")));
- sampleList.add(insProductVO);
- }
- map.put("insSamples",sampleList);
- map.put("insProductVOS",insProductVOS);
- }
- return map;
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
- public void saveInsContext(Map<String, Object> insContext, Integer currentTable, Integer currentSampleId, Integer orderId, String sonLaboratory, Boolean isDelete) {
- try{
- if(lock.tryLock(10,TimeUnit.SECONDS)){
- Integer userId = SecurityUtils.getUserId().intValue();
- insContext.forEach((k, v) -> {
- JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
- InsProduct insProduct = new InsProduct();
- insProduct.setId(Integer.parseInt(k));
- InsProduct product = insProductMapper.selectById(insProduct.getId());
- if (currentTable.equals(product.getTemplateId()) && currentSampleId.equals(product.getInsSampleId())) {
- List<InsProductResult> oldResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProduct.getId()));
-
- InsProductResult newResult = new InsProductResult();
- if (CollectionUtils.isNotEmpty(oldResults)) {
- BeanUtil.copyProperties(oldResults.get(0), newResult);
- }
- newResult.setInsProductId(Integer.parseInt(k));
- /*鏍¢獙涓�涓媟esult琛�*/
- if (oldResults.size() > 1) {
- for (int i = 1; i < oldResults.size(); i++) {
- insProductResultMapper.deleteById(oldResults.get(i));
- }
- }
- // 淇濆瓨鐨勬暟鎹皬鏁颁綅鏁板繀椤诲ぇ浜庣瓑浜巘ell鏈�澶х殑灏忔暟浣嶆暟
- String tells = product.getTell();
- Integer digit = null;
- if(StringUtils.isEmpty(tells)) {
- digit = -1;
- }else {
- // 鎵惧埌灏忔暟浣嶆暟鏈�澶氱殑鏁板��
- Map<String, Object> stringObjectMap = maxDecimalNumber(tells);
- digit = Integer.parseInt(stringObjectMap.get("maxNumber").toString());
- }
- if (!Arrays.asList("搴斿姏搴斿彉","鎸姩鐤插姵").contains(product.getInspectionItem())) {
- //妫�楠屽��
- if (jo.get("insValue") != null) {
- JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
- List<Map<String, Object>> iv = new ArrayList<>();
- for (Object o : jsonArray) {
- JSONObject insValue = JSON.parseObject(JSON.toJSONString(o));
- Map<String, Object> map = new HashMap<>();
- String val = "";
- if(Objects.nonNull(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"))){
- val = JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString();
- }
- // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
- map.put("v", completion(val, digit));
- map.put("r", JSON.toJSONString(insValue.get("r")));
- map.put("c", JSON.toJSONString(insValue.get("c")));
- map.put("w", insValue.get("w"));
- try {
- if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(val)) {
- map.put("u", userId + "");
- } else {
- map.put("u", insValue.get("u"));
- }
- iv.add(map);
- } catch (Exception e) {
- }
- }
- newResult.setInsValue(JSON.toJSONString(iv));
- }
- }
- if (!Arrays.asList("搴斿姏搴斿彉","鎸姩鐤插姵").contains(product.getInspectionItem())) {
- //璁$畻鍊�
- if (jo.get("comValue") != null && !Objects.equals(jo.get("comValue"), "")) {
- JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("comValue")));
- List<Map<String, Object>> cv = new ArrayList<>();
- for (Object o : jsonArray2) {
- JSONObject comValue = JSON.parseObject(JSON.toJSONString(o));
- Map<String, Object> map = new HashMap<>();
- map.put("r", JSON.toJSONString(comValue.get("r")));
- map.put("c", JSON.toJSONString(comValue.get("c")));
- // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
- map.put("v", completion(JSON.parseObject(JSON.toJSONString(comValue.get("v"))).get("v").toString(), digit));
- cv.add(map);
- }
- newResult.setComValue(JSON.toJSONString(cv));
- }
- }
- //鏈�缁堝��
- try {
- JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
- if (resValue.get("v") != null) {
- Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
- // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
- insProduct.setLastValue(completion(o.equals("") ? null : (o.toString()), digit));
- }
- } catch (Exception e) {
- insProduct.setLastValue("");//''
- }
- //璁惧缂栧彿
- if (jo.get("equipValue") != null) {
- JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
- List<Map<String, Object>> ev = new ArrayList<>();
- for (Object o : jsonArray2) {
- JSONObject equipValue = JSON.parseObject(JSON.toJSONString(o));
- Map<String, Object> map = new HashMap<>();
- map.put("v", JSON.parseObject(JSON.toJSONString(equipValue.get("v"))).get("v"));
- ev.add(map);
- }
- newResult.setEquipValue(JSON.toJSONString(ev));
- }
- //璁惧鍚嶇О
- if (jo.get("equipName") != null) {
- JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipName")));
- List<Map<String, Object>> ev = new ArrayList<>();
- for (Object o : jsonArray2) {
- JSONObject equipValue = JSON.parseObject(JSON.toJSONString(o));
- Map<String, Object> map = new HashMap<>();
- map.put("v", JSON.parseObject(JSON.toJSONString(equipValue.get("v"))).get("v"));
- ev.add(map);
- }
- newResult.setEquipName(JSON.toJSONString(ev));
- }
- //缁撹
- try {
- JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult")));
- String ir = JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + "";
- insProduct.setInsResult(Integer.parseInt(ir));
- if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
- List<Integer> collect = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, product.getId())).stream()
- .map(InsProduct::getInsResult)
- .collect(Collectors.toList());
- if (collect.contains(null)) {
- insProduct.setInsResult(2);
- } else if (collect.contains(0)) {
- insProduct.setInsResult(0);
- } else {
- insProduct.setInsResult(1);
- }
-
- }
- } catch (Exception e) {
- insProduct.setInsResult(2);//寰呭畾
- if (product.getInspectionItem().equals("搴斿姏搴斿彉") && product.getInspectionItemSubclass().equals("寮规�фā閲�")
- && Arrays.asList("/", "-").contains(product.getAsk())) {
- insProduct.setInsResult(3);// 涓嶅垽瀹�
- }
- // 濡傛灉鏄姬鍨傜殑缁撹涔熸敼涓轰笉鍒ゅ畾
- if(product.getInspectionItem().equals("寮у瀭-娓╁害")) {
- insProduct.setInsResult(3);// 涓嶅垽瀹�
- }
- }
- if (Objects.isNull(newResult.getId())) {
- newResult.setCreateUser(userId);
- newResult.setUpdateUser(userId);
- insProductResultMapper.insert(newResult);
- } else {
- newResult.setUpdateUser(userId);
- newResult.setUpdateTime(LocalDateTime.now());
- insProductResultMapper.updateById(newResult);
- }
- /*濡傛灉鏄涓�娆¢�夋嫨璁惧淇℃伅,涓旇繕鏈夊叾浣欐牱鍝佷篃鏈夊悓涓�涓楠岄」鐩�,閭d箞鎵�鏈夋牱鍝佺殑璇ラ」鐩兘鐢ㄨ繖涓澶囦俊鎭�*/
- //鍏堟煡璇㈡槸鍚﹁繕鏈夊叾浣欐牱鍝�
- Integer insSampleId = product.getInsSampleId();
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSampleMapper.selectById(insSampleId).getInsOrderId()));
- //濡傛灉鏈夊涓牱鍝佹垨鑰呮槸涓嶆槸閲囬泦绫诲瀷灏卞悓涓�涓澶�
- if (insSamples.size() > 1 && !product.getInspectionItemType().equals("1")) {
- //瀛樺湪鍏朵綑鏍峰搧,鏌ヨ鏄惁鏈夊悓涓�绉嶆楠岄」鐩�
- for (InsSample sample : insSamples.stream().filter(insSample -> !insSample.getId().equals(insSampleId)).collect(Collectors.toList())) {
- InsProduct product1 = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, sample.getId())
- .eq(InsProduct::getInspectionItem, product.getInspectionItem())
- .eq(InsProduct::getInspectionItemEn, product.getInspectionItemEn())
- .eq(InsProduct::getInspectionItemSubclass, product.getInspectionItemSubclass())
- .eq(InsProduct::getInspectionItemSubclassEn, product.getInspectionItemSubclassEn())
- .eq(InsProduct::getTemplateId, product.getTemplateId())
- .eq(InsProduct::getStandardMethodListId, product.getStandardMethodListId())
- .eq(InsProduct::getInsBushId, product.getInsBushId())
- .eq(InsProduct::getInsFibersId, product.getInsFibersId())
- .eq(InsProduct::getInsFiberId, product.getInsFiberId())
- );
- if (ObjectUtils.isNotEmpty(product1)) {
- //濡傛灉瀛樺湪椤圭洰,鏌ヨ鏄惁鏈夎〃
- InsProductResult productResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, product1.getId()));
- if (ObjectUtils.isEmpty(productResult)) {
- //娌℃湁琛ㄦ柊寤鸿〃
- productResult = new InsProductResult();
- productResult.setInsProductId(product1.getId());
- productResult.setEquipValue(newResult.getEquipValue());
- productResult.setEquipName(newResult.getEquipValue());
- productResult.setCreateUser(userId);
- productResult.setUpdateUser(userId);
- insProductResultMapper.insert(productResult);
- } else if (ObjectUtils.isEmpty(productResult.getEquipValue())) {
- //鏈夎〃鍒ゆ柇鏄惁鏈夎澶�
- productResult.setEquipValue(newResult.getEquipValue());
- productResult.setEquipName(newResult.getEquipValue());
- productResult.setUpdateUser(userId);
- productResult.setUpdateTime(LocalDateTime.now());
- insProductResultMapper.updateById(productResult);
- }
- }
- }
-
- }
- insProduct.setUpdateUser(userId);
- insProductMapper.updateById(insProduct);
- // 褰撳墠鏍峰搧鏄惁鏄厜绾ら厤缃殑鍏夌氦鎺ュご鎹熻��
- if ((!Objects.isNull(product.getInsFiberId()) || !Objects.isNull(product.getInsFibersId())) && product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
- // 鏌ユ壘鍚屾牱鍝佷笅鐨勫厜绾ゆ垨鍏夌氦甯︾殑鍏夌氦鎺ュご鎹熻��
- List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getInsSampleId, product.getInsSampleId())
- .eq(InsProduct::getInspectionItem, product.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, product.getInspectionItemSubclass())
- .and(item -> item
- .isNotNull(InsProduct::getInsFiberId)
- .or()
- .isNotNull(InsProduct::getInsFibersId)));
- // 瑕佸鍒剁殑result
- InsProductResult copyResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, product.getId()));
-
- for (InsProduct insProduct1 : insProducts) {
- InsProduct copyInsProduct = insProductMapper.selectById(product.getId()); // 澶嶅埗鐨刬nsProduct
- if (!insProduct1.getId().equals(copyInsProduct.getId())) {
- copyInsProduct.setId(insProduct1.getId()); // 灏嗗鍒剁殑insProduct鐨刬d璁剧疆涓鸿澶嶅埗鐨刬d
- copyInsProduct.setInsFibersId(insProduct1.getInsFibersId()); // 鍏夌氦甯d
- copyInsProduct.setInsFiberId(insProduct1.getInsFiberId()); // 鍏夌氦id
- copyInsProduct.setInsBushId(insProduct1.getInsBushId()); // 濂楃id
- insProductMapper.updateById(copyInsProduct);
- // 璧嬪�糹nsProductResult
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct1.getId()));
- if (Objects.isNull(insProductResult)) {
- copyResult.setId(null);
- copyResult.setInsProductId(insProduct1.getId());
- insProductResultMapper.insert(copyResult);
- } else {
- copyResult.setId(insProductResult.getId());
- copyResult.setInsProductId(insProduct1.getId());
- insProductResultMapper.updateById(copyResult);
- }
- }
- }
- }
- insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
-
- insProduct = insProductMapper.selectById(insProduct);
- //鏌ヨ妫�楠屽崟淇℃伅
- InsSample insSample = insSampleMapper.selectById(insProduct.getInsSampleId());
- InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
- //鏌ヨ鐖舵楠岄」
- InsProduct parentInsProduct;
- if (ObjectUtil.isNotNull(insProduct.getSpecialItemParentId())) {
- parentInsProduct = insProductMapper.selectById(insProduct.getSpecialItemParentId());
- } else {
- parentInsProduct = null;
- }
- if (!Objects.isNull(parentInsProduct)) {
- if ("娓╁崌璇曢獙".equals(parentInsProduct.getInspectionItem()) || "鐑惊鐜�".equals(parentInsProduct.getInspectionItem())) {
- // 娓╁崌璇曢獙浠ュ強鐑惊鐜殑鍒犻櫎
- if (isDelete) {
- String inspectionItem = insProduct.getInspectionItem();
- List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId()))
- .stream()
- .filter(item -> item.getInspectionItem().equals(inspectionItem)).collect(Collectors.toList());
- for (InsProduct insProduct1 : insProducts) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct1.getId()));
- if (!Objects.isNull(insProductResult)) {
- if (insProductResult.getInsProductId().equals(Integer.parseInt(k))) {
- continue;
- }
- String insValue = insProductResult.getInsValue();
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
- if (maps.size() > 1) {
- maps.remove(maps.size() - 1);
- insProductResult.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps));
- insProductResultMapper.updateById(insProductResult);
- }
- }
- }
- }
- // 娓╁崌璇曢獙浠ュ強鐑惊鐜煡璇�
- // 鐑惊鐜墍鏈夊瓙椤�
- List<InsProduct> c = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId()));
- //閫氳繃inspectionItem鍒嗙粍
- Map<String, List<InsProduct>> collect1 = c.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
- HashMap<Integer, InsProductResult> map1 = new HashMap<>();
- Integer maxKey = Integer.MIN_VALUE;
- for (Map.Entry<String, List<InsProduct>> m : collect1.entrySet()) {
- List<InsProduct> thermalCycleCollect = m.getValue();
- if (!thermalCycleCollect.isEmpty()) {
- for (InsProduct product1 : thermalCycleCollect) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, product1.getId()));
- if (!Objects.isNull(insProductResult)) {
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insProductResult.getInsValue(), Map.class);
- map1.put(maps.size(), insProductResult);
- }
- if (!map1.isEmpty()) {
- for (Map.Entry<Integer, InsProductResult> entry : map1.entrySet()) {
- if (entry.getKey() > maxKey) {
- maxKey = entry.getKey();
- }
- }
- }
- }
- if (maxKey != Integer.MIN_VALUE) {
- InsProductResult insProductResult = map1.get(maxKey);
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insProductResult.getInsValue(), Map.class);
- maps.get(maps.size() - 1).put("v", "");//鏈�鍚庝竴涓�间负绌�
- if (maps.get(maps.size() - 1).containsKey("w")) {
- maps.get(maps.size() - 1).put("w", "");
- }
- for (InsProduct product1 : thermalCycleCollect) {
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, product1.getId()));
- if (!Objects.isNull(insProductResult1)) {
- if (!insProductResult1.getInsProductId().equals(insProductResult.getInsProductId())) {
- List<Map> maps1 = com.alibaba.fastjson2.JSON.parseArray(insProductResult1.getInsValue(), Map.class);
- if (maps1.size() < maxKey) {
- int number = maxKey - maps1.size();
- for (int i = 0; i < number; i++) {
- maps1.add(maps.get(maps.size() - 1));
- }
- insProductResult1.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps1));
- insProductResultMapper.updateById(insProductResult1);
- }
- }
- } else {
- if (maxKey != Integer.MIN_VALUE) {
- InsProductResult insProductResult2 = map1.get(maxKey);
- List<Map> maps1 = com.alibaba.fastjson2.JSON.parseArray(insProductResult2.getInsValue(), Map.class);
- for (Map map : maps1) {
- map.put("v", "");
- if (map.containsKey("w")) {
- map.put("w", "");
- }
- }
- insProductResult2.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps1));
- insProductResult2.setId(null);
- insProductResult2.setInsProductId(product1.getId());
- insProductResultMapper.insert(insProductResult2);
- }
- }
- }
- maxKey = Integer.MIN_VALUE;
- map1.clear();
- }
- }
- }
- // 濡傛灉鏄绾挎俯搴︾殑鍊兼洿鏂帮紝閭d箞灏辫鍒ゆ柇鑰愬紶鍜屾帴缁槸鍚﹀悎鏍�
- InsProduct insProduct1 = insProductMapper.selectById(Integer.parseInt(k));
- if (insProduct1.getInspectionItemSubclass().equals("瀵肩嚎娓╁害")) {
- // 鏍规嵁鐖秈d浠ュ強妫�楠岄」鏉ユ煡鎵惧悓涓�寰幆涓嬬殑鑰愬紶鍜屾帴缁�
- List<InsProduct> insProducts2 = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem()));
- List<Double> wire = new ArrayList<>(); // 瀵肩嚎娓╁害鐨勫��
- List<Double> strain = new ArrayList<>(); // 鑰愬紶鐨勫��
- List<Double> joint = new ArrayList<>(); // 鎺ョ画鐨勫��
-
- boolean strainFlag = true; // 鑰愬紶鏄惁鍚堟牸
- boolean jointFlag = true; // 鎺ョ画鏄惁鍚堟牸
- boolean strainPending = false; // 鏄惁鏈夊緟瀹�
- boolean jointPending = false; // 鏄惁鏈夊緟瀹�
- for (InsProduct insProduct2 : insProducts2) {
- if (insProduct2.getInspectionItemSubclass().equals("瀵肩嚎娓╁害")) {
- String insValue = "";
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct2.getId()));
- if (!Objects.isNull(insProductResult)) {
- insValue = insProductResult.getInsValue();
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
- if (maps.size() > 0) {
- for (Map map : maps) {
- if (Strings.isNotEmpty(map.get("v").toString())) {
- wire.add(Double.parseDouble(map.get("v").toString()));
- } else {
- wire.add(-1.0);
- }
- }
- }
- }
- }
- if (insProduct2.getInspectionItemSubclass().equals("鑰愬紶娓╁害")) {
- String insValue = "";
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct2.getId()));
- if (!Objects.isNull(insProductResult)) {
- insValue = insProductResult.getInsValue();
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
- if (maps.size() > 0) {
- for (Map map : maps) {
- if (Strings.isNotEmpty(map.get("v").toString())) {
- strain.add(Double.parseDouble(map.get("v").toString()));
- } else {
- strain.add(-1.0);
- }
- }
- }
- } else {
- strain.add(-1.0);
- }
- }
- if (insProduct2.getInspectionItemSubclass().equals("鎺ョ画娓╁害")) {
- String insValue = "";
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct2.getId()));
- if (!Objects.isNull(insProductResult)) {
- insValue = insProductResult.getInsValue();
- List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
- if (maps.size() > 0) {
- for (Map map : maps) {
- if (Strings.isNotEmpty(map.get("v").toString())) {
- joint.add(Double.parseDouble(map.get("v").toString()));
- } else {
- joint.add(-1.0);
- }
- }
- }
- } else {
- joint.add(-1.0);
- }
- }
- }
- // 濡傛灉瀵肩嚎娓╁害鐨勫�煎ぇ浜庤�愬紶鍜屾帴缁殑鍊硷紝閭d箞灏辨槸鍚堟牸
- if (!strain.isEmpty() && !wire.isEmpty() && (strain.size() == wire.size())) {
- if (wire.contains(-1.0) || strain.contains(-1.0)) {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 2)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
- strainPending = true;
- } else {
- for (int i = 0; i < wire.size(); i++) {
- if (wire.get(i) <= strain.get(i)) {
- strainFlag = false;
- break;
- }
- }
- }
- }
-
- if (joint.size() > 0 && wire.size() > 0 && (joint.size() == wire.size())) {
- if (wire.contains(-1.0) || joint.contains(-1.0)) {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 2)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
- jointPending = true;
- } else {
- for (int i = 0; i < wire.size(); i++) {
- if (wire.get(i) <= joint.get(i)) {
- jointFlag = false;
- break;
- }
- }
- }
- }
- if (!strainPending) {
- if (strainFlag) {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 1)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
- } else {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 0)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
- }
- }
- if (!jointPending) {
- if (jointFlag) {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 1)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
- } else {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 0)
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
- .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
- }
- }
- }
- // 鏌ユ壘鏄惁鏈夋湭妫�娴嬬殑娆℃暟
- List<Integer> insResult = Arrays.asList(0, 1, 3);
- List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .and(w -> w.notIn(InsProduct::getInsResult, insResult)
- .or()
- .isNull(InsProduct::getInsResult)));
- if (insProducts.isEmpty()) {
- List<InsProduct> insProducts1 = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
- .eq(InsProduct::getInsResult, 0));
- if (!insProducts1.isEmpty()) {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 0)
- .eq(InsProduct::getId, parentInsProduct.getId()));
- } else {
- insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
- .set(InsProduct::getInsResult, 1)
- .eq(InsProduct::getId, parentInsProduct.getId()));
- }
-
- }
- }
- }
- //娣诲姞宸ユ椂璁板綍
- InsProduct finalInsProduct = insProduct;
- WorkTimeDTO workTimeDTO = new WorkTimeDTO(userId, insOrder, insSample, finalInsProduct, parentInsProduct, currentSampleId, k, oldResults, newResult);
- String jsonStr;
- try {
- jsonStr = JackSonUtil.marshal(workTimeDTO);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- String routerKey;
- switch (sonLaboratory){
- case "鏉愭枡璇曢獙瀹�":
- routerKey = RouterKeyConstants.CL_KEY;
- break;
- case "鏈烘鎬ц兘璇曢獙瀹�":
- routerKey = RouterKeyConstants.JX_KEY;
- break;
- case "鐢靛姏璇曢獙瀹�":
- routerKey = RouterKeyConstants.DL_KEY;
- break;
- default:
- routerKey = RouterKeyConstants.GX_KEY;
- break;
- }
- sendQueueMessage(ExchangeConstants.WORK_TIME_EXCHANGE,routerKey,jsonStr);
-
- insSample.setInsState(1);
- //鏈楠岀殑妫�楠岄」鏁伴噺
- Long unInsCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .and(wrapper -> wrapper
- .isNull(InsProduct::getInsResult)
- .or()
- .eq(InsProduct::getInsResult, 2)
- ));
- if (0 == unInsCount) {
- insSample.setInsState(2);
- }
- insSampleMapper.updateById(insSample);
- /*鏍¢獙涓�涓媟esult琛�*/
- List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, insProduct.getId()));
- if (insProductResults.size() > 1) {
- for (int i = 1; i < insProductResults.size(); i++) {
- insProductResultMapper.deleteById(insProductResults.get(i));
- }
- }
- }
- });
- String sampleIdStr = insContext.keySet().stream().findFirst().orElse(null);
- if (sampleIdStr != null) {
- int count = insProductMapper.selectInsProductCountByOrderId(orderId);
- if (count == 0) {
- insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
- .eq(InsOrderState::getInsOrderId, orderId)
- .eq(InsOrderState::getLaboratory, sonLaboratory)
- .set(InsOrderState::getInsState, 2));
- insOrderMapper.update(null, new LambdaUpdateWrapper<InsOrder>()
- .set(InsOrder::getState, 4)
- .eq(InsOrder::getId, orderId));
- } else {
- insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
- .eq(InsOrderState::getInsOrderId, orderId)
- .eq(InsOrderState::getLaboratory, sonLaboratory)
- .set(InsOrderState::getInsState, 1));
- insOrderMapper.update(null, new LambdaUpdateWrapper<InsOrder>()
- .set(InsOrder::getInsState, 1)
- .eq(InsOrder::getId, orderId));
- }
- }
- }
- }catch (Exception e){
- log.error("宸ユ椂璁$畻澶辫触-->褰撳墠鏍峰搧ID:{},妫�楠岃鎯�:{}",currentSampleId,insContext);
- throw new RuntimeException(e);
- }finally {
- if(lock.isLocked())lock.unlock();
- }
- }
-
-
- /**
- * 鏌ユ壘灏忔暟浣嶆暟鏈�澶氱殑鏁板��
- */
- public Map<String,Object> maxDecimalNumber(String tells) {
- HashMap<String, Object> map = new HashMap<>();
- Pattern pattern = Pattern.compile("[-+]?\\d*\\.?\\d+");
- Matcher matcher = pattern.matcher(tells);
- String tell = "";
- Integer maxNumber = 0;
- while (matcher.find()) {
- String group = matcher.group();
- Integer length = 0;
- if(group.contains(".")) {
- length = group.split("\\.")[1].length();
- }else {
- length = 0;
- }
- if(length > maxNumber) {
- maxNumber = length;
- tell = group;
- }
- }
- map.put("tell",tell);
- map.put("maxNumber",maxNumber);
- return map;
- }
-
- /**
- * 灏忔暟浣嶆暟鐨勮ˉ鍏�
- */
- public String completion(String value, Integer digit) {
- if(NumberUtil.isDouble(value)) {
- int length = 0;
- String[] splits = value.split("\\.");
- if(splits.length>1){
- length = splits[1].length();
- }
- if(digit > length) {
- int difference = digit - length;
- for (int i = 0; i < difference; i++) {
- value += "0";
- }
- }
- }
- return value;
- }
-
- //浜ゆ帴
- @Override
- public int upPlanUser(Integer userId, Integer orderId, String sonLaboratory) {
- InsSampleUser insSampleUser = new InsSampleUser();
- insSampleUser.setUserId(userId);
- insSampleUser.setInsSampleId(orderId);
- insSampleUser.setState(0);
- insSampleUser.setSonLaboratory(sonLaboratory);
- return insSampleUserMapper.insert(insSampleUser);
- }
-
- //鏍规嵁鍗曞厓鏍肩殑鏂囨湰鍐呭璁$畻瀹為檯琛岄珮
- private int estimateCellHeight(CellRenderData cellRenderData) {
- // 鍋囪榛樿琛岄珮鏄�40
- int defaultHeight = 40;
- // 鑾峰彇鍗曞厓鏍间腑鐨勬墍鏈夋钀�
- List<ParagraphRenderData> paragraphs = cellRenderData.getParagraphs();
- int estimatedHeight = 0;
- try {
- // 閬嶅巻娈佃惤锛屼及绠楁瘡涓钀界殑楂樺害
- for (ParagraphRenderData paragraph : paragraphs) {
- List<RenderData> contents = paragraph.getContents();
- for (RenderData content : contents) {
- if (content instanceof TextRenderData) {
- TextRenderData text = (TextRenderData) content;
- Style style = text.getStyle();
- // 鍋囪姣忚鏂囨湰鐨勯珮搴︿负瀛椾綋澶у皬鐨�1.2鍊�
- Double fontSize = Objects.isNull(style.getFontSize()) ? 12.0 : style.getFontSize();
- int lines = (int) Math.ceil(text.getText().length() / 15.0); // 鍋囪姣忚绾�15涓瓧绗�
- int textHeight = (int) (fontSize * 1.2 * lines);
- // 绱姞娈佃惤鐨勯珮搴�
- estimatedHeight += textHeight;
- }
- }
- }
- }catch (Exception ignored){}
- // 杩斿洖鏈�澶у�硷紝纭繚楂樺害涓嶄綆浜庨粯璁ら珮搴�
- return Math.max(estimatedHeight, defaultHeight);
- }
-
- /**
- * 鍙戦�侀槦鍒楁秷鎭�
- * @param exchange 浜ゆ崲鏈哄悕绉�
- * @param routerKey 璺敱涓婚敭
- * @param jsonStr 娑堟伅鍐呭
- */
- public void sendQueueMessage(String exchange,String routerKey,String jsonStr){
- rabbitTemplate.convertAndSend(exchange,routerKey,jsonStr);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
- int num = (type == 1 ? 5 : 4);
- LocalDateTime now = LocalDateTime.now();
- insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, SecurityUtils.getUserId()));
- Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5));
- if (count == 0 && num == 5) {
- List<InsUnPass> insUnPasses = new ArrayList<>();
- /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
- //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/")
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
- for (InsSample insSample : insSamples) {
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1));
- List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(Objects::nonNull).collect(Collectors.toList());
- if (results.contains(0)) {
- insSample.setInsResult(0);
- } else {
- insSample.setInsResult(1);
- }
- insSampleMapper.updateById(insSample);
- /*澶嶆牳閫氳繃鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
- for (InsProduct insProduct : insProducts) {
- if (insProduct.getInsResult() == 0) {
- InsUnPass insUnPass = new InsUnPass();
- insUnPass.setId(null);
- insUnPass.setModel(insSample.getModel());
- insUnPass.setSample(insSample.getSample());
- insUnPass.setInspectionItem(insProduct.getInspectionItem());
- insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
- insUnPass.setLastValue(insProduct.getLastValue());
- insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode());
- List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
- if(!userIds.isEmpty()){
- String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
- insUnPass.setName(name);
- insUnPasses.add(insUnPass);
- }
- }
- }
- }
- insUnPassService.saveBatch(insUnPasses);
- InsOrder insOrder = insOrderMapper.selectById(orderId);
- String oldSampleStr = insOrder.getSample();
- //samples鏄繃婊ゆ帀娌℃湁妫�楠岄」鐩殑鏍峰搧
- List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
- //鏌ヨ璁㈠崟涓嬬殑鍘婚噸鍚庣殑鏍峰搧鍚嶇О
- List<String> unqeSampleList = samples.stream().map(InsSample::getSample).distinct().collect(Collectors.toList());
- if(unqeSampleList.size()==1){
- insOrder.setSample(unqeSampleList.get(0));
- }
- InsReport insReport = new InsReport();
- insReport.setCode(insOrder.getEntrustCode());
- insReport.setInsOrderId(orderId);
- List<Map<String, Object>> tables = new ArrayList<>();
- Set<String> standardMethod = new HashSet<>();
- Set<String> deviceSet = new HashSet<>();
- Set<String> models = new HashSet<>();
- AtomicReference<Integer> productSize = new AtomicReference<>(0);
- String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
- Set<String> resultCh = new HashSet<>();
- Set<String> resultEn = new HashSet<>();
- //鑾峰彇妫�楠岄」鐩暟閲�
- Set<String> unEqualSet = new HashSet<>();
- //鐢靛姏璇曢獙瀹わ細閽㈡潗/閾濇潗鏍峰搧鍨嬪彿
- List<String> modelDl = new ArrayList<>();
- /*鍩虹鎶ュ憡(鏍规嵁缁樺埗鐨勫師濮嬭褰曟ā鐗堝舰鎴�)*/
- BasicReportHandler basicReportHandler = new BasicReportHandler(baseMapper, this,insSampleMapper);
- basicReportHandler.doWrite(samples,insReport,tables,standardMethod,models,unEqualSet,modelDl,deviceSet);
- productSize.getAndSet(unEqualSet.size());
- String sampleStr = insOrder.getSample();
- if(!modelDl.isEmpty()){
- String model = modelDl.stream().distinct().findFirst().orElse("");
- sampleStr += model;
- }
- /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/
- //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸
- List<Map<String, Object>> tables4 = new ArrayList<>();
- //褰撳墠璁㈠崟涓嬬殑鎵�鏈夋楠岄」
- List<InsProduct> insProducts0 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
- if (insProducts0.stream().map(InsProduct::getInspectionItem).collect(Collectors.toList()).contains("鍏夌氦鎺ュご鎹熻��")){
- //澶勭悊鍏夌氦鎺ュご鎹熻�楁姤鍛�
- FiberOpticConnectorLossReportHandler lossReportHandler = new FiberOpticConnectorLossReportHandler(insProductMapper);
- lossReportHandler.doWrite(insProducts0,insSamples,insReport,tables4);
- }
- String url;
- try {
- InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
- File file = File.createTempFile("temp", ".tmp");
- OutputStream outputStream = new FileOutputStream(file);
- IOUtils.copy(inputStream, outputStream);
- url = file.getAbsolutePath();
- } catch (FileNotFoundException e) {
- throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�");
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- StringBuilder standardMethod2 = new StringBuilder();
- for (String s : standardMethod) {
- standardMethod2.append("銆�").append(s);
- }
- standardMethod2.replace(0, 1, "");
- tables.forEach(table -> {
- table.put("tableSize", tables.size() + 1);
- });
- List<DeviceVO> deviceList = new ArrayList<>();
- if (!deviceSet.isEmpty()) {
- deviceSet.forEach(d->deviceList.add(insOrderMapper.selectDeviceList(d)));
- }
- Map<String, String> codeStr = new HashMap<>();
- codeStr.put("鎶ュ憡缂栧彿", insReport.getCode());
- codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample());
- codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel());
- codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- String codePath;
- try {
- String content = phoneQrCode+ insOrder.getEntrustCode() + "&type=word";
- codePath = new MatrixToImageWriter().code(content, twoCode);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- String modelStr = "";
- for (String model : models) {
- modelStr += "," + model;
- }
- String finalModelStr = modelStr;
- String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample());
- insOrder.setSample(sampleStr);
- String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType());
- String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType());
- ConfigureBuilder builder = Configure.builder();
- builder.useSpringEL(true);
- List<DeviceVO> finalDeviceList = deviceList;
- Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery()
- .eq(InsSampleUser::getInsSampleId, orderId)
- .eq(InsSampleUser::getState,0)
- .orderByDesc(InsSampleUser::getCreateTime)
- .last("limit 1")).getUserId();
- String signatureUrl;
- try {
- signatureUrl = userMapper.selectById(userId).getSignatureUrl();
- } catch (Exception e) {
- throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.isEmpty()) {
- throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- //濡傛灉鏄腑澶╃鎶�杞井缂嗗巶(02)锛屾姤鍛婂睍绀哄鎵樺崟浣嶄负涓ぉ绉戞妧鍏夌紗鎬诲巶(01)
- Custom custom = customMapper.selectById(insOrder.getCompanyId());
- if(!Objects.isNull(custom) && Objects.equals("涓ぉ绉戞妧杞井缂嗗巶",custom.getCompany())){
- //涓ぉ绉戞妧鍏夌紗鎬诲巶瀹㈡埛淇℃伅
- custom = customMapper.selectOne(Wrappers.<Custom>lambdaQuery()
- .eq(Custom::getCompany,"涓ぉ绉戞妧鍏夌紗鎬诲巶")
- .eq(Custom::getCode2,"01").last("limit 1"));
- }
- //鍚堟牸鏁伴噺
- long qualifiedCount = insProducts0.stream().filter(f->f.getInsResult()==1).count();
- //鏍煎紡鍖栦笉鍚堟牸椤圭洰
- joinUnqualifiedItemChars(resultCh,resultEn,insProducts0);
- String resultChStr = "渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��";
- String resultEnStr = "According to commissioned requirements, all the tested items meet the requirements.";
- if (!resultCh.isEmpty() && qualifiedCount>0) {
- resultChStr = "渚濇嵁濮旀墭瑕佹眰锛�" + String.join("銆�",resultCh) + "鎵�妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��";
- resultEnStr = "According to commissioned requirements," + String.join("銆�",resultEn) + " these inspected items do not meet the requirements, all other inspected items meet the requirements.";
- }else if(!resultCh.isEmpty() && qualifiedCount==0){
- resultChStr = "渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囦笉绗﹀悎瑕佹眰銆�";
- resultEnStr = "According to commissioned requirements, all the tested items do not meet the requirements.";
- }
-
- //鍏夌氦闄勪欢琛ㄦ牸鏁版嵁
- List<Map<String, Object>> tables2 = new ArrayList<>();
- //鏉惧绠¢檮浠惰〃鏍兼暟鎹�
- List<Map<String, Object>> tables5 = new ArrayList<>();
- //灏哄鍙傛暟闄勪欢琛ㄦ牸鏁版嵁
- List<Map<String, Object>> tables6 = new ArrayList<>();
- /*鍏夌氦閰嶇疆鐨勬楠屾姤鍛�*/
- //鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
- .and(i->i.isNull(InsProduct::getInspectionItemClass).or().eq(InsProduct::getInspectionItemClass,""))
- );//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
- //鏌ヨ鍏ㄨ壊璋憋紝杩囨护鑹叉爣骞舵帓搴�
- List<String> colorList = DictUtils.getDictCache("鑹叉爣").stream()
- .sorted(Comparator.comparing(SysDictData::getDictSort))
- .map(SysDictData::getDictValue)
- .collect(Collectors.toList());
- //鏉惧绠¢檮浠跺鐞�
- long piperCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsBushId())).count();
- if(piperCount>0){
- PiperConfigReportHandler piperConfigReportHandler = new PiperConfigReportHandler(insProductMapper);
- piperConfigReportHandler.doWrite(samples,insReport,tables5,colorList);
- }
- //杩囨护鏈夊厜绾ら厤缃殑椤圭洰
- long fiberCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsFiberId())).count();
- FiberConfigReportHandler lossReportHandler = new FiberConfigReportHandler(insProductMapper,insSampleMapper);
- if (fiberCount>0) {
- lossReportHandler.doWrite(samples,insReport,tables2,colorList);
- } else{
- //鎺掗櫎鍏夌氦鎺ュご鎹熻�楀拰灏哄鍙傛暟
- List<InsProduct> filterLists = insProducts.stream()
- .filter(f->!Arrays.asList("鍏夌氦鎺ュご鎹熻��","灏哄鍙傛暟","娓╁害寰幆").contains(f.getInspectionItem())&&f.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")).collect(Collectors.toList());
- lossReportHandler.writeFiberEnclosureTableRow(filterLists,tables2,insReport);
- }
- //杩囨护鏈夊厜绾ゅ甫閰嶇疆鐨勯」鐩�
- long fibersCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsFibersId())).count();
- FiberOpticRibbonReportHandler fiberOpticRibbonReportHandler = new FiberOpticRibbonReportHandler(insProductMapper,insSampleMapper);
- if (fibersCount>0) {
- fiberOpticRibbonReportHandler.doWrite(samples,insReport,tables6,colorList);
- } else{
- //杩囨护灏哄鍙傛暟椤圭洰
- List<InsProductFiberVO> productList = new ArrayList<>();
- insSamples.stream()
- .map(InsSample::getId).distinct()
- .forEach(id->productList.addAll(insProductMapper.selectProductBySampleId(id)));
- List<InsProductFiberVO> vos = productList.stream().filter(f->f.getInspectionItem().equals("灏哄鍙傛暟")).collect(Collectors.toList());
- if(!vos.isEmpty()){
- fiberOpticRibbonReportHandler.writeFiberOpticRibbonEnclosureTableRow(vos,tables6,insReport);
- }
- }
- tables2.forEach(table2 -> table2.put("tableSize2", tables2.size()));
- tables5.forEach(table5 -> table5.put("tableSize5", tables5.size()));
- tables6.forEach(table6 -> table6.put("tableSize6", tables6.size()));
-
- /*娓╁害寰幆鐨勬楠屾姤鍛�*/
- //鍏堝垽鏂槸鍚︽湁娓╁害寰幆
- List<InsProduct> insProducts3 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
- .isNotNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜�
- List<Map<String, Object>> tables3 = new ArrayList<>();
- if (!insProducts3.isEmpty()) {
- //澶勭悊娓╁害寰幆鎶ュ憡
- TemperatureCyclingReportHandler1 cyclingReportHandler = new TemperatureCyclingReportHandler1(insProductMapper, insFiberMapper, insProductResultMapper);
- cyclingReportHandler.doWrite(samples,insReport,tables3);
- }
-
- /*娓╁崌璇曢獙鐨勬楠屾姤鍛�*/
- List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
- .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
- if (!insProducts1.isEmpty()) {
- //澶勭悊娓╁崌璇曢獙鎶ュ憡
- TemperatureTestReportHandler testReportHandler = new TemperatureTestReportHandler(insProductMapper, insProductResultMapper);
- testReportHandler.doWrite(samples,insReport,tables3);
- }
-
- /*鐑惊鐜殑妫�楠屾姤鍛�*/
- List<InsProduct> insProducts2 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
- .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
- .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
- .isNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜�
- if (!insProducts2.isEmpty()) {
- //澶勭悊鐑惊鐜姤鍛�
- ThermalCycleReportHandler cycleReportHandler = new ThermalCycleReportHandler(insProductMapper, insProductResultMapper);
- cycleReportHandler.doWrite(samples,insReport,tables3);
- }
- //鍗曟牴鍨傜洿鐕冪儳鐨勬楠屾姤鍛�
- tables3.forEach(table3 -> {
- table3.put("tableSize3", tables3.size());
- });
- /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/
- List<Map<String, Object>> images = new ArrayList<>();
- List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId));
- if (CollectionUtils.isNotEmpty(insOrderFiles)) {
- insOrderFiles.forEach(insOrderFile -> {
- Map<String, Object> image = new HashMap<>();
- PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create();
- image.put("url", pictureRenderData);
- image.put("report", insReport);
- images.add(image);
- });
- }
- //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇
- if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
- insOrder.setPrepareUser("/");
- }
- if (ObjectUtils.isEmpty(insOrder.getPhone())) {
- insOrder.setPhone("/");
- }
- //鏌ヨ瀹℃壒绛惧悕閰嶇疆
- Map<String,Object> urlMap = insReportApproveConfigMapper.selectApprovalConfigByLaboratory(insOrder.getLaboratory());
- String writeUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("writeUrl"))?"":urlMap.get("writeUrl").toString());//缂栧埗浜虹鍚島rl
- String examineUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("examineUrl"))?"":urlMap.get("examineUrl").toString());//瀹℃牳浜虹鍚島rl
- String ratifyUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("ratifyUrl"))?"":urlMap.get("ratifyUrl").toString());//鎵瑰噯浜虹鍚島rl
- //鑾峰彇鍦烘墍鐨勬姤鍛婁笓鐢ㄧ珷
- String sealUrl;
- try {
- sealUrl = insReportMapper.getLaboratoryByName(insOrder.getLaboratory());
- } catch (Exception e) {
- throw new ErrorException("鎵句笉鍒版姤鍛婁笓鐢ㄧ珷");
- }
-
- //妫�楠岄」鐩殑鐜
- InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0);
- String environment = "";
- environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
- String finalEnvironment = environment;
- Custom finalCustom = custom;
- String finalSealUrl = imgUrl + "/" +sealUrl;
- String finalResultChStr = resultChStr;
- String finalResultEnStr = resultEnStr;
- ZipSecureFile.setMinInflateRatio(0.001);
- XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
- new HashMap<String, Object>() {{
- put("order", insOrder);
- put("report", insReport);
- put("environment", finalEnvironment);
- put("custom", finalCustom);
- put("sampleSize", samples.size());
- put("tables", tables);
- put("tableSize", tables.size() + 1);
- put("tables2", tables2.isEmpty()?null:tables2);
- put("tableSize2", tables2.size());
- put("tables3", tables3.isEmpty()?null:tables3);
- put("tableSize3", tables3.size());
- put("tables4", tables4.isEmpty()?null:tables4);
- put("tableSize4", tables4.size());
- put("tables5", tables5.isEmpty()?null:tables5);
- put("tableSize5", tables5.size());
- put("tables6", tables6.isEmpty()?null:tables6);
- put("tableSize6", tables6.size());
- put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
- put("deviceList", finalDeviceList);
- put("twoCode", Pictures.ofLocal(codePath).create());
- put("models", finalModelStr.replace(",", ""));
- put("productSize", productSize);
- put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
- put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear());
- put("writeUrl", new FilePictureRenderData(100,50, writeUrl));
- put("insUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl));
- put("images", images.isEmpty()?null:images);
- put("examineUrl", new FilePictureRenderData(100,50,examineUrl));
- put("ratifyUrl", new FilePictureRenderData(100,50,ratifyUrl));
- put("sampleEn", sampleEn);
- put("orderType", orderType);
- put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear());
- put("seal1", new FilePictureRenderData(600,600, finalSealUrl));
- put("seal2", new FilePictureRenderData(600,600, finalSealUrl));
- put("formTypeCh", formType);
- put("formTypeEn", insOrder.getFormType());
- put("resultCh", finalResultChStr);
- put("resultEn", finalResultEnStr);
- }});
- // 鏇存柊鏁版嵁搴撲腑鐨勭鍙戞棩鏈�
- insOrderService.update(Wrappers.<InsOrder>lambdaUpdate()
- .eq(InsOrder::getId, insOrder.getId())
- .set(InsOrder::getIssuingDate, now));
- try {
- String name = insReport.getCode().replace("/", "") + ".docx";
- template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
- insReport.setUrl("/word/" + name);
- insReport.setIsExamine(-9);//鏈鏍哥姸鎬佷负-9
- insReport.setIsRatify(-9);//鏈壒鍑嗙姸鎬佷负-9
- insReportMapper.insert(insReport);
- insOrder.setInsState(5);
- insOrder.setSample(oldSampleStr);
- insOrderMapper.updateById(insOrder);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂
- String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx";
- // word 杞� pdf
- String tempUrlPdf = insReportService.wordToPdfTemp((StrUtil.isBlank(insReport.getUrlS()) ? insReport.getUrl() : insReport.getUrlS()).replace("/word", wordUrl));
- insReportMapper.update(null,new LambdaUpdateWrapper<InsReport>()
- .set(InsReport::getTempUrlPdf,tempUrlPdf)
- .eq(InsReport::getId,insReport.getId()));
- try {
- ZipSecureFile.setMinInflateRatio(0.0001);//瑙e喅闄勪欢鏂囦欢杩囧ぇ寮曞彂鐨刏ipBom寮傚父
- FileInputStream stream = new FileInputStream(path);
- XWPFDocument document = new XWPFDocument(stream);
- List<XWPFTable> xwpfTables = document.getTables();
- for (int i = 0; i < xwpfTables.size(); i++) {
- Set<String> set1 = new HashSet<>();
- Map<String, Map<String, Integer>> maps = new HashMap<>();
- for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
- for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
- if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) {
- String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�");
- if (set1.add(split[1])) {
- Map<String, Integer> map = new HashMap<>();
- map.put("sr", j);
- map.put("sc", k);
- map.put("er", j + 0);
- map.put("ec", k + 0);
- maps.put(split[1], map);
- } else {
- Map<String, Integer> map1 = maps.get(split[1]);
- if (j == map1.get("sr")) {
- map1.put("ec", map1.get("ec") + 1);
- } else if (k == map1.get("sc")) {
- map1.put("er", map1.get("er") + 1);
- }
- }
- String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0];
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
- xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER);
- }
- }
- }
-
- // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡
- List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet());
- entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc"));
-
- // 鎸夌収椤哄簭娣诲姞杩涢泦鍚�
- List<String> list = new ArrayList<>();
- for (Map.Entry<String, Map<String, Integer>> entry : entries) {
- list.add(entry.getKey());
- }
- /*List<String> list = new ArrayList<>();
- for (String s : maps.keySet()) {
- list.add(s);
- }*/
- for (int a = list.size() - 1; a >= 0; a--) {
- Map<String, Integer> v = maps.get(list.get(a));
- for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
- if (v.get("ec") > v.get("sc")) {
- try {
- TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
- } catch (Exception e) {
- }
- }
- }
- if (v.get("er") > v.get("sr")) {
- try {
- TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
- } catch (Exception e) {
- }
- }
- }
- }
- FileOutputStream fileOutputStream = new FileOutputStream(path);
- document.write(fileOutputStream);
- fileOutputStream.close();
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- //澶勭悊涓嫳鏂囨崲琛岀殑闂
- try {
- FileInputStream stream1 = new FileInputStream(path);
- XWPFDocument document1 = new XWPFDocument(stream1);
- List<XWPFTable> xwpfTables1 = document1.getTables();
- for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) {
- for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) {
- for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) {
- if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) {
- String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText();
- String[] split = text.split("@");
- xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
- XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph();
- XWPFRun run = xwpfParagraph.createRun();
- run.setText(split.length>0?split[0]:"");
- if (split.length>1 && ObjectUtils.isNotNull(split[1])) {
- run.addBreak();
- run.setText(split[1]);
- }
- xwpfParagraph.setAlignment(ParagraphAlignment.CENTER);
- }
- }
- }
- }
- FileOutputStream fileOutputStream1 = new FileOutputStream(path);
- document1.write(fileOutputStream1);
- fileOutputStream1.close();
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- } else if(num != 5) {
- //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀
- Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
- insSampleUserMapper.deleteById(id);
- }
- return 1;
- }
-
- /**
- * 鏍煎紡鍖栦笉鍚堟牸椤圭洰瀛楃涓�
- * @param resultCh 涓嶅悎鏍奸」鐩腑鏂囧垪琛�
- * @param resultEn 涓嶅悎鏍奸」鐩嫳鏂囧垪琛�
- * @param insProducts0 妫�楠岄」鍒楄〃
- */
- private void joinUnqualifiedItemChars(Set<String> resultCh, Set<String> resultEn, List<InsProduct> insProducts0) {
- if(!insProducts0.isEmpty()){
- insProducts0.stream().filter(f->f.getInsResult()==0).forEach(e->{
- String chinaStr = String.join("-",e.getInspectionItem(),e.getInspectionItemSubclass());
- String englishStr = String.join("-",e.getInspectionItemEn(),e.getInspectionItemSubclassEn());
- resultCh.add(chinaStr);
- resultEn.add(englishStr);
- });
- }
- }
-
- public void getTemplateThing
- (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) {
- for (InsProduct product : insProducts) {
- if (product.getSpecialItemParentId()!=null) {
- product.setTemplate(new ArrayList<>());
- continue;
- }
- String thing = null;
- if (product.getSpecialItemParentId() == null && set.add(product.getTemplateId())) {
- map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
- thing = map2.get(product.getTemplateId());
- }
- if (StrUtil.isNotEmpty(thing)) {
- JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0)));
- JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config")));
- List<JSONObject> cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class);
- Map<String, Object> style = new HashMap<>();
- style.put("rowlen", config.get("rowlen"));
- style.put("columnlen", config.get("columnlen"));
- product.setTemplate(cellData);
- product.setStyle(style);
- product.setTemplateName(standardTemplateService.getStandTempNameById(product.getTemplateId()));
- }
- }
- }
-
- @Override
- public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) {
- List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
- List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .in(InsProduct::getInsSampleId, ids)
- .eq(InsProduct::getSonLaboratory, laboratory)
- .eq(InsProduct::getState, 1)
- .and(wrapper -> wrapper
- .isNull(InsProduct::getInsResult)
- .or()
- .eq(InsProduct::getInsResult, 2)
- )
- .isNull(InsProduct::getInsFiberId)
- .isNull(InsProduct::getInsFibersId));
- insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory));
- if (insProducts.size() > 0) {
- String str = "";
- HashSet<String> set = new HashSet<>();
- int count = 0;
- for (InsProduct product : insProducts) {
- //濡傛灉鏄厜缂嗙殑娓╁害寰幆
- if (product.getInspectionItem().equals("娓╁害寰幆") && insOrderMapper.selectById(orderId).getSampleType().equals("鍏夌紗")) {
- //鏌ヨ閭d簺寰幆娓╁害鐨勬楠岄」鐩殑缁撹鏄惁鍏ㄩ儴妫�楠�
- List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, product.getInsSampleId())
- .isNotNull(InsProduct::getInsFiberId).like(InsProduct::getInspectionItemSubclass, "鈩�"));
- List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
- List<Integer> tt = new ArrayList<>();
- tt.add(1);
- if (collect.contains(0)) {
- product.setLastValue("涓嶅悎鏍�");
- product.setInsResult(0);
- } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
- product.setLastValue("鍚堟牸");
- product.setInsResult(1);
- }
- insProductMapper.updateById(product);
- }
- //濡傛灉鏄儹寰幆鎴栬�呮槸娓╁崌璇曢獙
- else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
- //鏌ヨ杩欎簺椤圭洰涓嬬殑鍏朵粬妫�楠岄」鐩槸鍚﹀叏閮ㄦ楠�
- List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, product.getInsSampleId())
- .like(InsProduct::getInspectionItemSubclass, "娓╁害"));
- List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
- List<Integer> tt = new ArrayList<>();
- tt.add(1);
- if (collect.contains(0)) {
- product.setLastValue("涓嶅悎鏍�");
- product.setInsResult(0);
- } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
- product.setLastValue("鍚堟牸");
- product.setInsResult(1);
- }
- insProductMapper.updateById(product);
- }
- //濡傛灉鏄數鍔涚殑搴斿姏搴斿彉妫�楠岄」鐩垨鑰呮槸鐤插姵璇曢獙,缁撹鏀规垚涓嶅垽瀹�
- else if (product.getInspectionItem().equals("搴斿姏搴斿彉") || product.getInspectionItem().contains("鐤插姵璇曢獙")){
- product.setInsResult(3);
- insProductMapper.updateById(product);
- }
- //濡傛灉鏄槻鎸敜鍔熺巼鐗规�ц瘯楠�
- else if (product.getInspectionItem().equals("闃叉尟閿ゅ姛鐜囩壒鎬ц瘯楠�")){
- product.setInsResult(1);//榛樿鍚堟牸
- //闇�瑕佸幓鍒ゆ柇濉啓鐨勬楠屾暟鎹槸鍚︽湁涓嶅悎鏍�
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
- cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(insProductResult.getComValue());
- // 妫�鏌� arr2
- cn.hutool.json.JSONArray arr2 = jsonObject.getJSONArray("arr2");
- for (int i = 0; i < arr2.size(); i++) {
- cn.hutool.json.JSONObject obj = arr2.getJSONObject(i);
- if (obj.getInt("state") == 2) {
- product.setInsResult(0);
- break;
- }
- }
- // 妫�鏌� arr3
- cn.hutool.json.JSONArray arr3 = jsonObject.getJSONArray("arr3");
- for (int i = 0; i < arr3.size(); i++) {
- cn.hutool.json.JSONObject obj = arr3.getJSONObject(i);
- if (obj.getInt("state") == 2) {
- product.setInsResult(0);
- break;
- }
- }
- insProductMapper.updateById(product);
- }
- else {
- String notDetected = product.getInspectionItem() + " " + product.getInspectionItemSubclass();
- if(!set.contains(notDetected)) {
- count++;
- str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
- set.add(notDetected);
- }
-
- }
- }
- if (ObjectUtils.isNotEmpty(str)) {
- throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str);
- }
- }
- insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 3).set(InsOrderState::getVerifyUser, verifyUser));
- Integer userId = SecurityUtils.getUserId().intValue();
- InformationNotification info = new InformationNotification();
- info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
- info.setMessageType("2");
- info.setTheme("澶嶆牳閫氱煡");
- info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
- info.setSenderId(userId);
- info.setConsigneeId(verifyUser);
- info.setViewStatus(false);
- info.setJumpPath("b1-inspect-order-plan");
- informationNotificationService.addInformationNotification(info);
- //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
- InsSampleUser insSampleUser = new InsSampleUser();
- insSampleUser.setUserId(verifyUser);
- insSampleUser.setInsSampleId(orderId);
- insSampleUser.setState(1);
- insSampleUser.setSonLaboratory(laboratory);
- insSampleUserMapper.insert(insSampleUser);
- /*鏍¢獙涓�涓媟esult琛�*/
- CompletableFuture.supplyAsync(() -> {
- List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
- for (Integer ip : ips) {
- List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getInsProductId, ip));
- if (insProductResults.size() > 1) {
- for (int i = 1; i < insProductResults.size(); i++) {
- insProductResultMapper.deleteById(insProductResults.get(i));
- }
- }
- }
- return null;
- });
- // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
- String key = "frequency" + ":" + entrustCode + ":*";
- RedisUtil.delsLike(key);
- return 1;
- }
-
- @Override
- public List<String> getEquipName(Integer orderId,String sonLaboratory) {
- List<Integer> ids = insSampleMapper.selectList(new LambdaQueryWrapper<InsSample>()
- .eq(InsSample::getInsOrderId, orderId))
- .stream()
- .map(InsSample::getId)
- .collect(Collectors.toList());
- // 鏌ョ湅鍗曞瓙鏄惁閫夋嫨浜嗚澶�
- List<String> strList = new ArrayList<>();
- HashSet<String> set = new HashSet<>();
- List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .in(InsProduct::getInsSampleId, ids)
- .eq(InsProduct::getSonLaboratory, sonLaboratory)
- .eq(InsProduct::getState, 1));
- if (CollectionUtils.isNotEmpty(productList)) {
- List<InsProduct> collect = productList.stream()
- .filter(item -> Objects.isNull(item.getSpecialItemParentId()) || StringUtils.isEmpty(item.getSpecialItemParentId()+""))
- .collect(Collectors.toList());
- for (InsProduct product : collect) {
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, product.getId()));
- if(Objects.nonNull(insProductResult)){
- if(Objects.isNull(insProductResult.getEquipName()) || StringUtils.isEmpty(insProductResult.getEquipName())) {
- strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
- }else {
- List<Map> maps = JSONArray.parseArray(insProductResult.getEquipName(), Map.class);
- if(CollectionUtils.isNotEmpty(maps)) {
- List<Map> mapList = maps.stream().filter(item -> StringUtils.isEmpty(item.get("v") + "")).collect(Collectors.toList());
- if(mapList.size() == maps.size()) {
- strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
- }
-// for (Map map : maps) {
-// if(StringUtils.isEmpty(map.get("v")+"")){
-// strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
-// }
-// }
- }else {
- strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
- }
- }
- }
- }
- }
-
- return strList.stream().distinct().collect(Collectors.toList());
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
- public int saveInsContext2(InsProductResultDTO insProductResult) {
- Integer userId = SecurityUtils.getUserId().intValue();
- try {
- //妫�楠岀粨鏋�
- Map<String,Object> insValueMap = JackSonUtil.unmarshal(insProductResult.getInsValue(), Map.class);
- //saveInsContext2鏂规硶鏈夊涓ā鏉胯皟鐢紝闇�鏍规嵁妯℃澘鍚嶇О鍒嗗紑澶勭悊
- switch (insProductResult.getTemplateName()){
- case "鏋剁┖鍦扮嚎搴斿姏搴斿彉":
- //淇濆瓨寮规�фā閲忓拰妫�楠岀粨璁�
- if(Objects.nonNull(insValueMap.get("elasticityModulus"))){
- String elasticityModulus = insValueMap.get("elasticityModulus").toString();
- insProductMapper.update(null,Wrappers.<InsProduct>lambdaUpdate()
- .set(InsProduct::getInsResult,3)//缁撹璁句负涓嶅垽瀹�
- .set(InsProduct::getElasticityModulus,elasticityModulus)
- .eq(InsProduct::getId,insProductResult.getInsProductId())
- );
- }
- //鍒犻櫎寮规�фā閲弅ey
- insValueMap.remove("elasticityModulus");
- insProductResult.setInsValue(JackSonUtil.marshal(insValueMap));
- break;
- case "鐤插姵璇曢獙":
- //淇濆瓨妫�楠岀粨鏋�
- if(Objects.nonNull(insValueMap.get("damage"))){
- String damage = insValueMap.get("damage").toString();
- Integer insResult = "绗﹀悎".equals(damage)?1:0;
- insProductMapper.update(null,Wrappers.<InsProduct>lambdaUpdate()
- .set(InsProduct::getInsResult,insResult)
- .set(InsProduct::getLastValue,damage)
- .eq(InsProduct::getId,insProductResult.getInsProductId())
- );
- }
- break;
- }
- List<InsProductResult> oldResults = new ArrayList<>();
- InsProductResult insProductResult1 = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>().eq(InsProductResult::getInsProductId, insProductResult.getInsProductId()));
- //鏂板鎴栨洿鏂版楠岃褰�
- if (ObjectUtils.isNull(insProductResult1)){
- insProductResultMapper.insert(insProductResult);
- }else {
- insProductResult.setId(insProductResult1.getId());
- oldResults.add(insProductResult1);
- insProductResultMapper.updateById(insProductResult);
- }
- //娣诲姞宸ユ椂璁板綍
- InsOrder insOrder = insOrderMapper.selectById(insProductResult.getOrderId());
- InsSample insSample = insSampleMapper.selectById(insProductResult.getSampleId());
- InsProduct insProduct = insProductMapper.selectById(insProductResult.getInsProductId());
- InsProductResult newInsResult = new InsProductResult();
- BeanUtil.copyProperties(insProductResult,newInsResult);
- WorkTimeDTO workTimeDTO = new WorkTimeDTO(userId,insOrder,insSample,insProduct,null,insProductResult.getSampleId(), String.valueOf(insProductResult.getInsProductId()),oldResults ,newInsResult);
- String jsonStr = JackSonUtil.marshal(workTimeDTO);
- //璁$畻宸ユ椂
- //TODO:璇ユ柟娉曠洰鍓嶅彧鏈夌數鍔涚敤锛岄粯璁よ矾鐢变娇鐢ㄧ數鍔涚殑
- sendQueueMessage(ExchangeConstants.WORK_TIME_EXCHANGE,RouterKeyConstants.DL_KEY,jsonStr);
- }catch (Exception e){
- throw new RuntimeException(e);
- }
- return 0;
- }
-
- // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
- public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
- List<LocalDateTime> localDateTimes = new ArrayList<>();
- LocalDate currentDate = start.toLocalDate();
- LocalDateTime currentLocalDateTime = start;
- while (!currentDate.isAfter(end.toLocalDate())) {
- localDateTimes.add(currentLocalDateTime);
- currentLocalDateTime = currentLocalDateTime.plusDays(1);
- currentDate = currentDate.plusDays(1);
- }
- return localDateTimes;
- }
-
- /**
- * 鏌ヨ妫�楠岄」瀵瑰簲鏍囧噯搴撻厤缃殑宸ユ椂淇℃伅
- * @param insProduct
- * @return
- */
- public StandardProductVO getInspectWorkHourAndGroup(InsProduct insProduct){
- StandardProductVO standardProductVO = new StandardProductVO();
- if(!Objects.isNull(insProduct)){
- //鏌ヨ瀵瑰簲鏍囧噯搴�
- List<StandardProductVO> productVO = standardProductListMapper.getStandardProductByInsProduct(
- insProduct.getLaboratory(),
- insProduct.getSampleType(),
- insProduct.getSample(),
- insProduct.getModel(),
- insProduct.getInspectionItem(),
- insProduct.getInspectionItemSubclass(),
- insProduct.getSonLaboratory(),
- insProduct.getStandardMethodListId());
- if(!productVO.isEmpty()){
- standardProductVO = productVO.get(0);
- }
- //鏈夊尯闂寸殑妫�楠岄」锛屽彇妫�楠岄」瀛樼殑宸ユ椂淇℃伅
- if(StringUtils.isNotBlank(insProduct.getSection()) && StringUtils.isNotBlank(standardProductVO.getSection())){
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- //鍖洪棿璁剧疆
- List<String> sectionList = (List<String>)objectMapper.readValue(standardProductVO.getSection(), List.class);
- //閫変腑鍖洪棿鐨勪笅鏍�
- int i = sectionList.indexOf(insProduct.getSection());
- //鑾峰彇瀵瑰簲涓嬫爣鐨勫伐鏃跺拰宸ユ椂鍒嗙粍
- List<Double> hourList = (List<Double>)objectMapper.readValue(standardProductVO.getManHour(), List.class);
- standardProductVO.setManHour(String.valueOf(hourList.get(i)));
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
- }
- }
- }
- return standardProductVO;
- }
-
- public static String getWeek(String dayStr) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- try {
- Date date = sdf.parse(dayStr);
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
- int day = calendar.get(Calendar.DAY_OF_MONTH);
- return getWeekDay(dayOfWeek);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
-
- public static String getWeekDay(int dayOfWeek) {
- switch (dayOfWeek) {
- case Calendar.MONDAY:
- return "鍛ㄤ竴";
- case Calendar.TUESDAY:
- return "鍛ㄤ簩";
- case Calendar.WEDNESDAY:
- return "鍛ㄤ笁";
- case Calendar.THURSDAY:
- return "鍛ㄥ洓";
- case Calendar.FRIDAY:
- return "鍛ㄤ簲";
- case Calendar.SATURDAY:
- return "鍛ㄥ叚";
- case Calendar.SUNDAY:
- return "鍛ㄦ棩";
- default:
- return "鏈煡";
- }
- }
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InstructionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InstructionServiceImpl.java
deleted file mode 100644
index 3a1554f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InstructionServiceImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.numgen.NumberGenerator;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.dto.InstructionDto;
-import com.ruoyi.requier.mapper.InstructionMapper;
-import com.ruoyi.requier.pojo.Instruction;
-import com.ruoyi.requier.service.InstructionService;
-import com.ruoyi.requier.service.OperationInstructionService;
-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;
-
- @Override
- public IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page) {
- return baseMapper.pageByPageQueryOfHomeworkInstructions(page);
- }
-
- @Override
- public void newHomeworkGuidebookAdded(InstructionDto instructionDto) {
- 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(SecurityUtils.getUserId().intValue());
- i.setUpdateTime(LocalDateTime.now());
- });
- operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList());
- }
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java
deleted file mode 100644
index 578c914..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.InternalWastesDetailMapper;
-import com.ruoyi.requier.pojo.InternalWastesDetail;
-import com.ruoyi.requier.service.InternalWastesDetailService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:54
- */
-@Service
-public class InternalWastesDetailServiceImpl extends ServiceImpl<InternalWastesDetailMapper, InternalWastesDetail> implements InternalWastesDetailService {
-
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java
deleted file mode 100644
index 4ef0e81..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
-import com.ruoyi.requier.dto.InternalWastesDto;
-import com.ruoyi.requier.mapper.InternalWastesMapper;
-import com.ruoyi.requier.pojo.InternalWastes;
-import com.ruoyi.requier.pojo.InternalWastesDetail;
-import com.ruoyi.requier.service.InternalWastesDetailService;
-import com.ruoyi.requier.service.InternalWastesService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
-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.util.HashMap;
-import java.util.List;
-
-/**
- * <p>
- * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-19 06:39:27
- */
-@Service
-@AllArgsConstructor
-@Transactional(rollbackFor = Exception.class)
-public class InternalWastesServiceImpl extends ServiceImpl<InternalWastesMapper, InternalWastes> implements InternalWastesService {
-
- private InternalWastesDetailService internalWastesDetailService;
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
- * @param page
- * @param internalWastes
- * @return
- */
- @Override
- public IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes) {
- return baseMapper.pageInternalWastes(page, QueryWrappers.queryWrappers(internalWastes));
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏鏂板
- * @param internalWastes
- * @return
- */
- @Override
- public boolean addInternalWastes(InternalWastesDto internalWastes) {
-
- baseMapper.insert(internalWastes);
- // 鏂板璇︽儏
- for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
- internalWastesDetail.setWastesId(internalWastes.getWastesId());
- }
- internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
- return true;
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏淇敼
- * @param internalWastes
- * @return
- */
- @Override
- public boolean updateInternalWastes(InternalWastesDto internalWastes) {
- baseMapper.updateById(internalWastes);
-
- // 鍒犻櫎涔嬪墠鐨勮鎯�
- internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
- .eq(InternalWastesDetail::getWastesId, internalWastes.getWastesId()));
-
- // 鏂板璇︽儏
- for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
- internalWastesDetail.setWastesId(internalWastes.getWastesId());
- }
- internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
-
- return true;
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒犻櫎
- * @param WastesId
- * @return
- */
- @Override
- public boolean delInternalWastes(Integer WastesId) {
- internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
- .eq(InternalWastesDetail::getWastesId, WastesId));
- baseMapper.deleteById(WastesId);
- return true;
- }
-
- /**
- * 瀹夊叏鍐呭姟涓夊簾鐧昏鏌ョ湅璇︽儏
- * @param WastesId
- * @return
- */
- @Override
- public InternalWastesDto getInternalWastesOne(Integer WastesId) {
- InternalWastes internalWastes = baseMapper.selectById(WastesId);
- InternalWastesDto internalWastesDto = new InternalWastesDto();
- BeanUtils.copyProperties(internalWastes, internalWastesDto);
-
- // 鏌ヨ璇︾粏淇℃伅
- internalWastesDto.setWastesDetailList(internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
- .eq(InternalWastesDetail::getWastesId, WastesId)));
- return internalWastesDto;
- }
-
- /**
- * 瀵煎嚭涓夊簾澶勭悊
- * @param wastesId
- * @param response
- */
- @Override
- public void exportInternalWastes(Integer wastesId, HttpServletResponse response) {
- InternalWastes internalWastes = baseMapper.selectById(wastesId);
-
- List<InternalWastesDetail> wastesDetailList = internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
- .eq(InternalWastesDetail::getWastesId, wastesId));
-
- int index = 1;
- for (InternalWastesDetail detail : wastesDetailList) {
- detail.setIndex(index);
- index++;
- }
-
-
- // 鑾峰彇璺緞
- InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-wastes.docx");
- Configure configure = Configure.builder()
- .bind("wastesDetailList", new HackLoopTableRenderPolicy())
- .build();
- XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
- new HashMap<String, Object>() {{
- put("remark", internalWastes.getRemark());
- put("wastesDetailList", wastesDetailList);
- }});
-
- 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-require/src/main/java/com/ruoyi/requier/service/impl/OperationInstructionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/OperationInstructionServiceImpl.java
deleted file mode 100644
index c26e7c5..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/OperationInstructionServiceImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.OperationInstructionMapper;
-import com.ruoyi.requier.pojo.OperationInstruction;
-import com.ruoyi.requier.service.OperationInstructionService;
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
deleted file mode 100644
index 3625815..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
+++ /dev/null
@@ -1,814 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-
-import cn.hutool.core.util.ObjectUtil;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-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.service.impl.ServiceImpl;
-import com.ruoyi.basic.vo.StandardProductVO;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.inspect.mapper.*;
-import com.ruoyi.inspect.pojo.*;
-import com.ruoyi.inspect.vo.ProductVo;
-import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
-import com.ruoyi.performance.mapper.PerformanceShiftMapper;
-import com.ruoyi.performance.mapper.ShiftTimeMapper;
-import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
-import com.ruoyi.performance.pojo.PerformanceShift;
-import com.ruoyi.performance.pojo.ShiftTime;
-import com.ruoyi.requier.mapper.PkMasterMapper;
-import com.ruoyi.requier.mapper.PkSlaveMapper;
-import com.ruoyi.requier.pojo.PkMaster;
-import com.ruoyi.requier.pojo.PkSlave;
-import com.ruoyi.requier.service.InsOrderPlanService;
-import com.ruoyi.requier.service.PkMasterService;
-import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
-import com.ruoyi.system.mapper.UserMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.logging.log4j.util.Strings;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2024-07-29 01:16:26
- */
-@Service
-@Slf4j
-public class PkMasterServiceImpl extends ServiceImpl<PkMasterMapper, PkMaster> implements PkMasterService {
-
- @Resource
- private PkMasterMapper pkMasterMapper;
-
- @Resource
- private PkSlaveMapper pkSlaveMapper;
-
- @Resource
- private InsOrderMapper insOrderMapper;
-
- @Resource
- private InsSampleMapper insSampleMapper;
-
- @Resource
- private InsProductMapper insProductMapper;
-
- @Resource
- private InsProductResultMapper insProductResultMapper;
-
- @Resource
- private InsProductUserMapper insProductUserMapper;
-
- @Resource
- private UserMapper userMapper;
-
- @Resource
- private InsOrderPlanService insOrderPlanService;
-
- @Resource
- private InsOrderPlanServiceImpl insOrderPlanServiceImpl;
-
- @Resource
- private ShiftTimeMapper shiftTimeMapper;
- @Resource
- private PerformanceShiftMapper performanceShiftMapper;
-
- @Resource
- private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
-
-
- //娓╁害寰幆鏁伴噰
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int temDataAcquisition(PkMaster pkMaster) {
- Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
- //鏌ヨ鏁伴噰鍏宠仈鐨勫瓙琛ㄤ俊鎭�
- PkMaster master = new PkMaster();
- List<PkMaster> pkMasters = pkMasterMapper.selectList(Wrappers.<PkMaster>lambdaQuery()
- .eq(PkMaster::getEntrustCode, pkMaster.getEntrustCode())
- .eq(PkMaster::getSampleCode, pkMaster.getSampleCode())
- .eq(PkMaster::getModel, pkMaster.getModel())
- .eq(PkMaster::getCycles, pkMaster.getCycles())
- .eq(PkMaster::getTemperature, pkMaster.getTemperature()).orderByDesc(PkMaster::getId));
- if(!pkMasters.isEmpty()){
- master = pkMasters.get(0);
- }
- //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
- InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
- if (ObjectUtils.isEmpty(insOrder)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode());
- }
- //鏌ヨ瀵瑰簲妫�楠屾牱鍝乮d
- InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
- .eq(InsSample::getInsOrderId, insOrder.getId())
- .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
- .eq(InsSample::getModel, pkMaster.getModel()));
- if (ObjectUtils.isEmpty(insSample)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
- } if (ObjectUtils.isNotEmpty(master)) {
- //throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囨暟鎹�");
- List<PkSlave> pkSlaves = pkSlaveMapper.selectList1(master.getIsid());
- if (CollectionUtils.isEmpty(pkSlaves)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囧瓙鏁版嵁");
- }
-
- //鏌ヨ瀵瑰簲妫�楠岄」鐩�
- Map<String, Object> map = insOrderPlanService.temCycle(insSample.getId(), pkMaster.getCycles(), pkMaster.getTemperature());
- List<ProductVo> productVos = (List<ProductVo>) map.get("productVos");
- if (CollectionUtils.isNotEmpty(productVos)) {
- //todo 濡傛灉娓╁害寰幆鐨勯」鐩畁m鏈夋敼鍔ㄨ繖閲岄渶瑕佹敼鍔� @zss
- for (PkSlave pkSlave : pkSlaves) {
- for (ProductVo productVo : productVos) {
- if (pkSlave.getInsBushingId().equals(productVo.getBushColor()) &&
- pkSlave.getInsFibersId().equals(productVo.getCode()) &&
- pkSlave.getInsFiberId().equals(productVo.getColor())) {
- //鎵惧埌瀵瑰簲鐨勬暟鎹�(瀵瑰簲濂楃鍏夌氦鐨勬暟鎹�)
- List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, productVo.getInsProduct().getId()));
- InsProductResult result;
- if (CollectionUtils.isEmpty(results)) {
- result = new InsProductResult();
- } else {
- result = results.get(0);
- }
- result.setInsProductId(productVo.getInsProduct().getId());//妫�楠岄」鐩甶d
- List<Map<String, Object>> iv = new ArrayList<>();
- List<Map<String, Object>> cv = new ArrayList<>();
- if (productVo.getInsProduct().getInspectionItemClass().equals("1310nm")) {
- //1310nm澶栫
- Map<String, Object> map1 = new HashMap<>();
- map1.put("u", userId + "");
- map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) ? pkSlave.getWeaken1310A().toString() : null);
- iv.add(map1);
- //1310nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) ? pkSlave.getWeaken1310B().toString() : null);
- iv.add(map2);
- //1310nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- double v = 0.0;
- if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B())) {
- v = (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2;
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310B())) {
- v = pkSlave.getWeaken1310A();
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310A())) {
- v = pkSlave.getWeaken1310B();
- } else {
- log.info("鏁伴噰id锛歿}", pkSlave.getId());
- throw new ErrorException("1310鐨勪袱绔兘娌℃湁鏁版嵁!!!");
- }
- BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
- map3.put("v", String.valueOf(decimal));
- cv.add(map3);
- } else if (productVo.getInsProduct().getInspectionItemClass().equals("1550nm")) {
- //1550nm澶栫
- Map<String, Object> map1 = new HashMap<>();
- map1.put("u", userId + "");
- map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) ? pkSlave.getWeaken1550A().toString() : null);
- iv.add(map1);
- //1550nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) ? pkSlave.getWeaken1550B().toString() : null);
- iv.add(map2);
- //1550nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- double v = 0.0;
- if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B())) {
- v = (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2;
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550B())) {
- v = pkSlave.getWeaken1550A();
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550A())) {
- v = pkSlave.getWeaken1550B();
- } else {
- throw new ErrorException("1550鐨勪袱绔兘娌℃湁鏁版嵁!!!");
- }
- BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
- map3.put("v", String.valueOf(decimal));
- cv.add(map3);
- } else if (productVo.getInsProduct().getInspectionItemClass().equals("1625nm")) {
- //1625nm澶栫
- Map<String, Object> map1 = new HashMap<>();
- map1.put("u", userId + "");
- map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) ? pkSlave.getWeaken1625A().toString() : null);
- iv.add(map1);
- //1625nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) ? pkSlave.getWeaken1625B().toString() : null);
- iv.add(map2);
- //1625nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- double v = 0.0;
- if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B())) {
- v = (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2;
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625B())) {
- v = pkSlave.getWeaken1625A();
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625A())) {
- v = pkSlave.getWeaken1625B();
- } else {
- throw new ErrorException("1625鐨勪袱绔兘娌℃湁鏁版嵁!!!");
- }
- BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
- map3.put("v", String.valueOf(decimal));
- cv.add(map3);
- } else if (productVo.getInsProduct().getInspectionItemClass().equals("1383nm")) {
- //1383nm澶栫
- Map<String, Object> map1 = new HashMap<>();
- map1.put("u", userId + "");
- map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) ? pkSlave.getWeaken1383A().toString() : null);
- iv.add(map1);
- //1383nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) ? pkSlave.getWeaken1383B().toString() : null);
- iv.add(map2);
- //1383nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- double v = 0.0;
- if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B())) {
- v = (pkSlave.getWeaken1383A() + pkSlave.getWeaken1310B()) / 2;
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383B())) {
- v = pkSlave.getWeaken1383A();
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383A())) {
- v = pkSlave.getWeaken1383B();
- } else {
- throw new ErrorException("1383鐨勪袱绔兘娌℃湁鏁版嵁!!!");
- }
- BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
- map3.put("v", String.valueOf(decimal));
- cv.add(map3);
- } else if (productVo.getInsProduct().getInspectionItemClass().equals("1490nm")) {
- //1490nm澶栫
- Map<String, Object> map1 = new HashMap<>();
- map1.put("u", userId + "");
- map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) ? pkSlave.getWeaken1490A().toString() : null);
- iv.add(map1);
- //1490nm鍐呯
- Map<String, Object> map2 = new HashMap<>();
- map2.put("u", userId + "");
- map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) ? pkSlave.getWeaken1490B().toString() : null);
- iv.add(map2);
- //1490nm琛板噺绯绘暟
- Map<String, Object> map3 = new HashMap<>();
- double v = 0.0;
- if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B())) {
- v = (pkSlave.getWeaken1490A() + pkSlave.getWeaken1310B()) / 2;
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490B())) {
- v = pkSlave.getWeaken1490A();
- } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490A())) {
- v = pkSlave.getWeaken1490B();
- } else {
- throw new ErrorException("1490鐨勪袱绔兘娌℃湁鏁版嵁!!!");
- }
- BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
- map3.put("v", String.valueOf(decimal));
- cv.add(map3);
- } else {
- throw new ErrorException("娌℃湁鎵惧埌璇ユ俯搴︾殑妫�楠岄」鐩�" + productVo.getInsProduct().getInspectionItemClass());
- }
- result.setInsValue(JSON.toJSONString(iv));//妫�楠屽��
- result.setComValue(JSON.toJSONString(cv));//璁$畻鍊�
- if (BeanUtil.isEmpty(result.getId())) {
- result.setCreateUser(userId);
- result.setUpdateUser(userId);
- insProductResultMapper.insert(result);
- } else {
- result.setUpdateUser(userId);
- result.setUpdateTime(LocalDateTime.now());
- insProductResultMapper.updateById(result);
- }
-
- InsProduct insProduct = productVo.getInsProduct();
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
- String[] comValue = insProductResult.getComValue().split(":");
- String comple = comValue[comValue.length-1].split("\"")[1];
- //棣栧厛鏌ョ湅娓╁害鏄惁鏄�20搴﹀父娓�
- if (!pkMaster.getTemperature().equals("20鈩�(甯告俯)")) {
- //濡傛灉涓嶆槸鍏堟煡璇㈡槸鍚︽湁鍊�
- int a = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")).stream().map(InsProduct::getInsResult).anyMatch(ObjectUtils::isEmpty) ? 1 : 0;
- if (a == 1) {
- throw new ErrorException("鍏堣幏鍙�20鈩�(甯告俯)鐨勬楠屽��,鍐嶈幏鍙栧叾浠栨俯搴�" + pkMaster.getSampleCode());
- } else {
- //璁$畻琛板噺宸�
- InsProduct insPro = null;
- switch (insProduct.getInspectionItemClass()) {
- case "1310nm":
- //鏌ヨ20鈩�(甯告俯)1310nm鐨勮“鍑忕郴鏁�
- try {
- insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, "1310nm")
- .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
- } catch (Exception e) {
- throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1310nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
- }
- break;
- case "1550nm":
- //鏌ヨ20鈩�(甯告俯)1550nm鐨勮“鍑忕郴鏁�
- try {
- insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, "1550nm")
- .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
- } catch (Exception e) {
- throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
- }
- break;
- case "1625nm":
- //鏌ヨ20鈩�(甯告俯)1625nm鐨勮“鍑忕郴鏁�
- try {
- insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, "1625nm")
- .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
- } catch (Exception e) {
- throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
- }
- break;
- case "1383nm":
- //鏌ヨ20鈩�(甯告俯)1383nm鐨勮“鍑忕郴鏁�
- try {
- insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, "1383nm")
- .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
- } catch (Exception e) {
- throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1383nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
- }
- break;
- case "1490nm":
- //鏌ヨ20鈩�(甯告俯)1490nm鐨勮“鍑忕郴鏁�
- try {
- insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "1")
- .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
- .eq(InsProduct::getInspectionItemClass, "1490nm")
- .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
- } catch (Exception e) {
- throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1490nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
- }
- break;
- }
- InsProductResult insProductRes = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId()));
- String[] split = insProductRes.getComValue().split(":");
- double abs = Math.abs(Double.parseDouble(split[split.length-1].split("\"")[1]) - Double.parseDouble(comple));
- BigDecimal scale = BigDecimal.valueOf(abs).setScale(3, RoundingMode.HALF_UP);
- insProduct.setLastValue(String.valueOf(scale));
- String ask = insProduct.getAsk();
- int insResult = 1;
- switch (ask.charAt(0)) {
- case '<':
- insResult = Double.parseDouble(insProduct.getLastValue()) < Double.parseDouble(ask.substring(1)) ? 1 : 0;
- break;
- case '>':
- insResult = Double.parseDouble(insProduct.getLastValue()) > Double.parseDouble(ask.substring(1)) ? 1 : 0;
- break;
- case '=':
- insResult = Double.parseDouble(insProduct.getLastValue()) == Double.parseDouble(ask.substring(1)) ? 1 : 0;
- break;
- case '鈮�':
- insResult = Double.parseDouble(insProduct.getLastValue()) <= Double.parseDouble(ask.substring(1)) ? 1 : 0;
- break;
- case '鈮�':
- insResult = Double.parseDouble(insProduct.getLastValue()) >= Double.parseDouble(ask.substring(1)) ? 1 : 0;
- break;
- }
- insProduct.setInsResult(insResult);
- }
- } else {
- //濡傛灉鏄�20搴﹀父娓�,闇�瑕佺粰鍑哄悎鏍肩殑缁撹
- insProduct.setInsResult(1);//20搴﹀父娓╃殑妫�楠岄」榛樿涓哄悎鏍�
- }
- insProduct.setUpdateUser(userId);
- insProductMapper.updateById(insProduct);
- User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, master.getDetectionPeople()));
- if (ObjectUtils.isEmpty(user)) {
- throw new ErrorException("lims绯荤粺娌℃湁鎵惧埌璇ョ敤鎴�" + master.getDetectionPeople());
- }
- insProductUserMapper.insert(new InsProductUser(null, user.getId(), master.getDetectionDate(), insProduct.getId()));
- }
- }
- }
- }
- //缁欐俯搴﹀惊鐜殑妫�楠岄」鐩粦瀹氳澶�
- InsProduct product = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
- if (ObjectUtils.isEmpty(product)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅璇ユ牱鍝佺殑鐩稿叧娓╁害寰幆妫�楠岄」鐩�");
- }
- InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
- if (ObjectUtils.isEmpty(insProductResult)) {
- insProductResult = new InsProductResult();
- insProductResult.setInsProductId(product.getId());
- }
- if (ObjectUtils.isEmpty(insProductResult.getEquipValue())) {
- List<Map<String, Object>> dv = new ArrayList<>();
- Map<String, Object> map4 = new HashMap<>();
- map4.put("v", "JCZX-TX-TT02006");
- dv.add(map4);
- Map<String, Object> map5 = new HashMap<>();
- map5.put("v", "JCZX-TX-TT02001");
- dv.add(map5);
- insProductResult.setEquipValue(JSON.toJSONString(dv));
- List<Map<String, Object>> dn = new ArrayList<>();
- Map<String, Object> map6 = new HashMap<>();
- map6.put("v", "姝ュ叆寮忛珮浣庢俯婀跨儹璇曢獙绠�");
- dn.add(map6);
- Map<String, Object> map7 = new HashMap<>();
- map7.put("v", "姝ュ叆寮忛珮浣庢俯璇曢獙绠�");
- dn.add(map7);
- insProductResult.setEquipName(JSON.toJSONString(dn));
- if (BeanUtil.isEmpty(insProductResult.getId())) {
- insProductResult.setCreateUser(userId);
- insProductResult.setUpdateUser(userId);
- insProductResultMapper.insert(insProductResult);
- } else {
- insProductResult.setUpdateUser(userId);
- insProductResult.setUpdateTime(LocalDateTime.now());
- insProductResultMapper.updateById(insProductResult);
- }
- }
- }
- //鏌ユ壘鏍峰搧涓嬭娆℃暟鐨勬俯搴︾殑椤圭洰
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getState, 1)
- .isNotNull(InsProduct::getSpecialItemParentId)
- .isNotNull(InsProduct::getInspectionItemClass));
- // 杩囨护鍑哄綋鍓嶅惊鐜鏁� 鍜� 娓╁害鐨勬楠岄」鐩�
- List<InsProduct> productList = insProducts.stream()
- .filter(item -> item.getInspectionItem().equals(pkMaster.getCycles()) &&
- item.getInspectionItemSubclass().equals(pkMaster.getTemperature()))
- .collect(Collectors.toList());
- // 宸ユ椂娣诲姞
- int count = 0;
- for(InsProduct insProduct1 : productList) {
- // 鏌ヨinsProductResult鎷垮埌insValue鐨勬湁鍊肩殑涓暟
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct1.getId()));
- if(!Objects.isNull(insProductResult)) {
- // insProductResult涓嶄负绌�,鑾峰彇鏈夊�肩殑涓暟
- insProductResult.getInsValue();
- List<Map> maps = JSONArray.parseArray(insProductResult.getInsValue(), Map.class);
- for (Map map : maps) {
- if (Strings.isNotEmpty(map.get("v").toString())) {
- count++;
- break;
- }
- }
- }
- }
- // 璇ュ崟瀛愪笅闄や簡褰撳墠娆℃暟浠ュ強娓╁害鏈夊�肩殑璁板綍
- List<InsProduct> productList1 = insProducts.stream()
- .filter(item -> !(item.getInspectionItem().equals(pkMaster.getCycles()) && item.getInspectionItemSubclass().equals(pkMaster.getTemperature())))
- .collect(Collectors.toList());
- int allValue = 0;
- for(InsProduct insProduct1 : productList1) {
- // 鏌ヨinsProductResult鎷垮埌insValue鐨勬湁鍊肩殑涓暟
- InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
- .eq(InsProductResult::getInsProductId, insProduct1.getId()));
- if(!Objects.isNull(insProductResult)) {
- // insProductResult涓嶄负绌�,鑾峰彇鏈夊�肩殑涓暟
- insProductResult.getInsValue();
- List<Map> maps = JSONArray.parseArray(insProductResult.getInsValue(), Map.class);
- for (Map map : maps) {
- if (Strings.isNotEmpty(map.get("v").toString())) {
- allValue++;
- break;
- }
- }
- }
- }
- Map<String, Boolean> map = isOvertimeAndCrossDay(userId);
- Boolean isWithinRange = map.get("isWithinRange"); // 鏄惁姝e父涓婄彮
- Boolean isCross = map.get("isCross"); // 鏄惁璺ㄥぉ
- BigDecimal manHour = BigDecimal.ZERO; // 宸ユ椂
- InsProduct insProduct = insProductMapper.selectOne(new LambdaQueryWrapper<InsProduct>().eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
- StandardProductVO workHourMap = insOrderPlanServiceImpl.getInspectWorkHourAndGroup(insProduct);
- if(ObjectUtil.isNotNull(workHourMap)){
- manHour = new BigDecimal(workHourMap.getManHour());
- }
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTime parse = DateUtil.parse(LocalDateTime.now().format(formatter));
- AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
- auxiliaryOutputWorkingHours.setInspectionItem("娓╁害寰幆"); // 妫�楠岄」鐩�
- auxiliaryOutputWorkingHours.setInspectionItemSubclass(""); // 妫�楠岄」鐩瓙绫�
- if(isWithinRange) {
- // 姝e父涓婄彮
- auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,count)); // 宸ユ椂
- auxiliaryOutputWorkingHours.setAmount(count); // 闈炲姞鐝暟閲�
- }else{
- // 鍔犵彮
- auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,count)); // 宸ユ椂
- auxiliaryOutputWorkingHours.setOvertimeAmount(count); // 闈炲姞鐝暟閲�
- }
- if(isCross) {
- String date = LocalDateTime.now().minusDays(1).toLocalDate().atStartOfDay().format(formatters);// 鍓嶄竴澶�
- auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
- }else {
- String date = LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters);// 褰撳ぉ
- auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
- }
- auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,count)); // 浜у嚭宸ユ椂
- auxiliaryOutputWorkingHours.setWeekDay(insOrderPlanServiceImpl.getWeek(LocalDateTime.now().format(formatters)));//鏄熸湡
- auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
- auxiliaryOutputWorkingHours.setCheckId(userId);//妫�娴嬩汉
- auxiliaryOutputWorkingHours.setSample(insSample.getSampleCode());//鏍峰搧缂栧彿
- auxiliaryOutputWorkingHours.setManHourGroup(workHourMap.getManHourGroup());//宸ユ椂鍒嗙粍
- // 鏌ヨ闇�瑕佹搷浣滅殑鏃ユ湡鏄惁鏈夎褰�
- List<AuxiliaryOutputWorkingHours> oldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
- .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
- .and(i->i.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
- .or()
- .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode()))
- .eq(AuxiliaryOutputWorkingHours::getDateTime, auxiliaryOutputWorkingHours.getDateTime())
- );
- // 鎵�鏈夌殑璁板綍锛堝叾浠栧ぉ + 褰撳墠澶╋級
- List<AuxiliaryOutputWorkingHours> addOldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
- .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
- .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
- .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
- .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
- .and(i->i.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
- .or()
- .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode()))
- );
- if(CollectionUtils.isEmpty(oldRecords)){
- // 鏂板涔熻鏌ョ湅鏄惁鏈夋墍鏈夌殑璁板綍
- if(Objects.isNull(addOldRecords)) {
- // 鍏朵粬澶╀篃娌℃湁璁板綍
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
- }else{
- // 鎵�鏈夌殑璁板綍
- int otherDayAmount = 0; // 鎵�鏈夌殑鏁伴噺
- for(AuxiliaryOutputWorkingHours a : addOldRecords) {
- otherDayAmount += (Objects.isNull(a.getAmount()) ? 0 : a.getAmount()) + (Objects.isNull(a.getOvertimeAmount()) ? 0 : a.getOvertimeAmount());
- }
- if(isWithinRange) {
- // 姝e父涓婄彮
-
- auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
- auxiliaryOutputWorkingHours.setAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
- }else {
- // 鍔犵彮
- auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
- auxiliaryOutputWorkingHours.setOvertimeAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
- }
- auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 浜у嚭宸ユ椂
- auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
- }
- }else {
- // 涓嶄负绌�
- Integer oldAmount = 0; // 宸ユ椂娣诲姞鐨勪釜鏁�
- for(AuxiliaryOutputWorkingHours a : addOldRecords) {
- oldAmount += (Objects.isNull(a.getAmount()) ? 0 : a.getAmount()) + (Objects.isNull(a.getOvertimeAmount()) ? 0 : a.getOvertimeAmount());
- }
- if(count > (oldAmount - allValue)){
- // 鏌ユ壘鍑烘棩鏈熶负寰楀埌鏃ユ湡鐨勮褰�
- List<AuxiliaryOutputWorkingHours> collect = oldRecords.stream().filter(item -> item.getDateTime().equals(auxiliaryOutputWorkingHours.getDateTime())).collect(Collectors.toList());
- if(CollectionUtils.isNotEmpty(collect)){
- // 鏈夌殑璇濆氨鏄洿鏂版搷浣�
- AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours1 = collect.get(0);
- if(isWithinRange) {
- // 姝e父涓婄彮
- // 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
- int num = Objects.isNull(auxiliaryOutputWorkingHours1.getAmount()) ? 0 :auxiliaryOutputWorkingHours1.getAmount(); // 鍘熸湰鐨勬暟閲�
- auxiliaryOutputWorkingHours1.setAmount(count - oldAmount + num + allValue); // 闈炲姞鐝暟閲�
- auxiliaryOutputWorkingHours1.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
- auxiliaryOutputWorkingHours1.setWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
- auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getAmount()) +
- (Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getOvertimeWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
- }else{
- // 鍔犵彮
- // 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
- int num = Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeAmount()) ? 0 :auxiliaryOutputWorkingHours1.getOvertimeAmount(); // 鍘熸湰鐨勬暟閲�
- auxiliaryOutputWorkingHours1.setOvertimeAmount(count - oldAmount + num + allValue);// 鍔犵彮鏁伴噺
- auxiliaryOutputWorkingHours1.setOvertimeOrderNo(insOrder.getEntrustCode()); // 鍔犵彮濮旀墭鍗曞彿
- auxiliaryOutputWorkingHours1.setOvertimeWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
- auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getOvertimeAmount()) +
- (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
- }
- auxiliaryOutputWorkingHoursMapper.updateById(auxiliaryOutputWorkingHours1);
- }
- }
- }
-
-
-
- return 0;
- }
-
- //娓╁害寰幆鏁伴噰鎬讳綋
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int temDataAcquisition2(PkMaster pkMaster) {
- //鏌ヨ鍑烘墍鏈夊惊鐜鏁板拰娓╁害,鐒跺悗寰幆璋冪敤temDataAcquisition鎺ュ彛
- //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
- InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
- if (ObjectUtils.isEmpty(insOrder)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode());
- }
- //鏌ヨ瀵瑰簲妫�楠屾牱鍝乮d
- InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
- .eq(InsSample::getInsOrderId, insOrder.getId())
- .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
- .eq(InsSample::getModel, pkMaster.getModel()));
- if (ObjectUtils.isEmpty(insSample)) {
- throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
- }
- //鏌ユ壘鏍峰搧涓嬫墍鏈夋俯搴﹀惊鐜殑椤圭洰
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getState, 1)
- .isNotNull(InsProduct::getSpecialItemParentId)
- .isNotNull(InsProduct::getInspectionItemClass));
- //杩囨护鍑烘墍鏈夊惊鐜鏁板拰娓╁害
- List<String> collect1 = insProducts.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.toList());
- List<String> collect2 = insProducts.stream().map(InsProduct::getInspectionItemSubclass).distinct().collect(Collectors.toList());
- for (String s : collect1) {
- for (String s1 : collect2) {
- PkMaster master = new PkMaster();
- master.setEntrustCode(pkMaster.getEntrustCode());
- master.setSampleCode(pkMaster.getSampleCode());
- master.setModel(pkMaster.getModel());
- master.setCycles(s);
- master.setTemperature(s1);
- temDataAcquisition(master);
- }
- }
- return 0;
- }
-
- /**
- * 鏄惁鍔犵彮銆佽法澶�
- */
- public Map<String,Boolean> isOvertimeAndCrossDay(Integer userId){
- Map<String, Boolean> map = new HashMap<>();
- Boolean isWithinRange = true;
- Boolean isCross = false; // 鏄惁灏嗗綋鍓嶆楠屽崟瀛愮殑宸ユ椂璁$畻鍒扮彮娆″紑濮嬪ぉ
- LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
- PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
- .eq(PerformanceShift::getUserId, userId)
- .eq(PerformanceShift::getWorkTime, today));
- if (ObjectUtils.isNotEmpty(performanceShift)) {
- ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
- if (ObjectUtils.isNotEmpty(shiftTime)) {
- DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
- LocalTime now = LocalTime.now();
- LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
- LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
- // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
-
- // 濡傛灉褰撳墠鏃堕棿涓嶅湪浠婂ぉ鐨勭彮娆″唴 17:00~5.00 15.00 棣栧厛鍒ゆ柇鏄惁璺ㄥぉ浜�
- // 璺ㄥぉ鐨勬儏鍐�
- if (startTime.isAfter(endTime)) {
- // 鏌ョ湅褰撳墠鏃堕棿鏄惁鍦ㄧ彮娆℃椂闂村唴
- if (now.isAfter(startTime)) {
- // 濡傛灉鏄湪缁撴潫鏃堕棿涔嬪悗閭d箞灏辨槸姝e父涓婄彮
- isWithinRange = true;
- isCross = false;
- } else {
- // 褰撳墠鏃堕棿涓嶅湪鐝鍐咃紝鏌ョ湅鏄ㄥぉ鐨勭彮娆�
- LocalDateTime yesterday = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIDNIGHT);
- PerformanceShift yesterdayShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
- .eq(PerformanceShift::getUserId, userId)
- .eq(PerformanceShift::getWorkTime, yesterday));
- ShiftTime yesterdayShiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, yesterdayShift.getShift()));
- // 濡傛灉鏄ㄥぉ鐨勭彮娆′笉涓虹┖锛岄偅涔堝氨瑕佺湅鏄ㄥぉ鐨勭彮娆℃椂闂�
- if (!Objects.isNull(yesterdayShiftTime)) {
- LocalTime yesterdayStartTime = LocalTime.parse(yesterdayShiftTime.getStartTime(), forma);
- LocalTime yesterdayEndTime = LocalTime.parse(yesterdayShiftTime.getEndTime(), forma);
- // 鏄ㄥぉ鐨勭彮娆℃槸鍚﹁法澶�
- if (yesterdayStartTime.isAfter(yesterdayEndTime)) {
- // 濡傛灉鏄ㄥぉ鐨勭彮娆¤法澶╀簡锛岄偅涔堝氨瑕佺湅浠婂ぉ鏄惁鍦ㄦ槰澶╃殑鐝鍐咃紝骞朵笖鍙兘鏄湪缁撴潫鏃堕棿涔嬪墠锛屽凡缁忓疄鐜颁簡璺ㄥぉ
- if (now.isBefore(yesterdayEndTime)) {
- // 鍦ㄦ槰澶╃彮娆℃椂闂村唴姝e父涓婄彮锛屽伐鏃惰绠楀埌鏄ㄥぉ
- isWithinRange = true;
- isCross = true;
- } else {
- // 涓嶅湪鏄ㄥぉ鐝鏃堕棿鍐呭氨鏄姞鐝紝宸ユ椂璁$畻鍒版槰澶�
- isWithinRange = false;
- isCross = true;
- }
- } else {
- // 鏄ㄥぉ鐨勭彮娆℃病鏈夎法澶� 濡傛灉褰撳墠鏃堕棿鍦ㄤ粖澶╃彮娆″紑濮嬫椂闂翠箣鍓嶅氨鏄槰澶╃殑鍔犵彮锛屽惁鍒欏氨鏄粖澶╃殑鍔犵彮
- if (now.isBefore(startTime)) {
- isWithinRange = false;
- isCross = true;
- } else {
- isWithinRange = false;
- isCross = false;
- }
- }
- } else {
- isWithinRange = false;
- // 濡傛灉鏄湪寮�濮嬫椂闂翠箣鍓嶉偅涔堝氨瑕佺畻鍒版槰澶�
- if (now.isBefore(startTime)) {
- isCross = true;
- } else {
- isCross = false;
- }
- }
- }
- } else {
- // 褰撳墠鐝涓嶈法澶╃殑鎯呭喌涓�
- // 濡傛灉褰撳墠鏃堕棿鍦ㄥ紑濮嬫椂闂翠箣鍓嶏紝鏌ユ槰澶╃殑鐝鐪嬪綋鍓嶆椂闂存槸鍚﹀湪鏄ㄥぉ鐨勭彮娆″唴
- if (now.isBefore(startTime)) {
- // 鏌ョ湅鏄ㄥぉ鏄惁璺ㄥぉ
- LocalDateTime yesterday = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIDNIGHT);
- PerformanceShift yesterdayShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
- .eq(PerformanceShift::getUserId, userId)
- .eq(PerformanceShift::getWorkTime, yesterday));
- ShiftTime yesterdayShiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, yesterdayShift.getShift()));
- LocalTime yesterdayStartTime = LocalTime.parse(yesterdayShiftTime.getStartTime(), forma);
- LocalTime yesterdayEndTime = LocalTime.parse(yesterdayShiftTime.getEndTime(), forma);
- if (yesterdayStartTime.isAfter(yesterdayEndTime)) {
- // 濡傛灉鏄ㄥぉ璺ㄥぉ
- if (now.isBefore(yesterdayEndTime)) {
- // 鍦ㄦ槰澶╃殑鐝鏃堕棿鍐呮甯镐笂鐝紝宸ユ椂璁$畻鍒版槰澶�
- isWithinRange = true;
- isCross = true;
- } else {
- // 涓嶅湪鏄ㄥぉ鐝鏃堕棿鍐呭氨鏄姞鐝紝宸ユ椂璁$畻鍒版槰澶�
- isWithinRange = false;
- isCross = true;
- }
- } else {
- // 鏄ㄥぉ涓嶈法澶�
- isWithinRange = false;
- isCross = true;
- }
- } else if (now.isAfter(endTime)) {
- // 濡傛灉褰撳墠鏃堕棿鍦ㄧ粨鏉熸椂闂翠箣鍚庯紝閭d箞灏辨槸浠婂ぉ鐨勫姞鐝�
- isWithinRange = false;
- isCross = false;
- } else {
- // 姝e父涓婄彮
- isWithinRange = true;
- isCross = false;
- }
- }
- }
- }
- map.put("isWithinRange",isWithinRange);
- map.put("isCross",isCross);
- return map;
- }
-
- /**
- * 绮惧害闂
- */
- public double accuracy(BigDecimal manHour, int count){
- return manHour.multiply(BigDecimal.valueOf(count)).setScale(4, RoundingMode.HALF_UP).doubleValue();
- }
-
-}
-
-
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
deleted file mode 100644
index af8034e..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.ProcurementSuppliesConsumablesMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
-import com.ruoyi.requier.service.ProcurementSuppliesConsumablesService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-@Service
-@AllArgsConstructor
-public class ProcurementSuppliesConsumablesServiceImpl extends ServiceImpl<ProcurementSuppliesConsumablesMapper, ProcurementSuppliesConsumables>
- implements ProcurementSuppliesConsumablesService {
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java
deleted file mode 100644
index 25f6d14..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.requier.mapper.ProcurementSuppliesContentsMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesContents;
-import com.ruoyi.requier.service.ProcurementSuppliesContentsService;
-import com.ruoyi.system.mapper.UserMapper;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@Service
-@AllArgsConstructor
-public class ProcurementSuppliesContentsServiceImpl extends ServiceImpl<ProcurementSuppliesContentsMapper, ProcurementSuppliesContents>
- implements ProcurementSuppliesContentsService {
-
- private UserMapper userMapper;
-
- @Override
- public List<ProcurementSuppliesContents> directoryListing() {
- ArrayList<ProcurementSuppliesContents> list = new ArrayList<>();
- // 鏌ュ嚭涓�绾х洰褰�
- List<ProcurementSuppliesContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
- .isNull(ProcurementSuppliesContents::getParentId));
-
- // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
- List<ProcurementSuppliesContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
- .isNotNull(ProcurementSuppliesContents::getParentId));
- if(firstLevel.size() > 0){
- Map<Integer, List<ProcurementSuppliesContents>> collect = seconds.stream()
- .collect(Collectors.groupingBy(ProcurementSuppliesContents::getParentId));
- // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
- for (int i = 0; i < firstLevel.size(); i++) {
- recursion(firstLevel.get(i),collect);
- list.add(firstLevel.get(i));
- }
- }
- return list;
- }
-
- // 閫掑綊璧嬪�糲hildren
- public ProcurementSuppliesContents recursion(ProcurementSuppliesContents firstLevel, Map<Integer, List<ProcurementSuppliesContents>> collect) {
- // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
- if(collect.containsKey(firstLevel.getId())) {
- List<ProcurementSuppliesContents> procurementSupplies = collect.get(firstLevel.getId());
- firstLevel.setChildren(procurementSupplies);
- for (int i = 0; i < procurementSupplies.size(); i++) {
- recursion(procurementSupplies.get(i),collect);
- }
- }
- return firstLevel;
- }
-
- @Override
- public List<Map<String, Object>> getNodeNames() {
- List<ProcurementSuppliesContents> procurementSuppliesContents = baseMapper.selectList(null);
- List<Map<String, Object>> collect = new ArrayList<>();
- if(procurementSuppliesContents.size() > 0) {
- collect = procurementSuppliesContents.stream().map(item -> {
- HashMap<String, Object> map = new HashMap<>();
- map.put("id", item.getId());
- map.put("nodeName", item.getNodeName());
- return map;
- }).collect(Collectors.toList());
- }
- return collect;
- }
-
- @Override
- public List<Map<String, Object>> getUserList() {
- // 1 鍋滅敤
- List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getStatus, 0));
- List<Map<String, Object>> collect = new ArrayList<>();
- if(users.size() > 0) {
- collect = users.stream().map(item -> {
- HashMap<String, Object> map = new HashMap<>();
- map.put("id", item.getId());
- map.put("nodeName", item.getName());
- return map;
- }).collect(Collectors.toList());
- }
- return collect;
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java
deleted file mode 100644
index ddb107b..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto;
-import com.ruoyi.requier.mapper.ProcurementSuppliesExpendsMapper;
-import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesExpends;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import com.ruoyi.requier.service.ProcurementSuppliesExpendsService;
-import com.ruoyi.system.mapper.UserMapper;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.util.Map;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 03:47:19
- */
-@Service
-public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl<ProcurementSuppliesExpendsMapper, ProcurementSuppliesExpends> implements ProcurementSuppliesExpendsService {
- @Resource
- private ProcurementSuppliesExpendsMapper expendsMapper;
-
- @Resource
- private ProcurementSuppliesListMapper listMapper;
-
- @Override
- public IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId) {
- IPage<ProcurementSuppliesExpendDto> list = expendsMapper.pageList(page, Wrappers.<ProcurementSuppliesExpendDto>lambdaQuery().eq(ProcurementSuppliesExpendDto::getListId, procurementSuppliesListId));
- return list;
- }
-
- @Override
- @Transactional
- public Integer addExpends(ProcurementSuppliesExpendDto expendDto) {
- ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expendDto.getListId());
-
- ProcurementSuppliesExpends expends = new ProcurementSuppliesExpends();
- BeanUtils.copyProperties(expendDto, expends);
- int userId = SecurityUtils.getUserId().intValue();
- expends.setEnterUserId(userId);
- expends.setUpdateUserId(userId);
- expends.setSpecimenName(expendDto.getSpecimenName());
- if (list.getCurrentAmount() < expendDto.getAmount()) {
- return 0;
- }
-
- list.setCurrentAmount(list.getCurrentAmount() - expendDto.getAmount());
-
- listMapper.updateById(list);
- return expendsMapper.insert(expends);
- }
-
- @Override
- @Transactional
- public Integer deleteExpends(Long id) {
- ProcurementSuppliesExpends expend = expendsMapper.selectById(id);
- ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expend.getListId());
- list.setCurrentAmount(list.getCurrentAmount() + expend.getAmount());
- int userId = SecurityUtils.getUserId().intValue();
- list.setUpdateUser(userId);
- listMapper.updateById(list);
- return expendsMapper.deleteById(id);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java
deleted file mode 100644
index c4645c7..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-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.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.requier.dto.ProcurementSuppliesListDto;
-import com.ruoyi.requier.dto.ProcurementSuppliesListEDto;
-import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper;
-import com.ruoyi.requier.mapper.SupplierManagementMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import com.ruoyi.requier.service.ProcurementSuppliesListService;
-import com.ruoyi.system.mapper.UserMapper;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 04:04:32
- */
-@Service
-public class ProcurementSuppliesListServiceImpl extends ServiceImpl<ProcurementSuppliesListMapper, ProcurementSuppliesList> implements ProcurementSuppliesListService {
- @Autowired
- private UserMapper userMapper;
-
- @Resource
- private ProcurementSuppliesListMapper procurementSuppliesListMapper;
-
- @Override
- public IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list) {
- Long contentsId = list.getContentsId();
- list.setContentsId(null);
- IPage<ProcurementSuppliesList> iPage = baseMapper.selectProcurementSuppliesList(page,contentsId, QueryWrappers.queryWrappers(list));
- IPage<ProcurementSuppliesListDto> result = new Page<>();
- List<ProcurementSuppliesListDto> dtos = new ArrayList<>();
- BeanUtils.copyProperties(iPage, result);
- for (int i = 0; i < iPage.getRecords().size(); i++) {
- ProcurementSuppliesList record = iPage.getRecords().get(i);
- ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
- BeanUtils.copyProperties(record, dto);
- if (record.getPersonInCharge() != 0) {
- User user = userMapper.selectById(record.getPersonInCharge());
- dto.setPersonInChargeName(user.getName());
- }
- if (record.getUpdateUser() != 0) {
- User updateUser = userMapper.selectById(record.getUpdateUser());
- dto.setUpdateUserName(updateUser.getName());
- }
- //鑰楁潗鍚嶇О
- dto.setSupplierName(record.getConsumablesName());
-
- dtos.add(dto);
- }
- result.setRecords(dtos);
-
- return result;
- }
-
- @Override
- public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto) {
- ProcurementSuppliesList list = new ProcurementSuppliesList();
- BeanUtils.copyProperties(dto, list);
- return baseMapper.insert(list);
- }
-
- @Override
- public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto) {
- ProcurementSuppliesList list = new ProcurementSuppliesList();
- BeanUtils.copyProperties(dto, list);
- return baseMapper.updateById(list);
- }
-
- @Override
- public void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response) {
- List<ProcurementSuppliesList> data = procurementSuppliesListMapper.selectProcurementSuppliesListByContentsId(contentsId);
- if (contentsId==0){
- data = procurementSuppliesListMapper.selectList(null);
- }
- if (data.size()==0) {
- throw new ErrorException("鏃犳暟鎹�");
- }
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- try {
- String fileName = URLEncoder.encode("鑰楁潗鍒楄〃", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- // 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍒楄〃").head(ProcurementSuppliesListEDto.class).build();
- excelWriter.write(data, writeSheet);
- // 鍏抽棴娴�
- excelWriter.finish();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- throw new ErrorException("瀵煎嚭澶辫触");
- } catch (IOException e) {
- e.printStackTrace();
- throw new ErrorException("瀵煎嚭澶辫触");
- }
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java
deleted file mode 100644
index 79d7a52..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.requier.dto.StoreDto;
-import com.ruoyi.requier.excel.StoreExcel;
-import com.ruoyi.requier.mapper.ProcurementSuppliesConsumablesMapper;
-import com.ruoyi.requier.mapper.ProcurementSuppliesStoreMapper;
-import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
-import com.ruoyi.requier.pojo.ProcurementSuppliesList;
-import com.ruoyi.requier.pojo.ProcurementSuppliesStore;
-import com.ruoyi.requier.service.ProcurementSuppliesListService;
-import com.ruoyi.requier.service.ProcurementSuppliesStoreService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-@Service
-@AllArgsConstructor
-public class ProcurementSuppliesStoreServiceImpl extends ServiceImpl<ProcurementSuppliesStoreMapper, ProcurementSuppliesStore>
- implements ProcurementSuppliesStoreService {
-
- private ProcurementSuppliesConsumablesMapper consumablesMapper;
-
- @Autowired
- private ProcurementSuppliesListService procurementSuppliesListService;
-
-
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void addStore(Map<String,Object> map) {
- ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
- procurementSuppliesStore.setRegistrant(SecurityUtils.getUserId().intValue());
- procurementSuppliesStore.setRegistrantTime(LocalDate.now());
- if (Objects.isNull(procurementSuppliesStore.getId())) {
- baseMapper.insert(procurementSuppliesStore);
- } else {
- baseMapper.updateById(procurementSuppliesStore);
- }
-
- List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
- for (ProcurementSuppliesConsumables consumables : list) {
- ProcurementSuppliesList one = procurementSuppliesListService.getOne(new QueryWrapper<ProcurementSuppliesList>().lambda()
- .eq(ProcurementSuppliesList::getConsumablesName, consumables.getConsumablesName()));
- one.setCurrentAmount(one.getCurrentAmount() + consumables.getStoreNumber());
- procurementSuppliesListService.updateById(one);
- }
- // 鐢熸垚璐у彿
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
- if(!Objects.isNull(list) && list.size() > 0) {
- for (int i = 0; i < list.size(); i++) {
- list.get(i).setStoreId(procurementSuppliesStore.getId());
- String itemNumber ="HCRK" + LocalDate.now().format(dateTimeFormatter) + String.format("%03d", i);
- list.get(i).setItemNumber(itemNumber);
- consumablesMapper.insert(list.get(i));
- }
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void updateStore(Map<String,Object> map) {
- ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
- baseMapper.updateById(procurementSuppliesStore);
- List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
- consumablesMapper.delete(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
- .eq(ProcurementSuppliesConsumables::getStoreId, procurementSuppliesStore.getId()));
- if(!Objects.isNull(list) && list.size() > 0) {
- for (int i = 0; i < list.size(); i++) {
- list.get(i).setId(null);
- list.get(i).setStoreId(procurementSuppliesStore.getId());
- consumablesMapper.insert(list.get(i));
- }
- }
- }
-
- @Override
- public void deleteStore(Integer id, Integer consumablesId) {
- consumablesMapper.deleteById(consumablesId);
- List<ProcurementSuppliesConsumables> consumables = consumablesMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
- .eq(ProcurementSuppliesConsumables::getStoreId, id));
- // 鍒ゆ柇鏄惁杩樻湁鑰楁潗 娌℃湁灏卞皢涓昏〃Store鍒犻櫎
- if(CollectionUtils.isEmpty(consumables)) {
- baseMapper.deleteById(id);
- }
- }
-
- @Override
- public IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto) {
- IPage<StoreDto> iPage = baseMapper.selectStoreList(page, QueryWrappers.queryWrappers(storeDto));
- return iPage;
- }
-
- /**
- * 瀵煎嚭excel
- * @param contentsId
- * @param response
- */
- @Override
- public void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException {
- List<StoreExcel> storeExcels = baseMapper.exportExcel(contentsId);
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- String fileName = null;
- try {
- fileName = URLEncoder.encode("鑰楁潗鍏ュ簱", "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍏ュ簱").head(StoreExcel.class).build();
- excelWriter.write(storeExcels, writeSheet);
- excelWriter.finish();
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/QrShowServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/QrShowServiceImpl.java
deleted file mode 100644
index d6a790f..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/QrShowServiceImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.basic.mapper.StructureItemParameterMapper;
-import com.ruoyi.basic.pojo.Product;
-import com.ruoyi.basic.pojo.StructureItemParameter;
-import com.ruoyi.basic.service.ProductService;
-import com.ruoyi.common.core.domain.entity.Custom;
-import com.ruoyi.inspect.mapper.InsOrderMapper;
-import com.ruoyi.inspect.mapper.InsProductMapper;
-import com.ruoyi.inspect.mapper.InsSampleMapper;
-import com.ruoyi.inspect.pojo.InsOrder;
-import com.ruoyi.inspect.pojo.InsProduct;
-import com.ruoyi.inspect.pojo.InsSample;
-import com.ruoyi.inspect.service.InsOrderService;
-import com.ruoyi.requier.mapper.DeviceMaintenanceMapper;
-import com.ruoyi.requier.mapper.DeviceMapper;
-import com.ruoyi.requier.mapper.DeviceMetricRecordMapper;
-import com.ruoyi.requier.pojo.Device;
-import com.ruoyi.requier.pojo.DeviceMaintenance;
-import com.ruoyi.requier.pojo.DeviceMetricRecord;
-import com.ruoyi.requier.service.QrShowService;
-import com.ruoyi.system.service.CustomService;
-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.*;
-import java.util.stream.Collectors;
-
-@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;
-
- @Autowired
- private InsSampleMapper insSampleMapper;
-
- @Autowired
- private InsProductMapper insProductMapper;
-
- @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":
- //鏌ヨ璁惧涓昏〃淇℃伅
- List<Device> deviceList = deviceMapper.selectList(Wrappers.<Device>lambdaQuery().eq(Device::getManagementNumber, code));
- if(deviceList.size()>1){
- throw new RuntimeException("璁惧缂栧彿"+code+"閲嶅");
- }
- Device device = deviceList.isEmpty()?null:deviceList.get(0);
- 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.getFileName());
- model.addAttribute("downloadUrl",getIp()+"img/"+calibrate.getSystemFileName());
- }
- break;
- case "sample":
- // 鏌ヨ鏍峰搧淇℃伅
- InsSample insSample = insSampleMapper.selectById(code);
- InsOrder insOrder1 = insOrderMapper.selectById(insSample.getInsOrderId());
- List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
- .eq(InsProduct::getInsSampleId, insSample.getId()));
- String collect = "";
- if(CollectionUtils.isNotEmpty(insProducts)){
-// collect = insProducts.stream().map(item -> {
-// String inspectionItem = "";
-// if (Strings.isNotEmpty(item.getInspectionItemSubclass())) {
-// inspectionItem = item.getInspectionItemSubclass();
-// } else {
-// inspectionItem = item.getInspectionItem();
-// }
-// return inspectionItem;
-// }).distinct().collect(Collectors.joining(","));
- collect = insProducts.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.joining(","));
- }
- model.addAttribute("sampleCode",insSample.getSampleCode()); // 鏍峰搧缂栧彿
- model.addAttribute("entrustCode",insOrder1.getEntrustCode()); // 濮旀墭鍗曞彿
- model.addAttribute("model",insSample.getModel()); // 瑙勬牸鍨嬪彿
- model.addAttribute("sample",insSample.getSample()); // 鏍峰搧鍚嶇О
- model.addAttribute("inspectionItem",collect); // 妫�娴嬮」鐩�
- model.addAttribute("insState",insSample.getInsState()); // 妫�娴嬬姸鎬�
- model.addAttribute("isLeave",insOrder1.getIsLeave()); // 鏄惁鐣欐牱
- }
- }
- }
-
- /**
- * 璁$畻鍚敤鏃堕暱
- * @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-require/src/main/java/com/ruoyi/requier/service/impl/ReservationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ReservationServiceImpl.java
deleted file mode 100644
index be0efb0..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/ReservationServiceImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.ruoyi.requier.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.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.requier.dto.DeviceDto;
-import com.ruoyi.requier.dto.ReservationDto;
-import com.ruoyi.requier.mapper.DeviceMapper;
-import com.ruoyi.requier.mapper.ReservationMapper;
-import com.ruoyi.requier.pojo.Reservation;
-import com.ruoyi.requier.service.DataConfigService;
-import com.ruoyi.requier.service.ReservationService;
-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 DeviceMapper deviceMapper;
-
- @Autowired
- private ReservationMapper reservationMapper;
-
- @Autowired
- private DataConfigService dataConfigService;
-
- @Override
- public ArrayList<JSONObject> 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<>();
- 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);
- }
- }
- return datas;
- }
-
-
- @Override
- public List<ReservationDto> selectReservationParameterPage(String deviceId, String reservationTime, String specificTime) {
- return reservationMapper.selectReservationParameterPage(Integer.parseInt(deviceId), reservationTime, specificTime);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java
deleted file mode 100644
index e4e505a..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.requier.dto.SupplierManagementDto;
-import com.ruoyi.requier.mapper.SupplierManagementMapper;
-import com.ruoyi.requier.pojo.SupplierManagement;
-import com.ruoyi.requier.service.SupplierManagementService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.List;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-11-15 02:46:45
- */
-@Service
-public class SupplierManagementServiceImpl extends ServiceImpl<SupplierManagementMapper, SupplierManagement> implements SupplierManagementService {
-
- @Resource
- private SupplierManagementMapper supplierManagementMapper;
-
- public SupplierManagementServiceImpl(SupplierManagementMapper supplierManagementMapper) {
- this.supplierManagementMapper = supplierManagementMapper;
- }
-
- @Override
- public List<SupplierManagement> selectSupplierManagement( SupplierManagement supplierManagement) {
- return this.list();
- }
-
- @Override
- public void exportSupplierManagement(Integer parentId, HttpServletResponse response) {
- List<SupplierManagement> data = supplierManagementMapper.selectSupplierManagementAll(parentId);
- response.setContentType("application/vnd.ms-excel");
- response.setCharacterEncoding("UTF-8");
- // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
- try {
- String fileName = URLEncoder.encode("渚涘簲鍟嗙鐞�", "UTF-8");
- response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
- // 鏂板缓ExcelWriter
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
- WriteSheet writeSheet = EasyExcel.writerSheet(0, "渚涘簲鍟嗙鐞�").head(SupplierManagementDto.class).build();
- excelWriter.write(data, writeSheet);
- // 鍏抽棴娴�
- excelWriter.finish();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- throw new RuntimeException("瀵煎嚭澶辫触");
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("瀵煎嚭澶辫触");
- }
- }
-
- @Override
- public IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement) {
- return baseMapper.selectQualifiedSupplierManagement(page, QueryWrappers.queryWrappers(supplierManagement));
- }
-
- @Override
- public List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId) {
- return this.list(new QueryWrapper<SupplierManagement>().lambda().eq(SupplierManagement::getSupplierManagementId , supplierManagementId));
- }
-
- @Override
- public List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId) {
- return supplierManagementMapper.selectSupplierManagement(parentId);
- }
-
- @Override
- public List<SupplierManagement> selectSupplierManagementAll() {
- return supplierManagementMapper.selectList(null);
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java
deleted file mode 100644
index 4ebe667..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.ruoyi.requier.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.requier.mapper.SuppliersDirectoryContentsMapper;
-import com.ruoyi.requier.pojo.SuppliersDirectoryContents;
-import com.ruoyi.requier.service.SuppliersDirectoryContentsService;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2024-12-17 06:14:51
- */
-@Service
-public class SuppliersDirectoryContentsServiceImpl extends ServiceImpl<SuppliersDirectoryContentsMapper, SuppliersDirectoryContents> implements SuppliersDirectoryContentsService {
-
- @Override
- public ArrayList<SuppliersDirectoryContents> directoryListing() {
- ArrayList<SuppliersDirectoryContents> list = new ArrayList<>();
- // 鏌ュ嚭涓�绾х洰褰�
- List<SuppliersDirectoryContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
- .isNull(SuppliersDirectoryContents::getParentId));
-
- // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
- List<SuppliersDirectoryContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
- .isNotNull(SuppliersDirectoryContents::getParentId));
- if(firstLevel.size() > 0){
- Map<Integer, List<SuppliersDirectoryContents>> collect = seconds.stream()
- .collect(Collectors.groupingBy(SuppliersDirectoryContents::getParentId));
- // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
- for (int i = 0; i < firstLevel.size(); i++) {
- recursion(firstLevel.get(i),collect);
- list.add(firstLevel.get(i));
- }
- }
- return list;
- }
-
- @Override
- public List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames() {
- List<SuppliersDirectoryContents> procurementSuppliesContents = baseMapper.selectList(null);
- List<Map<String, Object>> collect = new ArrayList<>();
- if(procurementSuppliesContents.size() > 0) {
- collect = procurementSuppliesContents.stream().map(item -> {
- HashMap<String, Object> map = new HashMap<>();
- map.put("id", item.getId());
- map.put("nodeName", item.getNodeName());
- return map;
- }).collect(Collectors.toList());
- }
- return collect;
- }
-
-
- public SuppliersDirectoryContents recursion(SuppliersDirectoryContents firstLevel, Map<Integer, List<SuppliersDirectoryContents>> collect) {
- // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
- if(collect.containsKey(firstLevel.getId())) {
- List<SuppliersDirectoryContents> procurementSupplies = collect.get(firstLevel.getId());
- firstLevel.setChildren(procurementSupplies);
- for (int i = 0; i < procurementSupplies.size(); i++) {
- recursion(procurementSupplies.get(i),collect);
- }
- }
- return firstLevel;
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/util/DataAcquisition.java b/cnas-require/src/main/java/com/ruoyi/requier/util/DataAcquisition.java
deleted file mode 100644
index 6b4a461..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/util/DataAcquisition.java
+++ /dev/null
@@ -1,792 +0,0 @@
-package com.ruoyi.requier.util;
-
-import cn.hutool.core.io.IORuntimeException;
-import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.framework.util.RedisUtil;
-import com.ruoyi.requier.pojo.DataConfig;
-import com.ruoyi.requier.pojo.Device;
-import org.apache.commons.lang3.StringUtils;
-
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.servlet.http.HttpServletRequest;
-import java.io.UnsupportedEncodingException;
-import java.math.BigDecimal;
-import java.net.URLEncoder;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-public class DataAcquisition {
-
- private static final String HTTP = "http://";
-
- private static final String GETFILE = ":9527/lims/getFile"; // 鑾峰彇鏂囦欢鎺ュ彛
-
- private static final String MOVEFILE = ":9527/lims/moveFile"; // 鏂囦欢绉诲姩鍦板潃
-
- private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑鍒嗗壊绗�
-
- public static final String frequency = "frequency";
-
- /**
- * 鏁伴噰鍏ュ彛
- *
- * @param dataConfig
- * @param device
- * @return
- */
- public static Map<String, Object> dataAcquisitionEntrance(List<DataConfig> dataConfig, Device device, String entrustCode, String sampleCode, String ip, String fiberOpticRibbon) {
- /**
- * filePath 鏂囦欢閲囬泦璺緞
- * fileExtension 鏂囦欢鍚庣紑
- * entrustCode 濮旀墭缂栧彿鏁版嵁
- * sampleCode 鏍峰搧缂栧彿鏁版嵁
- * mdbEntrustCode mdb鏂囦欢闇�瑕侊細濮旀墭缂栧彿瀛楁 涓轰粈涔堟病鏈夊幓杩欎釜mdb鍓嶇紑鍛紵鍥犱负宸茬粡缁欏鎴风殑閮ㄥ垎鐢佃剳涓婂畨瑁呬簡閲囬泦鍣紝鑰岀敤鎴蜂笉鎺ュ彈閲嶆柊瀹夎閲囬泦鍣紝鎵�浠ュ氨娌℃湁鍘婚櫎
- * mdbSampleCode mdb鏂囦欢闇�瑕侊細鏍峰搧缂栧彿瀛楁
- * fiberOpticRibbonCode 鍏夌氦甯� 瀛楁
- * fiberOpticRibbon 鍏夌氦甯︽暟鎹�
- */
- //杞箟鐗规畩绗﹀彿锛岄伩鍏嶈姹傚弬鏁扮己澶�
- try {
- sampleCode = URLEncoder.encode(sampleCode, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
- String http = HTTP + ip + GETFILE +
- "?filePath=" + device.getCollectUrl() +
- "&fileExtension=" + device.getFileType() +
- "&entrustCode=" + entrustCode +
- "&sampleCode=" + sampleCode +
- "&mdbEntrustCode=" + device.getEntrustCode() +
- "&mdbSampleCode=" + device.getSampleCode() +
- "&dbFileName=" + device.getDbFileName() +
- "&fiberOpticRibbonCode=" + device.getFiberOpticRibbon();
-
- if (Objects.nonNull(fiberOpticRibbon)) {
- http += "&fiberOpticRibbon=" + fiberOpticRibbon.replaceAll("#","%23");
- }
- String result = null;
- try {
- result = HttpUtil.get(http);
- } catch (IORuntimeException e) {
- throw new ErrorException("鎵�鍦ㄧ數鑴戞湭瀹夎鎴栨湭鍚姩锛歀IMS鏂囦欢閲囬泦鍣紒");
- }
- JSONObject jsonObject = JSON.parseObject(result);
- if (Objects.equals(jsonObject.get("code"), 1)) {
- if (ObjectUtils.isEmpty(jsonObject.get("msg"))) {
- throw new ErrorException("鏈煡璇㈠埌鏂囦欢锛佸彲鑳借璺緞锛�" + device.getCollectUrl() + "锛変笅骞舵病鏈夋墍闇�(" + device.getFileType() + ")鏂囦欢锛�");
- } else {
- throw new ErrorException(jsonObject.get("msg") + "");
- }
- } else {
- String data = jsonObject.get("data") + "";
- // 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁�
- Map<String, List<DataConfig>> userMap = dataConfig.stream()
- .peek(i -> i.setInsProductItem(
- i.getInspectionItem().equals(i.getInspectionItemSubclass()) ? i.getInspectionItem() + "," : i.getInspectionItem() + "," + i.getInspectionItemSubclass()
- ))
- .collect(Collectors.groupingBy(DataConfig::getInsProductItem));
- Map<String, Object> map;
- switch (device.getFileType()) {
- case ".docx":
- map = analysisString(data, userMap, device, entrustCode, sampleCode);
- break;
- case ".xlsx":
- map = analysisList(data, userMap, device, entrustCode, sampleCode);
- break;
- case ".txt":
- map = analysisTxt(data, userMap, device, entrustCode, sampleCode);
- break;
- case ".csv":
- map = analysisList(data, userMap, device, entrustCode, sampleCode);
- break;
- case ".mdb":
- map = analysisMdb(data, userMap, device);
- break;
- case ".db":
- map = analysisDb(data, userMap, device);
- break;
- case ".png":
- map = readPngString(data, userMap, device);
- break;
- default:
- map = null;
- break;
- }
- // 濡傛灉瀛樺湪瀛樺偍鍦板潃锛屽垯绉诲姩鍦板潃
- if (ObjectUtils.isNotEmpty(device.getStorageUrl())) {
- String s = HTTP + ip + MOVEFILE + "?startFilePath=" + device.getCollectUrl() + "&endFilePath=" + device.getStorageUrl() + "&fileType=" + device.getFileType();
- HttpUtil.get(s);
- }
- return map;
- }
- }
-
- public static Map<String, Object> createFrequency(String entrustCode, String sampleCode,String fiberOpticRibbon, Map<String, Object> map) {
- HashSet<String> set = new HashSet<>();
- map.forEach((key, value) -> {
- String[] split = key.split(",");
- String inspectionItem = split[0];
- System.out.println(value);
- // 鍙鏈変竴涓笉涓虹┖灏眘et杩涘幓
- Map map1 = JSONObject.parseObject(JSONObject.toJSONString(value), Map.class);
- if (ObjectUtils.isNotEmpty(value) && ObjectUtils.isNotEmpty(map1.get("result"))) {
- set.add(inspectionItem);
- }
- });
- Map<String, Object> result = new HashMap<>();
- for (String inspectionItemKey : set) {
- Map<String, Object> hashMap = new HashMap<>();
- map.forEach((key, value) -> {
- String[] split = key.split(",");
- String inspectionItem = split[0];
- if (inspectionItemKey.equals(inspectionItem)) {
- if (split.length > 1) {
- hashMap.put(split[1], value);
- } else {
- hashMap.put(split[0], value);
- }
- }
- });
- String frequency = createKey(entrustCode, sampleCode,fiberOpticRibbon, inspectionItemKey);
- hashMap.put("frequency", frequency);
- result.put(inspectionItemKey, hashMap);
- }
- return result;
- }
-
- public static String createKey(String entrustCode, String sampleCode,String fiberOpticRibbon, String inspectionItemKey) {
- String key = frequency + ":" + entrustCode + ":" + sampleCode + ":" + inspectionItemKey;
- if(StringUtils.isNotBlank(fiberOpticRibbon)){
- key = frequency + ":" + entrustCode + ":" + sampleCode + ":" + fiberOpticRibbon + ":" + inspectionItemKey;
- }
- boolean b = RedisUtil.hasKey(key);
- String frequencyValue;
- if (b) {
- long incr = RedisUtil.incr(key, 1);
- frequencyValue = String.valueOf(incr);
- } else {
- RedisUtil.set(key, 1);
- frequencyValue = "1";
- }
- return frequencyValue;
- }
-
- /**
- * 闇�瑕侀�氳繃X,Y杞村畾浣�
- *
- * @param data
- * @param dataConfig
- * @return
- */
- private static Map<String, Object> analysisDb(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
- JSONObject jsonObject = JSON.parseObject(data);
- Map<String, Object> map = new HashMap<>();
- if (jsonObject.isEmpty()) {
- return map;
- }
- JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
- dataConfig.forEach((k, v) -> {
- AtomicInteger numberOfDataEntries = new AtomicInteger();
- List<Object> list = new ArrayList<>();
- for (int config = 0; config < v.size(); config++) {
- String refery = getRefer(v.get(config).getRefery());
- for (int i = 0; i < dataList.size(); i++) {
- JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
- Object o = jsonObject1.get(refery);
- if (ObjectUtils.isNotEmpty(o)) {
- numberOfDataEntries.addAndGet(1);
- list.add(o);
- }
- }
- }
- // 鎷兼帴鏁伴噰閰嶇疆
- List<Object> result = new ArrayList<>();
- for (int i = 0; i < numberOfDataEntries.get(); i++) {
- String aggregate = "";
- for (int j = 0; j < v.size(); j++) {
- int index;
- if (j == 0) {
- index = i;
- } else {
- index = numberOfDataEntries.get() + i;
- }
- aggregate += list.get(index).toString() + ",";
- }
- int lastIndex = aggregate.lastIndexOf(",");
- String substring = aggregate.substring(0, lastIndex);
- result.add(substring);
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(result, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- /**
- * @param data
- * @param dataConfig
- * @return
- */
- private static Map<String, Object> analysisMdb(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
- JSONObject jsonObject = JSON.parseObject(data);
- Map<String, Object> map = new HashMap<>();
- if (jsonObject.isEmpty()) {
- return map;
- }
- JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
- dataConfig.forEach((k, v) -> {
- AtomicInteger numberOfDataEntries = new AtomicInteger();
- List<Object> list = new ArrayList<>();
- for (int config = 0; config < v.size(); config++) {
- String refery = getRefer(v.get(config).getRefery());
- for (int i = 0; i < dataList.size(); i++) {
- JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
- Object o = jsonObject1.get(refery);
- if (ObjectUtils.isNotEmpty(o)) {
- numberOfDataEntries.addAndGet(1);
- list.add(o);
- }
- }
- }
- // 鎷兼帴鏁伴噰閰嶇疆
- List<Object> result = new ArrayList<>();
- for (int i = 0; i < numberOfDataEntries.get(); i++) {
- String aggregate = "";
- for (int j = 0; j < v.size(); j++) {
- int index;
- if (j == 0) {
- index = i;
- } else {
- index = numberOfDataEntries.get() + i;
- }
- aggregate += list.get(index).toString() + ",";
- }
- int lastIndex = aggregate.lastIndexOf(",");
- String substring = aggregate.substring(0, lastIndex);
- result.add(substring);
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(result, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- private static Pattern SPATTERN = Pattern.compile("([-+])?\\d+(\\.\\d+)?");
-
- /**
- * 鍙渶X杞�
- *
- * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
- * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
- * @return
- */
- private static Map<String, Object> readPngString(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
- Map<String, Object> map = new HashMap<>();
- dataConfig.forEach((k, v) -> {
- List<Object> list = new ArrayList<>();
- for (int config = 0; config < v.size(); config++) {
- String referx = getRefer(v.get(config).getReferx());
- String result = null;
- // 閫氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
- String[] aColumnY = data.split("\n");
- List<String> list1 = new ArrayList<>();
- // 璇ュ惊鐜緱鍑虹敤鎴烽厤缃殑y杞�
- for (int i = 0; i < aColumnY.length; i++) {
- String addDataWithSpaces = referx.replaceAll("", " ");
- int x = getXOrY(v.get(config).getX(), k, "X");
- if (aColumnY[i].contains(addDataWithSpaces)) {
- Matcher matcher = SPATTERN.matcher(aColumnY[i]);
- while (matcher.find()) {
- String group = matcher.group();
- list1.add(group);
- }
- }
- if (ObjectUtils.isNotEmpty(list1)) {
- result = list1.get(x);
- }
- }
- if (ObjectUtils.isNotEmpty(result)) {
- list.add(result);
- }
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(list, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- /**
- * 浠庢枃浠朵腑鎻愬彇鍑烘潵鐨勬枃瀛楋紝濡傛灉鏈夊叕寮忥紝杩涜鍏紡璁$畻锛屽惁鍒欏彇鍒楄〃绗竴涓��
- *
- * @param list 鎻愬彇鍑虹殑鏁板瓧
- * @param dataConfig 瀛樺偍鍏紡鐨勫璞�
- * @return
- */
- private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
- if (list.size() == 0) {
- Map<String, Object> hashMap = new HashMap<>();
- hashMap.put("equipName", device.getDeviceName());
- hashMap.put("equipValue", device.getManagementNumber());
- hashMap.put("result", null);
- return hashMap;
- }
- ArrayList<Object> listResult = new ArrayList<>();
- Map<String, Object> hashMap = new HashMap<>();
- // 濡傛灉涓嶄负绌猴紝杩涜鍏紡璁$畻
- if (ObjectUtils.isNotEmpty(dataConfig.getFormula())) {
- // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹�
- if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
- String s = calculationFormulaList(list, dataConfig.getFormula());
- listResult.add(s);
- } else {
- list.forEach(i -> {
- List<Object> strings = Arrays.asList(i.toString().split(","));
- String s = calculationFormulaList(strings, dataConfig.getFormula());
- listResult.add(s);
- });
- }
- } else {
- listResult.addAll(list);
- }
- // 涓轰簡缁欏墠绔仛鏁版嵁鍖哄垎
- if (listResult.size() > 1) {
- hashMap.put("result", listResult);
- } else {
- hashMap.put("result", listResult.get(0).toString());
- }
- hashMap.put("equipName", device.getDeviceName());
- hashMap.put("equipValue", device.getManagementNumber());
- return hashMap;
- }
-
- /**
- * 瑙f瀽String鏁版嵁
- *
- * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
- * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
- * @return
- */
- private static Map<String, Object> analysisTxt(String data, Map<String, List<DataConfig>> dataConfig,
- Device device, String entrustCode, String sampleCode) {
- Map<String, Object> map = new HashMap<>();
- dataConfig.forEach((k, v) -> {
- List<Object> list = new ArrayList<>();
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
- if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
- list = analyzeData(data, v, k, ",");
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
- } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
- list = analyzeDataEntrustCodAndSampleCode(data, v, k, ",", device, entrustCode, sampleCode);
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(list, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- /**
- * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
- * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
- * @return
- */
- private static Map<String, Object> analysisString(String data, Map<String, List<DataConfig>> dataConfig, Device device,
- String entrustCode, String sampleCode) {
- String processingDataAfterSpaces = data
- .replaceAll(" +", splitIdentifier)
- .replaceAll("\r", "")
- .replaceAll(" ", "");
- Map<String, Object> map = new HashMap<>();
- dataConfig.forEach((k, v) -> {
- List<Object> list = new ArrayList<>();
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
- if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
- list = analyzeData(processingDataAfterSpaces, v, k, splitIdentifier);
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
- } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
- list = analyzeDataEntrustCodAndSampleCode(processingDataAfterSpaces, v, k, splitIdentifier, device, entrustCode, sampleCode);
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(list, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- /**
- * 鍙朮锛孻涓や釜瀹氫綅
- *
- * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
- * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
- * @return
- */
- public static Map<String, Object> analysisList(String data, Map<String, List<DataConfig>> dataConfig,
- Device device, String entrustCode, String sampleCode) {
- Map<String, Object> map = new HashMap<>();
- dataConfig.forEach((k, v) -> {
- List<Object> list = new ArrayList<>();
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
- if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
- list = analyzeData(data, v, k, splitIdentifier);
- // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
- } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
- list = analyzeDataEntrustCodAndSampleCode(data, v, k, splitIdentifier, device, entrustCode, sampleCode);
- }
- // 杩涜鍏紡璁$畻
- Object resultValue = calculationFormula(list, v.get(0), k, device);
- map.put(k, resultValue);
- });
- return map;
- }
-
- private static List<Object> analyzeDataEntrustCodAndSampleCode(String data, List<DataConfig> v, String k, String splitIdentifier,
- Device device, String entrustCodeValue, String sampleCodeValue) {
- entrustCodeValue = entrustCodeValue.replaceAll(" ", "");
- sampleCodeValue = sampleCodeValue.replaceAll(" ", "");
- // 鏈�缁堢粨鏋�
- List<Object> list = new ArrayList<>();
- int numberOfDataEntries = 0;
- // 鍙杄ntrustCode涓巗ampleCode鎵�鍦ㄤ綅
- for (int config = 0; config < v.size(); config++) {
- numberOfDataEntries = 0;
- Integer entrustCodeY = null;
- Integer sampleCodeY = null;
- Integer referYCoordinate = null;
- String refery = getRefer(v.get(config).getRefery());
- String entrustCode = getRefer(device.getEntrustCode()); // 濮旀墭缂栧彿瀛楁
- String sampleCode = getRefer(device.getSampleCode()); // 鏍峰搧缂栧彿瀛楁
- if (ObjectUtils.isEmpty(refery)) {
- continue;
- }
- // 鍘婚櫎鎵�鏈夌殑绌烘牸锛岄�氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
- String[] aColumnY = data.replaceAll(" ", "").split("\n");
- for (int i = 0; i < aColumnY.length; i++) {
- // 濡傛灉閫氳繃鍒ゆ柇锛屽畾浣嶅埌Y杞�
- if (aColumnY[i].contains(entrustCode) && aColumnY[i].contains(sampleCode)) {
- String[] aLine = aColumnY[i].split(splitIdentifier);
- for (int j = 0; j < aLine.length; j++) {
- if (aLine[j].contains(entrustCode)) {
- entrustCodeY = j;
- }
- if (aLine[j].contains(sampleCode)) {
- sampleCodeY = j;
- }
- if (aLine[j].contains(refery)) {
- referYCoordinate = j;
- }
- }
- }
- if (ObjectUtils.isNotEmpty(entrustCodeY) && ObjectUtils.isNotEmpty(sampleCodeY) && ObjectUtils.isNotEmpty(referYCoordinate)) {
- String[] aLine = aColumnY[i].split(splitIdentifier);
- try {
- if (aLine[entrustCodeY].contains(entrustCodeValue) && aLine[sampleCodeY].contains(sampleCodeValue)) {
- String result = aLine[referYCoordinate];
- // 闃叉璁$畻鍏紡鐨勬椂鍊欏嚭鐜帮細[null] 杩欑鏁版嵁
- if (ObjectUtils.isNotEmpty(result)) {
- numberOfDataEntries += 1;
- list.add(result);
- }
- }
- } catch (Exception e) {
- }
- }
- }
- }
- // 鎷兼帴鏁伴噰閰嶇疆
- List<Object> result = new ArrayList<>();
- for (int i = 0; i < numberOfDataEntries; i++) {
- String aggregate = "";
- for (int j = 0; j < v.size(); j++) {
- int index;
- if (j == 0) {
- index = i;
- } else {
- index = numberOfDataEntries + i;
- }
- aggregate += list.get(index).toString() + ",";
- }
- int lastIndex = aggregate.lastIndexOf(",");
- String substring = aggregate.substring(0, lastIndex);
- result.add(substring);
- }
- return result;
- }
-
- // 鐢变簬鍦ㄦ柟娉曚腑浼氬ぇ閲忕殑鍒ゆ柇锛屾墍浠ュ仛涓�涓柟娉�
- private static int getXOrY(String value, String k, String tips) {
- try {
- return Integer.parseInt(value);
- } catch (NumberFormatException e) {
- throw new ErrorException(k + "锛氭湭閰嶇疆" + tips + "鍧愭爣杞寸殑鍊硷紒");
- }
- }
-
- // 闃叉鍙傜収鐗╀负绌烘姤閿欙紝杩涜鍒ゆ柇濡傛灉涓虹┖璧嬪�肩┖瀛楃
- private static String getRefer(String refer) {
- return ObjectUtils.isNotEmpty(refer) ? refer.replaceAll(" ", "") : "";
- }
-
- /**
- * 濮旀墭缂栧彿涓庢牱鍝佺紪鍙烽兘涓虹┖鎵ц
- *
- * @param data
- * @param v
- * @param k
- * @param split
- * @return
- */
- public static List<Object> analyzeData(String data, List<DataConfig> v, String k, String split) {
- List<Object> list = new ArrayList<>();
- for (int config = 0; config < v.size(); config++) {
- // 鍙栦袱涓敤鎴烽厤缃殑鍙傜収鐗�
- String referx = getRefer(v.get(config).getReferx());
- String refery = getRefer(v.get(config).getRefery());
- if (ObjectUtils.isEmpty(refery) && ObjectUtils.isEmpty(referx)) {
- continue;
- }
- // 鏈�缁堢粨鏋�
- String result = null;
- // 閫氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
- String[] aColumnY = data.replaceAll(" ", "").split("\n");
- Integer end = null;
- // 閲囬泦鏁版嵁锛歒杞�
- for (int i = 0; i < aColumnY.length; i++) {
- // 濡傛灉Y鍙傜収涓嶄负绌轰笌X鍙傜収涓虹┖鍒欐墽琛岋紝鍚屾椂璇ヨ鍖呭惈Y鍙傜収
- if (ObjectUtils.isNotEmpty(refery) && ObjectUtils.isEmpty(referx) && aColumnY[i].contains(refery)) {
- // 鍙朰鍧愭爣鍊�
- int y = getXOrY(v.get(config).getY(), k, "Y");
- String[] aLineX = aColumnY[i].split(split);
- for (int j = 0; j < aLineX.length; j++) {
- if (aLineX[j].contains(refery)) {
- String[] split1 = new String[0];
- try {
- split1 = aColumnY[i + y].split(split);
- } catch (Exception e) {
- throw new ErrorException(k + "锛歒杞村畾浣嶈秴鍑猴紒");
- }
- try {
- result = split1[j];
- } catch (Exception e) {
- throw new ErrorException(k + "锛歑杞村畾浣嶈秴鍑猴紒");
- }
- }
- }
- // 濡傛灉Y鍙傜収涓嶄负绌轰笌X鍙傜収涓嶄负绌哄垯鎵ц,姝ゅY瀹氬尯鍩�
- } else if (ObjectUtils.isNotEmpty(refery) && ObjectUtils.isNotEmpty(referx)) {
- // 鍙杧鐨勫�硷紝闃叉鎶ラ敊
- int x = getXOrY(v.get(config).getX(), k, "X");
- // 鍙朰鍧愭爣鍊�
- int y = getXOrY(v.get(config).getY(), k, "Y");
- // 缂撳瓨Y鐨勭粨鏉熷��
- if (ObjectUtils.isEmpty(end) && aColumnY[i].contains(refery)) {
- end = i + y;
- }
- // 鍒ゆ柇鏄惁鍦ㄥ弬鐓х墿涓鸿捣鍒帮紝Y鍧愭爣鍊间负鏈�缁堣寖鍥�
- if (ObjectUtils.isNotEmpty(end) && i <= end) {
- String[] aLineX = aColumnY[i].split(split);
- // 鍙栬鏁版嵁鐨勫崟鍏冩牸鏁版嵁
- for (int j = 0; j < aLineX.length; j++) {
- if (aLineX[j].contains(referx)) {
- try {
- result = aLineX[j + x];
- } catch (Exception e) {}
- break;
- }
- }
- }
- // 濡傛灉X鍙傜収涓嶄负绌哄悓鏃惰琛屽寘鍚玐鍙傜収锛屽垯鎵ц涓嬮潰鐨勪唬鐮�
- } else if (aColumnY[i].contains(referx) && ObjectUtils.isEmpty(refery)) {
- String[] aLineX = aColumnY[i].split(split);
- // 鍙杧鐨勫�硷紝闃叉鎶ラ敊
- int x = getXOrY(v.get(config).getX(), k, "X");
- // 鍙栬鏁版嵁鐨勫崟鍏冩牸鏁版嵁
- for (int j = 0; j < aLineX.length; j++) {
- if (aLineX[j].contains(referx)) {
- try {
- result = aLineX[j + x];
- } catch (Exception e) {}
- }
- }
- }
- }
- // 闃叉璁$畻鍏紡鐨勬椂鍊欏嚭鐜帮細[null] 杩欑鏁版嵁
- if (ObjectUtils.isNotEmpty(result)) {
- String formatProcessing = getFormatProcessing(result);
- list.add(formatProcessing);
- }
- }
- return list;
- }
-
- /**
- *
- * @param j 妯潗鏍�
- * @param x 绾靛潗鏍�
- * @param aLineX 琛屾暟鎹�
- * @param referx x鍙傜収鐗�
- * @param k 妫�楠岄」鐩�
- * @return
- */
- public static String getCellValue(int x, String[] aLineX, String referx, String k) {
- String result = null;
- for (int j = 0; j < aLineX.length; j++) {
- try {
- int xAddY = j + x;
- if (aLineX[j].contains(referx)) {
- result = aLineX[xAddY];
- }
- } catch (Exception e) {}
- }
- return result;
- }
-
- public static String getFormatProcessing(String value) {
- value = value.replaceAll("%", "");
- if (value.contains("=")) {
- String[] split = value.split("=");
- return split[split.length - 1];
- } else if (value.contains(":")) {
- String[] split = value.split(":");
- return split[split.length - 1];
- } else {
- return value;
- }
- }
-
- public static String getIp(HttpServletRequest request) {
- String ipAddress = request.getRemoteAddr();
- // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
- return ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
- }
-
- public static String calculationFormulaList(List<Object> list, String formula) {
- //棣栧厛灏唋ist杞崲涓篵igdecmic
- List<BigDecimal> bigDecimalList = list.stream()
- .map(obj -> {
- return new BigDecimal((obj).toString());
- }).collect(Collectors.toList());
-
- //灏嗕腑鏂囩殑(杞崲鑻辨枃鐨�())
- formula = formula.replace("锛�", "(")
- .replace("锛�", ")")
- .replace("锛�", ",");
- //鐒跺悗鎻愬彇鍏紡
- String strs = formula.substring(0, formula.indexOf("("));
- String upperStr = strs.toUpperCase();
- if (upperStr.matches(".*\\d.*")) {
- upperStr = "";
- }
- //鐒跺悗鑾峰彇鏈�澶栭潰鎷彿閲岄潰鐨勫��,鍐嶆牴鎹�","鍒嗗壊
- int start = formula.indexOf("(");
- int end = -1;
- int a = 0;
- for (int i = start; i < formula.length(); i++) {
- char c = formula.charAt(i);
- if (c == '(') {
- a++;
- } else if (c == ')') {
- a--;
- if (a == 0) {
- end = i;
- }
- }
- }
- if (start == -1 || end == -1) {
- throw new ErrorException("鍏紡鎷彿涓嶅尮閰�: " + formula);
- }
-
- String argumentsStr = formula.substring(start + 1, end);
- List<String> arguments = new ArrayList<>();
- int bracketCount = 0;
- StringBuilder currentArgument = new StringBuilder();
- for (char c : argumentsStr.toCharArray()) {
- if (c == ',' && bracketCount == 0) {
- arguments.add(currentArgument.toString());
- currentArgument.setLength(0);
- } else {
- if (c == '(') bracketCount++;
- if (c == ')') bracketCount--;
- currentArgument.append(c);
- }
- }
- arguments.add(currentArgument.toString());
- String[] bracketStrs = arguments.toArray(new String[0]);
- List<BigDecimal> results = new ArrayList<>();
- for (String expr : bracketStrs) {
- Pattern pattern = Pattern.compile("([A-Z])(\\d+)");
- Matcher matcher = pattern.matcher(expr);
- StringBuffer sb = new StringBuffer();
- while (matcher.find()) {
- String letter = matcher.group(1);
- int index = Integer.parseInt(matcher.group(2)) - 1; // 灏�1-based杞负0-based
- if (index < bigDecimalList.size()) {
- matcher.appendReplacement(sb, bigDecimalList.get(index).toString());
- } else {
- throw new RuntimeException("鍏紡涓殑涓嬫爣 " + index + " 瓒呭嚭鑼冨洿");
- }
- }
- matcher.appendTail(sb);
-
- // 璁$畻琛ㄨ揪寮�
- ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
- try {
- Object result = engine.eval(sb.toString());
- results.add(new BigDecimal(result.toString()));
- } catch (Exception e) {
- throw new IllegalArgumentException("鏃犳硶璁$畻鍏紡: " + sb, e);
- }
- }
- // 鏍规嵁鍑芥暟鍚嶇О杩涜鐩稿簲璁$畻
- BigDecimal finalResult;
- if (upperStr.equals("") || upperStr == null) {
- finalResult = results.get(0);
- } else {
- switch (upperStr) {
- case "MAX":
- finalResult = results.stream().max(BigDecimal::compareTo)
- .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�"));
- break;
- case "MIN":
- finalResult = results.stream().min(BigDecimal::compareTo)
- .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�"));
- break;
- case "SUM":
- finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
- break;
- case "ABS":
- finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add);
- break;
- case "AVERAGE":
- finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide)
- .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP);
- break;
- case "MEDIAN":
- int size = results.size();
- if (size % 2 == 1) {
- finalResult = results.get(size / 2);
- } else {
- BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2));
- finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
- }
- break;
- default:
- throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr);
- }
- }
-
- return finalResult.toString();
- // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹�
- }
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java
deleted file mode 100644
index 2a1e7ff..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.requier.vo;
-
-import com.ruoyi.requier.pojo.FeStandardSubstance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance;
-import com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class AcceptanceDetailsVo extends FeStandardSubstanceAcceptance {
-
- @ApiModelProperty("鐗╄川娓呭崟")
- private FeStandardSubstance substance;
-
- @ApiModelProperty("楠屾敹鍗�")
- private FeStandardSubstanceAcceptance acceptance;
-
- @ApiModelProperty("寮�绠辫褰�")
- private List<FeStandardSubstanceAcceptanceInspection> list;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java
deleted file mode 100644
index 071a374..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.requier.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-public class AcceptanceVo {
-
- @ApiModelProperty("妫�楠岃〃id")
- private Integer id;
-
- @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
- private String name;
-
- @ApiModelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ApiModelProperty("鐢熶骇鍘傚")
- private String factoryManufacturer;
-
- @ApiModelProperty("鍑哄満缂栧彿")
- private String factoryNum;
-
- @ApiModelProperty("绠$悊缂栧彿")
- private String manageNum;
-
- @ApiModelProperty("涓嶇‘瀹氬害")
- private String uncertainty;
-
- @ApiModelProperty("鏁伴噺")
- private Long quantity;
-
- @ApiModelProperty("璐疆鏃ユ湡")
- private LocalDateTime acquisitionDate;
-
- @ApiModelProperty("鏈夋晥鏈�")
- private LocalDateTime effectiveDate;
-
- @ApiModelProperty("鏂囨。缂栧彿")
- private String fileNum;
-
- @ApiModelProperty("瀛樻斁浣嶇疆")
- private String position;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/vo/OperationInstructionVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/OperationInstructionVo.java
deleted file mode 100644
index ab7a6d1..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/vo/OperationInstructionVo.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ruoyi.requier.vo;
-
-import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java b/cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java
deleted file mode 100644
index 265637c..0000000
--- a/cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.requier.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-public class SubstanceRecordVo {
-
- @ApiModelProperty("id")
- private Integer id;
-
- @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
- private String name;
-
- @ApiModelProperty("瑙勬牸鍨嬪彿")
- private String model;
-
- @ApiModelProperty("鍑哄満缂栧彿")
- private String factoryNum;
-
- @ApiModelProperty("鏁伴噺")
- private Long quantity;
-
- @ApiModelProperty("棰嗙敤浜�")
- private String borrowUser;
-
- @ApiModelProperty("鍊熷嚭鏃ユ湡")
- private LocalDateTime borrowDate;
-
- @ApiModelProperty("褰掕繕鏃ユ湡")
- private LocalDateTime returnDate;
-
- @ApiModelProperty("褰掕繕浜�")
- private String returnedPerson;
-
- @ApiModelProperty("瀹屽ソ鎬�")
- private String returnIntegrity;
-
- @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
- private String status;
-
- @ApiModelProperty("澶囨敞")
- private String remark;
-}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceBorrowController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceBorrowController.java
new file mode 100644
index 0000000..56a8677
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceBorrowController.java
@@ -0,0 +1,74 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.JackSonUtil;
+import com.ruoyi.require.pojo.DeviceBorrow;
+import com.ruoyi.require.service.DeviceBorrowService;
+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;
+
+
+ //鍒嗛〉
+ @GetMapping("/deviceBorrowPage")
+ public Result deviceBorrowPage(Page page,DeviceBorrow deviceBorrow) throws Exception {
+ 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));
+ }
+
+ //鍒犻櫎
+ @DeleteMapping("/deleteDeviceBorrow")
+ public Result deleteDeviceBorrow(Integer id) {
+ return Result.success(deviceBorrowService.removeById(id));
+ }
+
+ //瀵煎嚭
+ @GetMapping("/deviceBorrowExport")
+ public Result deviceBorrowExport(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-require/src/main/java/com/ruoyi/require/controller/DeviceController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceController.java
new file mode 100644
index 0000000..5215778
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceController.java
@@ -0,0 +1,260 @@
+package com.ruoyi.require.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.DataConfigDto;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.pojo.Device;
+import com.ruoyi.require.pojo.PkMaster;
+import com.ruoyi.require.service.DataConfigService;
+import com.ruoyi.require.service.DeviceService;
+import com.ruoyi.require.service.PkMasterService;
+import com.ruoyi.system.mapper.UserMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 璁惧(DeviceController)琛ㄦ帶鍒跺眰
+ */
+@Api(tags = "璁惧")
+@RestController
+@RequestMapping("/deviceScope")
+public class DeviceController {
+
+ @Resource
+ private UserMapper userMapper;
+ @Resource
+ private DeviceService deviceService;
+
+ @Value("${file.path}")
+ private String filePath;
+
+ @Autowired
+ private DataConfigService dataConfigService;
+
+ @Autowired
+ private PkMasterService pkMasterService;
+
+ /**
+ * 鑾峰彇浜哄憳淇℃伅
+ * @return
+ * @throws Exception
+ */
+ @GetMapping("/selectUserList")
+ public Result selectUserList() {
+ return Result.success(deviceService.selectUserList());
+ }
+
+ /**
+ * 鏍规嵁departLimsId 鑾峰彇浜哄憳 (selectUserList鍓嶇璋冪敤鎺ュ彛澶 瀹规槗鎶ラ敊)
+ */
+ @GetMapping("/selectUserListByDepartLimsId")
+ public Result selectUserListByDepartLimsId(String departLimsId) {
+ return Result.success(deviceService.selectUserListByDepartLimsId(departLimsId));
+ }
+
+
+ @ApiOperation(value = "鏌ョ湅璁惧浜岀淮鐮佹寜閽�")
+ @GetMapping("/showDeviceQrCodeButton")
+ public void showDeviceQrCodeButton() { }
+
+ //璁惧宸ュ叿鏄庣粏
+ @ApiOperation(value = "鏌ヨ璁惧璇︽儏鍒楄〃")
+ @GetMapping("/selectDeviceParameter")
+ public Result selectDeviceParameter(Page page,DeviceDto deviceDto,Boolean laboratoryNameIsNull) {
+ return Result.success(deviceService.selectDeviceParameter(page, deviceDto, laboratoryNameIsNull));
+ }
+
+ @ApiOperation(value = "娣诲姞璁惧璇︽儏鍙傛暟")
+ @PostMapping("/addDeviceParameter")
+ public Result addDeviceParameter(@RequestBody Device itemParameter) {
+ return Result.success(deviceService.addDeviceParameter(itemParameter));
+ }
+
+ @ApiOperation(value = "鍒犻櫎璁惧璇︽儏鍙傛暟")
+ @DeleteMapping("/delDeviceParameter")
+ public Result<?> delDeviceParameter(Integer id) {
+ return Result.success(deviceService.delDeviceParameter(id));
+ }
+
+ @ApiOperation(value = "淇敼璁惧璇︽儏鍙傛暟")
+ @PostMapping("/upDeviceParameter")
+ public Result<?> upDeviceParameter(@RequestBody Device itemParameter) {
+ return Result.success(deviceService.upDeviceParameter(itemParameter));
+ }
+
+ @ApiOperation(value = "鏄惁鍏佽淇敼閲囬泦鍊�")
+ @DeleteMapping("/isItAllowedToModifyTheCollectedValues")
+ public Result<?> isItAllowedToModifyTheCollectedValues() {
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鑾峰彇璁惧鎬昏")
+ @GetMapping("/selectEquipmentOverview")
+ public Result selectEquipmentOverview() {
+ return Result.success(deviceService.selectEquipmentOverview());
+ }
+
+ @ApiOperation(value = "鑾峰彇琚巿鏉冧汉")
+ @GetMapping("/authorizedPerson")
+ public Result authorizedPerson() {
+ return Result.success(deviceService.authorizedPerson());
+ }
+
+ @ApiOperation(value = "鎼滅储")
+ @GetMapping("/search")
+ public Result search(Integer status, String deviceName, String specificationModel, String largeCategory) {
+ return Result.success(deviceService.search(status, deviceName, specificationModel, largeCategory));
+ }
+
+ //鍥剧墖涓婁紶
+ @ApiOperation(value = "璁惧鍥剧墖涓婁紶")
+ @PostMapping("/uploadFile")
+ public Result uploadFile(MultipartFile file) {
+
+ System.out.println(file);
+ String urlString;
+ String pathName;
+ String filename = file.getOriginalFilename();
+ try {
+ String path = filePath;
+ File realpath = new File(path);
+ if (!realpath.exists()) {
+ realpath.mkdirs();
+ }
+ pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMdd")) + "-" + file.getOriginalFilename();
+ urlString = realpath + "/" + pathName;
+ file.transferTo(new File(urlString));
+ HashMap<String, String> map = new HashMap<>();
+ map.put("name", filename);
+ map.put("url", pathName);
+ return Result.success(map);
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("鍥剧墖涓婁紶閿欒");
+ return null;
+ }
+ }
+
+ @ApiOperation(value = "鑾峰彇璁惧璐熻矗浜�")
+ @GetMapping("/selectDevicePrincipal")
+ public Result selectDevicePrincipal() {
+ return Result.success(deviceService.selectDevicePrincipal());
+ }
+
+ @ApiOperation(value = "閫氳繃椤圭洰鑾峰彇璁惧鍒楄〃")
+ @PostMapping("/selectDeviceByCategory")
+ public Result selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory) {
+ return Result.success(deviceService.selectDeviceByCategory(inspectionItem, inspectionItemSubclass,sonLaboratory));
+ }
+
+ @ApiOperation(value = "閫氳繃璁惧缂栧彿鑾峰彇璁惧鍒楄〃")
+ @GetMapping("/selectDeviceByCode")
+ public Result<DeviceDto> selectDeviceByCode(Integer id) {
+ return Result.success(deviceService.selectDeviceByCode(id));
+ }
+
+ /**
+ *
+ * @param request 鍙栬姹備腑鐨刬p
+ * @param id 妫�楠屾牱鍝� 涓婚敭id
+ * @param entrustCode 濮旀墭缂栧彿
+ * @param sampleCode 鏍峰搧缂栧彿
+ * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
+ * @return
+ */
+ @ApiOperation("/鏁伴噰-鏁版嵁閲囬泦")
+ @GetMapping("/dataCollection")
+ public Result<?> dataAcquisition(HttpServletRequest request,
+ @RequestParam("id") Integer id,
+ @RequestParam("entrustCode") String entrustCode,
+ @RequestParam("sampleCode") String sampleCode,
+ @RequestParam(value = "fiberOpticRibbon", required = false) String fiberOpticRibbon) {
+ return deviceService.dataAcquisition(request, id, entrustCode, sampleCode, fiberOpticRibbon);
+ }
+
+ @ApiOperation(value = "鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ暟閲�")
+ @GetMapping("/determineWhetherToCollectData")
+ public Result<?> determineWhetherToCollectData(@RequestParam("managementNumber") String managementNumber, HttpServletRequest request) {
+ return deviceService.determineWhetherToCollectData(managementNumber, request);
+ }
+
+ @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆")
+ @PostMapping("/saveDataAcquisitionConfiguration")
+ public Result<?> saveDataAcquisitionConfiguration(@RequestParam(value = "deviceId") Integer deviceId, @RequestBody DataConfigDto dataConfigList) {
+ dataConfigService.saveDataAcquisitionConfiguration(deviceId, dataConfigList);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏌ヨ鏁伴噰閰嶇疆")
+ @GetMapping("/queryDataAcquisitionConfiguration")
+ public Result<?> queryDataAcquisitionConfiguration(@RequestParam("deviceId") Integer deviceId,
+ @RequestParam("isDevice") Boolean isDevice,
+ @RequestParam(value = "inspectionItem", required = false) String inspectionItem,
+ @RequestParam(value = "inspectionItemSubclass", required = false) String inspectionItemSubclass) {
+ return dataConfigService.queryDataAcquisitionConfiguration(deviceId, isDevice, inspectionItem, inspectionItemSubclass);
+ }
+
+ @ApiOperation(value = "鍒犻櫎鏁伴噰閰嶇疆")
+ @DeleteMapping("/deleteDataAcquisitionConfiguration")
+ public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("ids") String ids) {
+ List<String> split = Arrays.asList(ids.split(","));
+ List<String> collect = split.stream().distinct().collect(Collectors.toList());
+ dataConfigService.removeBatchByIds(collect);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鑿滃崟")
+ @PostMapping("/menu")
+ public Result menu() {
+ return Result.success(deviceService.menu());
+ }
+
+
+ @ApiOperation(value = "娓╁害寰幆鏁伴噰")
+ @PostMapping("/temDataAcquisition")
+ public Result<?> temDataAcquisition(@RequestBody PkMaster pkMaster) {
+ return Result.success(pkMasterService.temDataAcquisition(pkMaster));
+ }
+
+ @ApiOperation(value = "宸︿晶璁惧鏍戝舰鏍�")
+ @GetMapping("/treeDevice")
+ public Result treeDevice(String deviceName) {
+ return Result.success(deviceService.treeDevice(deviceName));
+ }
+
+
+ @ApiOperation(value = "娓╁害寰幆鏁伴噰鎬讳綋")
+ @PostMapping("/temDataAcquisition2")
+ public Result<?> temDataAcquisition2(@RequestBody PkMaster pkMaster) {
+ return Result.success(pkMasterService.temDataAcquisition2(pkMaster));
+ }
+
+ @ApiOperation(value = "鍒楄〃缁熻瀵煎嚭")
+ @PostMapping("/export")
+ public void exportData(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
+// DeviceDto deviceDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), DeviceDto.class);
+// deviceService.export(deviceDto,response);
+ }
+
+
+
+
+}
\ No newline at end of file
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultController.java
new file mode 100644
index 0000000..38ba49e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultController.java
@@ -0,0 +1,50 @@
+package com.ruoyi.require.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.pojo.DeviceFault;
+import com.ruoyi.require.service.DeviceFaultService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/deviceFaults")
+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")
+ public Result<Map<String,Object>> getDeviceFaultsByDeviceId(Integer deviceId) {
+ return Result.success(deviceFaultService.findByDeviceId(deviceId));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultOneController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultOneController.java
new file mode 100644
index 0000000..aefb775
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceFaultOneController.java
@@ -0,0 +1,82 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.require.dto.DeviceFaultOneDto;
+import com.ruoyi.require.excel.DeviceFaultOneExport;
+import com.ruoyi.require.pojo.DeviceFaultOne;
+import com.ruoyi.require.service.DeviceFaultOneService;
+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(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 = "濂栨儵璁板綍瀵煎嚭")
+ @GetMapping("exportRewardAndPunishmentRecords")
+ public void rewardPunishmentExport(@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-require/src/main/java/com/ruoyi/require/controller/DeviceMaintenanceController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMaintenanceController.java
new file mode 100644
index 0000000..5e65cdc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMaintenanceController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.require.dto.DeviceMaintenanceExport;
+import com.ruoyi.require.pojo.DeviceMaintenance;
+import com.ruoyi.require.service.DeviceMaintenanceService;
+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("/deviceMaintain")
+public class DeviceMaintenanceController {
+
+ @Autowired
+ private DeviceMaintenanceService deviceMaintenanceService;
+
+ @Autowired
+ private NumberGenerator<DeviceMaintenance> numberGenerator;
+ //澧�
+ @PostMapping("/add")
+ public Result create(@RequestBody 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(Page page, String deviceNumber,Integer deviceId){
+ return Result.success(deviceMaintenanceService.getDeviceMaintenancePage(page, deviceId, deviceNumber));
+ }
+
+ //鍒�
+ @DeleteMapping("/delete")
+ public void deleteDeviceFault(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();
+ }
+
+ /**
+ * 鍗曞厓鏍兼牱寮忕瓥鐣�
+ */
+ 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-require/src/main/java/com/ruoyi/require/controller/DeviceMetricController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricController.java
new file mode 100644
index 0000000..359724c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricController.java
@@ -0,0 +1,35 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.pojo.DeviceMetric;
+import com.ruoyi.require.service.IDeviceMetricService;
+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));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricRecordController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricRecordController.java
new file mode 100644
index 0000000..53bb787
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceMetricRecordController.java
@@ -0,0 +1,134 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.common.utils.FileSaveUtil;
+import com.ruoyi.require.dto.DeviceMetricRecordDto;
+import com.ruoyi.require.pojo.Device;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+import com.ruoyi.require.pojo.DeviceMetricsCopy;
+import com.ruoyi.require.service.DeviceMetricRecordService;
+import com.ruoyi.require.service.DeviceMetricsCopyService;
+import com.ruoyi.require.service.DeviceService;
+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;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+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;
+
+ @Autowired
+ private DeviceService deviceService;
+
+ @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 (deviceMetricRecordDto.getType().equals("calibrate")) {
+ deviceService.update(Wrappers.<Device>lambdaUpdate()
+ .set(Device::getCalibrationServices,deviceMetricRecordDto.getUnitOfMeasure())
+ .eq(Device::getId,deviceMetricRecordDto.getDeviceId()));
+ }
+ 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());
+ boolean b = deviceMetricRecordService.removeById(id);
+ // 淇敼璁惧鐨勬牎鍑嗘満鏋�
+ if (deviceMetricRecord.getType().equals("calibrate")) {
+ List<DeviceMetricRecord> list = deviceMetricRecordService.list(Wrappers.<DeviceMetricRecord>lambdaQuery()
+ .eq(DeviceMetricRecord::getType,"calibrate")
+ .eq(DeviceMetricRecord::getDeviceId, deviceMetricRecord.getDeviceId()));
+ int size = list.size();
+ // 璁剧疆璁惧涓殑鏍″噯鏈烘瀯涓轰笂娆$殑鏈烘瀯
+ deviceService.update(Wrappers.<Device>lambdaUpdate()
+ .set(Device::getCalibrationServices,size == 0 ? null : list.get(size - 1).getUnitOfMeasure())
+ .eq(Device::getId,deviceMetricRecord.getDeviceId()));
+ }
+ return Result.success(b);
+ }
+
+ @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)));
+ }
+
+ @GetMapping("/deviceMetricRecordExport")
+ public Result deviceMetricRecordExport(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type, HttpServletResponse response) throws IOException {
+ List<DeviceMetricRecord> list = deviceMetricRecordService.page(new Page<>(-1,-1), Wrappers.<DeviceMetricRecord>lambdaQuery()
+ .eq(DeviceMetricRecord::getDeviceId, deviceId)
+ .eq(DeviceMetricRecord::getType, type)).getRecords();
+ list.forEach(i -> i.setStatus(i.getStatus().equals("0yes") ? "鍚堟牸" : "涓嶅悎鏍�"));
+ response.setHeader("requestType", "excel");
+ response.setHeader("Access-Control-Expose-Headers", "requestType");
+ // 璁剧疆鍗曞厓鏍兼牱寮�
+ // 淇濆瓨鍒扮涓�涓猻heet涓�
+ EasyExcel.write(response.getOutputStream())
+ .head(DeviceMetricRecord.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet()
+ .doWrite(list);
+ return Result.success();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceRecordController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceRecordController.java
new file mode 100644
index 0000000..9ae833f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceRecordController.java
@@ -0,0 +1,71 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.require.excel.DeviceRecordExport;
+import com.ruoyi.require.pojo.DeviceRecord;
+import com.ruoyi.require.service.DeviceRecordService;
+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;
+
+/**
+ * <p>
+ * cnas璁惧浣跨敤璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-21 11:06:47
+ */
+@RestController
+@RequestMapping("/deviceRecord")
+public class DeviceRecordController {
+ @Autowired
+ private DeviceRecordService deviceRecordService;
+
+ @Autowired
+ private NumberGenerator<DeviceRecord> numberGenerator;
+
+ @GetMapping("/deviceRecordPage")
+ public Result incidentReportPages(@RequestParam("deviceId") Integer deviceId, Page page, String deviceNumber) {
+ return Result.success(deviceRecordService.deviceRecordPage(deviceId, page, deviceNumber));
+ }
+
+ @PostMapping("/saveDeviceRecord")
+ public Result saveDeviceRecords(@RequestBody DeviceRecord deviceRecord) {
+ 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, DeviceRecord::getDeviceNumber);
+ deviceRecord.setDeviceNumber(processNumber);
+ return Result.success(deviceRecordService.save(deviceRecord));
+ }
+
+ @DeleteMapping("/deleteDeviceRecord")
+ public Result deleteDeviceRecords(@RequestParam("id") Integer id) {
+ return Result.success(deviceRecordService.removeById(id));
+ }
+
+ @GetMapping("/deviceRecordExport")
+ public Result incidentReportExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws IOException {
+ List<DeviceRecordExport> list = deviceRecordService.incidentReportExport(deviceId);
+ response.setHeader("requestType", "excel");
+ response.setHeader("Access-Control-Expose-Headers", "requestType");
+ // 璁剧疆鍗曞厓鏍兼牱寮�
+ // 淇濆瓨鍒扮涓�涓猻heet涓�
+ EasyExcel.write(response.getOutputStream())
+ .head(DeviceRecordExport.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet()
+ .doWrite(list);
+ return Result.success();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceStateController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceStateController.java
new file mode 100644
index 0000000..673264a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DeviceStateController.java
@@ -0,0 +1,80 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.require.dto.DeviceStateDto;
+import com.ruoyi.require.excel.DeviceStateExport;
+import com.ruoyi.require.pojo.DeviceState;
+import com.ruoyi.require.service.DeviceStateService;
+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));
+ }
+
+ @GetMapping("/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();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/DocumentController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/DocumentController.java
new file mode 100644
index 0000000..abfd5f8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/DocumentController.java
@@ -0,0 +1,45 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.pojo.Document;
+import com.ruoyi.require.service.DocumentService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/documents")
+public class DocumentController {
+
+ @Resource
+ private DocumentService documentService;
+
+ @PostMapping("add")
+ public Result createDocument(@RequestBody Document document) {
+ documentService.save(document);
+ return Result.success("ok");
+ }
+
+ @GetMapping("/id")
+ public Document getDocumentById(Integer id) {
+ return documentService.getById(id);
+ }
+
+ @PostMapping("updateDocument")
+ public Result updateDocument(@RequestBody Document document) {
+ return Result.success(documentService.updateById(document));
+ }
+
+ @DeleteMapping("/deleteDocumentById")
+ public Result deleteDocumentById( Integer id) {
+ return Result.success(documentService.removeById(id));
+ }
+
+ @GetMapping("/getListByDId")
+ public Result getAllDocuments(Integer id) {
+ LambdaQueryWrapper<Document> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(Document::getDeviceId,id);
+ return Result.success(documentService.list(lambdaQueryWrapper));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeCalibrationScheduleController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeCalibrationScheduleController.java
new file mode 100644
index 0000000..cb22f63
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeCalibrationScheduleController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.listener.PageReadListener;
+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.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.excel.FeCalibrationScheduleExport;
+import com.ruoyi.require.pojo.FeCalibrationSchedule;
+import com.ruoyi.require.service.FeCalibrationScheduleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+@Api(tags = "閲忓�兼函婧愯鍒�")
+@RestController
+@RequestMapping("/feCalibrationSchedule")
+public class FeCalibrationScheduleController {
+
+ @Resource
+ private FeCalibrationScheduleService feCalibrationScheduleService;
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掓煡璇�")
+ @GetMapping("/getPageCalibrationSchedule")
+ public Result<IPage<FeCalibrationSchedule>> getPageCalibrationSchedule(Page page, String instrumentName, String managementNumber) {
+ IPage<FeCalibrationSchedule> ipage = feCalibrationScheduleService.page(page,instrumentName, managementNumber);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掓柊澧炵紪杈�")
+ @PostMapping("/addCalibrationSchedule")
+ public Result addCalibrationSchedule(@RequestBody FeCalibrationSchedule feCalibrationSchedule) {
+ return Result.success(feCalibrationScheduleService.saveOrUpdate(feCalibrationSchedule));
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑垹闄�")
+ @DeleteMapping("/removeCalibrationSchedule")
+ public Result removeCalibrationSchedule(Integer id) {
+ return Result.success(feCalibrationScheduleService.removeById(id));
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍑�")
+ @GetMapping("exportOfValueTraceabilityPlan")
+ public void exportOfValueTraceabilityPlan(String instrumentName, String managementNumber,
+ HttpServletResponse response) throws Exception {
+ IPage<FeCalibrationSchedule> data = feCalibrationScheduleService.page(new Page<>(-1, -1),instrumentName, managementNumber);
+ List<FeCalibrationScheduleExport> studentList = JSONObject.parseArray(JSON.toJSONString(data.getRecords()), FeCalibrationScheduleExport.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(FeCalibrationScheduleExport.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(studentList);
+ }
+
+ @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍏�")
+ @PostMapping("/importOfValueTraceabilityPlan")
+ public void importOfValueTraceabilityPlan(MultipartFile file) throws IOException {
+ if (file.isEmpty()) {
+ return;
+ }
+ EasyExcel.read(file.getInputStream(), FeCalibrationScheduleExport.class, new PageReadListener<FeCalibrationScheduleExport>(dataList -> {
+ List<FeCalibrationSchedule> studentList = JSONObject.parseArray(JSON.toJSONString(dataList), FeCalibrationSchedule.class);
+ feCalibrationScheduleService.saveOrUpdateBatch(studentList);
+ })).sheet().doRead();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java
new file mode 100644
index 0000000..f83034e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java
@@ -0,0 +1,87 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.FeIlluminationAddDto;
+import com.ruoyi.require.dto.FeIlluminationDto;
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.service.FeIlluminationDetectionAreaService;
+import com.ruoyi.require.service.FeIlluminationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@RestController
+@RequestMapping("/feIllumination")
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
+public class FeIlluminationController {
+
+ @Autowired
+ private FeIlluminationService feIlluminationService;
+
+ @Autowired
+ private FeIlluminationDetectionAreaService feIlluminationDetectionAreaService;
+
+ @PostMapping("addFeLightningProtection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏂板/淇敼")
+ public Result<?> addFeLightningProtection(@RequestBody FeIlluminationAddDto feIlluminationAddDto) {
+ FeIllumination feIllumination = new FeIllumination();
+ BeanUtils.copyProperties(feIlluminationAddDto, feIllumination);
+ feIlluminationService.saveOrUpdate(feIllumination);
+ feIlluminationAddDto.getIlluminationDetectionAreaList().forEach(i -> i.setIntensityIlluminationId(feIllumination.getIntensityIlluminationId()));
+ feIlluminationDetectionAreaService.saveOrUpdateBatch(feIlluminationAddDto.getIlluminationDetectionAreaList());
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeLightningProtection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
+ public Result<?> deleteFeLightningProtection(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
+ feIlluminationService.removeById(intensityIlluminationId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeLightningProtection")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏌ヨ")
+ public Result<IPage<FeIlluminationDto>> getFeLightningProtection(Page page) {
+ IPage<FeIlluminationDto> page1 = feIlluminationService.getFeLightningProtection(page);
+ return Result.success(page1);
+ }
+
+ @DeleteMapping("deleteFeIlluminationDetectionArea")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鍒犻櫎")
+ public Result<?> deleteFeIlluminationDetectionArea(@RequestParam("detectionAreaId") Integer detectionAreaId) {
+ return Result.success(feIlluminationDetectionAreaService.removeById(detectionAreaId));
+ }
+
+ @GetMapping("getFeIlluminationDetectionArea")
+ @ApiOperation("鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏍规嵁鐓у害璁板綍鏌ヨ")
+ public Result<?> getFeIlluminationDetectionArea(@RequestParam("intensityIlluminationId") Integer intensityIlluminationId) {
+ return Result.success(feIlluminationDetectionAreaService.list(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
+ .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId)));
+ }
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭鐓у害璁板綍")
+ @GetMapping("/exportFeIllumination")
+ public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response){
+ feIlluminationService.exportFeIllumination(intensityIlluminationId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java
new file mode 100644
index 0000000..48c0369
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java
@@ -0,0 +1,80 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.FileSaveUtil;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.pojo.FeLightningProtection;
+import com.ruoyi.require.service.FeLightningProtectionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
+@RestController
+@RequestMapping("/feLightningProtection")
+public class FeLightningProtectionController {
+
+ @Autowired
+ private FeLightningProtectionService feLightningProtectionService;
+
+ @PostMapping("addLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫柊澧�/淇敼")
+ public Result<?> addLightningProtectionDetection(FeLightningProtection feLightningProtection,
+ @RequestPart(value = "file", required = false) MultipartFile file) {
+ if (ObjectUtils.isNotEmpty(file)) {
+ String s = FileSaveUtil.StoreFile(file);
+ feLightningProtection.setSystemFileName(s);
+ feLightningProtection.setFileName(file.getOriginalFilename());
+ }
+ feLightningProtectionService.saveOrUpdate(feLightningProtection);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪垹闄�")
+ public Result<?> deleteFeLightningProtection(@RequestParam("lightningProtectionId") Integer lightningProtectionId) {
+ feLightningProtectionService.removeById(lightningProtectionId);
+ return Result.success();
+ }
+
+ @GetMapping("getLightningProtectionDetection")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫煡璇�")
+ public Result<IPage<FeLightningProtection>> getFeLightningProtection(Page page) {
+ IPage<FeLightningProtection> page1 = feLightningProtectionService.page(page);
+ return Result.success(page1);
+ }
+
+ @ApiOperation(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪鍑�")
+ @GetMapping("exportOfLightningProtectionDetection")
+ public void exportOfLightningProtectionDetection(HttpServletResponse response) throws Exception {
+ List<FeLightningProtectionExcel> ipage = feLightningProtectionService.exportOfLightningProtectionDetection();
+ 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(FeLightningProtectionExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(ipage);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java
new file mode 100644
index 0000000..cc90252
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java
@@ -0,0 +1,96 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.FePowerStableAddDto;
+import com.ruoyi.require.dto.FePowerStableDto;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.pojo.FePowerStable;
+import com.ruoyi.require.service.FeMeasuredQuantityService;
+import com.ruoyi.require.service.FePowerStableService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Api(tags = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
+@RestController
+@RequestMapping("/fePowerStable")
+public class FePowerStableController {
+
+ @Autowired
+ private FeMeasuredQuantityService feMeasuredQuantityService;
+
+ @Autowired
+ private FePowerStableService fePowerStableService;
+
+ @PostMapping("addLaboratoryFacilityPowerStable")
+ @ApiOperation("鐢垫簮绋冲畾鎬ф柊澧�/淇敼")
+ public Result<?> addLaboratoryFacilityPowerStable(@RequestBody FePowerStableAddDto fePowerStableAddDto) {
+ FePowerStable fePowerStable = new FePowerStable();
+ BeanUtils.copyProperties(fePowerStableAddDto, fePowerStable);
+ fePowerStableService.saveOrUpdate(fePowerStable);
+ fePowerStableAddDto.getFeMeasuredQuantityList().forEach(i -> i.setPowerStableId(fePowerStable.getPowerStableId()));
+ feMeasuredQuantityService.saveOrUpdateBatch(fePowerStableAddDto.getFeMeasuredQuantityList());
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteLaboratoryFacilityPowerStable")
+ @ApiOperation("鐢垫簮绋冲畾鎬у垹闄�")
+ public Result<FePowerStable> deleteLaboratoryFacilityPowerStable(@RequestParam("powerStableId") Integer powerStableId) {
+ fePowerStableService.removeById(powerStableId);
+ feMeasuredQuantityService.remove(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
+ return Result.success();
+ }
+
+ @GetMapping("getLaboratoryFacilityPowerStablePage")
+ @ApiOperation("鐢垫簮绋冲畾鎬ф煡璇�")
+ public Result<IPage<FePowerStableDto>> getLaboratoryFacilityPowerStablePage(
+ Page page) {
+ IPage<FePowerStableDto> page1 = fePowerStableService.getLaboratoryFacilityPowerStablePage(page);
+ return Result.success(page1);
+ }
+
+ @ApiOperation("閫夋嫨璁惧鍚庢煡璇㈡渶鏂拌澶囩紪鍙凤紝鏍″噯鏃ユ湡")
+ @GetMapping("getCalibrationDate")
+ public Result<?> getCalibrationDate(@RequestParam("deviceId") Integer deviceId) {
+ return Result.success(fePowerStableService.getCalibrationDate(deviceId));
+ }
+
+ @DeleteMapping("deleteFeMeasuredQuantity")
+ @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鍒犻櫎")
+ public Result<?> deleteFeMeasuredQuantity(@RequestParam("measuredQuantityId") Integer measuredQuantityId) {
+ return Result.success(feMeasuredQuantityService.removeById(measuredQuantityId));
+ }
+
+ @GetMapping("getFeMeasuredQuantityService")
+ @ApiOperation("鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏍规嵁鐢垫簮绋冲畾鎬ф煡璇�")
+ public Result<?> getFeMeasuredQuantityService(@RequestParam("powerStableId") Integer powerStableId) {
+ return Result.success(feMeasuredQuantityService.list(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId)));
+ }
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭鐢垫簮绋冲畾鎬�")
+ @GetMapping("/exportFePowerStable")
+ public void exportFePowerStable(Integer powerStableId, HttpServletResponse response){
+ fePowerStableService.exportFePowerStable(powerStableId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceController.java
new file mode 100644
index 0000000..2157ac0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.AcceptanceDto;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.require.service.FeStandardSubstanceAcceptanceInspectionService;
+import com.ruoyi.require.service.FeStandardSubstanceAcceptanceService;
+import com.ruoyi.require.vo.AcceptanceVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Api(tags = "鏍囧噯鐗╄川楠屾敹")
+@RestController
+@RequestMapping("/feStandardSubstanceAcceptance")
+public class FeStandardSubstanceAcceptanceController {
+
+ @Autowired
+ private FeStandardSubstanceAcceptanceInspectionService inspectionService;
+ @Resource
+ private FeStandardSubstanceAcceptanceService feStandardSubstanceAcceptanceService;
+
+ @ApiOperation(value = "鏂板")
+ @PostMapping("/addAcceptance")
+ @Transactional
+ public Result addAcceptance(@RequestBody AcceptanceDto dto) {
+ feStandardSubstanceAcceptanceService.addAcceptance(dto);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
+ @GetMapping("/getPageAcceptance")
+ public Result<IPage<AcceptanceVo>> getPageAcceptance(Page page, String name) {
+ IPage<AcceptanceVo> ipage = feStandardSubstanceAcceptanceService.getPageAcceptance(page, name);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鍒犻櫎")
+ @DeleteMapping("/deleteAcceptance/{id}")
+ public Result deleteAcceptance(@PathVariable("id") Integer id) {
+ return Result.success(feStandardSubstanceAcceptanceService.deleteAcceptance(id));
+ }
+
+ @ApiOperation(value = "缂栬緫")
+ @PostMapping("/updateAcceptance")
+ public Result updateAcceptance(@RequestBody AcceptanceDto acceptanceDto) {
+ feStandardSubstanceAcceptanceService.updateById(acceptanceDto.getAcceptance());
+ for (FeStandardSubstanceAcceptanceInspection v : acceptanceDto.getList()) {
+ if (v.getId()== null) {
+ inspectionService.save(v);
+ }else {
+ inspectionService.updateById(v);
+ }
+ }
+ return Result.success();
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ")
+ @GetMapping("/getAcceptanceDetails")
+ public Result getAcceptanceDetails(Integer id) {
+ return Result.success(feStandardSubstanceAcceptanceService.getAcceptanceDetails(id));
+ }
+
+ @ApiOperation("瀵煎嚭鏍囧噯鐗╄川楠屾敹")
+ @GetMapping("/exportFeStandardSubstanceAcceptance")
+ public Result exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
+ feStandardSubstanceAcceptanceService.exportFeStandardSubstanceAcceptance(response);
+ return Result.success();
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceInspectionController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceInspectionController.java
new file mode 100644
index 0000000..3d3c17f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceAcceptanceInspectionController.java
@@ -0,0 +1,40 @@
+package com.ruoyi.require.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.require.service.FeStandardSubstanceAcceptanceInspectionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Api(tags = "楠屾敹寮�绠辫褰�")
+@RestController
+@RequestMapping("/feStandardSubstanceAcceptanceInspection")
+public class FeStandardSubstanceAcceptanceInspectionController {
+
+
+ @Resource
+ private FeStandardSubstanceAcceptanceInspectionService feStandardSubstanceAcceptanceInspectionService;
+
+
+ @ApiOperation(value = "鏂板鎴栫紪杈�")
+ @PostMapping("/addInspection")
+ public Result addInspection(@RequestBody FeStandardSubstanceAcceptanceInspection inspection) {
+ feStandardSubstanceAcceptanceInspectionService.saveOrUpdate(inspection);
+ return Result.success();
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceController.java
new file mode 100644
index 0000000..f6ec870
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceController.java
@@ -0,0 +1,82 @@
+package com.ruoyi.require.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.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.excel.FeStandardSubstanceExcel;
+import com.ruoyi.require.pojo.FeStandardSubstance;
+import com.ruoyi.require.service.FeStandardSubstanceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+@Api(tags = "鏍囧噯鐗╄川娓呭崟")
+@RestController
+@RequestMapping("/feStandardSubstance")
+public class FeStandardSubstanceController {
+
+
+ @Resource
+ private FeStandardSubstanceService feStandardSubstanceService;
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ")
+ @GetMapping("/getPageStandardSubstance")
+ public Result<IPage<FeStandardSubstance>> getPageStandardSubstance(Page page, FeStandardSubstance feStandardSubstance) {
+ IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(page, feStandardSubstance);
+ return Result.success(ipage);
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏂板缂栬緫")
+ @PostMapping("/addStandardSubstance")
+ public Result addStandardSubstance(@RequestBody FeStandardSubstance feStandardSubstance) {
+ return Result.success(feStandardSubstanceService.saveOrUpdate(feStandardSubstance));
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍒犻櫎")
+ @DeleteMapping("/removeStandardSubstance")
+ public Result removeStandardSubstance(Integer id) {
+ return Result.success(feStandardSubstanceService.removeById(id));
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ鎵�鏈�")
+ @GetMapping("/getStandardSubstanceAll")
+ public Result<List<FeStandardSubstance>> getStandardSubstanceAll( ) {
+ return Result.success(feStandardSubstanceService.list());
+ }
+
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟瀵煎嚭")
+ @GetMapping("exportOfStandardSubstanceList")
+ public void exportOfStandardSubstanceList(FeStandardSubstance feStandardSubstance,
+ HttpServletResponse response) throws Exception {
+ IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(new Page<>(1, -1), feStandardSubstance);
+ List<FeStandardSubstanceExcel> studentList = JSONObject.parseArray(JSON.toJSONString(ipage.getRecords()), FeStandardSubstanceExcel.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(FeStandardSubstanceExcel.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+ .sheet("sheet")
+ .doWrite(studentList);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceRecordController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceRecordController.java
new file mode 100644
index 0000000..683fa84
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeStandardSubstanceRecordController.java
@@ -0,0 +1,60 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.require.service.FeStandardSubstanceRecordService;
+import com.ruoyi.require.vo.SubstanceRecordVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+@Api(tags = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍")
+@RestController
+@RequestMapping("/feStandardSubstanceRecord")
+public class FeStandardSubstanceRecordController {
+
+ @Resource
+ private FeStandardSubstanceRecordService feStandardSubstanceRecordService;
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤")
+ @PostMapping("/borrowSubstance")
+ @Transactional
+ public Result borrowSubstance(@RequestBody FeStandardSubstanceRecord record) {
+ feStandardSubstanceRecordService.borrowSubstance(record);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟褰掕繕")
+ @PostMapping("/returnSubstance")
+ @Transactional
+ public Result returnSubstance(@RequestBody FeStandardSubstanceRecord record) {
+ feStandardSubstanceRecordService.returnSubstance(record);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟棰嗙敤鏌ヨ")
+ @GetMapping("/getSubstanceRecord")
+ public Result getSubstanceRecord(Integer id) {
+ return Result.success(feStandardSubstanceRecordService.getSubstanceRecord(id));
+ }
+
+ @ApiOperation(value = "鍒嗛〉鏌ヨ")
+ @GetMapping("/getPageSubstanceRecord")
+ public Result<IPage<SubstanceRecordVo>> getPageSubstanceRecord(Page page, SubstanceRecordVo vo) {
+ IPage<SubstanceRecordVo> ipage = feStandardSubstanceRecordService.getPage(page,vo);
+ return Result.success(ipage);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java
new file mode 100644
index 0000000..348ce2e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.pojo.FeTempHumDate;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import com.ruoyi.require.service.FeTempHumDateService;
+import com.ruoyi.require.service.FeTempHumRecordService;
+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>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+@RestController
+@RequestMapping("/feTempHumDate")
+@Api(tags = "璇曢獙鍖哄煙")
+public class FeTempHumDateController {
+
+ @Autowired
+ private FeTempHumDateService feTempHumDateService;
+
+ @Autowired
+ private FeTempHumRecordService feTempHumRecordService;
+
+ @PostMapping("addFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鏂板/淇敼")
+ public Result<?> addFeTempHumDate(@RequestBody FeTempHumDate feTempHumDate) {
+ feTempHumDateService.saveOrUpdate(feTempHumDate);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鍒犻櫎")
+ public Result<?> deleteFeTempHumDate(
+ @RequestParam("dateId") Integer dateId) {
+ feTempHumDateService.removeById(dateId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeTempHumDate")
+ @ApiOperation("璇曢獙鍖哄煙-鏌ヨ")
+ public Result<IPage<FeTempHumDateDto>> getFeTempHumDate(Page page) {
+ IPage<FeTempHumDateDto> page1 = feTempHumDateService.getFeTempHumDate(page);
+ return Result.success(page1);
+ }
+
+ @PostMapping("addFeTempHumRecord")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟柊澧�/淇敼")
+ public Result<FeTempHumRecord> addFeTempHumRecord(@RequestBody FeTempHumRecord feTempHumRecord) {
+ feTempHumRecordService.saveOrUpdate(feTempHumRecord);
+ return Result.success();
+ }
+
+ @DeleteMapping("deleteFeTempHumRecord")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曞垹闄�")
+ public Result<?> deleteFeTempHumRecord(
+ @RequestParam("tempHumId") Integer tempHumId) {
+ feTempHumRecordService.removeById(tempHumId);
+ return Result.success();
+ }
+
+ @GetMapping("getFeTempHumRecordPage")
+ @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰曟煡璇�")
+ public Result<IPage<FeTempHumRecordDto>> getFeTempHumRecordPage(Page page, Integer dateId) {
+ IPage<FeTempHumRecordDto> page1 = feTempHumRecordService.getFeTempHumRecordPage(page, dateId);
+ return Result.success(page1);
+ }
+
+ /**
+ * 娓╂箍搴﹁褰曞鍑�
+ * @return
+ */
+ @ApiOperation(value = "娓╂箍搴﹁褰曞鍑�")
+ @GetMapping("/exportTemperatureAndHumidityRecords")
+ public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response){
+ feTempHumDateService.exportTemperatureAndHumidityRecords(dateId, response);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java
new file mode 100644
index 0000000..3a27592
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.pojo.ForeignRegister;
+import com.ruoyi.require.service.ForeignRegisterService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Api(tags = "澶栨潵浜哄憳鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/foreignRegister")
+public class ForeignRegisterController {
+
+ private ForeignRegisterService foreignRegisterService;
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ")
+ @GetMapping("/pageForeignRegister")
+ public Result<IPage<ForeignRegisterDto>> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) throws Exception {
+ return Result.success(foreignRegisterService.pageForeignRegister(page, foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鏂板
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏂板")
+ @PostMapping("/addForeignRegister")
+ public Result addForeignRegister(@RequestBody ForeignRegister foreignRegister){
+ return Result.success(foreignRegisterService.save(foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏淇敼
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏淇敼")
+ @PostMapping("/updateForeignRegister")
+ public Result updateForeignRegister(@RequestBody ForeignRegister foreignRegister){
+ return Result.success(foreignRegisterService.updateById(foreignRegister));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒犻櫎
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒犻櫎")
+ @DeleteMapping("/delForeignRegister")
+ public Result delForeignRegister(Integer registerId){
+ return Result.success(foreignRegisterService.removeById(registerId));
+ }
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏")
+ @GetMapping("/getForeignRegisterOne")
+ public Result<ForeignRegister> getForeignRegisterOne(Integer registerId){
+ return Result.success(foreignRegisterService.getById(registerId));
+ }
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭澶栨潵浜哄憳鐧昏")
+ @GetMapping("/exportForeignRegister")
+ public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response){
+ foreignRegisterService.exportForeignRegister(foreignRegister, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/IncidentReportController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/IncidentReportController.java
new file mode 100644
index 0000000..fa51804
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/IncidentReportController.java
@@ -0,0 +1,73 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.IncidentReportAddDto;
+import com.ruoyi.require.excel.IncidentReportExport;
+import com.ruoyi.require.service.IncidentReportService;
+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("/incidentReport")
+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();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/InstructionController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/InstructionController.java
new file mode 100644
index 0000000..c1e303e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/InstructionController.java
@@ -0,0 +1,102 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.dto.InstructionDto;
+import com.ruoyi.require.pojo.Instruction;
+import com.ruoyi.require.pojo.OperationInstruction;
+import com.ruoyi.require.service.InstructionService;
+import com.ruoyi.require.service.OperationInstructionService;
+import com.ruoyi.require.vo.OperationInstructionVo;
+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;
+
+ @ApiOperation(value = "浣滀笟鎸囧涔� 鍒嗛〉")
+ @GetMapping("/pageByPageQueryOfHomeworkInstructions")
+ public Result<IPage<Instruction>> pageByPageQueryOfHomeworkInstructions(Page page){
+ return Result.success(instructionService.pageByPageQueryOfHomeworkInstructions(page));
+ }
+
+ @ApiOperation(value = "浣滀笟鎸囧涔︽柊澧�")
+ @PostMapping("/newHomeworkGuidebookAdded")
+ public Result newHomeworkGuidebookAdded(@RequestBody InstructionDto instructionDto){
+ instructionService.newHomeworkGuidebookAdded(instructionDto);
+ return Result.success();
+ }
+
+ @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 = "浣滀笟鎸囧涔﹀垹闄�")
+ @DeleteMapping("/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 = "浣滀笟鎸囧涔﹀鎵�")
+ @PostMapping("/approvalOfHomeworkInstructionManual")
+ public Result approvalOfHomeworkInstructionManual(String id, Boolean status){
+ operationInstructionService.update(Wrappers.<OperationInstruction>lambdaUpdate()
+ .eq(OperationInstruction::getId, id)
+ .set(OperationInstruction::getStatus, status)
+ .set(OperationInstruction::getApproverId, SecurityUtils.getUserId())
+ .set(OperationInstruction::getEntryIntoForceTime, LocalDateTime.now()));
+ return Result.success();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java
new file mode 100644
index 0000000..0874d28
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.InternalWastesDto;
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.service.InternalWastesService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Api(tags = "瀹夊叏鍐呭姟涓夊簾鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/internalWastes")
+public class InternalWastesController {
+
+ private InternalWastesService internalWastesService;
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
+ * @param
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ")
+ @GetMapping("/pageInternalWastes")
+ public Result<IPage<InternalWastesDto>> pageInternalWastes(Page page,InternalWastes internalWastes) throws Exception {
+ return Result.success(internalWastesService.pageInternalWastes(page, internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板")
+ @PostMapping("/addInternalWastes")
+ public Result addInternalWastes(@RequestBody InternalWastesDto internalWastes){
+ return Result.success(internalWastesService.addInternalWastes(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼")
+ @PostMapping("/updateInternalWastes")
+ public Result updateInternalWastes(@RequestBody InternalWastesDto internalWastes){
+ return Result.success(internalWastesService.updateInternalWastes(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎")
+ @DeleteMapping("/delInternalWastes")
+ public Result delInternalWastes(Integer wastesId){
+ return Result.success(internalWastesService.delInternalWastes(wastesId));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏")
+ @GetMapping("/getInternalWastesOne")
+ public Result<InternalWastesDto> getInternalWastesOne(Integer wastesId){
+ return Result.success(internalWastesService.getInternalWastesOne(wastesId));
+ }
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @return
+ */
+ @ApiOperation(value = "瀵煎嚭涓夊簾澶勭悊")
+ @GetMapping("/exportInternalWastes")
+ public void exportInternalWastes(Integer wastesId, HttpServletResponse response){
+ internalWastesService.exportInternalWastes(wastesId, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesContentsController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesContentsController.java
new file mode 100644
index 0000000..aff3aa5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesContentsController.java
@@ -0,0 +1,75 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+import com.ruoyi.require.service.ProcurementSuppliesContentsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鍏徃鍒楄〃")
+@RestController
+@RequestMapping("/procurementSuppliesContents")
+@AllArgsConstructor
+public class ProcurementSuppliesContentsController {
+
+ private ProcurementSuppliesContentsService procurementSuppliesService;
+
+ @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
+ @GetMapping("/directoryListing")
+ public Result directoryListing() {
+ return Result.success(procurementSuppliesService.directoryListing());
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ")
+ @GetMapping("/selectProcurementSuppliesContentById")
+ public Result selectProcurementSuppliesContentById(Integer id) {
+ return Result.success(procurementSuppliesService.getById(id));
+ }
+
+ @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
+ @PostMapping("/addProcurementSuppliesContents")
+ public Result addProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
+ procurementSupplies.setUpdateTime(LocalDateTime.now());
+ procurementSuppliesService.save(procurementSupplies);
+ return Result.success(procurementSupplies.getId());
+ }
+
+ @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
+ @PostMapping("/updateProcurementSuppliesContents")
+ public Result updateProcurementSuppliesContents(@RequestBody ProcurementSuppliesContents procurementSupplies) {
+ return Result.success(procurementSuppliesService.updateById(procurementSupplies));
+ }
+
+ @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
+ @DeleteMapping("/deleteProcurementSuppliesContentById")
+ public Result deleteProcurementSuppliesContentById(Integer id) {
+ List<ProcurementSuppliesContents> list = procurementSuppliesService.list(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .eq(ProcurementSuppliesContents::getParentId, id));
+ if(list.size() > 0) {
+ throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
+ }
+ procurementSuppliesService.removeById(id);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
+ @GetMapping("/getNodeNames")
+ public Result getNodeNames() {
+ return Result.success(procurementSuppliesService.getNodeNames());
+ }
+
+ @ApiOperation(value = "鑾峰彇鎵�鏈変汉鍛�")
+ @GetMapping("/getUserList")
+ public Result getUserList() {
+ return Result.success(procurementSuppliesService.getUserList());
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesExpendsController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesExpendsController.java
new file mode 100644
index 0000000..474b620
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesExpendsController.java
@@ -0,0 +1,50 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.require.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.require.service.ProcurementSuppliesExpendsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗娑堣��")
+@RestController
+@RequestMapping("/procurementSuppliesExpends")
+public class ProcurementSuppliesExpendsController {
+ @Autowired
+ private ProcurementSuppliesExpendsService procurementSuppliesExpendsService;
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎褰�")
+ @GetMapping("/procurementSuppliesExpendlist")
+ public Result procurementSuppliesExpendlist(Page page,Long procurementSuppliesListId) {
+ return Result.success(procurementSuppliesExpendsService.selectAll(page,procurementSuppliesListId));
+ }
+
+ @ApiOperation(value = "鏂板娑堣�楄褰�")
+ @PostMapping("/addProcurementSuppliesExpends")
+ public Result addProcurementSuppliesExpends(@RequestBody ProcurementSuppliesExpendDto dto) {
+ Integer added = procurementSuppliesExpendsService.addExpends(dto);
+
+ if ( added == 0) {
+ return Result.fail("褰撳墠搴撳瓨涓嶈冻");
+ }
+ return Result.success(added);
+ }
+
+ @ApiOperation(value = "鍒犻櫎娑堣�楄褰�")
+ @DeleteMapping("/deleteProcurementSuppliesExpends")
+ public Result deleteProcurementSuppliesExpends(Long expendId) throws ServiceException {
+ return Result.success(procurementSuppliesExpendsService.deleteExpends(expendId));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java
new file mode 100644
index 0000000..c06b294
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java
@@ -0,0 +1,94 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.require.mapper.SupplierManagementMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.service.ProcurementSuppliesListService;
+import com.ruoyi.system.mapper.UserMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗")
+@RestController
+@RequestMapping("/procurementSuppliesList")
+public class ProcurementSuppliesListController {
+ @Autowired
+ private ProcurementSuppliesListService procurementSuppliesListService;
+
+ @Resource
+ private ProcurementSuppliesListMapper listMapper;
+
+ @Autowired
+ private UserMapper userMapper;
+
+ @Autowired
+ private SupplierManagementMapper supplierManagementMapper;
+
+ @ApiOperation(value = "鍒嗛〉鏌ヨ")
+ @GetMapping("/procurementSuppliesList")
+ public Result<IPage<ProcurementSuppliesListDto>> procurementSuppliesList(Page page, ProcurementSuppliesListDto list) {
+ return Result.success(procurementSuppliesListService.selectList(page, list));
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗")
+ @GetMapping("/selectProcurementSuppliesListById")
+ public Result selectProcurementSuppliesListById(Integer id) {
+ ProcurementSuppliesList procurementSuppliesStore = listMapper.selectById(id);
+ ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
+ BeanUtils.copyProperties(procurementSuppliesStore, dto);
+
+ User user = userMapper.selectById(procurementSuppliesStore.getPersonInCharge());
+ User updateUser = userMapper.selectById(procurementSuppliesStore.getUpdateUser());
+ SupplierManagement supplierManagement = supplierManagementMapper.selectById(procurementSuppliesStore.getSupplier());
+
+ dto.setPersonInChargeName(user.getName());
+ dto.setUpdateUserName(updateUser.getName());
+ dto.setSupplierName(supplierManagement.getSupplierName());
+ return Result.success(dto);
+ }
+
+ @ApiOperation(value = "鏂板鑰楁潗")
+ @PostMapping("/addProcurementSuppliesList")
+ public Result addProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
+ return Result.success(procurementSuppliesListService.addProcurementSuppliesList(dto));
+ }
+
+ @ApiOperation(value = "缂栬緫鑰楁潗")
+ @PostMapping("/updateProcurementSuppliesList")
+ public Result updateProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
+ return Result.success(procurementSuppliesListService.updateProcurementSuppliesList(dto));
+ }
+
+ @ApiOperation(value = "鍒犻櫎鑰楁潗")
+ @DeleteMapping("/deleteProcurementSuppliesList")
+ public Result deleteProcurementSuppliesList(Long id) {
+ return Result.success(listMapper.deleteById(id));
+ }
+
+ @ApiOperation(value = "瀵煎嚭鑰楁潗鍒楄〃")
+ @GetMapping("/exportProcurementSuppliesList/{parentId}")
+ public void exportProcurementSuppliesList( @PathVariable Integer parentId ,HttpServletResponse response) throws Exception {
+ procurementSuppliesListService.exportProcurementSuppliesList(parentId,response);
+
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesStoreController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesStoreController.java
new file mode 100644
index 0000000..6961ff0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesStoreController.java
@@ -0,0 +1,80 @@
+package com.ruoyi.require.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.StoreDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.require.pojo.ProcurementSuppliesStore;
+import com.ruoyi.require.service.ProcurementSuppliesConsumablesService;
+import com.ruoyi.require.service.ProcurementSuppliesStoreService;
+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.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鑰楁潗鍏ュ簱")
+@RestController
+@RequestMapping("/procurementSuppliesStore")
+@AllArgsConstructor
+public class ProcurementSuppliesStoreController {
+
+ private ProcurementSuppliesStoreService storeService;
+
+ private ProcurementSuppliesConsumablesService consumablesService;
+
+
+ @ApiOperation(value = "鑰楁潗鍏ュ簱鍒嗛〉鏌ヨ")
+ @GetMapping("/storeList")
+ public Result storeList(Page page,StoreDto storeDto) throws Exception {
+ return Result.success(storeService.selectStoreList(page, storeDto));
+ }
+
+ @ApiOperation(value = "娣诲姞鑰楁潗鍏ュ簱鍒楄〃")
+ @PostMapping("/addStore")
+ public Result addStore(@RequestBody Map<String,Object> map) {
+ storeService.addStore(map);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鍒犻櫎鑰楁潗鍏ュ簱")
+ @DeleteMapping("/deleteStore")
+ public Result deleteStore(@RequestParam("id") Integer id,@RequestParam("consumablesId") Integer consumablesId) {
+ storeService.deleteStore(id,consumablesId);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏇存柊鑰楁潗鍏ュ簱")
+ @PostMapping("/updateStore")
+ public Result updateStore(@RequestBody Map<String,Object> map) {
+ storeService.updateStore(map);
+ return Result.success();
+ }
+
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ鑰楁潗鍏ュ簱")
+ @GetMapping("/selectStoreById")
+ public Result selectStore(Integer id) {
+ HashMap<String, Object> map = new HashMap<>();
+ ProcurementSuppliesStore procurementSuppliesStore = storeService.getById(id);
+ List<ProcurementSuppliesConsumables> list = consumablesService.list(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, id));
+ map.put("store", procurementSuppliesStore);
+ map.put("consumables", list);
+ return Result.success(map);
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @GetMapping("/exportExcel/{parentId}")
+ public void exportExcel(@PathVariable Integer parentId, HttpServletResponse response) throws IOException {
+ storeService.exportExcel(parentId, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ReservationController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ReservationController.java
new file mode 100644
index 0000000..e828edd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ReservationController.java
@@ -0,0 +1,71 @@
+package com.ruoyi.require.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.pojo.Reservation;
+import com.ruoyi.require.service.DeviceService;
+import com.ruoyi.require.service.ReservationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+/**
+ * <p>
+ * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-09-14
+ */
+@RestController
+@RequestMapping("/reservation")
+public class ReservationController {
+ @Autowired
+ private ReservationService reservationService;
+
+ @Resource
+ private DeviceService deviceService;
+
+ @GetMapping("/selectDeviceParameter")
+ public Result selectDeviceParameter(Page page,DeviceDto itemParameter,
+ @RequestParam(value = "laboratoryNameIsNull", required = false) Boolean laboratoryNameIsNull,
+ @RequestParam(value = "starttime", required = false)String starttime,
+ @RequestParam(value = "endtime", required = false) String endtime) {
+ ArrayList<JSONObject> jsonObjects = reservationService.selectDeviceParameter(page, itemParameter, laboratoryNameIsNull, starttime, endtime);
+ return Result.success(jsonObjects);
+ }
+
+ @GetMapping("/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(@RequestBody Reservation reservation){
+ reservation.setCreateDate(LocalDateTime.now());
+ reservationService.save(reservation);
+ return Result.success();
+ }
+
+
+ @DeleteMapping("/delete")
+ public Result deleteReservation(String ids) {
+ String[] idArray = ids.split(",");
+ reservationService.removeBatchByIds(Arrays.asList(idArray));
+ return Result.success();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java
new file mode 100644
index 0000000..12f394e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java
@@ -0,0 +1,90 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.service.ProcurementSuppliesContentsService;
+import com.ruoyi.require.service.SupplierManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Api(tags = "渚涘簲鍟嗙鐞�")
+@RestController
+@RequestMapping("/supplierManagement")
+@AllArgsConstructor
+public class SupplierManagementController {
+
+ @Autowired
+ private SupplierManagementService supplierManagementService;
+
+ @Autowired
+ private ProcurementSuppliesContentsService procurementSuppliesContentsService;
+
+ @ApiOperation("鏌ヨ渚涙柟鍚嶅綍")
+ @GetMapping("/selectSupplierManagementByParentId/{parentId}")
+ public Result<List<SupplierManagement>> selectSupplierManagementByParentId(@PathVariable Integer parentId) throws Exception {
+ return Result.success(supplierManagementService.selectSupplierManagementByParentId(parentId));
+ }
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ鍚堟牸渚涙柟鍚嶅綍")
+ @GetMapping("/selectQualifiedSupplierManagementPage")
+ public Result<IPage<SupplierManagement>> selectQualifiedSupplierManagement(SupplierManagement supplierManagement, Page page) throws Exception {
+ return Result.success(supplierManagementService.selectQualifiedSupplierManagement(page, supplierManagement));
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ渚涘簲鍟�")
+ @GetMapping("/selectQualifiedSupplierManagementById/{supplierManagementId}")
+ public Result<List<SupplierManagement>> selectQualifiedSupplierManagementById(@PathVariable Integer supplierManagementId) throws Exception {
+ return Result.success(supplierManagementService.selectQualifiedSupplierManagementById(supplierManagementId));
+ }
+
+ @ApiOperation("鏂板渚涘簲鍟�")
+ @PostMapping("/addSupplierManagement")
+ public Result addSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
+ supplierManagement.setCreateUser(SecurityUtils.getUserId().intValue());
+ return Result.success(supplierManagementService.save(supplierManagement));
+ }
+
+ @ApiOperation("淇敼渚涘簲鍟�")
+ @PostMapping("/updateSupplierManagement")
+ public Result updateSupplierManagement(@RequestBody SupplierManagement supplierManagement) {
+ supplierManagement.setUpdateUser(SecurityUtils.getUserId().intValue());
+ return Result.success(supplierManagementService.updateById(supplierManagement));
+ }
+
+ @ApiOperation("鍒犻櫎渚涘簲鍟�")
+ @DeleteMapping("/delSupplierManagement/{id}")
+ public Result delSupplierManagement(@PathVariable Integer id) {
+ return Result.success(supplierManagementService.removeById(id));
+ }
+
+ @ApiOperation("瀵煎嚭渚涘簲鍟�")
+ @GetMapping("/exportSupplierManagement/{parentId}")
+ public void exportSupplierManagement(@PathVariable Integer parentId, HttpServletResponse response) throws Exception {
+ supplierManagementService.exportSupplierManagement(parentId, response);
+ }
+
+ @ApiOperation("鏌ヨ鍏ㄩ儴渚涙柟鍚嶅綍")
+ @GetMapping("/selectSupplierManagementAll")
+ public Result<List<SupplierManagement>> selectSupplierManagementAll() throws Exception {
+ return Result.success(supplierManagementService.selectSupplierManagementAll());
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/SuppliersDirectoryContentsController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/SuppliersDirectoryContentsController.java
new file mode 100644
index 0000000..2b7aeb5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/SuppliersDirectoryContentsController.java
@@ -0,0 +1,77 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.require.pojo.SuppliersDirectoryContents;
+import com.ruoyi.require.service.SuppliersDirectoryContentsService;
+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.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Api(tags = "渚涘簲鍟嗙鐞嗘爲")
+@RestController
+@RequestMapping("/suppliersDirectoryContents")
+public class SuppliersDirectoryContentsController {
+
+ @Autowired
+ private SuppliersDirectoryContentsService suppliersDirectoryContentsService;
+
+ @ApiOperation(value = "鏌ヨ鐩綍鍒楄〃")
+ @GetMapping("/suppliersDirectoryContentsListing")
+ public Result suppliersDirectoryContentsListing() {
+ return Result.success(suppliersDirectoryContentsService.directoryListing());
+
+ }
+
+ @ApiOperation(value = "鏍规嵁id鏌ヨ")
+ @GetMapping("/selectSuppliersDirectoryContentsById")
+ public Result selectSuppliersDirectoryContentsById(Integer id) {
+ return Result.success(suppliersDirectoryContentsService.getById(id));
+ }
+
+ @ApiOperation(value = "娣诲姞瀛愯妭鐐�")
+ @PostMapping("/addSuppliersDirectoryContents")
+ public Result addSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents ) {
+ suppliersDirectoryContents.setUpdateTime(LocalDateTime.now());
+ suppliersDirectoryContentsService.save(suppliersDirectoryContents);
+ return Result.success(suppliersDirectoryContents.getId());
+ }
+
+ @ApiOperation(value = "鏇存柊瀛愯妭鐐�")
+ @PostMapping("/updateSuppliersDirectoryContents")
+ public Result updateSuppliersDirectoryContents(@RequestBody SuppliersDirectoryContents suppliersDirectoryContents) {
+ return Result.success(suppliersDirectoryContentsService.updateById(suppliersDirectoryContents));
+ }
+
+ @ApiOperation(value = "鍒犻櫎瀛愯妭鐐�")
+ @DeleteMapping("/deleteSuppliersDirectoryContentsById")
+ public Result deleteSuppliersDirectoryContentsById(Integer id) {
+ List<SuppliersDirectoryContents> list = suppliersDirectoryContentsService.list(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .eq(SuppliersDirectoryContents::getParentId, id));
+ if(list.size() > 0) {
+ throw new ErrorException("璇ヨ妭鐐瑰惈鏈夊瓙鑺傜偣,璇峰厛鍒犻櫎瀛愯妭鐐�");
+ }
+ suppliersDirectoryContentsService.removeById(id);
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鏌ヨ鎵�鏈夎妭鐐�")
+ @GetMapping("/getSuppliersDirectoryContentsNodeNames")
+ public Result getSuppliersDirectoryContentsNodeNames() {
+ return Result.success(suppliersDirectoryContentsService.getSuppliersDirectoryContentsNodeNames());
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ADto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ADto.java
new file mode 100644
index 0000000..234e07f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ADto.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ADto {
+
+ private int k;
+ private String v;
+ private String i;
+ private String p;
+ private boolean self;
+ private List<BDto> c;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/AcceptanceDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/AcceptanceDto.java
new file mode 100644
index 0000000..a369361
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/AcceptanceDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AcceptanceDto {
+
+ private FeStandardSubstanceAcceptance acceptance;
+
+ private List<FeStandardSubstanceAcceptanceInspection> list;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/BDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/BDto.java
new file mode 100644
index 0000000..51d0299
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/BDto.java
@@ -0,0 +1,14 @@
+package com.ruoyi.require.dto;
+
+import lombok.Data;
+
+@Data
+public class BDto {
+
+ private int k;
+ private String v;
+ private String i;
+ private String u;
+ private String p;
+ private String g;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DataConfigDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DataConfigDto.java
new file mode 100644
index 0000000..0e55c86
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DataConfigDto.java
@@ -0,0 +1,39 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.DataConfig;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DataConfigDto {
+
+ private List<DataConfig> dataConfigList;
+
+ private Boolean isDevice;
+
+ @ApiModelProperty("鏂囦欢鍚庣紑")
+ private String fileType;
+
+ @ApiModelProperty("閲囬泦鍦板潃")
+ private String collectUrl;
+
+ @ApiModelProperty("瀛樺偍鍦板潃")
+ private String storageUrl;
+
+ @ApiModelProperty("璁惧IP")
+ private String ip;
+
+ @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
+ private String entrustCode;
+
+ @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
+ private String sampleCode;
+
+ @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
+ private String dbFileName;
+
+ @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
+ private String fiberOpticRibbon;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceConfigDtoPage.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceConfigDtoPage.java
new file mode 100644
index 0000000..9409532
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceConfigDtoPage.java
@@ -0,0 +1,70 @@
+package com.ruoyi.require.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DeviceConfigDtoPage {
+
+ @ApiModelProperty(value = "璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏂囦欢鍚庣紑")
+ private String fileType;
+
+ @ApiModelProperty(value = "閲囬泦鍦板潃")
+ private String collectUrl;
+
+ @ApiModelProperty(value = "瀛樺偍鍦板潃")
+ private String storageUrl;
+
+ @ApiModelProperty(value = "IP鍦板潃")
+ private String ip;
+
+ @ApiModelProperty(value = "妫�楠岄」")
+ private String inspectionItem;
+
+ @ApiModelProperty(value = "妫�楠岄」瀛愰」")
+ private String inspectionItemSubclass;
+
+ @ApiModelProperty(value = "鍏紡")
+ private String formula;
+
+ @ApiModelProperty(value = "鍙傜収X")
+ private String referx;
+
+ @ApiModelProperty(value = "X")
+ private String x;
+
+ @ApiModelProperty(value = "鍙傜収Y")
+ private String refery;
+
+ @ApiModelProperty(value = "Y")
+ private String y;
+
+ private Integer id;
+
+ @ApiModelProperty(value = "妫�楠屽璞�")
+ private String sample;
+
+ @ApiModelProperty(value = "妫�楠岄」鐩甶d")
+ private Integer structureItemParameterId;
+
+ @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
+ private String entrustCode;
+
+ @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
+ private String sampleCode;
+
+ @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
+ private String dbFileName;
+
+ @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
+ private String fiberOpticRibbon;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceDto.java
new file mode 100644
index 0000000..cff22d1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceDto.java
@@ -0,0 +1,43 @@
+package com.ruoyi.require.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ruoyi.require.pojo.Device;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DeviceDto extends Device {
+
+ @ApiModelProperty(value = "绠$悊浜�")
+ private String equipmentManagerUser;
+
+ @ApiModelProperty(value = "鎵�灞為儴闂�")
+ @JsonInclude(JsonInclude.Include.NON_NULL)
+ private String laboratoryName;
+
+ @ApiModelProperty(value = "妫�楠岄」鐩�")
+ private String insProductItem;
+
+ @ApiModelProperty(value = "绠$悊浜哄鍚�")
+ private String equipmentManagerName;
+
+ @ApiModelProperty(value = "琚巿鏉冧汉濮撳悕")
+ private String authorizedPersonName;
+
+ @ApiModelProperty(value = "鏍稿噯璇佷功缂栧彿")
+ private String calibrateNo;
+
+ @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
+ private LocalDateTime lastCalibrationDateTwo;
+
+ @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
+ private LocalDateTime nextCalibrationDateTwo;
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceFaultOneDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceFaultOneDto.java
new file mode 100644
index 0000000..f76ee17
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceFaultOneDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/dto/DeviceMaintenanceExport.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMaintenanceExport.java
new file mode 100644
index 0000000..9776cdf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMaintenanceExport.java
@@ -0,0 +1,45 @@
+package com.ruoyi.require.dto;
+
+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-require/src/main/java/com/ruoyi/require/dto/DeviceMetricRecordDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMetricRecordDto.java
new file mode 100644
index 0000000..f8ba2ac
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceMetricRecordDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+import com.ruoyi.require.pojo.DeviceMetricsCopy;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceMetricRecordDto extends DeviceMetricRecord {
+
+ private List<DeviceMetricsCopy> deviceMetricsCopyList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceRecordDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceRecordDto.java
new file mode 100644
index 0000000..b8a849d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceRecordDto.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.DeviceRecord;
+import lombok.Data;
+
+@Data
+public class DeviceRecordDto extends DeviceRecord {
+ private String deviceName;
+
+ private String managementNumber;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceStateDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceStateDto.java
new file mode 100644
index 0000000..f1f90b1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/DeviceStateDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java
new file mode 100644
index 0000000..0958d04
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FeIlluminationAddDto extends FeIllumination {
+
+ @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
+ private List<FeIlluminationDetectionArea> illuminationDetectionAreaList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java
new file mode 100644
index 0000000..2fcf3a1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeIllumination;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FeIlluminationDto extends FeIllumination {
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private Date calibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private Date nextCalibrationDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java
new file mode 100644
index 0000000..62ce2ee
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeIllumination;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/28
+ */
+@Data
+public class FeIlluminationExportDto extends FeIllumination {
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private String calibrationDateString;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private String nextCalibrationDateString;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java
new file mode 100644
index 0000000..a6707ea
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FePowerStableAddDto extends FePowerStable {
+
+ @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
+ private List<FeMeasuredQuantity> feMeasuredQuantityList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java
new file mode 100644
index 0000000..84ba346
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class FePowerStableDto extends FePowerStable {
+
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private Date calibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private Date nextCalibrationDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java
new file mode 100644
index 0000000..52a0203
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/28
+ */
+@Data
+public class FePowerStableExportDto extends FePowerStable {
+
+ @ApiModelProperty("娴嬭瘯鏃ユ湡")
+ private String testDateString;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private String calibrationDateString;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private String nextCalibrationDateString;
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java
new file mode 100644
index 0000000..0ba415c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeTempHumDate;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FeTempHumDateDto extends FeTempHumDate {
+
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createName;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java
new file mode 100644
index 0000000..7353250
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java
@@ -0,0 +1,24 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FeTempHumRecordDto extends FeTempHumRecord {
+
+ @ApiModelProperty("涓嬪崍璁板綍鍛樺悕绉�")
+ private String afternoonRecorderUser;
+
+ @ApiModelProperty("涓婂崍璁板綍鍛樺悕绉�")
+ private String morningRecorderUser;
+
+ @ApiModelProperty("妫�娴嬪ぉ")
+ private Integer month;
+
+ @ApiModelProperty("涓嬪崍鏃堕棿")
+ private String afternoonTimeStr;
+
+ @ApiModelProperty("涓婂崍-鏃堕棿")
+ private String morningTestTimeStr;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java
new file mode 100644
index 0000000..0fb9861
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java
@@ -0,0 +1,32 @@
+package com.ruoyi.require.dto;
+
+import com.deepoove.poi.data.PictureRenderData;
+import com.ruoyi.require.pojo.ForeignRegister;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/19
+ */
+@Data
+public class ForeignRegisterDto extends ForeignRegister {
+
+ @ApiModelProperty("寮�濮嬫椂闂�")
+ private String beginDate;
+
+ @ApiModelProperty("缁撴潫鏃堕棿")
+ private String endDate;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕")
+ private PictureRenderData accompanyingRender;
+
+ @ApiModelProperty("鎵瑰噯浜哄憳绛惧悕")
+ private PictureRenderData approveRender;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
+ private String accompanyingUrl;
+
+ @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃")
+ private String approveUrl;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/IncidentReportAddDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/IncidentReportAddDto.java
new file mode 100644
index 0000000..2552a21
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/IncidentReportAddDto.java
@@ -0,0 +1,26 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/dto/InformationNotificationDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/InformationNotificationDto.java
new file mode 100644
index 0000000..0d3ea3d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/InformationNotificationDto.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.InformationNotification;
+import lombok.Data;
+
+@Data
+public class InformationNotificationDto extends InformationNotification {
+ private String senderUser;
+
+ private String consigneeUser;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/InstructionDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/InstructionDto.java
new file mode 100644
index 0000000..471a260
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/InstructionDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.Instruction;
+import com.ruoyi.require.pojo.OperationInstruction;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class InstructionDto extends Instruction {
+
+ private List<OperationInstruction> feTempHumRecordList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java
new file mode 100644
index 0000000..a815e21
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java
@@ -0,0 +1,19 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author zhuo
+ * @Date 2024/11/19
+ */
+@Data
+public class InternalWastesDto extends InternalWastes {
+
+ @ApiModelProperty("涓夊簾鐧昏璇︽儏")
+ private List<InternalWastesDetail> wastesDetailList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/OperationInstructionDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/OperationInstructionDto.java
new file mode 100644
index 0000000..5e86928
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/OperationInstructionDto.java
@@ -0,0 +1,35 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesExpendDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesExpendDto.java
new file mode 100644
index 0000000..44a2047
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesExpendDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.ProcurementSuppliesExpends;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ProcurementSuppliesExpendDto extends ProcurementSuppliesExpends {
+
+ /**
+ * 椤圭洰鑰楁潗鍚嶇О
+ */
+ @ApiModelProperty("椤圭洰鑰楁潗鍚嶇О")
+ private String listName;
+
+ /**
+ * 褰曞叆浜哄悕绉�
+ */
+ @ApiModelProperty("褰曞叆浜哄悕绉�")
+ private String enterUserName; //
+
+ /**
+ * 鏇存柊浜哄悕绉�
+ */
+ @ApiModelProperty("鏇存柊浜哄悕绉�")
+ private String updateUserName; //
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java
new file mode 100644
index 0000000..1a25451
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import lombok.Data;
+
+@Data
+@ExcelIgnoreUnannotated
+public class ProcurementSuppliesListDto extends ProcurementSuppliesList {
+ @ExcelProperty("鍙傝�冧緵搴斿晢")
+ private String supplierName; // 渚涘簲鍟嗗悕绉�
+ @ExcelProperty("鏇存柊浜�")
+ private String updateUserName; // 鏇存柊浜哄悕绉�
+ @ExcelProperty("璐熻矗浜�")
+ private String personInChargeName; // 璐熻矗浜哄悕绉�
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListEDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListEDto.java
new file mode 100644
index 0000000..ad9d348
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListEDto.java
@@ -0,0 +1,104 @@
+package com.ruoyi.require.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ExcelIgnoreUnannotated
+public class ProcurementSuppliesListEDto {
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private Long id;
+
+ @ApiModelProperty("鐩綍id")
+ @ExcelProperty("鐩綍")
+ private Long contentsId;
+
+ @ApiModelProperty("鑰楁潗绫诲瀷")
+ @ExcelProperty("绫诲埆")
+ private String consumablesType;
+
+ @ApiModelProperty("璐у彿")
+ @ExcelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ @ExcelProperty("鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("瑙勬牸")
+ @ExcelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ @ExcelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty("鍙傝�冧环鏍�")
+ @ExcelProperty("鍙傝�冧环鏍�")
+ private BigDecimal referencePrice;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ @ExcelProperty("瀛樻斁浣嶇疆")
+ private Integer contentId;
+
+ @ApiModelProperty("璐熻矗浜�")
+ @ExcelProperty("璐熻矗浜�")
+ private Integer personInCharge;
+
+ @ApiModelProperty("搴撳瓨涓婇檺")
+ @ExcelProperty("搴撳瓨涓婇檺")
+ private Integer upperLimit;
+
+ @ApiModelProperty("搴撳瓨涓嬮檺")
+ @ExcelProperty("搴撳瓨涓嬮檺")
+ private Integer lowerLimit;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private Integer supplier;
+
+ @ApiModelProperty("鑰楁潗鍥炬爣")
+ @ExcelProperty("鑰楁潗鍥炬爣")
+ private String consumablesIcon;
+
+ @ApiModelProperty("鑰楁潗闄勪欢")
+ @ExcelProperty("鑰楁潗闄勪欢")
+ private String attachment;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @ExcelProperty("鏇存柊鏃堕棿")
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @ApiModelProperty("鏇存柊浜�")
+ @ExcelProperty("鏇存柊浜�")
+ private Integer updateUser;
+
+ @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
+ @ExcelProperty("褰撳墠搴撳瓨")
+ private Integer currentAmount;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ReservationDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ReservationDto.java
new file mode 100644
index 0000000..65e4f85
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ReservationDto.java
@@ -0,0 +1,10 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.Reservation;
+import lombok.Data;
+
+@Data
+public class ReservationDto extends Reservation {
+
+ private String name;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/StoreDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/StoreDto.java
new file mode 100644
index 0000000..72a6af6
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/StoreDto.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.ProcurementSuppliesStore;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class StoreDto extends ProcurementSuppliesStore {
+
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ApiModelProperty("鍏ュ簱鎬讳环")
+ private Double totalPrice;
+
+ @ApiModelProperty("鐧昏浜�")
+ private String registrantName;
+
+ @ApiModelProperty("鍏ュ簱浜�")
+ private String storageUserName;
+
+ private Integer consumablesId;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java
new file mode 100644
index 0000000..fb0475a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java
@@ -0,0 +1,67 @@
+package com.ruoyi.require.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ExcelIgnoreUnannotated
+public class SupplierManagementDto {
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private String supplierName;
+
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private String supplierRef;
+
+ @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ private String supplierItemServiceName;
+
+ @ApiModelProperty("閭紪")
+ @ExcelProperty("閭紪")
+ private String postalCode;
+
+ @ApiModelProperty("鍦板潃")
+ @ExcelProperty("鍦板潃")
+ private String adress;
+
+ @ApiModelProperty("鑱旂郴浜�")
+ @ExcelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ @ApiModelProperty("鑱旂郴鐢佃瘽")
+ @ExcelProperty("鑱旂郴鐢佃瘽")
+ private String phone;
+
+ @ApiModelProperty("鎴峰悕")
+ @ExcelProperty("鎴峰悕")
+ private String householdName;
+
+ @ApiModelProperty("浼犵湡")
+ @ExcelProperty("浼犵湡")
+ private String fax;
+
+ @ApiModelProperty("寮�鎴疯")
+ @ExcelProperty("寮�鎴疯")
+ private String openingName;
+
+ @ApiModelProperty("缃戝潃")
+ @ExcelProperty("缃戝潃")
+ private String website;
+
+ @ApiModelProperty("璐﹀彿")
+ @ExcelProperty("璐﹀彿")
+ private String accountName;
+
+ @ApiModelProperty("email")
+ @ExcelProperty("email")
+ private String email;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remarks;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceFaultOneExport.java b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceFaultOneExport.java
new file mode 100644
index 0000000..c3387b7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceFaultOneExport.java
@@ -0,0 +1,34 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/excel/DeviceRecordExport.java b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceRecordExport.java
new file mode 100644
index 0000000..084ea0d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceRecordExport.java
@@ -0,0 +1,49 @@
+package com.ruoyi.require.excel;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+@Data
+public class DeviceRecordExport {
+ @ExcelProperty("娴佺▼缂栧彿")
+ private String deviceNumber;
+
+ @ExcelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ExcelProperty("绠$悊缂栧彿")
+ private String managementNumber;
+
+ @ExcelProperty("娓╁害")
+ @ColumnWidth(10)
+ private String temperature;
+
+ @ExcelProperty("婀垮害")
+ @ColumnWidth(10)
+ private String humidity;
+
+ @ExcelProperty("浣跨敤鍓�")
+ private String useBefore;
+
+ @ExcelProperty("浣跨敤鍚�")
+ private String useAfter;
+
+ @ExcelProperty("寮傚父鎯呭喌")
+ private String abnormal;
+
+ @ExcelProperty("浣跨敤寮�濮嬫棩鏈�")
+ private String useDate;
+
+ @ExcelProperty("浣跨敤缁撴潫鏃ユ湡")
+ private String useEndDate;
+
+ @ExcelProperty("浣跨敤浜�")
+ private String usePerson;
+
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceStateExport.java b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceStateExport.java
new file mode 100644
index 0000000..0e05d90
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/DeviceStateExport.java
@@ -0,0 +1,36 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/excel/FeCalibrationScheduleExport.java b/cnas-require/src/main/java/com/ruoyi/require/excel/FeCalibrationScheduleExport.java
new file mode 100644
index 0000000..5048365
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/FeCalibrationScheduleExport.java
@@ -0,0 +1,36 @@
+package com.ruoyi.require.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FeCalibrationScheduleExport {
+ @ExcelProperty("浠櫒鍚嶇О")
+ private String instrumentName;
+
+ @ExcelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ExcelProperty("绠$悊缂栧彿")
+ private Integer managementNumber;
+
+ @ExcelProperty("鎶�鏈寚鏍�")
+ private String technicalIndicators;
+
+ @ExcelProperty("妫�瀹氬懆鏈�")
+ private String verificationCyde;
+
+ @ExcelProperty("妫�瀹氬崟浣�")
+ private String verificationUnit;
+
+ @ExcelProperty("鏈�杩戞瀹氭椂闂�")
+ private LocalDateTime recentlyTime;
+
+ @ExcelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
+ private LocalDateTime nextTime;
+
+ @ExcelProperty("澶囨敞")
+ private String remark;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/excel/FeLightningProtectionExcel.java b/cnas-require/src/main/java/com/ruoyi/require/excel/FeLightningProtectionExcel.java
new file mode 100644
index 0000000..b47e79a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/FeLightningProtectionExcel.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class FeLightningProtectionExcel {
+ @ExcelProperty("鍘熸枃浠跺悕")
+ private String fileName;
+
+ @ExcelProperty("妫�娴嬫棩鏈�")
+ private String detectionDate;
+
+ @ExcelProperty("鏈夋晥鏈�")
+ private String termValidity;
+
+ @ExcelProperty("妫�娴嬪崟浣�")
+ private String detectionUnit;
+
+ @ExcelProperty("鍒涘缓鏃堕棿")
+ private String createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/excel/FeStandardSubstanceExcel.java b/cnas-require/src/main/java/com/ruoyi/require/excel/FeStandardSubstanceExcel.java
new file mode 100644
index 0000000..2f0691c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/FeStandardSubstanceExcel.java
@@ -0,0 +1,54 @@
+package com.ruoyi.require.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FeStandardSubstanceExcel {
+ @ExcelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ExcelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ExcelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ExcelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ExcelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ExcelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ExcelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ExcelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ExcelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ExcelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ExcelProperty("瀛樻斁浣嶇疆")
+ private String position;
+
+ @ExcelProperty("鍊熻皟鐘舵��")
+ private Integer state;
+
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @ExcelProperty("鍒涘缓浜�")
+ private String createUser;
+
+ @ExcelProperty("鍒涘缓鏃ユ湡")
+ private LocalDateTime createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/excel/IncidentReportExport.java b/cnas-require/src/main/java/com/ruoyi/require/excel/IncidentReportExport.java
new file mode 100644
index 0000000..8739189
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/IncidentReportExport.java
@@ -0,0 +1,31 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/excel/StoreExcel.java b/cnas-require/src/main/java/com/ruoyi/require/excel/StoreExcel.java
new file mode 100644
index 0000000..d0d7b88
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/excel/StoreExcel.java
@@ -0,0 +1,37 @@
+package com.ruoyi.require.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+public class StoreExcel {
+ @ExcelProperty("鍏ュ簱鍗曞彿")
+ private String oddNumbers;
+
+ @ExcelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ExcelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ExcelProperty("鍏ュ簱鎬讳环")
+ private Double totalPrice;
+
+ @ExcelProperty("鍏ュ簱浜�")
+ private String storageUserName;
+
+ @ExcelProperty("鍏ュ簱鏃ユ湡")
+ private LocalDate storageTime;
+
+ @ExcelProperty("璇存槑")
+ private String remark;
+
+ @ExcelProperty("鐧昏浜�")
+ private String registrantName;
+
+ @ExcelProperty("鐧昏鏃ユ湡")
+ private LocalDate registrantTime;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/BasicReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/BasicReportHandler.java
new file mode 100644
index 0000000..a107fa3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/BasicReportHandler.java
@@ -0,0 +1,556 @@
+package com.ruoyi.require.handler;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.util.MyUtil;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsOrderMapper;
+import com.ruoyi.inspect.mapper.InsSampleMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsReport;
+import com.ruoyi.require.service.impl.InsOrderPlanServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.text.Collator;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+/**
+ * 鍩虹鎶ュ憡澶勭悊绫�
+ */
+public class BasicReportHandler {
+
+ /**
+ * 榛樿琛ㄦ牸瀹藉害
+ */
+ private final static int[] DEFAULT_COL_WIDTHS = {650, 1600, 2000, 750, 2800, 1100, 1100};
+
+ /**
+ * 鍏夌氦琛ㄦ牸瀹藉害
+ */
+ private final static int[] FIBER_COL_WIDTHS = {650, 1700, 2000, 750, 2000, 1800, 1100};
+
+ private final InsOrderMapper baseMapper;
+
+ private final InsOrderPlanServiceImpl insOrderPlanServiceImpl;
+
+ private final InsSampleMapper insSampleMapper;
+
+ public BasicReportHandler(InsOrderMapper insOrderMapper, InsOrderPlanServiceImpl insOrderPlanServiceImpl, InsSampleMapper insSampleMapper){
+ this.baseMapper = insOrderMapper;
+ this.insOrderPlanServiceImpl = insOrderPlanServiceImpl;
+ this.insSampleMapper = insSampleMapper;
+ }
+
+ /**
+ * 鍐欏叆鏂规硶
+ * @param samples 鎵�鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables 妫�楠岄」琛ㄦ牸鏁版嵁
+ * @param standardMethod 鏍囧噯鏂规硶
+ * @param models 鎵�鏈夋牱鍝佺殑鍨嬪彿
+ * @param unEqualSet 鍘婚噸鐨勬墍鏈夋楠岄」鐩暟閲�
+ * @param modelDl 鐢靛姏鐗规畩鍨嬪彿澶勭悊
+ * @param deviceSet 鍘婚噸鐨勬墍鏈夋楠岄」浣跨敤璁惧鍒楄〃
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables,
+ Set<String> standardMethod, Set<String> models, Set<String> unEqualSet,
+ List<String> modelDl, Set<String> deviceSet){
+ //澶勭悊鍏夌氦椤圭洰鍜屾澗濂楃,鎺掗櫎娓╁害寰幆
+ List<InsProduct> fiberList = new ArrayList<>();
+ samples.forEach(s->{
+ fiberList.addAll(s.getInsProduct().stream().filter(p->(p.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")&&Objects.isNull(p.getSpecialItemParentId())
+ ||(p.getSonLaboratory().equals("鏉愭枡璇曢獙瀹�")&&Objects.nonNull(p.getInsFiberId()))
+ ||(p.getInspectionItem().contains("鏉惧绠�")||p.getInspectionItemSubclass().contains("鏉惧绠�")))
+ &&!p.getInspectionItem().equals("娓╁害寰幆")).collect(Collectors.toList()));
+ });
+ if(!fiberList.isEmpty()){
+ //鏍规嵁妫�楠岄」鍒嗙粍
+ Map<String, List<InsProduct>> groupMap = fiberList.stream().collect(Collectors.groupingBy(g -> MyUtil.joinChars("",g.getInspectionItem(),g.getInspectionItemSubclass())));
+ SampleProductDto sampleProductDto = new SampleProductDto();
+ List<InsProduct> handleProductList = new ArrayList<>();
+ for (String s : groupMap.keySet()) {
+ if(!groupMap.get(s).isEmpty()){
+ List<String> lastValueList = groupMap.get(s).stream().map(InsProduct::getLastValue).map(String::trim).collect(Collectors.toList());
+ String lastValue = "";
+ boolean a = lastValueList.contains("绗﹀悎");
+ if(lastValueList.contains("绗﹀悎") || lastValueList.contains("涓嶇鍚�") || lastValueList.contains("涓嶅垽瀹�")){
+ long count1 = lastValueList.stream().filter(f->f.equals("绗﹀悎")).count();
+ long count2 = lastValueList.stream().filter(f->f.equals("涓嶇鍚�")).count();
+ if(count1>0&&count2==0){
+ lastValue = "绗﹀悎";
+ }else if(count2>0){
+ lastValue = "涓嶇鍚�";
+ }else{
+ lastValue="涓嶅垽瀹�";
+ }
+ }else {
+ double maxLastValue = lastValueList.stream().mapToDouble(Double::parseDouble).max().orElse(0);
+ double minLastValue = lastValueList.stream().mapToDouble(Double::parseDouble).min().orElse(0);
+ lastValue = minLastValue+"-"+maxLastValue;
+
+ }
+ InsProduct insProduct = groupMap.get(s).get(0);
+ sampleProductDto.setModel(insProduct.getModel());
+ insProduct.setLastValue(lastValue);
+ handleProductList.add(insProduct);
+ }
+ }
+ handleProductList.sort((o1,o2)->{
+ //鏍规嵁妫�楠岄」鎺掑簭
+ if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
+ List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
+ if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
+ return Integer.MAX_VALUE;
+ }
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
+ }
+ //妫�楠屽瓙椤规帓搴�
+ if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
+ if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
+ }
+ }
+ return 0;
+ });
+ sampleProductDto.setInsProduct(handleProductList);
+ //鍐欏叆琛ㄦ牸
+ writeTableRow(sampleProductDto,insReport,tables,FIBER_COL_WIDTHS);
+ }
+ samples.forEach(a -> {
+ Set<Integer> set = new HashSet<>();
+ Map<Integer, String> map2 = new HashMap<>();
+ //娣诲姞鎵�鏈夋楠岄」
+ unEqualSet.addAll(a.getInsProduct().stream().map(m->m.getInspectionItem()+m.getInspectionItemSubclass()).collect(Collectors.toList()));
+ models.add(a.getModel());
+ standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId()));
+ insOrderPlanServiceImpl.getTemplateThing(set, map2, a.getInsProduct());
+ for (InsProduct b : a.getInsProduct()) {
+ if("鐢靛姏璇曢獙瀹�".equals(b.getSonLaboratory()) && Arrays.asList("閽㈡潗","閾濇潗").contains(b.getSample())){
+ modelDl.add(b.getModel());
+ }
+ if (b.getInsProductResult() != null) {
+ if (ObjectUtils.isNotEmpty(b.getInsProductResult().getEquipValue())) {
+ List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
+ for (JSONObject jsonObject : jsonObjects) {
+ if (!(jsonObject.get("v") + "").isEmpty()) {
+ deviceSet.add(jsonObject.get("v") + "");
+ }
+ }
+ }
+ }
+ }
+ //鍐欏叆琛ㄦ牸
+ //鎺掗櫎鍏夌氦璇曢獙瀹ょ殑椤圭洰鍜屾澗濂楃锛岄櫎浜嗘俯搴﹀惊鐜�
+ a.setInsProduct(a.getInsProduct().stream()
+ .filter(p->(!p.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")&&Objects.isNull(p.getInsFiberId()))||p.getInspectionItem().equals("娓╁害寰幆"))
+ .filter(p->!p.getInspectionItem().contains("鏉惧绠�")&&!p.getInspectionItemSubclass().contains("鏉惧绠�"))
+ .collect(Collectors.toList()));
+ writeTableRow(a,insReport,tables,DEFAULT_COL_WIDTHS);
+ });
+ }
+
+ /**
+ * 鍐欏叆琛ㄦ牸琛�
+ * @param a 鏍峰搧淇℃伅
+ * @param insReport report瀵硅薄
+ * @param tables 妫�楠岄」琛ㄦ牸瀵硅薄
+ * @param colWidths 琛ㄦ牸鍒楀璁剧疆
+ */
+ private static void writeTableRow(SampleProductDto a,InsReport insReport,List<Map<String,Object>> tables,int[] colWidths){
+ List<RowRenderData> rows = new ArrayList<>();
+ AtomicInteger index = new AtomicInteger();
+ Set<String> itemSet = new HashSet<>();
+ for (int i = 0; i < 3 + a.getInsProduct().size(); i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ if (i >= 2 && i < 2 + a.getInsProduct().size()) {
+ if (itemSet.add(a.getInsProduct().get(i - 2).getInspectionItem())) {
+ index.getAndIncrement();
+ }
+ }
+ //鍒楁暟
+ for (int j = 0; j < 7; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setFontSize(10);
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (i == 0) {
+ //绗竴琛�
+ if (j == 0 || j == 1) {
+ //绗竴鍒楀拰绗簩鍒�
+ if(StringUtils.isNotBlank(a.getSampleCode())){
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1");
+ }else{
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2 || j == 3) {
+ //绗笁鍒楀拰绗洓鍒�
+ if(StringUtils.isNotBlank(a.getSampleCode())){
+ textRenderData.setText(a.getSampleCode() + "鈭�2");
+ }else{
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4) {
+ //绗簲鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�0302");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗叚鍒楀拰绗竷鍒�
+ textRenderData.setText(a.getModel() + "鈭�3");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("搴忓彿@No.");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1 || j == 2) {
+ //绗簩鍒楀拰绗笁鍒�
+ textRenderData.setText("妫�娴嬮」鐩瓳Testing item鈭�4");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 3) {
+ //绗洓鍒�
+ textRenderData.setText("鍗曚綅@Unit");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4) {
+ //绗簲鍒�
+ textRenderData.setText("鏍囧噯瑕佹眰@Requirement");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 5) {
+ //绗叚鍒�
+ textRenderData.setText("妫�楠岀粨鏋淍Test result");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗竷鍒�
+ textRenderData.setText("缁撹@Conclusion");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else if (i == 2 + a.getInsProduct().size()) {
+ //鏈�鍚庝竴琛�
+ if (j == 0 || j == 1) {
+ //绗竴鍒楀拰绗簩鍒�
+ textRenderData.setText("澶囨敞鈭�5");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //鍏朵綑鍒�
+ textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆侤鈥溾垰鈥� indicates test item is qualified,鈥溍椻�� indicates test item is not qualified 鈭�6");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+ //鍏朵綑琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(index + "鈭�2" + index);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ InsProduct insProduct = a.getInsProduct().get(i - 2);
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclass())) {
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
+ String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ textRenderData.setText(str + "鈭�3" + str);
+ } else {
+ textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
+ }
+ } else {
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
+ String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ textRenderData.setText(str + "鈭�3" + str);
+ } else {
+ textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗笁鍒�
+ InsProduct insProduct = a.getInsProduct().get(i - 2);
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclass())) {
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemSubclassEn())) {
+ String str = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ textRenderData.setText(str);
+ } else {
+ textRenderData.setText(insProduct.getInspectionItemSubclass());
+ }
+ } else {
+ if (ObjectUtil.isNotEmpty(insProduct.getInspectionItemEn())) {
+ String str = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ textRenderData.setText(str + "鈭�3" + str);
+ } else {
+ textRenderData.setText(insProduct.getInspectionItem() + "鈭�3" + insProduct.getInspectionItem());
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 3) {
+ //绗洓鍒�
+ textRenderData.setText(ObjectUtil.isNotEmpty(a.getInsProduct().get(i - 2).getUnit()) ? a.getInsProduct().get(i - 2).getUnit() : "");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4) {
+ //绗簲鍒�
+ textRenderData.setText(a.getInsProduct().get(i - 2).getTell());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 5) {
+ //绗叚鍒�
+ textRenderData.setText(a.getInsProduct().get(i - 2).getLastValue());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗竷鍒�
+ InsProduct p = a.getInsProduct().get(i - 2);
+ if (p.getInsResult() == 0) {
+ textRenderData.setText("脳");
+ } else if (a.getInsProduct().get(i - 2).getInsResult() == 1) {
+ textRenderData.setText("鈭�");
+ } else {
+ textRenderData.setText("-");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ //鍐欏叆琛ㄦ牸鐨勮
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+
+ List<TableRenderData> tables1 = new ArrayList<>();
+ tableRenderData.setRows(new ArrayList<>());
+ double totalHeight = 0;
+ double heightThreshold = 700.0; // 鍗曢〉楂樺害闃堝��
+ List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
+ List<RowRenderData> endRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
+ // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
+ firstTwoRows.add(rows.get(0));
+ firstTwoRows.add(rows.get(1));
+ endRows.add(rows.get(rows.size() - 1));
+ for (RowRenderData row : rows) {
+ double rowHeight = row.getRowStyle().getHeight(); // 鑾峰彇褰撳墠琛岀殑琛岄珮
+ // 鍒ゆ柇瀛椾綋鍐呭鏄惁鏈夊鐨�, 澶氱殑琛岄珮涔樺�嶆暟
+ RowRenderData lastRaw = rows.get(rows.size() - 1);
+ // 鎺掗櫎鏈�鍚庝竴琛�
+ if (rows.get(0) != row && rows.get(1) != row && lastRaw != row) {
+ // 璋冩暣楂樺害
+ rowHeight = adjustRowHeight(row, rowHeight);
+ }
+ totalHeight += rowHeight; // 鏇存柊鎬昏楂�
+ if (totalHeight> heightThreshold) {
+ tableRenderData.getRows().addAll(endRows);
+ // 鍒涘缓鏂拌〃鏍煎苟澶嶅埗鍓嶄袱琛�
+ TableRenderData newTableRenderData = new TableRenderData();
+ newTableRenderData.setRows(new ArrayList<>(firstTwoRows));
+ //璁剧疆鏍峰紡
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setColWidths(colWidths);
+ tableStyle.setWidth("10000");
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ newTableRenderData.setTableStyle(tableStyle);
+ // 娣诲姞鏈�鍚庝竴琛�
+ tableRenderData.addRow(rows.get(rows.size() - 1));
+ tables1.add(tableRenderData);
+ tableRenderData = newTableRenderData;
+ totalHeight = 180 + rowHeight;//180涓烘柊椤甸潰琛ㄥご鍜屾渶鍚庝竴琛岀殑楂樺害
+ }
+ tableRenderData.getRows().add(row);
+ }
+ if (!tableRenderData.getRows().isEmpty() && tableRenderData.getRows().size() != 3) {
+ //璁剧疆鏍峰紡
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setColWidths(colWidths);
+ tableStyle.setWidth("10000");
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ tables1.add(tableRenderData);
+ }
+ tables1.forEach(table -> {
+ Map<String, Object> tableMap = new HashMap<>();
+ tableMap.put("table", table);
+ tableMap.put("report", insReport);
+ tables.add(tableMap);
+ });
+ }
+
+
+
+ /**
+ * 璋冩暣楂樺害
+ * @param row
+ * @param rowHeight
+ * @return
+ */
+ private static double adjustRowHeight(RowRenderData row, double rowHeight) {
+ // 鏍规嵁妫�楠岄」鐩悕绉拌繘琛岄珮搴﹁皟鏁�
+ //鏍规嵁妫�楠岄」(i:1)銆佹楠屽瓙椤�(i:2)銆佹爣鍑嗚姹�(i:4)涓瓧绗︽渶闀跨殑鏉ヨ绠�
+ TextRenderData insItemData = (TextRenderData) row.getCells().get(1).getParagraphs().get(0).getContents().get(0);
+ if(insItemData.getText().contains("鎴愬垎鍒嗘瀽")){
+ return rowHeight;
+ }
+ TextRenderData insSubItemData = (TextRenderData) row.getCells().get(2).getParagraphs().get(0).getContents().get(0);
+ TextRenderData requiredData = (TextRenderData) row.getCells().get(4).getParagraphs().get(0).getContents().get(0);
+ String dataText = insItemData.getText();
+ if(insSubItemData.getText().length()>dataText.length()){
+ dataText = insSubItemData.getText();
+ }
+ if(Objects.nonNull(requiredData) && requiredData.getText().length()>dataText.length()){
+ dataText = requiredData.getText();
+ }
+ TextRenderData valueData = (TextRenderData) row.getCells().get(5).getParagraphs().get(0).getContents().get(0);
+ String valueText = valueData.getText();
+ // 鑾峰彇妫�娴嬪唴瀹瑰垽鏂槸鍚﹁秴鍑�
+ if (StringUtils.isNotBlank(dataText)) {
+ double number = 1;
+ double chinaLength = 10;
+ double englishLength = 20;
+ double valueLength = 2;
+ // 鏍规嵁@绗﹀彿鎴彇涓嫳鏂�
+ String[] splits = dataText.split("鈭�");
+ String[] split;
+ if(splits.length>0){
+ split = splits[0].split("@");
+ }else{
+ split = dataText.split("@");
+ }
+ // 鏂囧瓧鍊嶆暟
+ double chinaMultiple = (Math.ceil(split[0].length() / chinaLength)) - 1;
+ // 鑻辨枃鍊嶆暟
+ double englishMultiple = 0;
+ if(split.length>1){
+ englishMultiple = (Math.ceil(split[1].length() / englishLength)) - 1;
+ }
+ double multiple = number + chinaMultiple * 0.5 + englishMultiple * 0.5;
+ if (StringUtils.isNotBlank(valueText)) {
+ double valueMultiple = (Math.ceil(valueText.length() / valueLength)) - 1;
+ if (multiple < number + valueMultiple * 0.4) {
+ multiple = number + valueMultiple * 0.4;
+ }
+ }
+ rowHeight = rowHeight * multiple;
+ }
+ return rowHeight;
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/FiberConfigReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberConfigReportHandler.java
new file mode 100644
index 0000000..7b5e344
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberConfigReportHandler.java
@@ -0,0 +1,617 @@
+package com.ruoyi.require.handler;
+
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.MyUtil;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsSampleMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsReport;
+import com.ruoyi.inspect.pojo.InsSample;
+import com.ruoyi.inspect.vo.InsProductFiberVO;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.text.Collator;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+/**
+ * 鍏夌氦閰嶇疆鎶ュ憡澶勭悊绫�
+ */
+public class FiberConfigReportHandler {
+
+ /**
+ * 榛樿琛ㄦ牸瀹藉害
+ */
+ private final static int[] DEFAULT_COL_WIDTHS = {1600,0, 1200, 1200, 1200, 1200, 1200, 1200,1200};
+
+ private final InsProductMapper insProductMapper;
+ private final InsSampleMapper insSampleMapper;
+
+ public FiberConfigReportHandler(InsProductMapper insProductMapper, InsSampleMapper insSampleMapper){
+ this.insProductMapper = insProductMapper;
+ this.insSampleMapper = insSampleMapper;
+ }
+
+ private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
+
+ private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
+
+ /**
+ *
+ * @param samples 鎵�鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables2 鍏夌氦閰嶇疆闄勪欢琛ㄦ牸琛屽垪琛�
+ * @param colorDict 鑹叉爣瀛楀吀
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables2,
+ List<String> colorDict){
+ AtomicInteger index2 = new AtomicInteger(1);//椤电爜
+ samples.forEach(sample -> {
+ //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜岃壊鏍�
+ List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsFiberList(sample.getId());
+ //鏍规嵁鑹叉爣鍒嗙粍
+ Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
+ .filter(p->!p.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��"))
+ .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getColor()));
+ if(groupProducts.isEmpty()){
+ return;
+ }
+ List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
+ if (o1.length > 1 && o2.length > 1) {
+ if (!Objects.equals(o1[0], o2[0])) {
+ Integer o1Index = colorDict.indexOf(o1[0]);
+ Integer o2Index = colorDict.indexOf(o2[0]);
+ return o1Index.compareTo(o2Index);
+ }
+ if (!Objects.equals(o1[1], o2[1])) {
+ Integer o1Index = colorDict.indexOf(o1[1]);
+ Integer o2Index = colorDict.indexOf(o2[1]);
+ return o1Index.compareTo(o2Index);
+ }
+ }
+ return 0;
+ }).collect(Collectors.toList());
+ List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
+ //妫�楠岄」鍒楄〃(琛ㄥご)
+ List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
+ //鏍规嵁妫�楠岄」鎺掑簭
+ if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
+ List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
+ if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
+ return Integer.MAX_VALUE;
+ }
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
+ }
+ //妫�楠屽瓙椤规帓搴�
+ if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
+ if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
+ }
+ }
+ return 0;
+ }).map(insProduct -> {
+ String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
+ }).distinct().collect(Collectors.toList());
+ long size = itemMap.size();
+ long size2 = insProducts1.stream().map(InsProduct::getInsFiberId).distinct().count();
+ long number = 7;
+ long k = 0;
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
+ for (long c = 0; c < size; c++) {
+ if (c % number == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (long i = 0; i < size2 + a + 1; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (long j = 0; j < 9; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ if(i==0){
+ //绗竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode()+"鈭�4566");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 3) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode()+"鈭�4566");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 4) {
+ //绗簩鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 5) {
+ //绗簩鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 6) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 7) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ if(itemMap.size()>(int) (j - 2 + k)){
+ String inspectionItem = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText("鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else if (a == 2 && i == 2) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@Scanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if(itemMap.size()>(int)(j - 2 + k)){
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText("鈭�" + splits[0]);
+ } else {
+ textRenderData.setText("鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else{
+ //寰幆鑹叉爣
+ String key = sortKeys.get((int)i-3);
+ if(itemMap.size()>(int) (j - 2 + k)) {
+ int index = Math.max((int) (j - 2 + k), 0);
+ String item = itemMap.get(index);
+ InsProductFiberVO insProduct = groupProducts.get(key).stream()
+ .filter(p->{
+ String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
+ String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
+ return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
+ }).findFirst().orElse(new InsProductFiberVO());
+ //濉��
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(insProduct.getBushColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(insProduct.getColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((index+1)==groupProducts.get(key).size()){
+ textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
+ }else{
+ textRenderData.setText(insProduct.getLastValue());
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+
+ textRenderData.setText("鈭憀ast"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑4");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table2", tableRenderData);
+ table.put("report", insReport);
+ table.put("sample_number", sample.getSampleCode());
+ table.put("type", sample.getModel());
+ table.put("index2", index2.get());
+ tables2.add(table);
+ k += 7;
+ index2.getAndIncrement();
+ }
+ }
+ });
+ }
+
+
+ /**
+ * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
+ * @param fiberList 鍏夌氦椤圭洰淇℃伅
+ * @param tables2 鍏夌氦闄勪欢琛ㄦ牸
+ */
+ public void writeFiberEnclosureTableRow(List<InsProduct> fiberList, List<Map<String, Object>> tables2,InsReport insReport) {
+ AtomicInteger index2 = new AtomicInteger(1);//椤电爜
+ int colCount = 9;//琛ㄦ牸鎬诲垪鏁�
+ int itemCount = 7;//琛ㄦ牸椤圭洰鍒楁暟
+ int k = 0;//宸查亶鍘嗘楠岄」鏁伴噺
+ //妫�楠岄」鍒楄〃(琛ㄥご)
+ List<String> itemMap = fiberList.stream().map(insProduct -> {
+ String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
+ }).sorted(Comparator.naturalOrder()).distinct().collect(Collectors.toList());
+ //鏍规嵁鏍峰搧id鍒嗙粍
+ Map<Integer,List<InsProduct>> groupProducts = fiberList.stream()
+ .collect(Collectors.groupingBy(InsProduct::getInsSampleId));
+ //sampleId椤哄簭鎺掑簭
+ List<Integer> sortKeys = groupProducts.keySet().stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
+ for (int c = 0; c < itemMap.size(); c++) {
+ if (c % itemCount == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�(鏍峰搧鏁伴噺+琛ㄥご)
+ int tableRow = sortKeys.size() + a;
+ for (int i = 0; i < tableRow; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int j = 0; j < colCount; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ //绗竴琛�
+ if(i==0){
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else{
+ //鐢熸垚琛ㄥご
+ if(itemMap.size()> (j - 2 + k)){
+ String inspectionItem = itemMap.get(j - 2 + k).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText("鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else if (a == 2 && i == 1) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗簩琛�
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if(itemMap.size()> (j - 2 + k)){
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get(j - 2 + k).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText("鈭�" + splits[0]);
+ } else {
+ textRenderData.setText("鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else{
+ //寰幆鏍峰搧
+ Integer key = sortKeys.get(i-2);
+ if(itemMap.size()>j - 2 + k) {
+ //鏌ヨ褰撳墠鏍峰搧淇℃伅
+ InsSample insSample = insSampleMapper.selectById(key);
+ int index = Math.max(j - 2 + k, 0);
+ String item = itemMap.get(index);
+ InsProduct insProduct = groupProducts.get(key).stream()
+ .filter(p->{
+ String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
+ String insItemSubClass = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
+ return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insItemSubClass));
+ })
+ .findFirst().orElse(new InsProduct());
+ //濉��
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText(insSample.getSampleCode()+"鈭�"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((index+1)==groupProducts.get(key).size()){
+ textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
+ }else{
+ textRenderData.setText(insProduct.getLastValue());
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+ textRenderData.setText("鈭憀ast"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("鍏夌氦鎶ュ憡闄勪欢琛ㄦ牸鍒楁暟涓嶅尮閰�");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+// tableStyle.setColWidths(DEFAULT_COL_WIDTHS);
+// tableStyle.setWidth("10000");
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table2", tableRenderData);
+ table.put("report", insReport);
+ table.put("index2", index2.get());
+ tables2.add(table);
+ k += 7;
+ index2.getAndIncrement();
+ }
+ }
+
+
+ }
+
+ /**
+ * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
+ * @param ribbonList 鍏夌氦椤圭洰淇℃伅
+ * @param tables6 鍏夌氦甯﹀昂瀵稿弬鏁伴檮浠惰〃鏍�
+ */
+ public void writeFiberOpticRibbonEnclosureTableRow(List<InsProduct> ribbonList, List<Map<String, Object>> tables6,InsReport insReport){
+
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticConnectorLossReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticConnectorLossReportHandler.java
new file mode 100644
index 0000000..aeb90dc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticConnectorLossReportHandler.java
@@ -0,0 +1,210 @@
+package com.ruoyi.require.handler;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.MyUtil;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsReport;
+import com.ruoyi.inspect.pojo.InsSample;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 鍏夌氦鎺ュご鎹熻�楁姤鍛婂鐞嗙被
+ */
+public class FiberOpticConnectorLossReportHandler {
+
+ private final InsProductMapper insProductMapper;
+
+ public FiberOpticConnectorLossReportHandler(InsProductMapper insProductMapper){
+ this.insProductMapper = insProductMapper;
+ }
+
+ /**
+ *
+ * @param insProducts0 褰撳墠璁㈠崟涓嬬殑鎵�鏈夋楠岄」
+ * @param insSamples 褰撳墠璁㈠崟鎵�鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables4 鍏夌氦鎺ュご鎹熻�楅檮浠惰〃鏍艰鏁版嵁
+ */
+ public void doWrite(List<InsProduct> insProducts0,
+ List<InsSample> insSamples,
+ InsReport insReport,
+ List<Map<String,Object>> tables4){
+// //鍘婚噸鐨勬楠岄」鐩�
+ List<String> filteredProducts = insProducts0.stream()
+ .map(insProduct -> (MyUtil.joinChars(",",insProduct.getInspectionItem(),insProduct.getInspectionItemEn(),insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn(),insProduct.getTell())))
+ .distinct().collect(Collectors.toList());
+ long index4 = 0;
+ //鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡杩樻槸tables4
+ //鏌ヨ鏍峰搧(鍙煡璇㈠甫"/")鐨勬暟閲�
+ List<InsSample> sampleList = insSamples.stream().filter(insSample -> insSample.getSampleCode().contains("/")).collect(Collectors.toList());
+ //杩囨护鍑哄厜绾ゆ帴澶存崯鑰楃殑妫�楠岄」鐩�
+ List<String> strings = filteredProducts.stream().filter(s -> s.contains("鍏夌氦鎺ュご鎹熻��")).distinct().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
+ long index41 = 1;
+ for (int i = 0; i < sampleList.size(); i++) {
+ if (i % 16 == 0) {
+ //鏍峰搧鏁伴噺瓒呰繃16闇�瑕佹柊澧炶〃鏍�
+ List<RowRenderData> rows = new ArrayList<>();
+ int count2 = sampleList.size() - (index41 - 1) * 16 < 16 ? (int) (sampleList.size() - (index41 - 1) * 16 + 1) : 17;
+ //琛ㄦ牸鐨勮鏁�
+ for (int j = 0; j < count2; j++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int k = 0; k < 6; k++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (j == 0) {
+ //绗竴琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦绫诲瀷@Fiber type");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 1 || k == 2) {
+ //绗簩 涓夊垪
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�3333");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ String[] split = strings.get(k - 3).split(",");
+ if (ObjectUtils.isEmpty(split[3]) || split[3].isEmpty()) {
+ textRenderData.setText(split[2]);
+ } else {
+ textRenderData.setText(split[2] + "@" + split[3]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText(sampleList.get(0).getModel() + "鈭�44");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 1) {
+ //绗簩鍒�
+ textRenderData.setText(sampleList.get(j - 1).getSampleCode().split("/")[0]);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k == 2) {
+ //绗笁鍒�
+ textRenderData.setText(sampleList.get(j - 1).getSampleCode().split("/")[1]);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //鏍规嵁瀵瑰簲鐨勬牱鍝佺紪鍙峰拰妫�楠岄」鐩煡璇㈠搴旀暟鎹�(鏈�缁堝��)
+ String[] split = strings.get(k - 3).split(",");
+ // 濡傛灉鏄楠岄」涓哄厜绾ゆ帴澶存崯鑰楋紝鍒欏彇绗竴鏉�
+ InsProduct insProduct = null;
+ if(split[0].equals("鍏夌氦鎺ュご鎹熻��")) {
+ insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId())
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2])).get(0);
+ }else {
+ insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sampleList.get(j - 1).getId())
+ .eq(InsProduct::getInspectionItem, split[0])
+ .eq(InsProduct::getInspectionItemSubclass, split[2]));
+ }
+ textRenderData.setText(insProduct.getLastValue());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /*for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑3");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table4", tableRenderData);
+ table.put("report", insReport);
+ table.put("index4", index4 + 1);
+ tables4.add(table);
+ index4++;
+ index41++;
+ }
+ }
+ tables4.forEach(table4 -> {
+ table4.put("tableSize4", tables4.size());
+ });
+
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticRibbonReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticRibbonReportHandler.java
new file mode 100644
index 0000000..5bb74df
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/FiberOpticRibbonReportHandler.java
@@ -0,0 +1,734 @@
+package com.ruoyi.require.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.MyUtil;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsSampleMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsReport;
+import com.ruoyi.inspect.pojo.InsSample;
+import com.ruoyi.inspect.vo.InsProductFiberVO;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.text.Collator;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+/**
+ * 鍏夌氦甯﹀昂瀵稿弬鏁版姤鍛婂鐞嗙被
+ */
+public class FiberOpticRibbonReportHandler {
+
+ /**
+ * 榛樿琛ㄦ牸瀹藉害
+ */
+ private final static int[] DEFAULT_COL_WIDTHS = {1600,0, 1200, 1200, 1200, 1200, 1200, 1200,1200};
+
+ private final InsProductMapper insProductMapper;
+ private final InsSampleMapper insSampleMapper;
+
+ public FiberOpticRibbonReportHandler(InsProductMapper insProductMapper, InsSampleMapper insSampleMapper){
+ this.insProductMapper = insProductMapper;
+ this.insSampleMapper = insSampleMapper;
+ }
+
+ private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
+
+ private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
+
+ /**
+ *
+ * @param samples 鎵�鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables6 灏哄鍙傛暟闄勪欢琛ㄦ牸琛屽垪琛�
+ * @param colorDict 鑹叉爣瀛楀吀
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables6,
+ List<String> colorDict){
+ AtomicInteger index6 = new AtomicInteger(1);//椤电爜
+ samples.forEach(sample -> {
+ //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜屽厜绾ゅ甫缂栧彿
+ List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsFibersList(sample.getId());
+ //鏍规嵁鍏夌氦甯︾紪鍙�
+ Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
+ .filter(p->p.getInspectionItem().equals("灏哄鍙傛暟"))
+ .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getCode()));
+ if(groupProducts.isEmpty()){
+ return;
+ }
+ List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
+ if (o1.length > 1 && o2.length > 1) {
+ if (!Objects.equals(o1[0], o2[0])) {
+ Integer o1Index = colorDict.indexOf(o1[0]);
+ Integer o2Index = colorDict.indexOf(o2[0]);
+ return o1Index.compareTo(o2Index);
+ }
+ if (!Objects.equals(o1[1], o2[1])) {
+ Integer o1Index = colorDict.indexOf(o1[1]);
+ Integer o2Index = colorDict.indexOf(o2[1]);
+ return o1Index.compareTo(o2Index);
+ }
+ }
+ return 0;
+ }).collect(Collectors.toList());
+ List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
+ //妫�楠岄」鍒楄〃(琛ㄥご)
+ List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
+ //鏍规嵁妫�楠岄」鎺掑簭
+ if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
+ List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
+ if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
+ return Integer.MAX_VALUE;
+ }
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
+ }
+ //妫�楠屽瓙椤规帓搴�
+ if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
+ if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
+ }
+ }
+ return 0;
+ }).map(insProduct -> {
+ String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
+ }).distinct().collect(Collectors.toList());
+ long size = itemMap.size();//琛ㄥご闀垮害
+ long size2 = insProducts1.stream().map(InsProduct::getInsFibersId).distinct().count();
+ long number = 10;
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
+ for (long c = 0; c < size; c++) {
+ if (c % number == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (long i = 0; i < size2 + a + 2; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (long j = 0; j < 12; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ if(i==0){
+ //绗竴琛�
+ if (j<=2) {
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j >2&&j<=5) {
+ textRenderData.setText(sample.getSampleCode()+"鈭�4566");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j >5&&j<=8) {
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText("鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (a == 2 && i == 2) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j >1&& j<=3) {
+ String[] splits = itemMap.get(0).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j>3&&j<=5) {
+ String[] splits = itemMap.get(1).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j >5&&j<=7) {
+ String[] splits = itemMap.get(2).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j >7&&j<=9) {
+ String[] splits = itemMap.get(3).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else{
+ String[] splits = itemMap.get(4).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if ( i == 3) {
+ //绗洓琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鍏夌氦甯︾紪鍙稝Scanning Number鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((int)(j - 2)%2==0){
+ textRenderData.setText("A绔�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ textRenderData.setText("B绔�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else{
+ //寰幆鍏夌氦甯︾紪鍙�
+ String key = sortKeys.get((int)i-4);
+ String item;
+ if (j<=3) {
+ item = itemMap.get(0);
+ }
+ else if (j>3&&j<=5) {
+ item = itemMap.get(1);
+ }
+ else if (j >5&&j<=7) {
+ item = itemMap.get(2);
+ }
+ else if (j >7&&j<=9) {
+ item = itemMap.get(3);
+ } else{
+ item = itemMap.get(4);
+ }
+ InsProductFiberVO insProduct = groupProducts.get(key).stream()
+ .filter(p->{
+ String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
+ String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
+ return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
+ }).findFirst().orElse(new InsProductFiberVO());
+ //濉��
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(insProduct.getBushColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(insProduct.getCode());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((int)(j - 2)%2==0){
+ textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(0));
+ }else{
+ textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(1));
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑6");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table6", tableRenderData);
+ table.put("report", insReport);
+ table.put("sample_number", sample.getSampleCode());
+ table.put("type", sample.getModel());
+ table.put("index6", index6.get());
+ tables6.add(table);
+ index6.getAndIncrement();
+ }
+ }
+ });
+ }
+
+ /**
+ * 鏍煎紡鍖栨楠岃繃绋嬪�糺son瀛楃涓�
+ * @param insValue 妫�楠岃繃绋嬪�糺son瀛楃涓�
+ * @return
+ */
+ private static List<String> transformInsValue(String insValue){
+ List<String> list = new ArrayList<>();
+ if(!insValue.isEmpty() && !"[]".equals(insValue)){
+ for (Object o : JSONUtil.parseArray(insValue)) {
+ JSONObject obj = JSON.parseObject(JSON.toJSONString(o));
+ if(Objects.nonNull(obj.get("v"))){
+ list.add(obj.get("v").toString());
+ }
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 鍏夌氦闄勪欢琛ㄦ牸锛氬啓鍏ヨ鏁版嵁
+ * @param ribbonList 鍏夌氦椤圭洰淇℃伅
+ * @param tables6 鍏夌氦甯﹀昂瀵稿弬鏁伴檮浠惰〃鏍�
+ */
+ public void writeFiberOpticRibbonEnclosureTableRow(List<InsProductFiberVO> ribbonList, List<Map<String, Object>> tables6,InsReport insReport){
+ AtomicInteger index6 = new AtomicInteger(1);//椤电爜
+ int colCount = 12;//琛ㄦ牸鎬诲垪鏁�
+ int itemCount = 10;//琛ㄦ牸椤圭洰鍒楁暟
+ //妫�楠岄」鍒楄〃(琛ㄥご)
+ List<String> itemMap = ribbonList.stream().sorted((o1,o2)->{
+ //鏍规嵁妫�楠岄」鎺掑簭
+ if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
+ List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
+ if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
+ return Integer.MAX_VALUE;
+ }
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
+ }
+ //妫�楠屽瓙椤规帓搴�
+ if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
+ if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
+ }
+ }
+ return 0;
+ }).map(insProduct -> {
+ String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
+ }).distinct().collect(Collectors.toList());
+ //鏍规嵁鏍峰搧id鍒嗙粍
+ Map<Integer,List<InsProductFiberVO>> groupProducts = ribbonList.stream()
+ .collect(Collectors.groupingBy(InsProductFiberVO::getInsSampleId));
+ //sampleId椤哄簭鎺掑簭
+ List<Integer> sortKeys = groupProducts.keySet().stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
+ for (int c = 0; c < itemMap.size(); c++) {
+ if (c % itemCount == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�(鏍峰搧鏁伴噺+琛ㄥご)
+ int tableRow = sortKeys.size() + a + 1;
+ for (int i = 0; i < tableRow; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (int j = 0; j < colCount; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ //绗竴琛�
+ if(i==0){
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else{
+ //鐢熸垚琛ㄥご
+ if(itemMap.size()> (j - 2)){
+ String inspectionItem = itemMap.get(j - 2).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText("鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else if (a == 2 && i == 1) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗簩琛�
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j >1&& j<=3) {
+ String[] splits = itemMap.get(0).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j>3&&j<=5) {
+ String[] splits = itemMap.get(1).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j >5&&j<=7) {
+ String[] splits = itemMap.get(2).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j >7&&j<=9) {
+ String[] splits = itemMap.get(3).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else{
+ String[] splits = itemMap.get(4).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 2) {
+ //绗笁琛�
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�45678");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((j - 2) %2==0){
+ textRenderData.setText("A绔�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ textRenderData.setText("B绔�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else{
+ //寰幆鏍峰搧
+ Integer key = sortKeys.get(i-3);
+ //鏌ヨ褰撳墠鏍峰搧淇℃伅
+ InsSample insSample = insSampleMapper.selectById(key);
+ int index = Math.max(j - 2, 0);
+ String item;
+ if (j<=3) {
+ item = itemMap.get(0);
+ }
+ else if (j>3&&j<=5) {
+ item = itemMap.get(1);
+ }
+ else if (j >5&&j<=7) {
+ item = itemMap.get(2);
+ }
+ else if (j >7&&j<=9) {
+ item = itemMap.get(3);
+ } else{
+ item = itemMap.get(4);
+ }
+ InsProductFiberVO insProduct = groupProducts.get(key).stream()
+ .filter(p->{
+ String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
+ String insItemSubClass = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
+ return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insItemSubClass));
+ })
+ .findFirst().orElse(new InsProductFiberVO());
+ //濉��
+ if (j < 2) {
+ //绗竴鍒�
+ textRenderData.setText(insSample.getSampleCode()+"鈭�"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if(index%2==0){
+ textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(0));
+ }else{
+ textRenderData.setText(transformInsValue(insProduct.getInsValue()).get(1));
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+// if(itemMap.size()>j - 2) {
+// }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("鍏夌氦甯︽姤鍛婇檮浠惰〃鏍煎垪鏁颁笉鍖归厤");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+// tableStyle.setColWidths(DEFAULT_COL_WIDTHS);
+// tableStyle.setWidth("10000");
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table6", tableRenderData);
+ table.put("report", insReport);
+ table.put("index6", index6.get());
+ tables6.add(table);
+ index6.getAndIncrement();
+ }
+ }
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/PiperConfigReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/PiperConfigReportHandler.java
new file mode 100644
index 0000000..2b5086a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/PiperConfigReportHandler.java
@@ -0,0 +1,388 @@
+package com.ruoyi.require.handler;
+
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.MyUtil;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsReport;
+import com.ruoyi.inspect.vo.InsProductFiberVO;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.text.Collator;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+/**
+ * 鏉惧绠℃姤鍛婂鐞嗙被
+ */
+public class PiperConfigReportHandler {
+
+
+ private final InsProductMapper insProductMapper;
+
+ public PiperConfigReportHandler(InsProductMapper insProductMapper){
+ this.insProductMapper = insProductMapper;
+ }
+
+ private final static String ITEM_SPLIT_CHAR = "&";//妫�楠岄」鍒嗛殧绗�
+
+ private final static String COLOR_SPLIT_CHAR = "-";//鑹叉爣鍒嗛殧绗�
+
+ /**
+ *
+ * @param samples 鎵�鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables5 鏉惧绠¢檮浠惰〃鏍艰鍒楄〃
+ * @param colorDict 鑹叉爣瀛楀吀
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables5, List<String> colorDict){
+ AtomicInteger index5 = new AtomicInteger(1);//椤电爜
+ samples.forEach(sample -> {
+ //鏌ヨ鏍峰搧涓嬬殑妫�楠岄」鍜岃壊鏍�
+ List<InsProductFiberVO> insProducts1 = insProductMapper.selectInsProductInsBushList(sample.getId());//鏌ヨ濂楃鐩稿叧鏁版嵁
+ //鏍规嵁鑹叉爣鍒嗙粍
+ Map<String,List<InsProductFiberVO>> groupProducts = insProducts1.stream()
+ .filter(p->!p.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��"))
+ .collect(Collectors.groupingBy(product -> product.getBushColor()+"-"+product.getColor()));
+ if(groupProducts.isEmpty()){
+ return;
+ }
+ List<String[]> collect = groupProducts.keySet().stream().map(k -> k.split(COLOR_SPLIT_CHAR)).sorted((o1, o2) -> {
+ if (o1.length > 1 && o2.length > 1) {
+ if (!Objects.equals(o1[0], o2[0])) {
+ Integer o1Index = colorDict.indexOf(o1[0]);
+ Integer o2Index = colorDict.indexOf(o2[0]);
+ return o1Index.compareTo(o2Index);
+ }
+ if (!Objects.equals(o1[1], o2[1])) {
+ Integer o1Index = colorDict.indexOf(o1[1]);
+ Integer o2Index = colorDict.indexOf(o2[1]);
+ return o1Index.compareTo(o2Index);
+ }
+ }
+ return 0;
+ }).collect(Collectors.toList());
+ List<String> sortKeys = collect.stream().map(c->String.join(COLOR_SPLIT_CHAR,c)).collect(Collectors.toList());
+ //妫�楠岄」鍒楄〃(琛ㄥご)
+ List<String> itemMap = insProducts1.stream().sorted((o1,o2)->{
+ //鏍规嵁妫�楠岄」鎺掑簭
+ if(!Objects.equals(o1.getInspectionItem(),o2.getInspectionItem())){
+ List<String> specialItems = Arrays.asList("鑰愮幆澧冨簲鍔涘紑瑁�","鐑敹缂╃巼");
+ if(specialItems.contains(o1.getInspectionItem()) && specialItems.contains(o2.getInspectionItem())){
+ return Integer.MAX_VALUE;
+ }
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItem(),o2.getInspectionItem());
+ }
+ //妫�楠屽瓙椤规帓搴�
+ if(StringUtils.isNotBlank(o1.getInspectionItemSubclass())&& StringUtils.isNotBlank(o2.getInspectionItemSubclass())){
+ if(!Objects.equals(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass())){
+ Collator instance = Collator.getInstance(Locale.CHINA);
+ return instance.compare(o1.getInspectionItemSubclass(),o2.getInspectionItemSubclass());
+ }
+ }
+ return 0;
+ }).map(insProduct -> {
+ String item = MyUtil.joinChars("@",insProduct.getInspectionItem(),insProduct.getInspectionItemEn());
+ String itemSubClass = MyUtil.joinChars("@",insProduct.getInspectionItemSubclass(),insProduct.getInspectionItemSubclassEn());
+ return MyUtil.joinChars(ITEM_SPLIT_CHAR,item,itemSubClass);
+ }).distinct().collect(Collectors.toList());
+ long size = itemMap.size();
+ long size2 = insProducts1.stream().map(InsProduct::getInsBushId).distinct().count();
+ long number = 7;
+ long k = 0;
+ //鍒ゆ柇妫�楠岄」鐩槸鍚︽湁鐖跺瓙鍏崇郴
+ int a = itemMap.stream().anyMatch(p -> p.split(ITEM_SPLIT_CHAR).length>0) ? 2 : 1;
+ for (long c = 0; c < size; c++) {
+ if (c % number == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (long i = 0; i < size2 + a + 1; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�
+ for (long j = 0; j < 9; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ if(i==0){
+ //绗竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�456");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode()+"鈭�4566");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 3) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode()+"鈭�4566");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 4) {
+ //绗簩鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 5) {
+ //绗簩鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type鈭�457");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 6) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else if (j == 7) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ //绗簩鍒�
+ textRenderData.setText(sample.getModel()+"鈭�4577");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ if(itemMap.size()>(int) (j - 2 + k)){
+ String inspectionItem = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText( inspectionItem + "鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ String inspectionItem = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR)[0];
+ textRenderData.setText("鈭�" + inspectionItem);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else if (a == 2 && i == 2) {
+ //鏈夌埗瀛愰」鐩叧绯荤殑绗笁琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("绠¤壊鏍嘆Pipe鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if(itemMap.size()>(int)(j - 2 + k)){
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get((int) (j - 2 + k)).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText(splits[0] + "鈭�" + splits[0]);
+ } else {
+ textRenderData.setText(splits[1]+"鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }else{
+ //鍒ゆ柇鏄惁鏈夐」鐩瓙绫�
+ String[] splits = itemMap.get(itemMap.size()-1).split(ITEM_SPLIT_CHAR);
+ if (splits.length<2 || "@".equals(splits[1])) {
+ textRenderData.setText("鈭�" + splits[0]);
+ } else {
+ textRenderData.setText("鈭�"+splits[0]+splits[1]);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ else{
+ //寰幆鑹叉爣
+ String key = sortKeys.get((int)i-3);
+ if(itemMap.size()>(int) (j - 2 + k)) {
+ int index = Math.max((int) (j - 2 + k), 0);
+ String item = itemMap.get(index);
+ InsProductFiberVO insProduct = groupProducts.get(key).stream()
+ .filter(p->{
+ String insItem = MyUtil.joinChars("@",p.getInspectionItem(),p.getInspectionItemEn());
+ String insSubItem = MyUtil.joinChars("@",p.getInspectionItemSubclass(),p.getInspectionItemSubclassEn());
+ return item.equals(MyUtil.joinChars(ITEM_SPLIT_CHAR,insItem,insSubItem));
+ }).findFirst().orElse(new InsProductFiberVO());
+ //濉��
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(insProduct.getBushColor()+"鈭�"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(insProduct.getBushColor()+"鈭�"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //椤圭洰淇℃伅
+ if((index+1)==groupProducts.get(key).size()){
+ textRenderData.setText(insProduct.getLastValue()+"鈭憀ast"+key);
+ }else{
+ textRenderData.setText(insProduct.getLastValue());
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+
+ textRenderData.setText("鈭憀ast"+key);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑4");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table5", tableRenderData);
+ table.put("report", insReport);
+ table.put("sample_number", sample.getSampleCode());
+ table.put("type", sample.getModel());
+ table.put("index5", index5.get());
+ tables5.add(table);
+ k += 7;
+ index5.getAndIncrement();
+ }
+ }
+ });
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureCyclingReportHandler1.java b/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureCyclingReportHandler1.java
new file mode 100644
index 0000000..7cae102
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureCyclingReportHandler1.java
@@ -0,0 +1,582 @@
+package com.ruoyi.require.handler;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsFiberMapper;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsProductResultMapper;
+import com.ruoyi.inspect.pojo.InsFiber;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsProductResult;
+import com.ruoyi.inspect.pojo.InsReport;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * 娓╁害寰幆鎶ュ憡鐢熸垚澶勭悊鏂规硶
+ */
+public class TemperatureCyclingReportHandler1 {
+
+ private final InsProductMapper insProductMapper;
+
+ private final InsFiberMapper insFiberMapper;
+
+ private final InsProductResultMapper insProductResultMapper;
+
+ public TemperatureCyclingReportHandler1(InsProductMapper insProductMapper, InsFiberMapper insFiberMapper, InsProductResultMapper insProductResultMapper) {
+ this.insProductMapper = insProductMapper;
+ this.insFiberMapper = insFiberMapper;
+ this.insProductResultMapper = insProductResultMapper;
+ }
+
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String, Object>> tables3) {
+ AtomicInteger index3 = new AtomicInteger(1);
+ // 鑷畾涔夋瘮杈冨櫒
+ Comparator<InsProduct> customComparator = Comparator.comparing(
+ InsProduct::getInspectionItemSubclass,
+ Comparator.naturalOrder()
+ );
+ samples.forEach(sample -> {
+ // 鏌ヨ娓╁害寰幆涓嬬殑妫�楠岄」鐩�
+ List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .isNotNull(InsProduct::getInsFiberId)
+ .isNotNull(InsProduct::getInspectionItemClass));
+ //鑾峰彇鎵�鏈夊厜绾よ壊鏍�
+ List<InsFiber> insFibers = insFiberMapper.selectBatchIds(insPros.stream().map(InsProduct::getInsFiberId).collect(Collectors.toList()));
+ //鑾峰彇鍏夌氦鑹叉爣鐨勬暟閲�(琛屾暟)
+ long size2 = insPros.stream().map(InsProduct::getInsFiberId).distinct().count();
+ //鑾峰彇鎵�鏈夌殑鍏夌氦椤圭洰(1310nm)
+ List<String> nm = insPros.stream().map(InsProduct::getInspectionItemClass).distinct().collect(Collectors.toList());
+ /*鍏堟牴鎹惊鐜鏁拌繘琛岄亶鍘�*/
+ Map<String, List<InsProduct>> xunhuans = insPros.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
+ for (int i = 0; i < xunhuans.entrySet().size(); i++) {
+ //鑾峰彇璇ュ惊鐜殑鎵�鏈夋俯搴�
+ String s1 = String.valueOf((i + 1));
+ //杩囨护鍑�20鈩�(甯告俯)鍜�20鈩�
+ List<InsProduct> filterList = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20鈩�(甯告俯)")).collect(Collectors.toList());
+ List<InsProduct> filterList2 = xunhuans.get(s1).stream().filter(f->f.getInspectionItemSubclass().equals("20鈩�")).collect(Collectors.toList());
+ //鎺掑簭鍏朵粬娓╁害
+ List<InsProduct> sortList = xunhuans.get(s1).stream()
+ .filter(f->!Arrays.asList("20鈩�(甯告俯)","20鈩�").contains(f.getInspectionItemSubclass()))
+ .sorted(customComparator).collect(Collectors.toList());
+ //鍚堝苟
+ Map<String, List<InsProduct>> wendus = Stream.of(filterList,sortList,filterList2).flatMap(List::stream).collect(Collectors.groupingBy(
+ InsProduct::getInspectionItemSubclass,
+ LinkedHashMap::new, // 淇濊瘉 Map 涓敭鐨勯『搴忔槸鎻掑叆椤哄簭
+ Collectors.toCollection(ArrayList::new) // 淇濊瘉姣忎釜缁勫唴鍏冪礌椤哄簭
+ ));
+ List<String> wendu = new ArrayList<>(wendus.keySet());
+ for (int m = 0; m < wendu.size(); m += 3) {
+ //涓変釜娓╁害涓�寮犺〃,褰撻亶鍘嗗埌绗洓涓俯搴︾殑鏃跺�欓渶瑕侀噸鏂板缓琛�
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�(鍏夌氦鑹叉爣鐨勬暟閲�+8)
+ for (int j = 0; j < size2 + 8; j++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //琛ㄦ牸鐨勫垪鏁�(2*鍏夌氦椤圭洰*3+1)
+ for (int k = 0; k < 6 * nm.size() + 1; k++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ style.setFontSize(10);
+ textRenderData.setStyle(style);
+ if (j == 0) {
+ //绗竴琛�
+ if (k <= (6L * nm.size() + 1) / 4) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number鈭�1000");
+ } else if (k > (6L * nm.size() + 1) / 4 && k <= (6L * nm.size() + 1) / 2) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode() + "鈭�998");
+ } else if (k > (6L * nm.size() + 1) / 2 && k < 6L * nm.size()) {
+ //绗笁鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type 鈭�999");
+ } else {
+ //绗洓鍒�
+ textRenderData.setText(sample.getModel());
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 1) {
+ //绗簩琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
+ } else {
+ textRenderData.setText("妫�娴嬬粨鏋滐紙dB/km锛�(寰幆" + (i + 1) + ")鈭�1005");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 2) {
+ //绗笁琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k <= 6L * nm.size() / 3) {
+ textRenderData.setText(wendu.get(m) + "鈭�52"+j + m);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ int i1 = m + 1;
+ String s = "";
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ textRenderData.setText(s + "鈭�52"+j + i1);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ int i1 = m + 2;
+ String s = "";
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ textRenderData.setText(s + "鈭�52" +j+ i1);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (j == 3) {
+ //绗洓琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ for (int j1 = 0; j1 < 3; j1++) {//涓�寮犺〃3涓俯搴�
+ for (int i1 = 0; i1 < nm.size(); i1++) {//寰幆鍏夌氦椤圭洰:1310nm
+ if (k > 2 * j1 * nm.size() + 2 * i1 && k <= 2 * j1 * nm.size() + 2 * (i1 + 1)) {
+ textRenderData.setText(nm.get(i1) + "鈭�88888" + ((k + 1) / nm.size()) + i1);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ }
+ }
+ else if (j == 4) {
+ //绗簲琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鍏夌氦鑹叉爣@ScanningNumber鈭�1004");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k % 2 == 1) {
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
+ textRenderData.setText("琛板噺" + "鈭�42" +j+ k);
+ } else {
+ textRenderData.setText(" 琛板噺 ");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
+ textRenderData.setText("琛板噺" + "鈭�42"+j + (k - 1));
+ } else {
+ textRenderData.setText("|鈭� 伪|");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (j == size2 + 5) {
+ //鍊掓暟绗笁琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("|max|");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (k % 2 == 0) {
+ String s = "";
+ if (k <= 6L * nm.size() / 3) {
+ s = wendu.get(m);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ } else {
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ }
+ //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
+ if (s.equals("")) {
+ textRenderData.setText("");
+ } else {
+ try {
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")){
+ List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
+ .stream().map(InsProduct::getId).collect(Collectors.toList());
+ List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
+ Optional<String> max = insProductResults.stream().map(insProductResult -> {
+ {
+ String[] splitStr = insProductResult.getComValue().split(":");
+ return splitStr[splitStr.length - 1].split("\"")[1];
+ }
+ }).filter(value -> !value.isEmpty()).max(String::compareTo);
+ textRenderData.setText(max.get() + "鈭�"+j+ (k-1));
+ }else {
+ Optional<String> max = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())))
+ .stream().map(InsProduct::getLastValue)
+ .filter(value -> !value.isEmpty())
+ .max(String::compareTo);
+ if (max.isPresent()) {
+ textRenderData.setText(max.get());
+ } else {
+ textRenderData.setText("");
+ }
+ }
+ } catch (Exception e) {
+ textRenderData.setText("");
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ String s = "";
+ if (k <= 6L * nm.size() / 3) {
+ s = wendu.get(m);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ } else {
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ }
+ //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑骞冲潎鍊肩殑鏈�澶у��
+ if (s.equals("")) {
+ textRenderData.setText("");
+ } else {
+ List<Integer> ips = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size()))).stream().map(InsProduct::getId).collect(Collectors.toList());
+ List<InsProductResult> insProductResults = insProductResultMapper.selDetail(ips);
+ Optional<String> max = insProductResults.stream().map(insProductResult -> {
+ {
+ String[] splitStr = insProductResult.getComValue().split(":");
+ return splitStr[splitStr.length - 1].split("\"")[1];
+ }
+ }).filter(value -> !value.isEmpty()).max(String::compareTo);
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")){
+ textRenderData.setText(max.get() + "鈭�"+j+ k);
+ }else {
+ if (max.isPresent()) {
+ textRenderData.setText(max.get());
+ } else {
+ textRenderData.setText("");
+ }
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (j == size2 + 6) {
+ //鍊掓暟绗簩琛�
+ if (k == 0) {
+ //绗竴鍒�
+ textRenderData.setText("|鈭� 伪 max|");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k % 2 == 0) {
+ String s = "";
+ if (k <= 6L * nm.size() / 3) {
+ s = wendu.get(m);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ } else {
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ }
+ //璁$畻绗�()娓╁害鐨勭()涓」鐩殑鎵�鏈夎壊鏍囩殑鏈�缁堝�肩殑鏈�澶у��
+ if (s.equals("")) {
+ textRenderData.setText("");
+ } else {
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
+ textRenderData.setText("-" + "鈭�" + j + (k-1));
+ } else {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
+ try {
+ Optional<String> max = insProducts.stream().map(InsProduct::getLastValue)
+ .filter(value -> !value.isEmpty())
+ .max(String::compareTo);
+ if (max.isPresent()) {
+ textRenderData.setText(max.get());
+ } else {
+ textRenderData.setText("");
+ }
+ } catch (Exception e) {
+ textRenderData.setText("");
+ }
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ if (k <= 6L * nm.size() / 3 && wendu.get(m).equals("20鈩�(甯告俯)")) {
+ textRenderData.setText("-" + "鈭�" + j + k);
+ } else {
+ textRenderData.setText("-");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (j == size2 + 7) {
+ //鍊掓暟绗竴琛�
+ textRenderData.setText("鈥渱鈭� 伪|鈥濊〃绀洪檮鍔犺“鍑忕粷瀵瑰�尖垜111111");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //鍏朵綑濉啓妫�楠屽�肩殑鍐呭
+ if (k == 0) {
+ //绗竴鍒楀~鍐欒壊鏍�
+ InsFiber insFiber = insFibers.get((j - 5));
+ textRenderData.setText(insFiber.getBushColor() + "-" + insFiber.getColor());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (k % 2 == 0) {
+ //濉啓琛板噺宸氨鏄痩ast_value
+ String s = "";
+ if (k <= 6L * nm.size() / 3) {
+ s = wendu.get(m);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ } else {
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ }
+ if (s.isEmpty()) {
+ textRenderData.setText("");
+ } else {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 2) / 2 % nm.size())));
+ if (k <= 6L * nm.size() / 3 && s.equals("20鈩�(甯告俯)")) {
+ String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
+ .getComValue();
+ String[] splitStr = comValue.split(":");
+ textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "鈭�" + j + (k - 1));
+ } else {
+ textRenderData.setText(insProducts.get(0).getLastValue());
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //濉啓鍏朵綑姝e父娓╁害鐨勮“鍑�(result琛ㄩ噷闈㈢殑com_value)
+ String s = "";
+ if (k <= 6L * nm.size() / 3) {
+ s = wendu.get(m);
+ } else if (k > 6L * nm.size() / 3 && k <= 6L * nm.size() / 3 * 2) {
+ try {
+ s = wendu.get(m + 1);
+ } catch (Exception e) {
+ }
+ } else {
+ try {
+ s = wendu.get(m + 2);
+ } catch (Exception e) {
+ }
+ }
+ if (s.equals("")) {
+ textRenderData.setText("");
+ } else {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInsFiberId, insFibers.get(j - 5).getId())
+ .eq(InsProduct::getInspectionItem, i + 1)
+ .eq(InsProduct::getInspectionItemSubclass, s)
+ .eq(InsProduct::getInspectionItemClass, nm.get((k - 1) / 2 % nm.size())));
+ String comValue = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProducts.get(0).getId()))
+ .getComValue();
+ String[] splitStr = comValue.split(":");
+ if (k <= 6L * nm.size() / 3 && s.equals("20鈩�(甯告俯)")) {
+ textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1] + "鈭�" + j + k);
+ } else {
+ textRenderData.setText(splitStr[splitStr.length - 1].split("\"")[1]);
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (!rowRenderData.getCells().isEmpty()) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table3", tableRenderData);
+ table.put("report", insReport);
+ table.put("index3", index3.get());
+ tables3.add(table);
+ index3.getAndIncrement();
+ }
+ }
+ });
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureTestReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureTestReportHandler.java
new file mode 100644
index 0000000..a210734
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/TemperatureTestReportHandler.java
@@ -0,0 +1,367 @@
+package com.ruoyi.require.handler;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsProductResultMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsProductResult;
+import com.ruoyi.inspect.pojo.InsReport;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 娓╁崌璇曢獙鎶ュ憡澶勭悊绫�
+ */
+public class TemperatureTestReportHandler {
+
+ private final InsProductMapper insProductMapper;
+
+ private final InsProductResultMapper insProductResultMapper;
+
+ public TemperatureTestReportHandler(InsProductMapper insProductMapper, InsProductResultMapper insProductResultMapper){
+ this.insProductMapper = insProductMapper;
+ this.insProductResultMapper = insProductResultMapper;
+ }
+
+ /**
+ *
+ * @param samples 褰撳墠璁㈠崟鐨勬墍鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables3 娓╁崌璇曢獙闄勪欢琛ㄦ牸鏁版嵁
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables3){
+ samples.forEach(sample -> {
+ //鏌ヨ娓╁崌璇曢獙涓嬬殑妫�楠岄」鐩�
+ List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ //鏌ヨ濉啓鐨勬楠屽�兼湁澶氬皯绉�
+ InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0);
+ int vCount = StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\"");
+ long index3 = 1;
+ for (int c = 0; c < vCount; c++) {
+ if (c % 16 == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (int i = 0; i < 3 + vCount; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ String a = null;//瀵肩嚎娓╁害
+ String b = null;//鑰愬紶娓╁害
+ String d = null;//鎺ョ画娓╁害
+ //鍒楁暟
+ for (int j = 0; j < 6; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (i == 0) {
+ //绗竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗笁鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type and size");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 3) {
+ //绗洓鍒�
+ textRenderData.setText(sample.getModel());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4) {
+ //绗簲鍒�
+ textRenderData.setText("妫�娴嬮」@Testing items");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗叚鍒�
+ textRenderData.setText("娓╁崌璇曢獙@Temperature rise test");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("瀵肩嚎娓╁害@Wire temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗笁鍒�
+ textRenderData.setText("鑰愬紶娓╁害@Tensile temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 3) {
+ //绗洓鍒�
+ textRenderData.setText("鎺ョ画娓╁害@Connection temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗簲鍒楃鍏垪
+ textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 2 + vCount) {
+ //鏈�鍚庝竴琛�
+ if (j == 0 || j == 1) {
+ //绗竴鍒楀拰绗簩鍒�
+ textRenderData.setText("澶囨敞鈭�101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //鍏朵綑鍒�
+ textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜102");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else {
+ //鍏朵綑琛�
+ if (j == 0) {
+ //绗竴鍒�(鐜娓╁害)
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
+ String vValue = jsonObject.getString("v");
+ System.out.println("鐜娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 1) {
+ //绗簩鍒�(瀵肩嚎娓╁害)
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
+ String vValue = jsonObject.getString("v");
+ a = vValue;
+ System.out.println("瀵肩嚎娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 2) {
+ //绗笁鍒�(鑰愬紶娓╁害)
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
+ String vValue = jsonObject.getString("v");
+ b = vValue;
+ System.out.println("鑰愬紶娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ } else {
+ textRenderData.setText("");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 3) {
+ //绗洓鍒�(鎺ョ画娓╁害)
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 2);
+ String vValue = jsonObject.getString("v");
+ d = vValue;
+ System.out.println("鎺ョ画娓╁害绗� " + (i - 1) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ } else {
+ textRenderData.setText("");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //绗簲鍒� 绗叚鍒�(缁撹)
+ //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸
+ BigDecimal decimal1 = new BigDecimal(a);
+ BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b);
+ BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d);
+ if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) {
+ textRenderData.setText("鈭氣垜20"+i);
+ } else {
+ textRenderData.setText("脳鈭�20"+i);
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /*for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table3", tableRenderData);
+ table.put("report", insReport);
+ table.put("index3", index3);
+ tables3.add(table);
+ index3++;
+ }
+ }
+ });
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/handler/ThermalCycleReportHandler.java b/cnas-require/src/main/java/com/ruoyi/require/handler/ThermalCycleReportHandler.java
new file mode 100644
index 0000000..05a560b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/handler/ThermalCycleReportHandler.java
@@ -0,0 +1,599 @@
+package com.ruoyi.require.handler;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.*;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsProductResultMapper;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsProductResult;
+import com.ruoyi.inspect.pojo.InsReport;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
+import org.apache.poi.xwpf.usermodel.TableRowAlign;
+import org.apache.poi.xwpf.usermodel.XWPFTable;
+import org.apache.poi.xwpf.usermodel.XWPFTableCell;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鐑惊鐜姤鍛婂鐞嗙被
+ */
+public class ThermalCycleReportHandler {
+
+
+ private final InsProductMapper insProductMapper;
+
+ private final InsProductResultMapper insProductResultMapper;
+
+ public ThermalCycleReportHandler(InsProductMapper insProductMapper, InsProductResultMapper insProductResultMapper){
+ this.insProductMapper = insProductMapper;
+ this.insProductResultMapper = insProductResultMapper;
+ }
+
+ /**
+ *
+ * @param samples 褰撳墠璁㈠崟鐨勬墍鏈夋牱鍝�
+ * @param insReport report瀵硅薄
+ * @param tables3 鐑惊鐜檮浠惰〃鏍兼暟鎹�
+ */
+ public void doWrite(List<SampleProductDto> samples, InsReport insReport, List<Map<String,Object>> tables3){
+ samples.forEach(sample -> {
+ //璁$畻鏁版嵁鐨勮鏁�,鍏堟煡鍑烘湁澶氬皯娆″惊鐜�,鍐嶆煡姣忎釜寰幆鐨勫~鍐欐暟閲�
+ InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItem, "鐑惊鐜�"));
+ String[] split = insProduct.getAsk().split(";");
+ Integer cycle = Integer.parseInt(split[split.length - 1]);//寰幆娆℃暟
+ int vCount = 0;
+ List<Integer> list = new ArrayList<>();
+ for (Integer i = 1; i <= cycle; i++) {
+ //鏌ユ瘡涓惊鐜噷闈㈢殑濉啓鏁伴噺
+ List<InsProduct> insPros = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .eq(InsProduct::getInspectionItemClass, "鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, i + ""));
+ InsProductResult insProductResult = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPros.get(0).getId())).get(0);
+ vCount += StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\"");
+ list.add(StringUtils.countMatches(insProductResult.getInsValue(), "\"v\":\""));
+ }
+ long index3 = 1;
+ for (int c = 0; c < vCount; c++) {
+ if (c % 18 == 0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛ㄦ牸鐨勮鏁�
+ for (int i = 0; i < 4 + vCount; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ String a = null;//瀵肩嚎娓╁害
+ String b = null;//鑰愬紶娓╁害
+ String d = null;//鎺ョ画娓╁害
+ //鍒楁暟
+ for (int j = 0; j < 9; j++) {
+ CellRenderData cellRenderData = new CellRenderData();
+ CellStyle cellStyle = new CellStyle();
+ cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+ cellRenderData.setCellStyle(cellStyle);
+ List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+ ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+ ParagraphStyle paragraphStyle = new ParagraphStyle();
+ paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+ paragraphRenderData.setParagraphStyle(paragraphStyle);
+ List<RenderData> renderData = new ArrayList<>();
+ TextRenderData textRenderData = new TextRenderData();
+ Style style = new Style();
+ style.setFontFamily("瀹嬩綋");
+ style.setColor("000000");
+ textRenderData.setStyle(style);
+ if (i == 0) {
+ //绗竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("鏍峰搧缂栧彿@Sample number");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(sample.getSampleCode());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2 || j == 3) {
+ //绗笁鍒楀拰绗洓鍒�
+ textRenderData.setText("瑙勬牸鍨嬪彿@Type and size鈭�301");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4 || j == 5) {
+ //绗簲鍒楀拰绗叚鍒�
+ textRenderData.setText(sample.getModel()+"鈭�302");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 6) {
+ //绗竷鍒�
+ textRenderData.setText("妫�娴嬮」@Testing items");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗叓鍒楀拰绗節鍒�
+ textRenderData.setText("鐑惊鐜疈Thermal cycle鈭�303");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 1) {
+ //绗簩琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2 || j == 3) {
+ //绗笁鍒楀拰绗洓鍒�
+ textRenderData.setText("瀵肩嚎@Conductor鈭�102");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4 || j == 5) {
+ //绗簲鍒楀拰绗叚鍒�
+ textRenderData.setText("鑰愬紶绾垮す@Tension clamp鈭�103");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 6 || j == 7) {
+ //绗竷鍒楃鍏垪
+ textRenderData.setText("鎺ョ画閲戝叿@Splicing fittings鈭�104");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗節鍒�
+ textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 2) {
+ //绗笁琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("寰幆娆℃暟@Number of cycles(times)鈭�100");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("鐜娓╁害@Ambient temperature锛堚剝锛夆垜101");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 2) {
+ //绗笁鍒�
+ textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 3) {
+ //绗洓鍒�
+ textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 4) {
+ //绗簲鍒�
+ textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 5) {
+ //绗叚鍒�
+ textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 6) {
+ //绗竷鍒�
+ textRenderData.setText("娓╁害@Temperature锛堚剝锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 7) {
+ //绗叓鍒�
+ textRenderData.setText("鐩存祦鐢甸樆@DC resistance锛埼�/km锛�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗節鍒�
+ textRenderData.setText("缁撴灉鍒ゅ畾@Result judgment鈭�105");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 3 + vCount) {
+ //鏈�鍚庝竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("澶囨敞");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //鍏朵綑鍒�
+ textRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍硷紝鈥溍椻�濊〃绀洪」鐩笉鍚堟牸銆傗垜108");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else {
+ //鍏朵綑琛�
+ if (j == 0) {
+ //绗竴鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ textRenderData.setText((m+1)+"");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 1) {
+ //绗簩鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鐜娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3-(aa-list.get(m)));
+ String vValue = jsonObject.getString("v");
+ System.out.println("鐜娓╁害绗� " + (i - 2-(aa-list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 2) {
+ //绗笁鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("v");
+ a=vValue;
+ System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 3) {
+ //绗洓鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "瀵肩嚎娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("w");
+ System.out.println("瀵肩嚎娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 4) {
+ //绗簲鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("v");
+ b=vValue;
+ System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 5) {
+ //绗叚鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("w");
+ System.out.println("鑰愬紶娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 6) {
+ //绗竷鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("v");
+ d=vValue;
+ System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'v' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 7) {
+ //绗叓鍒�
+ int aa= 0;
+ for (int m = 0; m < cycle; m++) {
+ aa += list.get(m);
+ if (i-3<aa){
+ InsProduct insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害")
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .eq(InsProduct::getInspectionItemClass,"鐩存祦鐢甸樆")
+ .isNull(InsProduct::getInsFiberId)
+ .eq(InsProduct::getInspectionItem, (m+1)+""));
+ if (ObjectUtils.isNotEmpty(insPro)) {
+ String insValue = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId())).get(0).getInsValue();
+ JSONArray jsonArray = JSONArray.parseArray(insValue);
+ JSONObject jsonObject = jsonArray.getJSONObject(i - 3 - (aa - list.get(m)));
+ String vValue = jsonObject.getString("w");
+ System.out.println("鎺ョ画娓╁害绗� " + (i - 2 - (aa - list.get(m))) + " 涓� 'w' 瀛楁鐨勫�兼槸: " + vValue);
+ textRenderData.setText(vValue);
+ }else textRenderData.setText("");
+ break;
+ }
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ //鍒ゆ柇鍚堟牸涓庝笉鍚堟牸
+ BigDecimal decimal1 = new BigDecimal(a);
+ BigDecimal decimal2 = new BigDecimal(b == null ? "0" : b);
+ BigDecimal decimal3 = new BigDecimal(d == null ? "0" : d);
+ if (decimal1.compareTo(decimal2) > 0 && decimal1.compareTo(decimal3) > 0) {
+ textRenderData.setText("鈭�");
+ } else {
+ textRenderData.setText("脳");
+ }
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ /*for (CellRenderData cell : row.getCells()) {
+ System.out.print(cell.getParagraphs().get(0).getContents());
+ }
+ System.out.println("");*/
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑5");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(14);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table = new HashMap<>();
+ table.put("table3", tableRenderData);
+ table.put("report", insReport);
+ table.put("index3", index3);
+ tables3.add(table);
+ index3++;
+ }
+ }
+
+ });
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DataConfigMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DataConfigMapper.java
new file mode 100644
index 0000000..b4ae8d0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DataConfigMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.dto.DeviceConfigDtoPage;
+import com.ruoyi.require.pojo.DataConfig;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-13 12:23:00
+ */
+public interface DataConfigMapper extends BaseMapper<DataConfig> {
+
+ List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
+
+ List<Integer> deleteDataConfig();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceBorrowMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceBorrowMapper.java
new file mode 100644
index 0000000..e1309f4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceBorrowMapper.java
@@ -0,0 +1,25 @@
+package com.ruoyi.require.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.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultMapper.java
new file mode 100644
index 0000000..d802cdd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultOneMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultOneMapper.java
new file mode 100644
index 0000000..98dd4bc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceFaultOneMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceFaultOneDto;
+import com.ruoyi.require.pojo.DeviceFaultOne;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 璁惧鏁呴殰琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-26 02:03:29
+ */
+public interface DeviceFaultOneMapper extends BaseMapper<DeviceFaultOne> {
+
+ IPage<DeviceFaultOneDto> deviceFaultOnePage(@Param("deviceId") Integer deviceId, Page page, @Param("processNumber") String processNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceLogMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceLogMapper.java
new file mode 100644
index 0000000..2f68faa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceLogMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/DeviceMaintenanceMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMaintenanceMapper.java
new file mode 100644
index 0000000..b453cb8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMaintenanceMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.require.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.dto.DeviceMaintenanceExport;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/DeviceMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMapper.java
new file mode 100644
index 0000000..80b6a37
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMapper.java
@@ -0,0 +1,43 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.pojo.Device;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 璁惧(Device)琛ㄦ暟鎹簱璁块棶灞�
+ */
+public interface DeviceMapper extends BaseMapper<Device> {
+
+ IPage<Device> selectDeviceParameter(Page page, QueryWrapper<Device> ew);
+ List<Device> selectEquipmentOverview(Page page, QueryWrapper<Device> ew);
+
+ //鑾峰彇琚巿鏉冧汉
+ List<Device> authorizedPerson();
+
+ //鏌ヨ
+ List<Device> search(@Param(value = "status") Integer status, @Param(value = "deviceName") String deviceName,
+ @Param(value = "specificationModel") String specificationModel, @Param(value = "largeCategory") String largeCategory);
+
+ //鑾峰彇鍥剧墖鏁版嵁
+ void selectDeviceImage(@Param(value = "name") String name ,@Param(value = "id") Integer id);
+
+ //鏌ヨ璁惧璐熻矗浜�
+ List<Device> selectDevicePrincipal();
+
+ IPage<DeviceDto> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceDto> queryWrappers, @Param("laboratoryNameIsNull") Boolean laboratoryNameIsNull);
+
+ List<Map<String, Object>> getInspectionItemSubclass(@Param("id") Integer id);
+
+ List<Map<String, Object>> treeDevice(@Param("deviceName") String deviceName);
+
+ DeviceDto selectDeviceByCode(Integer id);
+}
+
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricMapper.java
new file mode 100644
index 0000000..9a708d9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.DeviceMetric;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricRecordMapper.java
new file mode 100644
index 0000000..2943fbe
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricRecordMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:01
+ */
+public interface DeviceMetricRecordMapper extends BaseMapper<DeviceMetricRecord> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricsCopyMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricsCopyMapper.java
new file mode 100644
index 0000000..cf8e1cc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceMetricsCopyMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.DeviceMetricsCopy;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+public interface DeviceMetricsCopyMapper extends BaseMapper<DeviceMetricsCopy> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceRecordMapper.java
new file mode 100644
index 0000000..b5eee62
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceRecordMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceRecordDto;
+import com.ruoyi.require.excel.DeviceRecordExport;
+import com.ruoyi.require.pojo.DeviceRecord;
+import org.apache.ibatis.annotations.Param;
+
+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(@Param("deviceId") Integer deviceId, Page page,@Param("deviceNumber") String deviceNumber);
+
+ List<DeviceRecordExport> incidentReportExport(Integer deviceId);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceStateMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceStateMapper.java
new file mode 100644
index 0000000..6fb99be
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DeviceStateMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceStateDto;
+import com.ruoyi.require.pojo.DeviceState;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 璁惧鍋滅敤/鍚敤 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-26 09:51:40
+ */
+public interface DeviceStateMapper extends BaseMapper<DeviceState> {
+
+ IPage<DeviceStateDto> getDeviceStatePage(@Param("deviceId") Integer deviceId, Page page,@Param("processNumber") String processNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/DocumentDao.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/DocumentDao.java
new file mode 100644
index 0000000..d89f523
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/DocumentDao.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.Document;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DocumentDao extends BaseMapper<Document> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeCalibrationScheduleMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeCalibrationScheduleMapper.java
new file mode 100644
index 0000000..442b314
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeCalibrationScheduleMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeCalibrationSchedule;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+public interface FeCalibrationScheduleMapper extends BaseMapper<FeCalibrationSchedule> {
+
+ IPage<FeCalibrationSchedule> ipage(Page page, @Param("instrumentName") String instrumentName, @Param("managementNumber") String managementNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java
new file mode 100644
index 0000000..8c03dbc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+public interface FeIlluminationDetectionAreaMapper extends BaseMapper<FeIlluminationDetectionArea> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java
new file mode 100644
index 0000000..8e1dfa1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeIlluminationDto;
+import com.ruoyi.require.dto.FeIlluminationExportDto;
+import com.ruoyi.require.pojo.FeIllumination;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+public interface FeIlluminationMapper extends BaseMapper<FeIllumination> {
+
+ IPage<FeIlluminationDto> getFeLightningProtection(Page page);
+
+ /**
+ * 鏌ヨ鐓ф槑璁板綍
+ * @param intensityIlluminationId
+ * @return
+ */
+ FeIlluminationExportDto selectFeIllumination(Integer intensityIlluminationId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java
new file mode 100644
index 0000000..f32393a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.pojo.FeLightningProtection;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+public interface FeLightningProtectionMapper extends BaseMapper<FeLightningProtection> {
+
+ List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java
new file mode 100644
index 0000000..9b25b5e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+public interface FeMeasuredQuantityMapper extends BaseMapper<FeMeasuredQuantity> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java
new file mode 100644
index 0000000..95ec45e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java
@@ -0,0 +1,34 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FePowerStableDto;
+import com.ruoyi.require.dto.FePowerStableExportDto;
+import com.ruoyi.require.pojo.FePowerStable;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+public interface FePowerStableMapper extends BaseMapper<FePowerStable> {
+
+ IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
+
+ Map<String, Objects> getCalibrationDate(Integer deviceId);
+
+ /**
+ * 鏌ヨ鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @return
+ */
+ FePowerStableExportDto selectPowerStable(@Param("powerStableId") Integer powerStableId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
new file mode 100644
index 0000000..d65993b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+public interface FeStandardSubstanceAcceptanceInspectionMapper extends BaseMapper<FeStandardSubstanceAcceptanceInspection> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceMapper.java
new file mode 100644
index 0000000..cc14a6c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceAcceptanceMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.require.vo.AcceptanceVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+public interface FeStandardSubstanceAcceptanceMapper extends BaseMapper<FeStandardSubstanceAcceptance> {
+
+
+ IPage<AcceptanceVo> getPageAcceptance(Page page, @Param("name")String name);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceMapper.java
new file mode 100644
index 0000000..2340206
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeStandardSubstance;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+public interface FeStandardSubstanceMapper extends BaseMapper<FeStandardSubstance> {
+
+ IPage<FeStandardSubstance> getPage(Page page,@Param("ew")FeStandardSubstance feStandardSubstance);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceRecordMapper.java
new file mode 100644
index 0000000..c847574
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeStandardSubstanceRecordMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.require.vo.SubstanceRecordVo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+public interface FeStandardSubstanceRecordMapper extends BaseMapper<FeStandardSubstanceRecord> {
+
+
+ IPage<SubstanceRecordVo> getPage(Page page,@Param("ew") SubstanceRecordVo vo);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java
new file mode 100644
index 0000000..61b4023
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.pojo.FeTempHumDate;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+public interface FeTempHumDateMapper extends BaseMapper<FeTempHumDate> {
+
+ IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java
new file mode 100644
index 0000000..8e0e9ab
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+public interface FeTempHumRecordMapper extends BaseMapper<FeTempHumRecord> {
+
+ IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java
new file mode 100644
index 0000000..4928a91
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java
@@ -0,0 +1,39 @@
+package com.ruoyi.require.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.ruoyi.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.pojo.ForeignRegister;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+public interface ForeignRegisterMapper extends BaseMapper<ForeignRegister> {
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @return
+ */
+ IPage<ForeignRegisterDto> pageForeignRegister(Page page, @Param("ew") QueryWrapper<ForeignRegisterDto> ew,
+ @Param("beginDate") String beginDate,
+ @Param("endDate") String endDate);
+
+ /**
+ * 鏌ヨ澶栨潵浜哄憳鐧昏鍒楄〃
+ * @param
+ * @return
+ */
+ List<ForeignRegisterDto> getForeignRegisterList(@Param("ew") QueryWrapper<ForeignRegisterDto> ew,
+ @Param("beginDate") String beginDate,
+ @Param("endDate") String endDate);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentAcceptanceCheckMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentAcceptanceCheckMapper.java
new file mode 100644
index 0000000..46fe653
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentAcceptanceCheckMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.mapper;
+
+
+import com.ruoyi.framework.mybatis_config.MyBaseMapper;
+import com.ruoyi.require.pojo.IncidentAcceptanceCheck;
+
+/**
+ * <p>
+ * 璁惧楠屾敹-楠屾敹鏍告煡 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-19 04:41:19
+ */
+public interface IncidentAcceptanceCheckMapper extends MyBaseMapper<IncidentAcceptanceCheck> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentFileMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentFileMapper.java
new file mode 100644
index 0000000..b1b38ba
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentFileMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.mapper;
+
+
+import com.ruoyi.framework.mybatis_config.MyBaseMapper;
+import com.ruoyi.require.pojo.IncidentFile;
+
+/**
+ * <p>
+ * 璁惧楠屾敹-鏂囦欢绫荤‘璁� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-19 04:41:36
+ */
+public interface IncidentFileMapper extends MyBaseMapper<IncidentFile> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentInstallMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentInstallMapper.java
new file mode 100644
index 0000000..6bf9f2c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentInstallMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.mapper;
+
+
+import com.ruoyi.framework.mybatis_config.MyBaseMapper;
+import com.ruoyi.require.pojo.IncidentInstall;
+
+/**
+ * <p>
+ * 璁惧楠屾敹-瀹夎楠屾敹妫�鏌� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-19 04:41:50
+ */
+public interface IncidentInstallMapper extends MyBaseMapper<IncidentInstall> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentReportMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentReportMapper.java
new file mode 100644
index 0000000..2e4fb14
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentReportMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.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.ruoyi.require.dto.IncidentReportAddDto;
+import com.ruoyi.require.excel.IncidentReportExport;
+import com.ruoyi.require.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);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentSparePartsMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentSparePartsMapper.java
new file mode 100644
index 0000000..436bfa9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/IncidentSparePartsMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.mapper;
+
+
+import com.ruoyi.framework.mybatis_config.MyBaseMapper;
+import com.ruoyi.require.pojo.IncidentSpareParts;
+
+/**
+ * <p>
+ * 璁惧楠屾敹-澶囦欢纭 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-19 04:42:06
+ */
+public interface IncidentSparePartsMapper extends MyBaseMapper<IncidentSpareParts> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/InformationNotificationMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InformationNotificationMapper.java
new file mode 100644
index 0000000..fd6bb32
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InformationNotificationMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.InformationNotificationDto;
+import com.ruoyi.require.pojo.InformationNotification;
+
+/**
+ * <p>
+ * 娑堟伅閫氱煡 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-04-23 02:14:30
+ */
+public interface InformationNotificationMapper extends BaseMapper<InformationNotification> {
+
+ IPage<InformationNotificationDto> getPage(Page page, String messageType, Integer userId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/InstructionMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InstructionMapper.java
new file mode 100644
index 0000000..f620a05
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InstructionMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.Instruction;
+
+/**
+ * <p>
+ * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-04 10:29:18
+ */
+public interface InstructionMapper extends BaseMapper<Instruction> {
+
+ IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java
new file mode 100644
index 0000000..39004eb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+public interface InternalWastesDetailMapper extends BaseMapper<InternalWastesDetail> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java
new file mode 100644
index 0000000..75215d3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.require.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.ruoyi.require.dto.InternalWastesDto;
+import com.ruoyi.require.pojo.InternalWastes;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Mapper
+public interface InternalWastesMapper extends BaseMapper<InternalWastes> {
+
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param ew
+ * @return
+ */
+ IPage<InternalWastesDto> pageInternalWastes(Page page, @Param("ew") QueryWrapper<InternalWastes> ew);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/OperationInstructionMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/OperationInstructionMapper.java
new file mode 100644
index 0000000..d4feb95
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/OperationInstructionMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.OperationInstruction;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/PkMasterMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/PkMasterMapper.java
new file mode 100644
index 0000000..6f745a8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/PkMasterMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.PkMaster;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-29 01:16:26
+ */
+public interface PkMasterMapper extends BaseMapper<PkMaster> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/PkSlaveMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/PkSlaveMapper.java
new file mode 100644
index 0000000..9a2d817
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/PkSlaveMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.PkSlave;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-29 01:16:39
+ */
+public interface PkSlaveMapper extends BaseMapper<PkSlave> {
+
+ List<PkSlave> selectList1(@Param("isid") String isid);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesConsumablesMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesConsumablesMapper.java
new file mode 100644
index 0000000..8d9eddf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesConsumablesMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesConsumables;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProcurementSuppliesConsumablesMapper extends BaseMapper<ProcurementSuppliesConsumables> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java
new file mode 100644
index 0000000..6f41af3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProcurementSuppliesContentsMapper extends BaseMapper<ProcurementSuppliesContents> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesExpendsMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesExpendsMapper.java
new file mode 100644
index 0000000..bbef061
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesExpendsMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.require.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesExpends;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+public interface ProcurementSuppliesExpendsMapper extends BaseMapper<ProcurementSuppliesExpends> {
+
+ IPage<ProcurementSuppliesExpendDto> pageList(Page page, @Param("ew") LambdaQueryWrapper<ProcurementSuppliesExpendDto> eq);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java
new file mode 100644
index 0000000..6b82e8c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.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.ruoyi.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+public interface ProcurementSuppliesListMapper extends BaseMapper<ProcurementSuppliesList> {
+ IPage<ProcurementSuppliesList> selectProcurementSuppliesList(Page page,@Param("contentsId") Long contentsId, @Param("ew") QueryWrapper<ProcurementSuppliesListDto> ew);
+
+ ProcurementSuppliesList selectProcurementSuppliesListForUpdate(@Param("id") Long id);
+
+ List<ProcurementSuppliesList> selectProcurementSuppliesListAll(@Param("ew") ProcurementSuppliesListDto ew);
+
+ List<ProcurementSuppliesList> selectProcurementSuppliesListByContentsId(@Param("id") Integer contentsId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesStoreMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesStoreMapper.java
new file mode 100644
index 0000000..93b16ec
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesStoreMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.dto.StoreDto;
+import com.ruoyi.require.excel.StoreExcel;
+import com.ruoyi.require.pojo.ProcurementSuppliesStore;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface ProcurementSuppliesStoreMapper extends BaseMapper<ProcurementSuppliesStore> {
+
+ IPage<StoreDto> selectStoreList(Page page, @Param("ew") QueryWrapper<StoreDto> ew);
+
+ /**
+ * 鍜屾爲鍏宠仈鐨勬潯浠讹紝锛岋紝鐩墠娌℃湁鍏宠仈鍏崇郴 WHERE s.contents_id = #{contentsId}
+ * @param contentsId
+ * @return
+ */
+ List<StoreExcel> exportExcel(Integer contentsId);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/ReservationMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ReservationMapper.java
new file mode 100644
index 0000000..d607285
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ReservationMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.dto.ReservationDto;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java
new file mode 100644
index 0000000..48abcbc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.SupplierManagement;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Mapper
+public interface SupplierManagementMapper extends BaseMapper<SupplierManagement> {
+
+ IPage<SupplierManagement> pageSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
+
+ IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, @Param("ew") QueryWrapper<SupplierManagement> supplierManagementQueryWrapper);
+
+ List<SupplierManagement> selectSupplierManagementAll(@Param("parentId") Integer parentId);
+
+ List<SupplierManagement> selectSupplierManagement(@Param("parentId")Integer parentId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/SuppliersDirectoryContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/SuppliersDirectoryContentsMapper.java
new file mode 100644
index 0000000..b2e8b89
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/SuppliersDirectoryContentsMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.pojo.SuppliersDirectoryContents;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+public interface SuppliersDirectoryContentsMapper extends BaseMapper<SuppliersDirectoryContents> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/DataConfig.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DataConfig.java
new file mode 100644
index 0000000..baf78dd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DataConfig.java
@@ -0,0 +1,69 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-13 12:23:00
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("device_data_config")
+@ApiModel(value = "DataConfig瀵硅薄", description = "")
+public class DataConfig implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鍏紡")
+ private String formula;
+
+ @ApiModelProperty("鍙傜収X")
+ private String referx;
+
+ @ApiModelProperty("鍙傜収Y")
+ private String refery;
+
+ @ApiModelProperty("x")
+ private String x;
+
+ @ApiModelProperty("y")
+ private String y;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("妫�楠岄」鐩�")
+ private String inspectionItem;
+
+ @ApiModelProperty("妫�楠岄」瀛愰」")
+ private String inspectionItemSubclass;
+
+ @TableField(exist = false)
+ @ApiModelProperty("妫�楠岄」瀛愰」")
+ private String insProductItem;
+
+ @ApiModelProperty("妫�楠岄」id")
+ private Integer structureItemParameterId;
+
+ @ApiModelProperty("搴忓彿")
+ private String serialNumber;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/Device.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/Device.java
new file mode 100644
index 0000000..da31afd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/Device.java
@@ -0,0 +1,140 @@
+package com.ruoyi.require.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.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 璁惧(Device)琛ㄥ璞�
+ */
+@TableName(value = "device")
+@Data
+public class Device implements Serializable {
+ @ApiModelProperty(value = "涓婚敭")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty(value = "璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty(value = "en璁惧鍚嶇О")
+ private String enDeviceName;
+
+ @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+ private String specificationModel;
+
+ @ApiModelProperty(value = "鐢熶骇鍘傚")
+ private String manufacturer;
+
+ @ApiModelProperty(value = "鍑哄巶缂栧彿")
+ private String factoryNo;
+
+ @ApiModelProperty(value = "绠$悊缂栧彿")
+ private String managementNumber;
+
+ @ApiModelProperty(value = "鎶�鏈寚鏍�")
+ private String technicalIndicators;
+
+ @ApiModelProperty(value = "璐疆鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime acquisitionDate;
+
+ @ApiModelProperty(value = "鍚敤鏃ユ湡")
+ private LocalDateTime activationDate;
+
+ @ApiModelProperty(value = "绠$悊浜篒d")
+ private Integer equipmentManager;
+
+ @ApiModelProperty(value = "瀛樻斁鐐�")
+ private String storagePoint;
+
+ @ApiModelProperty(value = "鎵�灞為儴闂↖d")
+ private Integer subordinateDepartmentsId;
+
+ @ApiModelProperty(value = "妫�楠岄」鐩甀d")
+ private String insProductIds;
+
+ @ApiModelProperty(value = "鏍″噯鏈嶅姟鏈烘瀯")
+ private String calibrationServices;
+
+ @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
+ private LocalDateTime lastCalibrationDate;
+
+ @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
+ private LocalDateTime nextCalibrationDate;
+
+ @ApiModelProperty(value = "璁惧绫诲瀷")
+ private String largeCategory;
+
+ @ApiModelProperty(value = "鍗曚环")
+ private BigDecimal unitPrice;
+
+ @ApiModelProperty(value = "璁惧鐘舵��")
+ private Integer deviceStatus;
+
+ @ApiModelProperty(value = "鏍″噯鍛ㄦ湡(鏈�)")
+ private String calibrationDate;
+
+ @ApiModelProperty(value = "鍥剧墖涓婁紶")
+ private String imageUpload;
+
+ @ApiModelProperty(value = "鍥剧墖澶囨敞")
+ private String imageName;
+
+ @ApiModelProperty(value = "鍒涘缓浜篿d")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏁伴噰-鏂囦欢鍚庣紑")
+ private String fileType;
+
+ @ApiModelProperty("鏁伴噰-閲囬泦鍦板潃")
+ private String collectUrl;
+
+ @ApiModelProperty("鏁伴噰-瀛樺偍鍦板潃")
+ private String storageUrl;
+
+ @ApiModelProperty("鏁伴噰-璁惧IP")
+ private String ip;
+
+ @ApiModelProperty("鏁伴噰-鏄惁涓烘暟閲囪澶�")
+ @TableField(exist = false)
+ private Boolean isItADataAcquisitionDevice;
+
+ @ApiModelProperty("鏁伴噰-濮旀墭瀛楁")
+ private String entrustCode;
+
+ @ApiModelProperty("鏁伴噰-鏍峰搧瀛楁")
+ private String sampleCode;
+
+ @ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
+ private String dbFileName;
+
+ @ApiModelProperty("鏁伴噰-db鏂囦欢 鍏夌氦甯︾紪鍙�")
+ private String fiberOpticRibbon;
+
+ @ApiModelProperty("琚巿鏉冧汉")
+ private String authorizedPerson;
+
+ @ApiModelProperty("璧勪骇缂栫爜")
+ private String assetCode;
+
+ @ApiModelProperty("浜у湴")
+ private String origin;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceBorrow.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceBorrow.java
new file mode 100644
index 0000000..2650cb7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceBorrow.java
@@ -0,0 +1,145 @@
+package com.ruoyi.require.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 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 implements Serializable {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ @ExcelIgnore
+ private Integer id;
+
+ @ApiModelProperty("娴佺▼缂栧彿")
+ @ExcelProperty(value = "娴佺▼缂栧彿")
+ private String processNumber;
+
+ @ApiModelProperty("璁惧id")
+ @ExcelIgnore
+ private Integer deviceId;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ @ExcelProperty(value = "绠$悊缂栧彿")
+ private String unifyNumber;
+
+ @ApiModelProperty("鍊熺敤浜�")
+ @ExcelProperty(value = "鍊熺敤浜�")
+ private String recipientUser;
+
+ @ExcelProperty(value = "鍊熺敤浜鸿仈绯绘柟寮�")
+ @ApiModelProperty("鍊熺敤浜鸿仈绯绘柟寮�")
+ private String borrowerContactInformation;
+
+ @ApiModelProperty("鍊熺敤鏃剁姸鎬�")
+ @ExcelProperty(value = "鍊熺敤鏃剁姸鎬�")
+ //0鍚堟牸;1缁翠慨;2鍋滅敤;3鎶ュ簾
+ private Integer recipientState;
+
+ @ApiModelProperty("鍊熺敤鏃ユ湡")
+ @ExcelProperty(value = "鎻愪氦鏃ユ湡")
+ private Date recipientTime;
+
+ @ApiModelProperty("鍊熷嚭浜�")
+ @ExcelProperty(value = "鍊熷嚭浜�")
+ private String submitUser;
+
+ @ApiModelProperty("鍊熷嚭鏃ユ湡")
+ @ExcelProperty(value = "鍊熷嚭鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("褰撳墠鐘舵��")
+ @ExcelProperty(value = "褰撳墠鐘舵��")
+ private String nowState;
+
+ @ApiModelProperty("褰撳墠璐d换浜�")
+ @ExcelProperty(value = "褰撳墠璐d换浜�")
+ private String nowUser;
+
+ @ExcelIgnore
+ @ApiModelProperty("闄勪欢")
+ //璺緞
+ private String url;
+
+ @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;
+
+ @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-require/src/main/java/com/ruoyi/require/pojo/DeviceFault.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFault.java
new file mode 100644
index 0000000..ac25b0f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFault.java
@@ -0,0 +1,39 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/DeviceFaultOne.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFaultOne.java
new file mode 100644
index 0000000..346763d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceFaultOne.java
@@ -0,0 +1,125 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/DeviceLog.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceLog.java
new file mode 100644
index 0000000..8ebd726
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceLog.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/DeviceMaintenance.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMaintenance.java
new file mode 100644
index 0000000..ae8f516
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMaintenance.java
@@ -0,0 +1,42 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/DeviceMetric.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetric.java
new file mode 100644
index 0000000..5f7e777
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetric.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricRecord.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricRecord.java
new file mode 100644
index 0000000..59b8bb3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricRecord.java
@@ -0,0 +1,115 @@
+package com.ruoyi.require.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+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 org.springframework.format.annotation.DateTimeFormat;
+
+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 = "璁惧鏍″噯 - 鏍″噯璁板綍")
+@ExcelIgnoreUnannotated
+public class DeviceMetricRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("璁板綍缂栧彿")
+ @ExcelProperty(value = "璁板綍缂栧彿",index = 0)
+ private String processNumber;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ @ExcelProperty(value = "鏈烘瀯",index = 1)
+ private String unitOfMeasure;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ @ExcelProperty(value = "鏍″噯/鏍告煡鏃ユ湡",index = 5)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ColumnWidth(20)
+ private Date calibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ @ExcelProperty(value = "涓嬫鏍″噯/鏍告煡鏃ユ湡",index = 6)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ColumnWidth(20)
+ private Date nextCalibrationDate;
+
+ @ApiModelProperty("璁$畻鍣ㄥ叿")
+ private String calculatingApparatus;
+
+ @ApiModelProperty("璁$畻鏍囧噯閲忕▼")
+ private String standardRange;
+
+ @ApiModelProperty("璁¢噺鏍囧噯涓嶇‘瀹氬害")
+ private String calibrationStandardUncertainty;
+
+ @ApiModelProperty("渚濇嵁鏂囦欢")
+ private String byDocument;
+
+ @ApiModelProperty("璇佷功缂栧彿")
+ @ExcelProperty(value = "鏍″噯/鏍告煡璇佷功缂栧彿",index = 3)
+ private String certificateSerialNumber;
+
+ @ApiModelProperty("鐘舵��")
+ @ExcelProperty(value = "鏍″噯/鏍告煡缁撹",index = 2)
+ private String status;
+
+ @ApiModelProperty("鍘熸枃浠跺悕绉�")
+ private String fileName;
+
+ @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О")
+ private String systemFileName;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty(value = "璇存槑",index = 4)
+ private String remark;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿 / 鐧昏鏃ユ湡")
+ @TableField(fill = FieldFill.INSERT)
+ @ExcelProperty(value = "鐧昏鏃ユ湡",index = 9)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ColumnWidth(20)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鐧昏浜�")
+ @ExcelProperty(value = "鐧昏浜�",index = 8)
+ private String createUser;
+
+ @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�")
+ private String type;
+
+ @ApiModelProperty("纭鏃堕棿")
+ @ExcelProperty(value = "纭鏃ユ湡",index = 7)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @ColumnWidth(20)
+ private Date confirmDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricsCopy.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricsCopy.java
new file mode 100644
index 0000000..d9b2294
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceMetricsCopy.java
@@ -0,0 +1,73 @@
+package com.ruoyi.require.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+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.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+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 = "璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰")
+@ExcelIgnoreUnannotated
+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("鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ 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-require/src/main/java/com/ruoyi/require/pojo/DeviceRecord.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceRecord.java
new file mode 100644
index 0000000..d329173
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceRecord.java
@@ -0,0 +1,64 @@
+package com.ruoyi.require.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.LocalDate;
+
+/**
+ * <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("璁惧缂栧彿")
+ private String deviceNumber;
+
+ @ApiModelProperty("娓╁害")
+ private String temperature;
+
+ @ApiModelProperty("婀垮害")
+ private String humidity;
+
+ @ApiModelProperty("浣跨敤鍓�0浠h〃涓嶆甯�1浠h〃姝e父")
+ private Integer useBefore;
+
+ @ApiModelProperty("浣跨敤鍚�0浠h〃涓嶆甯�1浠h〃姝e父")
+ private Integer useAfter;
+
+ @ApiModelProperty("寮傚父鎯呭喌")
+ private String abnormal;
+
+ @ApiModelProperty("浣跨敤浜�")
+ private String usePerson;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("浣跨敤寮�濮嬫棩鏈�")
+ private LocalDate useStartDate;
+
+ @ApiModelProperty("浣跨敤缁撴潫鏃ユ湡")
+ private LocalDate useEndDate;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceState.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceState.java
new file mode 100644
index 0000000..cff2941
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/DeviceState.java
@@ -0,0 +1,107 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/Document.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/Document.java
new file mode 100644
index 0000000..743b604
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/Document.java
@@ -0,0 +1,89 @@
+package com.ruoyi.require.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;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeCalibrationSchedule.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeCalibrationSchedule.java
new file mode 100644
index 0000000..a912705
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeCalibrationSchedule.java
@@ -0,0 +1,81 @@
+package com.ruoyi.require.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-11-13 02:53:05
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_calibration_schedule")
+@ApiModel(value = "FeCalibrationSchedule瀵硅薄", description = "浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛�")
+public class FeCalibrationSchedule implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("浠櫒鍚嶇О")
+ private String instrumentName;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private Integer managementNumber;
+
+ @ApiModelProperty("鎶�鏈寚鏍�")
+ private String technicalIndicators;
+
+ @ApiModelProperty("妫�瀹氬懆鏈�")
+ private String verificationCyde;
+
+ @ApiModelProperty("妫�瀹氬崟浣�")
+ private String verificationUnit;
+
+ @ApiModelProperty("鏈�杩戞瀹氭椂闂�")
+ private LocalDateTime recentlyTime;
+
+ @ApiModelProperty("璁″垝涓嬫妫�瀹氭椂闂�")
+ private LocalDateTime nextTime;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("缂栧埗")
+ private String organization;
+
+ @ApiModelProperty("缂栧埗鏃ユ湡")
+ private LocalDateTime organizationDate;
+
+ @ApiModelProperty("鎵瑰噯")
+ private String approve;
+
+ @ApiModelProperty("鎵瑰噯鏃ユ湡")
+ private LocalDateTime approveDate;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java
new file mode 100644
index 0000000..f2070b7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java
@@ -0,0 +1,55 @@
+package com.ruoyi.require.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;
+import java.util.Date;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_illumination")
+@ApiModel(value = "FeIllumination瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�")
+public class FeIllumination implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("鐓у害璁板綍琛╥d")
+ @TableId(value = "intensity_illumination_id", type = IdType.AUTO)
+ private Integer intensityIlluminationId;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("缁撹")
+ private String conclusion;
+
+ @ApiModelProperty("妫�娴嬩汉")
+ private Integer testerId;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private Integer checkerId;
+
+ @ApiModelProperty("妫�娴嬫棩鏈�")
+ private Date testDate;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java
new file mode 100644
index 0000000..5e8a99e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java
@@ -0,0 +1,59 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_illumination_detection_area")
+@ApiModel(value = "FeIlluminationDetectionArea瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�")
+public class FeIlluminationDetectionArea implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("妫�娴嬪尯鍩焛d")
+ @TableId(value = "detection_area_id", type = IdType.AUTO)
+ private Integer detectionAreaId;
+
+ @ApiModelProperty("妫�娴嬪尯鍩熷悕绉�")
+ private String detectionAreaLabel;
+
+ @ApiModelProperty("妫�娴嬪��-绗竴娆�")
+ private Integer valueOne;
+
+ @ApiModelProperty("妫�娴嬪��-绗簩娆�")
+ private Integer valueTwo;
+
+ @ApiModelProperty("妫�娴嬪��-绗笁娆�")
+ private Integer valueThree;
+
+ @ApiModelProperty("骞冲潎鍊�")
+ private Integer average;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鐓у害璁板綍琛╥d")
+ private Integer intensityIlluminationId;
+
+ // 瀵煎嚭浣跨敤
+ @TableField(select = false, exist = false)
+ @ApiModelProperty("搴忓彿(瀵煎嚭浣跨敤)")
+ private Integer index;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java
new file mode 100644
index 0000000..c6068f0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java
@@ -0,0 +1,58 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_lightning_protection")
+@ApiModel(value = "FeLightningProtection瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�")
+public class FeLightningProtection implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "lightning_protection_id", type = IdType.AUTO)
+ private Integer lightningProtectionId;
+
+ @ApiModelProperty("鍘熸枃浠跺悕")
+ private String fileName;
+
+ @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚�")
+ private String systemFileName;
+
+ @ApiModelProperty("妫�娴嬫棩鏈�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate detectionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate termValidity;
+
+ @ApiModelProperty("妫�娴嬪崟浣�")
+ private String detectionUnit;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java
new file mode 100644
index 0000000..1fdd836
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java
@@ -0,0 +1,54 @@
+package com.ruoyi.require.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-11-07 04:16:44
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_measured_quantity")
+@ApiModel(value = "FeMeasuredQuantity瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�")
+public class FeMeasuredQuantity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "measured_quantity_id", type = IdType.AUTO)
+ private Integer measuredQuantityId;
+
+ @ApiModelProperty("娴嬪畾閲忓悕绉�")
+ private String measuredQuantityLabel;
+
+ @ApiModelProperty("鍊糀")
+ private String valueA;
+
+ @ApiModelProperty("鍊糂")
+ private String valueB;
+
+ @ApiModelProperty("鍊糃")
+ private String valueC;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐢垫簮绋冲畾鎬d")
+ private Integer powerStableId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java
new file mode 100644
index 0000000..e244386
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java
@@ -0,0 +1,58 @@
+package com.ruoyi.require.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;
+import java.util.Date;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_power_stable")
+@ApiModel(value = "FePowerStable瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�")
+public class FePowerStable implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("鐢垫簮绋冲畾鎬d")
+ @TableId(value = "power_stable_id", type = IdType.AUTO)
+ private Integer powerStableId;
+
+ @ApiModelProperty("娴嬭瘯鍦扮偣")
+ private String testLocation;
+
+ @ApiModelProperty("娴嬭瘯鏃ユ湡")
+ private Date testDate;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("缁撹")
+ private String conclusion;
+
+ @ApiModelProperty("妫�娴嬭�卛d")
+ private Integer testerId;
+
+ @ApiModelProperty("鏍告煡浜篿d")
+ private Integer checkerId;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstance.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstance.java
new file mode 100644
index 0000000..0cd1cb7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstance.java
@@ -0,0 +1,81 @@
+package com.ruoyi.require.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-11-13 03:58:59
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance")
+@ApiModel(value = "FeStandardSubstance瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟")
+public class FeStandardSubstance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ApiModelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ApiModelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String position;
+
+ @ApiModelProperty("鍊熻皟鐘舵�侊紙0:鏈�熻皟 1:宸插�熻皟锛�")
+ private Integer state;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptance.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptance.java
new file mode 100644
index 0000000..2cfa05c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptance.java
@@ -0,0 +1,87 @@
+package com.ruoyi.require.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+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 org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_acceptance")
+@ApiModel(value = "FeStandardSubstanceAcceptance瀵硅薄", description = "鏍囧噯鐗╄川楠屾敹")
+@ExcelIgnoreUnannotated
+public class FeStandardSubstanceAcceptance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("娓呭崟id")
+ private Integer substanceId;
+
+ @ApiModelProperty("鍒拌揣鏃ユ湡")
+ @ExcelProperty("鍒拌揣鏃ユ湡")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate arriveDate;
+
+ @ApiModelProperty("缁翠慨鍗曚綅")
+ @ExcelProperty("缁翠慨鍗曚綅")
+ private String maintenanceUnit;
+
+ @ApiModelProperty("鍙傛暟")
+ @ExcelProperty("鍙傛暟")
+ private String perameters;
+
+ @ApiModelProperty("瀹夎璋冭瘯鎯呭喌")
+ @ExcelProperty("瀹夎璋冭瘯鎯呭喌")
+ private String installation;
+
+ @ApiModelProperty("楠屾敹鎯呭喌")
+ @ExcelProperty("楠屾敹鎯呭喌")
+ private String situation;
+
+ @ApiModelProperty("鎺ュ彈绛惧瓧")
+ @ExcelProperty("鎺ュ彈绛惧瓧")
+ private String signature;
+
+ @ApiModelProperty("鍘傚浠h〃")
+ @ExcelProperty("鍘傚浠h〃")
+ private String producer;
+
+ @ApiModelProperty("鎺ユ敹浜�")
+ @ExcelProperty("鎺ユ敹浜�")
+ private String recipient;
+
+ @ApiModelProperty("闄勪欢")
+ @ExcelProperty("闄勪欢")
+ private String file;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptanceInspection.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptanceInspection.java
new file mode 100644
index 0000000..50adcc3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceAcceptanceInspection.java
@@ -0,0 +1,47 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_acceptance_inspection")
+@ApiModel(value = "FeStandardSubstanceAcceptanceInspection瀵硅薄", description = "楠屾敹寮�绠辫褰�")
+public class FeStandardSubstanceAcceptanceInspection implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ private Integer acceptanceId;
+
+ private String name;
+
+ private Integer number;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceRecord.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceRecord.java
new file mode 100644
index 0000000..da5fa7c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeStandardSubstanceRecord.java
@@ -0,0 +1,78 @@
+package com.ruoyi.require.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-11-14 01:49:11
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_standard_substance_record")
+@ApiModel(value = "FeStandardSubstanceRecord瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛�")
+public class FeStandardSubstanceRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鐗╄川id")
+ private Integer substanceId;
+
+ @ApiModelProperty("鍊熺敤-瀹屽ソ鎬�")
+ private String integrity;
+
+ @ApiModelProperty("鍊熺敤-鍊熺敤浜�")
+ private String borrowUser;
+
+ @ApiModelProperty("鍊熺敤-鑱旂郴鏂瑰紡")
+ private String phone;
+
+ @ApiModelProperty("鍊熺敤-鍊熷嚭鏃ユ湡")
+ private LocalDateTime borrowDate;
+
+ @ApiModelProperty("褰掕繕鏃ユ湡")
+ private LocalDateTime borrowReturnDate;
+
+ @ApiModelProperty("鍊熷嚭浜�")
+ private String lender;
+
+ @ApiModelProperty("褰掕繕-妫�鏌ヤ汉")
+ private String rummager;
+
+ @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
+ private String status;
+
+ @ApiModelProperty("褰掕繕浜�")
+ private String returnedPerson;
+
+ @ApiModelProperty("褰掕繕-鏃ユ湡")
+ private LocalDateTime returnDate;
+
+ @ApiModelProperty("褰掕繕-瀹屽ソ鎬�")
+ private String returnIntegrity;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java
new file mode 100644
index 0000000..1c7f4c3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java
@@ -0,0 +1,54 @@
+package com.ruoyi.require.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-11-09 11:02:18
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_temp_hum_date")
+@ApiModel(value = "FeTempHumDate瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖�")
+public class FeTempHumDate implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(value = "date_id", type = IdType.AUTO)
+ private Integer dateId;
+
+ @ApiModelProperty("鏈堝害鏃堕棿")
+ private LocalDate monthDate;
+
+ @ApiModelProperty("璇曢獙鍖哄煙鍚嶇О")
+ private String testAreaName;
+
+ @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-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java
new file mode 100644
index 0000000..6369efa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java
@@ -0,0 +1,63 @@
+package com.ruoyi.require.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-11-07 04:28:52
+ */
+@Getter
+@Setter
+@TableName("cnas_fe_temp_hum_record")
+@ApiModel(value = "FeTempHumRecord瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰�")
+public class FeTempHumRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("娓╂箍搴﹁褰�")
+ @TableId(value = "temp_hum_id", type = IdType.AUTO)
+ private Integer tempHumId;
+
+ @ApiModelProperty("涓婂崍-鏃堕棿")
+ private LocalDateTime morningTestTime;
+
+ @ApiModelProperty("涓婂崍娓╁害")
+ private String morningTemp;
+
+ @ApiModelProperty("涓婂崍婀垮害")
+ private String morningHum;
+
+ @ApiModelProperty("涓婂崍璁板綍鍛�")
+ private Integer morningRecorderId;
+
+ @ApiModelProperty("涓嬪崍鏃堕棿")
+ private LocalDateTime afternoonTime;
+
+ @ApiModelProperty("涓嬪崍娓╁害")
+ private String afternoonTemp;
+
+ @ApiModelProperty("涓嬪崍婀垮害")
+ private String afternoonHum;
+
+ @ApiModelProperty("涓嬪崍璁板綍鍛�")
+ private Integer afternoonRecorderId;
+
+ @ApiModelProperty("澶囨敞")
+ private String note;
+
+ @ApiModelProperty("娓╁害寰幆涓昏〃id")
+ private Integer dateId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java
new file mode 100644
index 0000000..ba7eaf4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java
@@ -0,0 +1,72 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Data
+@TableName("cnas_foreign_register")
+@ApiModel(value = "ForeignRegister瀵硅薄", description = "澶栨潵浜哄憳鐧昏")
+public class ForeignRegister {
+
+ @TableId(value = "register_id", type = IdType.AUTO)
+ private Integer registerId;
+
+ @ApiModelProperty("鐧昏濡傛湡")
+ private LocalDate registerDate;
+
+ @ApiModelProperty("杩涘叆鍖哄煙")
+ private String area;
+
+ @ApiModelProperty("杩涘叆浜哄憳")
+ private String personnel;
+
+ @ApiModelProperty("杩涘叆鍘熷洜")
+ private String reason;
+
+ @ApiModelProperty("闄悓浜哄憳id")
+ private Integer accompanyingId;
+
+ @ApiModelProperty("闄悓浜哄憳")
+ private String accompanyingName;
+
+ @ApiModelProperty("鎵瑰噯浜篿d")
+ private Integer approveId;
+
+ @ApiModelProperty("鎵瑰噯浜�")
+ private String approveName;
+
+ @ApiModelProperty("淇濆瘑鍙婂叾浠栨儏鍐�")
+ private String confidentiality;
+
+ @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-require/src/main/java/com/ruoyi/require/pojo/IncidentAcceptanceCheck.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentAcceptanceCheck.java
new file mode 100644
index 0000000..f0e82cd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentAcceptanceCheck.java
@@ -0,0 +1,50 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/IncidentFile.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentFile.java
new file mode 100644
index 0000000..3cb53d4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentFile.java
@@ -0,0 +1,40 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/IncidentInstall.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentInstall.java
new file mode 100644
index 0000000..7ec3e77
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentInstall.java
@@ -0,0 +1,44 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/IncidentReport.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentReport.java
new file mode 100644
index 0000000..bdc8c87
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentReport.java
@@ -0,0 +1,142 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/IncidentSpareParts.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentSpareParts.java
new file mode 100644
index 0000000..0dbf304
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/IncidentSpareParts.java
@@ -0,0 +1,44 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/InformationNotification.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/InformationNotification.java
new file mode 100644
index 0000000..214cb9f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/InformationNotification.java
@@ -0,0 +1,69 @@
+package com.ruoyi.require.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-04-23 02:14:30
+ */
+@Getter
+@Setter
+@TableName("information_notification")
+@ApiModel(value = "InformationNotification瀵硅薄", description = "娑堟伅閫氱煡")
+public class InformationNotification implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿/鍙戦�佹椂闂�")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("寰呭姙銆佹帴鏀躲�佸鏍搞�佹壒鍑嗐�侀璀︽彁閱掋�侀�氱煡鍏憡")
+ private String messageType;
+
+ @ApiModelProperty("涓婚")
+ private String theme;
+
+ @ApiModelProperty("鍐呭")
+ private String content;
+
+ @ApiModelProperty("鍙戦�佷汉Id")
+ private Integer senderId;
+
+ @ApiModelProperty("鏀朵欢浜�")
+ private Integer consigneeId;
+
+ @ApiModelProperty("鏌ョ湅鐘舵�侊細宸茶锛屾湭璇�")
+ private Boolean viewStatus;
+
+ @ApiModelProperty("娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級锛堟牴鎹秷鎭被鍨嬪睍绀猴級")
+ private Boolean messageStatus;
+
+ @ApiModelProperty("璺宠浆璺緞")
+ private String jumpPath;
+
+ @ApiModelProperty("璺宠浆Id")
+ private String jumpId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/Instruction.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/Instruction.java
new file mode 100644
index 0000000..7ac41bf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/Instruction.java
@@ -0,0 +1,64 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java
new file mode 100644
index 0000000..a56ed4e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java
@@ -0,0 +1,44 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Data
+@TableName("cnas_internal_wastes")
+@ApiModel(value = "InternalWastes瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏")
+public class InternalWastes {
+
+ @TableId(value = "wastes_id", type = IdType.AUTO)
+ private Integer wastesId;
+
+ @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-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java
new file mode 100644
index 0000000..ac9ce0c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java
@@ -0,0 +1,66 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+@Data
+@TableName("cnas_internal_wastes_detail")
+@ApiModel(value = "InternalWastesDetail瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏")
+public class InternalWastesDetail {
+
+ @TableId(value = "wastes_detail_id", type = IdType.AUTO)
+ private Integer wastesDetailId;
+
+ @ApiModelProperty("涓昏〃id")
+ private Integer wastesId;
+
+ @ApiModelProperty("鍚嶇О")
+ private String designation;
+
+ @ApiModelProperty("浣撶Н")
+ private String volume;
+
+ @ApiModelProperty("閫佸鐞嗘棩鏈�")
+ private String deliveryDate;
+
+ @ApiModelProperty("绉讳氦浜�")
+ private String transferPeople;
+
+ @ApiModelProperty("鎺ユ敹浜�")
+ private String acceptor;
+
+ @ApiModelProperty("鎺ユ敹鍗曚綅")
+ private String receivingUnit;
+
+ @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(select = false, exist = false)
+ private Integer index;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/OperationInstruction.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/OperationInstruction.java
new file mode 100644
index 0000000..579e937
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/OperationInstruction.java
@@ -0,0 +1,92 @@
+package com.ruoyi.require.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-12-04 10:43:32
+ */
+@Getter
+@Setter
+@TableName("device_operation_instruction")
+@ApiModel(value = "OperationInstruction瀵硅薄", description = "璁惧 - 浣滀笟鎸囧涔� 娣诲姞鍙楁帶鏂囦欢 瀛�")
+public class OperationInstruction implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @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-require/src/main/java/com/ruoyi/require/pojo/PkMaster.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/PkMaster.java
new file mode 100644
index 0000000..4fcd070
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/PkMaster.java
@@ -0,0 +1,61 @@
+package com.ruoyi.require.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-07-29 01:16:26
+ */
+@Getter
+@Setter
+@TableName("device_pk_master")
+@ApiModel(value = "PkMaster瀵硅薄", description = "娓╁害寰幆鏁伴噰瀛愯〃")
+public class PkMaster implements Serializable {
+
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("濮旀墭鍗曠紪鍙�")
+ private String entrustCode;
+
+ @ApiModelProperty("鏍峰搧缂栧彿")
+ private String sampleCode;
+
+ @ApiModelProperty("鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("寰幆娆℃暟")
+ private String cycles;
+
+ @ApiModelProperty("娓╁害寰幆")
+ private String temperature;
+
+ @ApiModelProperty("鍏夌氦鏍规暟")
+ private Integer numberOpticalFibers;
+
+ @ApiModelProperty("device_pk_slave鍏宠仈瀛楁")
+ private String isid;
+
+ @ApiModelProperty("妫�楠屾椂闂�")
+ private LocalDateTime detectionDate;
+
+ @ApiModelProperty("妫�楠屼汉")
+ private String detectionPeople;
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/PkSlave.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/PkSlave.java
new file mode 100644
index 0000000..35dcb8b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/PkSlave.java
@@ -0,0 +1,75 @@
+package com.ruoyi.require.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-07-29 01:16:39
+ */
+@Getter
+@Setter
+@TableName("device_pk_slave")
+@ApiModel(value = "PkSlave瀵硅薄", description = "娓╁害寰幆鏁伴噰瀛愯〃")
+public class PkSlave implements Serializable {
+
+ @ApiModelProperty("涓婚敭id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("琛板噺绯荤粺1310(dB/km)-A绔�")
+ private Double weaken1310A;
+
+ @ApiModelProperty("琛板噺绯荤粺1310(dB/km)-B绔�")
+ private Double weaken1310B;
+
+ @ApiModelProperty("琛板噺绯荤粺1550(dB/km)-A绔�")
+ private Double weaken1550A;
+
+ @ApiModelProperty("琛板噺绯荤粺1550(dB/km)-B绔�")
+ private Double weaken1550B;
+
+ @ApiModelProperty("琛板噺绯荤粺1625(dB/km)-A绔�")
+ private Double weaken1625A;
+
+ @ApiModelProperty("琛板噺绯荤粺1625(dB/km)-B绔�")
+ private Double weaken1625B;
+
+ @ApiModelProperty("琛板噺绯荤粺1383(dB/km)-A绔�")
+ private Double weaken1383A;
+
+ @ApiModelProperty("琛板噺绯荤粺1383(dB/km)-B绔�")
+ private Double weaken1383B;
+
+ @ApiModelProperty("琛板噺绯荤粺1490(dB/km)-A绔�")
+ private Double weaken1490A;
+
+ @ApiModelProperty("琛板噺绯荤粺1490(dB/km)-B绔�")
+ private Double weaken1490B;
+
+ @ApiModelProperty("绠¤壊鏍噄d")
+ private String insBushingId;
+
+ @ApiModelProperty("鍏夌氦甯d")
+ private String insFibersId;
+
+ @ApiModelProperty("鍏夌氦缂栧彿id")
+ private String insFiberId;
+
+ @ApiModelProperty("device_pk_master鍏宠仈瀛楁")
+ private String shiftId;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesConsumables.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesConsumables.java
new file mode 100644
index 0000000..3bd0a29
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesConsumables.java
@@ -0,0 +1,50 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@TableName("procurement_supplies_consumables")
+@ApiModel("鑰楁潗閲囪喘鏄庣粏琛�")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcurementSuppliesConsumables {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑰楁潗涓昏〃id")
+ private Integer storeId;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("鍗曚环")
+ private Double unitPrice;
+
+ @ApiModelProperty("鍏ュ簱鏁伴噺")
+ private Integer storeNumber;
+
+ @ApiModelProperty("鎬讳环")
+ private Double totalPrice;
+
+ @ApiModelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("绫诲埆")
+ private String type;
+
+ @ApiModelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("鍙傝�冧緵搴斿晢")
+ private String supplier;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java
new file mode 100644
index 0000000..0d5649c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java
@@ -0,0 +1,42 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+@TableName("procurement_supplies_contents")
+@ApiModel("鏈嶅姟鍜屼緵搴斿搧閲囪喘琛�")
+public class ProcurementSuppliesContents {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑺傜偣鍚嶇О")
+ private String nodeName;
+
+ @ApiModelProperty("浠e彿")
+ private String code;
+
+
+ @ApiModelProperty("鏇存柊浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐖惰妭鐐�")
+ private Integer parentId;
+
+ @TableField(exist = false)
+ private List<ProcurementSuppliesContents> children;
+
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesExpends.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesExpends.java
new file mode 100644
index 0000000..1adffee
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesExpends.java
@@ -0,0 +1,62 @@
+package com.ruoyi.require.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-11-15 03:47:19
+ */
+@Getter
+@Setter
+@TableName("procurement_supplies_expends")
+@ApiModel(value = "ProcurementSuppliesExpends瀵硅薄", description = "")
+public class ProcurementSuppliesExpends implements Serializable {
+
+
+ @ApiModelProperty("涓昏〃Id")
+ @TableId(value = "expend_id", type = IdType.AUTO)
+ private Long expendId;
+
+ @ApiModelProperty("鑰楁潗Id")
+ private Long listId;
+
+ @ApiModelProperty("娑堣�楁暟閲�")
+ private Integer amount;
+
+ @ApiModelProperty("妫�楠屽璞″悕绉�")
+ private String specimenName;
+
+ @ApiModelProperty("妫�楠岄」")
+ private String inspectionItem;
+
+ @ApiModelProperty("妫�楠屽瓙椤�")
+ private String inspectionItemSubclass;
+
+ @ApiModelProperty("褰曞叆浜篿d")
+ private Integer enterUserId;
+
+ @ApiModelProperty("鏇存柊浜篿d")
+ private Integer updateUserId;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java
new file mode 100644
index 0000000..eda754b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java
@@ -0,0 +1,101 @@
+package com.ruoyi.require.pojo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+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.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Getter
+@Setter
+@TableName("procurement_supplies_list")
+@ApiModel(value = "ProcurementSuppliesList瀵硅薄", description = "鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃")
+public class ProcurementSuppliesList implements Serializable {
+
+
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private Long id;
+
+ @ApiModelProperty("鐩綍id")
+ private Long contentsId;
+
+ @ApiModelProperty("鑰楁潗绫诲瀷")
+ @ExcelProperty("绫诲埆")
+ private String consumablesType;
+
+ @ApiModelProperty("璐у彿")
+ @ExcelProperty("璐у彿")
+ private String itemNumber;
+
+ @ApiModelProperty("鑰楁潗鍚嶇О")
+ @ExcelProperty("鍚嶇О")
+ private String consumablesName;
+
+ @ApiModelProperty("瑙勬牸")
+ @ExcelProperty("瑙勬牸")
+ private String specifications;
+
+ @ApiModelProperty("璁¢噺鍗曚綅")
+ @ExcelProperty("璁¢噺鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty("鍙傝�冧环鏍�")
+ private BigDecimal referencePrice;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private Integer contentId;
+
+ @ApiModelProperty("璐熻矗浜�")
+ private Integer personInCharge;
+
+ @ApiModelProperty("搴撳瓨涓婇檺")
+ private Integer upperLimit;
+
+ @ApiModelProperty("搴撳瓨涓嬮檺")
+ @ExcelProperty("搴撳瓨涓嬮檺")
+ private Integer lowerLimit;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ private Integer supplier;
+
+ @ApiModelProperty("鑰楁潗鍥炬爣")
+ private String consumablesIcon;
+
+ @ApiModelProperty("鑰楁潗闄勪欢")
+ private String attachment;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
+ @ExcelProperty("褰撳墠搴撳瓨")
+ private Integer currentAmount;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesStore.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesStore.java
new file mode 100644
index 0000000..076cf31
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesStore.java
@@ -0,0 +1,52 @@
+package com.ruoyi.require.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 com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@TableName("procurement_supplies_store")
+@ApiModel("鑰楁潗鍏ュ簱琛�")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcurementSuppliesStore implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鐩綍id")
+ private Integer contentsId;
+
+ @ApiModelProperty("鍏ュ簱鍗曞彿")
+ private String oddNumbers;
+
+ @ApiModelProperty("鍏ュ簱搴撳瓨")
+ private String inventory;
+
+ @ApiModelProperty("鍏ュ簱鎬婚噾棰�")
+ private Double totalAmount;
+
+ @ApiModelProperty("鍏ュ簱浜�")
+ private Integer storageUser;
+
+ @ApiModelProperty("鍏ュ簱鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private LocalDate storageTime;
+
+ @ApiModelProperty("鍏ュ簱璇存槑")
+ private String remark;
+
+ @ApiModelProperty("鐧昏浜�")
+ private Integer registrant;
+
+ @ApiModelProperty("鐧昏鏃堕棿")
+ private LocalDate registrantTime;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/Reservation.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/Reservation.java
new file mode 100644
index 0000000..c556146
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/Reservation.java
@@ -0,0 +1,84 @@
+package com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java
new file mode 100644
index 0000000..7586edc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java
@@ -0,0 +1,111 @@
+package com.ruoyi.require.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-11-15 02:46:45
+ */
+@Getter
+@Setter
+@TableName("cnas_supplier_management")
+@ApiModel(value = "SupplierManagement瀵硅薄", description = "")
+public class SupplierManagement implements Serializable {
+
+
+ @ApiModelProperty("涓昏〃Id")
+ @TableId(value = "supplier_management_id", type = IdType.AUTO)
+ private Integer supplierManagementId;
+
+ @ApiModelProperty("渚涘簲鍟�")
+ @ExcelProperty("渚涘簲鍟�")
+ private String supplierName;
+
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private String supplierRef;
+
+ @ApiModelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ @ExcelProperty("渚涘簲鍟嗙墿鍝佹湇鍔″悕绉�")
+ private String supplierItemServiceName;
+
+ @ApiModelProperty("閭紪")
+ @ExcelProperty("閭紪")
+ private String postalCode;
+
+ @ApiModelProperty("鍦板潃")
+ @ExcelProperty("鍦板潃")
+ private String adress;
+
+ @ApiModelProperty("logo")
+ private String logo;
+
+ @ApiModelProperty("鑱旂郴浜�")
+ @ExcelProperty("鑱旂郴浜�")
+ private String contacts;
+
+ @ApiModelProperty("鑱旂郴鐢佃瘽")
+ @ExcelProperty("鑱旂郴鐢佃瘽")
+ private String phone;
+
+ @ApiModelProperty("鎴峰悕")
+ @ExcelProperty("鎴峰悕")
+ private String householdName;
+
+ @ApiModelProperty("浼犵湡")
+ @ExcelProperty("浼犵湡")
+ private String fax;
+
+ @ApiModelProperty("寮�鎴疯")
+ @ExcelProperty("寮�鎴疯")
+ private String openingName;
+
+ @ApiModelProperty("缃戝潃")
+ @ExcelProperty("缃戝潃")
+ private String website;
+
+ @ApiModelProperty("璐﹀彿")
+ @ExcelProperty("璐﹀彿")
+ private String accountName;
+
+ @ApiModelProperty("email")
+ @ExcelProperty("email")
+ private String email;
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remarks;
+
+ @ApiModelProperty("闄勪欢")
+ private String enclosure;
+
+ @ApiModelProperty("鐘舵��")
+ private String status;
+
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鐖秈d")
+ private Integer parentId;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/pojo/SuppliersDirectoryContents.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/SuppliersDirectoryContents.java
new file mode 100644
index 0000000..8d43ecc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/SuppliersDirectoryContents.java
@@ -0,0 +1,52 @@
+package com.ruoyi.require.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;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Getter
+@Setter
+@TableName("suppliers_directory_contents")
+@ApiModel(value = "SuppliersDirectoryContents瀵硅薄", description = "鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍")
+public class SuppliersDirectoryContents implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鑺傜偣鍚嶇О")
+ private String nodeName;
+
+ @ApiModelProperty("浠e彿")
+ private String code;
+
+ @ApiModelProperty("鏇存柊浜�")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty("鏇存柊鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("鐖惰妭鐐�")
+ private Integer parentId;
+
+
+ @TableField(exist = false)
+ private List<SuppliersDirectoryContents> children;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DataConfigService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DataConfigService.java
new file mode 100644
index 0000000..b07d9e1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DataConfigService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.DataConfigDto;
+import com.ruoyi.require.pojo.DataConfig;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-13 12:23:00
+ */
+public interface DataConfigService extends IService<DataConfig> {
+
+ void deleteDataConfig();
+
+ void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList);
+
+ Result<?> queryDataAcquisitionConfiguration(Integer deviceId, Boolean isDevice, String inspectionItem, String inspectionItemSubclass);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceBorrowService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceBorrowService.java
new file mode 100644
index 0000000..19438cd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceBorrowService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.DeviceBorrow;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-21 10:53:51
+ */
+public interface DeviceBorrowService extends IService<DeviceBorrow> {
+
+ IPage<DeviceBorrow> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow);
+
+ int saveDeviceBorrow(DeviceBorrow deviceBorrow);
+
+ DeviceBorrow getDeviceBorrow(Integer id);
+
+ List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultOneService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultOneService.java
new file mode 100644
index 0000000..e16b3af
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultOneService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceFaultOneDto;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/DeviceFaultService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultService.java
new file mode 100644
index 0000000..357dffd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceFaultService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/DeviceMaintenanceService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMaintenanceService.java
new file mode 100644
index 0000000..cd47ed5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMaintenanceService.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceMaintenanceExport;
+import com.ruoyi.require.pojo.DeviceMaintenance;
+
+import java.util.List;
+
+public interface DeviceMaintenanceService extends IService<DeviceMaintenance> {
+ IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber);
+
+ List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricRecordService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricRecordService.java
new file mode 100644
index 0000000..66eac17
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricRecordService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:01
+ */
+public interface DeviceMetricRecordService extends IService<DeviceMetricRecord> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricsCopyService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricsCopyService.java
new file mode 100644
index 0000000..2c85a3b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceMetricsCopyService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.DeviceMetricsCopy;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+public interface DeviceMetricsCopyService extends IService<DeviceMetricsCopy> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceRecordService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceRecordService.java
new file mode 100644
index 0000000..2534b31
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceRecordService.java
@@ -0,0 +1,25 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceRecordDto;
+import com.ruoyi.require.excel.DeviceRecordExport;
+import com.ruoyi.require.pojo.DeviceRecord;
+
+import java.util.List;
+
+/**
+ * <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 deviceNumber);
+
+ List<DeviceRecordExport> incidentReportExport(Integer deviceId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceService.java
new file mode 100644
index 0000000..bc4b351
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceService.java
@@ -0,0 +1,65 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.require.dto.ADto;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.pojo.Device;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 璁惧(Device)琛ㄦ湇鍔℃帴鍙�
+ */
+public interface DeviceService extends IService<Device> {
+
+ List<User> selectUserList();
+
+ List<User> selectUserListByDepartLimsId(String departLimsId);
+
+ IPage<DeviceDto> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull);
+
+ int addDeviceParameter(Device itemParameter);
+
+ int delDeviceParameter(Integer id);
+
+ int upDeviceParameter(Device itemParameter);
+
+ List<Device> selectEquipmentOverview();
+
+ List<Device> authorizedPerson();
+
+ List<Device> search(Integer status, String deviceName, String specificationModel, String largeCategory);
+
+ List<Device> selectDevicePrincipal();
+
+ List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory);
+
+ DeviceDto selectDeviceByCode(Integer id);
+
+ /**
+ *
+ * @param request 鍙栬姹備腑鐨刬p
+ * @param id 妫�楠屾牱鍝� 涓婚敭id
+ * @param entrustCode 濮旀墭缂栧彿
+ * @param sampleCode 鏍峰搧缂栧彿
+ * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
+ * @return
+ */
+ Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode, String fiberOpticRibbon);
+
+ List<ADto> menu();
+
+ List<Map<String, Object>> treeDevice(String deviceName);
+
+ Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request);
+
+ void exportData(DeviceDto deviceDto, HttpServletResponse response);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DeviceStateService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceStateService.java
new file mode 100644
index 0000000..78634cf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DeviceStateService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceStateDto;
+import com.ruoyi.require.pojo.DeviceState;
+
+/**
+ * <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);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/DocumentService.java b/cnas-require/src/main/java/com/ruoyi/require/service/DocumentService.java
new file mode 100644
index 0000000..f331c9e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/DocumentService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.Document;
+
+public interface DocumentService extends IService<Document> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeCalibrationScheduleService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeCalibrationScheduleService.java
new file mode 100644
index 0000000..03a9c4f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeCalibrationScheduleService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeCalibrationSchedule;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+public interface FeCalibrationScheduleService extends IService<FeCalibrationSchedule> {
+
+
+ IPage<FeCalibrationSchedule> page(Page page,String instrumentName, String managementNumber);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java
new file mode 100644
index 0000000..c58efc1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+public interface FeIlluminationDetectionAreaService extends IService<FeIlluminationDetectionArea> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java
new file mode 100644
index 0000000..0fc5100
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeIlluminationDto;
+import com.ruoyi.require.pojo.FeIllumination;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+public interface FeIlluminationService extends IService<FeIllumination> {
+
+ IPage<FeIlluminationDto> getFeLightningProtection(Page page);
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @param intensityIlluminationId
+ * @param response
+ */
+ void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java
new file mode 100644
index 0000000..effd73c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.pojo.FeLightningProtection;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+public interface FeLightningProtectionService extends IService<FeLightningProtection> {
+
+ List<FeLightningProtectionExcel> exportOfLightningProtectionDetection();
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java
new file mode 100644
index 0000000..b4f4832
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+public interface FeMeasuredQuantityService extends IService<FeMeasuredQuantity> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java
new file mode 100644
index 0000000..6ad3b0f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FePowerStableDto;
+import com.ruoyi.require.pojo.FePowerStable;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+public interface FePowerStableService extends IService<FePowerStable> {
+
+ IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page);
+
+ Map<String, Objects> getCalibrationDate(Integer deviceId);
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @param response
+ */
+ void exportFePowerStable(Integer powerStableId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceInspectionService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceInspectionService.java
new file mode 100644
index 0000000..ea02235
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceInspectionService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+public interface FeStandardSubstanceAcceptanceInspectionService extends IService<FeStandardSubstanceAcceptanceInspection> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceService.java
new file mode 100644
index 0000000..ba3a70e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceAcceptanceService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.require.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.ruoyi.require.dto.AcceptanceDto;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.require.vo.AcceptanceDetailsVo;
+import com.ruoyi.require.vo.AcceptanceVo;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+public interface FeStandardSubstanceAcceptanceService extends IService<FeStandardSubstanceAcceptance> {
+
+
+ void addAcceptance(AcceptanceDto dto);
+
+ IPage<AcceptanceVo> getPageAcceptance(Page page, String name);
+
+ AcceptanceDetailsVo getAcceptanceDetails(Integer id);
+
+ Integer deleteAcceptance(Integer id);
+
+ void exportFeStandardSubstanceAcceptance(HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceRecordService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceRecordService.java
new file mode 100644
index 0000000..a77f503
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceRecordService.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.require.vo.SubstanceRecordVo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+public interface FeStandardSubstanceRecordService extends IService<FeStandardSubstanceRecord> {
+
+
+ void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
+
+ void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord);
+
+ List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id);
+
+ IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceService.java
new file mode 100644
index 0000000..f17c5f0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeStandardSubstanceService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.FeStandardSubstance;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+public interface FeStandardSubstanceService extends IService<FeStandardSubstance> {
+
+ IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java
new file mode 100644
index 0000000..02ffc1d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.pojo.FeTempHumDate;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+public interface FeTempHumDateService extends IService<FeTempHumDate> {
+
+ IPage<FeTempHumDateDto> getFeTempHumDate(Page page);
+
+ void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java
new file mode 100644
index 0000000..3e6f45e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+public interface FeTempHumRecordService extends IService<FeTempHumRecord> {
+
+ IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java
new file mode 100644
index 0000000..1034ac5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java
@@ -0,0 +1,34 @@
+package com.ruoyi.require.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.ruoyi.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.pojo.ForeignRegister;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+public interface ForeignRegisterService extends IService<ForeignRegister> {
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param foreignRegister
+ * @return
+ */
+ IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister);
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @param foreignRegister
+ */
+ void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IDeviceMetricService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IDeviceMetricService.java
new file mode 100644
index 0000000..b796093
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IDeviceMetricService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.DeviceMetric;
+
+public interface IDeviceMetricService extends IService<DeviceMetric> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IncidentAcceptanceCheckService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentAcceptanceCheckService.java
new file mode 100644
index 0000000..65d85d7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentAcceptanceCheckService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.IncidentAcceptanceCheck;
+
+public interface IncidentAcceptanceCheckService extends IService<IncidentAcceptanceCheck> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IncidentFileService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentFileService.java
new file mode 100644
index 0000000..e652dea
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentFileService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.IncidentFile;
+
+public interface IncidentFileService extends IService<IncidentFile> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IncidentInstallService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentInstallService.java
new file mode 100644
index 0000000..3819ebf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentInstallService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.IncidentInstall;
+
+public interface IncidentInstallService extends IService<IncidentInstall> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IncidentReportService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentReportService.java
new file mode 100644
index 0000000..e884d2e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentReportService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.require.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.ruoyi.require.dto.IncidentReportAddDto;
+import com.ruoyi.require.excel.IncidentReportExport;
+import com.ruoyi.require.pojo.IncidentReport;
+
+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);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/IncidentSparePartsService.java b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentSparePartsService.java
new file mode 100644
index 0000000..f3bd8b9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/IncidentSparePartsService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.IncidentSpareParts;
+
+public interface IncidentSparePartsService extends IService<IncidentSpareParts> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/InformationNotificationService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InformationNotificationService.java
new file mode 100644
index 0000000..9aa73e5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InformationNotificationService.java
@@ -0,0 +1,32 @@
+package com.ruoyi.require.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.ruoyi.require.dto.InformationNotificationDto;
+import com.ruoyi.require.pojo.InformationNotification;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 娑堟伅閫氱煡 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-04-23 02:14:30
+ */
+public interface InformationNotificationService extends IService<InformationNotification> {
+
+ IPage<InformationNotificationDto> getPage(Page page, String messageType);
+
+ void markAllInformationReadOrDeleteAllReadMessages(Boolean isMarkAllInformationRead);
+
+ Boolean checkForUnreadData();
+
+ void triggerModificationStatusToRead(Integer id);
+
+ int addInformationNotification(InformationNotification informationNotification);
+
+ Map<String, Object> getNumberFourTypesMessagesHomePage();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/InsOrderPlanService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InsOrderPlanService.java
new file mode 100644
index 0000000..a749b23
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InsOrderPlanService.java
@@ -0,0 +1,78 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.inspect.dto.InsOrderPlanDTO;
+import com.ruoyi.inspect.dto.InsProductResultDTO;
+import com.ruoyi.inspect.dto.TasksShowDto;
+import com.ruoyi.inspect.dto.UnInsProductsDTO;
+import com.ruoyi.inspect.pojo.InsOrderFile;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo;
+import com.ruoyi.inspect.vo.InsOrderPlanVO;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 妫�楠屼换鍔�-涓氬姟灞�
+ */
+public interface InsOrderPlanService {
+
+ void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response);
+
+ List<Map<String,Object>> getInsOrderPlanList(Map<String,Object> data);
+
+ void exportCommissionFees(Map<String, Object> data,HttpServletResponse response);
+
+ Map<String, Object> getTabHeader(String sonLaboratory,String samples);
+
+ IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO);
+
+ IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, InsOrderPlanDTO insOrderPlanDTO);
+
+ boolean claimInsOrderPlan(InsOrderPlanDTO entity);
+
+ void saveInsContext(Map<String, Object> insContext,Integer currentTable,Integer sampleId,Integer orderId,String sonLaboratory,Boolean isDelete);
+
+ Map<String, Object> doInsOrder(Integer id, String laboratory);
+
+ int upPlanUser(Integer userId, Integer orderId,String sonLaboratory);
+
+ int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
+
+ int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode);
+
+ List<String> getEquipName(Integer orderId,String sonLaboratory);
+
+
+ List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
+
+ List<String> checkSubmitPlan(Integer orderId, String laboratory,String temperature,String humidity);
+
+ IPage<InsOrderFile> getFileList(Page page, InsOrderFile insOrderFile);
+
+ int uploadFile(Integer orderId, MultipartFile file);
+
+ Map<String,Object> getReportModel(Integer sampleId, String sonLaboratory);
+
+ Map<String,Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass);
+
+ List<String> upPlanUser2(Integer orderId);
+
+ Map<String,Object> getSagTemperatureProducts(Integer sampleId);
+
+ Map<String,Object> getSampleInfoByOrderId(Integer id,String laboratory);
+
+ void exportUnInsProducts(UnInsProductsDTO unInsProductsDTO, HttpServletResponse response);
+
+ int saveInsContext2(InsProductResultDTO insProductResult);
+
+ IPage<TasksShowDto> tasksShow(Page page, String sonLaboratory);
+
+ int getCurrentMonthPlanTotalBySonLaboratory(String sonLaboratory, LocalDateTime startTime, LocalDateTime endTime);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/InstructionService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InstructionService.java
new file mode 100644
index 0000000..9b4d82c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InstructionService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.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.ruoyi.require.dto.InstructionDto;
+import com.ruoyi.require.pojo.Instruction;
+
+/**
+ * <p>
+ * 浣滀笟鎸囧涔︽坊鍔犲彈鎺ф枃浠惰〃 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-04 10:29:18
+ */
+public interface InstructionService extends IService<Instruction> {
+
+ IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page);
+
+ void newHomeworkGuidebookAdded(InstructionDto instructionDto);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java
new file mode 100644
index 0000000..17805ce
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+public interface InternalWastesDetailService extends IService<InternalWastesDetail> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java
new file mode 100644
index 0000000..06ad0e8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java
@@ -0,0 +1,63 @@
+package com.ruoyi.require.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.ruoyi.require.dto.InternalWastesDto;
+import com.ruoyi.require.pojo.InternalWastes;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+public interface InternalWastesService extends IService<InternalWastes> {
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
+ * @param page
+ * @param internalWastes
+ * @return
+ */
+ IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板
+ * @param internalWastes
+ * @return
+ */
+ boolean addInternalWastes(InternalWastesDto internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼
+ * @param internalWastes
+ * @return
+ */
+ boolean updateInternalWastes(InternalWastesDto internalWastes);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎
+ * @param wastesId
+ * @return
+ */
+ boolean delInternalWastes(Integer wastesId);
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏
+ * @param wastesId
+ * @return
+ */
+ InternalWastesDto getInternalWastesOne(Integer wastesId);
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @param wastesId
+ * @param response
+ */
+ void exportInternalWastes(Integer wastesId, HttpServletResponse response);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/OperationInstructionService.java b/cnas-require/src/main/java/com/ruoyi/require/service/OperationInstructionService.java
new file mode 100644
index 0000000..4d78aa7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/OperationInstructionService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.OperationInstruction;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/PkMasterService.java b/cnas-require/src/main/java/com/ruoyi/require/service/PkMasterService.java
new file mode 100644
index 0000000..97bfa85
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/PkMasterService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.PkMaster;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-29 01:16:26
+ */
+public interface PkMasterService extends IService<PkMaster> {
+
+ //娓╁害寰幆鏁伴噰
+ int temDataAcquisition(PkMaster pkMaster);
+
+ //娓╁害寰幆鏁伴噰鎬讳綋
+ int temDataAcquisition2(PkMaster pkMaster);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesConsumablesService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesConsumablesService.java
new file mode 100644
index 0000000..ade7f0c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesConsumablesService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.ProcurementSuppliesConsumables;
+
+public interface ProcurementSuppliesConsumablesService extends IService<ProcurementSuppliesConsumables> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java
new file mode 100644
index 0000000..930c1c5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ProcurementSuppliesContentsService extends IService<ProcurementSuppliesContents> {
+
+ List<ProcurementSuppliesContents> directoryListing();
+
+ List<Map<String,Object>> getNodeNames();
+
+ List<Map<String,Object>> getUserList();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesExpendsService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesExpendsService.java
new file mode 100644
index 0000000..ed326d2
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesExpendsService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.require.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.ruoyi.require.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesExpends;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+public interface ProcurementSuppliesExpendsService extends IService<ProcurementSuppliesExpends> {
+ IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId);
+
+ Integer addExpends(ProcurementSuppliesExpendDto expendDto);
+
+ Integer deleteExpends(Long id);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java
new file mode 100644
index 0000000..d604d6f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.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.ruoyi.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+public interface ProcurementSuppliesListService extends IService<ProcurementSuppliesList> {
+ IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list);
+
+ public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto);
+
+ public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto);
+
+ void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesStoreService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesStoreService.java
new file mode 100644
index 0000000..931890c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesStoreService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.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.ruoyi.require.dto.StoreDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesStore;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Map;
+
+public interface ProcurementSuppliesStoreService extends IService<ProcurementSuppliesStore> {
+ void addStore(Map<String,Object> map);
+ void updateStore(Map<String,Object> map);
+
+ void deleteStore(Integer id, Integer consumablesId);
+ IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto);
+
+ void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/QrShowService.java b/cnas-require/src/main/java/com/ruoyi/require/service/QrShowService.java
new file mode 100644
index 0000000..35e9461
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/QrShowService.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.service;
+
+import org.springframework.ui.Model;
+
+public interface QrShowService {
+
+ void transformModelByType(Model model,String code,String type);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/ReservationService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ReservationService.java
new file mode 100644
index 0000000..782e130
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ReservationService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.dto.ReservationDto;
+import com.ruoyi.require.pojo.Reservation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 璧勬簮棰勫畾鏂板缓棰勫畾琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author baomidou
+ * @since 2024-09-14
+ */
+public interface ReservationService extends IService<Reservation> {
+
+ ArrayList<JSONObject> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull, String starttime, String endtime);
+
+ List<ReservationDto> selectReservationParameterPage(String deviceId, String reservationTime, String specificTime);
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java b/cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java
new file mode 100644
index 0000000..e4ebd7f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java
@@ -0,0 +1,32 @@
+package com.ruoyi.require.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.ruoyi.require.pojo.SupplierManagement;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+public interface SupplierManagementService extends IService<SupplierManagement> {
+
+ List<SupplierManagement> selectSupplierManagement(SupplierManagement supplierManagement);
+
+ void exportSupplierManagement(Integer parentId, HttpServletResponse response);
+
+ IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement);
+
+ List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId);
+
+ List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId);
+
+ List<SupplierManagement> selectSupplierManagementAll();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/SuppliersDirectoryContentsService.java b/cnas-require/src/main/java/com/ruoyi/require/service/SuppliersDirectoryContentsService.java
new file mode 100644
index 0000000..a6db661
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/SuppliersDirectoryContentsService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.pojo.SuppliersDirectoryContents;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+public interface SuppliersDirectoryContentsService extends IService<SuppliersDirectoryContents> {
+
+ ArrayList<SuppliersDirectoryContents> directoryListing();
+ List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames();
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DataConfigServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DataConfigServiceImpl.java
new file mode 100644
index 0000000..51dd63b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DataConfigServiceImpl.java
@@ -0,0 +1,66 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.require.dto.DataConfigDto;
+import com.ruoyi.require.mapper.DataConfigMapper;
+import com.ruoyi.require.mapper.DeviceMapper;
+import com.ruoyi.require.pojo.DataConfig;
+import com.ruoyi.require.pojo.Device;
+import com.ruoyi.require.service.DataConfigService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-13 12:23:00
+ */
+@Service
+@AllArgsConstructor
+public class DataConfigServiceImpl extends ServiceImpl<DataConfigMapper, DataConfig> implements DataConfigService {
+
+ private DeviceMapper deviceMapper;
+
+ private DataConfigMapper dataConfigMapper;
+
+ @Override
+ public void deleteDataConfig() {
+ List<Integer> integers = dataConfigMapper.deleteDataConfig();
+ if (!integers.isEmpty()) {
+ dataConfigMapper.deleteBatchIds(integers);
+ }
+ }
+
+ @Override
+ public void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList) {
+ if (dataConfigList.getIsDevice()) {
+ Device device = new Device();
+ BeanUtils.copyProperties(dataConfigList, device);
+ device.setId(deviceId);
+ deviceMapper.updateById(device);
+ } else {
+ this.saveOrUpdateBatch(dataConfigList.getDataConfigList());
+ }
+ }
+
+ @Override
+ public Result<?> queryDataAcquisitionConfiguration(Integer deviceId, Boolean isDevice, String inspectionItem, String inspectionItemSubclass) {
+ if (isDevice) {
+ List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery()
+ .eq(DataConfig::getDeviceId, deviceId)
+ .eq(DataConfig::getInspectionItem, inspectionItem)
+ .eq(DataConfig::getInspectionItemSubclass, inspectionItemSubclass));
+ return Result.success(list);
+ } else {
+ return Result.success(dataConfigMapper.selectDataConfigList(deviceId));
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceBorrowServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceBorrowServiceImpl.java
new file mode 100644
index 0000000..e0d0f46
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceBorrowServiceImpl.java
@@ -0,0 +1,116 @@
+package com.ruoyi.require.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.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.mapper.DeviceBorrowMapper;
+import com.ruoyi.require.mapper.DeviceLogMapper;
+import com.ruoyi.require.pojo.DeviceBorrow;
+import com.ruoyi.require.pojo.DeviceLog;
+import com.ruoyi.require.service.DeviceBorrowService;
+import com.ruoyi.system.mapper.UserMapper;
+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
+ UserMapper userMapper;
+
+ @Autowired
+ private NumberGenerator<DeviceBorrow> numberGenerator;
+
+ @Override
+ public IPage<DeviceBorrow> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow) {
+ IPage<DeviceBorrow> iPage = deviceBorrowMapper.deviceBorrowPage(page, QueryWrappers.queryWrappers(deviceBorrow));
+ return iPage;
+ }
+
+ @Override
+ public int saveDeviceBorrow(DeviceBorrow deviceBorrow) {
+ User user = userMapper.selectById(SecurityUtils.getUserId());
+ //鏂板鐨勬椂鍊欐坊鍔犳柊寤烘祦绋�
+ 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-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultOneServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultOneServiceImpl.java
new file mode 100644
index 0000000..5dedddb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultOneServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceFaultOneDto;
+import com.ruoyi.require.mapper.DeviceFaultOneMapper;
+import com.ruoyi.require.pojo.DeviceFaultOne;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultServiceImpl.java
new file mode 100644
index 0000000..0930b07
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceFaultServiceImpl.java
@@ -0,0 +1,105 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.require.mapper.DeviceFaultMapper;
+import com.ruoyi.require.mapper.DeviceFaultOneMapper;
+import com.ruoyi.require.mapper.DeviceMaintenanceMapper;
+import com.ruoyi.require.mapper.DeviceMapper;
+import com.ruoyi.require.pojo.*;
+import com.ruoyi.require.service.DeviceFaultService;
+import com.ruoyi.system.mapper.SysDictDataMapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+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;
+
+ @Resource
+ private SysDictDataMapper sysDictDataMapper;
+
+ @Autowired
+ private DeviceMaintenanceMapper deviceMaintenanceMapper;
+
+ @Autowired
+ private StructureItemParameterMapper structureItemParameterMapper;
+
+ @Autowired
+ private DeviceFaultOneMapper deviceFaultOneMapper;
+
+ @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<SysDictData> sysDictDataList = sysDictDataMapper.selectDictDataByType("device_status");
+// List<SysDictData> sysDictDataList = DictUtils.getDictCache("璁惧鐘舵��");
+ SysDictData findEnum = sysDictDataList.stream().filter(e-> Integer.parseInt(e.getDictValue()) ==device.getDeviceStatus()).findFirst().orElse(new SysDictData());
+ 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.getDictLabel());//璁惧杩愯鐘舵��
+ 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;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMaintenanceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMaintenanceImpl.java
new file mode 100644
index 0000000..4b7e561
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMaintenanceImpl.java
@@ -0,0 +1,45 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.ruoyi.common.utils.StringUtils;
+import com.ruoyi.require.dto.DeviceMaintenanceExport;
+import com.ruoyi.require.mapper.DeviceMaintenanceMapper;
+import com.ruoyi.require.pojo.DeviceMaintenance;
+import com.ruoyi.require.service.DeviceMaintenanceService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class DeviceMaintenanceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements DeviceMaintenanceService {
+ @Resource
+ DeviceMaintenanceMapper deviceMaintenanceMapper;
+
+ @Override
+ public IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber) {
+ LambdaQueryWrapper<DeviceMaintenance> queryWrapper = Wrappers.<DeviceMaintenance>lambdaQuery();
+ queryWrapper.eq(DeviceMaintenance::getDeviceId, deviceId);
+ if(!StringUtils.isEmpty(deviceNumber)){
+ queryWrapper.like(DeviceMaintenance::getDeviceNumber, deviceNumber);
+ }
+ return baseMapper.selectPage(page,queryWrapper );
+ }
+
+ @Override
+ public List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId) {
+ return baseMapper.deviceMaintenanceExport(deviceId);
+ }
+// @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-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricRecordServiceImpl.java
new file mode 100644
index 0000000..8e6a2e7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.DeviceMetricRecordMapper;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricServiceImpl.java
new file mode 100644
index 0000000..d8c0d09
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.DeviceMetricMapper;
+import com.ruoyi.require.pojo.DeviceMetric;
+import com.ruoyi.require.service.IDeviceMetricService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricsCopyServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricsCopyServiceImpl.java
new file mode 100644
index 0000000..55ce55b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceMetricsCopyServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.DeviceMetricsCopyMapper;
+import com.ruoyi.require.pojo.DeviceMetricsCopy;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/impl/DeviceRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceRecordServiceImpl.java
new file mode 100644
index 0000000..88a570e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceRecordServiceImpl.java
@@ -0,0 +1,35 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceRecordDto;
+import com.ruoyi.require.excel.DeviceRecordExport;
+import com.ruoyi.require.mapper.DeviceRecordMapper;
+import com.ruoyi.require.pojo.DeviceRecord;
+import com.ruoyi.require.service.DeviceRecordService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * cnas璁惧浣跨敤璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-09-21 11:06:47
+ */
+@Service
+public class DeviceRecordServiceImpl extends ServiceImpl<DeviceRecordMapper, DeviceRecord> implements DeviceRecordService {
+
+ @Override
+ public IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String deviceNumber) {
+ return baseMapper.deviceRecordPage(deviceId, page, deviceNumber);
+ }
+
+ @Override
+ public List<DeviceRecordExport> incidentReportExport(Integer deviceId) {
+ return baseMapper.incidentReportExport(deviceId);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceServiceImpl.java
new file mode 100644
index 0000000..de37baa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceServiceImpl.java
@@ -0,0 +1,1112 @@
+package com.ruoyi.require.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.require.dto.ADto;
+import com.ruoyi.require.dto.BDto;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.mapper.DeviceMapper;
+import com.ruoyi.require.pojo.DataConfig;
+import com.ruoyi.require.pojo.Device;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+import com.ruoyi.require.service.DataConfigService;
+import com.ruoyi.require.service.DeviceService;
+import com.ruoyi.require.util.DataAcquisition;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.AllArgsConstructor;
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 璁惧(Device)琛ㄦ湇鍔″疄鐜扮被
+ */
+@Service
+@AllArgsConstructor
+public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
+
+ private DeviceMapper deviceMapper;
+
+ private UserMapper userMapper;
+
+ private StructureItemParameterMapper structureItemParameterMapper;
+
+ @Autowired
+ private DataConfigService dataConfigService;
+
+ @Autowired
+ private QrShowServiceImpl qrShowService;
+
+ @Override
+ public List<User> selectUserList() {
+ List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getDepartLimsId, "1"));
+ return users;
+ }
+
+ @Override
+ public List<User> selectUserListByDepartLimsId(String departLimsId) {
+ List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getDepartLimsId, departLimsId));
+ return users;
+ }
+
+ @Override
+ public IPage<DeviceDto> selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull) {
+ IPage<DeviceDto> iPage = deviceMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(itemParameter), laboratoryNameIsNull);
+ return iPage;
+ }
+
+ @Override
+ public int addDeviceParameter(Device itemParameter) {
+ return deviceMapper.insert(itemParameter);
+ }
+
+ @Override
+ public int delDeviceParameter(Integer id) {
+ return deviceMapper.deleteById(id);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public int upDeviceParameter(Device itemParameter) {
+ // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹�
+ dataConfigService.deleteDataConfig();
+ // 闇�瑕佸悓鏃舵洿鏀� device琛�
+
+
+
+
+ return deviceMapper.updateById(itemParameter);
+ }
+
+ @Override
+ public List<Device> selectEquipmentOverview() {
+ return deviceMapper.selectEquipmentOverview(new Page(1, 10), QueryWrappers.queryWrappers(new Device()));
+ }
+
+ @Override
+ public List<Device> authorizedPerson() {
+ return deviceMapper.authorizedPerson();
+ }
+
+ @Override
+ public List<Device> search(Integer status, String deviceName, String specificationModel, String largeCategory) {
+ return deviceMapper.search(status, deviceName, specificationModel, largeCategory);
+ }
+
+ @Override
+ public List<Device> selectDevicePrincipal() {
+ return deviceMapper.selectDevicePrincipal();
+ }
+
+ @Override
+ public List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String sonLaboratory) {
+// Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+// User user = Optional.ofNullable(userMapper.selectById(userId)).orElse(new User());
+// String departLimsId = user.getDepartLimsId();
+// if(departLimsId.isEmpty()){
+//
+// }
+ List<Integer> id;
+
+ try {
+ id = structureItemParameterMapper.selectList(Wrappers.<StructureItemParameter>lambdaQuery()
+ .eq(StructureItemParameter::getInspectionItem, inspectionItem)
+ .eq(ObjectUtils.isNotEmpty(inspectionItemSubclass),StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass)
+ .eq(ObjectUtils.isNotEmpty(sonLaboratory),StructureItemParameter::getSonLaboratory,sonLaboratory)
+ .select(StructureItemParameter::getId)).stream().map(StructureItemParameter::getId).collect(Collectors.toList());
+// if () {
+//// id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery()
+//// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
+//// .last("limit 1").select(StructureItemParameter::getId)).getId();
+//
+//
+// }else {
+//// id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery()
+//// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
+//// .eq(StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass)
+//// .last("limit 1").select(StructureItemParameter::getId)).getId();
+// id = structureItemParameterMapper.selectList(Wrappers.<StructureItemParameter>lambdaQuery()
+// .eq(StructureItemParameter::getInspectionItem, inspectionItem)
+//
+// .select(StructureItemParameter::getId)).stream().map(StructureItemParameter::getId).collect(Collectors.toList());
+// }
+ } catch (Exception e) {
+ return null;
+ }
+ List<Device> devices = deviceMapper.selectList(Wrappers.<Device>lambdaQuery()
+ .eq(Device::getDeviceStatus, 0)
+ .isNotNull(Device::getInsProductIds));
+ List<Device> devices2 = new ArrayList<>();
+ for (Device device : devices) {
+ String[] ids = device.getInsProductIds().split(",");
+ for (String i : ids) {
+ if (ObjectUtils.isNotEmpty(i)) {
+ if (id.contains(Integer.parseInt(i))) {
+ devices2.add(device);
+ break;
+ }
+ }
+ }
+ }
+ return devices2;
+ }
+
+ @Override
+ public DeviceDto selectDeviceByCode(Integer id) {
+ DeviceDto deviceDto = deviceMapper.selectDeviceByCode(id);
+ List<Integer> ids = new ArrayList<>();
+ if(Strings.isNotEmpty(deviceDto.getAuthorizedPerson())) {
+ if(deviceDto.getAuthorizedPerson().equals("null")) {
+ deviceDto.setAuthorizedPerson("[]");
+ }
+ ids = JSON.parseArray(deviceDto.getAuthorizedPerson(), Integer.class);
+ }
+ String name = "";
+ if(!ids.isEmpty()) {
+ name = userMapper.selectBatchIds(ids).stream().map(User::getName).collect(Collectors.joining(","));
+ }
+ deviceDto.setAuthorizedPersonName(name);
+ //鏌ヨ璁惧鏍″噯淇℃伅
+ DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(id, "calibrate");
+ //deviceDto.setCalibrationDate(qrShowService.formatDate(calibrate.getCalibrationDate(),"yyyy-MM-dd"));
+ deviceDto.setCalibrateNo(calibrate.getCertificateSerialNumber());
+ if(Objects.nonNull(calibrate.getNextCalibrationDate())){
+ deviceDto.setCalibrationServices(calibrate.getUnitOfMeasure());
+ deviceDto.setNextCalibrationDate(calibrate.getNextCalibrationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+ deviceDto.setLastCalibrationDate(calibrate.getCalibrationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+ }
+
+ // 鍒颁簡鍋滅敤鏃ユ湡锛岃嚜鍔ㄥ皢鐘舵�佹敼涓哄仠鐢�
+ if(Objects.nonNull(deviceDto.getNextCalibrationDate()) && LocalDateTime.now().isAfter(deviceDto.getNextCalibrationDate())) {
+ List<SysDictData> enums = DictUtils.getDictCache("璁惧鐘舵��");
+ List<SysDictData> status = enums.stream().filter(item -> item.getDictValue().equals("鍋滅敤")).collect(Collectors.toList());
+ deviceDto.setDeviceStatus(Integer.parseInt(status.get(0).getDictValue()));
+ deviceMapper.updateById(deviceDto);
+ }
+ return deviceDto;
+ }
+
+ /**
+ *
+ * @param request 鍙栬姹備腑鐨刬p
+ * @param id 妫�楠屾牱鍝� 涓婚敭id
+ * @param entrustCode 濮旀墭缂栧彿
+ * @param sampleCode 鏍峰搧缂栧彿
+ * @param fiberOpticRibbon 鍏夌氦甯︾紪鍙�
+ * @return
+ */
+ @Override
+ public Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode, String fiberOpticRibbon) {
+ // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
+ String ip = DataAcquisition.getIp(request);
+ List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
+ .eq(Device::getIp, ip));
+ // 1銆佹楠�
+ if(device.size() > 1) {
+ String str = "";
+ for (Device device1 : device) {
+ str += device1.getDeviceName() + "锛�";
+ }
+ throw new ErrorException("IP锛�" + ip + "閰嶇疆浜嗚澶囧涓澶囷細" + str + "锛屾棤娉曡繘琛屾暟閲囷紒");
+ }
+ if (ObjectUtils.isEmpty(device)) {
+ throw new ErrorException("鏈粰璇P锛�" + ip + "閰嶇疆璁惧锛屾棤娉曡繘琛屾暟閲囷紒");
+ }
+ List<Map<String, Object>> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id);
+ if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) {
+ throw new ErrorException("鏈粰璇ワ細" + device.get(0).getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�");
+ }
+ // 2銆佸彇璁惧鍏宠仈鐨勬楠岄」锛屾楠屽瓙椤�
+ List<DataConfig> list1 = new ArrayList<>();
+ inspectionItemSubclass.forEach(i -> {
+ List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
+ .eq(DataConfig::getDeviceId, device.get(0).getId())
+ .eq(DataConfig::getInspectionItem, i.get("inspection_item"))
+ .eq(DataConfig::getInspectionItemSubclass, i.get("inspection_item_subclass"))
+ .orderBy(false, false, DataConfig::getId));
+ list1.addAll(list);
+ });
+ List<DataConfig> collect = list1.stream().distinct().collect(Collectors.toList());
+ // 3銆侀噰闆嗭紝鍙栨暟鎹�
+ Map<String, Object> map = DataAcquisition.dataAcquisitionEntrance(collect, device.get(0), entrustCode, sampleCode, ip, fiberOpticRibbon);
+ // 4銆侀�犲惊鐜鏁帮紝鍙備笌鍏紡璁$畻
+ if (ObjectUtils.isNotEmpty(map)) {
+ Map<String, Object> frequency = DataAcquisition.createFrequency(entrustCode, sampleCode,fiberOpticRibbon, map);
+ return Result.success(frequency);
+ } else {
+ return Result.success(null);
+ }
+ }
+
+ @Override
+ public List<ADto> menu() {
+ //鏌ヨ鎵�鏈夎澶囦俊鎭�
+ List<Device> devices = baseMapper.selectList(null);
+ List<String> name = devices.stream().map(Device::getDeviceName).collect(Collectors.toList());
+
+ //鏌ヨ鎵�鏈夌敤鎴蜂俊鎭�
+ List<User> users = userMapper.selectList(null);
+ List<String> collect = users.stream().map(User::getName).collect(Collectors.toList());
+ String menu="[\n" +
+ "\t{\n" +
+ "\t\tk: 0,\n" +
+ "\t\tv: \"涓汉棣栭〉\",\n" +
+ "\t\ti: \"font icon-shouyefill\",\n" +
+ "\t\tself: true,\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tk: 0,\n" +
+ "\t\t\tv: \"涓汉棣栭〉\",\n" +
+ "\t\t\ti: \"font icon-shouyefill\",\n" +
+ "\t\t\tu: \"index-index\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"涓氬姟绠$悊\",\n" +
+ "\t\ti: \"font icon-kexueyanjiuheshiyankaifa\",\n" +
+ "\t\tp: \"selectInsOrderParameter selectInsOrderPlanList pageInsReport costStatistics selectWarehouse\",\n" +
+ "\t\tc: [\n" +
+ " {\n" +
+ " v: \"鍘熸潗鏂欐楠屼笅鍗昞",\n" +
+ " i: \"font icon-erjidaohang\",\n" +
+ " u: \"b1-material-inspection-order\",\n" +
+ " p: \"selectInsOrderParameter\"\n" +
+ " },\n" +
+ " {\n" +
+ "\t\t\tv: \"妫�楠屼笅鍗昞",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-inspection-order\",\n" +
+ "\t\t\tp: \"selectInsOrderParameter\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"妫�楠屼换鍔",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-inspect-order-plan\",\n" +
+ "\t\t\tp: \"selectInsOrderPlanList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶ュ憡缂栧埗\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-report-preparation\",\n" +
+ "\t\t\tp: \"pageInsReport\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璐圭敤缁熻\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-expenses\",\n" +
+ "\t\t\tp: \"costStatistics\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍峰搧绠$悊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-sample\",\n" +
+ "\t\t\tp: \"selectWarehouse\"\n" +
+ "\t\t},{\n" +
+ "\t\t\tv: \"涓嶅悎鏍肩鐞哱",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b1-unpass\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}\n" +
+ "\t]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"鏍囧噯闆哱",\n" +
+ "\t\ti: \"font icon-biaozhunji\",\n" +
+ "\t\tp: \"selectStandardTreeList selectStandardTemplatePageList\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"鏍囧噯搴揬",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b2-standard\",\n" +
+ "\t\t\tp: \"selectStandardTreeList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍘熷璁板綍妯℃澘\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b2-standard-template\",\n" +
+ "\t\t\tp: \"selectStandardTemplatePageList\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"缁╂晥绠$悊\",\n" +
+ "\t\ti: \"font icon-jixiaoguanli\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"宸ユ椂绠$悊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b3-work-time-management\",\n" +
+ "\t\t\tp: \"selectAuxiliaryWorkingHours\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鑰冨嫟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鑰冭瘎\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b3-personnel-evaluation\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鑰冩牳\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶�鑳界瓑绾",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"宸ヨ祫缁撶畻\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鐝\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b3-classes\",\n" +
+ "\t\t\tp: \"performanceShiftPage performanceShiftPageYear\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"缁熻鍥捐〃\",\n" +
+ "\t\ti: \"font icon-tongjitubiao\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"瀹為獙瀹よ绱燶",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"姣忔棩涓氬姟缁熻\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b4-daily-business-statistics\",\n" +
+ "\t\t\tp: \"businessStatisticsByDay\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"妫�娴嬮」鐩粺璁",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b4-inspection-item-statistics\",\n" +
+ "\t\t\tp: \"testProductByDay\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍峰搧缂洪櫡鎸囨暟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"b4-sample-defects\",\n" +
+ "\t\t\tp: \"selectSampleDefects\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鑰楁潗缁熻\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳宸ヤ綔鎶ヨ〃\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"鐢靛瓙鐪嬫澘\",\n" +
+ "\t\ti: \"font icon-dianzikanban-fan\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"瀹㈡埛鎺ュ緟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浠诲姟灞曠ず\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鐘舵�佸強楗卞拰搴",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"绯荤粺鍔熻兘\",\n" +
+ "\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"鏁版嵁瀛楀吀\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"enums\",\n" +
+ "\t\t\tp: \"selectEnumList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瑙掕壊绠$悊\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"role-manage\",\n" +
+ "\t\t\tp: \"selectRoleLists\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鐢ㄦ埛绠$悊\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"person-manage\",\n" +
+ "\t\t\tp: \"selectUserList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹㈡埛绠$悊\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"custom_manage\",\n" +
+ "\t\t\tp: \"selectCustomPageList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"绯荤粺鏃ュ織\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"system-log\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"娑堟伅璇︽儏\",\n" +
+ "\t\t\ti: \"el-icon-s-tools\",\n" +
+ "\t\t\tu: \"notice-detail\",\n" +
+ "\t\t\tp: \"abcd\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"4 閫氱敤瑕佹眰\",\n" +
+ "\t\ti: \"font icon-tongyongyaoqiu\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\t\tv: \"閫氱敤瑕佹眰\",\n" +
+ "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\t\tu: \"\",\n" +
+ "\t\t\t\tg: \"4 閫氱敤瑕佹眰\",\n" +
+ "\t\t\t\tp: \"\"\n" +
+ "\t\t\t},\n" +
+ "\t\t\t{\n" +
+ "\t\t\t\tv: \"鍏鎬",\n" +
+ "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\t\tu: \"\",\n" +
+ "\t\t\t\tg: \"4.1 鍏鎬",\n" +
+ "\t\t\t\tp: \"\"\n" +
+ "\t\t\t},\n" +
+ "\t\t\t{\n" +
+ "\t\t\t\tv: \"淇濆瘑鎬",\n" +
+ "\t\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\t\tu: \"\",\n" +
+ "\t\t\t\tg: \"4.2 淇濆瘑鎬",\n" +
+ "\t\t\t\tp: \"\"\n" +
+ "\t\t\t}\n" +
+ "\t\t]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"5 缁撴瀯瑕佹眰\",\n" +
+ "\t\ti: \"font icon-jiegouyaoqiu\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"瀹為獙瀹ょ殑娉曞緥鍦颁綅\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"A瀹為獙瀹ょ殑娉曞緥鍦颁綅\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍏ㄦ潈璐熻矗鐨勭鐞嗗眰\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"B鍏ㄦ潈璐熻矗鐨勭鐞嗗眰\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹為獙瀹よ祫璐╘",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a5-laboratory-qualifications\",\n" +
+ "\t\t\tg: \"C鑳藉姏鑼冨洿鍜岃祫璐╘",\n" +
+ "\t\t\tp: \"getCertificationDetail\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鑳藉姏鑼冨洿\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a5-capacity-scope\",\n" +
+ "\t\t\tg: \"C鑳藉姏鑼冨洿鍜岃祫璐╘",\n" +
+ "\t\t\tp: \"selectItemParameterList selectTestObjectList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍦烘墍鎴栬鏂絓",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a5-laboratory-management\",\n" +
+ "\t\t\tg: \"D鍦烘墍鎴栬鏂絓",\n" +
+ "\t\t\tp: \"selectItemParameter\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"缁勭粐鐩稿叧鏂囦欢\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"E缁勭粐鐩稿叧鏂囦欢\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳宀椾綅浠昏亴\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"F浜哄憳宀椾綅浠昏亴\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"娌熼�氬拰瀹h疮\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"G娌熼�氬拰瀹h疮\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t}, {\n" +
+ "\t\tv: \"6 璧勬簮瑕佹眰\",\n" +
+ "\t\ti: \"font icon-ziyuanyaoqiu\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"鎬诲垯\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.1 鎬诲垯\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鎬昏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-personnel-overview\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"selectPersonnelOverview\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鏄庣粏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-personnel-detail\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"selectDepartmentLim\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鍩硅\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鐩戠潱\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"宀椾綅鑱岃矗\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鍩烘湰淇℃伅\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"宸ヤ綔灞ュ巻\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"濂栨儵璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍩硅璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鐩戠潱璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浠昏亴鎺堟潈璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浜哄憳鑳藉姏鐩戞帶璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"娌熼�氳褰昞",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.2 浜哄憳\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"澶栨潵浜哄憳绠$悊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-external-personnel-management\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹為獙瀹よ鏂藉満鎵�淇℃伅\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁炬柦鍜岀幆澧冩潯浠惰姹俓",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鐜鏉′欢寮曠敤\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹夊叏鍖轰唬琛ㄦ鏌",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹夊叏鍐呭姟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"搴熺墿澶勭悊浜ゆ帴璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-waste-handover\",\n" +
+ "\t\t\tg: \"6.3 璁炬柦鍜岀幆澧冩潯浠禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鎬昏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-device-overview\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"selectDeviceParameter\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧宸ュ叿鏄庣粏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-device-management\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"selectDeviceParameter\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璧勬簮棰勫畾\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浣滀笟鎸囧涔",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧杩愯鎬昏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧妗f\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧楠屾敹\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鏍″噯\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鏍告煡\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧缁存姢\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鍊熺敤\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鏁呴殰\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"浣跨敤璁板綍\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁惧鍋滅敤/鍚敤\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.4 璁惧\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"閲忓�兼函婧愯鍒抃",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍囧噯鐗╄川娓呭崟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-standard-material-list\",\n" +
+ "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍囧噯鐗╄川楠屾敹\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍囧噯鐗╄川棰嗙敤\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a6-standard-material-requisition\",\n" +
+ "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"杩囨湡鏍囨牱澶勭疆\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.5 璁¢噺婧簮鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏈嶅姟鍜屼緵搴斿搧閲囪喘\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t},{\n" +
+ "\t\t\tv: \"渚涘簲鍟嗙鐞哱",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"6.6 澶栭儴鎻愪緵鐨勪骇鍝佸拰鏈嶅姟\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"7 杩囩▼瑕佹眰\",\n" +
+ "\t\ti: \"font icon-guochengyaoqiu\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"妫�楠屽鎵樺崟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍚堝悓璇勫\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.1 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹為獙瀹ょ殑妫�娴嬭兘鍔涙。妗圽",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"a7-standard-method\",\n" +
+ "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
+ "\t\t\tp: \"selectStandardMethodList\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍囧噯鏌ユ柊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏍囧噯鏂规硶鐨勫彉鏇碶",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂规硶楠岃瘉\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.2 鏂规硶鐨勯�夋嫨銆侀獙璇佸拰纭\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶芥牱\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.3 鎶芥牱\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃甛",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.4 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃甛",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶�鏈褰昞",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.5 鎶�鏈褰昞",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹歕",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.6 娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹歕",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"纭繚缁撴灉鏈夋晥鎬",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.7 纭繚缁撴灉鏈夋晥鎬",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶ュ憡缁撴灉\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.8 鎶ュ憡缁撴灉\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶曡瘔璇︽儏\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.9 鎶曡瘔\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鎶曡瘔鎯呭喌姹囨�昏〃\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.9 鎶曡瘔\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"涓嶇鍚堥」\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.10 涓嶇鍚堝伐浣淺",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"涓嶇鍚堥」鐨勫垎甯僜",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.10 涓嶇鍚堝伐浣淺",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏁版嵁鎺у埗鍜屼俊鎭鐞哱",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"7.11 鏁版嵁鎺у埗鍜屼俊鎭鐞哱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t},\n" +
+ "\t{\n" +
+ "\t\tv: \"8 浣撶郴绠$悊瑕佹眰\",\n" +
+ "\t\ti: \"font icon-guanlitixiyaoqiu\",\n" +
+ "\t\tp: \"\",\n" +
+ "\t\tc: [{\n" +
+ "\t\t\tv: \"鏂瑰紡\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.1 鏂瑰紡\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"绠$悊浣撶郴鏂囦欢\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.2 绠$悊浣撶郴鏂囦欢\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂囦欢娓呭崟\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂囦欢鍙楁帶\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂囦欢鍙戞斁鍥炴敹\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂囦欢鍙樻洿\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鏂囦欢浣滃簾\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.3 绠$悊浣撶郴鏂囦欢鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"璁板綍鐨勬帶鍒禱",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.4 璁板綍鐨勬帶鍒禱",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"搴斿椋庨櫓鍜屾満閬囩殑鎺柦\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.5 搴斿椋庨櫓鍜屾満閬囩殑鎺柦\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹㈡埛鍩烘湰淇℃伅绠$悊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.6 鏀硅繘\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"瀹㈡埛婊℃剰搴",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.6 鏀硅繘\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"绾犳鎺柦\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.7 绾犳鎺柦\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"鍐呭绠$悊\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.8 鍐呭绠$悊\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}, {\n" +
+ "\t\t\tv: \"绠$悊璇勫\",\n" +
+ "\t\t\ti: \"font icon-erjidaohang\",\n" +
+ "\t\t\tu: \"\",\n" +
+ "\t\t\tg: \"8.9 绠$悊璇勫\",\n" +
+ "\t\t\tp: \"\"\n" +
+ "\t\t}]\n" +
+ "\t}\n" +
+ "]";
+ List<ADto> aDtos = JSONArray.parseArray(menu, ADto.class);
+ List<BDto> bDtos = aDtos.get(9).getC();
+ for (String s : name) {
+ BDto bDto = new BDto();
+ bDto.setV(s);
+ bDto.setI("font icon-erjidaohang");
+ bDto.setU("a6-device-overview");
+ bDto.setG("6.4 璁惧");
+ bDto.setP("selectDeviceParameter");
+ bDtos.add(bDto);
+ }
+ for (String s : collect) {
+ BDto bDto = new BDto();
+ bDto.setV(s);
+ bDto.setI("font icon-erjidaohang");
+ bDto.setU("a6-personnel-overview");
+ bDto.setG("6.2 浜哄憳");
+ bDto.setP("selectPersonnelOverview");
+ bDtos.add(bDto);
+ }
+
+ return aDtos;
+ }
+
+ @Override
+ public List<Map<String, Object>> treeDevice(String deviceName) {
+ List<Map<String, Object>> listMap = deviceMapper.treeDevice(deviceName);
+ return listMap;
+ }
+
+ @Override
+ public Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request) {
+ String ip = DataAcquisition.getIp(request);
+ List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
+ .eq(Device::getIp, ip));
+ if (ObjectUtils.isEmpty(device)) {
+ return Result.success(false);
+ }
+ if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) {
+ return Result.success(false);
+ } else {
+ return Result.success(true);
+ }
+ }
+ @Override
+ public void exportData(DeviceDto deviceDto, HttpServletResponse response){
+ //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
+// String dates = deviceDto.getDates();
+// String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
+// deviceDto.setDates(null);
+// List<CostStatisticsDto> deviceDtos = deviceMapper.selectList(QueryWrappers.queryWrappers(deviceDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
+// deviceDtos = deviceDtos.stream().map(dto -> {
+// Set<String> uniqueTags = new HashSet<>();
+// if (dto.getInspectionItem().contains(",")) {
+// for (String s : dto.getInspectionItem().split(",")) {
+// uniqueTags.add(s.split("@")[0]);
+// }
+// } else {
+// uniqueTags.add(dto.getInspectionItem().split("@")[0]);
+// }
+// dto.setInspectionItem(uniqueTags.toString());
+// return dto;
+// }).collect(Collectors.toList());
+//
+// response.setContentType("application/vnd.ms-excel");
+// response.setCharacterEncoding("UTF-8");
+// // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+// String fileName = URLEncoder.encode("鏍峰搧璐圭敤缁熻瀵煎嚭", "UTF-8");
+// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+// Map<String, List<CostStatisticsDto>> groupByCompany =
+// deviceDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany()))
+// .collect(Collectors.groupingBy(CostStatisticsDto::getCompany));
+// try {
+// // 鏂板缓ExcelWriter
+// // 鏂板缓ExcelWriter
+// ExcelWriter excelWriter =
+// EasyExcel.write(response.getOutputStream())
+// .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
+// .build();
+// for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) {
+// String sheetName = companyDataEntry.getKey();
+// List<CostStatisticsDto> dataList = companyDataEntry.getValue();
+// WriteSheet mainSheet = EasyExcel.writerSheet(sheetName)
+// .head(CostStatisticsDto.class)
+// .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25))
+// .build();
+// excelWriter.write(dataList, mainSheet);
+// }
+// // 鍏抽棴娴�
+// excelWriter.finish();
+// } catch (IOException e) {
+// throw new RuntimeException("瀵煎嚭澶辫触");
+// }
+ }
+
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceStateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceStateServiceImpl.java
new file mode 100644
index 0000000..82d4ab2
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DeviceStateServiceImpl.java
@@ -0,0 +1,26 @@
+package com.ruoyi.require.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.ruoyi.require.dto.DeviceStateDto;
+import com.ruoyi.require.mapper.DeviceStateMapper;
+import com.ruoyi.require.pojo.DeviceState;
+import com.ruoyi.require.service.DeviceStateService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁惧鍋滅敤/鍚敤 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-26 09:51:40
+ */
+@Service
+public class DeviceStateServiceImpl extends ServiceImpl<DeviceStateMapper, DeviceState> implements DeviceStateService {
+ @Override
+ public IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber) {
+ return baseMapper.getDeviceStatePage(deviceId, page, processNumber);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/DocumentServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DocumentServiceImpl.java
new file mode 100644
index 0000000..6b45236
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/DocumentServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.DocumentDao;
+import com.ruoyi.require.pojo.Document;
+import com.ruoyi.require.service.DocumentService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DocumentServiceImpl extends ServiceImpl<DocumentDao, Document> implements DocumentService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeCalibrationScheduleServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeCalibrationScheduleServiceImpl.java
new file mode 100644
index 0000000..de242dc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeCalibrationScheduleServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.mapper.FeCalibrationScheduleMapper;
+import com.ruoyi.require.pojo.FeCalibrationSchedule;
+import com.ruoyi.require.service.FeCalibrationScheduleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 02:53:05
+ */
+@Service
+public class FeCalibrationScheduleServiceImpl extends ServiceImpl<FeCalibrationScheduleMapper, FeCalibrationSchedule> implements FeCalibrationScheduleService {
+
+ @Override
+ public IPage<FeCalibrationSchedule> page(Page page, String instrumentName, String managementNumber) {
+ IPage<FeCalibrationSchedule> ipage = this.baseMapper.ipage(page,instrumentName, managementNumber);
+ return ipage;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java
new file mode 100644
index 0000000..739d3b5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.service.FeIlluminationDetectionAreaService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:28
+ */
+@Service
+public class FeIlluminationDetectionAreaServiceImpl extends ServiceImpl<FeIlluminationDetectionAreaMapper, FeIlluminationDetectionArea> implements FeIlluminationDetectionAreaService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java
new file mode 100644
index 0000000..3d3c1b8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java
@@ -0,0 +1,135 @@
+package com.ruoyi.require.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.ruoyi.common.utils.DateImageUtil;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.require.dto.FeIlluminationDto;
+import com.ruoyi.require.dto.FeIlluminationExportDto;
+import com.ruoyi.require.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.require.mapper.FeIlluminationMapper;
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.service.FeIlluminationService;
+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.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:15:57
+ */
+@Service
+public class FeIlluminationServiceImpl extends ServiceImpl<FeIlluminationMapper, FeIllumination> implements FeIlluminationService {
+
+ @Resource
+ private FeIlluminationDetectionAreaMapper feIlluminationDetectionAreaMapper;
+ @Resource
+ private UserMapper userMapper;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+
+ @Override
+ public IPage<FeIlluminationDto> getFeLightningProtection(Page page) {
+ return baseMapper.getFeLightningProtection(page);
+ }
+
+ /**
+ * 瀵煎嚭鐓у害璁板綍
+ * @param intensityIlluminationId
+ * @param response
+ */
+ @Override
+ public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response) {
+ FeIlluminationExportDto illuminationExportDto = baseMapper.selectFeIllumination(intensityIlluminationId);
+ // 妫�娴嬩汉
+ String testerUrl = null;
+ if (illuminationExportDto.getTesterId() != null) {
+ testerUrl = userMapper.selectById(illuminationExportDto.getTesterId()).getSignatureUrl();
+ if (StringUtils.isBlank(testerUrl)) {
+ throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
+ }
+ }
+
+ // 鏍告煡浜�
+ String checkerUrl = null;
+ if (illuminationExportDto.getCheckerId() != null) {
+ checkerUrl = userMapper.selectById(illuminationExportDto.getCheckerId()).getSignatureUrl();
+ if (StringUtils.isBlank(checkerUrl)) {
+ throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
+ }
+ }
+
+ // 鏌ヨ璇︽儏
+ List<FeIlluminationDetectionArea> feIlluminationDetectionAreas = feIlluminationDetectionAreaMapper.selectList(Wrappers.<FeIlluminationDetectionArea>lambdaQuery()
+ .eq(FeIlluminationDetectionArea::getIntensityIlluminationId, intensityIlluminationId));
+
+ for (int i = 0; i < feIlluminationDetectionAreas.size(); i++) {
+ feIlluminationDetectionAreas.get(i).setIndex(i + 1);
+ }
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/illumination.docx");
+ Configure configure = Configure.builder()
+ .bind("detectionAreaList", new HackLoopTableRenderPolicy())
+ .build();
+ String finalTesterUrl = testerUrl;
+ String finalCheckerUrl = checkerUrl;
+
+ // 鍒ゆ柇妫�娴嬫棩鏈熸槸鍚︿负绌�
+ LocalDateTime localDateTime = null;
+ if (illuminationExportDto.getTestDate() != null) {
+ Instant instant = illuminationExportDto.getTestDate().toInstant();
+ ZoneId zoneId = ZoneId.systemDefault();
+ localDateTime = instant.atZone(zoneId).toLocalDateTime();
+ }
+ LocalDateTime finalLocalDateTime = localDateTime;
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("illumination", illuminationExportDto);
+ put("detectionAreaList", feIlluminationDetectionAreas);
+ put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
+ put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null);
+ put("testDateUrl", finalLocalDateTime != null ?
+ Pictures.ofStream(DateImageUtil.createDateImage(finalLocalDateTime)).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-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java
new file mode 100644
index 0000000..6eeed39
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.mapper.FeLightningProtectionMapper;
+import com.ruoyi.require.pojo.FeLightningProtection;
+import com.ruoyi.require.service.FeLightningProtectionService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:36
+ */
+@Service
+public class FeLightningProtectionServiceImpl extends ServiceImpl<FeLightningProtectionMapper, FeLightningProtection> implements FeLightningProtectionService {
+
+ @Override
+ public List<FeLightningProtectionExcel> exportOfLightningProtectionDetection() {
+ return baseMapper.exportOfLightningProtectionDetection();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java
new file mode 100644
index 0000000..6dd7936
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.service.FeMeasuredQuantityService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:44
+ */
+@Service
+public class FeMeasuredQuantityServiceImpl extends ServiceImpl<FeMeasuredQuantityMapper, FeMeasuredQuantity> implements FeMeasuredQuantityService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java
new file mode 100644
index 0000000..43acf5c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java
@@ -0,0 +1,123 @@
+package com.ruoyi.require.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.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.require.dto.FePowerStableDto;
+import com.ruoyi.require.dto.FePowerStableExportDto;
+import com.ruoyi.require.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.require.mapper.FePowerStableMapper;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.pojo.FePowerStable;
+import com.ruoyi.require.service.FePowerStableService;
+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.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:16:52
+ */
+@Service
+public class FePowerStableServiceImpl extends ServiceImpl<FePowerStableMapper, FePowerStable> implements FePowerStableService {
+
+ @Resource
+ private FeMeasuredQuantityMapper feMeasuredQuantityMapper;
+ @Resource
+ private UserMapper userMapper;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+ @Override
+ public IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page) {
+ return baseMapper.getLaboratoryFacilityPowerStablePage(page);
+ }
+
+ @Override
+ public Map<String, Objects> getCalibrationDate(Integer deviceId) {
+ return baseMapper.getCalibrationDate(deviceId);
+ }
+
+ /**
+ * 瀵煎嚭鐢垫簮绋冲畾鎬�
+ * @param powerStableId
+ * @param response
+ */
+ @Override
+ public void exportFePowerStable(Integer powerStableId, HttpServletResponse response) {
+ FePowerStableExportDto powerStable = baseMapper.selectPowerStable(powerStableId);
+
+ // 妫�娴嬩汉
+ String testerUrl = null;
+ if (powerStable.getTesterId() != null) {
+ testerUrl = userMapper.selectById(powerStable.getTesterId()).getSignatureUrl();
+ if (StringUtils.isBlank(testerUrl)) {
+ throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�");
+ }
+ }
+
+ // 鏍告煡浜�
+ String checkerUrl = null;
+ if (powerStable.getCheckerId() != null) {
+ checkerUrl = userMapper.selectById(powerStable.getCheckerId()).getSignatureUrl();
+ if (StringUtils.isBlank(checkerUrl)) {
+ throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�");
+ }
+ }
+
+ // 鏌ヨ璇︽儏
+ List<FeMeasuredQuantity> feMeasuredQuantities = feMeasuredQuantityMapper.selectList(Wrappers.<FeMeasuredQuantity>lambdaQuery()
+ .eq(FeMeasuredQuantity::getPowerStableId, powerStableId));
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/power-stable.docx");
+ Configure configure = Configure.builder()
+ .bind("measuredQuantityList", new HackLoopTableRenderPolicy())
+ .build();
+ String finalTesterUrl = testerUrl;
+ String finalCheckerUrl = checkerUrl;
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("stable", powerStable);
+ put("measuredQuantityList", feMeasuredQuantities);
+ put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null);
+ put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).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-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
new file mode 100644
index 0000000..1e2cd6e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.require.service.FeStandardSubstanceAcceptanceInspectionService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 楠屾敹寮�绠辫褰� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:30:09
+ */
+@Service
+public class FeStandardSubstanceAcceptanceInspectionServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceInspectionMapper, FeStandardSubstanceAcceptanceInspection> implements FeStandardSubstanceAcceptanceInspectionService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
new file mode 100644
index 0000000..4506307
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
@@ -0,0 +1,111 @@
+package com.ruoyi.require.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.ruoyi.require.dto.AcceptanceDto;
+import com.ruoyi.require.mapper.FeStandardSubstanceAcceptanceInspectionMapper;
+import com.ruoyi.require.mapper.FeStandardSubstanceAcceptanceMapper;
+import com.ruoyi.require.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.require.pojo.FeStandardSubstance;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import com.ruoyi.require.service.FeStandardSubstanceAcceptanceService;
+import com.ruoyi.require.vo.AcceptanceDetailsVo;
+import com.ruoyi.require.vo.AcceptanceVo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 03:29:41
+ */
+@Service
+public class FeStandardSubstanceAcceptanceServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceMapper, FeStandardSubstanceAcceptance> implements FeStandardSubstanceAcceptanceService {
+
+ @Resource
+ private FeStandardSubstanceAcceptanceInspectionMapper feStandardSubstanceAcceptanceInspectionMapper;
+
+ @Resource
+ private FeStandardSubstanceMapper feStandardSubstanceMapper;
+
+
+
+ @Override
+ public void addAcceptance(AcceptanceDto dto) {
+ FeStandardSubstanceAcceptance acceptance = dto.getAcceptance();
+ List<FeStandardSubstanceAcceptanceInspection> list = dto.getList();
+ this.baseMapper.insert(acceptance);
+ list.forEach(v->{
+ v.setAcceptanceId(acceptance.getId());
+ feStandardSubstanceAcceptanceInspectionMapper.insert(v);
+ });
+ }
+
+ @Override
+ public IPage<AcceptanceVo> getPageAcceptance(Page page, String name) {
+ return this.baseMapper.getPageAcceptance(page,name);
+ }
+
+ @Override
+ public AcceptanceDetailsVo getAcceptanceDetails(Integer id) {
+ FeStandardSubstanceAcceptance acceptance = this.baseMapper.selectById(id);
+ FeStandardSubstance substance = feStandardSubstanceMapper.selectById(acceptance.getSubstanceId());
+ QueryWrapper<FeStandardSubstanceAcceptanceInspection> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("acceptance_id",id);
+ List<FeStandardSubstanceAcceptanceInspection> list = feStandardSubstanceAcceptanceInspectionMapper.selectList(queryWrapper);
+ AcceptanceDetailsVo vo = new AcceptanceDetailsVo();
+ vo.setSubstance(substance);
+ vo.setAcceptance(acceptance);
+ vo.setList(list);
+ return vo;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Integer deleteAcceptance(Integer id) {
+ feStandardSubstanceAcceptanceInspectionMapper.delete(new QueryWrapper<FeStandardSubstanceAcceptanceInspection>()
+ .lambda().eq(FeStandardSubstanceAcceptanceInspection::getAcceptanceId,id));
+ return this.baseMapper.deleteById(id);
+ }
+
+ @Override
+ public void exportFeStandardSubstanceAcceptance(HttpServletResponse response) {
+ List<FeStandardSubstanceAcceptance> list = this.list();
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("鏍囧噯鐗╄川楠屾敹", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鏍囧噯鐗╄川楠屾敹").head(FeStandardSubstanceAcceptance.class).build();
+ excelWriter.write(list, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceRecordServiceImpl.java
new file mode 100644
index 0000000..134e4ba
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceRecordServiceImpl.java
@@ -0,0 +1,79 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.require.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.require.mapper.FeStandardSubstanceRecordMapper;
+import com.ruoyi.require.pojo.FeStandardSubstance;
+import com.ruoyi.require.pojo.FeStandardSubstanceRecord;
+import com.ruoyi.require.service.FeStandardSubstanceRecordService;
+import com.ruoyi.require.vo.SubstanceRecordVo;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-14 01:49:11
+ */
+@Transactional(rollbackFor = Exception.class)
+@Service
+public class FeStandardSubstanceRecordServiceImpl extends ServiceImpl<FeStandardSubstanceRecordMapper, FeStandardSubstanceRecord> implements FeStandardSubstanceRecordService {
+
+ @Resource
+ private FeStandardSubstanceMapper feStandardSubstanceMapper;
+
+ @Override
+ public void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
+ FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
+ .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstance::getState, 0)
+ .last("limit 1"));
+ if (ObjectUtils.isEmpty(standardSubstance)){
+ throw new ErrorException("璇ョ墿璐ㄥ凡琚�熷嚭锛�");
+ }
+ this.baseMapper.insert(feStandardSubstanceRecord);
+ standardSubstance.setState(1);
+ feStandardSubstanceMapper.updateById(standardSubstance);
+ }
+
+ @Override
+ public void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) {
+ FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery()
+ .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstance::getState, 1));
+ if (ObjectUtils.isEmpty(standardSubstance)){
+ throw new ErrorException("璇ョ墿璐ㄦ湭琚鐢紝鏃犻渶褰掕繕锛�");
+ }
+ standardSubstance.setState(0);
+ feStandardSubstanceMapper.updateById(standardSubstance);
+ System.out.println(feStandardSubstanceRecord);
+ baseMapper.update(feStandardSubstanceRecord, Wrappers.<FeStandardSubstanceRecord>lambdaUpdate()
+ .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId())
+ .eq(FeStandardSubstanceRecord::getStatus, 0));
+ }
+
+ @Override
+ public List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id) {
+ QueryWrapper<FeStandardSubstanceRecord> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("substance_id",id);
+ List<FeStandardSubstanceRecord> list = this.baseMapper.selectList(queryWrapper);
+ return list;
+ }
+
+ @Override
+ public IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo) {
+ return this.baseMapper.getPage(page,vo);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceServiceImpl.java
new file mode 100644
index 0000000..012a288
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceServiceImpl.java
@@ -0,0 +1,26 @@
+package com.ruoyi.require.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.ruoyi.require.mapper.FeStandardSubstanceMapper;
+import com.ruoyi.require.pojo.FeStandardSubstance;
+import com.ruoyi.require.service.FeStandardSubstanceService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-13 03:58:59
+ */
+@Service
+public class FeStandardSubstanceServiceImpl extends ServiceImpl<FeStandardSubstanceMapper, FeStandardSubstance> implements FeStandardSubstanceService {
+
+ @Override
+ public IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance) {
+ return this.baseMapper.getPage(page,feStandardSubstance);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
new file mode 100644
index 0000000..5fbbc4a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
@@ -0,0 +1,86 @@
+package com.ruoyi.require.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.ruoyi.framework.util.HackLoopTableRenderPolicy;
+import com.ruoyi.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.mapper.FeTempHumDateMapper;
+import com.ruoyi.require.pojo.FeTempHumDate;
+import com.ruoyi.require.service.FeTempHumDateService;
+import com.ruoyi.require.service.FeTempHumRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+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-11-09 11:02:18
+ */
+@Service
+public class FeTempHumDateServiceImpl extends ServiceImpl<FeTempHumDateMapper, FeTempHumDate> implements FeTempHumDateService {
+
+ @Autowired
+ private FeTempHumRecordService feTempHumRecordService;
+
+ @Override
+ public IPage<FeTempHumDateDto> getFeTempHumDate(Page page) {
+ return baseMapper.getFeTempHumDate(page);
+ }
+
+ @Override
+ public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response) {
+ FeTempHumDate feTempHumDate = baseMapper.selectById(dateId);
+ IPage<FeTempHumRecordDto> list = feTempHumRecordService.getFeTempHumRecordPage(new Page<>(1, -1), dateId);
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ list.getRecords().forEach(i -> {
+ i.setMonth(i.getMorningTestTime().getMonth().getValue());
+ i.setMorningTestTimeStr(i.getMorningTestTime().format(formatter));
+ i.setAfternoonTimeStr(i.getAfternoonTime().format(formatter));
+ });
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/temp_hum_date.docx");
+ Configure configure = Configure.builder()
+ .bind("recordList", new HackLoopTableRenderPolicy())
+ .build();
+
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("testAreaName", feTempHumDate.getTestAreaName());
+ map.put("experimentalYear", feTempHumDate.getMonthDate().getYear());
+ map.put("experimentalMonth", feTempHumDate.getMonthDate().getMonth().getValue());
+
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("feTempHum", map);
+ put("recordList", list.getRecords());
+ }});
+
+ 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-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java
new file mode 100644
index 0000000..2e37f6a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.mapper.FeTempHumRecordMapper;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import com.ruoyi.require.service.FeTempHumRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-07 04:28:52
+ */
+@Service
+public class FeTempHumRecordServiceImpl extends ServiceImpl<FeTempHumRecordMapper, FeTempHumRecord> implements FeTempHumRecordService {
+
+ @Override
+ public IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId) {
+ return baseMapper.getFeTempHumRecordPage(page, dateId);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java
new file mode 100644
index 0000000..4ae4dd5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java
@@ -0,0 +1,101 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.data.Pictures;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.mapper.ForeignRegisterMapper;
+import com.ruoyi.require.pojo.ForeignRegister;
+import com.ruoyi.require.service.ForeignRegisterService;
+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.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Service
+public class ForeignRegisterServiceImpl extends ServiceImpl<ForeignRegisterMapper, ForeignRegister> implements ForeignRegisterService {
+ @Resource
+ private UserMapper userMapper;
+ @Value("${file.path}")
+ private String imgUrl;
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param foreignRegister
+ * @return
+ */
+ @Override
+ public IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) {
+ String beginDate = foreignRegister.getBeginDate();
+ String endDate = foreignRegister.getEndDate();
+ foreignRegister.setBeginDate(null);
+ foreignRegister.setEndDate(null);
+ return baseMapper.pageForeignRegister(page, QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
+ }
+
+ /**
+ * 瀵煎嚭澶栨潵浜哄憳鐧昏
+ * @param foreignRegister
+ */
+ @Override
+ public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response) {
+ String beginDate = foreignRegister.getBeginDate();
+ String endDate = foreignRegister.getEndDate();
+ foreignRegister.setBeginDate(null);
+ foreignRegister.setEndDate(null);
+ List<ForeignRegisterDto> register = baseMapper.getForeignRegisterList(QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate);
+
+ for (ForeignRegisterDto foreignRegisterDto : register) {
+ // 娣诲姞鍗忓悓浜哄拰鎵瑰噯浜虹鍚�
+ foreignRegisterDto.setAccompanyingRender(StringUtils.isNotBlank(foreignRegisterDto.getAccompanyingUrl())
+ ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getAccompanyingUrl()).create() : null);
+ foreignRegisterDto.setApproveRender(StringUtils.isNotBlank(foreignRegisterDto.getApproveUrl())
+ ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getApproveUrl()).create() : null);
+ }
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/foreign-register.docx");
+ Configure configure = Configure.builder()
+ .bind("register", new HackLoopTableRenderPolicy())
+ .build();
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("register", register);
+ }});
+ 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-require/src/main/java/com/ruoyi/require/service/impl/IncidentAcceptanceCheckServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentAcceptanceCheckServiceImpl.java
new file mode 100644
index 0000000..62d4031
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentAcceptanceCheckServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.IncidentAcceptanceCheckMapper;
+import com.ruoyi.require.pojo.IncidentAcceptanceCheck;
+import com.ruoyi.require.service.IncidentAcceptanceCheckService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IncidentAcceptanceCheckServiceImpl extends ServiceImpl<IncidentAcceptanceCheckMapper, IncidentAcceptanceCheck> implements IncidentAcceptanceCheckService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentFileServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentFileServiceImpl.java
new file mode 100644
index 0000000..62cc3a8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentFileServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.IncidentFileMapper;
+import com.ruoyi.require.pojo.IncidentFile;
+import com.ruoyi.require.service.IncidentFileService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IncidentFileServiceImpl extends ServiceImpl<IncidentFileMapper, IncidentFile> implements IncidentFileService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentInstallServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentInstallServiceImpl.java
new file mode 100644
index 0000000..e96c817
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentInstallServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.IncidentInstallMapper;
+import com.ruoyi.require.pojo.IncidentInstall;
+import com.ruoyi.require.service.IncidentInstallService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IncidentInstallServiceImpl extends ServiceImpl<IncidentInstallMapper, IncidentInstall> implements IncidentInstallService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentReportServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentReportServiceImpl.java
new file mode 100644
index 0000000..e732650
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentReportServiceImpl.java
@@ -0,0 +1,116 @@
+package com.ruoyi.require.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.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.require.dto.IncidentReportAddDto;
+import com.ruoyi.require.excel.IncidentReportExport;
+import com.ruoyi.require.mapper.IncidentReportMapper;
+import com.ruoyi.require.pojo.*;
+import com.ruoyi.require.service.*;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+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 {
+ @Autowired
+ private UserMapper userMapper;
+ private IncidentSparePartsService incidentSparePartsService;
+ private IncidentFileService incidentFileService;
+ private IncidentInstallService incidentInstallService;
+ private IncidentAcceptanceCheckService incidentAcceptanceCheckService;
+
+ private final NumberGenerator<IncidentReport> 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);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentSparePartsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentSparePartsServiceImpl.java
new file mode 100644
index 0000000..3c1883f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/IncidentSparePartsServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.IncidentSparePartsMapper;
+import com.ruoyi.require.pojo.IncidentSpareParts;
+import com.ruoyi.require.service.IncidentSparePartsService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class IncidentSparePartsServiceImpl extends ServiceImpl<IncidentSparePartsMapper, IncidentSpareParts> implements IncidentSparePartsService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/InformationNotificationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InformationNotificationServiceImpl.java
new file mode 100644
index 0000000..73498c5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InformationNotificationServiceImpl.java
@@ -0,0 +1,95 @@
+package com.ruoyi.require.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.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.dto.InformationNotificationDto;
+import com.ruoyi.require.mapper.InformationNotificationMapper;
+import com.ruoyi.require.pojo.InformationNotification;
+import com.ruoyi.require.service.InformationNotificationService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 娑堟伅閫氱煡 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-04-23 02:14:30
+ */
+@Service
+public class InformationNotificationServiceImpl extends ServiceImpl<InformationNotificationMapper, InformationNotification> implements InformationNotificationService {
+
+ @Override
+ public IPage<InformationNotificationDto> getPage(Page page, String messageType) {
+ return baseMapper.getPage(page, messageType, SecurityUtils.getUserId().intValue());
+ }
+
+ @Override
+ public void markAllInformationReadOrDeleteAllReadMessages(Boolean isMarkAllInformationRead) {
+ if (isMarkAllInformationRead) {
+ baseMapper.update(new InformationNotification(), Wrappers.<InformationNotification>lambdaUpdate()
+ .set(InformationNotification::getViewStatus, true)
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId()));
+ } else {
+ baseMapper.delete(Wrappers.<InformationNotification>lambdaUpdate()
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
+ .eq(InformationNotification::getViewStatus, true));
+ }
+ }
+
+ @Override
+ public Boolean checkForUnreadData() {
+ Map<String, Integer> map1 = null;
+ try {
+ List<InformationNotification> informationNotifications = baseMapper.selectList(
+ Wrappers.<InformationNotification>lambdaQuery()
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
+ .eq(InformationNotification::getViewStatus, false)
+ .last("limit 1"));
+ return !informationNotifications.isEmpty();
+ } catch (Exception e) {
+ }
+ return false;
+ }
+
+ @Override
+ public void triggerModificationStatusToRead(Integer id) {
+ baseMapper.update(new InformationNotification(), Wrappers.<InformationNotification>lambdaUpdate()
+ .eq(InformationNotification::getId, id)
+ .set(InformationNotification::getViewStatus, true));
+ }
+
+ @Override
+ public int addInformationNotification(InformationNotification informationNotification) {
+ return baseMapper.insert(informationNotification);
+ }
+
+ @Override
+ public Map<String, Object> getNumberFourTypesMessagesHomePage() {
+ Map<String, Object> map = new HashMap<>();
+ Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId()));
+ Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
+ .eq(InformationNotification::getViewStatus, true));
+ LocalDate today = LocalDate.now();
+ LocalDate sevenDaysAgo = today.minusDays(7);
+ Long totalNumberOfMessagesInThePastSevenDays = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
+ .eq(InformationNotification::getConsigneeId, SecurityUtils.getUserId())
+ .between(InformationNotification::getCreateTime, today, sevenDaysAgo));
+ long remainingToDo = totalNumberOfMessages - totalNumberOfReadMessages;
+ map.put("totalNumberOfMessages", totalNumberOfMessages);
+ map.put("remainingToDo", remainingToDo);
+ map.put("totalNumberOfReadMessages", totalNumberOfReadMessages);
+ map.put("totalNumberOfMessagesInThePastSevenDays", totalNumberOfMessagesInThePastSevenDays);
+ return map;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/InsOrderPlanServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InsOrderPlanServiceImpl.java
new file mode 100644
index 0000000..e75d5fa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InsOrderPlanServiceImpl.java
@@ -0,0 +1,2785 @@
+package com.ruoyi.require.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.lang.UUID;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.style.WriteCellStyle;
+import com.alibaba.excel.write.metadata.style.WriteFont;
+import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+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.conditions.query.QueryWrapper;
+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.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.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.config.ConfigureBuilder;
+import com.deepoove.poi.data.*;
+import com.deepoove.poi.data.style.Style;
+import com.deepoove.poi.util.TableTools;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.service.StandardTemplateService;
+import com.ruoyi.basic.vo.StandardProductVO;
+import com.ruoyi.common.constant.ExchangeConstants;
+import com.ruoyi.common.constant.RouterKeyConstants;
+import com.ruoyi.common.core.domain.entity.Custom;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.JackSonUtil;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.MatrixToImageWriter;
+import com.ruoyi.framework.util.RedisUtil;
+import com.ruoyi.inspect.dto.*;
+import com.ruoyi.inspect.mapper.*;
+import com.ruoyi.inspect.pojo.*;
+import com.ruoyi.inspect.service.InsBushingService;
+import com.ruoyi.inspect.service.InsOrderService;
+import com.ruoyi.inspect.service.InsUnPassService;
+import com.ruoyi.inspect.service.impl.InsOrderServiceImpl;
+import com.ruoyi.framework.util.SheetWriteHandlerUtil;
+import com.ruoyi.inspect.service.impl.InsReportServiceImpl;
+import com.ruoyi.inspect.vo.*;
+import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
+import com.ruoyi.performance.mapper.PerformanceShiftMapper;
+import com.ruoyi.performance.mapper.ShiftTimeMapper;
+import com.ruoyi.require.handler.*;
+import com.ruoyi.require.pojo.InformationNotification;
+import com.ruoyi.require.service.InformationNotificationService;
+import com.ruoyi.require.service.InsOrderPlanService;
+import com.ruoyi.system.mapper.CustomMapper;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.Strings;
+import org.apache.poi.openxml4j.util.ZipSecureFile;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.xwpf.usermodel.*;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.net.URLEncoder;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.concurrent.locks.ReentrantLock;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+
+/**
+ * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
+ */
+@Service
+@Slf4j
+public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
+
+ // 鎶ュ憡鎵爜璺緞
+ @Value("${phoneQrCode}")
+ private String phoneQrCode;
+
+ @Resource
+ private InsReportServiceImpl insReportService;
+ @Resource
+ private InsSampleMapper insSampleMapper;
+ @Resource
+ private InsSampleUserMapper insSampleUserMapper;
+ @Resource
+ private InsOrderMapper insOrderMapper;
+ @Resource
+ private InsOrderService insOrderService;
+
+ @Resource
+ private InsOrderServiceImpl insOrderServiceImpl;
+
+ @Resource
+ private StandardTemplateService standardTemplateService;
+ @Resource
+ private InsOrderStateMapper insOrderStateMapper;
+ @Resource
+ private InsProductMapper insProductMapper;
+ @Resource
+ private ShiftTimeMapper shiftTimeMapper;
+ @Resource
+ private PerformanceShiftMapper performanceShiftMapper;
+
+ @Resource
+ private StandardProductListMapper standardProductListMapper;
+
+ @Value("${wordUrl}")
+ private String wordUrl;
+
+ @Value("${twoCode}")
+ private String twoCode;
+
+ @Resource
+ private InsReportMapper insReportMapper;
+
+ @Resource
+ private InsProductResultMapper insProductResultMapper;
+
+ @Resource
+ private InsProductUserMapper insProductUserMapper;
+
+ @Resource
+ private InsUnPassService insUnPassService;
+
+ @Resource
+ AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+
+ @Resource
+ private InformationNotificationService informationNotificationService;
+
+ @Resource
+ private UserMapper userMapper;
+
+ @Resource
+ private CustomMapper customMapper;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+ @Resource
+ private InsBushingService insBushingService;
+
+ @Resource
+ private InsBushingMapper insBushingMapper;
+
+ @Resource
+ private InsFiberMapper insFiberMapper;
+
+ @Resource
+ private InsFibersMapper insFibersMapper;
+
+ @Resource
+ private InsOrderFileMapper insOrderFileMapper;
+
+ @Resource
+ private InsReportApproveConfigMapper insReportApproveConfigMapper;
+
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+
+
+
+ private ReentrantLock lock = new ReentrantLock();
+
+ @Resource
+ private ThreadPoolTaskExecutor threadPoolTaskExecutor;
+
+ @Override
+ public void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response) {
+ List<Map<String,Object>> dataList = new ArrayList<>();
+ ObjectMapper objectMapper = new ObjectMapper();
+ try {
+ Object o = getTabHeader(data.get("sonLaboratory").toString(), data.get("samples").toString()).get("tableHeader");// 鑾峰彇鍔ㄦ�佽〃澶�
+ List<Map<String, Object>> tableHeader = objectMapper.readValue(JSONUtil.toJsonStr(o), new TypeReference<List<Map<String, Object>>>() {
+ });// 琛ㄥご鏁版嵁
+ Map<String, Object> table = objectMapper.readValue(JSONUtil.toJsonStr(data.get("trendsTable")), new TypeReference<Map<String, Object>>() {
+ });
+ List<Map<String, Object>> trendsTable = getInsOrderPlanList(table); // 琛ㄦ牸鏁版嵁
+ for (Map<String, Object> trend : trendsTable) {
+ Map<String, Object> addMap = new HashMap<>();
+ addMap.put("濮旀墭鍗曞彿", trend.get("entrustCode"));
+ addMap.put("鏍峰搧缂栧彿", trend.get("sampleCode"));
+ addMap.put("绠¤壊鏍�", trend.get("bushing"));
+ addMap.put("鍏夌氦甯﹁壊鏍�", trend.get("fibers"));
+ addMap.put("鍏夌氦鑹叉爣", trend.get("fiber"));
+ addMap.put("妫�楠岄」鐩垎绫�", trend.get("inspectionItem"));
+ addMap.put("鍒涘缓浜�", trend.get("userName"));
+ addMap.put("妫�娴嬫椂闂�", trend.get("insTime"));
+ addMap.put("涓嬪彂鏃堕棿", trend.get("sendTime"));
+ for (Map<String, Object> map : tableHeader) {
+ if(Objects.isNull(trend.get(map.get("prop").toString())) || Objects.equals(trend.get(map.get("prop").toString()),"null")) {
+ addMap.put(map.get("label").toString(), "");
+ }else {
+ addMap.put(map.get("label").toString(), trend.get(map.get("prop").toString()));
+ }
+ }
+ dataList.add(addMap);
+ }
+ List<List<String>> head = head(tableHeader);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ String fileName = URLEncoder.encode("妫�楠岀粨鏋�", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ HorizontalCellStyleStrategy horizontalCellStyleStrategy =
+ new HorizontalCellStyleStrategy(getHeadStyle((short) 12),new WriteCellStyle());
+
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+ .registerWriteHandler(new SheetWriteHandlerUtil(data.get("samples").toString(),head.size()))
+ .useDefaultStyle(true).relativeHeadRowIndex(1)
+ .registerWriteHandler(horizontalCellStyleStrategy)
+ .build();
+ WriteSheet mainSheet = EasyExcel.writerSheet("Sheet0").head(head).build();
+ excelWriter.write(dataList(head,dataList), mainSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * 鍔ㄦ�佽〃澶�
+ * @param tableHeader
+ * @return
+ */
+ private List<List<String>> head(List<Map<String, Object>> tableHeader) {
+ List<List<String>> list = new ArrayList<>();
+ List<String> head0 = new ArrayList<>();
+ head0.add("濮旀墭鍗曞彿");
+ List<String> head1 = new ArrayList<>();
+ head1.add("鏍峰搧缂栧彿");
+ List<String> head2 = new ArrayList<>();
+ head2.add("妫�楠岄」鐩垎绫�");
+ List<String> head3 = new ArrayList<>();
+ head3.add("鍒涘缓浜�");
+ List<String> head4 = new ArrayList<>();
+ head4.add("妫�娴嬫椂闂�");
+ List<String> head5 = new ArrayList<>();
+ head5.add("涓嬪彂鏃堕棿");
+ List<String> head6 = new ArrayList<>();
+ head6.add("绠¤壊鏍�");
+ List<String> head7 = new ArrayList<>();
+ head7.add("鍏夌氦甯﹁壊鏍�");
+ List<String> head8 = new ArrayList<>();
+ head8.add("鍏夌氦鑹叉爣");
+
+ list.add(head0);
+ list.add(head1);
+ list.add(head6);
+ list.add(head7);
+ list.add(head8);
+ list.add(head2);
+ list.add(head3);
+ list.add(head4);
+ list.add(head5);
+ for (Map<String, Object> map : tableHeader) {
+ List<String> head = new ArrayList<>();
+ head.add(map.get("label").toString());
+ list.add(head);
+ }
+ return list.stream().distinct().collect(Collectors.toList());
+ }
+
+ /**
+ * excel瀵煎嚭鏁版嵁
+ * @param head
+ * @param dataList
+ * @return
+ */
+ private List<List<Object>> dataList(List<List<String>> head,List<Map<String,Object>> dataList) {
+ List<List<Object>> list = new ArrayList<>();
+ for(Map<String, Object> map : dataList) {
+ List<Object> addList = new ArrayList<>();
+ for(List<String> k : head) {
+ if(map.containsKey(k.get(0))) {
+ addList.add(map.get(k.get(0)));
+ }
+ }
+ list.add(addList);
+ }
+ return list;
+ }
+
+ /**
+ * 澶寸殑绛栫暐
+ * @return
+ */
+ public WriteCellStyle getHeadStyle(Short size){
+ // 澶寸殑绛栫暐
+ WriteCellStyle headWriteCellStyle = new WriteCellStyle();
+ // 鑳屾櫙棰滆壊
+ headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
+ headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
+ // 瀛椾綋
+ WriteFont headWriteFont = new WriteFont();
+ headWriteFont.setFontName("榛戜綋");//璁剧疆瀛椾綋鍚嶅瓧
+ headWriteFont.setFontHeightInPoints(size);//璁剧疆瀛椾綋澶у皬
+ headWriteFont.setBold(true);//瀛椾綋鍔犵矖
+ headWriteCellStyle.setWriteFont(headWriteFont); //鍦ㄦ牱寮忕敤搴旂敤璁剧疆鐨勫瓧浣�;
+
+ return headWriteCellStyle;
+ }
+ @Override
+ public List<Map<String, Object>> getInsOrderPlanList(Map<String,Object> data) {
+ String sampleType = data.get("sampleType").toString();
+ String sonLaboratory = data.get("sonLaboratory").toString();
+ String entrustCode = data.get("entrustCode").toString();
+ Integer createUser = null;
+ String name = "";
+ if(StringUtils.isNotBlank(data.get("createUser").toString())) {
+ createUser = Integer.parseInt(data.get("createUser").toString());
+ name = userMapper.selectById(createUser).getName();
+ }
+ String sampleCode = data.get("sampleCode").toString();
+ String startTime = "";
+ String endTime = "";
+ List<Map<String, Object>> maps = new ArrayList<>();
+ ObjectMapper objectMapper = new ObjectMapper();
+ try {
+ if(StringUtils.isNotBlank(data.get("insTime").toString()) && !Objects.isNull(data.get("insTime"))) {
+ List insTime = objectMapper.readValue(JSONUtil.toJsonStr(data.get("insTime")), List.class);
+ startTime = insTime.get(0).toString();
+ endTime = insTime.get(1).toString();
+ }
+ // 琛ㄥご淇℃伅
+ List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.get("headerS")), new TypeReference<List<Map<String, Object>>>() {
+ });
+ // 鍒ゆ柇鏄惁鏄俯搴﹀惊鐜�
+ if(sampleType.equals("娓╁害寰幆")) {
+ List<ExportInsProductVO> insOrderTemList = insOrderMapper.getInsOrderTemList(entrustCode, sampleCode, startTime, endTime,name);
+ List<TemperatureCycling> temList = insOrderServiceImpl.getTemList(insOrderTemList);
+ for (TemperatureCycling map : temList) {
+ Map<String, Object> resultMap = new HashMap<>();
+ resultMap.put("entrustCode", map.getEntrustCode()); //濮旀墭鍗曞彿
+ resultMap.put("sampleCode", map.getSampleCode()); //鏍峰搧缂栧彿
+ resultMap.put("bushing", map.getBushColor()); //濂楃
+ resultMap.put("fiber", map.getColor()); //鍏夌氦
+ resultMap.put("fibers", map.getCode()); //鍏夌氦甯�
+ resultMap.put("userName", map.getCheckName()); //妫�楠屼汉
+ resultMap.put("insTime", map.getInsTime()); //妫�娴嬫椂闂�
+ resultMap.put("sendTime", map.getSendTime()); //涓嬪彂鏃堕棿
+ resultMap.put("inspectionItem", map.getSample()); //妫�楠岄」鐩�
+ //娓╁害寰幆瀛愰」
+ resultMap.put("inspectionItems", map.getInspectionItem());
+ resultMap.put("inspectionItemSubclass", map.getInspectionItemSubclass());
+ resultMap.put("attenuationCoefficient1310", map.getAttenuationCoefficient1310());
+ resultMap.put("attenuationDifference1", map.getAttenuationDifference1());
+ resultMap.put("attenuationDifference2", map.getAttenuationDifference2());
+ resultMap.put("attenuationCoefficient1625", map.getAttenuationCoefficient1625());
+ resultMap.put("attenuationDifference3", map.getAttenuationDifference3());
+ resultMap.put("attenuationCoefficient1383", map.getAttenuationCoefficient1383());
+ resultMap.put("attenuationDifference4", map.getAttenuationDifference4());
+ resultMap.put("attenuationCoefficient1490", map.getAttenuationCoefficient1490());
+ resultMap.put("attenuationDifference5", map.getAttenuationDifference5());
+ resultMap.put("attenuationDifferenceMax", map.getAttenuationDifferenceMax());
+ resultMap.put("insResult", map.getInsResult());
+ maps.add(resultMap);
+ }
+ }
+ else {
+ List<Map<String, Object>> insOrderPlanList = baseMapper.getInsOrderPlanList(sonLaboratory, entrustCode, sampleCode, createUser, startTime, endTime,sampleType);
+ for (Map<String, Object> map : insOrderPlanList) {
+ Map<String, Object> resultMap = new HashMap<>();
+ resultMap.put("entrustCode", map.get("entrustCode")); //濮旀墭鍗曞彿
+ resultMap.put("sampleCode", map.get("sampleCode")); //鏍峰搧缂栧彿
+ resultMap.put("bushing", map.get("bushing")); //濂楃
+ resultMap.put("fiber", map.get("fiber")); //鍏夌氦
+ resultMap.put("fibers", map.get("fibers")); //鍏夌氦甯�
+ resultMap.put("userName", map.get("userName")); //鍒涘缓浜�
+ resultMap.put("insTime", map.get("insTime")); //妫�娴嬫椂闂�
+ resultMap.put("sendTime", map.get("sendTime")); //涓嬪彂鏃堕棿
+ resultMap.put("inspectionItem", map.get("inspectionItem")); //妫�楠岄」鐩�
+ // 鏌ョ湅琛ㄥご鏄惁瀛樺湪瀛愰」
+ List<Map<String, Object>> collect = headerS.stream().filter(item ->
+ item.get("label").toString().equals(map.get("inspectionItemSubclass").toString()))
+ .collect(Collectors.toList());
+ // 鏈夊氨鍙栧瓙椤� 娌℃湁灏卞彇鐖堕」
+ if(!collect.isEmpty() && !Objects.isNull(collect)) {
+ resultMap.put(collect.get(0).get("prop").toString(), map.get("lastValue"));//妫�楠屽瓙椤圭洰 妫�楠岀粨鏋�
+ }else {
+ List<Map<String, Object>> collect1 = headerS.stream().filter(item ->
+ item.get("label").toString().equals(map.get("inspectionItem").toString()))
+ .collect(Collectors.toList());
+ if(!collect1.isEmpty() && !Objects.isNull(collect1)) {
+ resultMap.put(collect1.get(0).get("prop").toString(), map.get("lastValue"));//妫�楠岄」鐩� 妫�楠岀粨鏋�
+ }
+ }
+ maps.add(resultMap);
+ }
+
+ }
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ return maps.stream().distinct().collect(Collectors.toList());
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐢ㄦ埛鐨勫疄楠屽
+ * @return
+ */
+ private String getCurrentUserLaboratory(){
+ // 鑾峰彇褰撳墠浜烘墍鍦ㄥ疄楠屽
+ Integer userId = SecurityUtils.getUserId().intValue();
+ String departLimsId = userMapper.selectById(userId).getDepartLimsId();
+ String laboratory = "";
+ if(StringUtils.isNotBlank(departLimsId)) {
+ String[] split = departLimsId.split(",");
+ for (String s : split) {
+ if (StringUtils.isNotBlank(s) && (!Arrays.asList("1","22").contains(s))) {
+ laboratory = insOrderMapper.getDepartment(Integer.parseInt(s));
+ }
+ }
+ }
+ return laboratory;
+ }
+
+ /**
+ * 瀵煎嚭濮旀墭璐圭敤
+ * @param data 鏁版嵁
+ */
+ @Override
+ public void exportCommissionFees(Map<String, Object> data,HttpServletResponse response) {
+ String laboratory = getCurrentUserLaboratory();
+ // 鏃ユ湡鏍煎紡鍖�
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ String start = LocalDateTime.of(
+ LocalDate.parse(data.get("startTime").toString(),
+ dateTimeFormatter),LocalTime.of(00, 00, 00)
+ ).toString();
+ String end = LocalDateTime.of(
+ LocalDate.parse(data.get("endTime").toString(),
+ dateTimeFormatter),LocalTime.of(23, 59, 59)
+ ).toString();
+ // 鑾峰彇鏁版嵁
+ String company = data.get("company").toString();
+ List<CommissionFeesDto> list = insOrderMapper.selectCommissionFees(laboratory,company, start, end);
+ list = list.stream().map(dto -> {
+ Set<String> uniqueTags = new HashSet<>();
+ if (dto.getInsItem().contains(",")) {
+ for (String s : dto.getInsItem().split(",")) {
+ uniqueTags.add(s.split("@")[0]);
+ }
+ } else {
+ uniqueTags.add(dto.getInsItem().split("@")[0]);
+ }
+ dto.setInsItem(uniqueTags.toString());
+ return dto;
+ }).collect(Collectors.toList());
+ try {
+ String fileName = URLEncoder.encode(laboratory+"濮旀墭璐圭敤缁熻", "UTF-8");
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(),CommissionFeesDto.class).build();
+ // 鏍规嵁濮旀墭鍗曚綅杩涜sheet鍒嗙被
+ Map<String, List<CommissionFeesDto>> collect = list.stream().collect(Collectors.groupingBy(CommissionFeesDto::getCompany));
+ Iterator<Map.Entry<String, List<CommissionFeesDto>>> iterator = collect.entrySet().iterator();
+ int i = 0;
+ while(iterator.hasNext()) {
+ Map.Entry<String, List<CommissionFeesDto>> entry = iterator.next();
+ WriteSheet writeSheet = EasyExcel.writerSheet(i, entry.getKey()).build();
+ excelWriter.write(entry.getValue(), writeSheet);
+ i++;
+ }
+// WriteSheet writeSheet = EasyExcel.writerSheet().head(CommissionFeesDto.class).build();
+// excelWriter.write(list, writeSheet);
+
+ // 灏嗘暟鎹啓鍏�
+ excelWriter.finish();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ @Override
+ public void exportUnInsProducts(UnInsProductsDTO unInsProductsDTO, HttpServletResponse response) {
+ String laboratory = getCurrentUserLaboratory();
+ //鏃ユ湡鏍煎紡鍖�
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ LocalDateTime startDateTime = LocalDateTime.of(LocalDate.parse(unInsProductsDTO.getStartDate(),dateTimeFormatter),LocalTime.MIN);
+ LocalDateTime endDateTime = LocalDateTime.of(LocalDate.parse(unInsProductsDTO.getEndDate(),dateTimeFormatter),LocalTime.MAX);
+
+ // 鑾峰彇鏁版嵁
+ List<UnInsProductsVO> list = baseMapper.selectUnInsProducts(laboratory, startDateTime, endDateTime,unInsProductsDTO);
+ try {
+ String fileName = URLEncoder.encode(laboratory+"寰呮浠诲姟缁熻", "UTF-8");
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet().head(UnInsProductsVO.class).build();
+ excelWriter.write(list, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public IPage<TasksShowDto> tasksShow(Page page, String sonLaboratory) {
+ IPage tasksShow = insOrderMapper.getTasksShow(page, sonLaboratory);
+ return tasksShow;
+ }
+
+ @Override
+ public int getCurrentMonthPlanTotalBySonLaboratory(String sonLaboratory,LocalDateTime startTime, LocalDateTime endTime) {
+ if(StringUtils.isNotBlank(sonLaboratory)){
+ if(Objects.isNull(startTime) || Objects.isNull(endTime)) {
+ //鑾峰彇褰撴湀鐨勫紑濮嬪拰缁撴潫鏃堕棿
+ // 褰撴湀鐨勫紑濮嬫椂闂达紙绗竴澶� 00:00:00锛�
+ startTime = LocalDate.now()
+ .withDayOfMonth(1)
+ .atStartOfDay();
+
+ // 褰撴湀鐨勭粨鏉熸椂闂达紙鏈�鍚庝竴澶� 23:59:59.999999999锛�
+ endTime = LocalDate.now()
+ .with(TemporalAdjusters.lastDayOfMonth())
+ .atTime(LocalTime.MAX);
+ }
+ //鏌ヨ褰撴湀璇ュ瓙璇曢獙瀹ょ殑鎬讳换鍔℃潯鏁�
+ return baseMapper.selectPlanCountBySonLaboratory(sonLaboratory,startTime,endTime);
+ }
+ return 0;
+ }
+
+ @Override
+ public Map<String, Object> getTabHeader(String sonLaboratory,String samples) {
+ Map<String, Object> resultMap = new HashMap<>();
+ List<String> list = new ArrayList<>();
+ List<Map<String, Object>> maps = new ArrayList<>();
+ if(StringUtils.isNotBlank(samples)) {
+ samples = "[" + "\"" + samples + "\"";
+ }
+ List<Map<String, Object>> tabHeader = baseMapper.getTabHeader(sonLaboratory,samples);
+ ObjectMapper objectMapper = new ObjectMapper();
+ Long count = 1l;
+ for (Map<String, Object> map : tabHeader) {
+ try {
+ List<List<String>> sample = objectMapper.readValue(JSONUtil.toJsonStr(map.get("sample").toString()), new TypeReference<List<List<String>>>() {
+ });
+ // 鑾峰彇tab椤佃〃澶�
+ for (List<String> strings : sample) {
+ list.add(strings.get(0));
+ }
+ // 鑾峰彇琛ㄦ牸琛ㄥご
+ if(StringUtils.isNotBlank(samples)) {
+ if(map.containsKey("inspectionItemSubclass")) {
+ if(StringUtils.isNotBlank(map.get("inspectionItemSubclass").toString())) {
+ HashMap<String, Object> map1 = new HashMap<>();
+ map1.put("label", map.get("inspectionItemSubclass").toString()); // label
+ map1.put("prop","lastValue"+count); // prop
+ maps.add(map1);
+ }else {
+ HashMap<String, Object> map1 = new HashMap<>();
+ map1.put("label", map.get("inspectionItem").toString()); // label
+ map1.put("prop","lastValue"+count); // prop
+ maps.add(map1);
+ }
+ }else {
+ HashMap<String, Object> map1 = new HashMap<>();
+ map1.put("label", map.get("inspectionItem").toString()); // label
+ map1.put("prop","lastValue"+count); // prop
+ maps.add(map1);
+ }
+ count++;
+ }
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ if (samples.contains("娓╁害寰幆")){
+ addElementToMaps(maps, "寰幆娆℃暟", "inspectionItems");
+ addElementToMaps(maps, "娓╁害鐐�", "inspectionItemSubclass");
+ addElementToMaps(maps, "琛板噺绯绘暟1310", "attenuationCoefficient1310");
+ addElementToMaps(maps, "琛板噺宸�1", "attenuationDifference1");
+ addElementToMaps(maps, "琛板噺绯绘暟1550", "attenuationCoefficient1550");
+ addElementToMaps(maps, "琛板噺宸�2", "attenuationDifference2");
+ addElementToMaps(maps, "琛板噺绯绘暟1625", "attenuationCoefficient1625");
+ addElementToMaps(maps, "琛板噺宸�3", "attenuationDifference3");
+ addElementToMaps(maps, "琛板噺1383", "attenuationCoefficient1383");
+ addElementToMaps(maps, "琛板噺宸�4", "attenuationDifference4");
+ addElementToMaps(maps, "琛板噺1490", "attenuationCoefficient1490");
+ addElementToMaps(maps, "琛板噺宸�5", "attenuationDifference5");
+ addElementToMaps(maps, "琛板噺宸甅ax", "attenuationDifferenceMax");
+ addElementToMaps(maps, "鏄惁鍚堟牸", "insResult");
+ }
+
+ Map<String, Map<String, Object>> uniqueByLabel = maps.stream()
+ .collect(Collectors.toMap(
+ map -> (String) map.get("label"),
+ map -> map,
+ (existing, replacement) -> existing, // 淇濈暀绗竴涓亣鍒扮殑Map
+ LinkedHashMap::new
+ ));
+ // 灏嗙粨鏋滆浆鎹㈠洖List<Map<String, Object>>
+ List<Map<String, Object>> collect1 = new ArrayList<>(uniqueByLabel.values());
+// List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
+ List<String> collect = list.stream().distinct().collect(Collectors.toList());
+ collect.add("娓╁害寰幆");
+ resultMap.put("tabHeader", collect);
+ resultMap.put("tableHeader", collect1);
+ return resultMap;
+ }
+
+ private static void addElementToMaps(List<Map<String, Object>> maps, String label, String prop) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("label", label);
+ map.put("prop", prop);
+ maps.add(map);
+ }
+
+ @Override
+ public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
+ User user = userMapper.selectById(SecurityUtils.getUserId());//褰撳墠鐧诲綍鐨勪汉
+ //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
+ String departLimsId = user.getDepartLimsId();
+ String laboratory = null;
+ if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.isEmpty()) {
+ String[] split = departLimsId.split(",");
+ //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
+ String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
+ if (departLims.contains("瀹為獙瀹�")) {
+ laboratory = departLims;
+ }
+ }
+
+ String checkName = null;
+ String userName = null;
+ if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
+ userName = userMapper.selectById(SecurityUtils.getUserId()).getName();
+ if(Objects.equals(insOrderPlanDTO.getInsState(),"3")) {
+ userName = "";
+ checkName = userMapper.selectById(SecurityUtils.getUserId()).getName();
+ }
+ insOrderPlanDTO.setUserId(null);
+ }
+ InsOrderPlanDTO planDTO = new InsOrderPlanDTO();
+ QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(planDTO);
+ IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(
+ page,
+ userName,
+ checkName,
+ insOrderPlanDTO.getSonLaboratory(),
+ insOrderPlanDTO.getSample(),
+ insOrderPlanDTO.getSampleCode(),
+ laboratory,
+ insOrderPlanDTO.getEntrustCode(),
+ insOrderPlanDTO.getInsState(),
+ wrappers,
+ insOrderPlanDTO.getSendTimeRange()
+ );
+ return insOrderPage;
+ }
+
+ @Override
+ public IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, InsOrderPlanDTO insOrderPlanDTO) {
+ Integer userId = SecurityUtils.getUserId().intValue();
+ User user = userMapper.selectById(userId);//褰撳墠鐧诲綍鐨勪汉
+
+ //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
+ String departLimsId = user.getDepartLimsId();
+ String laboratory = null;
+ if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
+ String[] split = departLimsId.split(",");
+ //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
+ String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
+ if (departLims.contains("瀹為獙瀹�")) {
+ laboratory = departLims;
+ }
+ }
+ if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
+ insOrderPlanDTO.setUserId(userId.longValue());
+ }
+ String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
+ IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId, sonLaboratory, laboratory);
+ return insOrderPage;
+ }
+
+ //璁ら浠诲姟
+ @Override
+ public boolean claimInsOrderPlan(InsOrderPlanDTO entity) {
+ if (Objects.isNull(entity)) {
+ return false;
+ }
+ Integer userId = SecurityUtils.getUserId().intValue();
+ InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 0, entity.getSonLaboratory());
+ return insSampleUserMapper.insert(insSampleUser) > 0;
+ }
+
+ @Override
+ public Map<String, Object> doInsOrder(Integer id, String laboratory) {
+// InsOrder insOrder = new InsOrder();
+// insOrder.setId(id);
+
+ InsOrder order = insOrderMapper.selectById(id);
+ InsOrderState insOrderState = insOrderStateMapper.selectOne(new LambdaQueryWrapper<InsOrderState>()
+ .eq(InsOrderState::getInsOrderId, id)
+ .eq(InsOrderState::getLaboratory, laboratory));
+
+ if (BeanUtil.isEmpty(insOrderState.getInsTime())) {
+ order.setInsTime(LocalDateTime.now());
+ insOrderMapper.updateById(order);
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
+ }
+ Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
+ List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
+ for (SampleProductDto samples : list) {
+ if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
+ samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
+ }
+ map.put("sampleProduct", list.stream().sorted(Comparator.comparing(SampleProductDto::getId)).collect(Collectors.toList()));
+ return map;
+ }
+
+ @Override
+ public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
+ List<InsProduct> insProducts = new ArrayList<>();
+ switch (type) {
+ case 0:
+ //鏍峰搧
+ insProducts = insSampleMapper.getInsProduct1(id, laboratory);
+ if(!insProducts.isEmpty()) {
+ boolean flag = false;
+ for(InsProduct insProduct : insProducts) {
+ if("娓╁害寰幆".equals(insProduct.getInspectionItem())) {
+ flag = true;
+ break;
+ }
+ }
+ if(flag) {
+ insProducts = insSampleMapper.getInsProduct5(id, laboratory);
+ }
+ }
+ break;
+ case 1:
+ //鍏夌氦甯�
+ insProducts = insSampleMapper.getInsProduct2(id, laboratory);
+ break;
+ case 2:
+ //鍏夌氦
+ insProducts = insSampleMapper.getInsProduct3(id, laboratory);
+ break;
+ case 3:
+ //濂楃
+ insProducts = insSampleMapper.getInsProduct4(id, laboratory);
+ break;
+ }
+
+ //濡傛灉鏄ぇ鏍峰搧涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ょ殑椤圭洰
+ if (ObjectUtils.isEmpty(insProducts) && type == 0) {
+ //鏌ヨ绗竴涓厜绾ょ殑id
+ List<InsFiber> insFibers = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery()
+ .eq(InsFiber::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery()
+ .eq(InsBushing::getInsSampleId, id)
+ .isNotNull(InsBushing::getStandNum)
+ .isNotNull(InsBushing::getTestNum)).get(0).getId()));
+ if(CollectionUtils.isNotEmpty(insFibers)) {
+ insProducts = insSampleMapper.getInsProduct3(insFibers.get(0).getId(),laboratory);
+ }
+ // 濡傛灉鍏夌氦涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ゅ甫鐨勯」鐩�
+ else {
+ List<InsFibers> insFibersS = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery()
+ .eq(InsFibers::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery()
+ .eq(InsBushing::getInsSampleId, id)
+ .isNotNull(InsBushing::getTestNum)
+ ).get(0).getId()));
+ //濡傛灉鍏夌氦甯︿笉涓虹┖锛屾煡璇㈠厜绾ゅ甫涓嬫槸鍚﹂厤鏈夊厜绾�
+ if(!insFibersS.isEmpty()){
+ List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFibersS.get(0).getId()));
+ if(!insFiberList.isEmpty()){
+ insProducts = insSampleMapper.getInsProduct3(insFiberList.get(0).getId(),laboratory);
+ }else{
+ insProducts = insSampleMapper.getInsProduct6(insFibersS.get(0).getId(),laboratory);
+ }
+ }
+ }
+ }
+ Set<Integer> set = new HashSet<>();
+ Map<Integer, String> map2 = new HashMap<>();
+ if (BeanUtil.isEmpty(insProducts)) return null;
+ getTemplateThing(set, map2, insProducts);
+ return insProducts;
+ }
+
+ @Override
+ public List<String> checkSubmitPlan(Integer orderId, String laboratory,String temperature,String humidity) {
+ List<String> collect = new ArrayList<>();
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+ List<Integer> ids = insSamples.stream().map(InsSample::getId).collect(Collectors.toList());
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .in(InsProduct::getInsSampleId, ids)
+ .eq(InsProduct::getSonLaboratory, laboratory)
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsResult, 0));
+ if (insProducts.size() > 0) {
+ collect = insProducts.stream().map(insProduct -> {
+ return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass();
+ }).collect(Collectors.toList());
+ insProductMapper.update(null,new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getTemperature,temperature)
+ .set(InsProduct::getHumidity,humidity)
+ .in(InsProduct::getInsSampleId,ids));
+ }
+ return collect;
+ }
+
+ @Override
+ public IPage<InsOrderFile> getFileList(Page page, InsOrderFile insOrderFile) {
+ Integer insOrderId = insOrderFile.getInsOrderId();
+ insOrderFile.setInsOrderId(null);
+ IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile),insOrderId);
+ return insOrderFileIPage;
+ }
+
+ @Override
+ public int uploadFile(Integer orderId, MultipartFile file) {
+ String urlString;
+ String pathName;
+ String path;
+ String filename = file.getOriginalFilename();
+ String contentType = file.getContentType();
+ InsOrderFile insOrderFile = new InsOrderFile();
+ insOrderFile.setInsOrderId(orderId);
+ insOrderFile.setFileName(filename);
+ if (contentType != null && contentType.startsWith("image/")) {
+ // 鏄浘鐗�
+ path = imgUrl;
+ insOrderFile.setType(1);
+ } else {
+ // 鏄枃浠�
+ path = wordUrl;
+ insOrderFile.setType(2);
+ }
+ try {
+ File realpath = new File(path);
+ if (!realpath.exists()) {
+ realpath.mkdirs();
+ }
+ pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+ urlString = realpath + "/" + pathName;
+ file.transferTo(new File(urlString));
+ insOrderFile.setFileUrl(pathName);
+ return insOrderFileMapper.insert(insOrderFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("闄勪欢涓婁紶閿欒");
+ return 0;
+ }
+ }
+
+ //鍒囨崲璁板綍妯$増鏌ヨ妫�楠屽唴瀹�
+ @Override
+ public Map<String, Object> getReportModel(Integer sampleId, String sonLaboratory) {
+ Map<String, Object> map = new HashMap<>();
+ //鍏堟煡鍑哄绠�
+ List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
+ List<InsFibersVO> fibers = new ArrayList<>();
+ List<InsFiber> fiber = new ArrayList<>();
+ List<InsBushing> bush = new ArrayList<>();
+ for (InsBushing insBushing : insBushings) {
+ //淇濆瓨濂楃(鏉惧绠�)
+ List<InsProduct> insProductsByBush = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsBushId, insBushing.getId())
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getState,1)
+ .and(i->i.like(InsProduct::getInspectionItem,"鏉惧绠�")
+ .or()
+ .like(InsProduct::getInspectionItemSubclass,"鏉惧绠�"))
+ );
+ List<Integer> collectByBush = insProductsByBush.stream()
+ .map(InsProduct::getInsResult)
+ .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
+ //1锛氬凡妫�楠岋紝0锛氭湭妫�楠�,2:鍦ㄦ
+ int bushState = 0;
+ if(insProductsByBush.size() == collectByBush.size()){
+ bushState = 1;
+ }else if(!collectByBush.isEmpty() && collectByBush.size()<insProductsByBush.size()){
+ bushState = 2;
+ }
+ insBushing.setState(bushState);
+ if(!insProductsByBush.isEmpty()){
+ bush.add(insBushing);
+ }
+ //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
+ List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
+
+ List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
+ if (CollectionUtils.isNotEmpty(insFibers)) {
+ for (InsFibers insFiberS : insFibers) {
+ //鏌ヨ鍏夌氦甯︿笅鐨勫厜绾ら厤缃�
+ List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiberS.getId()));
+ if(fiberList.isEmpty()){
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState,1)
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getInsFibersId, insFiberS.getId()));
+ // 杩囨护鍏夌氦鎺ュご鎹熻��
+ if(CollectionUtils.isNotEmpty(insProducts)) {
+ insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
+ }
+ //璁剧疆濂楃鐨勬楠岀姸鎬�
+ insFiberS.setState(getInsState(insProducts));
+ InsFibersVO insFibersVO = new InsFibersVO();
+ BeanUtil.copyProperties(insFiberS,insFibersVO);
+ insFibersVO.setIsExistProduct(!insProducts.isEmpty());//鏄惁瀛樺湪妫�楠岄」
+ insFibersVO.setBushingColor(insBushing.getColor());
+ //濡傛灉鍏夌氦甯︿笅鐨勯」鐩病鏈夊厜绾ゆ帴澶存崯鑰楅」鐩紝鎵嶆坊鍔犲厜绾ゅ甫淇℃伅
+ if(CollectionUtils.isNotEmpty(insProducts)) {
+ fibers.add(insFibersVO);
+ }
+ }else{
+ InsFibersVO insFibersVO = new InsFibersVO();
+ BeanUtil.copyProperties(insFiberS,insFibersVO);
+ insFibersVO.setBushingColor(insBushing.getColor());
+ //鏌ヨ鍏夌氦甯︿笅鐨勬楠岄」
+ List<InsProduct> fibersProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState,1)
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getInsFibersId, insFiberS.getId()));
+ insFibersVO.setIsExistProduct(!fibersProducts.isEmpty());//鏄惁瀛樺湪妫�楠岄」
+ if(!fibersProducts.isEmpty()){
+ //璁剧疆鍏夌氦甯﹁壊鏍囩殑妫�楠岀姸鎬�
+ insFibersVO.setState(getInsState(fibersProducts));
+ }
+ //娣诲姞鍏夌氦甯︿俊鎭�
+ fibers.add(insFibersVO);
+ for (InsFiber insFiber : fiberList) {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState,1)
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getInsFiberId, insFiber.getId()));
+ // 杩囨护鍏夌氦鎺ュご鎹熻��
+ if(CollectionUtils.isNotEmpty(insProducts)) {
+ insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
+ }
+ //璁剧疆鍏夌氦鑹叉爣鐨勬楠岀姸鎬�
+ insFiber.setState(getInsState(insProducts));
+ //濡傛灉鍏夌氦涓嬬殑椤圭洰娌℃湁鍏夌氦鎺ュご鎹熻�楅」鐩紝鎵嶆坊鍔犲厜绾や俊鎭�
+ if(CollectionUtils.isNotEmpty(insProducts)) {
+ fiber.add(insFiber);
+ }
+ }
+ }
+ }
+ }
+ //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
+ else if (CollectionUtils.isNotEmpty(insFiberList)) {
+ for (InsFiber insFiber : insFiberList) {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState,1)
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getInsFiberId, insFiber.getId()));
+ // 杩囨护鍏夌氦鎺ュご鎹熻��
+ if(CollectionUtils.isNotEmpty(insProducts)) {
+ insProducts = insProducts.stream().filter(item -> !item.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
+ }
+ //璁剧疆鍏夌氦鑹叉爣鐨勬楠岀姸鎬�
+ insFiber.setState(getInsState(insProducts));
+ if(CollectionUtils.isNotEmpty(insProducts)){
+ fiber.add(insFiber);
+ }
+ }
+ }
+ }
+ map.put("鍏夌氦甯�", fibers);
+ map.put("鍏夌氦", fiber);
+ map.put("濂楃", bush);
+ return map;
+ }
+
+ /**
+ * 鍒ゆ柇妫�楠岄」鏄惁妫�娴嬪畬锛岃繑鍥炴娴嬬姸鎬�
+ * @param insProducts
+ * @return
+ */
+ private Integer getInsState(List<InsProduct> insProducts){
+ List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
+ .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
+ if (insProducts.size() == collect.size()) {
+ return 1;//宸叉楠�
+ } else if(!collect.isEmpty() && collect.size()<insProducts.size()){
+ return 2;//鍦ㄦ楠�
+ }
+ return 0;//鏈楠�
+ }
+
+ //娓╁害寰幆鏌ョ湅鍒楄〃鏁版嵁(鍖呮嫭閫氳繃鏍峰搧id,寰幆娆℃暟,娓╁害,寰幆娆℃暟杩涜绛涢��)
+ @Override
+ public Map<String, Object> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
+ Map<String, Object> map = new HashMap<>();
+ //鏍峰搧淇℃伅
+ SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
+ map.put("sampleVo", sampleVo);
+ List<ProductVo> productVos = new ArrayList<>();
+ //鍏堟煡鍑鸿繖涓牱鍝佷笅鏈夊摢浜涚鑹叉爣,鍏夌氦甯�,鍏夌氦鑹叉爣
+ //鍏堟煡鍑哄绠�
+ List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
+ if (insBushings.size() > 0) {
+ //閫氫俊--娓╁害寰幆
+ for (InsBushing insBushing : insBushings) {
+ //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
+ List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
+ if (CollectionUtils.isNotEmpty(insFibers)) {
+ for (InsFibers insFiber : insFibers) {
+ //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦
+ List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsFibersId, insFiber.getId()));
+ for (InsFiber fiber : fiberList) {
+ //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getInspectionItem, inspectionItem)
+ .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
+ .eq(InsProduct::getInsFiberId, fiber.getId()));
+ for (InsProduct insProduct : insProducts) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProduct.getId()));
+ ProductVo productVo = new ProductVo();
+ productVo.setCode(insFiber.getCode());
+ productVo.setColor(fiber.getColor());
+ productVo.setBushColor(insBushing.getColor());
+ if (ObjectUtils.isNotEmpty(insProductResult)) {
+ insProduct.setInsProductResult(insProductResult);
+ }
+ //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
+ InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
+ .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
+ if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
+ String[] splitStr = insProductResult1.getComValue().split(":");
+ insProduct.setComplue(splitStr[splitStr.length-1].split("\"")[1]);
+ }
+ productVo.setInsProduct(insProduct);
+ productVos.add(productVo);
+ }
+ }
+ }
+ } else {
+ //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
+ List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
+ for (InsFiber fiber : insFiberList) {
+ //鍐嶆牴鎹叧鑱旂殑鍏夌氦閰嶇疆鐨刬d鍜屽惊鐜鏁板拰娓╁害鍜屾牱鍝乮d杩涜鏌ヨ妫�楠岄」鐩�
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getInspectionItem, inspectionItem)
+ .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
+ .eq(InsProduct::getInsFiberId, fiber.getId()));
+ for (InsProduct insProduct : insProducts) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ ProductVo productVo = new ProductVo();
+ productVo.setCode("-");
+ productVo.setColor(fiber.getColor());
+ productVo.setBushColor(fiber.getBushColor());
+ insProduct.setInsProductResult(insProductResult);
+ //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
+ InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
+ .eq(InsProduct::getInsFiberId, fiber.getId())).getId()));
+ if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
+ String[] splitStr = insProductResult1.getComValue().split(":");
+ insProduct.setComplue(splitStr[splitStr.length-1].split("\"")[1]);
+ }
+ productVo.setInsProduct(insProduct);
+ productVos.add(productVo);
+ }
+ }
+ }
+ }
+ productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
+ } else {
+ //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getInspectionItem, inspectionItem));
+ for (InsProduct insProduct : insProducts) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ ProductVo productVo = new ProductVo();
+ if (ObjectUtils.isNotEmpty(insProductResult)) {
+ insProduct.setInsProductResult(insProductResult);
+ }
+ productVo.setInsProduct(insProduct);
+ productVos.add(productVo);
+ }
+ }
+ map.put("productVos", productVos);
+ return map;
+ }
+
+ @Override
+ public List<String> upPlanUser2(Integer orderId) {
+ List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
+ List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, sampleId)).stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
+ return sonLaboratory;
+ }
+
+ @Override
+ public Map<String, Object> getSagTemperatureProducts(Integer sampleId) {
+ Map<String, Object> map = new HashMap<>();
+ //鏍峰搧淇℃伅
+ SampleVo sampleVo = insSampleMapper.getDetailById(sampleId);
+ map.put("sampleVo", sampleVo);
+ //鐢靛姏:寮у瀭-娓╁害鐗规畩椤�
+ List<ProductVo> productVos = new ArrayList<>();
+ List<InsProduct> insProducts = insProductMapper.findSagTemperatureProducts(sampleId,"寮у瀭-娓╁害");
+ for (InsProduct insProduct : insProducts) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ ProductVo productVo = new ProductVo();
+ if (ObjectUtils.isNotEmpty(insProductResult)) {
+ insProduct.setInsProductResult(insProductResult);
+ }
+ productVo.setInsProduct(insProduct);
+ productVos.add(productVo);
+ }
+ map.put("productVos", productVos);
+ return map;
+ }
+
+ @Override
+ public Map<String, Object> getSampleInfoByOrderId(Integer orderId,String sonLaboratory) {
+ Map<String, Object> map = new HashMap<>();
+ if(!Objects.isNull(orderId)){
+ //妫�楠屽唴瀹瑰璞�
+ List<InsProductVO> insProductVOS = insProductMapper.selectProductByOrderId(orderId,sonLaboratory);
+ //鏍规嵁鏍峰搧id鍒嗙粍
+ Map<Integer, List<InsProductVO>> groupMap = insProductVOS.stream().collect(Collectors.groupingBy(InsProductVO::getSampleId));
+ List<InsProductVO> sampleList = new ArrayList<>();
+ for (Integer key : groupMap.keySet()) {
+ AtomicInteger insSum = new AtomicInteger(0);
+ List<String> inspectNameList = new ArrayList<>();
+ InsProductVO insProductVO = new InsProductVO();
+ groupMap.get(key).forEach(k->{
+ if(StringUtils.isNotBlank(k.getInspectName())){
+ insSum.getAndIncrement();
+ inspectNameList.add(k.getInspectName());
+ }
+ insProductVO.setId(k.getSampleId());
+ insProductVO.setSampleCode(k.getSampleCode());
+ });
+ if(CollectionUtils.isEmpty(inspectNameList)){
+ insProductVO.setState(0);
+ }else if(inspectNameList.size() < groupMap.get(key).size()){
+ insProductVO.setState(1);
+ }else if(inspectNameList.size() == groupMap.get(key).size()){
+ insProductVO.setState(2);
+ }
+ insProductVO.setInspectName(inspectNameList.stream().distinct().collect(Collectors.joining(",")));
+ sampleList.add(insProductVO);
+ }
+ map.put("insSamples",sampleList);
+ map.put("insProductVOS",insProductVOS);
+ }
+ return map;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
+ public void saveInsContext(Map<String, Object> insContext, Integer currentTable, Integer currentSampleId, Integer orderId, String sonLaboratory, Boolean isDelete) {
+ try{
+ if(lock.tryLock(10,TimeUnit.SECONDS)){
+ Integer userId = SecurityUtils.getUserId().intValue();
+ insContext.forEach((k, v) -> {
+ JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
+ InsProduct insProduct = new InsProduct();
+ insProduct.setId(Integer.parseInt(k));
+ InsProduct product = insProductMapper.selectById(insProduct.getId());
+ if (currentTable.equals(product.getTemplateId()) && currentSampleId.equals(product.getInsSampleId())) {
+ List<InsProductResult> oldResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProduct.getId()));
+
+ InsProductResult newResult = new InsProductResult();
+ if (CollectionUtils.isNotEmpty(oldResults)) {
+ BeanUtil.copyProperties(oldResults.get(0), newResult);
+ }
+ newResult.setInsProductId(Integer.parseInt(k));
+ /*鏍¢獙涓�涓媟esult琛�*/
+ if (oldResults.size() > 1) {
+ for (int i = 1; i < oldResults.size(); i++) {
+ insProductResultMapper.deleteById(oldResults.get(i));
+ }
+ }
+ // 淇濆瓨鐨勬暟鎹皬鏁颁綅鏁板繀椤诲ぇ浜庣瓑浜巘ell鏈�澶х殑灏忔暟浣嶆暟
+ String tells = product.getTell();
+ Integer digit = null;
+ if(StringUtils.isEmpty(tells)) {
+ digit = -1;
+ }else {
+ // 鎵惧埌灏忔暟浣嶆暟鏈�澶氱殑鏁板��
+ Map<String, Object> stringObjectMap = maxDecimalNumber(tells);
+ digit = Integer.parseInt(stringObjectMap.get("maxNumber").toString());
+ }
+ if (!Arrays.asList("搴斿姏搴斿彉","鎸姩鐤插姵").contains(product.getInspectionItem())) {
+ //妫�楠屽��
+ if (jo.get("insValue") != null) {
+ JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
+ List<Map<String, Object>> iv = new ArrayList<>();
+ for (Object o : jsonArray) {
+ JSONObject insValue = JSON.parseObject(JSON.toJSONString(o));
+ Map<String, Object> map = new HashMap<>();
+ String val = "";
+ if(Objects.nonNull(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"))){
+ val = JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString();
+ }
+ // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
+ map.put("v", completion(val, digit));
+ map.put("r", JSON.toJSONString(insValue.get("r")));
+ map.put("c", JSON.toJSONString(insValue.get("c")));
+ map.put("w", insValue.get("w"));
+ try {
+ if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(val)) {
+ map.put("u", userId + "");
+ } else {
+ map.put("u", insValue.get("u"));
+ }
+ iv.add(map);
+ } catch (Exception e) {
+ }
+ }
+ newResult.setInsValue(JSON.toJSONString(iv));
+ }
+ }
+ if (!Arrays.asList("搴斿姏搴斿彉","鎸姩鐤插姵").contains(product.getInspectionItem())) {
+ //璁$畻鍊�
+ if (jo.get("comValue") != null && !Objects.equals(jo.get("comValue"), "")) {
+ JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("comValue")));
+ List<Map<String, Object>> cv = new ArrayList<>();
+ for (Object o : jsonArray2) {
+ JSONObject comValue = JSON.parseObject(JSON.toJSONString(o));
+ Map<String, Object> map = new HashMap<>();
+ map.put("r", JSON.toJSONString(comValue.get("r")));
+ map.put("c", JSON.toJSONString(comValue.get("c")));
+ // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
+ map.put("v", completion(JSON.parseObject(JSON.toJSONString(comValue.get("v"))).get("v").toString(), digit));
+ cv.add(map);
+ }
+ newResult.setComValue(JSON.toJSONString(cv));
+ }
+ }
+ //鏈�缁堝��
+ try {
+ JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("resValue")));
+ if (resValue.get("v") != null) {
+ Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+ // 濡傛灉鍙互杞崲涓烘暟瀛楋紝灏辫杩涜浣嶆暟鐨勬瘮杈�
+ insProduct.setLastValue(completion(o.equals("") ? null : (o.toString()), digit));
+ }
+ } catch (Exception e) {
+ insProduct.setLastValue("");//''
+ }
+ //璁惧缂栧彿
+ if (jo.get("equipValue") != null) {
+ JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
+ List<Map<String, Object>> ev = new ArrayList<>();
+ for (Object o : jsonArray2) {
+ JSONObject equipValue = JSON.parseObject(JSON.toJSONString(o));
+ Map<String, Object> map = new HashMap<>();
+ map.put("v", JSON.parseObject(JSON.toJSONString(equipValue.get("v"))).get("v"));
+ ev.add(map);
+ }
+ newResult.setEquipValue(JSON.toJSONString(ev));
+ }
+ //璁惧鍚嶇О
+ if (jo.get("equipName") != null) {
+ JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipName")));
+ List<Map<String, Object>> ev = new ArrayList<>();
+ for (Object o : jsonArray2) {
+ JSONObject equipValue = JSON.parseObject(JSON.toJSONString(o));
+ Map<String, Object> map = new HashMap<>();
+ map.put("v", JSON.parseObject(JSON.toJSONString(equipValue.get("v"))).get("v"));
+ ev.add(map);
+ }
+ newResult.setEquipName(JSON.toJSONString(ev));
+ }
+ //缁撹
+ try {
+ JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult")));
+ String ir = JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + "";
+ insProduct.setInsResult(Integer.parseInt(ir));
+ if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
+ List<Integer> collect = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, product.getId())).stream()
+ .map(InsProduct::getInsResult)
+ .collect(Collectors.toList());
+ if (collect.contains(null)) {
+ insProduct.setInsResult(2);
+ } else if (collect.contains(0)) {
+ insProduct.setInsResult(0);
+ } else {
+ insProduct.setInsResult(1);
+ }
+
+ }
+ } catch (Exception e) {
+ insProduct.setInsResult(2);//寰呭畾
+ if (product.getInspectionItem().equals("搴斿姏搴斿彉") && product.getInspectionItemSubclass().equals("寮规�фā閲�")
+ && Arrays.asList("/", "-").contains(product.getAsk())) {
+ insProduct.setInsResult(3);// 涓嶅垽瀹�
+ }
+ // 濡傛灉鏄姬鍨傜殑缁撹涔熸敼涓轰笉鍒ゅ畾
+ if(product.getInspectionItem().equals("寮у瀭-娓╁害")) {
+ insProduct.setInsResult(3);// 涓嶅垽瀹�
+ }
+ }
+ if (Objects.isNull(newResult.getId())) {
+ newResult.setCreateUser(userId);
+ newResult.setUpdateUser(userId);
+ insProductResultMapper.insert(newResult);
+ } else {
+ newResult.setUpdateUser(userId);
+ newResult.setUpdateTime(LocalDateTime.now());
+ insProductResultMapper.updateById(newResult);
+ }
+ /*濡傛灉鏄涓�娆¢�夋嫨璁惧淇℃伅,涓旇繕鏈夊叾浣欐牱鍝佷篃鏈夊悓涓�涓楠岄」鐩�,閭d箞鎵�鏈夋牱鍝佺殑璇ラ」鐩兘鐢ㄨ繖涓澶囦俊鎭�*/
+ //鍏堟煡璇㈡槸鍚﹁繕鏈夊叾浣欐牱鍝�
+ Integer insSampleId = product.getInsSampleId();
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSampleMapper.selectById(insSampleId).getInsOrderId()));
+ //濡傛灉鏈夊涓牱鍝佹垨鑰呮槸涓嶆槸閲囬泦绫诲瀷灏卞悓涓�涓澶�
+ if (insSamples.size() > 1 && !product.getInspectionItemType().equals("1")) {
+ //瀛樺湪鍏朵綑鏍峰搧,鏌ヨ鏄惁鏈夊悓涓�绉嶆楠岄」鐩�
+ for (InsSample sample : insSamples.stream().filter(insSample -> !insSample.getId().equals(insSampleId)).collect(Collectors.toList())) {
+ InsProduct product1 = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, sample.getId())
+ .eq(InsProduct::getInspectionItem, product.getInspectionItem())
+ .eq(InsProduct::getInspectionItemEn, product.getInspectionItemEn())
+ .eq(InsProduct::getInspectionItemSubclass, product.getInspectionItemSubclass())
+ .eq(InsProduct::getInspectionItemSubclassEn, product.getInspectionItemSubclassEn())
+ .eq(InsProduct::getTemplateId, product.getTemplateId())
+ .eq(InsProduct::getStandardMethodListId, product.getStandardMethodListId())
+ .eq(InsProduct::getInsBushId, product.getInsBushId())
+ .eq(InsProduct::getInsFibersId, product.getInsFibersId())
+ .eq(InsProduct::getInsFiberId, product.getInsFiberId())
+ );
+ if (ObjectUtils.isNotEmpty(product1)) {
+ //濡傛灉瀛樺湪椤圭洰,鏌ヨ鏄惁鏈夎〃
+ InsProductResult productResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, product1.getId()));
+ if (ObjectUtils.isEmpty(productResult)) {
+ //娌℃湁琛ㄦ柊寤鸿〃
+ productResult = new InsProductResult();
+ productResult.setInsProductId(product1.getId());
+ productResult.setEquipValue(newResult.getEquipValue());
+ productResult.setEquipName(newResult.getEquipValue());
+ productResult.setCreateUser(userId);
+ productResult.setUpdateUser(userId);
+ insProductResultMapper.insert(productResult);
+ } else if (ObjectUtils.isEmpty(productResult.getEquipValue())) {
+ //鏈夎〃鍒ゆ柇鏄惁鏈夎澶�
+ productResult.setEquipValue(newResult.getEquipValue());
+ productResult.setEquipName(newResult.getEquipValue());
+ productResult.setUpdateUser(userId);
+ productResult.setUpdateTime(LocalDateTime.now());
+ insProductResultMapper.updateById(productResult);
+ }
+ }
+ }
+
+ }
+ insProduct.setUpdateUser(userId);
+ insProductMapper.updateById(insProduct);
+ // 褰撳墠鏍峰搧鏄惁鏄厜绾ら厤缃殑鍏夌氦鎺ュご鎹熻��
+ if ((!Objects.isNull(product.getInsFiberId()) || !Objects.isNull(product.getInsFibersId())) && product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
+ // 鏌ユ壘鍚屾牱鍝佷笅鐨勫厜绾ゆ垨鍏夌氦甯︾殑鍏夌氦鎺ュご鎹熻��
+ List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getInsSampleId, product.getInsSampleId())
+ .eq(InsProduct::getInspectionItem, product.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, product.getInspectionItemSubclass())
+ .and(item -> item
+ .isNotNull(InsProduct::getInsFiberId)
+ .or()
+ .isNotNull(InsProduct::getInsFibersId)));
+ // 瑕佸鍒剁殑result
+ InsProductResult copyResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, product.getId()));
+
+ for (InsProduct insProduct1 : insProducts) {
+ InsProduct copyInsProduct = insProductMapper.selectById(product.getId()); // 澶嶅埗鐨刬nsProduct
+ if (!insProduct1.getId().equals(copyInsProduct.getId())) {
+ copyInsProduct.setId(insProduct1.getId()); // 灏嗗鍒剁殑insProduct鐨刬d璁剧疆涓鸿澶嶅埗鐨刬d
+ copyInsProduct.setInsFibersId(insProduct1.getInsFibersId()); // 鍏夌氦甯d
+ copyInsProduct.setInsFiberId(insProduct1.getInsFiberId()); // 鍏夌氦id
+ copyInsProduct.setInsBushId(insProduct1.getInsBushId()); // 濂楃id
+ insProductMapper.updateById(copyInsProduct);
+ // 璧嬪�糹nsProductResult
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct1.getId()));
+ if (Objects.isNull(insProductResult)) {
+ copyResult.setId(null);
+ copyResult.setInsProductId(insProduct1.getId());
+ insProductResultMapper.insert(copyResult);
+ } else {
+ copyResult.setId(insProductResult.getId());
+ copyResult.setInsProductId(insProduct1.getId());
+ insProductResultMapper.updateById(copyResult);
+ }
+ }
+ }
+ }
+ insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+
+ insProduct = insProductMapper.selectById(insProduct);
+ //鏌ヨ妫�楠屽崟淇℃伅
+ InsSample insSample = insSampleMapper.selectById(insProduct.getInsSampleId());
+ InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+ //鏌ヨ鐖舵楠岄」
+ InsProduct parentInsProduct;
+ if (ObjectUtil.isNotNull(insProduct.getSpecialItemParentId())) {
+ parentInsProduct = insProductMapper.selectById(insProduct.getSpecialItemParentId());
+ } else {
+ parentInsProduct = null;
+ }
+ if (!Objects.isNull(parentInsProduct)) {
+ if ("娓╁崌璇曢獙".equals(parentInsProduct.getInspectionItem()) || "鐑惊鐜�".equals(parentInsProduct.getInspectionItem())) {
+ // 娓╁崌璇曢獙浠ュ強鐑惊鐜殑鍒犻櫎
+ if (isDelete) {
+ String inspectionItem = insProduct.getInspectionItem();
+ List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId()))
+ .stream()
+ .filter(item -> item.getInspectionItem().equals(inspectionItem)).collect(Collectors.toList());
+ for (InsProduct insProduct1 : insProducts) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct1.getId()));
+ if (!Objects.isNull(insProductResult)) {
+ if (insProductResult.getInsProductId().equals(Integer.parseInt(k))) {
+ continue;
+ }
+ String insValue = insProductResult.getInsValue();
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
+ if (maps.size() > 1) {
+ maps.remove(maps.size() - 1);
+ insProductResult.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps));
+ insProductResultMapper.updateById(insProductResult);
+ }
+ }
+ }
+ }
+ // 娓╁崌璇曢獙浠ュ強鐑惊鐜煡璇�
+ // 鐑惊鐜墍鏈夊瓙椤�
+ List<InsProduct> c = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId()));
+ //閫氳繃inspectionItem鍒嗙粍
+ Map<String, List<InsProduct>> collect1 = c.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
+ HashMap<Integer, InsProductResult> map1 = new HashMap<>();
+ Integer maxKey = Integer.MIN_VALUE;
+ for (Map.Entry<String, List<InsProduct>> m : collect1.entrySet()) {
+ List<InsProduct> thermalCycleCollect = m.getValue();
+ if (!thermalCycleCollect.isEmpty()) {
+ for (InsProduct product1 : thermalCycleCollect) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, product1.getId()));
+ if (!Objects.isNull(insProductResult)) {
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insProductResult.getInsValue(), Map.class);
+ map1.put(maps.size(), insProductResult);
+ }
+ if (!map1.isEmpty()) {
+ for (Map.Entry<Integer, InsProductResult> entry : map1.entrySet()) {
+ if (entry.getKey() > maxKey) {
+ maxKey = entry.getKey();
+ }
+ }
+ }
+ }
+ if (maxKey != Integer.MIN_VALUE) {
+ InsProductResult insProductResult = map1.get(maxKey);
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insProductResult.getInsValue(), Map.class);
+ maps.get(maps.size() - 1).put("v", "");//鏈�鍚庝竴涓�间负绌�
+ if (maps.get(maps.size() - 1).containsKey("w")) {
+ maps.get(maps.size() - 1).put("w", "");
+ }
+ for (InsProduct product1 : thermalCycleCollect) {
+ InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, product1.getId()));
+ if (!Objects.isNull(insProductResult1)) {
+ if (!insProductResult1.getInsProductId().equals(insProductResult.getInsProductId())) {
+ List<Map> maps1 = com.alibaba.fastjson2.JSON.parseArray(insProductResult1.getInsValue(), Map.class);
+ if (maps1.size() < maxKey) {
+ int number = maxKey - maps1.size();
+ for (int i = 0; i < number; i++) {
+ maps1.add(maps.get(maps.size() - 1));
+ }
+ insProductResult1.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps1));
+ insProductResultMapper.updateById(insProductResult1);
+ }
+ }
+ } else {
+ if (maxKey != Integer.MIN_VALUE) {
+ InsProductResult insProductResult2 = map1.get(maxKey);
+ List<Map> maps1 = com.alibaba.fastjson2.JSON.parseArray(insProductResult2.getInsValue(), Map.class);
+ for (Map map : maps1) {
+ map.put("v", "");
+ if (map.containsKey("w")) {
+ map.put("w", "");
+ }
+ }
+ insProductResult2.setInsValue(com.alibaba.fastjson2.JSON.toJSONString(maps1));
+ insProductResult2.setId(null);
+ insProductResult2.setInsProductId(product1.getId());
+ insProductResultMapper.insert(insProductResult2);
+ }
+ }
+ }
+ maxKey = Integer.MIN_VALUE;
+ map1.clear();
+ }
+ }
+ }
+ // 濡傛灉鏄绾挎俯搴︾殑鍊兼洿鏂帮紝閭d箞灏辫鍒ゆ柇鑰愬紶鍜屾帴缁槸鍚﹀悎鏍�
+ InsProduct insProduct1 = insProductMapper.selectById(Integer.parseInt(k));
+ if (insProduct1.getInspectionItemSubclass().equals("瀵肩嚎娓╁害")) {
+ // 鏍规嵁鐖秈d浠ュ強妫�楠岄」鏉ユ煡鎵惧悓涓�寰幆涓嬬殑鑰愬紶鍜屾帴缁�
+ List<InsProduct> insProducts2 = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem()));
+ List<Double> wire = new ArrayList<>(); // 瀵肩嚎娓╁害鐨勫��
+ List<Double> strain = new ArrayList<>(); // 鑰愬紶鐨勫��
+ List<Double> joint = new ArrayList<>(); // 鎺ョ画鐨勫��
+
+ boolean strainFlag = true; // 鑰愬紶鏄惁鍚堟牸
+ boolean jointFlag = true; // 鎺ョ画鏄惁鍚堟牸
+ boolean strainPending = false; // 鏄惁鏈夊緟瀹�
+ boolean jointPending = false; // 鏄惁鏈夊緟瀹�
+ for (InsProduct insProduct2 : insProducts2) {
+ if (insProduct2.getInspectionItemSubclass().equals("瀵肩嚎娓╁害")) {
+ String insValue = "";
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct2.getId()));
+ if (!Objects.isNull(insProductResult)) {
+ insValue = insProductResult.getInsValue();
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
+ if (maps.size() > 0) {
+ for (Map map : maps) {
+ if (Strings.isNotEmpty(map.get("v").toString())) {
+ wire.add(Double.parseDouble(map.get("v").toString()));
+ } else {
+ wire.add(-1.0);
+ }
+ }
+ }
+ }
+ }
+ if (insProduct2.getInspectionItemSubclass().equals("鑰愬紶娓╁害")) {
+ String insValue = "";
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct2.getId()));
+ if (!Objects.isNull(insProductResult)) {
+ insValue = insProductResult.getInsValue();
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
+ if (maps.size() > 0) {
+ for (Map map : maps) {
+ if (Strings.isNotEmpty(map.get("v").toString())) {
+ strain.add(Double.parseDouble(map.get("v").toString()));
+ } else {
+ strain.add(-1.0);
+ }
+ }
+ }
+ } else {
+ strain.add(-1.0);
+ }
+ }
+ if (insProduct2.getInspectionItemSubclass().equals("鎺ョ画娓╁害")) {
+ String insValue = "";
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct2.getId()));
+ if (!Objects.isNull(insProductResult)) {
+ insValue = insProductResult.getInsValue();
+ List<Map> maps = com.alibaba.fastjson2.JSON.parseArray(insValue, Map.class);
+ if (maps.size() > 0) {
+ for (Map map : maps) {
+ if (Strings.isNotEmpty(map.get("v").toString())) {
+ joint.add(Double.parseDouble(map.get("v").toString()));
+ } else {
+ joint.add(-1.0);
+ }
+ }
+ }
+ } else {
+ joint.add(-1.0);
+ }
+ }
+ }
+ // 濡傛灉瀵肩嚎娓╁害鐨勫�煎ぇ浜庤�愬紶鍜屾帴缁殑鍊硷紝閭d箞灏辨槸鍚堟牸
+ if (!strain.isEmpty() && !wire.isEmpty() && (strain.size() == wire.size())) {
+ if (wire.contains(-1.0) || strain.contains(-1.0)) {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 2)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
+ strainPending = true;
+ } else {
+ for (int i = 0; i < wire.size(); i++) {
+ if (wire.get(i) <= strain.get(i)) {
+ strainFlag = false;
+ break;
+ }
+ }
+ }
+ }
+
+ if (joint.size() > 0 && wire.size() > 0 && (joint.size() == wire.size())) {
+ if (wire.contains(-1.0) || joint.contains(-1.0)) {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 2)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
+ jointPending = true;
+ } else {
+ for (int i = 0; i < wire.size(); i++) {
+ if (wire.get(i) <= joint.get(i)) {
+ jointFlag = false;
+ break;
+ }
+ }
+ }
+ }
+ if (!strainPending) {
+ if (strainFlag) {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 1)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
+ } else {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 0)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鑰愬紶娓╁害"));
+ }
+ }
+ if (!jointPending) {
+ if (jointFlag) {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 1)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
+ } else {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 0)
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInspectionItem, insProduct1.getInspectionItem())
+ .eq(InsProduct::getInspectionItemSubclass, "鎺ョ画娓╁害"));
+ }
+ }
+ }
+ // 鏌ユ壘鏄惁鏈夋湭妫�娴嬬殑娆℃暟
+ List<Integer> insResult = Arrays.asList(0, 1, 3);
+ List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .and(w -> w.notIn(InsProduct::getInsResult, insResult)
+ .or()
+ .isNull(InsProduct::getInsResult)));
+ if (insProducts.isEmpty()) {
+ List<InsProduct> insProducts1 = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getSpecialItemParentId, parentInsProduct.getId())
+ .eq(InsProduct::getInsResult, 0));
+ if (!insProducts1.isEmpty()) {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 0)
+ .eq(InsProduct::getId, parentInsProduct.getId()));
+ } else {
+ insProductMapper.update(null, new LambdaUpdateWrapper<InsProduct>()
+ .set(InsProduct::getInsResult, 1)
+ .eq(InsProduct::getId, parentInsProduct.getId()));
+ }
+
+ }
+ }
+ }
+ //娣诲姞宸ユ椂璁板綍
+ InsProduct finalInsProduct = insProduct;
+ WorkTimeDTO workTimeDTO = new WorkTimeDTO(userId, insOrder, insSample, finalInsProduct, parentInsProduct, currentSampleId, k, oldResults, newResult);
+ String jsonStr;
+ try {
+ jsonStr = JackSonUtil.marshal(workTimeDTO);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ String routerKey;
+ switch (sonLaboratory){
+ case "鏉愭枡璇曢獙瀹�":
+ routerKey = RouterKeyConstants.CL_KEY;
+ break;
+ case "鏈烘鎬ц兘璇曢獙瀹�":
+ routerKey = RouterKeyConstants.JX_KEY;
+ break;
+ case "鐢靛姏璇曢獙瀹�":
+ routerKey = RouterKeyConstants.DL_KEY;
+ break;
+ default:
+ routerKey = RouterKeyConstants.GX_KEY;
+ break;
+ }
+ sendQueueMessage(ExchangeConstants.WORK_TIME_EXCHANGE,routerKey,jsonStr);
+
+ insSample.setInsState(1);
+ //鏈楠岀殑妫�楠岄」鏁伴噺
+ Long unInsCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .and(wrapper -> wrapper
+ .isNull(InsProduct::getInsResult)
+ .or()
+ .eq(InsProduct::getInsResult, 2)
+ ));
+ if (0 == unInsCount) {
+ insSample.setInsState(2);
+ }
+ insSampleMapper.updateById(insSample);
+ /*鏍¢獙涓�涓媟esult琛�*/
+ List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, insProduct.getId()));
+ if (insProductResults.size() > 1) {
+ for (int i = 1; i < insProductResults.size(); i++) {
+ insProductResultMapper.deleteById(insProductResults.get(i));
+ }
+ }
+ }
+ });
+ String sampleIdStr = insContext.keySet().stream().findFirst().orElse(null);
+ if (sampleIdStr != null) {
+ int count = insProductMapper.selectInsProductCountByOrderId(orderId);
+ if (count == 0) {
+ insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, orderId)
+ .eq(InsOrderState::getLaboratory, sonLaboratory)
+ .set(InsOrderState::getInsState, 2));
+ insOrderMapper.update(null, new LambdaUpdateWrapper<InsOrder>()
+ .set(InsOrder::getState, 4)
+ .eq(InsOrder::getId, orderId));
+ } else {
+ insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, orderId)
+ .eq(InsOrderState::getLaboratory, sonLaboratory)
+ .set(InsOrderState::getInsState, 1));
+ insOrderMapper.update(null, new LambdaUpdateWrapper<InsOrder>()
+ .set(InsOrder::getInsState, 1)
+ .eq(InsOrder::getId, orderId));
+ }
+ }
+ }
+ }catch (Exception e){
+ log.error("宸ユ椂璁$畻澶辫触-->褰撳墠鏍峰搧ID:{},妫�楠岃鎯�:{}",currentSampleId,insContext);
+ throw new RuntimeException(e);
+ }finally {
+ if(lock.isLocked())lock.unlock();
+ }
+ }
+
+
+ /**
+ * 鏌ユ壘灏忔暟浣嶆暟鏈�澶氱殑鏁板��
+ */
+ public Map<String,Object> maxDecimalNumber(String tells) {
+ HashMap<String, Object> map = new HashMap<>();
+ Pattern pattern = Pattern.compile("[-+]?\\d*\\.?\\d+");
+ Matcher matcher = pattern.matcher(tells);
+ String tell = "";
+ Integer maxNumber = 0;
+ while (matcher.find()) {
+ String group = matcher.group();
+ Integer length = 0;
+ if(group.contains(".")) {
+ length = group.split("\\.")[1].length();
+ }else {
+ length = 0;
+ }
+ if(length > maxNumber) {
+ maxNumber = length;
+ tell = group;
+ }
+ }
+ map.put("tell",tell);
+ map.put("maxNumber",maxNumber);
+ return map;
+ }
+
+ /**
+ * 灏忔暟浣嶆暟鐨勮ˉ鍏�
+ */
+ public String completion(String value, Integer digit) {
+ if(NumberUtil.isDouble(value)) {
+ int length = 0;
+ String[] splits = value.split("\\.");
+ if(splits.length>1){
+ length = splits[1].length();
+ }
+ if(digit > length) {
+ int difference = digit - length;
+ for (int i = 0; i < difference; i++) {
+ value += "0";
+ }
+ }
+ }
+ return value;
+ }
+
+ //浜ゆ帴
+ @Override
+ public int upPlanUser(Integer userId, Integer orderId, String sonLaboratory) {
+ InsSampleUser insSampleUser = new InsSampleUser();
+ insSampleUser.setUserId(userId);
+ insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setState(0);
+ insSampleUser.setSonLaboratory(sonLaboratory);
+ return insSampleUserMapper.insert(insSampleUser);
+ }
+
+ //鏍规嵁鍗曞厓鏍肩殑鏂囨湰鍐呭璁$畻瀹為檯琛岄珮
+ private int estimateCellHeight(CellRenderData cellRenderData) {
+ // 鍋囪榛樿琛岄珮鏄�40
+ int defaultHeight = 40;
+ // 鑾峰彇鍗曞厓鏍间腑鐨勬墍鏈夋钀�
+ List<ParagraphRenderData> paragraphs = cellRenderData.getParagraphs();
+ int estimatedHeight = 0;
+ try {
+ // 閬嶅巻娈佃惤锛屼及绠楁瘡涓钀界殑楂樺害
+ for (ParagraphRenderData paragraph : paragraphs) {
+ List<RenderData> contents = paragraph.getContents();
+ for (RenderData content : contents) {
+ if (content instanceof TextRenderData) {
+ TextRenderData text = (TextRenderData) content;
+ Style style = text.getStyle();
+ // 鍋囪姣忚鏂囨湰鐨勯珮搴︿负瀛椾綋澶у皬鐨�1.2鍊�
+ Double fontSize = Objects.isNull(style.getFontSize()) ? 12.0 : style.getFontSize();
+ int lines = (int) Math.ceil(text.getText().length() / 15.0); // 鍋囪姣忚绾�15涓瓧绗�
+ int textHeight = (int) (fontSize * 1.2 * lines);
+ // 绱姞娈佃惤鐨勯珮搴�
+ estimatedHeight += textHeight;
+ }
+ }
+ }
+ }catch (Exception ignored){}
+ // 杩斿洖鏈�澶у�硷紝纭繚楂樺害涓嶄綆浜庨粯璁ら珮搴�
+ return Math.max(estimatedHeight, defaultHeight);
+ }
+
+ /**
+ * 鍙戦�侀槦鍒楁秷鎭�
+ * @param exchange 浜ゆ崲鏈哄悕绉�
+ * @param routerKey 璺敱涓婚敭
+ * @param jsonStr 娑堟伅鍐呭
+ */
+ public void sendQueueMessage(String exchange,String routerKey,String jsonStr){
+ rabbitTemplate.convertAndSend(exchange,routerKey,jsonStr);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
+ int num = (type == 1 ? 5 : 4);
+ LocalDateTime now = LocalDateTime.now();
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, SecurityUtils.getUserId()));
+ Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5));
+ if (count == 0 && num == 5) {
+ List<InsUnPass> insUnPasses = new ArrayList<>();
+ /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
+ //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/")
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
+ for (InsSample insSample : insSamples) {
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1));
+ List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(Objects::nonNull).collect(Collectors.toList());
+ if (results.contains(0)) {
+ insSample.setInsResult(0);
+ } else {
+ insSample.setInsResult(1);
+ }
+ insSampleMapper.updateById(insSample);
+ /*澶嶆牳閫氳繃鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
+ for (InsProduct insProduct : insProducts) {
+ if (insProduct.getInsResult() == 0) {
+ InsUnPass insUnPass = new InsUnPass();
+ insUnPass.setId(null);
+ insUnPass.setModel(insSample.getModel());
+ insUnPass.setSample(insSample.getSample());
+ insUnPass.setInspectionItem(insProduct.getInspectionItem());
+ insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
+ insUnPass.setLastValue(insProduct.getLastValue());
+ insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode());
+ List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
+ if(!userIds.isEmpty()){
+ String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
+ insUnPass.setName(name);
+ insUnPasses.add(insUnPass);
+ }
+ }
+ }
+ }
+ insUnPassService.saveBatch(insUnPasses);
+ InsOrder insOrder = insOrderMapper.selectById(orderId);
+ String oldSampleStr = insOrder.getSample();
+ //samples鏄繃婊ゆ帀娌℃湁妫�楠岄」鐩殑鏍峰搧
+ List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
+ //鏌ヨ璁㈠崟涓嬬殑鍘婚噸鍚庣殑鏍峰搧鍚嶇О
+ List<String> unqeSampleList = samples.stream().map(InsSample::getSample).distinct().collect(Collectors.toList());
+ if(unqeSampleList.size()==1){
+ insOrder.setSample(unqeSampleList.get(0));
+ }
+ InsReport insReport = new InsReport();
+ insReport.setCode(insOrder.getEntrustCode());
+ insReport.setInsOrderId(orderId);
+ List<Map<String, Object>> tables = new ArrayList<>();
+ Set<String> standardMethod = new HashSet<>();
+ Set<String> deviceSet = new HashSet<>();
+ Set<String> models = new HashSet<>();
+ AtomicReference<Integer> productSize = new AtomicReference<>(0);
+ String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
+ Set<String> resultCh = new HashSet<>();
+ Set<String> resultEn = new HashSet<>();
+ //鑾峰彇妫�楠岄」鐩暟閲�
+ Set<String> unEqualSet = new HashSet<>();
+ //鐢靛姏璇曢獙瀹わ細閽㈡潗/閾濇潗鏍峰搧鍨嬪彿
+ List<String> modelDl = new ArrayList<>();
+ /*鍩虹鎶ュ憡(鏍规嵁缁樺埗鐨勫師濮嬭褰曟ā鐗堝舰鎴�)*/
+ BasicReportHandler basicReportHandler = new BasicReportHandler(baseMapper, this,insSampleMapper);
+ basicReportHandler.doWrite(samples,insReport,tables,standardMethod,models,unEqualSet,modelDl,deviceSet);
+ productSize.getAndSet(unEqualSet.size());
+ String sampleStr = insOrder.getSample();
+ if(!modelDl.isEmpty()){
+ String model = modelDl.stream().distinct().findFirst().orElse("");
+ sampleStr += model;
+ }
+ /*鍏夌氦鎺ュご鎹熻�楃殑鎶ュ憡鏍峰紡*/
+ //鏌ヨ璁㈠崟涓嬫墍鏈夋牱鍝佺殑妫�楠岄」鐩�,濡傛灉鏈夊厜绾ゆ帴澶存崯鑰楀垯閲嶆柊鏋勫缓琛ㄦ牸
+ List<Map<String, Object>> tables4 = new ArrayList<>();
+ //褰撳墠璁㈠崟涓嬬殑鎵�鏈夋楠岄」
+ List<InsProduct> insProducts0 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList())));
+ if (insProducts0.stream().map(InsProduct::getInspectionItem).collect(Collectors.toList()).contains("鍏夌氦鎺ュご鎹熻��")){
+ //澶勭悊鍏夌氦鎺ュご鎹熻�楁姤鍛�
+ FiberOpticConnectorLossReportHandler lossReportHandler = new FiberOpticConnectorLossReportHandler(insProductMapper);
+ lossReportHandler.doWrite(insProducts0,insSamples,insReport,tables4);
+ }
+ String url;
+ try {
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
+ File file = File.createTempFile("temp", ".tmp");
+ OutputStream outputStream = new FileOutputStream(file);
+ IOUtils.copy(inputStream, outputStream);
+ url = file.getAbsolutePath();
+ } catch (FileNotFoundException e) {
+ throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�");
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ StringBuilder standardMethod2 = new StringBuilder();
+ for (String s : standardMethod) {
+ standardMethod2.append("銆�").append(s);
+ }
+ standardMethod2.replace(0, 1, "");
+ tables.forEach(table -> {
+ table.put("tableSize", tables.size() + 1);
+ });
+ List<DeviceVO> deviceList = new ArrayList<>();
+ if (!deviceSet.isEmpty()) {
+ deviceSet.forEach(d->deviceList.add(insOrderMapper.selectDeviceList(d)));
+ }
+ Map<String, String> codeStr = new HashMap<>();
+ codeStr.put("鎶ュ憡缂栧彿", insReport.getCode());
+ codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample());
+ codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel());
+ codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ String codePath;
+ try {
+ String content = phoneQrCode+ insOrder.getEntrustCode() + "&type=word";
+ codePath = new MatrixToImageWriter().code(content, twoCode);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ String modelStr = "";
+ for (String model : models) {
+ modelStr += "," + model;
+ }
+ String finalModelStr = modelStr;
+ String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample());
+ insOrder.setSample(sampleStr);
+ String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType());
+ String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType());
+ ConfigureBuilder builder = Configure.builder();
+ builder.useSpringEL(true);
+ List<DeviceVO> finalDeviceList = deviceList;
+ Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery()
+ .eq(InsSampleUser::getInsSampleId, orderId)
+ .eq(InsSampleUser::getState,0)
+ .orderByDesc(InsSampleUser::getCreateTime)
+ .last("limit 1")).getUserId();
+ String signatureUrl;
+ try {
+ signatureUrl = userMapper.selectById(userId).getSignatureUrl();
+ } catch (Exception e) {
+ throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
+ }
+ if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.isEmpty()) {
+ throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
+ }
+ //濡傛灉鏄腑澶╃鎶�杞井缂嗗巶(02)锛屾姤鍛婂睍绀哄鎵樺崟浣嶄负涓ぉ绉戞妧鍏夌紗鎬诲巶(01)
+ Custom custom = customMapper.selectById(insOrder.getCompanyId());
+ if(!Objects.isNull(custom) && Objects.equals("涓ぉ绉戞妧杞井缂嗗巶",custom.getCompany())){
+ //涓ぉ绉戞妧鍏夌紗鎬诲巶瀹㈡埛淇℃伅
+ custom = customMapper.selectOne(Wrappers.<Custom>lambdaQuery()
+ .eq(Custom::getCompany,"涓ぉ绉戞妧鍏夌紗鎬诲巶")
+ .eq(Custom::getCode2,"01").last("limit 1"));
+ }
+ //鍚堟牸鏁伴噺
+ long qualifiedCount = insProducts0.stream().filter(f->f.getInsResult()==1).count();
+ //鏍煎紡鍖栦笉鍚堟牸椤圭洰
+ joinUnqualifiedItemChars(resultCh,resultEn,insProducts0);
+ String resultChStr = "渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囩鍚堣姹傘��";
+ String resultEnStr = "According to commissioned requirements, all the tested items meet the requirements.";
+ if (!resultCh.isEmpty() && qualifiedCount>0) {
+ resultChStr = "渚濇嵁濮旀墭瑕佹眰锛�" + String.join("銆�",resultCh) + "鎵�妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��";
+ resultEnStr = "According to commissioned requirements," + String.join("銆�",resultEn) + " these inspected items do not meet the requirements, all other inspected items meet the requirements.";
+ }else if(!resultCh.isEmpty() && qualifiedCount==0){
+ resultChStr = "渚濇嵁濮旀墭瑕佹眰锛屾墍妫�椤圭洰鍧囦笉绗﹀悎瑕佹眰銆�";
+ resultEnStr = "According to commissioned requirements, all the tested items do not meet the requirements.";
+ }
+
+ //鍏夌氦闄勪欢琛ㄦ牸鏁版嵁
+ List<Map<String, Object>> tables2 = new ArrayList<>();
+ //鏉惧绠¢檮浠惰〃鏍兼暟鎹�
+ List<Map<String, Object>> tables5 = new ArrayList<>();
+ //灏哄鍙傛暟闄勪欢琛ㄦ牸鏁版嵁
+ List<Map<String, Object>> tables6 = new ArrayList<>();
+ /*鍏夌氦閰嶇疆鐨勬楠屾姤鍛�*/
+ //鍏堝垽鏂槸鍚︽湁鍏夌氦閰嶇疆
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
+ .and(i->i.isNull(InsProduct::getInspectionItemClass).or().eq(InsProduct::getInspectionItemClass,""))
+ );//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
+ //鏌ヨ鍏ㄨ壊璋憋紝杩囨护鑹叉爣骞舵帓搴�
+ List<String> colorList = DictUtils.getDictCache("鑹叉爣").stream()
+ .sorted(Comparator.comparing(SysDictData::getDictSort))
+ .map(SysDictData::getDictValue)
+ .collect(Collectors.toList());
+ //鏉惧绠¢檮浠跺鐞�
+ long piperCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsBushId())).count();
+ if(piperCount>0){
+ PiperConfigReportHandler piperConfigReportHandler = new PiperConfigReportHandler(insProductMapper);
+ piperConfigReportHandler.doWrite(samples,insReport,tables5,colorList);
+ }
+ //杩囨护鏈夊厜绾ら厤缃殑椤圭洰
+ long fiberCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsFiberId())).count();
+ FiberConfigReportHandler lossReportHandler = new FiberConfigReportHandler(insProductMapper,insSampleMapper);
+ if (fiberCount>0) {
+ lossReportHandler.doWrite(samples,insReport,tables2,colorList);
+ } else{
+ //鎺掗櫎鍏夌氦鎺ュご鎹熻�楀拰灏哄鍙傛暟
+ List<InsProduct> filterLists = insProducts.stream()
+ .filter(f->!Arrays.asList("鍏夌氦鎺ュご鎹熻��","灏哄鍙傛暟","娓╁害寰幆").contains(f.getInspectionItem())&&f.getSonLaboratory().equals("鍏夌氦璇曢獙瀹�")).collect(Collectors.toList());
+ lossReportHandler.writeFiberEnclosureTableRow(filterLists,tables2,insReport);
+ }
+ //杩囨护鏈夊厜绾ゅ甫閰嶇疆鐨勯」鐩�
+ long fibersCount = insProducts.stream().filter(f->!Objects.isNull(f.getInsFibersId())).count();
+ FiberOpticRibbonReportHandler fiberOpticRibbonReportHandler = new FiberOpticRibbonReportHandler(insProductMapper,insSampleMapper);
+ if (fibersCount>0) {
+ fiberOpticRibbonReportHandler.doWrite(samples,insReport,tables6,colorList);
+ } else{
+ //杩囨护灏哄鍙傛暟椤圭洰
+ List<InsProductFiberVO> productList = new ArrayList<>();
+ insSamples.stream()
+ .map(InsSample::getId).distinct()
+ .forEach(id->productList.addAll(insProductMapper.selectProductBySampleId(id)));
+ List<InsProductFiberVO> vos = productList.stream().filter(f->f.getInspectionItem().equals("灏哄鍙傛暟")).collect(Collectors.toList());
+ if(!vos.isEmpty()){
+ fiberOpticRibbonReportHandler.writeFiberOpticRibbonEnclosureTableRow(vos,tables6,insReport);
+ }
+ }
+ tables2.forEach(table2 -> table2.put("tableSize2", tables2.size()));
+ tables5.forEach(table5 -> table5.put("tableSize5", tables5.size()));
+ tables6.forEach(table6 -> table6.put("tableSize6", tables6.size()));
+
+ /*娓╁害寰幆鐨勬楠屾姤鍛�*/
+ //鍏堝垽鏂槸鍚︽湁娓╁害寰幆
+ List<InsProduct> insProducts3 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒厜绾ら厤缃笌娓╁害寰幆
+ .isNotNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜�
+ List<Map<String, Object>> tables3 = new ArrayList<>();
+ if (!insProducts3.isEmpty()) {
+ //澶勭悊娓╁害寰幆鎶ュ憡
+ TemperatureCyclingReportHandler1 cyclingReportHandler = new TemperatureCyclingReportHandler1(insProductMapper, insFiberMapper, insProductResultMapper);
+ cyclingReportHandler.doWrite(samples,insReport,tables3);
+ }
+
+ /*娓╁崌璇曢獙鐨勬楠屾姤鍛�*/
+ List<InsProduct> insProducts1 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId) //鐢ㄥ厜绾ゅ尯鍒俯鍗囪瘯楠屽拰娓╁害寰幆
+ .eq(InsProduct::getInspectionItem, "1")); //娓╁崌璇曢獙鐨勫惊鐜彧鏈�1娆�
+ if (!insProducts1.isEmpty()) {
+ //澶勭悊娓╁崌璇曢獙鎶ュ憡
+ TemperatureTestReportHandler testReportHandler = new TemperatureTestReportHandler(insProductMapper, insProductResultMapper);
+ testReportHandler.doWrite(samples,insReport,tables3);
+ }
+
+ /*鐑惊鐜殑妫�楠屾姤鍛�*/
+ List<InsProduct> insProducts2 = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).distinct().collect(Collectors.toList()))
+ .isNotNull(InsProduct::getSpecialItemParentId) //鍖哄垎甯歌椤圭洰
+ .isNotNull(InsProduct::getInspectionItemClass)//鐢ㄦ楠屽垎椤瑰瓧娈靛尯鍒俯鍗囪瘯楠屼笌鐑惊鐜�
+ .isNull(InsProduct::getInsFiberId)); //鐢ㄥ厜绾ゅ尯鍒儹寰幆鍜屾俯搴﹀惊鐜�
+ if (!insProducts2.isEmpty()) {
+ //澶勭悊鐑惊鐜姤鍛�
+ ThermalCycleReportHandler cycleReportHandler = new ThermalCycleReportHandler(insProductMapper, insProductResultMapper);
+ cycleReportHandler.doWrite(samples,insReport,tables3);
+ }
+ //鍗曟牴鍨傜洿鐕冪儳鐨勬楠屾姤鍛�
+ tables3.forEach(table3 -> {
+ table3.put("tableSize3", tables3.size());
+ });
+ /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/
+ List<Map<String, Object>> images = new ArrayList<>();
+ List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId));
+ if (CollectionUtils.isNotEmpty(insOrderFiles)) {
+ insOrderFiles.forEach(insOrderFile -> {
+ Map<String, Object> image = new HashMap<>();
+ PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create();
+ image.put("url", pictureRenderData);
+ image.put("report", insReport);
+ images.add(image);
+ });
+ }
+ //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇
+ if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
+ insOrder.setPrepareUser("/");
+ }
+ if (ObjectUtils.isEmpty(insOrder.getPhone())) {
+ insOrder.setPhone("/");
+ }
+ //鏌ヨ瀹℃壒绛惧悕閰嶇疆
+ Map<String,Object> urlMap = insReportApproveConfigMapper.selectApprovalConfigByLaboratory(insOrder.getLaboratory());
+ String writeUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("writeUrl"))?"":urlMap.get("writeUrl").toString());//缂栧埗浜虹鍚島rl
+ String examineUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("examineUrl"))?"":urlMap.get("examineUrl").toString());//瀹℃牳浜虹鍚島rl
+ String ratifyUrl = imgUrl + "/" + (Objects.isNull(urlMap.get("ratifyUrl"))?"":urlMap.get("ratifyUrl").toString());//鎵瑰噯浜虹鍚島rl
+ //鑾峰彇鍦烘墍鐨勬姤鍛婁笓鐢ㄧ珷
+ String sealUrl;
+ try {
+ sealUrl = insReportMapper.getLaboratoryByName(insOrder.getLaboratory());
+ } catch (Exception e) {
+ throw new ErrorException("鎵句笉鍒版姤鍛婁笓鐢ㄧ珷");
+ }
+
+ //妫�楠岄」鐩殑鐜
+ InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0);
+ String environment = "";
+ environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
+ String finalEnvironment = environment;
+ Custom finalCustom = custom;
+ String finalSealUrl = imgUrl + "/" +sealUrl;
+ String finalResultChStr = resultChStr;
+ String finalResultEnStr = resultEnStr;
+ ZipSecureFile.setMinInflateRatio(0.001);
+ XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
+ new HashMap<String, Object>() {{
+ put("order", insOrder);
+ put("report", insReport);
+ put("environment", finalEnvironment);
+ put("custom", finalCustom);
+ put("sampleSize", samples.size());
+ put("tables", tables);
+ put("tableSize", tables.size() + 1);
+ put("tables2", tables2.isEmpty()?null:tables2);
+ put("tableSize2", tables2.size());
+ put("tables3", tables3.isEmpty()?null:tables3);
+ put("tableSize3", tables3.size());
+ put("tables4", tables4.isEmpty()?null:tables4);
+ put("tableSize4", tables4.size());
+ put("tables5", tables5.isEmpty()?null:tables5);
+ put("tableSize5", tables5.size());
+ put("tables6", tables6.isEmpty()?null:tables6);
+ put("tableSize6", tables6.size());
+ put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
+ put("deviceList", finalDeviceList);
+ put("twoCode", Pictures.ofLocal(codePath).create());
+ put("models", finalModelStr.replace(",", ""));
+ put("productSize", productSize);
+ put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
+ put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
+ put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
+ put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear());
+ put("writeUrl", new FilePictureRenderData(100,50, writeUrl));
+ put("insUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl));
+ put("images", images.isEmpty()?null:images);
+ put("examineUrl", new FilePictureRenderData(100,50,examineUrl));
+ put("ratifyUrl", new FilePictureRenderData(100,50,ratifyUrl));
+ put("sampleEn", sampleEn);
+ put("orderType", orderType);
+ put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
+ put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear());
+ put("seal1", new FilePictureRenderData(600,600, finalSealUrl));
+ put("seal2", new FilePictureRenderData(600,600, finalSealUrl));
+ put("formTypeCh", formType);
+ put("formTypeEn", insOrder.getFormType());
+ put("resultCh", finalResultChStr);
+ put("resultEn", finalResultEnStr);
+ }});
+ // 鏇存柊鏁版嵁搴撲腑鐨勭鍙戞棩鏈�
+ insOrderService.update(Wrappers.<InsOrder>lambdaUpdate()
+ .eq(InsOrder::getId, insOrder.getId())
+ .set(InsOrder::getIssuingDate, now));
+ try {
+ String name = insReport.getCode().replace("/", "") + ".docx";
+ template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
+ insReport.setUrl("/word/" + name);
+ insReport.setIsExamine(-9);//鏈鏍哥姸鎬佷负-9
+ insReport.setIsRatify(-9);//鏈壒鍑嗙姸鎬佷负-9
+ insReportMapper.insert(insReport);
+ insOrder.setInsState(5);
+ insOrder.setSample(oldSampleStr);
+ insOrderMapper.updateById(insOrder);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂
+ String path = wordUrl + "/" + insReport.getCode().replace("/", "") + ".docx";
+ // word 杞� pdf
+ String tempUrlPdf = insReportService.wordToPdfTemp((StrUtil.isBlank(insReport.getUrlS()) ? insReport.getUrl() : insReport.getUrlS()).replace("/word", wordUrl));
+ insReportMapper.update(null,new LambdaUpdateWrapper<InsReport>()
+ .set(InsReport::getTempUrlPdf,tempUrlPdf)
+ .eq(InsReport::getId,insReport.getId()));
+ try {
+ ZipSecureFile.setMinInflateRatio(0.0001);//瑙e喅闄勪欢鏂囦欢杩囧ぇ寮曞彂鐨刏ipBom寮傚父
+ FileInputStream stream = new FileInputStream(path);
+ XWPFDocument document = new XWPFDocument(stream);
+ List<XWPFTable> xwpfTables = document.getTables();
+ for (int i = 0; i < xwpfTables.size(); i++) {
+ Set<String> set1 = new HashSet<>();
+ Map<String, Map<String, Integer>> maps = new HashMap<>();
+ for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
+ for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) {
+ if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) {
+ String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�");
+ if (set1.add(split[1])) {
+ Map<String, Integer> map = new HashMap<>();
+ map.put("sr", j);
+ map.put("sc", k);
+ map.put("er", j + 0);
+ map.put("ec", k + 0);
+ maps.put(split[1], map);
+ } else {
+ Map<String, Integer> map1 = maps.get(split[1]);
+ if (j == map1.get("sr")) {
+ map1.put("ec", map1.get("ec") + 1);
+ } else if (k == map1.get("sc")) {
+ map1.put("er", map1.get("er") + 1);
+ }
+ }
+ String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0];
+ xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
+ xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str);
+ xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
+ xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER);
+ }
+ }
+ }
+
+ // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡
+ List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet());
+ entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc"));
+
+ // 鎸夌収椤哄簭娣诲姞杩涢泦鍚�
+ List<String> list = new ArrayList<>();
+ for (Map.Entry<String, Map<String, Integer>> entry : entries) {
+ list.add(entry.getKey());
+ }
+ /*List<String> list = new ArrayList<>();
+ for (String s : maps.keySet()) {
+ list.add(s);
+ }*/
+ for (int a = list.size() - 1; a >= 0; a--) {
+ Map<String, Integer> v = maps.get(list.get(a));
+ for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) {
+ if (v.get("ec") > v.get("sc")) {
+ try {
+ TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec"));
+ } catch (Exception e) {
+ }
+ }
+ }
+ if (v.get("er") > v.get("sr")) {
+ try {
+ TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er"));
+ } catch (Exception e) {
+ }
+ }
+ }
+ }
+ FileOutputStream fileOutputStream = new FileOutputStream(path);
+ document.write(fileOutputStream);
+ fileOutputStream.close();
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ //澶勭悊涓嫳鏂囨崲琛岀殑闂
+ try {
+ FileInputStream stream1 = new FileInputStream(path);
+ XWPFDocument document1 = new XWPFDocument(stream1);
+ List<XWPFTable> xwpfTables1 = document1.getTables();
+ for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) {
+ for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) {
+ for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) {
+ if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) {
+ String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText();
+ String[] split = text.split("@");
+ xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0);
+ XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph();
+ XWPFRun run = xwpfParagraph.createRun();
+ run.setText(split.length>0?split[0]:"");
+ if (split.length>1 && ObjectUtils.isNotNull(split[1])) {
+ run.addBreak();
+ run.setText(split[1]);
+ }
+ xwpfParagraph.setAlignment(ParagraphAlignment.CENTER);
+ }
+ }
+ }
+ }
+ FileOutputStream fileOutputStream1 = new FileOutputStream(path);
+ document1.write(fileOutputStream1);
+ fileOutputStream1.close();
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ } else if(num != 5) {
+ //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀
+ Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
+ insSampleUserMapper.deleteById(id);
+ }
+ return 1;
+ }
+
+ /**
+ * 鏍煎紡鍖栦笉鍚堟牸椤圭洰瀛楃涓�
+ * @param resultCh 涓嶅悎鏍奸」鐩腑鏂囧垪琛�
+ * @param resultEn 涓嶅悎鏍奸」鐩嫳鏂囧垪琛�
+ * @param insProducts0 妫�楠岄」鍒楄〃
+ */
+ private void joinUnqualifiedItemChars(Set<String> resultCh, Set<String> resultEn, List<InsProduct> insProducts0) {
+ if(!insProducts0.isEmpty()){
+ insProducts0.stream().filter(f->f.getInsResult()==0).forEach(e->{
+ String chinaStr = String.join("-",e.getInspectionItem(),e.getInspectionItemSubclass());
+ String englishStr = String.join("-",e.getInspectionItemEn(),e.getInspectionItemSubclassEn());
+ resultCh.add(chinaStr);
+ resultEn.add(englishStr);
+ });
+ }
+ }
+
+ public void getTemplateThing
+ (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) {
+ for (InsProduct product : insProducts) {
+ if (product.getSpecialItemParentId()!=null) {
+ product.setTemplate(new ArrayList<>());
+ continue;
+ }
+ String thing = null;
+ if (product.getSpecialItemParentId() == null && set.add(product.getTemplateId())) {
+ map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
+ thing = map2.get(product.getTemplateId());
+ }
+ if (StrUtil.isNotEmpty(thing)) {
+ JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0)));
+ JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config")));
+ List<JSONObject> cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class);
+ Map<String, Object> style = new HashMap<>();
+ style.put("rowlen", config.get("rowlen"));
+ style.put("columnlen", config.get("columnlen"));
+ product.setTemplate(cellData);
+ product.setStyle(style);
+ product.setTemplateName(standardTemplateService.getStandTempNameById(product.getTemplateId()));
+ }
+ }
+ }
+
+ @Override
+ public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) {
+ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+ List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .in(InsProduct::getInsSampleId, ids)
+ .eq(InsProduct::getSonLaboratory, laboratory)
+ .eq(InsProduct::getState, 1)
+ .and(wrapper -> wrapper
+ .isNull(InsProduct::getInsResult)
+ .or()
+ .eq(InsProduct::getInsResult, 2)
+ )
+ .isNull(InsProduct::getInsFiberId)
+ .isNull(InsProduct::getInsFibersId));
+ insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory));
+ if (insProducts.size() > 0) {
+ String str = "";
+ HashSet<String> set = new HashSet<>();
+ int count = 0;
+ for (InsProduct product : insProducts) {
+ //濡傛灉鏄厜缂嗙殑娓╁害寰幆
+ if (product.getInspectionItem().equals("娓╁害寰幆") && insOrderMapper.selectById(orderId).getSampleType().equals("鍏夌紗")) {
+ //鏌ヨ閭d簺寰幆娓╁害鐨勬楠岄」鐩殑缁撹鏄惁鍏ㄩ儴妫�楠�
+ List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, product.getInsSampleId())
+ .isNotNull(InsProduct::getInsFiberId).like(InsProduct::getInspectionItemSubclass, "鈩�"));
+ List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
+ List<Integer> tt = new ArrayList<>();
+ tt.add(1);
+ if (collect.contains(0)) {
+ product.setLastValue("涓嶅悎鏍�");
+ product.setInsResult(0);
+ } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
+ product.setLastValue("鍚堟牸");
+ product.setInsResult(1);
+ }
+ insProductMapper.updateById(product);
+ }
+ //濡傛灉鏄儹寰幆鎴栬�呮槸娓╁崌璇曢獙
+ else if (product.getInspectionItem().equals("鐑惊鐜�") || product.getInspectionItem().equals("娓╁崌璇曢獙")) {
+ //鏌ヨ杩欎簺椤圭洰涓嬬殑鍏朵粬妫�楠岄」鐩槸鍚﹀叏閮ㄦ楠�
+ List<InsProduct> insProductList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, product.getInsSampleId())
+ .like(InsProduct::getInspectionItemSubclass, "娓╁害"));
+ List<Integer> collect = insProductList.stream().filter(insProduct -> insProduct.getInsResult() != null).map(InsProduct::getInsResult).collect(Collectors.toList());
+ List<Integer> tt = new ArrayList<>();
+ tt.add(1);
+ if (collect.contains(0)) {
+ product.setLastValue("涓嶅悎鏍�");
+ product.setInsResult(0);
+ } else if (collect.size() == insProductList.size() && collect.stream().distinct().collect(Collectors.toList()).containsAll(tt)) {
+ product.setLastValue("鍚堟牸");
+ product.setInsResult(1);
+ }
+ insProductMapper.updateById(product);
+ }
+ //濡傛灉鏄數鍔涚殑搴斿姏搴斿彉妫�楠岄」鐩垨鑰呮槸鐤插姵璇曢獙,缁撹鏀规垚涓嶅垽瀹�
+ else if (product.getInspectionItem().equals("搴斿姏搴斿彉") || product.getInspectionItem().contains("鐤插姵璇曢獙")){
+ product.setInsResult(3);
+ insProductMapper.updateById(product);
+ }
+ //濡傛灉鏄槻鎸敜鍔熺巼鐗规�ц瘯楠�
+ else if (product.getInspectionItem().equals("闃叉尟閿ゅ姛鐜囩壒鎬ц瘯楠�")){
+ product.setInsResult(1);//榛樿鍚堟牸
+ //闇�瑕佸幓鍒ゆ柇濉啓鐨勬楠屾暟鎹槸鍚︽湁涓嶅悎鏍�
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
+ cn.hutool.json.JSONObject jsonObject = new cn.hutool.json.JSONObject(insProductResult.getComValue());
+ // 妫�鏌� arr2
+ cn.hutool.json.JSONArray arr2 = jsonObject.getJSONArray("arr2");
+ for (int i = 0; i < arr2.size(); i++) {
+ cn.hutool.json.JSONObject obj = arr2.getJSONObject(i);
+ if (obj.getInt("state") == 2) {
+ product.setInsResult(0);
+ break;
+ }
+ }
+ // 妫�鏌� arr3
+ cn.hutool.json.JSONArray arr3 = jsonObject.getJSONArray("arr3");
+ for (int i = 0; i < arr3.size(); i++) {
+ cn.hutool.json.JSONObject obj = arr3.getJSONObject(i);
+ if (obj.getInt("state") == 2) {
+ product.setInsResult(0);
+ break;
+ }
+ }
+ insProductMapper.updateById(product);
+ }
+ else {
+ String notDetected = product.getInspectionItem() + " " + product.getInspectionItemSubclass();
+ if(!set.contains(notDetected)) {
+ count++;
+ str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
+ set.add(notDetected);
+ }
+
+ }
+ }
+ if (ObjectUtils.isNotEmpty(str)) {
+ throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str);
+ }
+ }
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 3).set(InsOrderState::getVerifyUser, verifyUser));
+ Integer userId = SecurityUtils.getUserId().intValue();
+ InformationNotification info = new InformationNotification();
+ info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
+ info.setMessageType("2");
+ info.setTheme("澶嶆牳閫氱煡");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
+ info.setSenderId(userId);
+ info.setConsigneeId(verifyUser);
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order-plan");
+ informationNotificationService.addInformationNotification(info);
+ //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
+ InsSampleUser insSampleUser = new InsSampleUser();
+ insSampleUser.setUserId(verifyUser);
+ insSampleUser.setInsSampleId(orderId);
+ insSampleUser.setState(1);
+ insSampleUser.setSonLaboratory(laboratory);
+ insSampleUserMapper.insert(insSampleUser);
+ /*鏍¢獙涓�涓媟esult琛�*/
+ CompletableFuture.supplyAsync(() -> {
+ List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
+ for (Integer ip : ips) {
+ List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .eq(InsProductResult::getInsProductId, ip));
+ if (insProductResults.size() > 1) {
+ for (int i = 1; i < insProductResults.size(); i++) {
+ insProductResultMapper.deleteById(insProductResults.get(i));
+ }
+ }
+ }
+ return null;
+ });
+ // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
+ String key = "frequency" + ":" + entrustCode + ":*";
+ RedisUtil.delsLike(key);
+ return 1;
+ }
+
+ @Override
+ public List<String> getEquipName(Integer orderId,String sonLaboratory) {
+ List<Integer> ids = insSampleMapper.selectList(new LambdaQueryWrapper<InsSample>()
+ .eq(InsSample::getInsOrderId, orderId))
+ .stream()
+ .map(InsSample::getId)
+ .collect(Collectors.toList());
+ // 鏌ョ湅鍗曞瓙鏄惁閫夋嫨浜嗚澶�
+ List<String> strList = new ArrayList<>();
+ HashSet<String> set = new HashSet<>();
+ List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .in(InsProduct::getInsSampleId, ids)
+ .eq(InsProduct::getSonLaboratory, sonLaboratory)
+ .eq(InsProduct::getState, 1));
+ if (CollectionUtils.isNotEmpty(productList)) {
+ List<InsProduct> collect = productList.stream()
+ .filter(item -> Objects.isNull(item.getSpecialItemParentId()) || StringUtils.isEmpty(item.getSpecialItemParentId()+""))
+ .collect(Collectors.toList());
+ for (InsProduct product : collect) {
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, product.getId()));
+ if(Objects.nonNull(insProductResult)){
+ if(Objects.isNull(insProductResult.getEquipName()) || StringUtils.isEmpty(insProductResult.getEquipName())) {
+ strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
+ }else {
+ List<Map> maps = JSONArray.parseArray(insProductResult.getEquipName(), Map.class);
+ if(CollectionUtils.isNotEmpty(maps)) {
+ List<Map> mapList = maps.stream().filter(item -> StringUtils.isEmpty(item.get("v") + "")).collect(Collectors.toList());
+ if(mapList.size() == maps.size()) {
+ strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
+ }
+// for (Map map : maps) {
+// if(StringUtils.isEmpty(map.get("v")+"")){
+// strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
+// }
+// }
+ }else {
+ strList.add(product.getInspectionItem() + " " + product.getInspectionItemSubclass());
+ }
+ }
+ }
+ }
+ }
+
+ return strList.stream().distinct().collect(Collectors.toList());
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
+ public int saveInsContext2(InsProductResultDTO insProductResult) {
+ Integer userId = SecurityUtils.getUserId().intValue();
+ try {
+ //妫�楠岀粨鏋�
+ Map<String,Object> insValueMap = JackSonUtil.unmarshal(insProductResult.getInsValue(), Map.class);
+ //saveInsContext2鏂规硶鏈夊涓ā鏉胯皟鐢紝闇�鏍规嵁妯℃澘鍚嶇О鍒嗗紑澶勭悊
+ switch (insProductResult.getTemplateName()){
+ case "鏋剁┖鍦扮嚎搴斿姏搴斿彉":
+ //淇濆瓨寮规�фā閲忓拰妫�楠岀粨璁�
+ if(Objects.nonNull(insValueMap.get("elasticityModulus"))){
+ String elasticityModulus = insValueMap.get("elasticityModulus").toString();
+ insProductMapper.update(null,Wrappers.<InsProduct>lambdaUpdate()
+ .set(InsProduct::getInsResult,3)//缁撹璁句负涓嶅垽瀹�
+ .set(InsProduct::getElasticityModulus,elasticityModulus)
+ .eq(InsProduct::getId,insProductResult.getInsProductId())
+ );
+ }
+ //鍒犻櫎寮规�фā閲弅ey
+ insValueMap.remove("elasticityModulus");
+ insProductResult.setInsValue(JackSonUtil.marshal(insValueMap));
+ break;
+ case "鐤插姵璇曢獙":
+ //淇濆瓨妫�楠岀粨鏋�
+ if(Objects.nonNull(insValueMap.get("damage"))){
+ String damage = insValueMap.get("damage").toString();
+ Integer insResult = "绗﹀悎".equals(damage)?1:0;
+ insProductMapper.update(null,Wrappers.<InsProduct>lambdaUpdate()
+ .set(InsProduct::getInsResult,insResult)
+ .set(InsProduct::getLastValue,damage)
+ .eq(InsProduct::getId,insProductResult.getInsProductId())
+ );
+ }
+ break;
+ }
+ List<InsProductResult> oldResults = new ArrayList<>();
+ InsProductResult insProductResult1 = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>().eq(InsProductResult::getInsProductId, insProductResult.getInsProductId()));
+ //鏂板鎴栨洿鏂版楠岃褰�
+ if (ObjectUtils.isNull(insProductResult1)){
+ insProductResultMapper.insert(insProductResult);
+ }else {
+ insProductResult.setId(insProductResult1.getId());
+ oldResults.add(insProductResult1);
+ insProductResultMapper.updateById(insProductResult);
+ }
+ //娣诲姞宸ユ椂璁板綍
+ InsOrder insOrder = insOrderMapper.selectById(insProductResult.getOrderId());
+ InsSample insSample = insSampleMapper.selectById(insProductResult.getSampleId());
+ InsProduct insProduct = insProductMapper.selectById(insProductResult.getInsProductId());
+ InsProductResult newInsResult = new InsProductResult();
+ BeanUtil.copyProperties(insProductResult,newInsResult);
+ WorkTimeDTO workTimeDTO = new WorkTimeDTO(userId,insOrder,insSample,insProduct,null,insProductResult.getSampleId(), String.valueOf(insProductResult.getInsProductId()),oldResults ,newInsResult);
+ String jsonStr = JackSonUtil.marshal(workTimeDTO);
+ //璁$畻宸ユ椂
+ //TODO:璇ユ柟娉曠洰鍓嶅彧鏈夌數鍔涚敤锛岄粯璁よ矾鐢变娇鐢ㄧ數鍔涚殑
+ sendQueueMessage(ExchangeConstants.WORK_TIME_EXCHANGE,RouterKeyConstants.DL_KEY,jsonStr);
+ }catch (Exception e){
+ throw new RuntimeException(e);
+ }
+ return 0;
+ }
+
+ // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
+ public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
+ List<LocalDateTime> localDateTimes = new ArrayList<>();
+ LocalDate currentDate = start.toLocalDate();
+ LocalDateTime currentLocalDateTime = start;
+ while (!currentDate.isAfter(end.toLocalDate())) {
+ localDateTimes.add(currentLocalDateTime);
+ currentLocalDateTime = currentLocalDateTime.plusDays(1);
+ currentDate = currentDate.plusDays(1);
+ }
+ return localDateTimes;
+ }
+
+ /**
+ * 鏌ヨ妫�楠岄」瀵瑰簲鏍囧噯搴撻厤缃殑宸ユ椂淇℃伅
+ * @param insProduct
+ * @return
+ */
+ public StandardProductVO getInspectWorkHourAndGroup(InsProduct insProduct){
+ StandardProductVO standardProductVO = new StandardProductVO();
+ if(!Objects.isNull(insProduct)){
+ //鏌ヨ瀵瑰簲鏍囧噯搴�
+ List<StandardProductVO> productVO = standardProductListMapper.getStandardProductByInsProduct(
+ insProduct.getLaboratory(),
+ insProduct.getSampleType(),
+ insProduct.getSample(),
+ insProduct.getModel(),
+ insProduct.getInspectionItem(),
+ insProduct.getInspectionItemSubclass(),
+ insProduct.getSonLaboratory(),
+ insProduct.getStandardMethodListId());
+ if(!productVO.isEmpty()){
+ standardProductVO = productVO.get(0);
+ }
+ //鏈夊尯闂寸殑妫�楠岄」锛屽彇妫�楠岄」瀛樼殑宸ユ椂淇℃伅
+ if(StringUtils.isNotBlank(insProduct.getSection()) && StringUtils.isNotBlank(standardProductVO.getSection())){
+ try {
+ ObjectMapper objectMapper = new ObjectMapper();
+ //鍖洪棿璁剧疆
+ List<String> sectionList = (List<String>)objectMapper.readValue(standardProductVO.getSection(), List.class);
+ //閫変腑鍖洪棿鐨勪笅鏍�
+ int i = sectionList.indexOf(insProduct.getSection());
+ //鑾峰彇瀵瑰簲涓嬫爣鐨勫伐鏃跺拰宸ユ椂鍒嗙粍
+ List<Double> hourList = (List<Double>)objectMapper.readValue(standardProductVO.getManHour(), List.class);
+ standardProductVO.setManHour(String.valueOf(hourList.get(i)));
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return standardProductVO;
+ }
+
+ public static String getWeek(String dayStr) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ Date date = sdf.parse(dayStr);
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+ int day = calendar.get(Calendar.DAY_OF_MONTH);
+ return getWeekDay(dayOfWeek);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ public static String getWeekDay(int dayOfWeek) {
+ switch (dayOfWeek) {
+ case Calendar.MONDAY:
+ return "鍛ㄤ竴";
+ case Calendar.TUESDAY:
+ return "鍛ㄤ簩";
+ case Calendar.WEDNESDAY:
+ return "鍛ㄤ笁";
+ case Calendar.THURSDAY:
+ return "鍛ㄥ洓";
+ case Calendar.FRIDAY:
+ return "鍛ㄤ簲";
+ case Calendar.SATURDAY:
+ return "鍛ㄥ叚";
+ case Calendar.SUNDAY:
+ return "鍛ㄦ棩";
+ default:
+ return "鏈煡";
+ }
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/InstructionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InstructionServiceImpl.java
new file mode 100644
index 0000000..c82b1e9
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InstructionServiceImpl.java
@@ -0,0 +1,65 @@
+package com.ruoyi.require.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.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.dto.InstructionDto;
+import com.ruoyi.require.mapper.InstructionMapper;
+import com.ruoyi.require.pojo.Instruction;
+import com.ruoyi.require.service.InstructionService;
+import com.ruoyi.require.service.OperationInstructionService;
+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;
+
+/**
+ * <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;
+
+ @Override
+ public IPage<Instruction> pageByPageQueryOfHomeworkInstructions(Page page) {
+ return baseMapper.pageByPageQueryOfHomeworkInstructions(page);
+ }
+
+ @Override
+ public void newHomeworkGuidebookAdded(InstructionDto instructionDto) {
+ 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(SecurityUtils.getUserId().intValue());
+ i.setUpdateTime(LocalDateTime.now());
+ });
+ operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList());
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java
new file mode 100644
index 0000000..80be802
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.InternalWastesDetailMapper;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+import com.ruoyi.require.service.InternalWastesDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:54
+ */
+@Service
+public class InternalWastesDetailServiceImpl extends ServiceImpl<InternalWastesDetailMapper, InternalWastesDetail> implements InternalWastesDetailService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java
new file mode 100644
index 0000000..4a09256
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java
@@ -0,0 +1,170 @@
+package com.ruoyi.require.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.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.util.HackLoopTableRenderPolicy;
+import com.ruoyi.require.dto.InternalWastesDto;
+import com.ruoyi.require.mapper.InternalWastesMapper;
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+import com.ruoyi.require.service.InternalWastesDetailService;
+import com.ruoyi.require.service.InternalWastesService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+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.util.HashMap;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Service
+@AllArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class InternalWastesServiceImpl extends ServiceImpl<InternalWastesMapper, InternalWastes> implements InternalWastesService {
+
+ private InternalWastesDetailService internalWastesDetailService;
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ
+ * @param page
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes) {
+ return baseMapper.pageInternalWastes(page, QueryWrappers.queryWrappers(internalWastes));
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鏂板
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public boolean addInternalWastes(InternalWastesDto internalWastes) {
+
+ baseMapper.insert(internalWastes);
+ // 鏂板璇︽儏
+ for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
+ internalWastesDetail.setWastesId(internalWastes.getWastesId());
+ }
+ internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏淇敼
+ * @param internalWastes
+ * @return
+ */
+ @Override
+ public boolean updateInternalWastes(InternalWastesDto internalWastes) {
+ baseMapper.updateById(internalWastes);
+
+ // 鍒犻櫎涔嬪墠鐨勮鎯�
+ internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, internalWastes.getWastesId()));
+
+ // 鏂板璇︽儏
+ for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) {
+ internalWastesDetail.setWastesId(internalWastes.getWastesId());
+ }
+ internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList());
+
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒犻櫎
+ * @param WastesId
+ * @return
+ */
+ @Override
+ public boolean delInternalWastes(Integer WastesId) {
+ internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, WastesId));
+ baseMapper.deleteById(WastesId);
+ return true;
+ }
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏鏌ョ湅璇︽儏
+ * @param WastesId
+ * @return
+ */
+ @Override
+ public InternalWastesDto getInternalWastesOne(Integer WastesId) {
+ InternalWastes internalWastes = baseMapper.selectById(WastesId);
+ InternalWastesDto internalWastesDto = new InternalWastesDto();
+ BeanUtils.copyProperties(internalWastes, internalWastesDto);
+
+ // 鏌ヨ璇︾粏淇℃伅
+ internalWastesDto.setWastesDetailList(internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, WastesId)));
+ return internalWastesDto;
+ }
+
+ /**
+ * 瀵煎嚭涓夊簾澶勭悊
+ * @param wastesId
+ * @param response
+ */
+ @Override
+ public void exportInternalWastes(Integer wastesId, HttpServletResponse response) {
+ InternalWastes internalWastes = baseMapper.selectById(wastesId);
+
+ List<InternalWastesDetail> wastesDetailList = internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery()
+ .eq(InternalWastesDetail::getWastesId, wastesId));
+
+ int index = 1;
+ for (InternalWastesDetail detail : wastesDetailList) {
+ detail.setIndex(index);
+ index++;
+ }
+
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-wastes.docx");
+ Configure configure = Configure.builder()
+ .bind("wastesDetailList", new HackLoopTableRenderPolicy())
+ .build();
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("remark", internalWastes.getRemark());
+ put("wastesDetailList", wastesDetailList);
+ }});
+
+ 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-require/src/main/java/com/ruoyi/require/service/impl/OperationInstructionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/OperationInstructionServiceImpl.java
new file mode 100644
index 0000000..7d2b24b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/OperationInstructionServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.OperationInstructionMapper;
+import com.ruoyi.require.pojo.OperationInstruction;
+import com.ruoyi.require.service.OperationInstructionService;
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java
new file mode 100644
index 0000000..9047411
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java
@@ -0,0 +1,814 @@
+package com.ruoyi.requier.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+
+import cn.hutool.core.util.ObjectUtil;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.service.impl.ServiceImpl;
+import com.ruoyi.basic.vo.StandardProductVO;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.mapper.*;
+import com.ruoyi.inspect.pojo.*;
+import com.ruoyi.inspect.vo.ProductVo;
+import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
+import com.ruoyi.performance.mapper.PerformanceShiftMapper;
+import com.ruoyi.performance.mapper.ShiftTimeMapper;
+import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
+import com.ruoyi.performance.pojo.PerformanceShift;
+import com.ruoyi.performance.pojo.ShiftTime;
+import com.ruoyi.requier.mapper.PkMasterMapper;
+import com.ruoyi.requier.mapper.PkSlaveMapper;
+import com.ruoyi.requier.pojo.PkMaster;
+import com.ruoyi.requier.pojo.PkSlave;
+import com.ruoyi.requier.service.InsOrderPlanService;
+import com.ruoyi.requier.service.PkMasterService;
+import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2024-07-29 01:16:26
+ */
+@Service
+@Slf4j
+public class PkMasterServiceImpl extends ServiceImpl<PkMasterMapper, PkMaster> implements PkMasterService {
+
+ @Resource
+ private PkMasterMapper pkMasterMapper;
+
+ @Resource
+ private PkSlaveMapper pkSlaveMapper;
+
+ @Resource
+ private InsOrderMapper insOrderMapper;
+
+ @Resource
+ private InsSampleMapper insSampleMapper;
+
+ @Resource
+ private InsProductMapper insProductMapper;
+
+ @Resource
+ private InsProductResultMapper insProductResultMapper;
+
+ @Resource
+ private InsProductUserMapper insProductUserMapper;
+
+ @Resource
+ private UserMapper userMapper;
+
+ @Resource
+ private InsOrderPlanService insOrderPlanService;
+
+ @Resource
+ private InsOrderPlanServiceImpl insOrderPlanServiceImpl;
+
+ @Resource
+ private ShiftTimeMapper shiftTimeMapper;
+ @Resource
+ private PerformanceShiftMapper performanceShiftMapper;
+
+ @Resource
+ private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
+
+ //娓╁害寰幆鏁伴噰
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int temDataAcquisition(PkMaster pkMaster) {
+ Integer userId = SecurityUtils.getUserId().intValue();
+ //鏌ヨ鏁伴噰鍏宠仈鐨勫瓙琛ㄤ俊鎭�
+ PkMaster master = new PkMaster();
+ List<PkMaster> pkMasters = pkMasterMapper.selectList(Wrappers.<PkMaster>lambdaQuery()
+ .eq(PkMaster::getEntrustCode, pkMaster.getEntrustCode())
+ .eq(PkMaster::getSampleCode, pkMaster.getSampleCode())
+ .eq(PkMaster::getModel, pkMaster.getModel())
+ .eq(PkMaster::getCycles, pkMaster.getCycles())
+ .eq(PkMaster::getTemperature, pkMaster.getTemperature()).orderByDesc(PkMaster::getId));
+ if(!pkMasters.isEmpty()){
+ master = pkMasters.get(0);
+ }
+ //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
+ InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
+ if (ObjectUtils.isEmpty(insOrder)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode());
+ }
+ //鏌ヨ瀵瑰簲妫�楠屾牱鍝乮d
+ InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+ .eq(InsSample::getInsOrderId, insOrder.getId())
+ .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
+ .eq(InsSample::getModel, pkMaster.getModel()));
+ if (ObjectUtils.isEmpty(insSample)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
+ } if (ObjectUtils.isNotEmpty(master)) {
+ //throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囨暟鎹�");
+ List<PkSlave> pkSlaves = pkSlaveMapper.selectList1(master.getIsid());
+ if (CollectionUtils.isEmpty(pkSlaves)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode() + "鐨勬暟閲囧瓙鏁版嵁");
+ }
+
+ //鏌ヨ瀵瑰簲妫�楠岄」鐩�
+ Map<String, Object> map = insOrderPlanService.temCycle(insSample.getId(), pkMaster.getCycles(), pkMaster.getTemperature());
+ List<ProductVo> productVos = (List<ProductVo>) map.get("productVos");
+ if (CollectionUtils.isNotEmpty(productVos)) {
+ //todo 濡傛灉娓╁害寰幆鐨勯」鐩畁m鏈夋敼鍔ㄨ繖閲岄渶瑕佹敼鍔� @zss
+ for (PkSlave pkSlave : pkSlaves) {
+ for (ProductVo productVo : productVos) {
+ if (pkSlave.getInsBushingId().equals(productVo.getBushColor()) &&
+ pkSlave.getInsFibersId().equals(productVo.getCode()) &&
+ pkSlave.getInsFiberId().equals(productVo.getColor())) {
+ //鎵惧埌瀵瑰簲鐨勬暟鎹�(瀵瑰簲濂楃鍏夌氦鐨勬暟鎹�)
+ List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, productVo.getInsProduct().getId()));
+ InsProductResult result;
+ if (CollectionUtils.isEmpty(results)) {
+ result = new InsProductResult();
+ } else {
+ result = results.get(0);
+ }
+ result.setInsProductId(productVo.getInsProduct().getId());//妫�楠岄」鐩甶d
+ List<Map<String, Object>> iv = new ArrayList<>();
+ List<Map<String, Object>> cv = new ArrayList<>();
+ if (productVo.getInsProduct().getInspectionItemClass().equals("1310nm")) {
+ //1310nm澶栫
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("u", userId + "");
+ map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) ? pkSlave.getWeaken1310A().toString() : null);
+ iv.add(map1);
+ //1310nm鍐呯
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("u", userId + "");
+ map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) ? pkSlave.getWeaken1310B().toString() : null);
+ iv.add(map2);
+ //1310nm琛板噺绯绘暟
+ Map<String, Object> map3 = new HashMap<>();
+ double v = 0.0;
+ if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B())) {
+ v = (pkSlave.getWeaken1310A() + pkSlave.getWeaken1310B()) / 2;
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310B())) {
+ v = pkSlave.getWeaken1310A();
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1310B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1310A())) {
+ v = pkSlave.getWeaken1310B();
+ } else {
+ log.info("鏁伴噰id锛歿}", pkSlave.getId());
+ throw new ErrorException("1310鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+ }
+ BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+ map3.put("v", String.valueOf(decimal));
+ cv.add(map3);
+ } else if (productVo.getInsProduct().getInspectionItemClass().equals("1550nm")) {
+ //1550nm澶栫
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("u", userId + "");
+ map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) ? pkSlave.getWeaken1550A().toString() : null);
+ iv.add(map1);
+ //1550nm鍐呯
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("u", userId + "");
+ map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) ? pkSlave.getWeaken1550B().toString() : null);
+ iv.add(map2);
+ //1550nm琛板噺绯绘暟
+ Map<String, Object> map3 = new HashMap<>();
+ double v = 0.0;
+ if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B())) {
+ v = (pkSlave.getWeaken1550A() + pkSlave.getWeaken1550B()) / 2;
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550B())) {
+ v = pkSlave.getWeaken1550A();
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1550B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1550A())) {
+ v = pkSlave.getWeaken1550B();
+ } else {
+ throw new ErrorException("1550鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+ }
+ BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+ map3.put("v", String.valueOf(decimal));
+ cv.add(map3);
+ } else if (productVo.getInsProduct().getInspectionItemClass().equals("1625nm")) {
+ //1625nm澶栫
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("u", userId + "");
+ map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) ? pkSlave.getWeaken1625A().toString() : null);
+ iv.add(map1);
+ //1625nm鍐呯
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("u", userId + "");
+ map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) ? pkSlave.getWeaken1625B().toString() : null);
+ iv.add(map2);
+ //1625nm琛板噺绯绘暟
+ Map<String, Object> map3 = new HashMap<>();
+ double v = 0.0;
+ if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B())) {
+ v = (pkSlave.getWeaken1625A() + pkSlave.getWeaken1625B()) / 2;
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625B())) {
+ v = pkSlave.getWeaken1625A();
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1625B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1625A())) {
+ v = pkSlave.getWeaken1625B();
+ } else {
+ throw new ErrorException("1625鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+ }
+ BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+ map3.put("v", String.valueOf(decimal));
+ cv.add(map3);
+ } else if (productVo.getInsProduct().getInspectionItemClass().equals("1383nm")) {
+ //1383nm澶栫
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("u", userId + "");
+ map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) ? pkSlave.getWeaken1383A().toString() : null);
+ iv.add(map1);
+ //1383nm鍐呯
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("u", userId + "");
+ map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) ? pkSlave.getWeaken1383B().toString() : null);
+ iv.add(map2);
+ //1383nm琛板噺绯绘暟
+ Map<String, Object> map3 = new HashMap<>();
+ double v = 0.0;
+ if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B())) {
+ v = (pkSlave.getWeaken1383A() + pkSlave.getWeaken1310B()) / 2;
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383B())) {
+ v = pkSlave.getWeaken1383A();
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1383B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1383A())) {
+ v = pkSlave.getWeaken1383B();
+ } else {
+ throw new ErrorException("1383鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+ }
+ BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+ map3.put("v", String.valueOf(decimal));
+ cv.add(map3);
+ } else if (productVo.getInsProduct().getInspectionItemClass().equals("1490nm")) {
+ //1490nm澶栫
+ Map<String, Object> map1 = new HashMap<>();
+ map1.put("u", userId + "");
+ map1.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) ? pkSlave.getWeaken1490A().toString() : null);
+ iv.add(map1);
+ //1490nm鍐呯
+ Map<String, Object> map2 = new HashMap<>();
+ map2.put("u", userId + "");
+ map2.put("v", ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) ? pkSlave.getWeaken1490B().toString() : null);
+ iv.add(map2);
+ //1490nm琛板噺绯绘暟
+ Map<String, Object> map3 = new HashMap<>();
+ double v = 0.0;
+ if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B())) {
+ v = (pkSlave.getWeaken1490A() + pkSlave.getWeaken1310B()) / 2;
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490A()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490B())) {
+ v = pkSlave.getWeaken1490A();
+ } else if (ObjectUtils.isNotEmpty(pkSlave.getWeaken1490B()) && ObjectUtils.isEmpty(pkSlave.getWeaken1490A())) {
+ v = pkSlave.getWeaken1490B();
+ } else {
+ throw new ErrorException("1490鐨勪袱绔兘娌℃湁鏁版嵁!!!");
+ }
+ BigDecimal decimal = BigDecimal.valueOf(v).setScale(3, RoundingMode.HALF_UP);
+ map3.put("v", String.valueOf(decimal));
+ cv.add(map3);
+ } else {
+ throw new ErrorException("娌℃湁鎵惧埌璇ユ俯搴︾殑妫�楠岄」鐩�" + productVo.getInsProduct().getInspectionItemClass());
+ }
+ result.setInsValue(JSON.toJSONString(iv));//妫�楠屽��
+ result.setComValue(JSON.toJSONString(cv));//璁$畻鍊�
+ if (BeanUtil.isEmpty(result.getId())) {
+ result.setCreateUser(userId);
+ result.setUpdateUser(userId);
+ insProductResultMapper.insert(result);
+ } else {
+ result.setUpdateUser(userId);
+ result.setUpdateTime(LocalDateTime.now());
+ insProductResultMapper.updateById(result);
+ }
+
+ InsProduct insProduct = productVo.getInsProduct();
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+ String[] comValue = insProductResult.getComValue().split(":");
+ String comple = comValue[comValue.length-1].split("\"")[1];
+ //棣栧厛鏌ョ湅娓╁害鏄惁鏄�20搴﹀父娓�
+ if (!pkMaster.getTemperature().equals("20鈩�(甯告俯)")) {
+ //濡傛灉涓嶆槸鍏堟煡璇㈡槸鍚︽湁鍊�
+ int a = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")).stream().map(InsProduct::getInsResult).anyMatch(ObjectUtils::isEmpty) ? 1 : 0;
+ if (a == 1) {
+ throw new ErrorException("鍏堣幏鍙�20鈩�(甯告俯)鐨勬楠屽��,鍐嶈幏鍙栧叾浠栨俯搴�" + pkMaster.getSampleCode());
+ } else {
+ //璁$畻琛板噺宸�
+ InsProduct insPro = null;
+ switch (insProduct.getInspectionItemClass()) {
+ case "1310nm":
+ //鏌ヨ20鈩�(甯告俯)1310nm鐨勮“鍑忕郴鏁�
+ try {
+ insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, "1310nm")
+ .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+ } catch (Exception e) {
+ throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1310nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+ }
+ break;
+ case "1550nm":
+ //鏌ヨ20鈩�(甯告俯)1550nm鐨勮“鍑忕郴鏁�
+ try {
+ insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, "1550nm")
+ .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+ } catch (Exception e) {
+ throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+ }
+ break;
+ case "1625nm":
+ //鏌ヨ20鈩�(甯告俯)1625nm鐨勮“鍑忕郴鏁�
+ try {
+ insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, "1625nm")
+ .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+ } catch (Exception e) {
+ throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1625nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+ }
+ break;
+ case "1383nm":
+ //鏌ヨ20鈩�(甯告俯)1383nm鐨勮“鍑忕郴鏁�
+ try {
+ insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, "1383nm")
+ .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+ } catch (Exception e) {
+ throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1383nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+ }
+ break;
+ case "1490nm":
+ //鏌ヨ20鈩�(甯告俯)1490nm鐨勮“鍑忕郴鏁�
+ try {
+ insPro = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "1")
+ .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+ .eq(InsProduct::getInspectionItemClass, "1490nm")
+ .eq(InsProduct::getInsFiberId, productVo.getInsProduct().getInsFiberId()));
+ } catch (Exception e) {
+ throw new ErrorException("娌℃湁鏌ュ埌20鈩�(甯告俯),1490nm椤圭洰" + productVo.getInsProduct().getInsFiberId() + "鍏夌氦鐨勬楠岄」鐩�");
+ }
+ break;
+ }
+ InsProductResult insProductRes = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insPro.getId()));
+ String[] split = insProductRes.getComValue().split(":");
+ double abs = Math.abs(Double.parseDouble(split[split.length-1].split("\"")[1]) - Double.parseDouble(comple));
+ BigDecimal scale = BigDecimal.valueOf(abs).setScale(3, RoundingMode.HALF_UP);
+ insProduct.setLastValue(String.valueOf(scale));
+ String ask = insProduct.getAsk();
+ int insResult = 1;
+ switch (ask.charAt(0)) {
+ case '<':
+ insResult = Double.parseDouble(insProduct.getLastValue()) < Double.parseDouble(ask.substring(1)) ? 1 : 0;
+ break;
+ case '>':
+ insResult = Double.parseDouble(insProduct.getLastValue()) > Double.parseDouble(ask.substring(1)) ? 1 : 0;
+ break;
+ case '=':
+ insResult = Double.parseDouble(insProduct.getLastValue()) == Double.parseDouble(ask.substring(1)) ? 1 : 0;
+ break;
+ case '鈮�':
+ insResult = Double.parseDouble(insProduct.getLastValue()) <= Double.parseDouble(ask.substring(1)) ? 1 : 0;
+ break;
+ case '鈮�':
+ insResult = Double.parseDouble(insProduct.getLastValue()) >= Double.parseDouble(ask.substring(1)) ? 1 : 0;
+ break;
+ }
+ insProduct.setInsResult(insResult);
+ }
+ } else {
+ //濡傛灉鏄�20搴﹀父娓�,闇�瑕佺粰鍑哄悎鏍肩殑缁撹
+ insProduct.setInsResult(1);//20搴﹀父娓╃殑妫�楠岄」榛樿涓哄悎鏍�
+ }
+ insProduct.setUpdateUser(userId);
+ insProductMapper.updateById(insProduct);
+ User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, master.getDetectionPeople()));
+ if (ObjectUtils.isEmpty(user)) {
+ throw new ErrorException("lims绯荤粺娌℃湁鎵惧埌璇ョ敤鎴�" + master.getDetectionPeople());
+ }
+ insProductUserMapper.insert(new InsProductUser(null, user.getId(), master.getDetectionDate(), insProduct.getId()));
+ }
+ }
+ }
+ }
+ //缁欐俯搴﹀惊鐜殑妫�楠岄」鐩粦瀹氳澶�
+ InsProduct product = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getState, 1)
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
+ if (ObjectUtils.isEmpty(product)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅璇ユ牱鍝佺殑鐩稿叧娓╁害寰幆妫�楠岄」鐩�");
+ }
+ InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, product.getId()));
+ if (ObjectUtils.isEmpty(insProductResult)) {
+ insProductResult = new InsProductResult();
+ insProductResult.setInsProductId(product.getId());
+ }
+ if (ObjectUtils.isEmpty(insProductResult.getEquipValue())) {
+ List<Map<String, Object>> dv = new ArrayList<>();
+ Map<String, Object> map4 = new HashMap<>();
+ map4.put("v", "JCZX-TX-TT02006");
+ dv.add(map4);
+ Map<String, Object> map5 = new HashMap<>();
+ map5.put("v", "JCZX-TX-TT02001");
+ dv.add(map5);
+ insProductResult.setEquipValue(JSON.toJSONString(dv));
+ List<Map<String, Object>> dn = new ArrayList<>();
+ Map<String, Object> map6 = new HashMap<>();
+ map6.put("v", "姝ュ叆寮忛珮浣庢俯婀跨儹璇曢獙绠�");
+ dn.add(map6);
+ Map<String, Object> map7 = new HashMap<>();
+ map7.put("v", "姝ュ叆寮忛珮浣庢俯璇曢獙绠�");
+ dn.add(map7);
+ insProductResult.setEquipName(JSON.toJSONString(dn));
+ if (BeanUtil.isEmpty(insProductResult.getId())) {
+ insProductResult.setCreateUser(userId);
+ insProductResult.setUpdateUser(userId);
+ insProductResultMapper.insert(insProductResult);
+ } else {
+ insProductResult.setUpdateUser(userId);
+ insProductResult.setUpdateTime(LocalDateTime.now());
+ insProductResultMapper.updateById(insProductResult);
+ }
+ }
+ }
+ //鏌ユ壘鏍峰搧涓嬭娆℃暟鐨勬俯搴︾殑椤圭洰
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getState, 1)
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .isNotNull(InsProduct::getInspectionItemClass));
+ // 杩囨护鍑哄綋鍓嶅惊鐜鏁� 鍜� 娓╁害鐨勬楠岄」鐩�
+ List<InsProduct> productList = insProducts.stream()
+ .filter(item -> item.getInspectionItem().equals(pkMaster.getCycles()) &&
+ item.getInspectionItemSubclass().equals(pkMaster.getTemperature()))
+ .collect(Collectors.toList());
+ // 宸ユ椂娣诲姞
+ int count = 0;
+ for(InsProduct insProduct1 : productList) {
+ // 鏌ヨinsProductResult鎷垮埌insValue鐨勬湁鍊肩殑涓暟
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct1.getId()));
+ if(!Objects.isNull(insProductResult)) {
+ // insProductResult涓嶄负绌�,鑾峰彇鏈夊�肩殑涓暟
+ insProductResult.getInsValue();
+ List<Map> maps = JSONArray.parseArray(insProductResult.getInsValue(), Map.class);
+ for (Map map : maps) {
+ if (Strings.isNotEmpty(map.get("v").toString())) {
+ count++;
+ break;
+ }
+ }
+ }
+ }
+ // 璇ュ崟瀛愪笅闄や簡褰撳墠娆℃暟浠ュ強娓╁害鏈夊�肩殑璁板綍
+ List<InsProduct> productList1 = insProducts.stream()
+ .filter(item -> !(item.getInspectionItem().equals(pkMaster.getCycles()) && item.getInspectionItemSubclass().equals(pkMaster.getTemperature())))
+ .collect(Collectors.toList());
+ int allValue = 0;
+ for(InsProduct insProduct1 : productList1) {
+ // 鏌ヨinsProductResult鎷垮埌insValue鐨勬湁鍊肩殑涓暟
+ InsProductResult insProductResult = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
+ .eq(InsProductResult::getInsProductId, insProduct1.getId()));
+ if(!Objects.isNull(insProductResult)) {
+ // insProductResult涓嶄负绌�,鑾峰彇鏈夊�肩殑涓暟
+ insProductResult.getInsValue();
+ List<Map> maps = JSONArray.parseArray(insProductResult.getInsValue(), Map.class);
+ for (Map map : maps) {
+ if (Strings.isNotEmpty(map.get("v").toString())) {
+ allValue++;
+ break;
+ }
+ }
+ }
+ }
+ Map<String, Boolean> map = isOvertimeAndCrossDay(userId);
+ Boolean isWithinRange = map.get("isWithinRange"); // 鏄惁姝e父涓婄彮
+ Boolean isCross = map.get("isCross"); // 鏄惁璺ㄥぉ
+ BigDecimal manHour = BigDecimal.ZERO; // 宸ユ椂
+ InsProduct insProduct = insProductMapper.selectOne(new LambdaQueryWrapper<InsProduct>().eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getInspectionItem, "娓╁害寰幆"));
+ StandardProductVO workHourMap = insOrderPlanServiceImpl.getInspectWorkHourAndGroup(insProduct);
+ if(ObjectUtil.isNotNull(workHourMap)){
+ manHour = new BigDecimal(workHourMap.getManHour());
+ }
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTime parse = DateUtil.parse(LocalDateTime.now().format(formatter));
+ AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
+ auxiliaryOutputWorkingHours.setInspectionItem("娓╁害寰幆"); // 妫�楠岄」鐩�
+ auxiliaryOutputWorkingHours.setInspectionItemSubclass(""); // 妫�楠岄」鐩瓙绫�
+ if(isWithinRange) {
+ // 姝e父涓婄彮
+ auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setAmount(count); // 闈炲姞鐝暟閲�
+ }else{
+ // 鍔犵彮
+ auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeAmount(count); // 闈炲姞鐝暟閲�
+ }
+ if(isCross) {
+ String date = LocalDateTime.now().minusDays(1).toLocalDate().atStartOfDay().format(formatters);// 鍓嶄竴澶�
+ auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
+ }else {
+ String date = LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters);// 褰撳ぉ
+ auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
+ }
+ auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,count))); // 浜у嚭宸ユ椂
+ auxiliaryOutputWorkingHours.setWeekDay(insOrderPlanServiceImpl.getWeek(LocalDateTime.now().format(formatters)));//鏄熸湡
+ auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+ auxiliaryOutputWorkingHours.setSample(insSample.getSampleCode());//鏍峰搧缂栧彿
+ auxiliaryOutputWorkingHours.setManHourGroup(workHourMap.getManHourGroup());//宸ユ椂鍒嗙粍
+ // 鏌ヨ闇�瑕佹搷浣滅殑鏃ユ湡鏄惁鏈夎褰�
+ List<AuxiliaryOutputWorkingHours> oldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
+ .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
+ .and(i->i.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
+ .or()
+ .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode()))
+ .eq(AuxiliaryOutputWorkingHours::getDateTime, auxiliaryOutputWorkingHours.getDateTime())
+ );
+ // 鎵�鏈夌殑璁板綍锛堝叾浠栧ぉ + 褰撳墠澶╋級
+ List<AuxiliaryOutputWorkingHours> addOldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+ .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
+ .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
+ .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
+ .and(i->i.eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
+ .or()
+ .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode()))
+ );
+ if(CollectionUtils.isEmpty(oldRecords)){
+ // 鏂板涔熻鏌ョ湅鏄惁鏈夋墍鏈夌殑璁板綍
+ if(Objects.isNull(addOldRecords)) {
+ // 鍏朵粬澶╀篃娌℃湁璁板綍
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ }else{
+ // 鎵�鏈夌殑璁板綍
+ int otherDayAmount = 0; // 鎵�鏈夌殑鏁伴噺
+ for(AuxiliaryOutputWorkingHours a : addOldRecords) {
+ otherDayAmount += (Objects.isNull(a.getAmount()) ? 0 : a.getAmount()) + (Objects.isNull(a.getOvertimeAmount()) ? 0 : a.getOvertimeAmount());
+ }
+ if(isWithinRange) {
+ // 姝e父涓婄彮
+
+ auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
+ }else {
+ // 鍔犵彮
+ auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+ auxiliaryOutputWorkingHours.setOvertimeAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
+ }
+ auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 浜у嚭宸ユ椂
+ auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+ }
+ }else {
+ // 涓嶄负绌�
+ Integer oldAmount = 0; // 宸ユ椂娣诲姞鐨勪釜鏁�
+ for(AuxiliaryOutputWorkingHours a : addOldRecords) {
+ oldAmount += (Objects.isNull(a.getAmount()) ? 0 : a.getAmount()) + (Objects.isNull(a.getOvertimeAmount()) ? 0 : a.getOvertimeAmount());
+ }
+ if(count > (oldAmount - allValue)){
+ // 鏌ユ壘鍑烘棩鏈熶负寰楀埌鏃ユ湡鐨勮褰�
+ List<AuxiliaryOutputWorkingHours> collect = oldRecords.stream().filter(item -> item.getDateTime().equals(auxiliaryOutputWorkingHours.getDateTime())).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(collect)){
+ // 鏈夌殑璇濆氨鏄洿鏂版搷浣�
+ AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours1 = collect.get(0);
+ if(isWithinRange) {
+ // 姝e父涓婄彮
+ // 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
+ int num = Objects.isNull(auxiliaryOutputWorkingHours1.getAmount()) ? 0 :auxiliaryOutputWorkingHours1.getAmount(); // 鍘熸湰鐨勬暟閲�
+ auxiliaryOutputWorkingHours1.setAmount(count - oldAmount + num + allValue); // 闈炲姞鐝暟閲�
+ auxiliaryOutputWorkingHours1.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
+ auxiliaryOutputWorkingHours1.setWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
+ BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getAmount())).add((Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getOvertimeWorkTime()));
+ auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime);// 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+ }else{
+ // 鍔犵彮
+ // 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
+ int num = Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeAmount()) ? 0 :auxiliaryOutputWorkingHours1.getOvertimeAmount(); // 鍘熸湰鐨勬暟閲�
+ auxiliaryOutputWorkingHours1.setOvertimeAmount(count - oldAmount + num + allValue);// 鍔犵彮鏁伴噺
+ auxiliaryOutputWorkingHours1.setOvertimeOrderNo(insOrder.getEntrustCode()); // 鍔犵彮濮旀墭鍗曞彿
+ auxiliaryOutputWorkingHours1.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
+ BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getOvertimeAmount())).add(
+ (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getWorkTime()));
+ auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+ }
+ auxiliaryOutputWorkingHoursMapper.updateById(auxiliaryOutputWorkingHours1);
+ }
+ }
+ }
+
+
+
+ return 0;
+ }
+
+ //娓╁害寰幆鏁伴噰鎬讳綋
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int temDataAcquisition2(PkMaster pkMaster) {
+ //鏌ヨ鍑烘墍鏈夊惊鐜鏁板拰娓╁害,鐒跺悗寰幆璋冪敤temDataAcquisition鎺ュ彛
+ //鏌ヨ瀵瑰簲鐨勬楠屽崟琛�
+ InsOrder insOrder = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).eq(InsOrder::getEntrustCode, pkMaster.getEntrustCode()));
+ if (ObjectUtils.isEmpty(insOrder)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗�" + pkMaster.getEntrustCode());
+ }
+ //鏌ヨ瀵瑰簲妫�楠屾牱鍝乮d
+ InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+ .eq(InsSample::getInsOrderId, insOrder.getId())
+ .eq(InsSample::getSampleCode, pkMaster.getSampleCode())
+ .eq(InsSample::getModel, pkMaster.getModel()));
+ if (ObjectUtils.isEmpty(insSample)) {
+ throw new ErrorException("娌℃湁鎵惧埌瀵瑰簲濮旀墭鍗曚笅鐨勮鏍峰搧" + pkMaster.getSampleCode());
+ }
+ //鏌ユ壘鏍峰搧涓嬫墍鏈夋俯搴﹀惊鐜殑椤圭洰
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getState, 1)
+ .isNotNull(InsProduct::getSpecialItemParentId)
+ .isNotNull(InsProduct::getInspectionItemClass));
+ //杩囨护鍑烘墍鏈夊惊鐜鏁板拰娓╁害
+ List<String> collect1 = insProducts.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.toList());
+ List<String> collect2 = insProducts.stream().map(InsProduct::getInspectionItemSubclass).distinct().collect(Collectors.toList());
+ for (String s : collect1) {
+ for (String s1 : collect2) {
+ PkMaster master = new PkMaster();
+ master.setEntrustCode(pkMaster.getEntrustCode());
+ master.setSampleCode(pkMaster.getSampleCode());
+ master.setModel(pkMaster.getModel());
+ master.setCycles(s);
+ master.setTemperature(s1);
+ temDataAcquisition(master);
+ }
+ }
+ return 0;
+ }
+
+ /**
+ * 鏄惁鍔犵彮銆佽法澶�
+ */
+ public Map<String,Boolean> isOvertimeAndCrossDay(Integer userId){
+ Map<String, Boolean> map = new HashMap<>();
+ Boolean isWithinRange = true;
+ Boolean isCross = false; // 鏄惁灏嗗綋鍓嶆楠屽崟瀛愮殑宸ユ椂璁$畻鍒扮彮娆″紑濮嬪ぉ
+ LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
+ PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, today));
+ if (ObjectUtils.isNotEmpty(performanceShift)) {
+ ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
+ if (ObjectUtils.isNotEmpty(shiftTime)) {
+ DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
+ LocalTime now = LocalTime.now();
+ LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
+ LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
+ // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+
+ // 濡傛灉褰撳墠鏃堕棿涓嶅湪浠婂ぉ鐨勭彮娆″唴 17:00~5.00 15.00 棣栧厛鍒ゆ柇鏄惁璺ㄥぉ浜�
+ // 璺ㄥぉ鐨勬儏鍐�
+ if (startTime.isAfter(endTime)) {
+ // 鏌ョ湅褰撳墠鏃堕棿鏄惁鍦ㄧ彮娆℃椂闂村唴
+ if (now.isAfter(startTime)) {
+ // 濡傛灉鏄湪缁撴潫鏃堕棿涔嬪悗閭d箞灏辨槸姝e父涓婄彮
+ isWithinRange = true;
+ isCross = false;
+ } else {
+ // 褰撳墠鏃堕棿涓嶅湪鐝鍐咃紝鏌ョ湅鏄ㄥぉ鐨勭彮娆�
+ LocalDateTime yesterday = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIDNIGHT);
+ PerformanceShift yesterdayShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, yesterday));
+ ShiftTime yesterdayShiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, yesterdayShift.getShift()));
+ // 濡傛灉鏄ㄥぉ鐨勭彮娆′笉涓虹┖锛岄偅涔堝氨瑕佺湅鏄ㄥぉ鐨勭彮娆℃椂闂�
+ if (!Objects.isNull(yesterdayShiftTime)) {
+ LocalTime yesterdayStartTime = LocalTime.parse(yesterdayShiftTime.getStartTime(), forma);
+ LocalTime yesterdayEndTime = LocalTime.parse(yesterdayShiftTime.getEndTime(), forma);
+ // 鏄ㄥぉ鐨勭彮娆℃槸鍚﹁法澶�
+ if (yesterdayStartTime.isAfter(yesterdayEndTime)) {
+ // 濡傛灉鏄ㄥぉ鐨勭彮娆¤法澶╀簡锛岄偅涔堝氨瑕佺湅浠婂ぉ鏄惁鍦ㄦ槰澶╃殑鐝鍐咃紝骞朵笖鍙兘鏄湪缁撴潫鏃堕棿涔嬪墠锛屽凡缁忓疄鐜颁簡璺ㄥぉ
+ if (now.isBefore(yesterdayEndTime)) {
+ // 鍦ㄦ槰澶╃彮娆℃椂闂村唴姝e父涓婄彮锛屽伐鏃惰绠楀埌鏄ㄥぉ
+ isWithinRange = true;
+ isCross = true;
+ } else {
+ // 涓嶅湪鏄ㄥぉ鐝鏃堕棿鍐呭氨鏄姞鐝紝宸ユ椂璁$畻鍒版槰澶�
+ isWithinRange = false;
+ isCross = true;
+ }
+ } else {
+ // 鏄ㄥぉ鐨勭彮娆℃病鏈夎法澶� 濡傛灉褰撳墠鏃堕棿鍦ㄤ粖澶╃彮娆″紑濮嬫椂闂翠箣鍓嶅氨鏄槰澶╃殑鍔犵彮锛屽惁鍒欏氨鏄粖澶╃殑鍔犵彮
+ if (now.isBefore(startTime)) {
+ isWithinRange = false;
+ isCross = true;
+ } else {
+ isWithinRange = false;
+ isCross = false;
+ }
+ }
+ } else {
+ isWithinRange = false;
+ // 濡傛灉鏄湪寮�濮嬫椂闂翠箣鍓嶉偅涔堝氨瑕佺畻鍒版槰澶�
+ if (now.isBefore(startTime)) {
+ isCross = true;
+ } else {
+ isCross = false;
+ }
+ }
+ }
+ } else {
+ // 褰撳墠鐝涓嶈法澶╃殑鎯呭喌涓�
+ // 濡傛灉褰撳墠鏃堕棿鍦ㄥ紑濮嬫椂闂翠箣鍓嶏紝鏌ユ槰澶╃殑鐝鐪嬪綋鍓嶆椂闂存槸鍚﹀湪鏄ㄥぉ鐨勭彮娆″唴
+ if (now.isBefore(startTime)) {
+ // 鏌ョ湅鏄ㄥぉ鏄惁璺ㄥぉ
+ LocalDateTime yesterday = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.MIDNIGHT);
+ PerformanceShift yesterdayShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+ .eq(PerformanceShift::getUserId, userId)
+ .eq(PerformanceShift::getWorkTime, yesterday));
+ ShiftTime yesterdayShiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, yesterdayShift.getShift()));
+ LocalTime yesterdayStartTime = LocalTime.parse(yesterdayShiftTime.getStartTime(), forma);
+ LocalTime yesterdayEndTime = LocalTime.parse(yesterdayShiftTime.getEndTime(), forma);
+ if (yesterdayStartTime.isAfter(yesterdayEndTime)) {
+ // 濡傛灉鏄ㄥぉ璺ㄥぉ
+ if (now.isBefore(yesterdayEndTime)) {
+ // 鍦ㄦ槰澶╃殑鐝鏃堕棿鍐呮甯镐笂鐝紝宸ユ椂璁$畻鍒版槰澶�
+ isWithinRange = true;
+ isCross = true;
+ } else {
+ // 涓嶅湪鏄ㄥぉ鐝鏃堕棿鍐呭氨鏄姞鐝紝宸ユ椂璁$畻鍒版槰澶�
+ isWithinRange = false;
+ isCross = true;
+ }
+ } else {
+ // 鏄ㄥぉ涓嶈法澶�
+ isWithinRange = false;
+ isCross = true;
+ }
+ } else if (now.isAfter(endTime)) {
+ // 濡傛灉褰撳墠鏃堕棿鍦ㄧ粨鏉熸椂闂翠箣鍚庯紝閭d箞灏辨槸浠婂ぉ鐨勫姞鐝�
+ isWithinRange = false;
+ isCross = false;
+ } else {
+ // 姝e父涓婄彮
+ isWithinRange = true;
+ isCross = false;
+ }
+ }
+ }
+ }
+ map.put("isWithinRange",isWithinRange);
+ map.put("isCross",isCross);
+ return map;
+ }
+
+ /**
+ * 绮惧害闂
+ */
+ public double accuracy(BigDecimal manHour, int count){
+ return manHour.multiply(BigDecimal.valueOf(count)).setScale(4, RoundingMode.HALF_UP).doubleValue();
+ }
+
+}
+
+
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesConsumablesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
new file mode 100644
index 0000000..deeb125
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
@@ -0,0 +1,14 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.ProcurementSuppliesConsumablesMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.require.service.ProcurementSuppliesConsumablesService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesConsumablesServiceImpl extends ServiceImpl<ProcurementSuppliesConsumablesMapper, ProcurementSuppliesConsumables>
+ implements ProcurementSuppliesConsumablesService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
new file mode 100644
index 0000000..634d4c7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.require.mapper.ProcurementSuppliesContentsMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+import com.ruoyi.require.service.ProcurementSuppliesContentsService;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesContentsServiceImpl extends ServiceImpl<ProcurementSuppliesContentsMapper, ProcurementSuppliesContents>
+ implements ProcurementSuppliesContentsService {
+
+ private UserMapper userMapper;
+
+ @Override
+ public List<ProcurementSuppliesContents> directoryListing() {
+ ArrayList<ProcurementSuppliesContents> list = new ArrayList<>();
+ // 鏌ュ嚭涓�绾х洰褰�
+ List<ProcurementSuppliesContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .isNull(ProcurementSuppliesContents::getParentId));
+
+ // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+ List<ProcurementSuppliesContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+ .isNotNull(ProcurementSuppliesContents::getParentId));
+ if(firstLevel.size() > 0){
+ Map<Integer, List<ProcurementSuppliesContents>> collect = seconds.stream()
+ .collect(Collectors.groupingBy(ProcurementSuppliesContents::getParentId));
+ // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+ for (int i = 0; i < firstLevel.size(); i++) {
+ recursion(firstLevel.get(i),collect);
+ list.add(firstLevel.get(i));
+ }
+ }
+ return list;
+ }
+
+ // 閫掑綊璧嬪�糲hildren
+ public ProcurementSuppliesContents recursion(ProcurementSuppliesContents firstLevel, Map<Integer, List<ProcurementSuppliesContents>> collect) {
+ // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+ if(collect.containsKey(firstLevel.getId())) {
+ List<ProcurementSuppliesContents> procurementSupplies = collect.get(firstLevel.getId());
+ firstLevel.setChildren(procurementSupplies);
+ for (int i = 0; i < procurementSupplies.size(); i++) {
+ recursion(procurementSupplies.get(i),collect);
+ }
+ }
+ return firstLevel;
+ }
+
+ @Override
+ public List<Map<String, Object>> getNodeNames() {
+ List<ProcurementSuppliesContents> procurementSuppliesContents = baseMapper.selectList(null);
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(procurementSuppliesContents.size() > 0) {
+ collect = procurementSuppliesContents.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getNodeName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+
+ @Override
+ public List<Map<String, Object>> getUserList() {
+ // 1 鍋滅敤
+ List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getStatus, 0));
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(users.size() > 0) {
+ collect = users.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesExpendsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesExpendsServiceImpl.java
new file mode 100644
index 0000000..2f7884d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesExpendsServiceImpl.java
@@ -0,0 +1,74 @@
+package com.ruoyi.require.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.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.dto.ProcurementSuppliesExpendDto;
+import com.ruoyi.require.mapper.ProcurementSuppliesExpendsMapper;
+import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesExpends;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.service.ProcurementSuppliesExpendsService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 03:47:19
+ */
+@Service
+public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl<ProcurementSuppliesExpendsMapper, ProcurementSuppliesExpends> implements ProcurementSuppliesExpendsService {
+ @Resource
+ private ProcurementSuppliesExpendsMapper expendsMapper;
+
+ @Resource
+ private ProcurementSuppliesListMapper listMapper;
+
+ @Override
+ public IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId) {
+ IPage<ProcurementSuppliesExpendDto> list = expendsMapper.pageList(page, Wrappers.<ProcurementSuppliesExpendDto>lambdaQuery().eq(ProcurementSuppliesExpendDto::getListId, procurementSuppliesListId));
+ return list;
+ }
+
+ @Override
+ @Transactional
+ public Integer addExpends(ProcurementSuppliesExpendDto expendDto) {
+ ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expendDto.getListId());
+
+ ProcurementSuppliesExpends expends = new ProcurementSuppliesExpends();
+ BeanUtils.copyProperties(expendDto, expends);
+ int userId = SecurityUtils.getUserId().intValue();
+ expends.setEnterUserId(userId);
+ expends.setUpdateUserId(userId);
+ expends.setSpecimenName(expendDto.getSpecimenName());
+ if (list.getCurrentAmount() < expendDto.getAmount()) {
+ return 0;
+ }
+
+ list.setCurrentAmount(list.getCurrentAmount() - expendDto.getAmount());
+
+ listMapper.updateById(list);
+ return expendsMapper.insert(expends);
+ }
+
+ @Override
+ @Transactional
+ public Integer deleteExpends(Long id) {
+ ProcurementSuppliesExpends expend = expendsMapper.selectById(id);
+ ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expend.getListId());
+ list.setCurrentAmount(list.getCurrentAmount() + expend.getAmount());
+ int userId = SecurityUtils.getUserId().intValue();
+ list.setUpdateUser(userId);
+ listMapper.updateById(list);
+ return expendsMapper.deleteById(id);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java
new file mode 100644
index 0000000..379c448
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java
@@ -0,0 +1,120 @@
+package com.ruoyi.require.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+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.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.dto.ProcurementSuppliesListEDto;
+import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.service.ProcurementSuppliesListService;
+import com.ruoyi.system.mapper.UserMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Service
+public class ProcurementSuppliesListServiceImpl extends ServiceImpl<ProcurementSuppliesListMapper, ProcurementSuppliesList> implements ProcurementSuppliesListService {
+ @Autowired
+ private UserMapper userMapper;
+
+ @Resource
+ private ProcurementSuppliesListMapper procurementSuppliesListMapper;
+
+ @Override
+ public IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list) {
+ Long contentsId = list.getContentsId();
+ list.setContentsId(null);
+ IPage<ProcurementSuppliesList> iPage = baseMapper.selectProcurementSuppliesList(page,contentsId, QueryWrappers.queryWrappers(list));
+ IPage<ProcurementSuppliesListDto> result = new Page<>();
+ List<ProcurementSuppliesListDto> dtos = new ArrayList<>();
+ BeanUtils.copyProperties(iPage, result);
+ for (int i = 0; i < iPage.getRecords().size(); i++) {
+ ProcurementSuppliesList record = iPage.getRecords().get(i);
+ ProcurementSuppliesListDto dto = new ProcurementSuppliesListDto();
+ BeanUtils.copyProperties(record, dto);
+ if (record.getPersonInCharge() != 0) {
+ User user = userMapper.selectById(record.getPersonInCharge());
+ dto.setPersonInChargeName(user.getName());
+ }
+ if (record.getUpdateUser() != 0) {
+ User updateUser = userMapper.selectById(record.getUpdateUser());
+ dto.setUpdateUserName(updateUser.getName());
+ }
+ //鑰楁潗鍚嶇О
+ dto.setSupplierName(record.getConsumablesName());
+
+ dtos.add(dto);
+ }
+ result.setRecords(dtos);
+
+ return result;
+ }
+
+ @Override
+ public Integer addProcurementSuppliesList(ProcurementSuppliesListDto dto) {
+ ProcurementSuppliesList list = new ProcurementSuppliesList();
+ BeanUtils.copyProperties(dto, list);
+ return baseMapper.insert(list);
+ }
+
+ @Override
+ public Integer updateProcurementSuppliesList(ProcurementSuppliesListDto dto) {
+ ProcurementSuppliesList list = new ProcurementSuppliesList();
+ BeanUtils.copyProperties(dto, list);
+ return baseMapper.updateById(list);
+ }
+
+ @Override
+ public void exportProcurementSuppliesList(Integer contentsId,HttpServletResponse response) {
+ List<ProcurementSuppliesList> data = procurementSuppliesListMapper.selectProcurementSuppliesListByContentsId(contentsId);
+ if (contentsId==0){
+ data = procurementSuppliesListMapper.selectList(null);
+ }
+ if (data.size()==0) {
+ throw new ErrorException("鏃犳暟鎹�");
+ }
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("鑰楁潗鍒楄〃", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍒楄〃").head(ProcurementSuppliesListEDto.class).build();
+ excelWriter.write(data, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new ErrorException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new ErrorException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesStoreServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesStoreServiceImpl.java
new file mode 100644
index 0000000..15cb3c0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesStoreServiceImpl.java
@@ -0,0 +1,141 @@
+package com.ruoyi.require.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.require.dto.StoreDto;
+import com.ruoyi.require.excel.StoreExcel;
+import com.ruoyi.require.mapper.ProcurementSuppliesConsumablesMapper;
+import com.ruoyi.require.mapper.ProcurementSuppliesStoreMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesConsumables;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.pojo.ProcurementSuppliesStore;
+import com.ruoyi.require.service.ProcurementSuppliesListService;
+import com.ruoyi.require.service.ProcurementSuppliesStoreService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesStoreServiceImpl extends ServiceImpl<ProcurementSuppliesStoreMapper, ProcurementSuppliesStore>
+ implements ProcurementSuppliesStoreService {
+
+ private ProcurementSuppliesConsumablesMapper consumablesMapper;
+
+ @Autowired
+ private ProcurementSuppliesListService procurementSuppliesListService;
+
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void addStore(Map<String,Object> map) {
+ ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
+ procurementSuppliesStore.setRegistrant(SecurityUtils.getUserId().intValue());
+ procurementSuppliesStore.setRegistrantTime(LocalDate.now());
+ if (Objects.isNull(procurementSuppliesStore.getId())) {
+ baseMapper.insert(procurementSuppliesStore);
+ } else {
+ baseMapper.updateById(procurementSuppliesStore);
+ }
+
+ List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
+ for (ProcurementSuppliesConsumables consumables : list) {
+ ProcurementSuppliesList one = procurementSuppliesListService.getOne(new QueryWrapper<ProcurementSuppliesList>().lambda()
+ .eq(ProcurementSuppliesList::getConsumablesName, consumables.getConsumablesName()));
+ one.setCurrentAmount(one.getCurrentAmount() + consumables.getStoreNumber());
+ procurementSuppliesListService.updateById(one);
+ }
+ // 鐢熸垚璐у彿
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+ if(!Objects.isNull(list) && list.size() > 0) {
+ for (int i = 0; i < list.size(); i++) {
+ list.get(i).setStoreId(procurementSuppliesStore.getId());
+ String itemNumber ="HCRK" + LocalDate.now().format(dateTimeFormatter) + String.format("%03d", i);
+ list.get(i).setItemNumber(itemNumber);
+ consumablesMapper.insert(list.get(i));
+ }
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateStore(Map<String,Object> map) {
+ ProcurementSuppliesStore procurementSuppliesStore = JSONObject.parseObject(JSONObject.toJSONString(map.get("store")), ProcurementSuppliesStore.class);
+ baseMapper.updateById(procurementSuppliesStore);
+ List<ProcurementSuppliesConsumables> list = JSON.parseArray(JSONObject.toJSONString(map.get("consumables")), ProcurementSuppliesConsumables.class);
+ consumablesMapper.delete(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, procurementSuppliesStore.getId()));
+ if(!Objects.isNull(list) && list.size() > 0) {
+ for (int i = 0; i < list.size(); i++) {
+ list.get(i).setId(null);
+ list.get(i).setStoreId(procurementSuppliesStore.getId());
+ consumablesMapper.insert(list.get(i));
+ }
+ }
+ }
+
+ @Override
+ public void deleteStore(Integer id, Integer consumablesId) {
+ consumablesMapper.deleteById(consumablesId);
+ List<ProcurementSuppliesConsumables> consumables = consumablesMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesConsumables>()
+ .eq(ProcurementSuppliesConsumables::getStoreId, id));
+ // 鍒ゆ柇鏄惁杩樻湁鑰楁潗 娌℃湁灏卞皢涓昏〃Store鍒犻櫎
+ if(CollectionUtils.isEmpty(consumables)) {
+ baseMapper.deleteById(id);
+ }
+ }
+
+ @Override
+ public IPage<StoreDto> selectStoreList(Page page, StoreDto storeDto) {
+ IPage<StoreDto> iPage = baseMapper.selectStoreList(page, QueryWrappers.queryWrappers(storeDto));
+ return iPage;
+ }
+
+ /**
+ * 瀵煎嚭excel
+ * @param contentsId
+ * @param response
+ */
+ @Override
+ public void exportExcel(Integer contentsId, HttpServletResponse response) throws IOException {
+ List<StoreExcel> storeExcels = baseMapper.exportExcel(contentsId);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ String fileName = null;
+ try {
+ fileName = URLEncoder.encode("鑰楁潗鍏ュ簱", "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "鑰楁潗鍏ュ簱").head(StoreExcel.class).build();
+ excelWriter.write(storeExcels, writeSheet);
+ excelWriter.finish();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/QrShowServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/QrShowServiceImpl.java
new file mode 100644
index 0000000..f387f64
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/QrShowServiceImpl.java
@@ -0,0 +1,269 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.basic.service.ProductService;
+import com.ruoyi.common.core.domain.entity.Custom;
+import com.ruoyi.inspect.mapper.InsOrderMapper;
+import com.ruoyi.inspect.mapper.InsProductMapper;
+import com.ruoyi.inspect.mapper.InsSampleMapper;
+import com.ruoyi.inspect.pojo.InsOrder;
+import com.ruoyi.inspect.pojo.InsProduct;
+import com.ruoyi.inspect.pojo.InsSample;
+import com.ruoyi.inspect.service.InsOrderService;
+import com.ruoyi.require.mapper.DeviceMaintenanceMapper;
+import com.ruoyi.require.mapper.DeviceMapper;
+import com.ruoyi.require.mapper.DeviceMetricRecordMapper;
+import com.ruoyi.require.pojo.Device;
+import com.ruoyi.require.pojo.DeviceMaintenance;
+import com.ruoyi.require.pojo.DeviceMetricRecord;
+import com.ruoyi.require.service.QrShowService;
+import com.ruoyi.system.service.CustomService;
+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.*;
+import java.util.stream.Collectors;
+
+@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;
+
+ @Autowired
+ private InsSampleMapper insSampleMapper;
+
+ @Autowired
+ private InsProductMapper insProductMapper;
+
+ @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":
+ //鏌ヨ璁惧涓昏〃淇℃伅
+ List<Device> deviceList = deviceMapper.selectList(Wrappers.<Device>lambdaQuery().eq(Device::getManagementNumber, code));
+ if(deviceList.size()>1){
+ throw new RuntimeException("璁惧缂栧彿"+code+"閲嶅");
+ }
+ Device device = deviceList.isEmpty()?null:deviceList.get(0);
+ 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.getFileName());
+ model.addAttribute("downloadUrl",getIp()+"img/"+calibrate.getSystemFileName());
+ }
+ break;
+ case "sample":
+ // 鏌ヨ鏍峰搧淇℃伅
+ InsSample insSample = insSampleMapper.selectById(code);
+ InsOrder insOrder1 = insOrderMapper.selectById(insSample.getInsOrderId());
+ List<InsProduct> insProducts = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+ .eq(InsProduct::getInsSampleId, insSample.getId()));
+ String collect = "";
+ if(CollectionUtils.isNotEmpty(insProducts)){
+// collect = insProducts.stream().map(item -> {
+// String inspectionItem = "";
+// if (Strings.isNotEmpty(item.getInspectionItemSubclass())) {
+// inspectionItem = item.getInspectionItemSubclass();
+// } else {
+// inspectionItem = item.getInspectionItem();
+// }
+// return inspectionItem;
+// }).distinct().collect(Collectors.joining(","));
+ collect = insProducts.stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.joining(","));
+ }
+ model.addAttribute("sampleCode",insSample.getSampleCode()); // 鏍峰搧缂栧彿
+ model.addAttribute("entrustCode",insOrder1.getEntrustCode()); // 濮旀墭鍗曞彿
+ model.addAttribute("model",insSample.getModel()); // 瑙勬牸鍨嬪彿
+ model.addAttribute("sample",insSample.getSample()); // 鏍峰搧鍚嶇О
+ model.addAttribute("inspectionItem",collect); // 妫�娴嬮」鐩�
+ model.addAttribute("insState",insSample.getInsState()); // 妫�娴嬬姸鎬�
+ model.addAttribute("isLeave",insOrder1.getIsLeave()); // 鏄惁鐣欐牱
+ }
+ }
+ }
+
+ /**
+ * 璁$畻鍚敤鏃堕暱
+ * @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-require/src/main/java/com/ruoyi/require/service/impl/ReservationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ReservationServiceImpl.java
new file mode 100644
index 0000000..36a4b13
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ReservationServiceImpl.java
@@ -0,0 +1,110 @@
+package com.ruoyi.require.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.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.require.dto.DeviceDto;
+import com.ruoyi.require.dto.ReservationDto;
+import com.ruoyi.require.mapper.DeviceMapper;
+import com.ruoyi.require.mapper.ReservationMapper;
+import com.ruoyi.require.pojo.Reservation;
+import com.ruoyi.require.service.DataConfigService;
+import com.ruoyi.require.service.ReservationService;
+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 DeviceMapper deviceMapper;
+
+ @Autowired
+ private ReservationMapper reservationMapper;
+
+ @Autowired
+ private DataConfigService dataConfigService;
+
+ @Override
+ public ArrayList<JSONObject> 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<>();
+ 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);
+ }
+ }
+ return datas;
+ }
+
+
+ @Override
+ public List<ReservationDto> selectReservationParameterPage(String deviceId, String reservationTime, String specificTime) {
+ return reservationMapper.selectReservationParameterPage(Integer.parseInt(deviceId), reservationTime, specificTime);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java
new file mode 100644
index 0000000..1eaaf09
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.require.dto.SupplierManagementDto;
+import com.ruoyi.require.mapper.SupplierManagementMapper;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.service.SupplierManagementService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 02:46:45
+ */
+@Service
+public class SupplierManagementServiceImpl extends ServiceImpl<SupplierManagementMapper, SupplierManagement> implements SupplierManagementService {
+
+ @Resource
+ private SupplierManagementMapper supplierManagementMapper;
+
+ public SupplierManagementServiceImpl(SupplierManagementMapper supplierManagementMapper) {
+ this.supplierManagementMapper = supplierManagementMapper;
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagement( SupplierManagement supplierManagement) {
+ return this.list();
+ }
+
+ @Override
+ public void exportSupplierManagement(Integer parentId, HttpServletResponse response) {
+ List<SupplierManagement> data = supplierManagementMapper.selectSupplierManagementAll(parentId);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
+ try {
+ String fileName = URLEncoder.encode("渚涘簲鍟嗙鐞�", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ // 鏂板缓ExcelWriter
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet(0, "渚涘簲鍟嗙鐞�").head(SupplierManagementDto.class).build();
+ excelWriter.write(data, writeSheet);
+ // 鍏抽棴娴�
+ excelWriter.finish();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+
+ @Override
+ public IPage<SupplierManagement> selectQualifiedSupplierManagement(Page page, SupplierManagement supplierManagement) {
+ return baseMapper.selectQualifiedSupplierManagement(page, QueryWrappers.queryWrappers(supplierManagement));
+ }
+
+ @Override
+ public List<SupplierManagement> selectQualifiedSupplierManagementById(Integer supplierManagementId) {
+ return this.list(new QueryWrapper<SupplierManagement>().lambda().eq(SupplierManagement::getSupplierManagementId , supplierManagementId));
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagementByParentId(Integer parentId) {
+ return supplierManagementMapper.selectSupplierManagement(parentId);
+ }
+
+ @Override
+ public List<SupplierManagement> selectSupplierManagementAll() {
+ return supplierManagementMapper.selectList(null);
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java
new file mode 100644
index 0000000..ce0bde8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java
@@ -0,0 +1,76 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.SuppliersDirectoryContentsMapper;
+import com.ruoyi.require.pojo.SuppliersDirectoryContents;
+import com.ruoyi.require.service.SuppliersDirectoryContentsService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-12-17 06:14:51
+ */
+@Service
+public class SuppliersDirectoryContentsServiceImpl extends ServiceImpl<SuppliersDirectoryContentsMapper, SuppliersDirectoryContents> implements SuppliersDirectoryContentsService {
+
+ @Override
+ public ArrayList<SuppliersDirectoryContents> directoryListing() {
+ ArrayList<SuppliersDirectoryContents> list = new ArrayList<>();
+ // 鏌ュ嚭涓�绾х洰褰�
+ List<SuppliersDirectoryContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .isNull(SuppliersDirectoryContents::getParentId));
+
+ // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+ List<SuppliersDirectoryContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+ .isNotNull(SuppliersDirectoryContents::getParentId));
+ if(firstLevel.size() > 0){
+ Map<Integer, List<SuppliersDirectoryContents>> collect = seconds.stream()
+ .collect(Collectors.groupingBy(SuppliersDirectoryContents::getParentId));
+ // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+ for (int i = 0; i < firstLevel.size(); i++) {
+ recursion(firstLevel.get(i),collect);
+ list.add(firstLevel.get(i));
+ }
+ }
+ return list;
+ }
+
+ @Override
+ public List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames() {
+ List<SuppliersDirectoryContents> procurementSuppliesContents = baseMapper.selectList(null);
+ List<Map<String, Object>> collect = new ArrayList<>();
+ if(procurementSuppliesContents.size() > 0) {
+ collect = procurementSuppliesContents.stream().map(item -> {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("id", item.getId());
+ map.put("nodeName", item.getNodeName());
+ return map;
+ }).collect(Collectors.toList());
+ }
+ return collect;
+ }
+
+
+ public SuppliersDirectoryContents recursion(SuppliersDirectoryContents firstLevel, Map<Integer, List<SuppliersDirectoryContents>> collect) {
+ // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+ if(collect.containsKey(firstLevel.getId())) {
+ List<SuppliersDirectoryContents> procurementSupplies = collect.get(firstLevel.getId());
+ firstLevel.setChildren(procurementSupplies);
+ for (int i = 0; i < procurementSupplies.size(); i++) {
+ recursion(procurementSupplies.get(i),collect);
+ }
+ }
+ return firstLevel;
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/util/DataAcquisition.java b/cnas-require/src/main/java/com/ruoyi/require/util/DataAcquisition.java
new file mode 100644
index 0000000..644d875
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/util/DataAcquisition.java
@@ -0,0 +1,792 @@
+package com.ruoyi.require.util;
+
+import cn.hutool.core.io.IORuntimeException;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.framework.util.RedisUtil;
+import com.ruoyi.require.pojo.DataConfig;
+import com.ruoyi.require.pojo.Device;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+public class DataAcquisition {
+
+ private static final String HTTP = "http://";
+
+ private static final String GETFILE = ":9527/lims/getFile"; // 鑾峰彇鏂囦欢鎺ュ彛
+
+ private static final String MOVEFILE = ":9527/lims/moveFile"; // 鏂囦欢绉诲姩鍦板潃
+
+ private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑鍒嗗壊绗�
+
+ public static final String frequency = "frequency";
+
+ /**
+ * 鏁伴噰鍏ュ彛
+ *
+ * @param dataConfig
+ * @param device
+ * @return
+ */
+ public static Map<String, Object> dataAcquisitionEntrance(List<DataConfig> dataConfig, Device device, String entrustCode, String sampleCode, String ip, String fiberOpticRibbon) {
+ /**
+ * filePath 鏂囦欢閲囬泦璺緞
+ * fileExtension 鏂囦欢鍚庣紑
+ * entrustCode 濮旀墭缂栧彿鏁版嵁
+ * sampleCode 鏍峰搧缂栧彿鏁版嵁
+ * mdbEntrustCode mdb鏂囦欢闇�瑕侊細濮旀墭缂栧彿瀛楁 涓轰粈涔堟病鏈夊幓杩欎釜mdb鍓嶇紑鍛紵鍥犱负宸茬粡缁欏鎴风殑閮ㄥ垎鐢佃剳涓婂畨瑁呬簡閲囬泦鍣紝鑰岀敤鎴蜂笉鎺ュ彈閲嶆柊瀹夎閲囬泦鍣紝鎵�浠ュ氨娌℃湁鍘婚櫎
+ * mdbSampleCode mdb鏂囦欢闇�瑕侊細鏍峰搧缂栧彿瀛楁
+ * fiberOpticRibbonCode 鍏夌氦甯� 瀛楁
+ * fiberOpticRibbon 鍏夌氦甯︽暟鎹�
+ */
+ //杞箟鐗规畩绗﹀彿锛岄伩鍏嶈姹傚弬鏁扮己澶�
+ try {
+ sampleCode = URLEncoder.encode(sampleCode, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e);
+ }
+ String http = HTTP + ip + GETFILE +
+ "?filePath=" + device.getCollectUrl() +
+ "&fileExtension=" + device.getFileType() +
+ "&entrustCode=" + entrustCode +
+ "&sampleCode=" + sampleCode +
+ "&mdbEntrustCode=" + device.getEntrustCode() +
+ "&mdbSampleCode=" + device.getSampleCode() +
+ "&dbFileName=" + device.getDbFileName() +
+ "&fiberOpticRibbonCode=" + device.getFiberOpticRibbon();
+
+ if (Objects.nonNull(fiberOpticRibbon)) {
+ http += "&fiberOpticRibbon=" + fiberOpticRibbon.replaceAll("#","%23");
+ }
+ String result = null;
+ try {
+ result = HttpUtil.get(http);
+ } catch (IORuntimeException e) {
+ throw new ErrorException("鎵�鍦ㄧ數鑴戞湭瀹夎鎴栨湭鍚姩锛歀IMS鏂囦欢閲囬泦鍣紒");
+ }
+ JSONObject jsonObject = JSON.parseObject(result);
+ if (Objects.equals(jsonObject.get("code"), 1)) {
+ if (ObjectUtils.isEmpty(jsonObject.get("msg"))) {
+ throw new ErrorException("鏈煡璇㈠埌鏂囦欢锛佸彲鑳借璺緞锛�" + device.getCollectUrl() + "锛変笅骞舵病鏈夋墍闇�(" + device.getFileType() + ")鏂囦欢锛�");
+ } else {
+ throw new ErrorException(jsonObject.get("msg") + "");
+ }
+ } else {
+ String data = jsonObject.get("data") + "";
+ // 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁�
+ Map<String, List<DataConfig>> userMap = dataConfig.stream()
+ .peek(i -> i.setInsProductItem(
+ i.getInspectionItem().equals(i.getInspectionItemSubclass()) ? i.getInspectionItem() + "," : i.getInspectionItem() + "," + i.getInspectionItemSubclass()
+ ))
+ .collect(Collectors.groupingBy(DataConfig::getInsProductItem));
+ Map<String, Object> map;
+ switch (device.getFileType()) {
+ case ".docx":
+ map = analysisString(data, userMap, device, entrustCode, sampleCode);
+ break;
+ case ".xlsx":
+ map = analysisList(data, userMap, device, entrustCode, sampleCode);
+ break;
+ case ".txt":
+ map = analysisTxt(data, userMap, device, entrustCode, sampleCode);
+ break;
+ case ".csv":
+ map = analysisList(data, userMap, device, entrustCode, sampleCode);
+ break;
+ case ".mdb":
+ map = analysisMdb(data, userMap, device);
+ break;
+ case ".db":
+ map = analysisDb(data, userMap, device);
+ break;
+ case ".png":
+ map = readPngString(data, userMap, device);
+ break;
+ default:
+ map = null;
+ break;
+ }
+ // 濡傛灉瀛樺湪瀛樺偍鍦板潃锛屽垯绉诲姩鍦板潃
+ if (ObjectUtils.isNotEmpty(device.getStorageUrl())) {
+ String s = HTTP + ip + MOVEFILE + "?startFilePath=" + device.getCollectUrl() + "&endFilePath=" + device.getStorageUrl() + "&fileType=" + device.getFileType();
+ HttpUtil.get(s);
+ }
+ return map;
+ }
+ }
+
+ public static Map<String, Object> createFrequency(String entrustCode, String sampleCode,String fiberOpticRibbon, Map<String, Object> map) {
+ HashSet<String> set = new HashSet<>();
+ map.forEach((key, value) -> {
+ String[] split = key.split(",");
+ String inspectionItem = split[0];
+ System.out.println(value);
+ // 鍙鏈変竴涓笉涓虹┖灏眘et杩涘幓
+ Map map1 = JSONObject.parseObject(JSONObject.toJSONString(value), Map.class);
+ if (ObjectUtils.isNotEmpty(value) && ObjectUtils.isNotEmpty(map1.get("result"))) {
+ set.add(inspectionItem);
+ }
+ });
+ Map<String, Object> result = new HashMap<>();
+ for (String inspectionItemKey : set) {
+ Map<String, Object> hashMap = new HashMap<>();
+ map.forEach((key, value) -> {
+ String[] split = key.split(",");
+ String inspectionItem = split[0];
+ if (inspectionItemKey.equals(inspectionItem)) {
+ if (split.length > 1) {
+ hashMap.put(split[1], value);
+ } else {
+ hashMap.put(split[0], value);
+ }
+ }
+ });
+ String frequency = createKey(entrustCode, sampleCode,fiberOpticRibbon, inspectionItemKey);
+ hashMap.put("frequency", frequency);
+ result.put(inspectionItemKey, hashMap);
+ }
+ return result;
+ }
+
+ public static String createKey(String entrustCode, String sampleCode,String fiberOpticRibbon, String inspectionItemKey) {
+ String key = frequency + ":" + entrustCode + ":" + sampleCode + ":" + inspectionItemKey;
+ if(StringUtils.isNotBlank(fiberOpticRibbon)){
+ key = frequency + ":" + entrustCode + ":" + sampleCode + ":" + fiberOpticRibbon + ":" + inspectionItemKey;
+ }
+ boolean b = RedisUtil.hasKey(key);
+ String frequencyValue;
+ if (b) {
+ long incr = RedisUtil.incr(key, 1);
+ frequencyValue = String.valueOf(incr);
+ } else {
+ RedisUtil.set(key, 1);
+ frequencyValue = "1";
+ }
+ return frequencyValue;
+ }
+
+ /**
+ * 闇�瑕侀�氳繃X,Y杞村畾浣�
+ *
+ * @param data
+ * @param dataConfig
+ * @return
+ */
+ private static Map<String, Object> analysisDb(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
+ JSONObject jsonObject = JSON.parseObject(data);
+ Map<String, Object> map = new HashMap<>();
+ if (jsonObject.isEmpty()) {
+ return map;
+ }
+ JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
+ dataConfig.forEach((k, v) -> {
+ AtomicInteger numberOfDataEntries = new AtomicInteger();
+ List<Object> list = new ArrayList<>();
+ for (int config = 0; config < v.size(); config++) {
+ String refery = getRefer(v.get(config).getRefery());
+ for (int i = 0; i < dataList.size(); i++) {
+ JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
+ Object o = jsonObject1.get(refery);
+ if (ObjectUtils.isNotEmpty(o)) {
+ numberOfDataEntries.addAndGet(1);
+ list.add(o);
+ }
+ }
+ }
+ // 鎷兼帴鏁伴噰閰嶇疆
+ List<Object> result = new ArrayList<>();
+ for (int i = 0; i < numberOfDataEntries.get(); i++) {
+ String aggregate = "";
+ for (int j = 0; j < v.size(); j++) {
+ int index;
+ if (j == 0) {
+ index = i;
+ } else {
+ index = numberOfDataEntries.get() + i;
+ }
+ aggregate += list.get(index).toString() + ",";
+ }
+ int lastIndex = aggregate.lastIndexOf(",");
+ String substring = aggregate.substring(0, lastIndex);
+ result.add(substring);
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(result, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ /**
+ * @param data
+ * @param dataConfig
+ * @return
+ */
+ private static Map<String, Object> analysisMdb(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
+ JSONObject jsonObject = JSON.parseObject(data);
+ Map<String, Object> map = new HashMap<>();
+ if (jsonObject.isEmpty()) {
+ return map;
+ }
+ JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
+ dataConfig.forEach((k, v) -> {
+ AtomicInteger numberOfDataEntries = new AtomicInteger();
+ List<Object> list = new ArrayList<>();
+ for (int config = 0; config < v.size(); config++) {
+ String refery = getRefer(v.get(config).getRefery());
+ for (int i = 0; i < dataList.size(); i++) {
+ JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
+ Object o = jsonObject1.get(refery);
+ if (ObjectUtils.isNotEmpty(o)) {
+ numberOfDataEntries.addAndGet(1);
+ list.add(o);
+ }
+ }
+ }
+ // 鎷兼帴鏁伴噰閰嶇疆
+ List<Object> result = new ArrayList<>();
+ for (int i = 0; i < numberOfDataEntries.get(); i++) {
+ String aggregate = "";
+ for (int j = 0; j < v.size(); j++) {
+ int index;
+ if (j == 0) {
+ index = i;
+ } else {
+ index = numberOfDataEntries.get() + i;
+ }
+ aggregate += list.get(index).toString() + ",";
+ }
+ int lastIndex = aggregate.lastIndexOf(",");
+ String substring = aggregate.substring(0, lastIndex);
+ result.add(substring);
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(result, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ private static Pattern SPATTERN = Pattern.compile("([-+])?\\d+(\\.\\d+)?");
+
+ /**
+ * 鍙渶X杞�
+ *
+ * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
+ * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
+ * @return
+ */
+ private static Map<String, Object> readPngString(String data, Map<String, List<DataConfig>> dataConfig, Device device) {
+ Map<String, Object> map = new HashMap<>();
+ dataConfig.forEach((k, v) -> {
+ List<Object> list = new ArrayList<>();
+ for (int config = 0; config < v.size(); config++) {
+ String referx = getRefer(v.get(config).getReferx());
+ String result = null;
+ // 閫氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
+ String[] aColumnY = data.split("\n");
+ List<String> list1 = new ArrayList<>();
+ // 璇ュ惊鐜緱鍑虹敤鎴烽厤缃殑y杞�
+ for (int i = 0; i < aColumnY.length; i++) {
+ String addDataWithSpaces = referx.replaceAll("", " ");
+ int x = getXOrY(v.get(config).getX(), k, "X");
+ if (aColumnY[i].contains(addDataWithSpaces)) {
+ Matcher matcher = SPATTERN.matcher(aColumnY[i]);
+ while (matcher.find()) {
+ String group = matcher.group();
+ list1.add(group);
+ }
+ }
+ if (ObjectUtils.isNotEmpty(list1)) {
+ result = list1.get(x);
+ }
+ }
+ if (ObjectUtils.isNotEmpty(result)) {
+ list.add(result);
+ }
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ /**
+ * 浠庢枃浠朵腑鎻愬彇鍑烘潵鐨勬枃瀛楋紝濡傛灉鏈夊叕寮忥紝杩涜鍏紡璁$畻锛屽惁鍒欏彇鍒楄〃绗竴涓��
+ *
+ * @param list 鎻愬彇鍑虹殑鏁板瓧
+ * @param dataConfig 瀛樺偍鍏紡鐨勫璞�
+ * @return
+ */
+ private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
+ if (list.size() == 0) {
+ Map<String, Object> hashMap = new HashMap<>();
+ hashMap.put("equipName", device.getDeviceName());
+ hashMap.put("equipValue", device.getManagementNumber());
+ hashMap.put("result", null);
+ return hashMap;
+ }
+ ArrayList<Object> listResult = new ArrayList<>();
+ Map<String, Object> hashMap = new HashMap<>();
+ // 濡傛灉涓嶄负绌猴紝杩涜鍏紡璁$畻
+ if (ObjectUtils.isNotEmpty(dataConfig.getFormula())) {
+ // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹�
+ if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
+ String s = calculationFormulaList(list, dataConfig.getFormula());
+ listResult.add(s);
+ } else {
+ list.forEach(i -> {
+ List<Object> strings = Arrays.asList(i.toString().split(","));
+ String s = calculationFormulaList(strings, dataConfig.getFormula());
+ listResult.add(s);
+ });
+ }
+ } else {
+ listResult.addAll(list);
+ }
+ // 涓轰簡缁欏墠绔仛鏁版嵁鍖哄垎
+ if (listResult.size() > 1) {
+ hashMap.put("result", listResult);
+ } else {
+ hashMap.put("result", listResult.get(0).toString());
+ }
+ hashMap.put("equipName", device.getDeviceName());
+ hashMap.put("equipValue", device.getManagementNumber());
+ return hashMap;
+ }
+
+ /**
+ * 瑙f瀽String鏁版嵁
+ *
+ * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
+ * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
+ * @return
+ */
+ private static Map<String, Object> analysisTxt(String data, Map<String, List<DataConfig>> dataConfig,
+ Device device, String entrustCode, String sampleCode) {
+ Map<String, Object> map = new HashMap<>();
+ dataConfig.forEach((k, v) -> {
+ List<Object> list = new ArrayList<>();
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
+ if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
+ list = analyzeData(data, v, k, ",");
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
+ } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
+ list = analyzeDataEntrustCodAndSampleCode(data, v, k, ",", device, entrustCode, sampleCode);
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ /**
+ * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
+ * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
+ * @return
+ */
+ private static Map<String, Object> analysisString(String data, Map<String, List<DataConfig>> dataConfig, Device device,
+ String entrustCode, String sampleCode) {
+ String processingDataAfterSpaces = data
+ .replaceAll(" +", splitIdentifier)
+ .replaceAll("\r", "")
+ .replaceAll(" ", "");
+ Map<String, Object> map = new HashMap<>();
+ dataConfig.forEach((k, v) -> {
+ List<Object> list = new ArrayList<>();
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
+ if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
+ list = analyzeData(processingDataAfterSpaces, v, k, splitIdentifier);
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
+ } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
+ list = analyzeDataEntrustCodAndSampleCode(processingDataAfterSpaces, v, k, splitIdentifier, device, entrustCode, sampleCode);
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ /**
+ * 鍙朮锛孻涓や釜瀹氫綅
+ *
+ * @param data 閲囬泦鍒扮殑鏂囦欢瀛楃涓�
+ * @param dataConfig 鐢ㄦ埛閰嶇疆濂界殑x,y杞村畾浣嶆暟鎹笌鍙傜収鐗�
+ * @return
+ */
+ public static Map<String, Object> analysisList(String data, Map<String, List<DataConfig>> dataConfig,
+ Device device, String entrustCode, String sampleCode) {
+ Map<String, Object> map = new HashMap<>();
+ dataConfig.forEach((k, v) -> {
+ List<Object> list = new ArrayList<>();
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
+ if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) {
+ list = analyzeData(data, v, k, splitIdentifier);
+ // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙峰瓨鍦�
+ } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
+ list = analyzeDataEntrustCodAndSampleCode(data, v, k, splitIdentifier, device, entrustCode, sampleCode);
+ }
+ // 杩涜鍏紡璁$畻
+ Object resultValue = calculationFormula(list, v.get(0), k, device);
+ map.put(k, resultValue);
+ });
+ return map;
+ }
+
+ private static List<Object> analyzeDataEntrustCodAndSampleCode(String data, List<DataConfig> v, String k, String splitIdentifier,
+ Device device, String entrustCodeValue, String sampleCodeValue) {
+ entrustCodeValue = entrustCodeValue.replaceAll(" ", "");
+ sampleCodeValue = sampleCodeValue.replaceAll(" ", "");
+ // 鏈�缁堢粨鏋�
+ List<Object> list = new ArrayList<>();
+ int numberOfDataEntries = 0;
+ // 鍙杄ntrustCode涓巗ampleCode鎵�鍦ㄤ綅
+ for (int config = 0; config < v.size(); config++) {
+ numberOfDataEntries = 0;
+ Integer entrustCodeY = null;
+ Integer sampleCodeY = null;
+ Integer referYCoordinate = null;
+ String refery = getRefer(v.get(config).getRefery());
+ String entrustCode = getRefer(device.getEntrustCode()); // 濮旀墭缂栧彿瀛楁
+ String sampleCode = getRefer(device.getSampleCode()); // 鏍峰搧缂栧彿瀛楁
+ if (ObjectUtils.isEmpty(refery)) {
+ continue;
+ }
+ // 鍘婚櫎鎵�鏈夌殑绌烘牸锛岄�氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
+ String[] aColumnY = data.replaceAll(" ", "").split("\n");
+ for (int i = 0; i < aColumnY.length; i++) {
+ // 濡傛灉閫氳繃鍒ゆ柇锛屽畾浣嶅埌Y杞�
+ if (aColumnY[i].contains(entrustCode) && aColumnY[i].contains(sampleCode)) {
+ String[] aLine = aColumnY[i].split(splitIdentifier);
+ for (int j = 0; j < aLine.length; j++) {
+ if (aLine[j].contains(entrustCode)) {
+ entrustCodeY = j;
+ }
+ if (aLine[j].contains(sampleCode)) {
+ sampleCodeY = j;
+ }
+ if (aLine[j].contains(refery)) {
+ referYCoordinate = j;
+ }
+ }
+ }
+ if (ObjectUtils.isNotEmpty(entrustCodeY) && ObjectUtils.isNotEmpty(sampleCodeY) && ObjectUtils.isNotEmpty(referYCoordinate)) {
+ String[] aLine = aColumnY[i].split(splitIdentifier);
+ try {
+ if (aLine[entrustCodeY].contains(entrustCodeValue) && aLine[sampleCodeY].contains(sampleCodeValue)) {
+ String result = aLine[referYCoordinate];
+ // 闃叉璁$畻鍏紡鐨勬椂鍊欏嚭鐜帮細[null] 杩欑鏁版嵁
+ if (ObjectUtils.isNotEmpty(result)) {
+ numberOfDataEntries += 1;
+ list.add(result);
+ }
+ }
+ } catch (Exception e) {
+ }
+ }
+ }
+ }
+ // 鎷兼帴鏁伴噰閰嶇疆
+ List<Object> result = new ArrayList<>();
+ for (int i = 0; i < numberOfDataEntries; i++) {
+ String aggregate = "";
+ for (int j = 0; j < v.size(); j++) {
+ int index;
+ if (j == 0) {
+ index = i;
+ } else {
+ index = numberOfDataEntries + i;
+ }
+ aggregate += list.get(index).toString() + ",";
+ }
+ int lastIndex = aggregate.lastIndexOf(",");
+ String substring = aggregate.substring(0, lastIndex);
+ result.add(substring);
+ }
+ return result;
+ }
+
+ // 鐢变簬鍦ㄦ柟娉曚腑浼氬ぇ閲忕殑鍒ゆ柇锛屾墍浠ュ仛涓�涓柟娉�
+ private static int getXOrY(String value, String k, String tips) {
+ try {
+ return Integer.parseInt(value);
+ } catch (NumberFormatException e) {
+ throw new ErrorException(k + "锛氭湭閰嶇疆" + tips + "鍧愭爣杞寸殑鍊硷紒");
+ }
+ }
+
+ // 闃叉鍙傜収鐗╀负绌烘姤閿欙紝杩涜鍒ゆ柇濡傛灉涓虹┖璧嬪�肩┖瀛楃
+ private static String getRefer(String refer) {
+ return ObjectUtils.isNotEmpty(refer) ? refer.replaceAll(" ", "") : "";
+ }
+
+ /**
+ * 濮旀墭缂栧彿涓庢牱鍝佺紪鍙烽兘涓虹┖鎵ц
+ *
+ * @param data
+ * @param v
+ * @param k
+ * @param split
+ * @return
+ */
+ public static List<Object> analyzeData(String data, List<DataConfig> v, String k, String split) {
+ List<Object> list = new ArrayList<>();
+ for (int config = 0; config < v.size(); config++) {
+ // 鍙栦袱涓敤鎴烽厤缃殑鍙傜収鐗�
+ String referx = getRefer(v.get(config).getReferx());
+ String refery = getRefer(v.get(config).getRefery());
+ if (ObjectUtils.isEmpty(refery) && ObjectUtils.isEmpty(referx)) {
+ continue;
+ }
+ // 鏈�缁堢粨鏋�
+ String result = null;
+ // 閫氳繃\n灏嗗瓧绗︿覆鍒嗗壊涓鸿
+ String[] aColumnY = data.replaceAll(" ", "").split("\n");
+ Integer end = null;
+ // 閲囬泦鏁版嵁锛歒杞�
+ for (int i = 0; i < aColumnY.length; i++) {
+ // 濡傛灉Y鍙傜収涓嶄负绌轰笌X鍙傜収涓虹┖鍒欐墽琛岋紝鍚屾椂璇ヨ鍖呭惈Y鍙傜収
+ if (ObjectUtils.isNotEmpty(refery) && ObjectUtils.isEmpty(referx) && aColumnY[i].contains(refery)) {
+ // 鍙朰鍧愭爣鍊�
+ int y = getXOrY(v.get(config).getY(), k, "Y");
+ String[] aLineX = aColumnY[i].split(split);
+ for (int j = 0; j < aLineX.length; j++) {
+ if (aLineX[j].contains(refery)) {
+ String[] split1 = new String[0];
+ try {
+ split1 = aColumnY[i + y].split(split);
+ } catch (Exception e) {
+ throw new ErrorException(k + "锛歒杞村畾浣嶈秴鍑猴紒");
+ }
+ try {
+ result = split1[j];
+ } catch (Exception e) {
+ throw new ErrorException(k + "锛歑杞村畾浣嶈秴鍑猴紒");
+ }
+ }
+ }
+ // 濡傛灉Y鍙傜収涓嶄负绌轰笌X鍙傜収涓嶄负绌哄垯鎵ц,姝ゅY瀹氬尯鍩�
+ } else if (ObjectUtils.isNotEmpty(refery) && ObjectUtils.isNotEmpty(referx)) {
+ // 鍙杧鐨勫�硷紝闃叉鎶ラ敊
+ int x = getXOrY(v.get(config).getX(), k, "X");
+ // 鍙朰鍧愭爣鍊�
+ int y = getXOrY(v.get(config).getY(), k, "Y");
+ // 缂撳瓨Y鐨勭粨鏉熷��
+ if (ObjectUtils.isEmpty(end) && aColumnY[i].contains(refery)) {
+ end = i + y;
+ }
+ // 鍒ゆ柇鏄惁鍦ㄥ弬鐓х墿涓鸿捣鍒帮紝Y鍧愭爣鍊间负鏈�缁堣寖鍥�
+ if (ObjectUtils.isNotEmpty(end) && i <= end) {
+ String[] aLineX = aColumnY[i].split(split);
+ // 鍙栬鏁版嵁鐨勫崟鍏冩牸鏁版嵁
+ for (int j = 0; j < aLineX.length; j++) {
+ if (aLineX[j].contains(referx)) {
+ try {
+ result = aLineX[j + x];
+ } catch (Exception e) {}
+ break;
+ }
+ }
+ }
+ // 濡傛灉X鍙傜収涓嶄负绌哄悓鏃惰琛屽寘鍚玐鍙傜収锛屽垯鎵ц涓嬮潰鐨勪唬鐮�
+ } else if (aColumnY[i].contains(referx) && ObjectUtils.isEmpty(refery)) {
+ String[] aLineX = aColumnY[i].split(split);
+ // 鍙杧鐨勫�硷紝闃叉鎶ラ敊
+ int x = getXOrY(v.get(config).getX(), k, "X");
+ // 鍙栬鏁版嵁鐨勫崟鍏冩牸鏁版嵁
+ for (int j = 0; j < aLineX.length; j++) {
+ if (aLineX[j].contains(referx)) {
+ try {
+ result = aLineX[j + x];
+ } catch (Exception e) {}
+ }
+ }
+ }
+ }
+ // 闃叉璁$畻鍏紡鐨勬椂鍊欏嚭鐜帮細[null] 杩欑鏁版嵁
+ if (ObjectUtils.isNotEmpty(result)) {
+ String formatProcessing = getFormatProcessing(result);
+ list.add(formatProcessing);
+ }
+ }
+ return list;
+ }
+
+ /**
+ *
+ * @param j 妯潗鏍�
+ * @param x 绾靛潗鏍�
+ * @param aLineX 琛屾暟鎹�
+ * @param referx x鍙傜収鐗�
+ * @param k 妫�楠岄」鐩�
+ * @return
+ */
+ public static String getCellValue(int x, String[] aLineX, String referx, String k) {
+ String result = null;
+ for (int j = 0; j < aLineX.length; j++) {
+ try {
+ int xAddY = j + x;
+ if (aLineX[j].contains(referx)) {
+ result = aLineX[xAddY];
+ }
+ } catch (Exception e) {}
+ }
+ return result;
+ }
+
+ public static String getFormatProcessing(String value) {
+ value = value.replaceAll("%", "");
+ if (value.contains("=")) {
+ String[] split = value.split("=");
+ return split[split.length - 1];
+ } else if (value.contains(":")) {
+ String[] split = value.split(":");
+ return split[split.length - 1];
+ } else {
+ return value;
+ }
+ }
+
+ public static String getIp(HttpServletRequest request) {
+ String ipAddress = request.getRemoteAddr();
+ // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
+ return ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+ }
+
+ public static String calculationFormulaList(List<Object> list, String formula) {
+ //棣栧厛灏唋ist杞崲涓篵igdecmic
+ List<BigDecimal> bigDecimalList = list.stream()
+ .map(obj -> {
+ return new BigDecimal((obj).toString());
+ }).collect(Collectors.toList());
+
+ //灏嗕腑鏂囩殑(杞崲鑻辨枃鐨�())
+ formula = formula.replace("锛�", "(")
+ .replace("锛�", ")")
+ .replace("锛�", ",");
+ //鐒跺悗鎻愬彇鍏紡
+ String strs = formula.substring(0, formula.indexOf("("));
+ String upperStr = strs.toUpperCase();
+ if (upperStr.matches(".*\\d.*")) {
+ upperStr = "";
+ }
+ //鐒跺悗鑾峰彇鏈�澶栭潰鎷彿閲岄潰鐨勫��,鍐嶆牴鎹�","鍒嗗壊
+ int start = formula.indexOf("(");
+ int end = -1;
+ int a = 0;
+ for (int i = start; i < formula.length(); i++) {
+ char c = formula.charAt(i);
+ if (c == '(') {
+ a++;
+ } else if (c == ')') {
+ a--;
+ if (a == 0) {
+ end = i;
+ }
+ }
+ }
+ if (start == -1 || end == -1) {
+ throw new ErrorException("鍏紡鎷彿涓嶅尮閰�: " + formula);
+ }
+
+ String argumentsStr = formula.substring(start + 1, end);
+ List<String> arguments = new ArrayList<>();
+ int bracketCount = 0;
+ StringBuilder currentArgument = new StringBuilder();
+ for (char c : argumentsStr.toCharArray()) {
+ if (c == ',' && bracketCount == 0) {
+ arguments.add(currentArgument.toString());
+ currentArgument.setLength(0);
+ } else {
+ if (c == '(') bracketCount++;
+ if (c == ')') bracketCount--;
+ currentArgument.append(c);
+ }
+ }
+ arguments.add(currentArgument.toString());
+ String[] bracketStrs = arguments.toArray(new String[0]);
+ List<BigDecimal> results = new ArrayList<>();
+ for (String expr : bracketStrs) {
+ Pattern pattern = Pattern.compile("([A-Z])(\\d+)");
+ Matcher matcher = pattern.matcher(expr);
+ StringBuffer sb = new StringBuffer();
+ while (matcher.find()) {
+ String letter = matcher.group(1);
+ int index = Integer.parseInt(matcher.group(2)) - 1; // 灏�1-based杞负0-based
+ if (index < bigDecimalList.size()) {
+ matcher.appendReplacement(sb, bigDecimalList.get(index).toString());
+ } else {
+ throw new RuntimeException("鍏紡涓殑涓嬫爣 " + index + " 瓒呭嚭鑼冨洿");
+ }
+ }
+ matcher.appendTail(sb);
+
+ // 璁$畻琛ㄨ揪寮�
+ ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
+ try {
+ Object result = engine.eval(sb.toString());
+ results.add(new BigDecimal(result.toString()));
+ } catch (Exception e) {
+ throw new IllegalArgumentException("鏃犳硶璁$畻鍏紡: " + sb, e);
+ }
+ }
+ // 鏍规嵁鍑芥暟鍚嶇О杩涜鐩稿簲璁$畻
+ BigDecimal finalResult;
+ if (upperStr.equals("") || upperStr == null) {
+ finalResult = results.get(0);
+ } else {
+ switch (upperStr) {
+ case "MAX":
+ finalResult = results.stream().max(BigDecimal::compareTo)
+ .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�"));
+ break;
+ case "MIN":
+ finalResult = results.stream().min(BigDecimal::compareTo)
+ .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�"));
+ break;
+ case "SUM":
+ finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
+ break;
+ case "ABS":
+ finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add);
+ break;
+ case "AVERAGE":
+ finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide)
+ .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP);
+ break;
+ case "MEDIAN":
+ int size = results.size();
+ if (size % 2 == 1) {
+ finalResult = results.get(size / 2);
+ } else {
+ BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2));
+ finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP);
+ }
+ break;
+ default:
+ throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr);
+ }
+ }
+
+ return finalResult.toString();
+ // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹�
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceDetailsVo.java b/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceDetailsVo.java
new file mode 100644
index 0000000..a957699
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceDetailsVo.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.vo;
+
+import com.ruoyi.require.pojo.FeStandardSubstance;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptance;
+import com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AcceptanceDetailsVo extends FeStandardSubstanceAcceptance {
+
+ @ApiModelProperty("鐗╄川娓呭崟")
+ private FeStandardSubstance substance;
+
+ @ApiModelProperty("楠屾敹鍗�")
+ private FeStandardSubstanceAcceptance acceptance;
+
+ @ApiModelProperty("寮�绠辫褰�")
+ private List<FeStandardSubstanceAcceptanceInspection> list;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceVo.java b/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceVo.java
new file mode 100644
index 0000000..09d0374
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/vo/AcceptanceVo.java
@@ -0,0 +1,46 @@
+package com.ruoyi.require.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class AcceptanceVo {
+
+ @ApiModelProperty("妫�楠岃〃id")
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鐢熶骇鍘傚")
+ private String factoryManufacturer;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("绠$悊缂栧彿")
+ private String manageNum;
+
+ @ApiModelProperty("涓嶇‘瀹氬害")
+ private String uncertainty;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("璐疆鏃ユ湡")
+ private LocalDateTime acquisitionDate;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ private LocalDateTime effectiveDate;
+
+ @ApiModelProperty("鏂囨。缂栧彿")
+ private String fileNum;
+
+ @ApiModelProperty("瀛樻斁浣嶇疆")
+ private String position;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/vo/OperationInstructionVo.java b/cnas-require/src/main/java/com/ruoyi/require/vo/OperationInstructionVo.java
new file mode 100644
index 0000000..d8d59e2
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/vo/OperationInstructionVo.java
@@ -0,0 +1,17 @@
+package com.ruoyi.require.vo;
+
+import com.ruoyi.require.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-require/src/main/java/com/ruoyi/require/vo/SubstanceRecordVo.java b/cnas-require/src/main/java/com/ruoyi/require/vo/SubstanceRecordVo.java
new file mode 100644
index 0000000..00de20d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/vo/SubstanceRecordVo.java
@@ -0,0 +1,46 @@
+package com.ruoyi.require.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class SubstanceRecordVo {
+
+ @ApiModelProperty("id")
+ private Integer id;
+
+ @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О")
+ private String name;
+
+ @ApiModelProperty("瑙勬牸鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("鍑哄満缂栧彿")
+ private String factoryNum;
+
+ @ApiModelProperty("鏁伴噺")
+ private Long quantity;
+
+ @ApiModelProperty("棰嗙敤浜�")
+ private String borrowUser;
+
+ @ApiModelProperty("鍊熷嚭鏃ユ湡")
+ private LocalDateTime borrowDate;
+
+ @ApiModelProperty("褰掕繕鏃ユ湡")
+ private LocalDateTime returnDate;
+
+ @ApiModelProperty("褰掕繕浜�")
+ private String returnedPerson;
+
+ @ApiModelProperty("瀹屽ソ鎬�")
+ private String returnIntegrity;
+
+ @ApiModelProperty("0锛氬�熺敤 1:褰掕繕")
+ private String status;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+}
diff --git a/cnas-require/src/main/resources/mapper/DataConfigMapper.xml b/cnas-require/src/main/resources/mapper/DataConfigMapper.xml
index 4e18b71..f06c87a 100644
--- a/cnas-require/src/main/resources/mapper/DataConfigMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DataConfigMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.DataConfigMapper">
+<mapper namespace="com.ruoyi.require.mapper.DataConfigMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DataConfig">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.DataConfig">
<id column="id" property="id" />
<result column="formula" property="formula" />
<result column="referx" property="referx" />
@@ -12,7 +12,7 @@
<result column="y" property="y" />
</resultMap>
- <select id="selectDataConfigList" resultType="com.ruoyi.requier.dto.DeviceConfigDtoPage">
+ <select id="selectDataConfigList" resultType="com.ruoyi.require.dto.DeviceConfigDtoPage">
SELECT d.device_name,
d.file_type,
d.collect_url,
diff --git a/cnas-require/src/main/resources/mapper/DeviceBorrowMapper.xml b/cnas-require/src/main/resources/mapper/DeviceBorrowMapper.xml
new file mode 100644
index 0000000..bf7720d
--- /dev/null
+++ b/cnas-require/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.ruoyi.require.mapper.DeviceBorrowMapper">
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.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.ruoyi.require.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.ruoyi.require.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-require/src/main/resources/mapper/DeviceFaultOneMapper.xml b/cnas-require/src/main/resources/mapper/DeviceFaultOneMapper.xml
index d874e55..2f9e0b1 100644
--- a/cnas-require/src/main/resources/mapper/DeviceFaultOneMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DeviceFaultOneMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.DeviceFaultOneMapper">
+<mapper namespace="com.ruoyi.require.mapper.DeviceFaultOneMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DeviceFaultOne">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.DeviceFaultOne">
<id column="id" property="id" />
<result column="device_id" property="deviceId" />
<result column="process_number" property="processNumber" />
@@ -35,7 +35,7 @@
<result column="create_time" property="createTime" />
</resultMap>
- <select id="deviceFaultOnePage" resultType="com.ruoyi.requier.dto.DeviceFaultOneDto">
+ <select id="deviceFaultOnePage" resultType="com.ruoyi.require.dto.DeviceFaultOneDto">
select dfo.*,
d.device_name,
d.management_number,
diff --git a/cnas-require/src/main/resources/mapper/DeviceMaintenanceMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMaintenanceMapper.xml
index c596bbd..f7d490e 100644
--- a/cnas-require/src/main/resources/mapper/DeviceMaintenanceMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DeviceMaintenanceMapper.xml
@@ -1,20 +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.ruoyi.requier.mapper.DeviceMaintenanceMapper">
+<mapper namespace="com.ruoyi.require.mapper.DeviceMaintenanceMapper">
- <select id="getDeviceMaintenanceParam" resultType="com.ruoyi.requier.pojo.DeviceMaintenance">
+ <select id="getDeviceMaintenanceParam" resultType="com.ruoyi.require.pojo.DeviceMaintenance">
select id,device_id,device_name, device_number,management_number,content,name
,date from device_maintenance
</select>
-<!-- <select id="getDeviceMaintenancePage" resultType="com.ruoyi.requier.pojo.DeviceMaintenance">-->
+<!-- <select id="getDeviceMaintenancePage" resultType="com.ruoyi.require.pojo.DeviceMaintenance">-->
<!-- select *-->
<!-- from device_maintenance dm-->
<!-- where dm.device_id = #{deviceId}-->
<!-- </select>-->
- <select id="deviceMaintenanceExport" resultType="com.ruoyi.requier.dto.DeviceMaintenanceExport">
+ <select id="deviceMaintenanceExport" resultType="com.ruoyi.require.dto.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}
diff --git a/cnas-require/src/main/resources/mapper/DeviceMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMapper.xml
index 5f0ad41..c0fc01b 100644
--- a/cnas-require/src/main/resources/mapper/DeviceMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DeviceMapper.xml
@@ -2,8 +2,8 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.requier.mapper.DeviceMapper">
- <select id="selectDeviceParameter" resultType="com.ruoyi.requier.pojo.Device">
+<mapper namespace="com.ruoyi.require.mapper.DeviceMapper">
+ <select id="selectDeviceParameter" resultType="com.ruoyi.require.pojo.Device">
select * from(
select id,
large_category,
@@ -42,7 +42,7 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="selectEquipmentOverview" resultType="com.ruoyi.requier.pojo.Device">
+ <select id="selectEquipmentOverview" resultType="com.ruoyi.require.pojo.Device">
select * from(
select id,
device_name,
@@ -57,12 +57,12 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="authorizedPerson" resultType="com.ruoyi.requier.pojo.Device">
+ <select id="authorizedPerson" resultType="com.ruoyi.require.pojo.Device">
select id,
authorized_person
from device
</select>
- <select id="search" resultType="com.ruoyi.requier.pojo.Device">
+ <select id="search" resultType="com.ruoyi.require.pojo.Device">
select *
from device
<where>
@@ -81,18 +81,18 @@
</where>
</select>
- <select id="selectDeviceImage" resultType="com.ruoyi.requier.pojo.Device">
+ <select id="selectDeviceImage" resultType="com.ruoyi.require.pojo.Device">
select (image_upload, create_user, create_time) values (#{image_upload}
, #{createUser}
, #{createTime})
</select>
- <select id="selectDevicePrincipal" resultType="com.ruoyi.requier.pojo.Device">
+ <select id="selectDevicePrincipal" resultType="com.ruoyi.require.pojo.Device">
select id,
equipment_manager
from device
</select>
- <select id="selectDeviceParameterPage" resultType="com.ruoyi.requier.dto.DeviceDto">
+ <select id="selectDeviceParameterPage" resultType="com.ruoyi.require.dto.DeviceDto">
select * from(
SELECT
d.*,
@@ -163,7 +163,7 @@
order by l.laboratory_name desc, d.storage_point desc
</select>
- <select id="selectDeviceByCode" resultType="com.ruoyi.requier.dto.DeviceDto">
+ <select id="selectDeviceByCode" resultType="com.ruoyi.require.dto.DeviceDto">
SELECT d.*,
GROUP_CONCAT(DISTINCT inspection_item SEPARATOR ';') AS ins_product_item,
l.laboratory_name,
diff --git a/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml
index 5b51fbe..9c13993 100644
--- a/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.DeviceMetricRecordMapper">
+<mapper namespace="com.ruoyi.require.mapper.DeviceMetricRecordMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DeviceMetricRecord">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.DeviceMetricRecord">
<id column="id" property="id" />
<result column="unit_of_measure" property="unitOfMeasure" />
<result column="calibration_date" property="calibrationDate" />
diff --git a/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml
index e331c6a..9335e3a 100644
--- a/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml
+++ b/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.DeviceMetricsCopyMapper">
+<mapper namespace="com.ruoyi.require.mapper.DeviceMetricsCopyMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DeviceMetricsCopy">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.DeviceMetricsCopy">
<id column="id" property="id" />
<result column="measurement_parameter" property="measurementParameter" />
<result column="range_of_measurement" property="rangeOfMeasurement" />
diff --git a/cnas-require/src/main/resources/mapper/DeviceRecordMapper.xml b/cnas-require/src/main/resources/mapper/DeviceRecordMapper.xml
new file mode 100644
index 0000000..b69b38f
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/DeviceRecordMapper.xml
@@ -0,0 +1,49 @@
+<?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.ruoyi.require.mapper.DeviceRecordMapper">
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.DeviceRecord">
+ <id column="id" property="id"/>
+ <result column="device_id" property="deviceId"/>
+ <result column="device_number" property="deviceNumber"/>
+ <result column="temperature" property="temperature"/>
+ <result column="humidity" property="humidity"/>
+ <result column="use_before" property="useBefore"/>
+ <result column="use_after" property="useAfter"/>
+ <result column="abnormal" property="abnormal"/>
+ <result column="use_person" property="usePerson"/>
+ <result column="remark" property="remark"/>
+ </resultMap>
+
+ <select id="deviceRecordPage" resultType="com.ruoyi.require.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.device_id = #{deviceId}
+ <if test="deviceNumber != '' and deviceNumber != null">
+ and dr.device_number like concat('%', #{deviceNumber}, '%')
+ </if>
+ </select>
+
+ <select id="incidentReportExport" resultType="com.ruoyi.require.excel.DeviceRecordExport">
+ select dr.id,
+ dr.device_id,
+ dr.device_number,
+ dr.temperature,
+ dr.humidity,
+ if(dr.use_before = 1, '姝e父', '涓嶆甯�') useBefore,
+ if(dr.use_after = 1, '姝e父', '涓嶆甯�') useAfter,
+ dr.abnormal,
+ dr.use_person,
+ dr.remark,
+ date_format(dr.use_start_date, '%Y-%m-%d') useDate,
+ date_format(dr.use_end_date, '%Y-%m-%d') useEndDate,
+ d.device_name,
+ d.management_number
+ from device_record dr
+ left join device d on d.id = dr.device_id
+ where dr.device_id = #{deviceId}
+ </select>
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/DeviceStateMapper.xml b/cnas-require/src/main/resources/mapper/DeviceStateMapper.xml
new file mode 100644
index 0000000..77635d5
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/DeviceStateMapper.xml
@@ -0,0 +1,43 @@
+<?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.ruoyi.require.mapper.DeviceStateMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.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.ruoyi.require.dto.DeviceStateDto">
+ select ds.*,
+ d.device_name,
+ d.management_number,
+ d.specification_model
+ 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-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml b/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
index 8485501..15d2948 100644
--- a/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeCalibrationScheduleMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeCalibrationScheduleMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeCalibrationSchedule">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeCalibrationSchedule">
<id column="id" property="id" />
<result column="instrument_name" property="instrumentName" />
<result column="model" property="model" />
@@ -23,7 +23,7 @@
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="ipage" resultType="com.ruoyi.requier.pojo.FeCalibrationSchedule">
+ <select id="ipage" resultType="com.ruoyi.require.pojo.FeCalibrationSchedule">
select * from cnas_fe_calibration_schedule
<where>
<if test="instrumentName != null and instrumentName != ''">
diff --git a/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml b/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
index 7a7e576..a1e46cc 100644
--- a/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeIlluminationDetectionAreaMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIlluminationDetectionArea">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeIlluminationDetectionArea">
<id column="detection_area_id" property="detectionAreaId" />
<result column="detection_area_label" property="detectionAreaLabel" />
<result column="value_one" property="valueOne" />
diff --git a/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml b/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
index 8721bda..3103080 100644
--- a/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeIlluminationMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeIlluminationMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIllumination">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeIllumination">
<id column="intensity_illumination_id" property="intensityIlluminationId" />
<result column="device_id" property="deviceId" />
<result column="conclusion" property="conclusion" />
@@ -14,7 +14,7 @@
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="getFeLightningProtection" resultType="com.ruoyi.requier.dto.FeIlluminationDto">
+ <select id="getFeLightningProtection" resultType="com.ruoyi.require.dto.FeIlluminationDto">
SELECT cdi.*, d.*, u1.name checker_user, u2.name tester_user, dv.device_name, dv.management_number
FROM cnas_fe_illumination cdi
left join device dv on dv.id = cdi.device_id
@@ -31,7 +31,7 @@
</select>
<!-- 鏌ヨ鐓ф槑璁板綍 -->
- <select id="selectFeIllumination" resultType="com.ruoyi.requier.dto.FeIlluminationExportDto">
+ <select id="selectFeIllumination" resultType="com.ruoyi.require.dto.FeIlluminationExportDto">
SELECT cdi.*,
dv.device_name,
dv.management_number,
diff --git a/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml b/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
index c56edd3..4d3096d 100644
--- a/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeLightningProtectionMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeLightningProtectionMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeLightningProtection">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeLightningProtection">
<id column="lightning_protection_id" property="lightningProtectionId" />
<result column="file_name" property="fileName" />
<result column="system_file_name" property="systemFileName" />
@@ -14,7 +14,7 @@
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="exportOfLightningProtectionDetection" resultType="com.ruoyi.requier.excel.FeLightningProtectionExcel">
+ <select id="exportOfLightningProtectionDetection" resultType="com.ruoyi.require.excel.FeLightningProtectionExcel">
select * from cnas_fe_lightning_protection
</select>
</mapper>
diff --git a/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml b/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
index d86783e..f08e866 100644
--- a/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeMeasuredQuantityMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeMeasuredQuantityMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeMeasuredQuantity">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeMeasuredQuantity">
<id column="measured_quantity_id" property="measuredQuantityId" />
<result column="measured_quantity_label" property="measuredQuantityLabel" />
<result column="value_a" property="valueA" />
diff --git a/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml b/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
index b295659..8b44ca4 100644
--- a/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FePowerStableMapper">
+<mapper namespace="com.ruoyi.require.mapper.FePowerStableMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FePowerStable">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FePowerStable">
<id column="power_stable_id" property="powerStableId" />
<result column="test_location" property="testLocation" />
<result column="test_date" property="testDate" />
@@ -15,7 +15,7 @@
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="getLaboratoryFacilityPowerStablePage" resultType="com.ruoyi.requier.dto.FePowerStableDto">
+ <select id="getLaboratoryFacilityPowerStablePage" resultType="com.ruoyi.require.dto.FePowerStableDto">
SELECT cfps.*, d.*, u1.name checker_user, u2.name tester_user, dv.device_name, dv.management_number
FROM cnas_fe_power_stable cfps
left join device dv on dv.id = cfps.device_id
@@ -47,7 +47,7 @@
</select>
<!-- 鏌ヨ鐢垫簮绋冲畾鎬� -->
- <select id="selectPowerStable" resultType="com.ruoyi.requier.dto.FePowerStableExportDto">
+ <select id="selectPowerStable" resultType="com.ruoyi.require.dto.FePowerStableExportDto">
SELECT cfps.*,
dv.device_name,
dv.management_number,
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
index 2419c7c..13f8ba1 100644
--- a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeStandardSubstanceAcceptanceInspectionMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeStandardSubstanceAcceptanceInspection">
<id column="id" property="id" />
<result column="acceptance_id" property="acceptanceId" />
<result column="name" property="name" />
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml
index 011dda2..e336198 100644
--- a/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeStandardSubstanceAcceptanceMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeStandardSubstanceAcceptance">
<id column="id" property="id" />
<result column="substance_id" property="substanceId" />
<result column="arrive_date" property="arriveDate" />
@@ -20,7 +20,7 @@
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="getPageAcceptance" resultType="com.ruoyi.requier.vo.AcceptanceVo">
+ <select id="getPageAcceptance" resultType="com.ruoyi.require.vo.AcceptanceVo">
SELECT
sa.id,
ss.name,
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
index a19c2f8..5a9d0bd 100644
--- a/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeStandardSubstanceMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeStandardSubstanceMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstance">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeStandardSubstance">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="model" property="model" />
@@ -23,7 +23,7 @@
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="getPage" resultType="com.ruoyi.requier.pojo.FeStandardSubstance">
+ <select id="getPage" resultType="com.ruoyi.require.pojo.FeStandardSubstance">
select * from cnas_fe_standard_substance
<where>
<if test="ew.name != null and ew.name != ''">
diff --git a/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml b/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
index 7aef7cd..315d743 100644
--- a/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeStandardSubstanceRecordMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeStandardSubstanceRecordMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceRecord">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeStandardSubstanceRecord">
<id column="id" property="id" />
<result column="substance_id" property="substanceId" />
<result column="integrity" property="integrity" />
@@ -19,7 +19,7 @@
<result column="update_user" property="updateUser" />
<result column="update_time" property="updateTime" />
</resultMap>
- <select id="getPage" resultType="com.ruoyi.requier.vo.SubstanceRecordVo">
+ <select id="getPage" resultType="com.ruoyi.require.vo.SubstanceRecordVo">
SELECT
ssr.id,
ss.name,
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
index 5e27062..9560ae2 100644
--- a/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeTempHumDateMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeTempHumDateMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumDate">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeTempHumDate">
<id column="date_id" property="dateId" />
<result column="month_date" property="monthDate" />
<result column="test_area_name" property="testAreaName" />
@@ -13,7 +13,7 @@
<result column="update_user" property="updateUser" />
</resultMap>
- <select id="getFeTempHumDate" resultType="com.ruoyi.requier.dto.FeTempHumDateDto">
+ <select id="getFeTempHumDate" resultType="com.ruoyi.require.dto.FeTempHumDateDto">
select c.*, u.name create_name
from cnas_fe_temp_hum_date c
left join user u on c.create_user = u.id
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
index 095bb33..425338a 100644
--- a/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.FeTempHumRecordMapper">
+<mapper namespace="com.ruoyi.require.mapper.FeTempHumRecordMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumRecord">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.FeTempHumRecord">
<id column="temp_hum_id" property="tempHumId" />
<result column="morning_test_time" property="morningTestTime" />
<result column="morning_temp" property="morningTemp" />
@@ -15,7 +15,7 @@
<result column="note" property="note" />
</resultMap>
- <select id="getFeTempHumRecordPage" resultType="com.ruoyi.requier.dto.FeTempHumRecordDto">
+ <select id="getFeTempHumRecordPage" resultType="com.ruoyi.require.dto.FeTempHumRecordDto">
select c.*, u1.name afternoon_recorder_user, u2.name morning_recorder_user
from cnas_fe_temp_hum_record c
left join user u1 on u1.id = c.afternoon_recorder_id
diff --git a/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml b/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
index 6d41b28..a619f2f 100644
--- a/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
+++ b/cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.ForeignRegisterMapper">
+<mapper namespace="com.ruoyi.require.mapper.ForeignRegisterMapper">
<!-- 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ -->
- <select id="pageForeignRegister" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
+ <select id="pageForeignRegister" resultType="com.ruoyi.require.dto.ForeignRegisterDto">
select *
from (select *
from cnas_foreign_register
@@ -17,7 +17,7 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="getForeignRegisterList" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
+ <select id="getForeignRegisterList" resultType="com.ruoyi.require.dto.ForeignRegisterDto">
select *
from (select cfr.*,
u1.signature_url accompanyingUrl,
diff --git a/cnas-require/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml b/cnas-require/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml
index 85bfa21..76706b5 100644
--- a/cnas-require/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml
+++ b/cnas-require/src/main/resources/mapper/IncidentAcceptanceCheckMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.IncidentAcceptanceCheckMapper">
+<mapper namespace="com.ruoyi.require.mapper.IncidentAcceptanceCheckMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.IncidentAcceptanceCheck">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.IncidentAcceptanceCheck">
<id column="acceptance_checkId" property="acceptanceCheckId" />
<result column="instrument_module" property="instrumentModule" />
<result column="verification_parameter" property="verificationParameter" />
diff --git a/cnas-require/src/main/resources/mapper/IncidentFileMapper.xml b/cnas-require/src/main/resources/mapper/IncidentFileMapper.xml
index 26276cc..4d784ab 100644
--- a/cnas-require/src/main/resources/mapper/IncidentFileMapper.xml
+++ b/cnas-require/src/main/resources/mapper/IncidentFileMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.IncidentFileMapper">
+<mapper namespace="com.ruoyi.require.mapper.IncidentFileMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.IncidentFile">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.IncidentFile">
<id column="file_id" property="fileId" />
<result column="expected_copies" property="expectedCopies" />
<result column="actual_copies" property="actualCopies" />
diff --git a/cnas-require/src/main/resources/mapper/IncidentInstallMapper.xml b/cnas-require/src/main/resources/mapper/IncidentInstallMapper.xml
index 6e6ff1f..f86886a 100644
--- a/cnas-require/src/main/resources/mapper/IncidentInstallMapper.xml
+++ b/cnas-require/src/main/resources/mapper/IncidentInstallMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.IncidentInstallMapper">
+<mapper namespace="com.ruoyi.require.mapper.IncidentInstallMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.IncidentInstall">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.IncidentInstall">
<id column="install_id" property="installId" />
<result column="installation_project" property="installationProject" />
<result column="installation_situation" property="installationSituation" />
diff --git a/cnas-require/src/main/resources/mapper/IncidentReportMapper.xml b/cnas-require/src/main/resources/mapper/IncidentReportMapper.xml
index bb3022b..d20873d 100644
--- a/cnas-require/src/main/resources/mapper/IncidentReportMapper.xml
+++ b/cnas-require/src/main/resources/mapper/IncidentReportMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.IncidentReportMapper">
+<mapper namespace="com.ruoyi.require.mapper.IncidentReportMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.IncidentReport">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.IncidentReport">
<id column="id" property="id" />
<result column="process_number" property="processNumber" />
<result column="device_id" property="deviceId" />
@@ -43,32 +43,32 @@
<result column="acceptance_audit_audit_opinion" property="acceptanceAuditAuditOpinion" />
</resultMap>
- <resultMap id="IncidentReportAddDtoMap" type="com.ruoyi.requier.dto.IncidentReportAddDto" extends="BaseResultMap">
+ <resultMap id="IncidentReportAddDtoMap" type="com.ruoyi.require.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.ruoyi.requier.pojo.IncidentSpareParts">
+ <collection property="sparePartsConfirmationList" ofType="com.ruoyi.require.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.ruoyi.requier.pojo.IncidentFile">
+ <collection property="fileClassConfirmationList" ofType="com.ruoyi.require.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.ruoyi.requier.pojo.IncidentInstall">
+ <collection property="installationAcceptanceRecordList" ofType="com.ruoyi.require.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.ruoyi.requier.pojo.IncidentAcceptanceCheck">
+ <collection property="acceptanceCheckRecordList" ofType="com.ruoyi.require.pojo.IncidentAcceptanceCheck">
<id column="acceptance_check_id" property="acceptanceCheckId" />
<result column="instrument_module" property="instrumentModule" />
<result column="verification_parameter" property="verificationParameter" />
@@ -79,7 +79,7 @@
</collection>
</resultMap>
- <select id="getByDeviceId" resultType="com.ruoyi.requier.dto.IncidentReportAddDto">
+ <select id="getByDeviceId" resultType="com.ruoyi.require.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
@@ -105,7 +105,7 @@
where dir.id = #{id}
</select>
- <select id="incidentReportExport" resultType="com.ruoyi.requier.excel.IncidentReportExport">
+ <select id="incidentReportExport" resultType="com.ruoyi.require.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
diff --git a/cnas-require/src/main/resources/mapper/IncidentSparePartsMapper.xml b/cnas-require/src/main/resources/mapper/IncidentSparePartsMapper.xml
index f790022..53f111d 100644
--- a/cnas-require/src/main/resources/mapper/IncidentSparePartsMapper.xml
+++ b/cnas-require/src/main/resources/mapper/IncidentSparePartsMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.IncidentSparePartsMapper">
+<mapper namespace="com.ruoyi.require.mapper.IncidentSparePartsMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.IncidentSpareParts">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.IncidentSpareParts">
<id column="spare_parts_id" property="sparePartsId" />
<result column="name" property="name" />
<result column="number" property="number" />
diff --git a/cnas-require/src/main/resources/mapper/InformationNotificationMapper.xml b/cnas-require/src/main/resources/mapper/InformationNotificationMapper.xml
index 63f77b4..4cf31a3 100644
--- a/cnas-require/src/main/resources/mapper/InformationNotificationMapper.xml
+++ b/cnas-require/src/main/resources/mapper/InformationNotificationMapper.xml
@@ -1,8 +1,8 @@
<?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.ruoyi.requier.mapper.InformationNotificationMapper">
+<mapper namespace="com.ruoyi.require.mapper.InformationNotificationMapper">
- <select id="getPage" resultType="com.ruoyi.requier.dto.InformationNotificationDto">
+ <select id="getPage" resultType="com.ruoyi.require.dto.InformationNotificationDto">
select i.*, u.name senderUser, u2.name consigneeUser
from information_notification i
left join user u on i.sender_id = u.id
diff --git a/cnas-require/src/main/resources/mapper/InstructionMapper.xml b/cnas-require/src/main/resources/mapper/InstructionMapper.xml
index f669677..7921d1d 100644
--- a/cnas-require/src/main/resources/mapper/InstructionMapper.xml
+++ b/cnas-require/src/main/resources/mapper/InstructionMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.InstructionMapper">
+<mapper namespace="com.ruoyi.require.mapper.InstructionMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.Instruction">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.Instruction">
<id column="id" property="id" />
<result column="application_number" property="applicationNumber" />
<result column="person_liable" property="personLiable" />
@@ -14,7 +14,7 @@
<result column="update_user" property="updateUser" />
</resultMap>
- <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.ruoyi.requier.dto.OperationInstructionDto">
+ <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.ruoyi.require.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
diff --git a/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml b/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
index a417111..dc08562 100644
--- a/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
+++ b/cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
@@ -1,6 +1,6 @@
<?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.ruoyi.requier.mapper.InternalWastesDetailMapper">
+<mapper namespace="com.ruoyi.require.mapper.InternalWastesDetailMapper">
</mapper>
diff --git a/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml b/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
index bd64e20..def7f0c 100644
--- a/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
+++ b/cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.InternalWastesMapper">
+<mapper namespace="com.ruoyi.require.mapper.InternalWastesMapper">
<!-- 瀹夊叏鍐呭姟涓夊簾鐧昏鍒楄〃 -->
- <select id="pageInternalWastes" resultType="com.ruoyi.requier.dto.InternalWastesDto">
+ <select id="pageInternalWastes" resultType="com.ruoyi.require.dto.InternalWastesDto">
select *
from (select *
from cnas_internal_wastes
diff --git a/cnas-require/src/main/resources/mapper/OperationInstructionMapper.xml b/cnas-require/src/main/resources/mapper/OperationInstructionMapper.xml
index 316fe0a..98d65b7 100644
--- a/cnas-require/src/main/resources/mapper/OperationInstructionMapper.xml
+++ b/cnas-require/src/main/resources/mapper/OperationInstructionMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.OperationInstructionMapper">
+<mapper namespace="com.ruoyi.require.mapper.OperationInstructionMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.OperationInstruction">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.OperationInstruction">
<id column="id" property="id" />
<result column="device_id" property="deviceId" />
<result column="document_number" property="documentNumber" />
@@ -15,7 +15,7 @@
<result column="create_user" property="createUser" />
</resultMap>
- <select id="homeworkGuidebookEditor" resultType="com.ruoyi.requier.vo.OperationInstructionVo">
+ <select id="homeworkGuidebookEditor" resultType="com.ruoyi.require.vo.OperationInstructionVo">
SELECT
doi.*,d.device_name, d.management_number device_number, d.specification_model device_model
FROM
diff --git a/cnas-require/src/main/resources/mapper/PkMasterMapper.xml b/cnas-require/src/main/resources/mapper/PkMasterMapper.xml
index 92dff33..3c3dcbf 100644
--- a/cnas-require/src/main/resources/mapper/PkMasterMapper.xml
+++ b/cnas-require/src/main/resources/mapper/PkMasterMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.PkMasterMapper">
+<mapper namespace="com.ruoyi.require.mapper.PkMasterMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.PkMaster">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.PkMaster">
<id column="id" property="id" />
<result column="entrust_code" property="entrustCode" />
<result column="sample_code" property="sampleCode" />
diff --git a/cnas-require/src/main/resources/mapper/PkSlaveMapper.xml b/cnas-require/src/main/resources/mapper/PkSlaveMapper.xml
index 61f21e0..4e207df 100644
--- a/cnas-require/src/main/resources/mapper/PkSlaveMapper.xml
+++ b/cnas-require/src/main/resources/mapper/PkSlaveMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.PkSlaveMapper">
+<mapper namespace="com.ruoyi.require.mapper.PkSlaveMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.PkSlave">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.PkSlave">
<id column="id" property="id" />
<result column="weaken_1310_A" property="weaken1310A" />
<result column="weaken_1310_B" property="weaken1310B" />
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml
index 874a0bd..1e3b389 100644
--- a/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.ProcurementSuppliesExpendsMapper">
+<mapper namespace="com.ruoyi.require.mapper.ProcurementSuppliesExpendsMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesExpends">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.ProcurementSuppliesExpends">
<id column="expend_id" property="expendId" />
<result column="list_id" property="listId" />
<result column="amount" property="amount" />
@@ -15,7 +15,7 @@
<result column="create_time" property="createTime" />
<result column="create_time" property="createTime" />
</resultMap>
- <select id="pageList" resultType="com.ruoyi.requier.dto.ProcurementSuppliesExpendDto">
+ <select id="pageList" resultType="com.ruoyi.require.dto.ProcurementSuppliesExpendDto">
select
psl.consumables_name as list_name,
pse.specimen_name,
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
index f763d06..1c3ebf3 100644
--- a/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.ProcurementSuppliesListMapper">
+<mapper namespace="com.ruoyi.require.mapper.ProcurementSuppliesListMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesList">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.ProcurementSuppliesList">
<id column="id" property="id" />
<result column="contents_id" property="contentsId" />
<result column="consumables_type" property="consumablesType" />
@@ -54,7 +54,7 @@
</where>
</select>
<select id="selectProcurementSuppliesListByContentsId"
- resultType="com.ruoyi.requier.pojo.ProcurementSuppliesList">
+ resultType="com.ruoyi.require.pojo.ProcurementSuppliesList">
select id,
item_number,
consumables_type,
diff --git a/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
index 0df7937..4ff4fa7 100644
--- a/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.ruoyi.requier.mapper.ProcurementSuppliesStoreMapper">
- <resultMap id="map" type="com.ruoyi.requier.dto.StoreDto">
+<mapper namespace="com.ruoyi.require.mapper.ProcurementSuppliesStoreMapper">
+ <resultMap id="map" type="com.ruoyi.require.dto.StoreDto">
<id column="id" property="id"/>
<result column="consumables_id" property="consumablesId"/>
<result column="odd_numbers" property="oddNumbers"/>
@@ -17,7 +17,7 @@
<result column="registrantName" property="registrantName"/>
</resultMap>
- <resultMap id="storeExcelMap" type="com.ruoyi.requier.excel.StoreExcel">
+ <resultMap id="storeExcelMap" type="com.ruoyi.require.excel.StoreExcel">
<result column="odd_numbers" property="oddNumbers"/>
<result column="consumables_name" property="consumablesName"/>
<result column="store_number" property="storeNumber"/>
diff --git a/cnas-require/src/main/resources/mapper/ReservationMapper.xml b/cnas-require/src/main/resources/mapper/ReservationMapper.xml
index 1ccb536..9823c1c 100644
--- a/cnas-require/src/main/resources/mapper/ReservationMapper.xml
+++ b/cnas-require/src/main/resources/mapper/ReservationMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.ReservationMapper">
+<mapper namespace="com.ruoyi.require.mapper.ReservationMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.Reservation">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.Reservation">
<id column="id" property="id" />
<result column="device_id" property="deviceId" />
<result column="device_name" property="deviceName" />
@@ -19,7 +19,7 @@
</resultMap>
- <select id="selectReservationParameterPage" resultType="com.ruoyi.requier.dto.ReservationDto">
+ <select id="selectReservationParameterPage" resultType="com.ruoyi.require.dto.ReservationDto">
SELECT
a.id,
a.create_date,
diff --git a/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
index ee8e38a..c13a579 100644
--- a/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
+++ b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.SupplierManagementMapper">
+<mapper namespace="com.ruoyi.require.mapper.SupplierManagementMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SupplierManagement">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.SupplierManagement">
<id column="supplier_management_id" property="supplierManagementId" />
<result column="supplier_name" property="supplierName" />
<result column="supplier_ref" property="supplierRef" />
@@ -28,7 +28,7 @@
<result column="status" property="status" />
<result column="parent_id" property="parentId" />
</resultMap>
- <select id="pageSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ <select id="pageSupplierManagement" resultType="com.ruoyi.require.pojo.SupplierManagement">
select *
from (select *
from cnas_supplier_management
@@ -39,7 +39,7 @@
</if>
</select>
- <select id="selectQualifiedSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ <select id="selectQualifiedSupplierManagement" resultType="com.ruoyi.require.pojo.SupplierManagement">
select *
from (select *
from cnas_supplier_management
@@ -50,7 +50,7 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="selectSupplierManagementAll" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ <select id="selectSupplierManagementAll" resultType="com.ruoyi.require.pojo.SupplierManagement">
SELECT csm.supplier_name,
csm.supplier_ref,
csm.supplier_item_service_name,
@@ -74,7 +74,7 @@
</if>
</where>
</select>
- <select id="selectSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
+ <select id="selectSupplierManagement" resultType="com.ruoyi.require.pojo.SupplierManagement">
select
*
from cnas_supplier_management csm
diff --git a/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml b/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
index c1a8e66..7d4f056 100644
--- a/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
+++ b/cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
@@ -1,9 +1,9 @@
<?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.ruoyi.requier.mapper.SuppliersDirectoryContentsMapper">
+<mapper namespace="com.ruoyi.require.mapper.SuppliersDirectoryContentsMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SuppliersDirectoryContents">
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.pojo.SuppliersDirectoryContents">
<id column="id" property="id" />
<result column="node_name" property="nodeName" />
<result column="code" property="code" />
--
Gitblit v1.9.3