zss
2025-03-06 85a9aacd0e7651ca3594993403cb94c01c9d35ee
搬迁6资源要求
已修改6个文件
已添加155个文件
7222 ■■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/CertificationMapper.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/pom.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FePowerStableMapper.xml 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/InternalWastesMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/static/foreign-register.docx 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/static/illumination.docx 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/static/internal-wastes.docx 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/static/power-stable.docx 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/resources/static/temp_hum_date.docx 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
@@ -32,7 +32,7 @@
    }
    @ApiOperation(value = "删除资质明细列表")
    @DeleteMapping("/delCertificationDetail")
    public Result<?> delCertificationDetail( String ids) {
    public Result<?> delCertificationDetail(String ids) {
        return Result.success(certificationService.delCertificationDetail(ids));
    }
}
basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
@@ -44,6 +44,7 @@
    private Integer createUser;
    @ApiModelProperty(value = "创建人")
    @TableField(select = false,exist = false)
    private String createUserName;
    @ApiModelProperty(value = "修改人id")
basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
@@ -12,7 +12,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
@@ -38,7 +40,7 @@
    //删除资质明细列表
    @Override
    public int delCertificationDetail(String ids) {
        List<Integer> list = JSON.parseArray(ids,Integer.class);
        List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
        return certificationMapper.deleteBatchIds(list);
    }
basic-server/src/main/resources/mapper/CertificationMapper.xml
@@ -3,17 +3,17 @@
<mapper namespace="com.ruoyi.basic.mapper.CertificationMapper">
    <select id="getCertificationDetail" resultType="com.ruoyi.basic.pojo.Certification">
        select b.*
        from ( select a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM
            (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date,
                    MAX(date_of_issuance) AS latest_issuance_date,
                    c.`code`,c.organization,c.explanation
             FROM
                 certification c
        from ( select a.id, a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM
        (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date,
        MAX(date_of_issuance) AS latest_issuance_date,
        c.`code`,c.organization,c.explanation
        FROM
        certification c
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
             GROUP BY
                 name) a left join certification c on a.id=c.id
        GROUP BY
        name) a left join certification c on a.id=c.id
        ) b
    </select>
</mapper>
cnas-require/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ruoyi</artifactId>
        <groupId>com.ruoyi</groupId>
        <version>3.8.9</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>cnas-require</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <!-- é€šç”¨å·¥å…·-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common</artifactId>
        </dependency>
        <!-- æ ¸å¿ƒæ¨¡å—-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-framework</artifactId>
        </dependency>
        <!--业务模块-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>inspect-server</artifactId>
        </dependency>
    </dependencies>
</project>
cnas-require/src/main/java/com/ruoyi/requier/controller/FeCalibrationScheduleController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
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");
        // è®¾ç½®å•元格样式
        // ä¿å­˜åˆ°ç¬¬ä¸€ä¸ªsheet中
        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();
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeIlluminationController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeLightningProtectionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
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");
        // è®¾ç½®å•元格样式
        // ä¿å­˜åˆ°ç¬¬ä¸€ä¸ªsheet中
        EasyExcel.write(response.getOutputStream())
                .head(FeLightningProtectionExcel.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // è‡ªé€‚应列宽
                .sheet("sheet")
                .doWrite(ipage);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FePowerStableController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
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();
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceAcceptanceInspectionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
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();
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
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");
        // è®¾ç½®å•元格样式
        // ä¿å­˜åˆ°ç¬¬ä¸€ä¸ªsheet中
        EasyExcel.write(response.getOutputStream())
                .head(FeStandardSubstanceExcel.class)
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // è‡ªé€‚应列宽
                .sheet("sheet")
                .doWrite(studentList);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeStandardSubstanceRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/FeTempHumDateController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/ForeignRegisterController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/InternalWastesController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesContentsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
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());
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesExpendsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
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));
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesListController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/ProcurementSuppliesStoreController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/SupplierManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
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());
    }
}
cnas-require/src/main/java/com/ruoyi/requier/controller/SuppliersDirectoryContentsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
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());
    }
}
cnas-require/src/main/java/com/ruoyi/requier/dto/AcceptanceDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationAddDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FeIlluminationExportDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableAddDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FePowerStableExportDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumDateDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/FeTempHumRecordDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/ForeignRegisterDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/InternalWastesDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesExpendDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
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; //
}
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
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; // è´Ÿè´£äººåç§°
}
cnas-require/src/main/java/com/ruoyi/requier/dto/ProcurementSuppliesListEDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/StoreDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/dto/SupplierManagementDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/excel/FeCalibrationScheduleExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/excel/FeLightningProtectionExcel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/excel/FeStandardSubstanceExcel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/excel/StoreExcel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeCalibrationScheduleMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationDetectionAreaMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeIlluminationMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeLightningProtectionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
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();
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeMeasuredQuantityMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FePowerStableMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceAcceptanceMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeStandardSubstanceRecordMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumDateMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/FeTempHumRecordMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ForeignRegisterMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/InternalWastesMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesConsumablesMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesContentsMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesExpendsMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesListMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/ProcurementSuppliesStoreMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/SupplierManagementMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/mapper/SuppliersDirectoryContentsMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeCalibrationSchedule.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIllumination.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
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("照度记录表id")
    @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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeIlluminationDetectionArea.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
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("检测区域id")
    @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("照度记录表id")
    private Integer intensityIlluminationId;
    // å¯¼å‡ºä½¿ç”¨
    @TableField(select = false, exist = false)
    @ApiModelProperty("序号(导出使用)")
    private Integer index;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeLightningProtection.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeMeasuredQuantity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
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("值A")
    private String valueA;
    @ApiModelProperty("值B")
    private String valueB;
    @ApiModelProperty("值C")
    private String valueC;
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    @ApiModelProperty("电源稳定性id")
    private Integer powerStableId;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FePowerStable.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
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("电源稳定性id")
    @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("检测者id")
    private Integer testerId;
    @ApiModelProperty("核查人id")
    private Integer checkerId;
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstance.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptance.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
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("厂家代表")
    @ExcelProperty("厂家代表")
    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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceAcceptanceInspection.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeStandardSubstanceRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumDate.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/FeTempHumRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ForeignRegister.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
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("批准人id")
    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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastes.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/InternalWastesDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesConsumables.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesContents.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
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("代号")
    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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesExpends.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
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("录入人id")
    private Integer enterUserId;
    @ApiModelProperty("更新人id")
    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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesList.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/ProcurementSuppliesStore.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/SupplierManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
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("父id")
    private Integer parentId;
}
cnas-require/src/main/java/com/ruoyi/requier/pojo/SuppliersDirectoryContents.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
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("代号")
    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;
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeCalibrationScheduleService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationDetectionAreaService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeIlluminationService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeLightningProtectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
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();
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeMeasuredQuantityService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/service/FePowerStableService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceInspectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceAcceptanceService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceRecordService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeStandardSubstanceService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumDateService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/FeTempHumRecordService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/ForeignRegisterService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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> {
}
cnas-require/src/main/java/com/ruoyi/requier/service/InternalWastesService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesConsumablesService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.ruoyi.requier.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.requier.pojo.ProcurementSuppliesConsumables;
public interface ProcurementSuppliesConsumablesService extends IService<ProcurementSuppliesConsumables> {
}
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesContentsService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
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();
}
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesExpendsService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesListService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
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);
}
cnas-require/src/main/java/com/ruoyi/requier/service/ProcurementSuppliesStoreService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/service/SupplierManagementService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
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();
}
cnas-require/src/main/java/com/ruoyi/requier/service/SuppliersDirectoryContentsService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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();
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeCalibrationScheduleServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
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;
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationDetectionAreaServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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 {
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeIlluminationServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,135 @@
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.inspect.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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeLightningProtectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
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();
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeMeasuredQuantityServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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 {
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FePowerStableServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
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.inspect.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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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 {
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
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可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeStandardSubstanceServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumDateServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
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.inspect.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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/FeTempHumRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ForeignRegisterServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
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.inspect.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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
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 {
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/InternalWastesServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,170 @@
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.inspect.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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesConsumablesServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
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 {
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesContentsServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
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));
            // æ ¹æ®åˆ†ç»„çš„key èµ‹å€¼å¯¹åº”çš„children
            for (int i = 0; i < firstLevel.size(); i++) {
                recursion(firstLevel.get(i),collect);
                list.add(firstLevel.get(i));
            }
        }
        return list;
    }
    // é€’归赋值children
    public ProcurementSuppliesContents recursion(ProcurementSuppliesContents firstLevel, Map<Integer, List<ProcurementSuppliesContents>> collect) {
        // å°†çˆ¶èŠ‚ç‚¹çš„children赋值
        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;
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesExpendsServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesListServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
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可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        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("导出失败");
        }
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/ProcurementSuppliesStoreServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,142 @@
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可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        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();
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SupplierManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
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可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        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);
    }
}
cnas-require/src/main/java/com/ruoyi/requier/service/impl/SuppliersDirectoryContentsServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
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));
            // æ ¹æ®åˆ†ç»„çš„key èµ‹å€¼å¯¹åº”çš„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) {
        // å°†çˆ¶èŠ‚ç‚¹çš„children赋值
        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;
    }
}
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceDetailsVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/vo/AcceptanceVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
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;
}
cnas-require/src/main/java/com/ruoyi/requier/vo/SubstanceRecordVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
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;
}
cnas-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeCalibrationSchedule">
        <id column="id" property="id" />
        <result column="instrument_name" property="instrumentName" />
        <result column="model" property="model" />
        <result column="management_number" property="managementNumber" />
        <result column="technical_indicators" property="technicalIndicators" />
        <result column="verification_cyde" property="verificationCyde" />
        <result column="verification_unit" property="verificationUnit" />
        <result column="recently_time" property="recentlyTime" />
        <result column="next_time" property="nextTime" />
        <result column="remark" property="remark" />
        <result column="organization" property="organization" />
        <result column="organization_date" property="organizationDate" />
        <result column="approve" property="approve" />
        <result column="approve_date" property="approveDate" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="ipage" resultType="com.ruoyi.requier.pojo.FeCalibrationSchedule">
        select * from cnas_fe_calibration_schedule
        <where>
            <if test="instrumentName != null and instrumentName != ''">
                instrument_name like CONCAT('%', #{instrumentName}, '%')
            </if>
            <if test="instrumentName != null and managementNumber != ''">
                management_number like CONCAT('%', #{managementNumber}, '%')
            </if>
        </where>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.FeIlluminationDetectionAreaMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIlluminationDetectionArea">
        <id column="detection_area_id" property="detectionAreaId" />
        <result column="detection_area_label" property="detectionAreaLabel" />
        <result column="value_one" property="valueOne" />
        <result column="value_two" property="valueTwo" />
        <result column="value_three" property="valueThree" />
        <result column="average" property="average" />
        <result column="remark" property="remark" />
    </resultMap>
</mapper>
cnas-require/src/main/resources/mapper/FeIlluminationMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeIllumination">
        <id column="intensity_illumination_id" property="intensityIlluminationId" />
        <result column="device_id" property="deviceId" />
        <result column="conclusion" property="conclusion" />
        <result column="tester_id" property="testerId" />
        <result column="checker_id" property="checkerId" />
        <result column="test_date" property="testDate" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="getFeLightningProtection" resultType="com.ruoyi.requier.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
                 LEFT JOIN (SELECT d.id,
                                   dmr.calibration_date,
                                   dmr.next_calibration_date
                            FROM device d
                                     LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
                                AND dmr.type = 'calibrate'
                            GROUP BY d.id
                            HAVING max(dmr.id)) d ON d.id = cdi.device_id
                 left join user u1 on u1.id = cdi.checker_id
                 left join user u2 on u2.id = cdi.tester_id
    </select>
    <!-- æŸ¥è¯¢ç…§æ˜Žè®°å½• -->
    <select id="selectFeIllumination" resultType="com.ruoyi.requier.dto.FeIlluminationExportDto">
        SELECT cdi.*,
               dv.device_name,
               dv.management_number,
               DATE_FORMAT(d.calibration_date, '%Y-%m-%d') calibrationDateString,
               DATE_FORMAT(d.next_calibration_date, '%Y-%m-%d') nextCalibrationDateString
        FROM cnas_fe_illumination cdi
                 left join device dv on dv.id = cdi.device_id
                 LEFT JOIN (SELECT d.id,
                                   dmr.calibration_date,
                                   dmr.next_calibration_date
                            FROM device d
                                     LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
                                AND dmr.type = 'calibrate'
                            GROUP BY d.id
                            HAVING max(dmr.id)) d ON d.id = cdi.device_id
                 left join user u1 on u1.id = cdi.checker_id
                 left join user u2 on u2.id = cdi.tester_id
        where cdi.intensity_illumination_id = #{intensityIlluminationId}
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeLightningProtectionMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.FeLightningProtectionMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeLightningProtection">
        <id column="lightning_protection_id" property="lightningProtectionId" />
        <result column="file_name" property="fileName" />
        <result column="system_file_name" property="systemFileName" />
        <result column="detection_date" property="detectionDate" />
        <result column="term_validity" property="termValidity" />
        <result column="detection_unit" property="detectionUnit" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="exportOfLightningProtectionDetection" resultType="com.ruoyi.requier.excel.FeLightningProtectionExcel">
        select * from cnas_fe_lightning_protection
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.FeMeasuredQuantityMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeMeasuredQuantity">
        <id column="measured_quantity_id" property="measuredQuantityId" />
        <result column="measured_quantity_label" property="measuredQuantityLabel" />
        <result column="value_a" property="valueA" />
        <result column="value_b" property="valueB" />
        <result column="value_c" property="valueC" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="power_stable_id" property="powerStableId" />
    </resultMap>
</mapper>
cnas-require/src/main/resources/mapper/FePowerStableMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FePowerStable">
        <id column="power_stable_id" property="powerStableId" />
        <result column="test_location" property="testLocation" />
        <result column="test_date" property="testDate" />
        <result column="device_id" property="deviceId" />
        <result column="conclusion" property="conclusion" />
        <result column="tester_id" property="testerId" />
        <result column="checker_id" property="checkerId" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="getLaboratoryFacilityPowerStablePage" resultType="com.ruoyi.requier.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
                 LEFT JOIN (SELECT d.id,
                                   dmr.calibration_date,
                                   dmr.next_calibration_date
                            FROM device d
                                     LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
                                AND dmr.type = 'calibrate'
                            GROUP BY d.id
                            HAVING max(dmr.id)) d ON d.id = cfps.device_id
                 left join user u1 on u1.id = cfps.checker_id
                 left join user u2 on u2.id = cfps.tester_id
    </select>
    <select id="getCalibrationDate" resultType="java.util.Map">
        SELECT
            d.device_name deviceName,
            d.management_number managementNumber,
            date_format(dmr.calibration_date,'%Y-%m-%d') calibrationDate,
            date_format(dmr.next_calibration_date,'%Y-%m-%d') nextCalibrationDate
        FROM
            device d
                LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
                AND dmr.type = 'calibrate'
        where d.id = #{deviceId}
        GROUP BY
            d.id
    </select>
    <!-- æŸ¥è¯¢ç”µæºç¨³å®šæ€§ -->
    <select id="selectPowerStable" resultType="com.ruoyi.requier.dto.FePowerStableExportDto">
        SELECT cfps.*,
               dv.device_name,
               dv.management_number,
               DATE_FORMAT(cfps.test_date, '%Y-%m-%d') testDateString,
               DATE_FORMAT(d.calibration_date, '%Y-%m-%d') calibrationDateString,
               DATE_FORMAT(d.next_calibration_date, '%Y-%m-%d') nextCalibrationDateString
        FROM cnas_fe_power_stable cfps
                 left join device dv on dv.id = cfps.device_id
                 LEFT JOIN (SELECT d.id,
                                   dmr.calibration_date,
                                   dmr.next_calibration_date
                            FROM device d
                                     LEFT JOIN device_metric_record dmr ON dmr.device_id = d.id
                                AND dmr.type = 'calibrate'
                            GROUP BY d.id
                            HAVING max(dmr.id)) d ON d.id = cfps.device_id
                 left join user u1 on u1.id = cfps.checker_id
                 left join user u2 on u2.id = cfps.tester_id
        where cfps.power_stable_id = #{powerStableId}
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.FeStandardSubstanceAcceptanceInspectionMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptanceInspection">
        <id column="id" property="id" />
        <result column="acceptance_id" property="acceptanceId" />
        <result column="name" property="name" />
        <result column="number" property="number" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
</mapper>
cnas-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.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.requier.mapper.FeStandardSubstanceAcceptanceMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceAcceptance">
        <id column="id" property="id" />
        <result column="substance_id" property="substanceId" />
        <result column="arrive_date" property="arriveDate" />
        <result column="maintenance_unit" property="maintenanceUnit" />
        <result column="perameters" property="perameters" />
        <result column="installation" property="installation" />
        <result column="situation" property="situation" />
        <result column="signature" property="signature" />
        <result column="producer" property="producer" />
        <result column="recipient" property="recipient" />
        <result column="file" property="file" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="getPageAcceptance" resultType="com.ruoyi.requier.vo.AcceptanceVo">
        SELECT
            sa.id,
            ss.name,
            ss.model,
            ss.factory_manufacturer,
            ss.factory_num,
            ss.manage_num,
            ss.uncertainty,
            ss.quantity,
            ss.acquisition_date,
            ss.effective_date,
            ss.file_num,
            ss.position
        FROM cnas_fe_standard_substance_acceptance sa
                 LEFT JOIN cnas_fe_standard_substance ss on ss.id = sa.substance_id
        <where>
            <if test="name != null and name != ''">
                ss.name like CONCAT('%', #{name}, '%')
            </if>
        </where>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstance">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="model" property="model" />
        <result column="factory_manufacturer" property="factoryManufacturer" />
        <result column="factory_num" property="factoryNum" />
        <result column="manage_num" property="manageNum" />
        <result column="uncertainty" property="uncertainty" />
        <result column="quantity" property="quantity" />
        <result column="acquisition_date" property="acquisitionDate" />
        <result column="effective_date" property="effectiveDate" />
        <result column="file_num" property="fileNum" />
        <result column="position" property="position" />
        <result column="state" property="state" />
        <result column="remark" property="remark" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="getPage" resultType="com.ruoyi.requier.pojo.FeStandardSubstance">
        select * from cnas_fe_standard_substance
        <where>
            <if test="ew.name != null and ew.name != ''">
                name like CONCAT('%', #{ew.name}, '%')
            </if>
            <if test="ew.factoryManufacturer != null and ew.factoryManufacturer != ''">
                and factory_manufacturer like CONCAT('%', #{ew.factoryManufacturer}, '%')
            </if>
            <if test="ew.factoryNum != null and ew.factoryNum != ''">
                and factory_num like CONCAT('%', #{factoryNum}, '%')
            </if>
            <if test="ew.manageNum != null and ew.manageNum != ''">
                and manage_num like CONCAT('%', #{ew.manageNum}, '%')
            </if>
            <if test="ew.model != null and ew.model != ''">
                and model like CONCAT('%', #{ew.model}, '%')
            </if>
            <if test="ew.effectiveDate != null and ew.effectiveDate != ''">
                and effective_date =  #{ew.effectiveDate}
            </if>
            <if test="ew.fileNum != null and ew.fileNum != ''">
                and file_num like CONCAT('%', #{ew.fileNum}, '%')
            </if>
            <if test="ew.position != null and ew.position != ''">
                and position like CONCAT('%', #{ew.position}, '%')
            </if>
        </where>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeStandardSubstanceRecord">
        <id column="id" property="id" />
        <result column="substance_id" property="substanceId" />
        <result column="integrity" property="integrity" />
        <result column="borrow_user" property="borrowUser" />
        <result column="phone" property="phone" />
        <result column="borrow_date" property="borrowDate" />
        <result column="return_date" property="returnDate" />
        <result column="lender" property="lender" />
        <result column="rummager" property="rummager" />
        <result column="status" property="status" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <select id="getPage" resultType="com.ruoyi.requier.vo.SubstanceRecordVo">
        SELECT
        ssr.id,
        ss.name,
        ss.model,
        ss.factory_num,
        ss.quantity,
        ssr.borrow_user,
        ssr.borrow_date,
        ssr.return_date,
        ssr.integrity,
        ssr.return_integrity,
        ssr.returned_person,
        ss.remark
        FROM cnas_fe_standard_substance_record ssr
        LEFT JOIN cnas_fe_standard_substance ss on ss.id = ssr.substance_id
        <where>
            <if test="ew.name != null and ew.name != ''">
                ss.name like CONCAT('%', #{ew.name}, '%')
            </if>
            <if test="ew.model != null and ew.model != ''">
                and ss.model like CONCAT('%', #{ew.model}, '%')
            </if>
            <if test="ew.factoryNum != null and ew.factoryNum != ''">
                and ss.factory_num like CONCAT('%', #{ew.factoryNum}, '%')
            </if>
        </where>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumDate">
        <id column="date_id" property="dateId" />
        <result column="month_date" property="monthDate" />
        <result column="test_area_name" property="testAreaName" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_user" property="createUser" />
        <result column="update_user" property="updateUser" />
    </resultMap>
    <select id="getFeTempHumDate" resultType="com.ruoyi.requier.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
    </select>
</mapper>
cnas-require/src/main/resources/mapper/FeTempHumRecordMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.FeTempHumRecord">
        <id column="temp_hum_id" property="tempHumId" />
        <result column="morning_test_time" property="morningTestTime" />
        <result column="morning_temp" property="morningTemp" />
        <result column="morning_hum" property="morningHum" />
        <result column="morning_recorder_id" property="morningRecorderId" />
        <result column="afternoon_time" property="afternoonTime" />
        <result column="afternoon_temp" property="afternoonTemp" />
        <result column="afternoon_hum" property="afternoonHum" />
        <result column="note" property="note" />
    </resultMap>
    <select id="getFeTempHumRecordPage" resultType="com.ruoyi.requier.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
                 left join user u2 on u2.id = c.morning_recorder_id
        where c.date_id = #{dateId}
        ORDER BY c.temp_hum_id desc
    </select>
</mapper>
cnas-require/src/main/resources/mapper/ForeignRegisterMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.ForeignRegisterMapper">
    <!-- å¤–来人员登记分页查询 -->
    <select id="pageForeignRegister" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
        select *
        from (select *
        from cnas_foreign_register
        <where>
            <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
                register_date between #{beginDate} and #{endDate}
            </if>
        </where>
        order by create_time desc) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="getForeignRegisterList" resultType="com.ruoyi.requier.dto.ForeignRegisterDto">
        select *
        from (select cfr.*,
        u1.signature_url accompanyingUrl,
        u2.signature_url approveUrl
        from cnas_foreign_register cfr
        left join user u1 on u1.id = cfr.accompanying_id
        left join user u2 on u2.id = cfr.approve_id
        <where>
            <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
                cfr.register_date between #{beginDate} and #{endDate}
            </if>
        </where>
        order by cfr.create_time desc) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/InternalWastesDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +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>
cnas-require/src/main/resources/mapper/InternalWastesMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.requier.mapper.InternalWastesMapper">
    <!-- å®‰å…¨å†…务三废登记列表 -->
    <select id="pageInternalWastes" resultType="com.ruoyi.requier.dto.InternalWastesDto">
        select *
        from (select *
        from cnas_internal_wastes
        order by create_time desc) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/ProcurementSuppliesExpendsMapper.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.requier.mapper.ProcurementSuppliesExpendsMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesExpends">
        <id column="expend_id" property="expendId" />
        <result column="list_id" property="listId" />
        <result column="amount" property="amount" />
        <result column="enter_user_id" property="enterUserId" />
        <result column="update_user_id" property="updateUserId" />
        <result column="update_time" property="updateTime" />
        <result column="create_time" property="createTime" />
        <result column="create_time" property="createTime" />
        <result column="create_time" property="createTime" />
        <result column="create_time" property="createTime" />
    </resultMap>
    <select id="pageList" resultType="com.ruoyi.requier.dto.ProcurementSuppliesExpendDto">
        select
        psl.consumables_name as list_name,
        pse.specimen_name,
        pse.inspection_item,
        pse.inspection_item_subclass as inspection_item_sub_class,
        pse.expend_id,
        pse.list_id,
        pse.amount,
        pse.enter_user_id,
        pse.update_user_id,
        pse.update_time,
        pse.create_time,
        u1.name as enter_user_name,
        u2.name as update_user_name
        from procurement_supplies_expends pse
        left join procurement_supplies_list psl on pse.list_id = psl.id
        left join user u1 on pse.enter_user_id = u1.id
        left join user u2 on pse.update_user_id = u2.id
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
</mapper>
cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.ProcurementSuppliesList">
        <id column="id" property="id" />
        <result column="contents_id" property="contentsId" />
        <result column="consumables_type" property="consumablesType" />
        <result column="item_number" property="itemNumber" />
        <result column="consumables_name" property="consumablesName" />
        <result column="specifications" property="specifications" />
        <result column="unit" property="unit" />
        <result column="reference_price" property="referencePrice" />
        <result column="content_id" property="contentId" />
        <result column="person_in_charge" property="personInCharge" />
        <result column="upper_limit" property="upperLimit" />
        <result column="lower_limit" property="lowerLimit" />
        <result column="supplier" property="supplier" />
        <result column="consumables_icon" property="consumablesIcon" />
        <result column="attachment" property="attachment" />
        <result column="remark" property="remark" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="current_amount" property="currentAmount" />
    </resultMap>
    <select id="selectProcurementSuppliesList" resultMap="BaseResultMap">
        select * from procurement_supplies_list
        <where>
            <if test="contentsId != null and contentsId != ''">
                and contents_id = #{contentsId}
            </if>
        </where>
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectProcurementSuppliesListForUpdate" resultMap="BaseResultMap">
        select * from procurement_supplies_list where id = ${id} for update
    </select>
    <select id="selectProcurementSuppliesListAll" resultMap="BaseResultMap">
        select
            contents_id,item_number, consumables_type, consumables_name, specifications, supplier, upper_limit,
        lower_limit, unit, remark, person_in_charge, update_user, update_time
        from procurement_supplies_list
        <where>
            <if test="ew.contentsId != null and ew.contentsId != ''">
                and contents_id = ${ew.contentsId}
            </if>
        </where>
    </select>
    <select id="selectProcurementSuppliesListByContentsId"
            resultType="com.ruoyi.requier.pojo.ProcurementSuppliesList">
        select id,
               item_number,
               consumables_type,
               consumables_name,
               specifications,
               lower_limit,
               unit,
               remark
        from procurement_supplies_list
        where contents_id = ${id}
           or contents_id in
              (SELECT id
               FROM `procurement_supplies_contents`
               WHERE id = ${id}
                  OR parent_id = ${id})
    </select>
</mapper>
cnas-require/src/main/resources/mapper/ProcurementSuppliesStoreMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
<?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">
        <id column="id" property="id"/>
        <result column="consumables_id" property="consumablesId"/>
        <result column="odd_numbers" property="oddNumbers"/>
        <result column="consumables_name" property="consumablesName"/>
        <result column="store_number" property="storeNumber"/>
        <result column="total_price" property="totalPrice"/>
        <result column="storage_user" property="storageUser"/>
        <result column="storage_time" property="storageTime"/>
        <result column="remark" property="remark"/>
        <result column="registrant" property="registrant"/>
        <result column="registrant_time" property="registrantTime"/>
        <result column="storageUserName" property="storageUserName"/>
        <result column="registrantName" property="registrantName"/>
    </resultMap>
    <resultMap id="storeExcelMap" type="com.ruoyi.requier.excel.StoreExcel">
        <result column="odd_numbers" property="oddNumbers"/>
        <result column="consumables_name" property="consumablesName"/>
        <result column="store_number" property="storeNumber"/>
        <result column="total_price" property="totalPrice"/>
        <result column="storage_time" property="storageTime"/>
        <result column="remark" property="remark"/>
        <result column="registrant_time" property="registrantTime"/>
        <result column="storageUserName" property="storageUserName"/>
        <result column="registrantName" property="registrantName"/>
    </resultMap>
    <select id="selectStoreList" resultMap="map">
select * from (
        SELECT
        s.id,
        c.id AS consumables_id,
        s.contents_id,
        s.odd_numbers,
        c.consumables_name,
        c.store_number,
        c.total_price,
        s.storage_user,
        s.storage_time,
        s.remark,
        s.registrant,
        s.registrant_time,
        u.name AS storageUserName,
        u1.name AS registrantName
        FROM
        `procurement_supplies_store` s
        LEFT JOIN procurement_supplies_consumables c ON s.id = c.store_id
        LEFT JOIN user u ON u.id = s.storage_user
        LEFT JOIN user u1 ON u1.id = s.registrant
        )a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="exportExcel" resultMap="storeExcelMap">
        SELECT * FROM (
                          SELECT
                              s.odd_numbers,
                              c.consumables_name,
                              c.store_number,
                              c.total_price,
                              s.storage_time,
                              s.remark,
                              s.registrant_time,
                              u.name AS storageUserName,
                              u1.name AS registrantName
                          FROM
                              `procurement_supplies_store` s
                                  LEFT JOIN procurement_supplies_consumables c ON s.id = c.store_id
                                  LEFT JOIN user u ON u.id = s.storage_user
                                  LEFT JOIN user u1 ON u1.id = s.registrant
                      ) a
    </select>
</mapper>
cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SupplierManagement">
        <id column="supplier_management_id" property="supplierManagementId" />
        <result column="supplier_name" property="supplierName" />
        <result column="supplier_ref" property="supplierRef" />
        <result column="supplier_item_service_name" property="supplierItemServiceName" />
        <result column="postal_code" property="postalCode" />
        <result column="adress" property="adress" />
        <result column="logo" property="logo" />
        <result column="contacts" property="contacts" />
        <result column="phone" property="phone" />
        <result column="household_name" property="householdName" />
        <result column="fax" property="fax" />
        <result column="opening_name" property="openingName" />
        <result column="website" property="website" />
        <result column="account_name" property="accountName" />
        <result column="email" property="email" />
        <result column="remarks" property="remarks" />
        <result column="enclosure" property="enclosure" />
        <result column="create_time" property="createTime" />
        <result column="create_user" property="createUser" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="status" property="status" />
        <result column="parent_id" property="parentId" />
    </resultMap>
    <select id="pageSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
        select *
        from (select *
        from cnas_supplier_management
        order by create_time desc
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectQualifiedSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
        select *
        from (select *
        from cnas_supplier_management
        where status = 0
        order by create_time desc
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectSupplierManagementAll" resultType="com.ruoyi.requier.pojo.SupplierManagement">
        SELECT csm.supplier_name,
        csm.supplier_ref,
        csm.supplier_item_service_name,
        csm.postal_code,
        csm.adress,
        csm.contacts,
        csm.phone,
        csm.household_name,
        csm.fax,
        csm.opening_name,
        csm.website,
        csm.account_name,
        csm.email
        FROM cnas_supplier_management csm
        <where>
            <if test="parentId != null and parentId != 0">
                csm.parent_id in (select id
                from suppliers_directory_contents
                where id = #{parentId}
                or parent_id = #{parentId})
            </if>
        </where>
    </select>
    <select id="selectSupplierManagement" resultType="com.ruoyi.requier.pojo.SupplierManagement">
        select
            *
        from cnas_supplier_management csm
        where
            csm.parent_id = #{parentId} or
            csm.parent_id in
        (select id from suppliers_directory_contents where id = #{parentId} or parent_id = #{parentId})
    </select>
</mapper>
cnas-require/src/main/resources/mapper/SuppliersDirectoryContentsMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
<?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">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.SuppliersDirectoryContents">
        <id column="id" property="id" />
        <result column="node_name" property="nodeName" />
        <result column="code" property="code" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
        <result column="parent_id" property="parentId" />
    </resultMap>
</mapper>
cnas-require/src/main/resources/static/foreign-register.docx
Binary files differ
cnas-require/src/main/resources/static/illumination.docx
Binary files differ
cnas-require/src/main/resources/static/internal-wastes.docx
Binary files differ
cnas-require/src/main/resources/static/power-stable.docx
Binary files differ
cnas-require/src/main/resources/static/temp_hum_date.docx
Binary files differ
pom.xml
@@ -270,6 +270,13 @@
                <version>${ruoyi.version}</version>
            </dependency>
            <!--cnas标准物质-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>cnas-require</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>
            <!-- minio -->
            <dependency>
@@ -385,6 +392,7 @@
        <module>performance-server</module>
        <module>cnas-manage</module>
        <module>cnas-process</module>
        <module>cnas-require</module>
    </modules>
    <packaging>pom</packaging>
ruoyi-admin/pom.xml
@@ -98,6 +98,12 @@
            <groupId>com.ruoyi</groupId>
            <artifactId>cnas-process</artifactId>
        </dependency>
        <!--cnas标准物质-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>cnas-require</artifactId>
        </dependency>
    </dependencies>
    <build>
ruoyi-common/src/main/java/com/ruoyi/common/utils/FileSaveUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,179 @@
package com.ruoyi.common.utils;
import com.alibaba.excel.util.IoUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.FileSystemUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.PostConstruct;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Random;
/**
 * ä¿å­˜æ–‡ä»¶å·¥å…·
 */
@Slf4j
@Component
public class FileSaveUtil {
    // å–yml中的路径 + /
    private static String FILE_PATH;
    private static String WORD_URL_PATH;
    private static String[] ALLOWED;
    @Value("${file.path}")
    private String file;
    @Value("${wordUrl}")
    private String wordUrl;
    @Value("${file.allowed}")
    private String[] allowed;
    @PostConstruct
    public void getFile() {
        FILE_PATH = this.file;
    }
    @PostConstruct
    public void getWordUrl(){
        WORD_URL_PATH = this.wordUrl;
    }
    @PostConstruct
    public void getAllowed(){
        ALLOWED = this.allowed;
    }
    /**
     * å­˜å‚¨æ–‡ä»¶ä¸»å‡½æ•°
     * @param file æ–‡ä»¶äºŒè¿›åˆ¶æµ
     * @return è¿”回文件名称用于存储数据库
     */
    public static String StoreFile(MultipartFile file) {
        String originalFilename = file.getOriginalFilename();
        // ç”Ÿæˆéšæœºåç§°ï¼šæ—¶é—´_随机6位数字
        String FileName = System.currentTimeMillis() + "_" + getNumber(6);
        String suffix = null;
        if (originalFilename != null) {
            suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
            // å¦‚果后缀名不通过抛出异常
            if (!isFileAllowed(suffix)){
                throw new RuntimeException(suffix);
            }
        }
        // åç§°æ‹¼æŽ¥
        String fileName = FileName + suffix;
        // è¿›è¡Œå­˜å‚¨
        try {
            storeFileWithFileName(file.getBytes(), fileName);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return fileName;
    }
    public static Boolean DeleteFile(String fileName) {
        if (ObjectUtils.isEmpty(fileName)) {
            return false;
        }
        return FileSystemUtils.deleteRecursively(new File(FILE_PATH + "/" + fileName));
    }
    /**
     * å­˜å‚¨æ–‡ä»¶å‡½æ•°
     * @param content æ–‡ä»¶äºŒè¿›åˆ¶æµ
     * @param fileName æ–‡ä»¶åç§°
     */
    private static void storeFileWithFileName(byte[] content, String fileName) {
        // å­˜å‚¨è·¯å¾„
        String path = FILE_PATH + File.separatorChar;
        // ç›®å½•不存在则创建
        File file = new File(path);
        if (!file.exists()) {
            file.mkdirs();
        }
        // å¼€å§‹å­˜å‚¨
        try (FileOutputStream os = new FileOutputStream(path + fileName);
             ByteArrayInputStream is = new ByteArrayInputStream(content)) {
             IoUtils.copy(is, os);
        } catch (IOException e) {
            throw new RuntimeException("文件存储格式异常");
        }
    }
    /**
     * åˆ¤æ–­æ–‡ä»¶æ˜¯å¦è¢«å…è®¸ä¸Šä¼ 
     *
     * @param fileName æ–‡ä»¶å
     * @return å…è®¸true, å¦åˆ™false
     */
    private static boolean isFileAllowed(String fileName) {
        // èŽ·å–åŽç¼€å
        String suffixName = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
        for (String allow : ALLOWED) {
            if (allow.equals(suffixName)) {
                return true;
            }
        }
        return false;
    }
    /**
     * ä¿å­˜æ–‡ä»¶åˆ°word文件夹里
     * @param file
     * @return
     */
    public static String uploadWordFile(MultipartFile file) {
        String urlString;
        String pathName;
        String path;
        try {
            String contentType = file.getContentType();
            if (contentType != null && contentType.startsWith("image/")) {
                // æ˜¯å›¾ç‰‡
                path = FILE_PATH;
            } else {
                // æ˜¯æ–‡ä»¶
                path = WORD_URL_PATH;
            }
            File realpath = new File(path);
            if (!realpath.exists()) {
                realpath.mkdirs();
            }
            pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "-" + file.getOriginalFilename();
            urlString = realpath + "/" + pathName;
            file.transferTo(new File(urlString));
            return pathName;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
     * èŽ·å–éšæœºæ•°å­—
     * @param n ä½æ•°
     * @return è¿”回随机值
     */
    public static String getNumber(int n) {
        char[] chars = "1234567890".toCharArray();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++) {
            char c = chars[new Random().nextInt(chars.length)];
            sb.append(c);
        }
        return sb.toString();
    }
}